2023 答案-半期试题(15分)
1、试分析采用哪种设计方案实现求浮点数乘法FPMUL对系统性能提高更大。假定FPMUL操作占整个测试程序执行时间的10%。
一种设计方案是增加专门的FPMUL硬件,可以将FPMUL操作的速度加快到10倍;
另一种设计方案是提高所有FP运算指令的执行速度,使得FP指令的执行速度加快为原来的1.6倍,设FP运算指令在总执行时间中占50%。(2分)
解:对这两种设计方案的加速比分别进行计算。
增加专门FPDIV硬件方案:Fe = 10% = 0.10, Se = 10
SFPDIV = 1/((1-0.10)+0.10/10)=1/0.91 = 1.099
提高所有FP运算指令速度方案:Fe = 50% = 0.5 , Se = 1.6
SFP = 1/((1-0.5)+0.5/1.6) = 1/0.8125 = 1.231
提高所有FP指令速度方案的加速比更高,对系统性能提高更大。
2、由静态多功能流水线实现如下计算(a1+b1)*(a2+b2)* (a3+b3)* (a4+b4)* (a5+b5),其中乘法使用1-2-3-5-6级流水线,加法使用1-2-4-6级流水线,请画出时空图,并计算最优吞吐率、效率和加速比。(4分)
答案:
3、假设某机器的流水线,转移目标地址计算需要2个流水段,转移条件形成需要4个流水段,完成一个流水段的操作用一个时钟周期。假定解决控制冒险有三种方法:停顿流水线、转移预测未选中、转移选中。试计算条件转移指令采用这三种方法在转移发生与转移不发生所产生的停顿时钟周期数,并填入下表中。(3分)
条件转移发生 产生的停顿时钟周期数 | 条件转移未发生 产生的停顿时钟周期数 | |
停顿流水线 | 3 | 3 |
转移预测未选中 | 3 | 0 |
转移预测选中 | 1 | 3 |
假如修改为:转移目标地址计算需要3个流水段,转移条件形成需要4个流水段
条件转移发生产生的停顿时钟周期数 | 条件转移未发生产生的停顿时钟周期数 | |
停顿流水线 | 3 | 3 |
预测转移未选中 | 3 | 0 |
预测转移选中 | 2 | 3 |
4、设流水线模型机结构如下图所示,采用load前推和数据前推(store指令前推使用C寄存器内容,注意图中在数据存储器的数据输入端增加了一个2路开关解决store与前一条指令的数据相关,这里省略了多路开关的控制信号)。假设模型机使用subicc指令,它将根据减法结果设置标志寄存器Z的内容为0或为1;其它的ALU计算指令不影响Z。寄存器r6内容大于1,指令bne的控制相关处理采用插入nop指令的策略。 (6分)
带有内部前推及load相关暂停功能的流水线处理机
设有以下指令序列:
Lop:load r1, 100(r3)
addi r2, r1, 10
store r2, 100(r3)
subicc r5, r5, 1
bne lop ;如果Z标志为0,即r5的内容不为0,则转Lop
- 按时钟周期画出以上指令序列第1次循环执行及转移到“load r1, 100(r3)”指令,在模型机中执行的时序图,标出内部前推示意。(3分)
- 如果以上指令序列在流水线CPU执行,当第2条指令“addi r2, r1, 10”进入EXE级时,试给出ADEPEN、BDEPEN信号的值、WB级信号SLD的值。(2分)
ADEPEN = BDEPEN = SLD=
解:(1)
(2)ADEPEN = 3或(11) BDEPEN = 1或(01) SLD=1