计算机组成与架构综述学习报告

计算机组成与架构综述学习报告

计算机系统的指令集ISA的演进过程是怎样的?

第一阶段关键词:集成电路、CISC、432、8086、IBM PC

集成电路在摩尔定律的预言下快速发展,使得CPU的控制单元的存储空间变大,从而能实现更复杂的指令集(CISC)。戈登·摩尔(因特尔的创始人之一)启动了iAPX-432项目,并在上面投入了大量的人力物力,对其寄予厚望,希望该指令集延续英特尔的一生。但其存在严重的性能问题,最终在1986年停止使用。与此同时,由于该项目未能在指定时间按时交付,Intel给了新团队52周的时间来开发新的ISA用于交付,于1978年推出大名鼎鼎的"8086"。8086在三年后为IBM所选用,之后Intel与微软公司结成了所谓的Windows-Intel(Wintel)商业联盟,垄断了个人计算机软硬件平台至今几十年获得了丰厚的利润,x86架构也因此几乎成为了个人计算机的标准处理器架构。

第二阶段关键词:从CISC到RISC

CISC不仅包含了处理器常用的指令,还包含了许多不常用的特殊指令。其指令数目比较多,所以称为复杂指令集。RISC仅包含处理器常用的指令,而对于不常用的操作,则通过执行多条常用指令的方式来达到同样的效果。由于其指令数目比较精简,所以称为精简指令集。CPU诞生的早期,CISC曾是主流,因为它可以使用较少的指令完成较多的操作。但是随着指令集的发展,越来越多的特殊指令被添加到CISC指令集中,CISC的很多缺点开始暴露出来,如:

  • 典型程序的运算过程中所使用到的80%指令,只占所有指令类型的20%,即CISC指令集定义的指令,只有20%被经常用到,而有80%则很少被用到。
  • 那些很少被用到的特殊指令尤其让CPU设计变得极为复杂,大大增加了硬件设计的时间成本与面积开销。

在使用RISC后专家发现,程序运行速度显著快于基于CISC的CPU,由于上述原因,自RISC诞生之后,基本上所有现代指令集架构都选择使用RISC架构。

第三阶段关键词:VLIW EPIC Itanium

VLIW:(Very Long Instruction Word)超长指令字是一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。超长指令字(VLIW)是指令级并行,超线程是线程级并行,而多内核则是芯片级并行。这三种方式都是提高并行计算性能的有效途径。其中,VLIW(超长指令字)体系结构是美国Multiflow和Cydrome公司于20世纪80年代设计的体系结构,EPIC体系结构就是从VLIW中衍生出来的,与RISC的优化思路一样,VLIW和EPIC都是将工作从硬件转移到了编译器上。其中第一个EPIC处理器被命名为Itanium,但现实是事与愿违的,Itanium对编译器的要求太高了,实现不了,项目夭折了。最终还是64bit的X86而非Itanium接替了32bit的X86。

VLIW在CPU领域算是失败的,但却在DSP领域获得了成功。根本原因是DSP特殊的应用场景正好发挥了VLIW结构的优势,避开了它的短处。由于数字信号处理领域的算法比较单一稳定,同时是运算密集型程序,并不需要通用场景下的实时控制。并且其程序运行有严格的时间要求,cache这种不可控时间的结构就不适合了,通常采用固定周期的TCM作为缓存,这样内存访问时间就固定了。有了上述的特征,静态编译在通用场合下面临的那些困难就不存在了,而其更高效的并行运算能力和简化的硬件结构被完全发挥出来。

第四阶段关键词:PC与后PC时代RISC与CISC的较量

虽然自RISC提出以来,RISC已经取代CISC成为现代指令集架构的主流,但是,由于Intel公司的巨大成功与维护软件的向后兼容性,x86作为一种CISC的架构被一直保留下来。事实上,Intel公司通过内部“微码化”的方法克服掉了CISC架构的部分缺点,加上Intel高超的CPU设计水平与工艺制造水平,使得x86处理器在PC时代一直保持着旺盛的战斗力,不断刷新个人计算机处理器芯片性能的极限。所谓“微码化”是指将复杂的CISC指令先用硬件解码器翻译成对应的内部简单指令(微码)序列,然后送给处理器流水执行的方法。但是额外的硬件解码器同样也为带来额外的复杂度与面积开销,这是x86架构作为一种CISC架构不得不付出的代价。

2007年,苹果借助iPhone推动了后PC时代的到来。智能手机公司使用其他公司的设计构建自己的系统而非直接购买微处理器,移动设备设计人员重视芯片面积、能效与性能,这对CISC指令集架构不利。自2011年的峰值以来,x86的出货量每年下降了近10%,而带有RISC处理器的芯片的数量飙升至200亿。如今,99%的32位和64位的处理器都是RISC指令集架构。CISC赢得了PC时代的后期阶段,而RISC赢得了后PC时代。

当前以冯诺依曼为基础的计算机体系结构面临着哪些挑战?

遇到的挑战主要为摩尔定律和登纳德缩放定律的失效。摩尔定律已经持续了几十年,但它在2000年左右开始放缓,到了 2018 年,实际结果与摩尔定律的预测相差了15倍,之后这一差距还将持续增大,因为CMOS工艺已经接近极限。

与摩尔定律相伴的是由罗伯特·登纳德预测的登纳德缩放定律;Robert Dennard 在 1974 年提出,晶体管不断变小,但芯片的功率密度不变。随着晶体管密度的增加,每个晶体管的能耗将降低,因此硅芯片上每平方毫米上的能耗几乎保持恒定。登纳德缩放定律从 2007 年开始大幅放缓,大概在2012 年接近失效。1986年至2002年间,使用指令级并行(ILP)是提高架构性能的主要方法,为了充分利用流水线,需要预测分支,并根据推测将代码放入流水线以便执行。如果分支预测达到完美推测就能提高ILP性能,如果分支预测出现失误,计算所耗能量就会被浪费。在测试后大家发现分支预测导致能量浪费情况更加严重,于是架构师需要一种不同的方法来实现性能改进,于是迎来了多核时代。

多核并未解决节能的挑战,而这种挑战因登纳德缩放定律终结更加严峻。每个活跃的核都会消耗能量,无论其对计算是否有有效贡献。应用多核处理的一个主要的障碍为在并行计算中用多处理器的应用加速受限于程序所需的串行时间百分比。如果程序所需的串行时间过长,那么被浪费的能量也是巨大的。此外多核处理器还受限于热耗散功率(TDP),即封装和冷却系统在最大负载时的驱散热量的最大限度。

登纳德缩放定律的结束,摩尔定律放缓以及阿姆达尔定律正当其时,意味着低效性将每年的性能改进限制在几个百分点。想要获得高的性能改进就需要新的架构方法,新方法应当能更加高效地利用集成电路。

目前处理器面临的安全性有哪些方面的问题?

推测分支功能给许多处理器带来了未知但明显的安全缺陷,Meltdown和Spectre安全漏洞利用体系结构中的漏洞与硬件的缺陷导致受保护信息泄露,这两种漏洞都使用了旁路攻击。2018 年,研究者展示了在攻击者不将代码加载到目标处理器的情况下,如何利用 Spectre 变体导致网络信息泄露。尽管这次名为NetSpectre的攻击泄露信息速度较慢,但它会使同一局域网中的所有机器都受到攻击,这会产生许多新的漏洞。

处理器架构师如何定义什么是正确的ISA是一个源头的难题,因为标准中并未说明执行指令序列的性能影响。架构师需要重新思考ISA正确实现的定义,以避免类似的安全漏洞。

计算机体系结构未来的发展趋势

为通用计算设计的微处理器效率注定较低,再加上登纳德缩放定律和摩尔定律走向终结,所以处理器架构师和设计师们很有可能再也无法让通用处理器的性能以之前那样的速度继续大幅提高。是否有其他有潜力的方案呢?

执行性能优化:现代软件的编写中大量使用了高级语言,但这些语言的编译和执行是非常低效的。Leiserson 等人用矩阵乘法的小例子说明了这种低效性,一个运行在英特尔多核处理器上的、经过高度优化过的程序可以比最初的 Python 版本快超过6万倍。所以我们可以考虑其中的一些性能差异是否可以用更好的编译器技术来补上,同时也搭配一些计算架构的改进。虽然高效的语言翻译确实有很大困难,但潜在的性能收益也是巨大的。

设计专用硬件:该方案更加以硬件为中心,为某个特定的领域问题设计专用的的计算架构,从而为这些问题带来显著的性能提升。DSA[domain-specific architectures]描述的就是这种为特定的领域问题而专门定制设计的处理器,它们可编程,但只适用于特定的某一类问题。DSA可以达到高得多的性能表现和高的多的能量效率是由于以下四个原因:

  1. DSA可以为具体的领域问题采用更为高效的并行计算设计,如SIMD就比MIMD效率高得多,因为它只需要获取一条指令流就可以让处理单元在锁定步骤内执行运算。
  2. DSA可以更高效地利用不同层次的存储器,因为读写存储器的能耗已经远大于运算的能耗了,因为这种差异的存在,所以要达到高的能源效率,优化存储器的读写就至关重要。
  3. 在适当的时候,DSA可以用更低的精度做运算。因为对于机器学习或图形领域的许多应用来说,通用计算CPU支持的32位和64位整形及浮点数据运算都高于实际需求了。
  4. 如果程序是用领域专用语言(DSL)编写的,由于语言本身对并行化有更好的支持,DSA 也就可以从中受益。这改进了存储器读取的结构和表示,也可以更容易地把应用程序映射到一个领域专用的处理器上去。

领域专用语言:DSA 需要把编程语言中的高级操作对应到硬件架构上去,但若想从Python、C这样的为通用计算设计的语言提取出这样的结构和信息实在有点难,领域专用语言(DSL)让这个过程变得可以实现,而且也让我们有机会高效地为 DSA 编程。

使用DSL的时候也有挑战,就是如何让硬件架构设计保持足够的独立性,这样在一种DSL编写的软件可以迁移到不同的硬件架构,同时把软件映射到下方的DSA的时候还能保持足够高的效率,这是一个有意思的科研挑战。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
计算机组成与设计是一门学科,专门研究计算机的硬件组成和设计原理。而基于RISC-V架构计算机组成与设计则是以RISC-V(Reduced Instruction Set Computer - V)指令集架构为基础的计算机硬件设计课程。 RISC-V是一种开源的指令集架构,它具有精简、清晰的特点,便于教学和研究使用。在计算机组成与设计课程中,基于RISC-V架构进行教学有以下优点: 首先,RISC-V是一个相对简单的指令集架构,具有较小的指令集和规范。学生能够更容易理解和分析RISC-V的指令和硬件设计,从而更好地掌握计算机组成原理。 其次,RISC-V具有开源的特点,学生可以更加方便地获取RISC-V的指令集和参考实现,并可以进行自主的实践和创新。这有利于培养学生的实践能力和创新意识。 再次,基于RISC-V架构进行计算机组成与设计的教学可以培养学生的系统思维和综合能力。学生需要理解和设计RISC-V的处理器结构、指令流水线、存储体系结构等多个硬件模块,从而能够综合运用所学知识进行高效的系统设计。 最后,基于RISC-V架构计算机组成与设计课程还能更好地引导学生学习并掌握现代计算机体系结构的原理和设计方法。通过学习和实践,学生能够理解计算机的指令执行原理、流水线设计、超标量和乱序执行等先进的计算机体系结构。 综上所述,基于RISC-V架构计算机组成与设计课程可以提供一个开放、简洁和实践的教学环境,有助于培养学生的硬件设计能力、系统思维和创新意识。这门课程对于计算机专业学生的专业知识学习和综合能力培养具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日拱一卒_未来可期

若复习顺利望有闲钱的同学支持下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值