基于STM32的嵌入式系统应用
上QQ阅读APP看书,第一时间看更新

1.2 精简指令集计算机与复杂指令集计算机

学习嵌入式系统,必须要提到两组与电子计算机架构和体系结构相关的概念,一组是精简指令集计算机(Reduced Instruction Set Computer,RISC)和复杂指令集计算机(Complex Instruction Set Computer,CISC),另一组是普林斯顿结构和哈佛结构。我们首先来了解一下RISC和CISC。

RISC和CISC是当前微处理器使用的两种基本架构,它们的区别在于使用了不同的CPU设计理念和方法。

顾名思义,采用复杂指令集的处理器结构比较复杂,指令系统比较丰富,有专用指令来完成特定的运算,因此处理复杂运算的效率较高。但由于CISC处理器的结构复杂,带来的副作用是价格和功耗较高。典型的CISC处理器包括英特尔的X86架构处理器以及8051单片机。

在CISC处理器中,各种指令的使用率相差悬殊,一个典型程序运算所使用的80%的指令往往只占到整个处理器指令系统的20%,在实际运行中使用最频繁的是存取指令和加法指令等简单指令。CISC处理器的复杂结构只是为了少数使用率不高的复杂运算指令服务,这显然是不划算的,于是RISC处理器应运而生。

同样从字面理解,采用精简指令集的处理器结构比较简单,对应的指令较少,容易实现单周期指令,适合处理简单的数学和逻辑运算。RISC把主要精力放在那些经常使用的指令上,尽量使它们简单高效。对不常用的复杂运算,通常采用指令组合来完成,因此在RISC处理器中进行复杂运算时效率可能较低,但可以利用流水线技术加以弥补。

从硬件角度来看,CISC处理的是不等长指令集,它必须对不等长指令进行分割,在执行单一指令的时候需要进行较多的处理工作;而RISC执行的是等长指令集,CPU在执行指令的时候速度较快且性能稳定。在并行处理方面,RISC明显优于CISC,RISC可同时执行多条指令,将一条指令分割成若干个进程或线程,交由多个处理器同时执行。

由于RISC执行的是精简指令集,对应的处理器硬件结构相对而言复杂度不高,所以它的制造工艺简单且成本相对低廉。

目前CISC与RISC正在逐步走向融合,Pentium Pro芯片就是一个最典型的例子,它的内核基于RISC架构,处理器在运行CISC指令时将其分解成RISC指令,以便在同一时间内能够执行多条指令。