小议计算机体系结构及RISC技术
司雨杭 秦亮亮 李 鹏
摘要:该文系统概述了现代计算机的两种主要体系结构CISC体系和RISC体系, 叙述了当代RISC主流技术及主要特征,以及发展趋势,展望了未来计算机体系发展方向。
关键词: CISC;RISC,体系结构
从体系结构上看,计算机体系结构研究的核心内容是计算机软硬件界面,具体表现为指令系统。软件开发者根据所给定的指令系统来编写软件,满足用户的需求。该文系统概述了现代计算机的两种主要体系结构CISC体系和RISC体系,并展望了未来计算机体系发展方向。
1 计算机体系结构现状
当今微处理器体系结构,从传统意义指令界面上来看基本划分成两大类:一类是CISC体系结构,如INTEL的X86芯片,另一类是RISC体系结构,如SPARC,MIPS,POWER PC,ALPHA等,不管是CISC体系结构还是RISC体系结构,人们在计算机体系结构的设计上都追求了二个方面的目标。
2 CISC和RISC的区别
CISC体系的指令集由微程序来实现,也就是说它的每一个操作均由若干微操作的程序组合来实现,所以CISC可以使用微指令编程的方式来实现多种和功能较复杂的指令。在RISC体系的指令集中,它的每一条指令直接由硬布线来实现。这就是说它的每条指令执行原则上有自己一套逻辑组合的时序电路直接实现,所以单条指令实现所占用的硬件资源相应要多。因为RISC体系没有能采用增加单条指令的功能或提高指令语义,也没有去增多指令的条数,而是集中于它的精简指令集上。RISC将把用户使用频率高的,数量少的指令通过硬件实现。其基本特征是指令单周期执行,一个周期内比CISC计算机有更高的指令吞吐率,且指令系统非常简单。RISC的思想认为,只要给一个基本的指令,就能产生一个丰富的软件系统。
如果说CISC是计算机技术发展的天然产物,那么RISC应该是计算机技术发展的必然产物。两者之间的风格主要差异表现在两种体系结构的设计思想不同。
计算机的一个最重要的性能是速度,一般用执行程序的时间来测量其速度。一个程序的执行时间等于其中的指令数乘以每条指令的执行时间,每条指令的执行时间等于每条指令执行的周期数和每周期的时间(即主频的倒数)。即TCPU=IN×CPI×TC,速度可从以下方面来提高:
提高主频,则一个周期内的门的级数要少,器件的延时要小,现代工艺的迅速发展使器件的延时越来越小,主频也越来越高。提高每条指令执行的周期数小。可通过提高指令的语义级别来达到提高机器速度。
由此可见,CISC体系主要通过提高指令语义级别来减少实现程序的指令条数。简化编译。但实际上指令系统中加入许多新的复杂指令后,并没有是编译简化。相反,由于复杂指令的加入,使得编译软件的设计更加困难,因为编译的基本任务是完成大量的各种分情况(CASE)分析,指令系统越复杂,则分情况的数目就越多。分析就越困难,需要的时间就越长,而且就越难获得关于代码生成的优化结果,统计表明,实际程序在执行过程中80%-90%的时间是花在占指令系统10%-20%的常用简单指令上。
上述的情况使得CISC设计风格不可能成为经济有效的设计风格。而RISC体系的指令简单,指令集较小,指令语义低,几乎每条指令都是单周期执行,控制简单,基本是一些简单的逻辑电路,因此采用逻辑硬布线。这样可以减少单条指令周期,提高系统主频来提高指令执行速度。为了能有效地支持高级语言并提高CPU性能,在统计测试地基础上,RISC结构采用了以下一些特殊技术。
在CPU中设置了较大量地寄存器,并采用窗口重叠寄存器技术。采用优化延迟转移技术。采用比较转移指令。采用优化编译技术。
RISC技术经过近十几年的发展,已逐步完善和成熟,已从大学实验样机变成为工业界广泛接受并已大规模生产的产品,实践越来越证明它具有广阔的应用前景,小到专用的嵌入式控制器,大到组成小巨型机乃至巨型机和大规模并行机,RISC芯片已成为应用主流。
3 RISC的发展趋势研究
RISC要达到很高的性能,必须有相应的技术支持。目前,在RISC处理机中的发展趋势是对以下几种关键技术方面进行研究。
延时转移技术-在RISC处理机中,指令一般采用流水线方式工作。取指令和执行指令并行进行。如果取指令和执行指令各需要一个周期,那么,在正常情况下,每一个周期就能执行完一条指令。然而,在遇到转移指令时,流水线就可能断流。
采用指令延迟转移技术时,指令序列的调整由编译器自动进行,一般不需要人来干预.但是如果要在目标程序中进行,就很容易引起人们的误解。
指令取消技术。采用指令延时技术,遇到条件转移指令时,调整指令序列非常困难,在许多情况下找不到可以用来调整的指令。有些RISC处理机采用指令取消技术。在使用指令取消技术的处理机中,所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。为了提高程序的执行效率,应该尽量少取消指令,以保持指令流水线处于充满状态。因此,可以采用如下规则:如果是向后转移(转移的目标地址小于当前程序计数器的值),则在转移不成功时取消下条指令,否则,执行下条指令;如果是向前转移,则正好相反,在转移不成功时执行下条指令,否则,取消下条指令。
重叠寄存器窗口技术。RISC的指令系统较简单,CISC中的一条复杂指令在RISC中通常要用一段子程序来实现。因此,RISC程序中的CALL和RETURN指令要比CISC程序中的多。在执行CALL指令时,必须把硬件现场(主要包括程序计数器和处理机状态字)和程序本身的软件现场(主要指在子程序中要使用的通用寄存器等)保存到主存储器中.另外,还要把执行子程序所需要的参数从主程序传送过去。在执行RETURN指令时.要做相反的工作,最后把运算结果传送回主程序。因此,执行指令时,访问存储器的信息量非常大。
为了使RISC处理机中的指令流水线高效率地工作,尽量不断流,优化编译器必须分析程序的数据流和控制流,当发现指令流有断流可能时,要调整指令序列。对有些可以通过变量重新命名来消除的数据相关,要尽量消除。这样,可以提高流水线的执行效率,缩短程序的执行时间。
硬件为主固件为辅。指令系统用微程序实现的主要优点是:便于实现复杂指令,便于修改指令系统,增加了机器的灵活性和适应性.主要缺点是:执行速度低。RISC要求主要指令能在单周期内执行完成.采用微程序技术是不可能做到的。因此,RISC必须主要采用硬联逻辑来实现指令系统。对于那些必需的复杂指令,也可用固件(微程序技术)实现。因此,目前商用的RISC处理机在实现指令系统时,一般都采用以硬件为主固件为辅的方法。
RISC优化编译技术。RISC思想在采用硬件技术提高处理机性能的同时,也十分重视软件的优化编译技术。可以说,RISC是硬件和软件相结合的产物。没有优化编译技术的支持,RISC处理机的性能就不可能得到充分的发挥。
RISC的硬件设计为优化编译程序的设计带来了许多方便,同时也造成一些困难.带来的方便主要有。
由于RISC的指令系统比较简单,而且对称.均匀,优化编译程序不必为具有类似功能的指令做复杂的指令选择工作。RISC的寻址方式简单,只有LOAD和STORE指令能够访问存储器,其他指令均在通用寄存器之间进行操作。因此,可简化优化编译器在选择寻址方式过程中要做的工作,省去了是否要生成访问存储器指令的选择工作。因为大多数指令都能在一个周期内执行完成,为优化编译器调整指令序列提供了极大的方便。
结束语
随着科学技术的飞速发展以及计算机应用领域的日益扩大,对计算机系统的处理能力,计算速度提出了更新更高的要求,为了大幅度提高计算机并行处理能力,在计算机系统结构技术上必须有所突破,RISC技术作为计算机发展过程中的一个里程碑,为计算机结构本身的更新换代及计算机应用的深入和其领域的拓宽开辟广阔前景。日趋成熟的RISC技术正广泛的应用在计算机的许多领域当中,这些领域的研究进展将有力促进新一代计算机的发展。
参考文献
[1]郑伟民,汤志忠.计算机体系结构[M].北京:清华大学出版社.
[2]陆鑫达.计算机系统结构[M].北京:高等教育出版社.
[3]李学干.计算机系统结构[M].西安:西安电子科技大学出版社.
[4]白中英.计算机组成原理[M].北京:科学出版社.
[5]郑飞.新一代RISC微处理器的结构特征[J].微处理机,1995(4)1-4.