指令系统的变化及发展

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机指令系统的变化及发展[摘要]指令系统是计算机体系结构最基本的特征。早期,人们采用微程序设计技术让指令系统变得日趋复杂,后来逐渐认识到这种复杂指令系统计算机(CISC)并不能很好的提高系统性能,于是设计师们提出了精简指令系统计算机(RISC)体系结构,并在一个芯片上实现了CPU。随着RISC微处理器迅速发展,人们又发现RISC指令系统并不能充分实现指令级并行处理,从而影响了计算机性能的进一步提高,又出现了超长指令字(VLIW)计算机指令系统。[关键词]指令系统RISCVLIW0、引言指令系统是指机器所具有的全部指令的集合,它反映了计算机所拥有的基本功能。在计算机系统的设计和使用过程中,硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制各种各样的系统软件和应用软件,用这些软件来填补硬件的指令系统与人们习惯的使用方式之间的语义差距。因此,可以说,指令系统是软件设计人员与硬件设计人员之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。在计算机系统的设计过程中,指令系统的设计是非常关键的,它必须由软件设计人员与硬件设计人员来共同完成。设计指令系统就是要选择计算机系统中的一些基本操作(包括操作系统和高级语言中的)应由硬件实现还是由软件实现,选择某些复杂操作是由一条专用的指令实现,还是由一串基本指令实现,然后具体确定指令系统的指令格式、类型、操作以及对操作数的访问方式。1、复杂指令系统(CISC)1.1CISC的产生早期的计算机,存储器是一个很昂贵的资源,因此希望指令系统能支持生成最短的程序。此外,还希望程序执行时所需访问的程序和数据位的总数越少越好。在微程序出现后,将以前由一串指令所完成的功能移到了微代码中,从而改进了代码密度。此外,它也避免了从主存取指令的较慢动作,从而提高执行效率。在微代码中实现功能的另一论点是:这些功能能较好的支持编译程序。如果一条高级语言的语句能被转换成一条机器语言指令,这可使编译软件的编写变得非常容易。此外,在机器语言中含有类似高级语言的语句指令,便能使机器语言与高级语言的间隙减少。这种发展趋向导致了复杂指令系统(CISC)设计风格的形成,即认为计算机性能的提高主要依靠增加指令复杂性及其功能来获取。1.2CISC的主要特点CISC指令系统的主要特点是:(1)指令系统复杂。具体表现在以下几个方面:①指令数多,一般大于100条。②寻址方式多,一般大于4种。③指令格式多,一般大于4种。(2)绝大多数指令需要多个机器时钟周期方可执行完毕。(3)各种指令都可以访问存储器。1.3CISC存在的问题CISC指令系统主要存在如下三方面的问题:(1)CISC中各种指令的使用频度相差很悬殊,大量的统计数字表明,大约有20%的指令使用频度比较高,占据了80%的处理机时间。换句话说,有80%的指令只在20%的处理机运行时间内才被用到。(2)VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。在单芯片处理机内,希望采用规整的硬布线控制逻辑,不希望用微程序。而在CISC处理机中,大量使用微程序技术以实现复杂的指令系统,给VLSI工艺造成很大困难。(3)虽然复杂指令简化了目标程序,缩小了高级语言与机器指令之间的语义差距,然而增加了硬件的复杂程度,会使指令的执行周期大大加大,从而有可能使整个程序的执行时间反而增加。2、精简指令系统(RISC)2.1RISC的产生由于CISC技术在发展中出现了问题,计算机系统结构设计的先驱者们尝试从另一条途径来支持高级语言及适应VLSI技术特点。1975年IBM公司JohnCocke提出了精简指令系统的设想。到了1979年,美国加州大学伯克莱分校由Patterson教授领导的研究组,首先提出了RISC这一术语,并先后研制了RISC-É和RISC-Ê计算机。1981年美国的斯坦福大学在Hennessy教授领导下的研究小组研制了MIPSRISC计算机,强调高效的流水和采用编译方法进行流水调度,使得RISC技术设计风格得到很大补充和发展。2.2RISC的主要特点90年代初,IEEE的MichaelSlater对于RISC的定义作了如下描述:RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。RISC为使流水线高效率执行,应具有下述特征:[2](1)简单而统一格式的指令译码;(2)大部分指令可以单周期执行完成;(3)只有LOAD和STORE指令可以访问存储器;(4)简单的寻址方式;(5)采用延迟转移技术;(6)采用LOAD延迟技术。RISC为使优化编译器便于生成优化代码,应具有下述特征:(1)三地址指令格式;(2)较多的寄存器;(3)对称的指令格式。2.3RISC的关键技术(1)延时转移技术在转移指令之后插入了一条有效的指令,而转移指令好像被延迟执行了,因此,把这种技术称为延迟转移技术。采用指令延迟转移技术时,指令系列的调整由编译器自动进行,一般不需要人来干预。(2)指令取消技术采用指令延时技术,遇到条件转移指令时,调整指令系列非常困难,在许多情况下找不到可以用来调整的指令。有些RISC处理机采用指令取消技术,在使用指令取消技术的处理机中,所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。(3)重叠寄存器窗口技术基本思想是在处理机中设置一个数量比较大的寄存器堆,并把它划分成很多窗口。每个过程使用其中相邻的三个窗口和一个公共的窗口,而在这些窗口中有一个窗口是与前一个过程共用,还有一个窗口是与下一个过程共用的。与前一过程共用的窗口可以用来存放前一过程传送给本过程的参数,同时也存放本过程传送给前一过程的计算结果。同样,与下一过程共用的窗口可以用来存放本过程传送给下一过程的参数和存放下一过程传送给本过程的计算结果。(4)指令流调整技术为了使RISC处理机中的指令流水线高效率的工作,尽量不断流,优化编译器必须分析程序的数据流和控制流。当发现指令流有断流可能时,要调整指令列对有些可以通过变量重新命名来消除的数据相关,要尽量消除。这样,可以提高流水线的执行效率,缩短程序的执行时间。(5)硬件为主固件为辅指令系统用微程序实现的主要优点是:便于实现复杂指令,便于修改指令系统,增加了机器的灵活性和适应性。主要缺点是:执行速度低。RISC要求主要指令能在单周期内执行完成,采用微程序技术是不可能做到的。因此,RISC必须主要采用硬连逻辑来实现指令系统。对于那些必须的复杂指令,也可用固件(微程序技术)实现。因此,目前商用的RISC处理机在实现指令系统时,一般都采用以硬件为主固件为辅的方法。2.4RISC存在的主要问题RISC的主要问题是编译后生成的目标代码较长,占用了较多的存储器空间。但由于半导体集成技术的发展,使得RAM芯片集成度不断提高和成本不断下降,目标代码较长已不成为主要问题。RISC技术存在另一个潜在缺点是对编译器要求较高,除了常规优化方法外,还要进行指令顺序调度,甚至能替代通常流水线中所需的硬件联锁功能。3、超长指令字(VLIW)3.1VLIW的产生80年代后期以来,RISC微处理器迅速发展,广泛采用了超标量和超流水线等指令级并行处理技术。但是人们又发现早期的RISC指令系统并不能充分实现指令级并行处理,从而影响了计算机性能的进一步提高。1983年美国教授J.Fisher受水平微代码思想的启示,提出了VLIW(超长指令字)体系结构。VLIW指令系统的设计思想与水平微码类似。VLIW机器具有较长的机器指令字,机器指令字具有固定的格式(一种或者多种),每条指令字中包含着多个独立的字段,字段中的操作码被送往不同的功能部件。3.2VLIW的主要特点(1)具有较长的机器指令字,一般为128位甚至上千位。机器指令字具有固定的格式,并且被划分成多个控制字段,每个字段可以直接独立的控制相应的功能部件。一条指令字可以填入多个独立的并行操作,为了与通常的机器区别,我们称这种操作为算子,把按照机器指令字格式将算子组成超长指令字的过程称为拼装。超长指令字中的多个可并行执行的算子的调度和拼装是由编译器来完成的。(2)含有大量的数据通路和多个可以并行的运算部件,由于数据相关和资源相关性是通过编译器来进行处理,因此硬件本身具有较简单的控制逻辑。(3)控制部件每个周期启动一条机器指令,但同时发射其中的一条或多条算子。其并发操作主要是在流水的执行阶段进行的。(4)用大量的全局共享寄存器,存储单元,寄存器堆来连接多个功能部件。VLIW的指令系统,包括指令字长、指令格式、指令字段定义及指令操作等,都与处理器的结构紧密相关。而指令格式的设计总是在当前体系结构基础上,尽量减少指令字冗余信息,同时最大限度的提供指令并行度。3.3VLIW存在的主要问题VLIW的主要问题是编译后生成的目标代码长,占用了更多的存储器空间;对编译器要求更高。4、总结总之,计算机指令系统的发展经历了从简单到复杂,然后又从复杂到简单的演变过程,好像一个钟摆,从一个方向摆向另一个方向,接着又向回摆。参考文献[1]郑纬名,汤志忠.计算机系统结构(第二版)[M].北京:清华大学出版社,2004.[2]陆鑫达.计算机系统结构[M].北京:高等教育出版社,2005.[3]傅麒麟,徐勇.现代计算机体系结构教程[M].北京:北京希望电子出版社,2002.

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功