计算机两种体系结构及指令集

时间:2022-12-05 18:57:21

计算机的两种体系结构

冯·诺依曼体系结构和哈佛体系结构

冯·诺依曼体系结构

计算机两种体系结构及指令集

冯·诺依曼体系的特点

  1. 数据与指令都存储在存储器中,程序执行效率不高
  2. 被大多数计算机所采用,简单
  3. ARM7——冯诺依曼体系

哈佛体系结构

计算机两种体系结构及指令集

哈佛体系结构的特点

  1. 程序存储器与数据存储器分开
  2. 提供了较大的数存储器带宽
  3. 适合于数字信号处理
  4. 大多数DSP都是哈佛结构
  5. ARM9是哈佛结构

两种指令集 -- CISC和RISC

ARM是最成功也是第一个商业化的RISC。也是目前使用最广的基于RISC的处理器。

(一) CISC指令集

1980年以前,计算机设计的主要趋势是增加指令集的复杂程度,如:40年代的计算机只有7条指令,1973年的IBM370达到208种指令,1978年的VAX-11达到303条指令。指令过于复杂,机器的设计周期会很长,资金耗费会更大,处理器的设计、验证和维护日益复杂,芯片的面积越来越大,这些表明CISC不适宜构成更高性能的计算机。计算机大量的时间在进行数据搬移,而不是计算。

CISC指令集的主要缺点
  • 20%与80%的问题:20%的简单指令如取数、运算和转移等占用了CPU执行时间80%以上,而80%的复杂指令仅占了CPU执行时间的20%左右。
  • 指令复杂度对处理器的VLSI实现性能的影响:在计算机体系结构的VLSI实现时,为了达到更高的实现性能,要求VLSI实现的规整性,而CISC中,指令长短不一,控制逻辑的实现非常不规整,致使执行速度的进一步提高比较困难。
  • 软硬件协同设计问题:在CISC中,通过增加指令系统的功能,简化了目标软件的设计,增加了硬件的复杂程度,同时增加了指令的执行时间,从而整个程序执行的时间增加。因此CISC降低了编程的复杂性,并不意味着缩短程序的执行时间。这里有个软硬件协同设计问题。

(二)RISC指令集

1980年,Patterson和Ditzel提出了RISC的设计思想。

RISC的中心思想是: 精简指令集的复杂度,简化指令实现的硬件设计,硬件只执行很有限的最常用的那部分指令,大部分复杂的操作则由简单指令合成。

RISC思想大幅度提高了计算机的性能价格比,包括ARM在内的商业化的RISC设计证明了这种思路的正确性。一般来说,RISC处理器比同等的CISC处理器要快50%~75%,同时,RISC处理器更容易设计和实现。

RISC指令集的特点:
  • 指令效率高:指令格式和长度固定,且指令类型少,指令功能简单,指令译码控制器采用硬布线逻辑,这样易于流水线的实现,进而获得高性能。大多数指令都是单周期指令。
  • 程序的优化编译效率高:由于RISC指令系统强调了对称、均匀、简单,使得程序的优化编译效率高。
  • 分开的Load/Store结构的存取指令:也只有这两条指令访问存储器,而数据处理指令只访问寄存器。而CISC一般允许将存储器中的数据作为数据处理指令的操作数。
  • 基于多个通用寄存器堆操作:RISC寄存器较多,并且不同的寄存器用于不同的用途。

RISC体系结构的这些特点简化了处理器的设计,在体系结构的VLSI实现时更加有利于性能的增强。

RISC技术的历史贡献:
  • 流水线:流水线是处理器中实现指令并行操作的最简单的方式,而且可使速度大为提高。
  • 高时钟频率和单周期执行:由于RISC指令系统强调了对称、均匀、简单,使得程序的优化编译效率高。
RISC的缺点:
  • 代码密度低:RISC比CISC代码密度低。
  • RISC不能执行x86代码。
  • 给优化编译程序带来了困难。

RISC组织结构比CISC结构有着显著的优点,主要表现在体系结构及VLSI实现上:

  • 硬连线的指令译码逻辑; RISC指令集的简单性使得指令译码可以采取规则的译码逻辑,CISC处理器使用大的微码ROM进行指令译码,硬布线控制逻辑可以加快指令执行速度,减少微程序码中的指令解释开销。
  • 便于流水线执行; RISC指令集的简单性也使得流水线实现更加有效,CISC处理器即使有也只允许极少的连续指令间的重叠(尽管它们现在允许)。
  • 单周期执行; CISC处理器执行一条指令一般需要多个时钟周期。