计算机体系结构 C5 流水和指令级高度并行的超级机

C5 流水和指令级高度并行的超级机

1 重叠方式

  • 重叠解释的实现方法

    1. 操作数和指令分存于两个独立编址且可同时访问的存储器(利于实现指令保护,但增加了复杂度)
    2. 混存,采用多体交叉主存结构
    3. 增设指令缓冲寄存器(FIFO)(简称指缓)
  • 相关问题

    • 数相关:第k、k+1条指令的数据地址之间有了关联
      • 主存空间数相关
        • 原因👉相邻两条指令之间要求对主存同一单元线写入而后再读出的关联
        • 解决👉延迟
      • 通用寄存器空间数相关
        • 解决👉设置“相关专用通路”
    • 指令相关:经第k条指令的执行来形成第k+1条指令
      • 原因:冯诺依曼型机器的指令允许修改
      • 解决:在程序执行过程中,不准修改指令除可解决指令相关,也可实现程序的可再入性和程序的递归调用
  • 相关处理两种方式

    • 延迟和设置“相关专用通路”
    • 延迟是降低了速度但设备基本上不增加
    • 设置“相关专用通路”以增加设备为代价,使重叠效率不下降
  • 顺序执行方式

    • 执行n条指令所用时间:

    T = ∑ i = 1 n ( t 取 指 令 i + t 分 析 i + t 执 行 i ) T=\sum _{i=1}^n(t_{取指令i}+t_{分析i}+t_{执行i}) T=i=1n(ti+ti+ti)

    • 主要优点:控制简单,节省设备
    • 主要缺点:执行指令的速度慢,功能部件的利用率很低
  • 一次重叠执行方式(一种最简单的流水线方式)(最常使用)

    • 主要优点:指令的执行时间缩短,功能部件的利用率明显提高
    • 主要缺点:需要增加一些硬件,控制过程稍复杂
  • 二次重叠执行方式(理想状态下同时有三条指令在被处理)

    • 采用二次重叠执行方式,必须解决两个问题

      1. 有独立的取指令部件、指令分析部件和 指令执行部件
      2. 要解决访问主存储器的冲突问题
    • 必须采用先行控制方式

    • 先行控制方式的实现方法👇

      • 需要有两个独立的存储器:独立的指令存储器和数据存储器

        在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被称为哈佛结构

      • 采用先行控制技术

  • 先行控制技术

    • 技术关键是缓冲技术预处理技术
    • 技术结果:解决了分析与执行时间不等长问题
    • 硬件要求:
      1. 增设指令缓冲栈,消除取指过程
      2. 增设数据缓冲栈,保证不同指令的读写操作并行
      3. 增设先行操作栈,保证执行部件能连续执行

2 流水机器的相关处理和控制机构

流水线只有连续不断地流动,不出现断流,才能获得高效率。如果处理不当,就会使流水效率显著下降

  • 局部相关与全局相关

    • 在同一个基本块内部的相关称为局部相关
    • 在基本块之间的相关称为全局相关
  • 局部相关的处理

    • 局部相关包括:指令相关、访存操作数相关、通用寄存器组相关
    • 局部相关产生原因:在机器同时解释多条指令之间出现了对同一主存单元或寄存器要求“先写后读”而产生的
    • 局部相关解决方法:
      1. 延迟读指令
      2. 设置相关直接通路
    • 任务在流水线中流动顺序的安排和控制
      • 顺序流动方式(同步流动方式)
      • 异步流动方式(可能会发生“先读后写”相关、“先写后读”相关和“写-写”相关)
  • 全局相关的处理-------转移相关

    • 猜测法
    • 加快和提前形成条件码
    • 采用延迟转移------采用软件进行静态指令调度
    • 加快短循环程序的处理
  • 流水机器的中断处理

    处理中断的主要问题:断点现场的保护和恢复,而不是缩短流水线的断流时间

    • 不精确断电
    • 精确断点
  • 相关问题

    • 相关(Correlation):指在一段程序的相近指令之间有某种关系,这种关系可能影响指令的重叠执行。
    • 相关分为:数据相关(局部相关)和控制相关(全局相关)
    • 数据相关
      • 指令相关(解决:程序中不允许修改指令)
      • 主存操作数相关(解决:推后处理法)
      • 通用寄存器相关(解决:推后处理或者设置专用数据通路)
      • 变址相关(解决:推后分析或者设置专用通路)
    • 转移相关
      • 无条件转移
      • 一般条件转移
      • 复合条件转移
  • 流水线调度----非线性流水线

    要找出一个最小的循环周期,按照这个周期向流水线输入新任务。流水线的各个功能段不会发生冲突,而且流水线的吞吐率和效率最高

    流程✨

    (1)形成预约表

    (2)由预约表形成禁止表

    (3)由禁止表形成初始冲突向量C0

    (4)由初始冲突向量C0形成状态转换图

    (5)找出最佳调度方案

    例子👇

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpOJ9fb2-1625152765016)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210627182040501.png)]

    (1)写出流水线的禁止向量和初始冲突向量

    (2)画出调度流水线的状态图

    (3)求流水线的最小启动循环和最小启动距离

    (4)求平均启动距离最小的恒定循环

    解:

    (1)禁止向量
    F = { 3 , 4 } F=\{3,4\} F={3,4}
    ​ 初始冲突向量
    C 0 = ( 101100 ) C_0=(101100) C0=(101100)
    (2)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F86KKO3s-1625152765018)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210627183749197.png)]

    (3)

    简单循环平均启动距离
    (1,7)4
    (1,1,7)3
    (2,7)4.5
    (2,5)3.5
    (2,5,7)4.7
    (5,7)6
    (5)5
    (7)7
    (5,2,7)4.7

    最小启动循环为(1,1,7)最小启动距离为3

    (4)最小平均启动距离的恒定循环为(5)

3 向量流水处理机、指令级高度并行的超级处理机

将向量数据表示和流水线技术结合起来构成向量流水处理机

  • 向量的流水处理
    • 提高流水性能的方法:
      • 增加流水线段数,以减少Δt
      • 每个时钟同时启动多条指令
      • 减少相关,减少功能变换次数,增加处理指令条数
    • 向量操作很适合于流水处理或并行处理
    • 向量处理机工作方式
      • 横向加工
      • 纵向加工
      • 纵横处理:对向量分组,组内纵向,组间横向处理
  • 向量流水处理机
    • 向量流水处理机的指令系统
      • 包含向量型和标量型两类指令
    • 向量流水处理机的结构
      • 向量寄存器由512个64位寄存器组成,分为8组
    • 超级向量流水处理机举例
      • STAR-100
      • CDC-6600
      • CYBER 205
      • ETA10
  • 指令级高度并行的超级处理机
    • 超标量处理机-----------采用空间并行性-----增加硬件资源提高性能
    • 超流水线处理机--------采用时间并行性-----各硬件充分重叠提高性能
      • 定义1:一个周期内能分时发射多条指令的处理机
      • 定义2:指令流水线有8个或更多功能段的流水线处理机
    • 超标量超流水线处理机------👆两者结合,性能处于二者之间,超标量处理机性能最高,因为超流水线处理机的启动延迟大、条件转移造成的损失大
    • 超长指令字处理机(VLIW)

件资源提高性能

  • 超流水线处理机--------采用时间并行性-----各硬件充分重叠提高性能
    • 定义1:一个周期内能分时发射多条指令的处理机
    • 定义2:指令流水线有8个或更多功能段的流水线处理机
  • 超标量超流水线处理机------👆两者结合,性能处于二者之间,超标量处理机性能最高,因为超流水线处理机的启动延迟大、条件转移造成的损失大
  • 超长指令字处理机(VLIW)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Da雪满弓刀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值