CA-Chapter4Homework

[[CA-NotesView]]
- 根据需要展开下面的循环并进行指令调度,直到没有任何延迟。指令的延迟如表4.2所示。
1 | LOOP:LD F0,0(R1) |
假设有一个长流水线,仅仅对条件转移指令使用分支指令缓冲。假设分支预测错误的开销为4个周期,缓冲不命中的开销为3个周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1.
- 求程序执行的CPI
- 相对于采用固定的两个周期延迟的分支处理,哪种方法程序执行的速度更快?
下面一段 MIPS的汇编程序称为 SAXPY,是计算高斯消去法中的关键一步,用于完成下面公式的计算:
$Y = aX+ Y$
其浮点指令延迟如表 4.2 所示,整数指令均为1个时钟周期完成,浮点和整数部件均为流水。整数操作之间以及与其他所有浮点操作之间的延迟为0,转移指令的延迟为0
1 | foo:ld f2,0(r1) ; load X[i] |
(1)对于标准的MIPS单流水线,SAXPY 循环计算一个Y值需要多少时间?其中有多少空转周期?
(2)对于标准的 MIPS 单流水线,将 SAXPY 循环顺序展开4 次,不进行任何指令调度,计算一个Y值平均需要多少时间?加速比是多少?其加速是如何获得的?
(3)对于标准的 MIPS 单流水线,将SAXPY 循环顺序展开4 次,优化和调度指令。使SAXPY 循环处理时间达到最优,计算一个 Y值平均需要多少时间?加速比是多少?
(4)对于采用如图4.15 所示的前瞻执行机制的MIPS处理器,处理器中只有一个整数部件。当循环第二次执行到
1 | beqzr3,foo |
时,写出前面所有指令的状态,包括指令使用的保留站、指令起始节拍、执行节拍和写结果节拍,并写出处理器当前的状态。
(5)对于两路超标量的 MIPS 流水线,设有两个指流出部件,可以流出任意组合的指令,系统中的功能部件数量不受限制。将 SAXPY 循环展开 4 次,优化和调度指令使SAXPY 循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?
(6)对于图4.19 结构的超长指令字 MIPS处理器,将SAXPY 循环展开4 次,优化和调度指令,使SAXPY 循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?
- 标题: CA-Chapter4Homework
- 作者: Molaters
- 创建于 : 2023-11-24 11:30:48
- 更新于 : 2023-10-30 10:39:43
- 链接: https://molaters.github.io/2023/11/24/计算机体系结构/CA-Chapter4Homework/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。