软考中流水线技术的考点:流水线执行时间计算,流水线吞吐率(以上为中级考点),流水线加速比,流水线效率(以上为高级考点)
CPU执行指令步骤:①取指:将指令从内存中取出,放到指令寄存器中
②译码:由指令译码器将指令寄存器的指令进行译码操作,辨识指令内容以及产生时序信息
③执行:指令执行单元根据译码的结果进行计算和存储
流水线概念:大概就是不同的部分同时工作,多条指令重叠进行操作。
流水线执行时间计算
流水线周期:执行时间最长的一段
举例:取址时间为1ms,分析时间为2ms,执行时间为3ms,那么流水线周期为3ms
流水线计算公式:1条指令执行时间+(指令条数-1)*流水线周期
公式可分为 ①理论公式:(t1+t2+t3+..tk)+(n-1)* △t (△t为流水线周期)
②实践公式:(k+n-1)* △t
两个公式的区别:理论公式是理想中的情况,但是实际上所需时间可能更长,所以将每一段时间都变成最长的执行时间即流水线周期,于是得到了实践公式。
举例:
一条指令的执行过程分解为取指、分析和执行三步,取指时间t1=3,分析时间t2=2,执行时间t3=4,若按串行方式执行,则10条指令全部完成需要多少时间?若按流水线方式执行,流水线周期为多少时间?10条指令全部执行完需要多少时间?
解:
一条指令完成时间:t1+t2+t3=3+2+4=9
则串行方式执行10条指令时间:9*10=90
流水线周期为:4
则流水线方式执行10条指令时间:(t1+t2+t3)+(10-1)*4 = 45
实践公式执行时间:(3+10-1)*4=48
流水线吞吐率计算(TP)
概念:流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。
公式:
流水线最大吞吐率: