徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

达夫设备

指数 达夫设备

在计算机科学领域,达夫设备(英文:Duff's device)是串行复制(serial copy)的一种,通过汇编语言编程时一常用方法,实现展开循环,进而提高执行效率。这一方法据信为当时供职于卢卡斯影业的于1983年11月发明,并可能是迄今为止利用C语言特性所作的最巧妙的实现。.

16 关系: 卢卡斯影业存储器映射输入输出寄存器丹尼斯·里奇循环展开C++程式語言 (書)C程序设计语言 (书)C语言计算机科学麻省理工学院英语Memcpy比雅尼·斯特劳斯特鲁普汇编语言流水线 (计算机)曹子德

卢卡斯影业

卢卡斯影业有限公司是乔治·卢卡斯于1971年在加州旧金山建立的美国电影公司。目前,卢卡斯担任公司主席和首席执行官,Micheline Chau则是公司总裁和首席运营官。 卢卡斯影业最著名的作品是星球大战系列影片,不过它同样有其他的大制作,比如印第安纳·琼斯系列和美国风情画。该公司是电影行业视觉特效、声音特效和计算机动画的业界领袖,由于他们出色的专业技术,他们的子公司经常协助其他的电影制作公司。由于电影制作成本的提高,卢卡斯影业也把部分业务转向电视行业。 2005年7月8日,卢卡斯影业的营销部门、网站管理部门和许可证管理部门搬到了旧金山普蕾西迪奥区新建的莱特曼数字艺术中心,与工业光魔和卢卡斯艺术有限公司连成片区。卢卡斯影业的声音商标和THX标准也非常著名。 2012年10月30日,迪士尼公司宣布以40.5亿美元收购卢卡斯影业,支付方式为现金加股票。 卢卡斯影业曾几次和迪士尼合作建立星球大战和印第安纳·琼斯的迪士尼主题公园。.

新!!: 达夫设备和卢卡斯影业 · 查看更多 »

存储器映射输入输出

内存映射输入输出(Memory-mapped I/O, MMIO,简称为内存映射IO),以及端口映射输入输出(port-mapped I/O, PMIO,也叫作独立输入输出(isolated I/O),是PC机在中央处理器(CPU)和外部设备之间执行输入输出操作的两种方法,这两种方法互为补充。除此之外,执行输入输出操作也可以使用专用输入输出处理器(dedicated I/O processors)——这通常是指大型電腦上的通道输入输出(Channel I/O),这些专用处理器执行自有的指令集。 内存映射IO(不要和内存映射文件的输入输出混淆)使用相同的地址总线来寻址內存和输入输出设备(简称IO设备),前提是IO设备上的设备内存和寄存器都已经被映射到内存空间的某个地址。这样当CPU访问某个地址的时候,可能是要访问某一部份物理內存,也可能是要访问IO设备上的内存。因此,设备内存也可以通过内存访问指令来完成读写。每个IO设备监测CPU的地址总线,并且在发现CPU访问被分配到本设备的地址区域的时候做出响应,建立数据总线和相应设备寄存器之间的连接。为了实现CPU对MMIO设备的访问,相应的地址空间必须给这些设备保留, 并且不能再分配给系统物理内存。这可以是永久保留,也可以是暂时性的保留。通常来说X86架构都是永久保留的,而在Commodore 64中,由于采用了IO设备和普通内存之间的堆交换技术(bank switching),可以做到暂时性保留。 PMIO通常使用一组专门为IO设计的CPU指令来执行IO操作。比如在基于x86和x86-64架构的微处理器中使用in/out指令。这两条指令有一些不同的形式,分别用来在CPU的EAX寄存器(或高16位/低16位/高8位/低8位)和IO设备的某个端口之间完成对单字节/双字节/四字节数据的操作(比如对out指令,分别有outb, outw和outl) 。IO设备有一个和内存地址空间相互独立的IO地址空间。IO设备通过专用IO针脚或者专用的总线和CPU相连。因为这个IO地址空间和内存地址空间相互独立,所以有时候称为独立I/O.

新!!: 达夫设备和存储器映射输入输出 · 查看更多 »

寄存器

寄存器(Register),是中央處理器內的其中組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數器。在中央處理器的算術及邏輯部件中,包含的寄存器有累加器。 在電腦架構裡,處理器中的暫存器是少量且速度快的電腦記憶體,藉由提供快速共同地存取數值來加速電腦程式的執行:典型地說就是在已知時間點所作的之計算中間的數值。 暫存器是記憶體階層中的最頂端,也是系統操作資料的最快速途徑。暫存器通常都是以他們可以保存的位元數量來估量,舉例來說,一個8位元暫存器或32位元暫存器。暫存器現在都以暫存器陣列的方式來實作,但是他們也可能使用單獨的正反器、高速的核心記憶體、薄膜記憶體以及在數種機器上的其他方式來實作出來。 這個名詞通常都用來意指由一個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們為「架構暫存器」。例如,x86指令集定義八個32位元暫存器的集合,但一個實作x86指令集的CPU可以包含比八個更多的暫存器。.

新!!: 达夫设备和寄存器 · 查看更多 »

丹尼斯·里奇

丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie,),美國計算機科學家。駭客圈子通常稱他為「dmr」。他是C語言的創造者、Unix作業系統的關鍵開發者 ,對電腦領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。.

新!!: 达夫设备和丹尼斯·里奇 · 查看更多 »

循环展开

循环展开,英文中称(Loop unwinding或loop unrolling),是一种牺牲程序的尺寸来加快程序的执行速度的优化方法。可以由程序员完成,也可由编译器自动优化完成。 循环展开最常用来降低循环开销,为具有多个功能单元的处理器提供指令级并行。也有利于指令流水线的调度。.

新!!: 达夫设备和循环展开 · 查看更多 »

C++程式語言 (書)

《C++程式語言》(The C++ Programming Language)是第一本介紹C++的書籍,作者是「C++之父」比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup),他是此程式語言的設計者。第一版《C++程式語言》於1985年推出。 由於沒有官方標準,這本書成為了實質標準,引領C++不斷發展。1998年,C++才有第一個國際標準 ISO/IEC 14882:1998: Programming Language C++ 。隨着C++標準化和新函式庫(Library)的出現,本書亦推出了新版本,介紹C++的改變和新功能,以及更正一些誤排。.

新!!: 达夫设备和C++程式語言 (書) · 查看更多 »

C程序设计语言 (书)

《C程序设计语言》(The C Programming Language),又譯為C語言程式設計,是介紹C語言的计算机科学著作,由计算机科学家布萊恩·柯林漢(Brian Kernighan)和C语言之父丹尼斯·里奇(Dennis Ritchie)合著,是第一部介紹C語言編程方法的書籍。它以作者名字的縮寫被簡稱為K&R;或是因封面颜色,被稱為白皮书。 它在C语言的发展和普及过程中起到了非常重要的作用,被視為是C語言的業界標準規範,而且至今仍然广泛使用。它被公认为计算机技术著作的典范,以清晰简洁的文字讲述而著称。书中用"hello world"为实例开始讲解程序设计,成为程序设计语言图书的传统。 该书第1版出版于1978年,第2版(也是最新版本)出版于1988年,被译为世界上包括中文在内的20多种文字。.

新!!: 达夫设备和C程序设计语言 (书) · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 达夫设备和C语言 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 达夫设备和计算机科学 · 查看更多 »

麻省理工学院

麻省理工學院(Massachusetts Institute of Technology,縮寫為MIT)是位於美國麻薩諸塞州劍橋市的私立研究型大學。成立於1861年,當時目的是為了響應。學校採用了辦學,早期著力於應用科學與工程學的實驗教學。麻省理工的研究人員在二戰及冷戰期間,致力開發電腦、雷達及慣性導航系統技術;戰後的防禦性科技研究使學校得以進一步發展,教職員人數及校園面積在的帶領下有所上升。大學於1916年遷往現在位於查爾斯河北岸的校址,沿岸伸延逾,佔地。 擁有6間學術學院、32個學系部門的麻省理工學院常獲納入全球最佳學府之列。學校一直聞名於物理科學與工程學的教研,但在近代亦大力發展諸如生命科學、經濟學、管理學、語言學等其他學術範疇。別名「工程師」的麻省理工體育校隊合計31支,涵蓋不同項目,學生因此可參與不同類型的跨校體育聯賽。 ,著名麻省理工師生、校友或研究人員包括了91位諾貝爾獎得主、52位國家科學獎章獲獎者、45位羅德學者、38名麥克阿瑟獎得主、6名菲爾茲獎獲獎者、25位图灵奖得主。此校同時具很強的創業文化,由其校友所創辦的公司利潤總值相當於全球第十一大經濟體。.

新!!: 达夫设备和麻省理工学院 · 查看更多 »

英语

英语(English,)是一种西日耳曼语言,诞生于中世纪早期的英格兰,如今具有全球通用语的地位。“英语”一词源于迁居英格兰的日耳曼部落盎格鲁(Angles),而“盎格鲁”得名于临波罗的海的半岛盎格里亚(Anglia)。弗里西语是与英语最相近的语言。英语词汇在中世纪早期受到了其他日耳曼族语言的大量影响,后来受罗曼族语言尤其是法语的影响。英语是将近六十个国家唯一的官方语言或官方语言之一,也是全世界最多國家的官方語言。它是英国、美国、加拿大、澳大利亚、爱尔兰和新西兰最常用的语言,也在加勒比、非洲及南亚的部分地区被广泛使用。它是世界上母语人口第三多的语言,仅次于汉语和西班牙语。英语是学习者最多的第二外语跟學習者最多的第一外語,是联合国、欧盟和许多其他国际组织的官方语言。它是使用最广泛的日耳曼族语言,至少70%的日耳曼语族使用者说英语。 英语有1400多年的发展史。公元5世纪,盎格魯-撒克遜人把他们的各种盎格鲁-弗里西语方言带到了大不列顛島,它们被称为古英语。中古英语始于11世纪后期的诺曼征服,这一时期英语受到了法语的影响。15世纪末伦敦对印刷机的采用、《钦定版圣经》的出版及元音大推移标志了近代英语的开端。通过大英帝国对全球的影响,现代英语在17世纪至20世纪中叶传播到了世界各地。通过各种印刷和电子媒体,随着美国取得全球超级大国地位,英语已经成为了国际对话中居领导地位的世界語言。它还是许多地区和行业(如科学、导航、法律等)的通用语。 现代英语和很多其他语言相比屈折变化较少,更多地依靠助動詞和语序来表达复杂的时态、体和语气,以及被動語態、疑问和一些否定。英语的各种口音和方言在发音和音位方面有显著差异,有时它们的词汇、语法和拼法也有所不同,但世界各地说英语的人能基本无碍地沟通交流。.

新!!: 达夫设备和英语 · 查看更多 »

Memcpy

#重定向 String.h#函数.

新!!: 达夫设备和Memcpy · 查看更多 »

比雅尼·斯特劳斯特鲁普

比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup,,),生于丹麦奥胡斯郡,计算机科学家。他以创造C++编程语言而闻名,被称为“C++之父”。 用斯特劳斯特鲁普他本人的话来说,自己“发明了C++,写下了它的早期定义并做出了首个--……选择制定了C++的设计标准,设计了C++主要的辅助支持环境,而且负责处理C++标准委员会的扩展提案。”他还写了一本《C++程序设计语言》,它被许多人认为是C++的范本经典,目前是第四版(于2013年5月19日出版),最新版中囊括了C++11所引进的一些新特性。 斯特劳斯特鲁普于1975年获得丹麦奥胡斯大学的数学和计算机科学硕士学位,又于1979年获得英国剑桥大学的计算机科学博士学位。从贝尔实验室大规模编程(Large-scale Programming)研究部门设立至2002年晚些时候,他一直担任那里的负责人。2002年至2014年間,他在德州農工大學工学院擔任資訊科學教授一职。2014年1月起,在紐約市的摩根史丹利技術部門擔任董事總經理(Managing Director),並於哥倫比亞大學資訊科學系擔任客座教授。.

新!!: 达夫设备和比雅尼·斯特劳斯特鲁普 · 查看更多 »

汇编语言

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。 使用汇编语言编写的源代码,然后通过相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。 汇编语言使用助记符(Mnemonics)来代替和表示特定低级机器语言的操作。特定的汇编目标指令集可能会包括特定的操作数。许多汇编程序可以识别代表地址和常量的标签(Label)和符号(Symbols),这样就可以用字符来代表操作数而无需采取写死的方式。普遍地说,每一种特定的汇编语言和其特定的机器语言指令集是一一对应的。 许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编寫工具经常会提供巨集,它们也被称为--汇编器。 现在汇编语言已不像其他大多數的程序設計語言一樣被廣泛用于程序設計,在今天的實際應用中,它通常被應用在底層硬件操作和高要求的程序優化的场合。驅動程序、嵌入式操作系統和實時運行程序都会需要組合語言。.

新!!: 达夫设备和汇编语言 · 查看更多 »

流水线 (计算机)

流水线,亦称管线,是现代计算机处理器中必不可少的部分,是指将计算机指令处理过程拆分为多个步骤,并通过多个硬件处理单元并行执行来加快指令执行速度。其具体执行过程类似工厂中的流水线,并因此得名。 如果作出类比,则计算机指令就是流水线传送带上的产品,各个硬件处理单元就是流水线旁的工人。 在使用流水线的处理器中一个指令不是在处理器的一个定時器訊號中完成的,而是被分到多个讯号中去完成,但是与此同时多个指令的分任务被同时处理。由于这些分任务比整个指令要简单,因此可以通过使用流水线提高定時器频率。虽然每个指令需要多个讯号后才能完成,但是通过多个指令的并行运算每个讯号内一个指令可以完成,因此通过这个方法整个速度可以提高。 一条流水线的每个分步骤被称为流水线级。它们被流水线寄存器分开。除指令流水线外在现代系统中还有其它流水线,比如用来计算浮点数的算术流水线。.

新!!: 达夫设备和流水线 (计算机) · 查看更多 »

曹子德

西奧多·曹(Theodore Y. Ts'o,),小名泰德·曹(Ted Tso),漢名曹子德,生於美國加利福尼亞州帕羅奧圖,著名的自由軟體工程師,專長於檔案系統設計。他是Linux內核在北美最早的開發者,負責ext2、ext3與ext4檔案系統的開發與維護工作。他也是e2fsprogs的開發者。 為自由標準組織的創始者之一,也曾擔任Linux基金會技術長。.

新!!: 达夫设备和曹子德 · 查看更多 »

传出传入
嘿!我们在Facebook上吧! »