RISC与CISC结构的区别与比较摘要:在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。本文主要论述二者的区别并在一些方面对这两种结构进行了比较。关键词:RISC结构CISC结构区别比较正文:1.RISC结构1.1RISC结构的出现与发展在20世纪90年代前CISC结构被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。为改变这种状况,1980年Patterson和Ditzel两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISCI,这颗处理器远比当时已经相当流行的CISC处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。从此处理器设计方向便分别向着这两个大的方向发展。实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的CISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。而RISC思想最成功也是第一个商业化的实例就是ARM,当然,它也放弃了一些RISC特征而保留了一些CISC特征。1.2RISC结构的特点1.RISC把微处理器能执行的指令数目减少到最低限度,以提高处理速度。RISC处理器比同等的CISC(复杂指令集计算机)处理器要快50%~75%,且RISC处理器容易设计和纠错。·2.RISC微处理器有更多的通用寄存器。写快速代码的最好方法是尽量增大执行芯片上操作的数目并尽量减少对内存中存储数据的访问。寄存器越多,就使得这个目标更易达到。访问寄存器几乎是瞬间就能完成的,而访问内存则需花费一些时间。Pentium仅有8个通用寄存器,而Powerpc芯片则有32个。·3.RISC微处理器采用调入存储体系结构。对内存中的数据进行操作的CPU指令—如,整数add指令,把x加到y上,其中,y是存储在内存中的一个值—是最费时钟周期的。另外,这些指令的实现也需要数目不合乎比例的晶体管。RISC的设计最大程度地减少访问内存的指令数量,而选用一种调人存储体系结构,这种结构要求先将y调人寄存器中,然后加x,最后“存储”回内存中去。·4.RISC微处理器采用统一的指令长度。在pentium上,一条指令的长度可以从1字节到7字节不等(如果是在16位段上运行32位代码,则最大指令长度会超过7)。而RISC的设计人员却喜欢让所有的指令等长—通常是32位。这样可以简化取指令和译码的逻辑电路,并且还意味着全部指令可被限制在32位的内存中访问。·5.RISC微处理器强调浮点功能。传统上,RISC机器主要用于科技界,相应的应用程序比起单纯的字处理软件或是电子表格来说需做更多的浮点运算。所以,RISC微处理器几乎总是带有内置式的高性能浮点运算部件。只是最近Intel的全系列pentium芯片包含了一个数学协处理器,并且整数运算仍被认为是pentium的强项。2.CISC结构2.1CISC结构的出现与发展CISC的英文全称为“ComplexInstructionSetComputer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿续到现在。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(IntelArchitecture,英特尔架构)为主,而且多数为中低档服务器所采用。3.RISC结构与CISC结构的比较与CISC相比较,RISC有三大优势:a)基于RISC体系结构设计的处理器管芯面积小。处理器的简单使得需要的晶体管减少和实现的硅片面积减小,节省了更大面积可集成更多的功能部件,并且也使以RISCCPU为核心的SoC(片上系统)上实现一个应用系统的基本功能成为可能。b)开发时间短,开发成本低。处理器组织、结构的简单会使设计人员减少、设计费用降低。c)容易实现高性能。RISC体系结构的简单性、有效性很容易设计出低成本、高性能的处理器。CISC与RISC特性的比较见表1。4.两种结构的现状现在像AMD、Cyrix和NexGen这样的芯片制造商混淆了CISC和RISC的界线,这是因为它们把RISC样的特征融进了它们自己的pentium仿制品中。例如NexGen的Nx586和AMD的5K均使用同一长度的指令一一这同Intel已经推出的PeuitumrPro芯片一样。内部指令集采用调入/存储体系结构,从而限制了执行内存访问的指令数量。NexGen和AMD芯片厂商还宣称Pentium有限的寄存器可用性(这对芯片同时在其两个流水线中执行指令的能力有不利的影响)已分别实现为22个和40个寄存器。所以现存的用于x86的软件可以访问所有的寄存器,芯片使用一种所谓的寄存器重命名机制动态地将“看得见”的寄存器映像到寄存器组的其它寄存器上。RISC和CISC微处理器之间的差别已经不再只是指令集的不同,而是芯片体系结构的不同了。RISC和CISC的设计也已背离了原来的方案,真正要考虑的是对于给定的指令芯片到底能执行得多快,`以及对现存软件的执行效果有多好。这些日子,RISC和CISC的制造商们都在竭尽全力,以求能在竞争中取得优势。5.结语随着计算机技术的日渐进步,这两种结构之间的界限越来越不明显,而更多的芯片厂商也在着手研发新的结合两者优点的芯片。参考文献:【1】徐东刘志军王立华.32位RISC结构体系的性能优势(M).电子工程师.2006.8【2】JeffPorisseRISC与CISC的实际区别.PC技术.1996.1