设每条指令由取指、分析、执行3个子部件完成,并且每个子部件的执行时间均为△t。若采用常规标量单流水线处理机(即该处理机的度为1),连续执行16条指令,则共耗时 (问题1) △t。若采用度为4的超标量流水线处理机,连续执行上述16条指令,则共耗时 (问题2) △t。
指令流水线一般包含取指、分析、执行等若干子部件,当各子部件执行时间相同时,连续执行指令的总耗时可按两类流水线分别计算:常规标量单流水线的度为1,每时钟周期仅能启动1条指令,总耗时为流水线级数k加上指令条数n减1的和乘以子部件耗时△t,原理是首条指令需k个周期完成,后续每条指令各占1个周期。超标量流水线的度为m时,每时钟周期最多可启动m条指令,理想状态下总耗时为k加上指令条数n除以m的向上取整值减1的和乘以△t,若n能被m整除,可简化为k加n/m减1的和乘以△t。需注意,流水线的度指单时钟周期可并行启动的指令数,超标量通过空间并行提升执行效率,上述为理想无冲突的计算结果,实际中数据相关、控制相关等流水线冲突会增加实际执行耗时。
本题考察的是处理器流水线结构中的性能计算,包括指令流水线基本公式及超标量流水线的执行效率分析。
问题 1:
常规标量单流水线的度为1,即每个时钟周期只能启动一条指令执行。
总耗时计算公式为:流水线启动时间 + 后续每条指令的延时
即:k + (n - 1),其中k:流水线的级数(即取指、分析、执行,k = 3),n:指令条数(n = 16)
所以:耗时 = 3 + (16 - 1) = 18△t
所以选择 B。
问题 2:
超标量流水线的度为4,意味着每个时钟周期可启动最多4条指令并行执行。
执行时间公式为:k + (n / 度 - 1),其中
k = 3(取指、分析、执行)
n = 16
度 = 4
所以:耗时 = 3 + (16/4 - 1) = 3 + (4 - 1) = 6△t
所以选择 C。
