计算机基础之流水线
指令控制方式为:顺序方式、重叠方式和流水方式
流水方式
流水方式是模仿工业生产过程的流水线而提出的一种指令控制方式。流水技术是把并行性或并发性到计算机系统里的的一种形式,它把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效的地并发工作。
练习
一条指令分为取指、分析、执行,分别执行的时间为:取指:2ns、分析2ns、执行1ns。
流水线周期
取该指令最大的耗时时间,为:2ns,那么该流水线的周期为:2ns
100条指令全部执行需要的时间
理论公式
== 公式:一条指令执行的时间+(全部指令数量-1)*流水线周期==
一条指令执行的时间为:取值2ns+分析2ns+执行1ns=5ns
全部指令数量为:100
流水线周期为:2ns
全部执行的时间为: 5+(100-1)*2=204ns
实践公式:
(段数+指令数-1)*流水线周期
段数:取值、分析、执行 共3段
指令数为:100
流水线周期为:2
全部执行的时间为:(3+100-1)*2=204ns
在考试中用大多数用的是理论公式,如果没有理论公式的结果就用实践公式
流水线吞吐率:
指令条数/流水线执行时间=流水线吞吐率
指令条数:100
执行时间:204
结果就是100/204
流水线最大吞吐率
就是1/流水线的周期,就是该流水线最大的吞吐率
流水线加速比
不使用流水线的时间使用流水线的时间不使用流水线的时间使用流水线的时间
不使用流水线的时间 \over 使用流水线的时间
- 不适用流水线的执行时间:一个指令执行时间为2ns+2ns+1ns=5,共100条指令:5*100=500
-使用流水线的时间:204
500/204=流水线加速比