
第四章 指令级并行
知识点汇总
指令级并行、静态调度、动态调度、Tomasulo 算法、分支历史表(BHT)、分支目标缓冲器(BTB)、前瞻执
行、再定序缓存(ROB)、循环展开
计算题
1. 有一个采用 Tomasulo 算法的处理器,有六个 Load 缓冲器(分别用标号 Load1、Load2、Load3、Load4、
Load5、Load6 表示),有三个加法保留站(分别用标号 Add1、Add2、Add3 表示),有两个乘法保留站(分别用标
号 Mult1、Mult2 表示)。对于下列指令序列,
L.D F6,32(R2)
L.D F2,36(R3)
MUL.D F0,F2,F4
SUB.D F8,F2,F6
DIV.D F8,F0,F6
ADD.D F6,F8,F2
给出从第一条指令流出开始的第 6 个时钟周期时下面各表的内容。
假设:(1)指令按顺序流出,每个时钟周期流出一条指令。
(2)指令流出 1 个时钟周期,写结果一个时钟周期,各种指令的操作延迟为:Load:1 个时钟周期;加法:
2 个时钟周期;乘法:10 个时钟周期;除法:40 个时钟周期。
(3)开始时,处理器是完全空闲的,Load 缓冲器按 Load1、Load2、Load3、Load4、Load5、Load6 的顺序
分配;加法保留站按 Add1、Add2、Add3 的顺序分配;乘法保留站按 Mult1、Mult2 的顺序分配。
(4)程序执行前,R2 的值为 2000,R3 的值为 3000,内存 2032 单元开始存放浮点数 10,内存 3036 单元
开始存放浮点数 20,F4 寄存器存放浮点数 5。
2. 单流出处理器采用 Tomasulo 算法进行指令调度,有一个 Load/Store 部件,一个浮点乘法部件,一个浮点
加法部件。假设:
(1)缓冲器/保留站及其服务的指令类型如下表
(2)各个硬件操作及指令执行的时钟周期如下表
评论0
最新资源