1、1 引言引言 CPU 从最初发展至今已经有二十多年的历史了,这期间,按照其处理信息 的字长,CPU 可以分为:四位微处理器、八位微处理器、十六位微处理器、三 十二位微处理器以及六十四位微处理器等等。如今,我们常见的知道的 CPU 基 本上都是 intel或 amd 的,但是除了 Intel或 AMD 的 CPU,你可能还听说过的其 它一些 CPU,如 HP 的 PA-RISC,IBM 的 Power4 和 Sun的 UltraSparc 等,只是它 们并不是我们个人计算机上通常使用的 CPU,而是精简指令集运算(RISC)处 理器。 我们的个人电脑上用的 CPU 都是复杂指令集(CISC, “
2、Complex Instruction Set Computer”的缩写)CPU,采用复杂指令系统的计算机有着较强的处理高级 语言的能力,这对提高计算机的性能是有益的。 当计算机的设计沿着这条道路发展时,有些人没有随波逐流,他们回过头去 看一看过去走过的道路, 开始怀疑这种传统的做法: IBM 公司设在纽约 Yorktown 的 JhomasIWason研究中心于 1975 年组织力量研究指令系统的合理性问题,因 为当时已感到,日趋庞杂的指令系统不但不易实现,而且还可能降低系统性能。 1979 年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展 这一研究。结果表明,CISC 存在
3、许多缺点。首先,在这种计算机中,各种指令 的使用率相差悬殊:一个典型程序的运算过程所使用的 80指令,只占一个处 理器指令系统的 20,事实上最频繁使用的指令是取、存和加这些最简单的指 令,这样来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实 践中用得上的指令系统的处理器; 同时, 复杂的指令系统必然带来结构的复杂性, 这不但增加了设计的时间与成本还容易造成设计失误。此外,尽管 VLSI(超大 规模集成电路 Very Large Scale Integrated circuites)技术现在已达到很高的水平, 但也很难把 CISC 的全部硬件做在一个芯片上,这也妨碍单片计算机的发展
4、。在 CISC 中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直 接翻版,因而通用性差。由于采用二级的微码执行方式,它也降低那些被频繁调 用的简单指令系统的运行速度。因而,针对 CISC 的这些弊病,帕特逊等人提出 了精简指令的设想,即指令系统应当只包含那些使用频率很高的少量指令,并提 供一些必要的指令以支持操作系统和高级语言。这样, RISC 产生并发展了起来。 RISC 是英文 “Reduced Instruction Set Computings” 的缩写, 中文意思是 “精 简指令集” 。相对于 CISC 型 CPU,RISC 型 CPU 不仅精简了指令系统,还采用 了
5、一种叫做“超标量和超流水线结构” ,大大增加了并行处理能力(并行处理是 指一台服务器有多个 CPU 同时处理,并行处理能够大大提升服务器的数据处理 能力,部门级、企业级的服务器应支持 CPU 并行处理技术) 。也就是说,在同等 频率下,采用 RISC 架构的 CPU 比 CISC 架构的 CPU 性能高很多,这是由 CPU 的技术特征决定的。目前,RISC 的应用范围很广泛,大到各种超级计算机、工 作站、服务器,小到各类嵌入式设备、家用游戏机、消费电子产品、工业控制计 算机,都可以看到 RISC 的身影。目前常见使用 RISC 的处理器包括 DEC Alpha、ARC、ARM、MIPS、Pow
6、erPC、SPARC 和 SuperH 等。 图图 1.1 IBM 的 PowerPC 405 综合而言,RISC 和 CISC 的区别如下,应该根据不同的用途和要求选择设 计使用: (1) 指令系统:RISC 设计者把主要精力放在那些经常使用的指令 上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令 来完成。因此,在 RISC 机器上实现特殊功能时,效率可能较低。但可以 利用流水技术和超标量技术加以改进和弥补。而 CISC 计算机的指令系统 比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。 (2) 存储器操作:RISC 对存储器操作有限制,使控制简单化;而 CISC 机器的存储器操作指令多,操作直接。 (3) 程序:RISC 汇编语言程序一般需要较大的内存空间,实现特 殊功能时程序复杂,不易设计;而 CISC 汇编语言程序编程相对简单,科 学计算及复杂操作的程序社设计相对容易,效率较高。 (4) 中断:RISC 机器在一条指令执行的适当地方可以响应中断; 而 CISC 机器是在一条指令执行结束后响应中断。 (5) CPU:RISC CPU