您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > CISC处理器和RISC处理器简介
CISC处理器和RISC处理器简介在过去相当长的一段时间里,计算机性能的提高往往是通过不断增加系统硬件的复杂性来实现的。但是,随着集成电路技术的迅速发展,特别是超大规模集成电路(VLSI)技术的发展,为了提高软件编程的灵活性和提高程序的运行速度,硬件工程师采用的办法是:不断增加可实现复杂功能的指令和多种灵活的编址方式,这样做的直接后果是硬件越来越复杂,硬件设计成本越来越高。此外,为实现复杂操作,微处理器除了向程序员提供各种寄存器和机器指令功能外,还采用了微程序设计的方法,即将指令功能分解成微操作,将微操作进行编码,然后将编码存入程序ROM中,微命令经过译码后就可以完成相应的功能。这一设计思路在一定程度上可以降低电路的复杂性,同时也有利于产品的更新换代,但缺点是微命令的实现速度较慢。这种设计的形式被称为复杂指令集计算机(ComplexInstructionSetComputer,CISC)结构,常见的X86就是CISC结构的处理器。因此,传统处理器设计上曾面临速度、复杂性、设计周期以及产品更新换代等的矛盾。当计算机的设计沿着这条道路发展时,面对这些问题,有些人开始怀疑这种传统处理器设计做法,重新审视了处理器的设计过程,试图从设计理念上找到解决问题的方法。IBM公司设在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量对指令系统进行了大量研究。结果表明,软件中大部分的指令为简单指令,约占80%左右,但是这部分简单指令的运行时间占总运行时间的20%左右;软件中复杂指令只占一小部分,占20%左右,但是这部分复杂指令的运行时间却占了总处理器运行时间的80%左右。因此,人们得出的结论是:从指令集中去掉复杂指令,而复杂指令的功能由软件来实现,这样可以简化电路设计,同时去掉微程序设计,采用硬连控制的方法来进一步提高处理器的运行速度。但是这其中涉及一个问题:复杂指令功能由软件实现能真正提高处理器的速度吗?答案是肯定的。因为程序中对复杂指令的使用频率较低,简单指令有利于流水线的执行,由于去掉了存储微程序的ROM,所以可以简化电路,从而节省集成电路芯片的面积,这部分面积可以用来增加Cache的容量,从而使处理器的速度得到明显的提高。因此,针对CISC的这些弊病,有人提出了精简指令的设想,即只保留指令系统中那些使用频率很高的少量指令,同时提供一些必要的指令用以支持操作系统和高级语言。按照这个原则发展而成的计算机被称为精简指令集计算机(ReducedInstructionSetComputer,RISC)结构。现在的ARM处理器就是RISC结构的处理器。RISC处理器的基本特征如下。简单固定的指令格式:指令长度固定。大多数RISC处理器指令长度一般设定在总线宽度以内,尽量保证取指令码在一个总线周期完成,避免了多周期取指造成的流水线阻塞,同时指令长度无须译码,这样简化了译码电路并节省了指令长度译码时间。指令字段位置固定。指令意义简单。功能单一,简化硬件逻辑。大容量高速缓存1。缓存更多的指令和数据,减少访存次数。流水线技术。尽量使指令在单周期执行完成,避免流水线阻塞,RISC的设计思想更利于指令按流水线方式的运行。大量寄存器。尽量保证上下文切换尽可能在寄存器中完成。硬连控制。以简化的指令集为基础,提高指令执行速度。1关于高速缓存的知识,如果读者不是很熟悉的话,可以略过此部分,本书后面扩展阅读部分会有详细的解释。同时,高速缓存的原理和结构不在本书讨论范围内,读者可以根据自己的实际情况有选择地阅读。采用存取式体系结构(Load/Store结构)。仅专门的访存指令才允许访存,避免执行周期访存造成的流水线阻塞。哈佛(Harvard)总线结构。采用相互分离的ICache和DCache,利用双总线动态访问机构,使数据存取和指令预取可以并行。重叠寄存器窗口技术。将大量寄存器分成多个重叠寄存器窗口,用以在执行高级语言程序中的过程调用和返回时直接传递参数,减少了调用和返回时访问主存所消耗的时间。优化编译技术。按照指令执行速度的快慢以及CPU的流水线深度等合理调整指令顺序,使CPU最大限度地让流水线并行执行。请读者注意,上面列出的特征并不是每一款RISC处理器都具备的,对某一款特定的RISC处理器来说,可能会注重某几个方面的特征。到此为止,读者可能会理解为什么ARM处理器有37个寄存器,其实ARM处理器也是一款RISC处理器,因此会有较多的寄存器。
本文标题:CISC处理器和RISC处理器简介
链接地址:https://www.777doc.com/doc-2905889 .html