|
X86架构处理器示意图 |
RISC的英文全称为:ReducedInstructionSetComputing,中文即“精简指令集”,它的指令系统相对简单,它只要求
硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的
编译技术,由简单指令合成。在中高档
服务器中普遍采用这一指令系统的
CPU,特别是高档服务器全都采用RISC指令系统的CPU。在中高档服务器中采用RISC指令的CPU主要有
Compaq(康柏,即新惠普)公司的Alpha、
HP公司的PA-RISC、
IBM公司的PowerPC、
MIPS公司的MIPS和
SUN公司的Spare。
|
第一块支持X86指令集的Intel i8086处理器 |
精简指令集,是计算机中央理器的一种设计模式,也被称为RISC(ReducedInstructionSetComputing的缩写)。这种设计思路对指令数目和
寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。常用的
精指令集微理器包括
DECAlpha、
ARC、
ARM、
AVR、
MIPS、
PA-RISC、
PowerArchitecture(包括PowerPC)和SPARC等。这种设计思路最早的产生缘自于有人发现,尽管传统
处理器设计了许多特性让
代码编写更加便捷,但这些复杂特性需要几个
指令周期才能实现,并且常常不被运行程序所采用。此外,处理器和主内存之间运行速度的差别也变得越来越大。在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。早期,这种指令集的特点是指令数目少,每条指令都采用
标准字长、执行时间短、中央处理器的实现细节对于机器级程序是可见的。
|
32位精简指令集架构 |
在
计算机指令系统的优化发展过程中,出现过两个截然不同的优化方向:CISC技术和RISC技术。CISC是指
复杂指令系统计算机(ComplexInstructionSetComputer);RISC是指
精减指令系统计算机(ReducedInstructionSetComputer)。这里的计算机指令系统指的是计算机的最低层的
机器指令,也就是CPU能够直接识别的指令。随着计算机系统的复杂,要求计算机指令系统的构造能使计算机的整体性能更快更稳定。最初,人们采用的优化方法是通过设置一些功能复杂的指令,把一些原来由
软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度,这种计算机系统就被称为复杂指令系统计算机,即ComplexInstructionSetComputer,简称CISC。另一种优化方法是在20世纪80年代才发展起来的,其基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现,这种计算机系统就被称为精简指令系统计算机.即ReducedInstructionSetComputer,简称RISC。RISC技术的精华就是通过简化计算机指令功能,使指令的平均执行周期减少,从而提高计算机的工作主频,同时大量使用通用
寄存器来提高
子程序执行的速度
|
精简指令集 |
IBM公司没在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以
帕特逊教授为首的一批
科学家也开始在
美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的
时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍
单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种
高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(ReducedInstructionSetComputer-RISC)结构.简称RISC.
|
精简指令集 |
RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在
体系结构、操作运行、软件硬件、
编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:
(1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
(2)存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。
(3)程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。
(4)中断:RISC机器在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。
|
精简指令集 |
(5)CPU:RISCCPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6)设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。
(7)用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
(8)应用范围:由于RISC指令系统的确定与特定的应用领域有关,故RISC机器更适合于专用机;而CISC机器则更适合于通用机。
|
精简指令集 |
RISC是简化指令集计算机的简略缩写,其风格是强调计算机结构的简单性和高效性。RISC设计是从足够的不可缺少的指令集开始的。它的速度比那些具有传统复杂指令组计算机结构的机器快得多,而且RISC机由于其较简洁的设计,较易使用,故具有更短的研制开发周期。RISC结构一般具有如下的一些特点:
①单周期的执行:它统一用单周期指令。从根本上克服了CISC指令周期数有长有短,造成运行中偶发性不确定,致使运行失常的问题。
②采用高效的流水线操作:使指令在流水线中并行地操作,从而提高处理数据和指令的速度。
③无微代码的硬连线控制:微代码的使用会增加复杂性和每条指令的执行周期。
④指令格式的规格化和简单化:为与流水线结构相适应且提高流水线的效率,指令的格式必须趋于简单和固定的规式。比如指令采用16位或32位的固定的长度,并且指令中的操作码字段、操作数字段都尽可能具有统一的格式。此外,尽量减少寻址方式,从而使硬件逻辑部件简化且缩短译码时间,同时也提高了机器执行效率和可靠性。
|
精简指令集 |
⑤采用面向寄存器堆的指令:RISC结构采用大量的寄存器——寄存器操作指令,使指令系统更为精简。控制部件更为简化,指令执行速度大大提高。由于VLSI技术的迅速发展,使得在一个芯片上做大量的寄存器成为可能。这也促成了RISC结构的实现。
⑥采用装入/存储指令结构:在CISC结构中。大量设置存储器——存储器操作指令,频繁地访问内存,将会使执行速度降低。RISC结构的指令系统中,只有装入/存储指令可以访问内存,而其它指令均在寄存器之间对数据进行处理。用装入指令从内存中将数据取出,送到寄存器;在寄存器之间对数据进行快速处理,并将它暂存在那里,以便再有需要时。不必再次访问内存。在适当的时候,使用一条存储指令再将这个数据送回内存。采用这种方法可以提高指令执行的速度。
通常使用的单片机中,MCS一51系列的单片机属于CISC的体系结构;AVR系列的单片机则属于RISC的体系结构。
|
精简指令集 |
鉴于RISC的设计特点以及其无可比拟的优点,RISC体系结构处理器的发展方向:
一是增加处理器的并行性;
二是扩展支持可伸缩并行计算机系统的功能;
三是提高工艺水平。最终RISC与DSP在嵌入式应用中完美融合,密不可分。
RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。如:1987年SunMicrosystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。RISC处理器是当今UNIX领域64位多处理机的主流芯片。
性能特点
性能特点一:由于指令集简化后,流水线以及常用指令均可用硬件执行;
性能特点二:采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;
性能特点三:采用缓存—主机—外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因从存储器存取信息而放慢处理速度。
|
扩展指令集 |
应用特点
由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。如原DEC的Alpha21364、IBM的PowerPCG4、HP的PA—8900、SGI的R12000A和SUNMicrosystem公司的UltraSPARC║。
运行特点
RISC芯片的工作频率一般在400MHZ数量级。时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。单一指令周期容纳多部并行操作。在RISC微处理器发展过程中。曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。VLIW处理器的基本模型是标量代码的执行模型,使每个机器周期内有多个操作。有些RISC处理器中也采用少数VLIW指令来提高处理速度。