计算机体系结构 第六章 向量处理机

向量处理机

6.1 向量数据的表示方式

等间距向量表示法

  • 向量起始地址 A
  • 向量长度 L
  • 向量间距 f

在这里插入图片描述

带位移量的向量表示法

  • 向量起始地址 A
  • 向量长度 L
  • 向量位移量 f
  • 向量有向长度 L-f
  • 向量起始地址 A+f

在这里插入图片描述
在这里插入图片描述

稀疏向量表示法

  • 定义:稀疏向量,0元素很多
  • 采用压缩存储
    在这里插入图片描述

6.2 向量处理机结构

存储器-存储器结构:利用几个独立的存储器模块来支持向对独立的数据并发访问

  • 多个独立得到存储模块并行工作
  • 处理机结构简单
  • 对存储系统的访问速度要求很高

寄存器-寄存器结构:构造一个具有所要求带块的高速中间寄存器,实现高速中间寄存器与主寄存器之间的快速数据交换

  • 运算通过向量寄存器金鑫
  • 需要大量高速寄存器
  • 对存储系统访问速度要求低

存储器-存储器结构

  • 访存速度是关键
  • 采用多个存储体检查和并行访问,来提高访问存储器的速度

在这里插入图片描述
在这里插入图片描述

  • 在运算流水线的输入端和输出端增减缓冲器,以便消除征用存储器的现象。
    在这里插入图片描述
    在这里插入图片描述

寄存器-寄存器结构

  • 将存储器-存储器的缓冲栈改成向量寄存器
  • 运算部件所需的操作数从向量寄存器中读取,中间结果也写入向量寄存器中
  • 向量寄存器和标量寄存器相比:向量寄存器保存一个向量,连续访问一个向量的各个分量。

在这里插入图片描述

6.3 向量处理方式

横向处理方式:

向量计算,按行方式从左到右进行处理

纵向处理方式:

  • 向量计算,按列的方式自上而下纵向地进行
  • 方便采用链接技术,是数据相关不影响流水线运行;
  • 向量指令的源向量和目的向量都在存储器中,运算的中间结果需要送回存储器保存,对存储器的信息流量要求较高;

纵横处理方式:

  • 横向处理和纵向处理方式结合
  • 当向量过长,无法一次操作一列,就要分组,组内纵向处理,组间横向处理
  • 优点:在每组运算中,用长度为n的向量寄存器作为运算寄存器并保留中间结果,从而大大减少了访问存储器的次数,提高了处理速度

6.4 向量处理机的关键技术

向量与标量性能的平衡

  • 关键问题:希望向量硬件和标量硬件都能充分利用
  • 向量平衡点:为了是向量硬件设备和标量硬件设备利用率相等,一个程序中向量代码所占的百分比

向量链接技术

向量运算中的数据相关和功能部件冲突

  1. 读写数据相关
  2. 读读数据相关,或向量寄存器冲突
  3. 运算部件冲突

在这里插入图片描述

  • 当前一条指令的结果寄存器可以作为后继指令的操作数寄存器时,多条数据相关的向量指令并行执行,这种技术称为两条流水线的链接技术
  • 当前一个向量功能部件产生第一个结果并送到结果向量寄存器入口时,将该结果立即送往下一个功能部件的入口,开始后续的向量操作。此后一次得到的中间结果都按此处理,这样前面功能部件的结果元素以产生,就能背后面的功能部件使用,而不用等全部的结果向量全部产生后再使用。

在这里插入图片描述
在这里插入图片描述
三种执行方式的比较
在这里插入图片描述

向量链接技术的要求
  • 在进行链接时,只有在前一条向量指令的第一个元素送入结果向量寄存器的哪一个是中周期才可以进行链接,错过该时刻就不能进行链接,只有当前一条向量指令全部执行完毕,释放相应的向量寄存器资源后才能执行后面的指令。
  • 当一个向量指令的两个源操作数分别是两条先行向量指令的结果寄存器时,要求先行的两条向量指令产生运算结果的时间是相的,即要求有关向量功能部件的延迟时间相等。
  • 只有当可以链接执行的向量指令的向量长度相等时候,它们之间才能链接执行,否则不能链接执行。

向量循环开采技术

  • 当向量长度大于向量寄存器的长度时,必须把向量分程长长度固定的段,采用循环结构处理这个长向量,称为向量循环开采技术。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

向量处理机的性能评价

衡量处理及性能的主要指标:

  • 向量指令处理时间 T v p T_{vp} Tvp
  • 最大性能 R ∞ R_{\infty } R
  • 半性能向量长度 n 1 / 2 n_{1/2} n1/2
  • 向量长度临界值 n v n_v nv
1 一条向量的处理时间
  • 执行一条长度为n的向量指令的时间 T v p T_{vp} Tvp
    T v p = T s + T v f + ( n − 1 ) T c T_{vp} = T_{s} +T_{vf} + (n-1)T_c Tvp=Ts+Tvf+(n1)Tc
  • T s T_{s} Ts 为向量流水线建立的时间,即为了是处理不见流水能开始工作所需要的时间
  • T v f T_{vf} Tvf 为向量流水线的流过时间,即第一对向量元素通过流水线并产生第一个结果所花费的时间
  • T c Tc Tc 为流水线的时钟周期

在这里插入图片描述
在这里插入图片描述

  • 当一个编队是由若干条指令组成时,其执行时间就应该由该编队中各指令的执行时间的最大值来确定

在这里插入图片描述

最大性能

在这里插入图片描述

半性能向量长度

在这里插入图片描述

向量长度临界值

  • 向量长度临界值 n v n_v nv 是指:对于某一计算任务而言,向量方式的处理速度优于标量串行方式处理速度时所需要的最小向量长度

在这里插入图片描述

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值