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

举报
timerring 发表于 2022/12/05 18:36:20 2022/12/05
【摘要】 计算机的两种体系结构冯·诺依曼体系结构和哈佛体系结构 冯·诺依曼体系结构冯·诺依曼体系的特点数据与指令都存储在存储器中,程序执行效率不高被大多数计算机所采用,简单ARM7——冯诺依曼体系 哈佛体系结构哈佛体系结构的特点程序存储器与数据存储器分开提供了较大的数存储器带宽适合于数字信号处理大多数DSP都是哈佛结构ARM9是哈佛结构 两种指令集 – CISC和RISCARM是最成功也是第一个商业...

计算机的两种体系结构

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

冯·诺依曼体系结构

冯·诺依曼体系的特点

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

哈佛体系结构

image-20221201094434443

哈佛体系结构的特点

  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处理器执行一条指令一般需要多个时钟周期。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。