中央处理器(CPU,英语:Central Processing Unit),是电子电脑的主要设备之一。其功能主要是解释电脑指令以及处理电脑软体中的数据。电脑的可程式性主要是指对中央处理器的编程。中央处理器、内部存储器和输入/输出设备是现代电脑的三大核心部件。20世纪70年代以前,中央处理器是由多个独立单元构成。後来发展出由集成电路制造的中央处理器,微处理器中央处理器复杂的电路可以做成单一微小功能强大的单元。
「中央处理器」这个名称,广义上指一系列可以执行复杂的电脑程序的逻辑机器。这个空泛的定义很容易地将在「中央处理器」这个名称被普遍使用,之前的早期电脑也包括在内。无论如何,至少从20世纪60年代早期开始(Weik 1961),这个名称及其缩写已开始在电子电脑产业中得到广泛应用。尽管与早期相比,「中央处理器」在物理形态、设计制造和具体任务的执行上有了戏剧性的发展,但是其基本的操作原理一直没有改变。
早期的中央处理器通常是为大型及特定应用的电脑而定制。但是,这种昂贵的为特定应用定制中央处理器的方法很大程度上已经让位於开发便宜、标准化、适用於一个或多个目的的处理器类。这个标准化趋势始於由单个电晶体组成的大型机和微机年代,随著集成电路的出现而加速。积体电路使得更为复杂的中央处理器可以在很小的空间中设计和制造(在微米的量级)。中央处理器的标准化和小型化都使得这一类数字设备(港译-电子零件)在现代生活中的出现频率远远超过有限应用专用的电脑。现代微处理器出现在包括从汽车到手机到儿童玩具在内的各种物品中。
运算器:算术、逻辑(部件:算术逻辑单元、累加器、暂存器组、路径转换器、数据汇流排)
控制器:复位、使能(部件:计数器、指令暂存器、指令解码器、状态暂存器、时钟发生器、微操作信号发生器)
目录 [隐藏]
EDVAC,第一台电子储存式可程式电脑。
主条目:电脑硬体历史
在现今的中央处理器出现之前,如同ENIAC之类的电脑在执行不同程序时,必须经过一番线路调整才能启动。由於它们的线路必须被重设才能执行不同的程序,这些机器通常称为「固定程序电脑」(fixed-program computer)。而由於中央处理器这个词指称为执行软体(电脑程序)的装置,那些最早与储存程序型电脑一同登场的装置也可以被称为中央处理器。
储存程序型电脑的主意早已体现在ENIAC的设计上,但最终还是被省略以期早日完成。在1945年6月30日,ENIAC完成之前,著名数学家冯·诺伊曼发表名为"关於EDVAC的报告草案(英语:First Draft of a Report on the EDVAC)"的论文。它揭述储存程序型电脑的计划将在1949年正式完成(冯·诺伊曼1945)。EDVAC的目标是执行一定数量与种类的指令(或操作),这些指令结合产生出可以让EDVAC执行的有用程序。特别的是,为EDVAC而写的程序是储存在高速电脑内存中,而非由实体线路组合而成。这项设计克服了ENIAC的某些局限——即花费大量时间与精力重设线路以执行新程序。在冯·诺伊曼的设计下,EDVAC可以藉由改变内存储存的内容,简单更换它执行的程序(软体)。[1]
值得注意的是,尽管冯·诺伊曼由於设计了EDVAC,使得他在发展储存程序型电脑上的贡献最为显著,但其他早於他的研究员如Konard Zuse也提出过类似的想法。另外早於EDVAC完成,利用哈佛架构制造的马克一号,也利用打孔纸带而非电子内存用作储存程序的概念。冯·诺伊曼架构与哈佛架构最主要的不同在於後者将中央处理器指令与资料分开存放与处置,而前者使用相同的内存位置。大多近代的中央处理器依照冯·诺伊曼架构设计,但哈佛架构一样常见。
身为数位装置,所有中央处理器处理不连续状态,因此需要一些转换与区分这些状态的基础元件。在市场接受电晶体前,继电器与真空管常用在这些用途上。虽然这些材料速度上远优於纯粹的机械构造,但是它们有许多不可靠的地方。例如以继电器建造直流时序逻辑回路需要额外的硬体以应付接触点跳动问题。而真空管不会有接触点跳动问题,但它们必须在启用前预热,也必须同时停止运作。[2]通常当一根真空管坏了,中央处理器必须找出损坏元件以置换新管。因此早期的电子真空管式电脑快於电子继电器式电脑,但维修不便。类似EDVAC的真空管电脑每隔八小时便会损坏一次,而较慢较早期的马克一号却不太发生故障(Weik 1961:238)。但在最後,由於速度优势,真空管电脑支配当时的电脑世界,尽管它们需要较多的维护照顾。大多早期的同步中央处理器,其时钟频率低於近代的微电子设计(见下列对於时钟频率的讨论)。那时常见的时钟频率为100千赫兹到4百万赫兹,大大受限於内建切换装置的速度。
[编辑]分立电晶体与集成电路中央处理器
中央处理器, 磁芯内存及MSI PDP-8/I 汇流排 界面。
由於许多科技厂家投入更小更可靠的电子装置,设计中央处理器变得越来越复杂。电晶体的面世便是第一个中央处理器的飞跃进步。1950到60年代的电晶体中央处理器不再以体积庞大、不可靠与易碎的开关元件(例如继电器与真空管)建造。藉由这项改良,更复杂与可靠的中央处理器便被建造在一个或多个包含分立(离散)元件的印刷电路板上。
在此时期,将许多电晶体放置在拥挤空间中的方法大为普及。积体电路(积体电路)将大量的电晶体集中在一小块半导体片,或晶片(chip)上。刚开始只有非常基本、非特定用途的数字电路小型化到积体电路上(例如NOR逻辑闸)。以这些预装式积体电路为基础的中央处理器称为小规模集成电路(SSI)装置。SSI 积体电路,例如装置在阿波罗导航电脑上的那些电脑,通常包含数十个电晶体。以SSI 积体电路建构整个中央处理器需要数千个独立的晶片,但与之前的分立电晶体设计相比,依然省下很多空间与电力。肇因於微电子科技的进步,在积体电路上的电晶体数量越来越大,因此减少了建构一个完整中央处理器需要的独立积体电路数量。「中规模集成电路」(MSI)与「大规模集成电路」(LSI)将内含的电晶体数量增加到成百上万。
1964年IBM推出了System/360电脑架构,此架构让一系列速度与性能不同的IBM电脑可以运行相同的程序。此确实为一项创举,因为当时的电脑大多互不相容,甚至同一家厂商制造的也是如此。为了实践此项创举,IBM提出了微程序概念,此概念依然广泛使用在现代中央处理器上(Amdahl et al. 1964)。System/360架构由於太过成功,因此支配了大型电脑数十年之久,并留下一系列使用相似架构,名为IBM zSeries的现代主机产品。同一年(1964),迪吉多(DEC)推出另一个深具影响力且瞄准科学与研究市场的电脑,名为PDP-8。DEC稍後推出非常有名的PDP-11,此产品原先计划以SSI 积体电路构组,但在LSI技术成熟後改为LSI 积体电路。与之前SSI和MSI的祖先相比,PDP-11的第一个LSI产品包含了一个只用了4个LSI 积体电路的中央处理器(Digital Equipment Corporation 1975)。
电晶体电脑有许多前一代产品没有的优点。除了可靠度与低耗电量之外,由於电晶体的状态转换时间比继电器和真空管短得多,中央处理器也就拥有更快的速度。幸亏可靠度的提升与电晶体转换器的切换时间缩短,中央处理器的时钟频率在此时期达到十几百万赫兹。另外,由於分立电晶体与积体电路 中央处理器的使用量大增,新的高性能设计,例如SIMD(单指令多数据)、向量处理机(英语:vector processor)开始出现。这些早期的实验性设计,刺激了之後超级电脑(例如克雷公司)的崛起。
[编辑]微处理器
使用了陶瓷PGA封装的Intel DX2 中央处理器
主条目:微处理器
自从微处理器在1970年代发表之後,便大大影响了中央处理器的设计与实作。自1970年第一款微处理器Intel 4004与第一款广受使用的Intel 8080在1974年发表以来,这类型的中央处理器几乎完全取代了其他中央处理器的实作方法。当时的大型主机与微计算机-业者开发了专利积体电路的设计程序以改进他们的旧计算机架构,最终推出可以向下相容他们的旧硬体与软体的指令集。与当时刚发展,并在之後普及大众的个人电脑相结合。"中央处理器"这个词现在几乎等同於微处理器。
前几世代的中央处理器实作,是在一或多个电路版上放置几个分散的元件与数量众多的小积体电路(积体电路)。而微处理器则是制作成几个少量的积体电路,通常是一个。由於物理因素,例如降低寄生电容的门槛值,此种单晶片的小尺寸中央处理器设计让它有更快的反应能力。这使得同步微处理器拥有数十兆赫到数百万兆赫的执行频率。另外,由於在一个积体电路放置小型电晶体的技术持续进步,在单个中央处理器上的电晶体数量与复杂度都在戏剧性地增加。此广为人知的现象称为摩尔定律,它成功预言了中央处理器与其他积体电路的复杂度与时俱增的性质。
当中央处理器的复杂度、尺寸、结构与型态在这六十年间剧烈改变,它的基本设计与功能并没有太大改变。当今所有普通中央处理器都几乎可以用冯·诺伊曼机器来解释。
由於前述的摩尔定律依旧没有被打破,很自然地让人想像积体电路与电晶体工业的极限何在。极端小型化电子闸门导致各种现象如电迁(英语:electromigration)与次临界漏电(英语:subthreshold leakage)效应变得相当明显。这些新效应使得研究人员试图研发新的计算方法,例如量子电脑以及扩展平行运算和其他运用冯·诺伊曼模型的方法。
[编辑]中央处理器操作原理
中央处理器的主要运作原理,不论其外观,都是执行储存於被称为程序里的一系列指令。在此讨论的是遵循普遍的冯·诺伊曼结构(von Neumann architecture)设计的装置。程序以一系列数字储存在电脑记忆体中。差不多所有的冯·诺伊曼中央处理器的运作原理可分为四个阶段:提取、解码、执行和写回。
第一阶段,提取,从程序记忆体中检索指令(为数值或一系列数值)。由程序计数器指定程序记忆体的位置,程序计数器保存供识别目前程序位置的数值。换言之,程序计数器记录了中央处理器在目前程序里的踪迹。提取指令之後,PC根据指令式长度增加记忆体单元[iwordlength]。指令的提取常常必须从相对较慢的记忆体寻找,导致中央处理器等候指令的送入。这个问题主要被论及在现代处理器的快取和管线化架构(见下)。
中央处理器根据从记忆体提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片断。根据中央处理器的指令集架构(ISA)定义将数值解译为指令[isa]。一部分的指令数值为运算码,其指示要进行哪些运算。其它的数值通常供给指令必要的资讯,诸如一个加法运算的运算目标。这样的运算目标也许提供一个常数值(即立即值),或是一个空间的定址值:暂存器或记忆体位址,以定址模式决定。在旧的设计中,中央处理器里的指令解码部分是无法改变的硬体装置。不过在众多抽象且复杂的中央处理器和ISA中,一个微程序时常用来帮助转换指令为各种形态的讯号。这些微程序在已成品的中央处理器中往往可以重写,方便变更解码指令。
在提取和解码阶段之後,接著进入执行阶段。该阶段中,连接到各种能够进行所需运算的中央处理器部件。例如,要求一个加法运算,算术逻辑单元将会连接到一组输入和一组输出。输入提供了要相加的数值,而且在输出将含有总和结果。ALU内含电路系统,以於输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该中央处理器处理而言过大的结果,在标志暂存器里,溢出标志可能会被设置(参见以下的数值精度探讨)。
最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果极常被写进中央处理器内部的暂存器,以供随後指令快速存取。在其它案例中,运算结果可能写进速度较慢,但容量较大且较便宜的主记忆体。某些类型的指令会操作程序计数器,而不直接产生结果资料。这些一般称作「跳转」并在程序中带来循环行为、条件性执行(透过条件跳转)和函式[jumps]。许多指令也会改变标志暂存器的状态位元。这些标志可用来影响程序行为,缘由於它们时常显出各种运算结果。例如,以一个「比较」指令判断两个值的大小,根据比较结果在标志暂存器上设置一个数值。这个标志可藉由随後的跳转指令来决定程序动向。
在执行指令并写回结果资料之後,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。如果完成的是跳转指令,程序计数器将会修改成跳转到的指令位址,且程序继续正常执行。许多复杂的中央处理器可以一次提取多个指令、解码,并且同时执行。这个部分一般涉及「经典RISC管线」,那些实际上是在众多使用简单中央处理器的电子装置中快速普及(常称为微控制器)
CPU是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。
cpu是什么?CPU是一个缩写,全称是Central Processing Unit,中央处理器,是电脑之中负责处理数据和计算的元件。你做的每一个操作都需要经过它的运算才能展示给你结果。
中心处理器