0%

5.6-指令流水线基本概念和性能指标

💡 TIP

相关链接|

定义

image-20250102105335802

  • 顺序执行方式
    • 优点:控制简单,硬件代价小
    • 缺点:执行指令的速度较慢,在任何时刻,处理机中只有一条指令在执行,各功能部件的利用率很低。
  • 一次重叠执行方式image-20250102105626690

    image-20250102105614009

    • 优点:程序的执行时间缩短了1/3,各功能部件的利用率明显提高

    • 缺点:需要付出硬件上较大开销的代价,控制过程也比顺序执行复杂了

  • 二次重叠方式image-20250102105902185

    image-20250102105916437

    也可以把每条指令的执行过程分成4个或5个阶段,分成5个阶段是比较常见的做法.

表示方法

image-20250102110129621

image-20250102110221489

性能指标

  1. 吞吐率

    吞吐率是指在单位时间内流水线所完成的任务数量,或是输出结果的数量

    或是 单位时间内,我们可以完成多少条指令

    image-20250102110641065

  2. 加速比image-20250102110715722

    image-20250102110739105

  3. 效率image-20250102110810111

    image-20250102110829807

影响因素

image-20250102114444588

MIPS架构

  1. 结构相关 资源冲突

    由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关

    image-20250102115120753

    • 解决方案

      1. 后一指令暂停一周期

      2. 资源重复配置

        数据寄存器+指令寄存器

  2. 数据相关(数据冲突)

    数据相关指在一个程序中,存在必须等前一条指令执行完才能执行后一条指令的情况

    则这两条指令即为数据相关image-20250102115530510

    • 解决方案

      1. 把遇到数据相关的指令及其后续指令都暂停一至几个时钟周期,知道数据相关问题消失后再继续执行。可分为硬件阻塞(stall)和软件插入“NOP”两种方法。

      2. 数据旁路技术。也叫转发机制

        加一条引脚

      3. 编译优化:通过编译器调整指令顺序来解决数据相关。

  3. 控制相关(控制冲突)

    image-20250102120313565

    image-20250102120407082

    • 解决办法

      1. 转移指令分支预测

        简单预测(永远猜 true 或 false)

        动态预测(根据历史情况动态调整)

      2. 预取转移成功和不成功两个控制流方向上的目标指令

      3. 加快和提前形成条件码

      4. 提高转移方向的猜准率

image-20250102120740609

流水线的分类

image-20250102121035826

image-20250102121113616

image-20250102121221078

image-20250102121303395

流水线的多发技术

  1. 超标量技术image-20250102121602406

    需要与乱序发射做对比,乱序发射中允许用户在执行中修改指令的执行顺序

  2. 超流水技术image-20250102121722370image-20250102121748779

  3. 超长指令字image-20250102121843554

image-20250102121901691

五段式指令流水线

运算器指令的执行过程

image-20250102135424171

💡 TIP

例题

image-20250102193136320

总结

image-20250102111034429

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
-- HUMAN RESOURCE MACHINE PROGRAM --

a:
b:
INBOX
COPYTO 0
JUMPN d
COMMENT 0
c:
OUTBOX
BUMPDN 0
JUMPN a
JUMP c
COMMENT 1
d:
COMMENT 2
e:
OUTBOX
BUMPUP 0
JUMPN e
OUTBOX
COMMENT 3
JUMP b


DEFINE COMMENT 0
eJzjZmBgaI+4Wx4bGVQ6M8G6QLSyKNN28swMoDCDf/UT5YNVQnqqNb/bVWtMjjCMglEwCoYdAABfKg+i
;

DEFINE COMMENT 1
eJzjYWBgUAwKKi0vFSm82m5d8GP620KgEMPP8gCj6dWZVfeqN24A8e9Vp2x6XbnsLsMoGAWjYFgBAM9E
E6M;

DEFINE COMMENT 2
eJxjY2BgyAi6Wy4Webf8cLxT9cuS+vqoKfX1DKNgFIyCEQEAmiIJ/g;

DEFINE COMMENT 3
eJxjZmBg8C70bPu44nc7wygYBaNgxAEAleoEqg;



(完)