现在使用的计算机是按照匈牙利数学家冯·诺依曼提出的“存储程序控制”的原理进行工作的,即一个问题的解决步骤(程序)连同它所处理的数据都使用二进制表示并预先存放在存储器中。程序运行时,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。
CPU的具体任务是执行指令,它按照指令的要求完成对数据的运算和处理。CPU主要由三个部分组成。
(1)控制器。控制器是整个计算机的神经中枢,用来协调和指挥整个计算机系统的操作,本身不具有运算功能。它主要由指令寄存器、译码器、程序计数器和操作控制器等组成。它的基本功能就是从内存中取指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制指令,执行该指令。另外,控制器在工作过程中,还要接收各部件反馈回来的信息。
(2)运算器。运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,是CPU的核心组成部分。它的主要功能是对二进制数码进行加、减、乘、除等算术运算和或、与、非等基本逻辑运算以及各种移位操作。运算器在控制器的控制下实现其功能,运算结果由控制器指挥送到内存储器中。
(3)寄存器组。它由十几个甚至几十个寄存器组成。寄存器的速度很快,它们用来临时存放参加运算的数据和运算得到的中间(或最后)结果。需要运算处理的数据总是预先从内存传送到寄存器;运算结果不再需要继续参加运算时就从寄存器保存到内存。
指令是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一种操作。例如:加、减、乘、除、取数、存数等都是一项项基本操作,分别用一条指令来完成。每一种CPU都有自己独特的一组指令。一台计算机能执行的全部指令的集合称为计算机的指令系统。
计算机要想完成某个任务或执行某个操作必须执行相应的程序。程序在计算机的内部是用二进制的形式表示并由一连串的指令构成的,指令是构成程序的基本单位。
计算机指令系统中的指令都有规定的编码格式。一般一条指令可分为操作码和地址码两部分。其中操作码规定了计算机应执行的操作种类,每一种操作都有各自的代码;地址码给出了操作数地址、结果存放地址以及下一条指令的地址。指令的一般格式如图 2-6 所示。
图 2-6 指令的一般格式
通常,指令系统中有数以百计的不同的指令,它们分
成许多类,每一类指令又按操作数的性质(如整数还是实数)、长度(16 位、32 位、64 位、128 位等)等区分为不同的指令。尽管计算机可以执行非常复杂的程序,完成各种各样的操作,但是不管程序如何复杂,它总是由CPU执行一条条指令来完成的。每一条指令执行时,又可以分成若干步,每一步仅仅完成一个或几个非常简单的操作。
随着新型号微处理器的不断推出,它们的指令系统也在发生变化。但并不意味着新的处理器会舍弃老处理器的所有指令系统,再重新开始一套新的指令系统,这样做也是不科学的。采取的方法是“向下兼容方式”,即在新处理器中保留老处理器的所有指令,同时扩充功能更强的新指令。
CPU性能的高低直接决定了一台计算机系统的档次,而CPU的主要技术指标可以反映出CPU的基本性能。
1.字长
字长是指CPU内部运算单元一次处理的二进制数据的位数,字长主要影响计算机的精度和速度。字长有 8 位、16 位、32 位和 64 位等。目前个人计算机使用的CPU都是 32 位或 64位的处理器。
2.主频
主频也就是CPU时钟频率,表示在CPU内数字脉冲信号振荡的速度。一般来说,一个时钟周期完成的指令数是固定的,所以主频越高,CPU的速度就越快。因此人们常用频率数来标识CPU的速度。主频的计算公式是:
其中倍频是CPU的主频与外频的比值。外频是系统总线的工作频率,CPU与外围设备传输数据的频率,具体是指CPU到芯片组之间的总线速度。
3.高速缓冲存储器
高速缓冲存储器简称缓存,是位于CPU与主存间的一种容量较小但速度很快的存储器。缓存主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快得多,这样会使CPU花费很长的时间等待读取数据或者回写数据。为了减少这种情况的发生,采用一种读写速度比系统内存快得多的特殊静态内存(即Cache)。系统工作时,会将经常运行的一些数据从系统内存读取到Cache中,CPU会首先到Cache中读取或写入数据,如果Cache中没有所需数据(或Cache已满,无法再写入),则再对系统内存进行读写操作,另外Cache在空闲时也会与内存交换数据。其实质就是在慢速DRAM和快速CPU之间插入一个速度较快、容量较小的SRAM,起到缓冲的作用,使CPU既可以以较快速度存取SRAM中的数据,又能提高系统的整体性能。在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。
4.流水线技术
流水线技术是Intel公司首次在 486 芯片中开始使用的一种技术。在CPU中由 5~6 个不同功能的电路单元组成一条指令处理流水线,然后将一条X86 指令分成 5~6 步后,再由这些电路单元分别执行,这样就能实现一个CPU时钟周期内完成一条指令,因此提高了CPU的运算速度。
超流水线是指CPU内部的流水线超过通常的 5~6 步以上。将流水线设计的步(级)数越多,其完成一个指令的速度就越快,因此才能适应工作主频更高的CPU。
5.制造工艺
制造工艺是衡量CPU加工精度的一项标准,其单位是微米(μm)和纳米(nm)。制造工艺的提高,意味着单位面积上可以容纳更多的晶体管,CPU的体积将更小,集成度将更高,性能会更加强大,功耗也会降低。
制造工艺在 1995 年以后,从 0.5μm、0.35μm、0.25μm、0.18μm、0.15μm、0.13μm、0.11μm、90nm、65nm、45nm、32nm、22nm一直发展到目前的 14nm。
除此之外,CPU的核心数量也开始作为CPU的性能指标,用来衡量CPU级别和档次。目前主流的有双核、4 核、6 核及 8 核CPU,多的达到 16 核。