CA-Chapter3Homework

Molaters Lv5

[[CA-NotesView]]

  1. 简述流水线技术的特点

流水线技术的特点是将一个处理过程分解为若干个子过程,并由专门的功能部件来实现。这样可以将一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高处理的吞吐率。流水线中各个子过程的时间应尽可能相等,以避免引起流水线的堵塞和断流。

  1. 简述通过软件(编译器)来减少分支延迟的三种方法。这些方法的特点是什么?

通过软件(编译器)来减少分支延迟的三种方法是:

1. 静态预测:编译器在编译阶段对代码分支进行预测,根据预测的结果进行代码优化。如果预测成功,执行正确的代码路径;如果预测失败,采取紧急措施来最小化预测失败的影响。静态预测的特点是在编译时就确定了分支的走向,适用于分支预测比较简单的情况。

2. 动态预测:编译器在运行时根据程序的执行情况动态地预测分支的结果。动态预测可以根据历史的执行情况和统计数据来进行预测,提高预测的准确性。动态预测的特点是能够根据程序的实际执行情况来优化分支,适用于分支预测较为复杂、难以静态确定的情况

3. 分支延迟:通过将分支的执行延迟到后续代码执行阶段来减少分支延迟。编译器将分支的计算和分支的结果保存到其他寄存器中,延迟执行分支的代码,以便尽可能多地执行其他指令。分支延迟的特点是通过重排指令的执行顺序来减少分支造成的延迟,适用于无法准确预测分支结果的情况。
这些方法的特点是:静态预测在编译时预测分支走向,动态预测在运行时根据实际情况预测分支走向,分支延迟通过重排指令来减少分支延迟。静态预测适合简单的分支预测,动态预测适合复杂的分支预测,分支延迟适合无法准确预测分支结果的情况。这些方法都旨在减少分支延迟,提高程序的执行效率和性能。

  1. 简述延迟分支方法的三种调度策略的优缺点

三种调度策略包括:静态延迟分支、动态延迟分支和退化延迟分支。

  1. 静态延迟分支:

优点:在编译期间确定分支目标,可以利用编译器的静态分析技术进行优化,减少分支预测错误的概率。

缺点:无法适应程序运行时动态变化的分支行为,对于复杂的分支结构预测效果不佳。

  1. 动态延迟分支:

优点:根据程序在运行时的分支行为动态地进行分支目标的预测,可以适应程序运行时的变化,提高分支预测准确率。

缺点:预测分支目标需要额外的硬件支持,增加了成本和功耗,并且预测错误时会带来额外的处理开销。

  1. 退化延迟分支:

优点:降低了对分支预测的依赖,通过将分支延迟到后面的指令中执行来避免预测失败的开销。

缺点:不能适应高度动态的分支行为,指令执行顺序被限制,可能导致性能损失,特别是在分支频繁的情况下。

  1. 在一条流水线多操作部件的处理机上执行下面的程序,取指令、指令译码各自需要一个时钟周期,MOVE/ADD/MUL操作个需要2个,3个和4个时钟周期。每个操作都在第一个时钟周期从通用寄存器种读取操作数,在最后一个时钟周期把运算的结果写到通用寄存器中。
1
2
3
K:   MOVE R1,R0 // R1 <- (R0)
K+1: MUL R0,R2,R1
K+2: ADD R0,R3,R2

画出指令执行的流水线时空图,并计算执行完三条指令共使用了多少个时钟周期

  • 标题: CA-Chapter3Homework
  • 作者: Molaters
  • 创建于 : 2023-11-24 11:30:48
  • 更新于 : 2023-10-30 10:39:42
  • 链接: https://molaters.github.io/2023/11/24/计算机体系结构/CA-Chapter3Homework/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
CA-Chapter3Homework