RISC&CISC的区别

来源:互联网 发布:同步带计算软件 编辑:程序博客网 时间:2024/05/16 09:48
      RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。 
    早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。今天只有Intel及其兼容CPU还在使用CISC架构。
    RISC架构要求软件来指定各个操作步骤。上面的例子如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。这种架构可以降低CPU的复杂性以及允许在同样的工艺水平下生产出功能更强大的CPU,但对于编译器的设计有更高的要求。

 

复杂指令集计算机(CISC)
为了软件编程方便和提高程序的运行速度,硬件工程师采用不断增加可实现复杂功能的指令和多种灵活的编址方式。使硬件越来越复杂,造价也相应提高。
每个指令可执行若干个低级操作,如从记忆体读取、储存、计算操作,全部集中在单一指令中。
特点:指令数目多而复杂,每条指令字长并不相等。
精简指令集计算机(RISC)
  指令系统只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言。成本低廉。
特点:指令数目少,每条指令都采用标准字长、执行时间短、CPU的实现细节,对于机器级程序是可见的等等。
常见的精简指令集微处理器包括AVR、PIC、ARM、DEC Alpha、PA-RISC、SPARC、MIPS、Power架构等。
CISC与RISC的区别
从硬件角度来看CISC必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作;而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快性能稳定。因此在并行处理方面RISC明显优于CISC。RISC可将一条指令分割成若干个进程或线程,交由多个处理器同时执行。
从软件角度来看,CISC拥有大量的应用程序;而RISC在DOS、Windows下运行需要一个翻译的过程,所以速度很慢。
目前CISC与RISC正在逐步走向融合,下一代的CPU将融合CISC与RISC两种技术,从软件与硬件方面看二者会取长补短。
原创粉丝点击