5-5中央处理器-指令流水线

本文介绍了指令流水线技术,包括多条指令在处理器中的执行方式,如顺序和流水线执行;流水线的分类,如部件功能级、单功能等;影响流水线的因素,如资源、数据和控制冲突;性能指标,如吞吐率、加速比和效率;还阐述了五段式指令流水线及各类指令执行过程。

一.基本概念

单周期处理机中采用串行方法执行的指令,同一时刻CPU中只有一条指令在执行,各功能部件的使用率不高。现代计算机普遍采用指令流水线技术,同一时刻有多条指令在CPU的不同功能部件中并发执行,大大提高了功能部件的并行性和程序的执行效率。

一条指令的执行过程可分解为若干阶段,每个阶段由相应的功能部件完成。如果将各段视为相应的流水段,那么指令的执行过程就构成了一条指令流水线。

为了提高执行速度,将一条指令的执行过程分为取指令、指令译码、执行和写回四个阶段,就形成了四级流水;若分为取指令IF、指令译码ID、取操作数OF、执行EX、写回WB,就形成了五级流水。

指令流水段的个数以最复杂指令所用的功能段个数为准,流水段的长度以最复杂的操作所花时间为准,因此将每个阶段的耗时取成一样,以最长耗时为准。对于耗时较短的指令,可以将本段处理完成的数据和控制信号保存在流水寄存器/缓冲寄存器/锁存器中,以保证本段的执行结果能在下个时钟周期给下一流水段使用。

每个流水段后面都需要增加一个流水寄存器,用于锁存,

1.多条指令在处理器中的执行方式

(1)顺序执行方式/串行执行方式

前一条指令执行完才能启动下一条指令。冯·诺依曼采用的就是顺序执行方式

优点:控制简单,硬件代价小
缺点:执行指令速度慢,功能部件的利用率低(若取址时内存忙碌,但执行指令部件是空闲的)

假设取址、分析、执行三个阶段的用时均为t,顺序执行n条指令所用时间T=3tn

在这里插入图片描述

(2)流水线执行方式

①一次重叠执行方式

假设取址、分析、执行三个阶段的用时均为t,执行n条指令所用时间T=(n-1)×2t+3t=2nt+t=(2n+1)t

优点:与顺序执行方式相比,程序的执行时间缩短了1/3(当n→∞时),各功能部件的利用率明显提高
缺点:需要付出硬件上较大开销的代价,控制过程也比顺序执行复杂了

在这里插入图片描述

②二次重叠执行方式

T=(n-1)×t+3t=nt+2t=(n+2)t

优点:与顺序执行方式相比,程序的执行时间缩短了2/3(当n→∞时),各功能部件的利用率进一步提高
缺点:需要付出硬件上较大开销的代价,控制过程也比顺序执行复杂了
在这里插入图片描述

2.流水线的表示方法(时空图)

时空图用于分析流水线的性能。
横坐标表示时间,即输入流水线中的各个任务在流水线中经过的时间;纵坐标表示空间,即流水线的每个流水段(即各执行部件)。流水线中各个流水段的执行时间都相等。

第一条指令I1在时刻t0进入流水线,在t0-t1时间段内处于取指令阶段,在t1-t2时间段内处于译码阶段,在时刻t4流出流水线。共有4个不同的功能部件(流水段),因此此图叫做4个功能段的指令流水线时空图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡__卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值