计算题历年真题/教材经典例题汇总
1 计算机组成与体系结构
1.1 流水线吞吐率、加速比
流水线执行时间(设有n
条k
级操作的指令,操作执行时间分别为t_1,t_2,\cdots,t_k
):
- 流水线周期:
t=\max(t_1,t_2,\cdots,t_k)
- 理论公式:
流水线执行时间=(t_1+t_2+\cdots+t_k)+(n-1)\times t
- 实践公式:
流水线执行时间=k\times t+(n-1)\times t
吞吐率(设有n
条k
级操作的指令,流水线周期为t
,使用实践公式):
- 基本公式:
TP=\frac{n}{流水线执行时间}
- 最大吞吐率:
TP_{\max}=\lim\limits_{n\rightarrow \infty}\frac{n}{(k+n-1)t}=\frac1t
加速比:
- 基本公式:
S=\frac{不使用流水线执行时间}{使用流水线执行时间}
- 阿姆达尔解决方案:
R=\frac{T_p}{T_i}=
1.1.1 2017下半年
某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(
2\Delta t
)、分析指令(1\Delta t
)、取操作数(3\Delta t
)、运算(1\Delta t
)和写回结果(2\Delta t
)组成, 并分别用5个子部件完成,该流水线的最大吞吐率为( );若连续向流水线输入10条指令,则该流水线的加速比为( )。
理论流水线执行时间:(2\Delta t+1\Delta t+3\Delta t+1\Delta t+2\Delta t)+\max(2\Delta t,1\Delta t,3\Delta t,1\Delta t,2\Delta t)\times (n-1)=9\Delta t+ (n-1)\times 3\Delta t
【第1问】
最大吞吐率:\lim\limits_{n\rightarrow \infty}\frac{n}{9\Delta t+(n-1)\times 3\Delta t}=\frac{n}{3n\Delta t+6\Delta t}=\frac{1}{3\Delta t}
【第2问】
10条指令使用流水线的执行时间:9\Delta t+ (10-1)\times 3\Delta t=36\Delta t
10条指令不使用流水线的执行时间:9\Delta t\times 10=90\Delta t
加速比:\frac{不使用流水线执行时间}{使用流水线执行时间}=\frac{90\Delta t}{36\Delta t}=5:2