计算机组成原理练习三(计算题)含答案
1.现有4级流水线,分别完成取指令、指令译码并取数、运算、送结果四步操作,若完成各步操作的时间依次为100ns、100ns、80ns、50ns,请求:
⑴ 流水线的操作周期。
⑵ 若相邻两条指令发生数据相关,且在硬件上不采取措施,那么第二条指令要推迟的时间。
⑶ 若对硬件进行改进,那么第二条指令至少要推迟的时间。
解:⑴ 流水线的操作时间应按各步操作的最大时间来考虑,应为100ns。
⑵ 若相邻两条指令发生数据相关,且在硬件上不采取措施,应停顿第2条指令的执行,直到前面的指令结果已经产生,因此要推迟2个时钟周期的时间。
⑶ 若对硬件进行改进,如采用专用的通路技术,那么第2条指令的执行将不会被推迟。
2.在4段流水线浮点加法器中,若每段所需的时间为:T1=60ns,T2=50ns,T3=90ns,T4=80ns。
求:⑴ 流水线加法器的加速比。
⑵ 若每段的时间都是75ns(包括缓冲时间),求加速比。
解:⑴ 加法器的流水线时钟周期至少为T=90ns。若采用同样的逻辑电路(不使用流水线),则浮点加法所需的时间是:
T1+ T2+ T3+ T4=60+50+90+80=280ns
因此,加速比为280/ 90≈3.1
⑵ 若每个过程段的时间都是75ns,则加速比=(75×4)/ 75=4
3.假设一条指令按取指、分析和执行三步解释,每步相应的时间分别为t取、t分、t执,分别计算下列几种情况下执行完100条指令所需的时间:
(1) 顺序方式。
(2) 仅(K+1)取指与K执行重叠。
(3) 仅(K+2)取指,(K+1)分析、K执行重叠。
若t取=t分=2,t执=1,计算上述结果。
解:若t取=t分=2,t执=1
⑴ 顺序方式:T=100×5=500ns
⑵ 一次重叠方式:T=6+99×(2+2)=402ns
⑶ 2次重叠方式:T=99×2+2+2+2=204ns