• 内容讲解

按照指令系统分类,计算机大致可以分为两类:复杂指令系统计算机(Complex Instruction Set Computer,CISC)和精简指令系统计算机(Reduced Instruction Set Computer,RISC)。CISC是CPU的传统设计模式,其指令系统的特点是指令数目多而复杂,每条指令的长度不尽相等;而RISC则是CPU的一种新型设计模式,其指令系统的主要特点是指令条数少且简单,指令长度固定。

1.CISC的产生和发展

计算机的指令系统最初只有很少一些基本指令,而其他的复杂指令全靠软件编译时通过简单指令的组合来实现。后来,越来越多的复杂指令被加入到了指令系统中,可用硬件实现复杂的运算。但是,一个新的问题很快就产生了:一个指令系统的指令条数受到指令操作码位数的限制,如果操作码为8位,那么指令条数最多为256条(28),而指令的宽度则是很难增加的。

聪明的设计师们想出了一种解决方案——操作码扩展:在指令格式中,操作码后面跟的是地址码,而有些指令是用不着地址码或只用少量位数的地址码的,那么就可以把操作码扩展到地址码的位置,使操作码的位数得以增加。

举个简单的例子,如果一个指令系统的操作码为2位,那么可以有00、01、10、11四条不同的指令。现在把11作为保留,把操作码扩展到4位,那么就可以有00、01、10、1100、1101、1110、1111七条指令,其中1100、1101、1110、1111这四条指令的地址码部分必须减少两位。

然后,为了达到减少地址码这一操作码扩展的先决条件,设计师们又发明了各种各样的寻址方式,如基址寻址、相对寻址等,以最大限度地压缩地址码长度,为操作码留出空间。

于是,CISC指令系统逐渐形成。大量的复杂指令、可变的指令长度、多种寻址方式是CISC的特点,也是CISC的缺点,因为这些都大大增加了译码的难度,而在高速硬件迅猛发展的今天,复杂指令所带来的速度提升早已不及在译码上所浪费的时间了。

2.RISC的产生

1975年,IBM的设计师John Cocke研究了当时的IBM 370 CISC系统,发现其中仅占总指令数20%的简单指令却在程序调用中占据了80%,而占指令数80%的复杂指令却只有20%的机会被调用到。由此,他提出了RISC的概念。

第一台RISC计算机于1981年在美国加州大学伯克利分校问世。20世纪80年代末开始,各家公司的RISC CPU如雨后春笋般出现,占据了大量的市场。到了20世纪90年代,x86的CPU(如Pentium)也开始使用先进的RISC技术。

3.RISC的特点

RISC的主要特点是指令长度固定,指令格式和寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。

RISC体系结构的基本思想:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式、简化寻址方式,方便处理器内部的并行处理,提高VLSI器件的使用效率,从而大幅度地提高处理器的性能。

RISC的目标决不是简单的缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,同时降低处理器的开发成本。

由于RISC指令系统仅包含最常用的简单指令,因此,RISC技术可以通过硬件优化设计,把时钟频率提得很高,从而实现整个系统的高性能。同时,RISC技术在CPU芯片上设置大量寄存器,用来把常用的数据保存在这些寄存器中,大大减少对存储器的访问,用高速的寄存器访问取代低速的存储器访问,从而提高系统整体性能。

RISC的三个要素是:⑴一个有限的简单的指令集,⑵CPU配备大量的通用寄存器,⑶强调对指令流水线的优化。

RISC的典型特征包括:

(1)指令种类少,指令格式规范:RISC指令集通常只使用一种或少数几种格式,指令长度单一(一般4个字节),并且在字边界上对齐,字段位置(特别是操作码的位置)固定。

(2)寻址方式简化:几乎所有指令都使用寄存器寻址方式,绝不出现存储器间接寻址方式,寻址方式总数一般不超过5个。其他更为复杂的寻址方式,如间接寻址等,则由软件利用简单的寻址方式来合成。

(3)大量利用寄存器间操作:RISC强调通用寄存器资源的优化使用,指令集中大多数操作都是寄存器到寄存器的操作,只有取数指令、存数指令访问存储器,指令中最多出现RS型指令,绝不出现SS型指令。因此,每条指令中访问的主存地址不会超过1个,访问主存的操作不会与算术操作混在一起。

(4)简化处理器结构:使用RISC指令集,可以大大简化处理器中的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬连线方式来实现指令操作,以期更快的执行速度,而不必像CISC处理器那样使用微程序来实现指令操作。因此,RISC处理器不必像CISC处理器那样设置微程序控制存储器,从而能够快速地直接执行指令。

(5)便于使用VLSI技术:随着LSI和VLSI技术的发展,整个处理器(甚至多个处理器)都可以放在一片芯片上。RISC体系结构为单芯片处理器的设计带来很多好处,有利于提高性能,简化VLSI芯片的设计和实现。基于VLSI技术,制造RISC处理器的工作量要比CISC处理器小得多,成本也低得多。

(6)加强处理器的并行能力:RISC指令集非常适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器的内部并行操作技术,基本上都是基于RISC体系结构而逐步发展和走向成熟的。

(7)RlSC技术的复杂性在于它的优化编译程序,因此软件系统开发时间比CISC机器要长。

4.RISC与CISC的主要特征对比

RISC与CISC的主要特征对比如表5-2所示。

520.gif