当前位置:在线查询网 > 在线百科全书查询 > RISC体系结构

RISC体系结构_在线百科全书查询


请输入要查询的词条内容:

RISC体系结构


说到ARM就不得不提RISC以及与其相对的CISC这两个概念。

CISC(complex instruction set computer)即复杂指令集,在20世纪90年代前被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。

一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。

为改变这种状况,1980年Patterson和Ditzel 两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISC I,这颗处理器远比当时已经相当流行的CISC处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。从此处理器设计方向便分别向着这两个大的方向发展。实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的CISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。而RISC思想最成功也是第一个商业化的实例就是ARM,当然,它也放弃了一些RISC特征而保留了一些CISC特征。

RISC和CISC在构架上有着几个不同的地方。

1)首先是指令集的设计上,RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)、且指令和寻址方式少而简单、大多数指令在一个周期内就可以执行完毕;CISC构架下的指令长度通常是可变的、指令类型也很多、一条指令通常要若干周期才可以执行完。由于指令集多少与复杂度上的差异,使RISC的处理器可以利用简单的硬件电路设计出指令解码(decode)功能,这样易于流水线的实现。相对的CISC则需要通过只读存储器里的微码来进行解码,CISC因为指令功能与指令参数变化较大,执行流水线作业时有较多的限制。

2)其次,RISC在结构设计上是一个载入/存储(load/store)的构架,只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC会设定多组的寄存器,并且指定特殊用途的寄存器。CISC构架则允许数据处理指令对存储器进行操作,对寄存器的要求相对不高。