代码流水线

取址,分析,执行

取址

根据PC内容访问主存储器,取出一条指令送到IR中

分析

对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数

执行

根据操作码字段,完成指令规定的功能,即把运算结果写到通用存储器或主存中

假设取址,分析,执行都相等

1.顺序执行方式

。。。。|取址|分析|执行|取址|分析|执行|。。。。

此时的总耗时T=nx3t=3nt

优点:控制简单,硬件代价小

缺点:执行指令的速度慢,在任何时候,处理机中只有一条指令在执行,各功能和部件的利用率低

2.一次重叠执行方式

总耗时:T=3t+(n-1)*2t=(1+2n)t

优点:程序执行时间缩短了约三分之一,各功能的部件利用率明显提高

缺点:硬件开销大,操作也比顺序执行复杂

3.二次重叠执行方式

总耗时:T=3t+(n-1)t=(2+n)t

优点:程序执行时间缩短了三分之二,在理论上处理机中同时有三条指令在执行

![image-20250922162540629](/Users/tusier/Library/Application Support/typora-user-images/image-20250922162540629.png)

指令执行过程图,指令序列

时空图

流水线的三个指标

吞吐率

在单位时间内,流水线所完成的任务数量

\[TP=\frac{n}{T_K} \]

n代表任务数量,Tk表示完成n个任务所需时间

一条指令被分为k个阶段,每个阶段耗时deltaT,(此时一个deltaT=1个时钟周期)

当一条k段段流水线在k+n-1个时钟周期内完成n个任务,得出流水线的吞吐率为

\[TP=\frac{n}{(k+n-1)\Delta t} \]

当n取相遇∞时

\[TP_{max}=\frac{1}{\Delta t} \]

加速比

完成同一批任务,不使用流水线所用的时间与使用流水线的时间只笔

设T0时不使用执行时间,Tk是使用流水线的执行时间

计算流水线加速比S

\[S=\frac {T_0}{T_k} \]

效率

流水线设备的利用率

硬件设备忙碌时间占总时间的比例

https://www.cnblogs.com/jimGraymane/gallery/image/520543.html

posted @ 2025-09-22 17:15  是我,米老鼠  阅读(10)  评论(0)    收藏  举报