中央处理器
中央处理器 (CPU,英语:Central Processing Unit / Processor),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。
中央处理器 | |
---|---|
原图链接图片来驱动之家 |
目录
简介编辑
中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。 [2] 在计算机体系结构中,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。CPU 是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。
发展历史编辑
CPU出现于大规模集成电路时代,处理器架构设计的迭代更新以及集成电路工艺的不断提升促使其不断发展完善。从最初专用于数学计算到广泛应用于通用计算,从4位到8位、16位、32位处理器,最后到64位处理器,从各厂商互不兼容到不同指令集架构规范的出现,CPU 自诞生以来一直在飞速发展。 CPU发展已经有40多年的历史了。我们通常将其分成 六个阶段。
(1)第一阶段(1971年-1973年)
这是4位和8位低档微处理器时代,代表产品是Intel 4004处理器。 1971年,Intel生产的4004微处理器将运算器和控制器集成在一个芯片上,标志着CPU的诞生; 1978年,8086处理器的出现奠定了X86指令集架构, 随后8086系列处理器被广泛应用于个人计算机终端、高性能服务器以及云服务器中。
(2)第二阶段(1974年-1977年)
这是8位中高档微处理器时代,代表产品是Intel 8080。此时指令系统已经比较完善了。
(3)第三阶段(1978年-1984年)
这是16位微处理器的时代,代表产品是Intel 8086。相对而言已经比较成熟了。
(4)第四阶段(1985年-1992年)
这是32位微处理器时代,代表产品是Intel 80386。已经可以胜任多任务、多用户的作业。 1989 年发布的80486处理器实现了5级标量流水线,标志着CPU的初步成熟,也标志着传统处理器发展阶段的结束。
(5)第五阶段(1993年-2005年)
这是奔腾系列微处理器的时代。 1995 年11 月,Intel发布了Pentium处理器,该处理器首次采用超标量指令流水结构,引入了指令的乱序执行和分支预测技术,大大提高了处理器的性能, 因此,超标量指令流水线结构一直被后续出现的现代处理器,如AMD(Advanced Micro devices)的K9、 K10、Intel的Core系列等所采用。
(6)第六阶段(2005年至今)
是酷睿系列微处理器的时 代,这是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效。 为了满足操作系统的上层工作需求,现代处理器进一步引入了诸如并行化、多核化、虚拟化以及远程管理系统等功能,不断推动着上层信息系统向前发展。[1]
工作原理编辑
冯诺依曼体系结构是现代计算机的基础。在该体系结构下,程序和数据统一存储,指令和数据需要从同一存储空间存取,经由同一总线传输,无法重叠执行。根据冯诺依曼体系,CPU的工作分为以下 5 个阶段:取指令阶段、指令译码阶段、执行指令阶段、访存取数和结果写回。 取指令(IF,instruction fetch),即将一条指令从主存储器中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度自动递增。 指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。 执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。 访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段。 结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。 在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就从程序计数器中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。[2]
性能及结构编辑
性能衡量指标 对于CPU而言,影响其性能的指标主要有主频、 CPU的位数以及CPU的缓存指令集。所谓CPU的主频,指的就是时钟频率,它直接的决定了CPU的性能,因此要想CPU的性能得到很好地提高,提高CPU的主频是一个很好地途径。而CPU的位数指的就是处理器能够一次性计算的浮点数的位数,通常情况下,CPU的位数越高,CPU 进行运算时候的速度就会变得越快。现在CPU的位数一般为32位或者64位。以前人们使用的计算机都是32位系统, 近年来人们使用的计算机的处理器中64位所占用的比例则显得更多,这是因为64位的计算机的运行速度变得更快,提高了人们的工作效率。而CPU的缓存指令集是存储在CPU内部的,主要指的是能够对CPU的运算进行指导以及优化的硬程序。一般来讲,CPU 的缓存可以分为一级缓存、二级缓存和三级缓存,而那些处理能力比较强的处理器则一般具有较大的三级缓存。
CPU结构
通常来讲,CPU的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等。所谓运算逻辑部件,主要能够进行相关的逻辑运算,如:可以执行移位操作以及逻辑操作,除此之外还可以执行定点或浮点算术运算操作以及地址运算和转换等命令,是一种多功能的运算单元。而寄存器部件则是用来暂存指令、数据和地址的。控制部件则是主要用来对指令进行分析并且能够发出相应的控制信号。而计算机的内存又可以分为随机存取存储器(RAM)和只读储存器(ROM)。两者的区别在于,随机存取存储器能够与CPU直接的进行数据的交换,也可以将其称为主存。对于RAM可以随时的进行读写,而且这个过程的速度很快,因此由于主存所具有的这个优点也往往将其作为操作系统或其他正在运行中的程序的临时数据存储媒介;而只读存储器ROM是一种只能读出事先所存数据的存储器,使用者对于其内部存储的资料没有改变的权限也无法对其进行删除,并且在电源关闭以后资料并不会消失。这种内存也得到了广泛的应用,在那些资料不需要经常变更的电子或电脑系统中得到了很好地应用。 对于中央处理器来说,可将其看作一个规模较大的集成电路,其主要任务是加工和处理各种数据。传统计算机的储存容量相对较小,其对大规模数据的处理过程中具有一定难度,且处理效果相对较低。随着我国信息技术水平的迅速发展,随之出现了高配置的处理器计算机,将高配置处理器作为控制中心,对提高计算机CPU的结构功能发挥重要作用。中央处理器中的核心部分就是控制器、运算器,其对提高计算机的整体功能起着重要作用,能够实现寄存控制、逻辑运算、信号收发等多项功能的扩散,为提升计算机的性能奠定良好基础。 集成电路在计算机内起到了调控信号的作用,根据用户操作指令执行不同的指令任务。中央处理器是一块超大规模的集成电路。它由运算器、控制器、寄存器等组成,如下图,关键操作在于对各类数据的加工和处理。 传统计算机存储容量较小,面对大规模数据集的操作效率偏低。新一代计算机采用高配置处理器作为控制中心,CPU在结构功能方面有了很大的提升空间。中央处理器以运算器、控制器为主要装置,逐渐扩散为逻辑运算、寄存控制、程序编码、信号收发等多项功能。这些都加快了CPU调控性能的优化升级。[3]
CPU总线
CPU总线是在计算机系统中最快的总线,同时也是芯片组与主板的核心。人们通常把和CPU直接相连的局部总线叫做CPU总线或者称之为内部总线,将那些和各种通用的扩展槽相接的局部总线叫做系统总线或者是外部总线。在内部结构比较单一的CPU中,往往只设置一组数据传送的总线即CPU内部总线,用来将CPU内部的寄存器和算数逻辑运算部件等连接起来,因此也可以将这一类的总线称之为ALU总线。而部件内的总线,通过使用一组总线将各个芯片连接到一起,因此可以将其称为部件内总线,一般会包含地址线以及数据线这两组线路。系统总线指的是将系统内部的各个组成部分连接在一起的线路,是将系统的整体连接到一起的基础;而系统外的总线,是将计算机和其他的设备连接到一起的基础线路。[4]
核心部分编辑
运算器 运算器是指计算机中进行各种算术和逻辑运算操作的部件, 其中算术逻辑单元是中央处理核心的部分。 [2] (1)算术逻辑单元(ALU)。算术逻辑单元是指能实现多组 算术运算与逻辑运算的组合逻辑电路,其是中央处理中的重要组成部分。算术逻辑单元的运算主要是进行二位元算术运算,如加法、减法、乘法。在运算过程中,算术逻辑单元主要是以计算机指令集中执行算术与逻辑操作,通常来说,ALU能够发挥直接读入读出的作用,具体体现在处理器控制器、内存及输入输出设备等方面,输入输出是建立在总线的基础上实施。输入指令包含一 个指令字,其中包括操作码、格式码等。 (2)中间寄存器(IR)。其长度为 128 位,其通过操作数来决定实际长度。IR 在“进栈并取数”指令中发挥重要作用,在执行该指令过程中,将ACC的内容发送于IR,之后将操作数取到ACC,后将IR内容进栈。 (3)运算累加器(ACC)。当前的寄存器一般都是单累加器,其长度为128位。对于ACC来说,可以将它看成可变长的累加器。在叙述指令过程中,ACC长度的表示一般都是将ACS的值作为依据,而ACS长度与 ACC 长度有着直接联系,ACS长度的加倍或减半也可以看作ACC长度加倍或减半。 (4)描述字寄存器(DR)。其主要应用于存放与修改描述字中。DR的长度为64位,为了简化数据结构处理,使用描述字发挥重要作用。 (5)B寄存器。其在指令的修改中发挥重要作用,B 寄存器长度为32位,在修改地址过程中能保存地址修改量,主存地址只能用描述字进行修改。指向数组中的第一个元素就是描述字, 因此,访问数组中的其它元素应当需要用修改量。对于数组成来说,其是由大小一样的数据或者大小相同的元素组成的,且连续存储,常见的访问方式为向量描述字,因为向量描述字中的地址为字节地址,所以,在进行换算过程中,首先应当进行基本地址 的相加。对于换算工作来说,主要是由硬件自动实现,在这个过程中尤其要注意对齐,以免越出数组界限。
控制器
控制器是指按照预定顺序改变主电路或控制电路的接线和 改变电路中电阻值来控制电动机的启动、调速、制动与反向的主令装置。控制器由程序状态寄存器PSR,系统状态寄存器SSR, 程序计数器PG,指令均存器等组成,其作为“决策机构”,主要任务就是发布命令,发挥着整个计算机系统操作的协调与指挥作用。 控制的分类主要包括两种,分别为组合逻辑控制器、微程序控制器,两个部分都有各自的优点与不足。其中组合逻辑控制器结构相对较复杂,但优点是速度较快;微程序控制器设计的结构简单,但在修改一条机器指令功能中,需对微程序的全部重编。
分类编辑
指令集的方式 CPU的分类还可以按照指令集的方式将其分为精简指令集计算机(RISC)和复杂指令集计算机(CISC)。 RISC 是基于集成电路进行设计的一种芯片,不过不同的是它对于指令的数目以及寻址的方式进行了改进,使得实现的更加的容易, 指令的并行的执行程度更加的好,并且编译器的效率也变得越来越高。而由于早期的集成技术还不够发达,因此早期的计算机往往是CISC架构,需要使用较少的机器语言来完成所需要的计算任务。由于人们的需求越来越多,因此将更多的相对复杂指令加入到了指令系统中,这样能够使得计算机变得更加的智能化, 同时这使得计算机的处理效率有着很大的提升, 这也是RISC形成的原因。
嵌入式系统CPU
传统的嵌入式领域所指范畴非常广泛,是处理器除了服务器和PC领域之外的主要应用领域。所谓“嵌入式”是指在很多芯片中,其所包含的处理器就像嵌入在里面不为人知一样。 近年来随着各种新技术新领域的进一步发展,嵌入式领域本身也被发展成了几个不同的子领域而产生了分化。 首先是随着智能手机(Mobile Smart Phone)和手持设备(Mobile Device)的发展,移动(Mobile)领域逐渐发展成了规模匹敌甚至超过PC领域的一个独立领域。由于Mobile领域的处理器需要加载Linux操作系统,同时涉及复杂的软件生态,因此,其具有和PC领域一样对软件生态的严重依赖。 [8] 其次是实时(Real Time)嵌入式领域。该领域相对而言没有那么严重的软件依赖性,因此没有形成绝对的垄断,但是由于ARM处理器IP商业推广的成功,目前仍然以ARM的处理器架构占大多数市场份额,其他处理器架构譬如Synopsys ARC等也有不错的市场成绩。 最后是深嵌入式领域。该领域更像前面所指的传统嵌入式领域。该领域的需求量非常之大,但往往注重低功耗、低成本和高能效比,无须加载像Linux这样的大型应用操作系统,软件大多是需要定制的裸机程序或者简单的实时操作系统,因此对软件生态的依赖性相对比较低。
CPU控制技术的主要形式编辑
中央处理器强大的数据处理功有效提升了计算机的工作效率,在数据加工操作时,并不仅仅只是一项简单的操作,中央处理器的操作是建立在计算机使用人员下达的指令任务基础上,在执行指令任务过程中,实现用户输入的控制指令与CPU的相对应。随着我国信息技术的快速发展,计算机在人们生活、工作 以及企业办公自动化中得到广泛应用,其作为一种主控设备,为促进电子商务网络的发展起着促进作用,使 CPU 控制性能的升级进程得到很大提高。指令控制、实际控制、操作控制等就是计算机 CPU 技术应用作用表现。 (1)选择控制。集中处理模式的操作,是建立在具体程序指令的基础上实施,以此满足计算机使用者的需求,CPU 在操作过程中可以根据实际情况进行选择,满足用户的数据流程需求。 指令控制技术发挥的重要作用。根据用户的需求来拟定运算方式,使数据指令动作的有序制定得到良好维持。CPU在执行当中,程序各指令的实施是按照顺利完成,只有使其遵循一定顺序,才能保证计算机使用效果。CPU 主要是展开数据集自动化处理,其 是实现集中控制的关键,其核心就是指令控制操作。 (2)插入控制。CPU 对于操作控制信号的产生,主要是通过指令的功能来实现的,通过将指令发给相应部件,达到控制这些部件的目的。实现一条指令功能,主要是通过计算机中的部件执行一序列的操作来完成。较多的小控制元件是构建集中处理模式的关键,目的是为了更好的完成CPU数据处理操作。 (3)时间控制。将时间定时应用于各种操作中,就是所谓的时间控制。在执行某一指令时,应当在规定的时间内完成,CPU的指令是从高速缓冲存储器或存储器中取出,之后再进行指令译码操作,主要是在指令寄存器中实施,在这个过程中,需要注意严格控制程序时间。[5]
相关视频
CPU到底指的是什么?
参考资料
- ↑ ,CPU计算和GPU计算,万方数据,2017-03-12
- ↑ , 关于计算机中央处理器的研究,万方数据,2018-03-05
- ↑ , 中央处理器集中处理与控制技术探究,万方数据,2018-07-03
- ↑ , 中央处理器集中处理与控制技术分析,万方数据,2014-04-08
- ↑ , X86中央处理器安全问题综述,万方数据,2019-03-12