流水线执行指令
2024/5/9...大约 1 分钟
流水线执行指令
计算机流水线执行周期 = 最慢那个指令执行时间;
流水线执行时间 = 首条指令执行时间 + (指令总数 - 1) * 流水线执行周期
流水线吞吐率 = 任务数 / 完成时间
流水线加速比 = 不采用流水线的执行时间 / 采用流水线的执行时间
例题:
某计算机系统采用 5 级流水线结构执行指令,设每条指令的执行由取指令(2∆t )、分析指令(1∆t )、取操作数(3∆t )、运算(1∆t )和写回结果(2∆t ) 组成, 并分别用 5 个子部完成,该流水线的最大吞吐率为();若连续向流水线输入 10 条指令,则该流水线的加速比为()。
- A、1/9∆t
- B、1/3 ∆t
- C、1/2∆t
- D、1/1∆t
【答案解析】
根据公式:流水线执行周期=3∆t,流水线执行时间= n/(2∆t +1∆t +3∆t +1∆t + 2∆t +(n-1)*3∆t)=n/[9∆t + (n-1)3∆t)]=n/(6∆t +n*3∆t)
,当n趋向无穷大时,比值为 1/3∆t
10条指令不用流水线的执行时间 = (2∆t +1∆t +3∆t +1∆t +2∆t)* 10 = 90∆t
10条指令使用流水线的执行时间 = (2∆t +1∆t +3∆t +1∆t +2∆t)+(10-1)* 3∆t = 36∆t
所以加速比为:90∆t /36∆t = 5:2