问答题 假设指令流水线分取指(FI)、译码(ID)、执行(EX)、回写(WR)4个过程段,共有10条指令连续输入此流水线。
问答题 画出指令周期流程。
【正确答案】指令周期包括FI、ID、EX和WR这4个子过程,则指令周期流程如图1所示。
[*]
图1 流水线与非流水线时空图比较
a)指定周期流程
【答案解析】
问答题 画出非流水线时空图。
【正确答案】非流水线时空图如图2所示。假设一个时间单位为一个时钟周期,则每隔4个时钟周期才有一个输出结果。
[*]
图2 流水线与非流水线时空图比较
b)非流水线时空图
【答案解析】
问答题 画出流水线时空图。
【正确答案】流水线时空图如图3所示。由图3可见,第一条指令出结果需要4个时钟周期。当流水线满载时,以后每一个时钟周期可以出一个结果,即执行完一条指令。
[*]
图3 流水线与非流水线时空图比较
c)流水线时空图
【答案解析】
问答题 假设时钟周期为100ns,求流水线的实际吞吐率。
【正确答案】由图3所示的10条指令进入流水线的时空图可见,在13个时钟周期结束时,CPU执行完10条指令,故实际吞吐率为:10条指令/(100ns×13)≈0.77×107条指令/s。
【答案解析】
问答题 求该流水处理器的加速比。
【正确答案】在流水处理器中,当任务饱满时,指令不断输入流水线,不论是几级流水线,每隔一个时钟周期都输出一个结果。对于本题4级流水线而言,处理10条指令所需的时钟周期数=4+(10-1)=13,而非流水线处理10条指令需4×10=40个时钟周期,所以该流水处理器的加速比为40/13=3.08。
【答案解析】