向量流水处理机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
重庆大学计算机学院
计算机系统结构
水平处理法
• 假设中间结果为t(i) • 计算第1个分量: t(1) =b(1)+c(1) d(1) =a(1)×t(1) • 计算第2个分量: T(2) =b(2)+c(2) d(2) =a(2)×t(2) • …… • 计算第N个分量: t(N) =b(N)+c(N) d(N) =a(N)×t(N) • 当采用流水方式计算 时,在每个向量加乘 运算中都会发生数据 相关。而且当使用静 态流水线时,还要进 行2次乘和加功能的转 移。这样共出现N次相 关,2N次功能转换。 因此,横向处理方法 不适合于向量流水处 理。
8
重庆大学计算机学院
计算机系统结构
纵横处理法
• 当向量长度N大于向量寄存器长度n时,需要分组 处理。 • 分成k组,组内采用纵向处理方式,组间采用横向 处理方式。 • 分组方法: n=k*m+r
其中:m为每组长度,r为第k+1组剩余分量 Bi+CiKi Ki*AiDi …… Bi+CiKi Ki*AiDi …… (1到m) (1到m) (m+1到2m) (m+1到2m)
16
重庆大学计算机学院
计算机系统结构
C=A+B向量处理时序图
功能部件4 功能部件3 1 1 1 2 2 3 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 7 8 8
6
重庆大学计算机学院
计算机系统结构
纵向处理法
• 向量计算是按列的方式自上而下纵向地进行。 • 即先是所有B和C向量元素对的相加运算,中间结 果暂存到k1~kN中;然后再纵向加工所有对应元 素的乘法运算。 d1=a1× (b1+c1) k1 d2=a2× (b2+c2) k2 : dN=aN× (bN+cN) kN
· · ·
12
重庆大学计算机学院
计算机系统结构
向量流水处理机的结构
• 按向量元素和结果存放分M-M和R-R两类。 • 存储器-存储器结构
–多个独立的存储器模块并行工作 –处理机结构简单 –对存储系统的访问速度要求很高
• 寄存器-寄存器结构
–运算通过向量寄存器进行 –需要大量高速寄存器 –对存储系统访问速度的要求降低
计算机系统结构
向量计算C=A+B的时空图
• 假设一个存取周期等于两个时钟周期,并 假设向量A、B、C各有8个,那么理想实现C =A+B向量计算的时空图如图所示。 • 为了不发生读写冲突,各向量元素在存储 模块中的位置是有意安排的。由于运算流 水线分为4段,因此输入数据进入流水线4 个时钟周期之后才能产生相应的输出值。 当数据充满后,流水线就一直处于忙碌状 态。
• 要根据向量运算的特点和向量处理机的类型选择 向量的处理方式。
4
重庆大学计算机学院
计算机系统结构
向量处理方式
• 例如:向量计算:A*(B+C) 的 循环程序 用C语言为 for(i=1; i<=n; i++) di= ai * (bi+ci)
• 水平处理法(横向)
d1=a1*(b1+c1) d2=a2*(b2+c2) · · dn=an*(bn+cn)
9
重庆大学计算机学院
计算机系统结构
纵横处理法
• 每组用两条向量指令, • 每组发生相关两次,其中组内发生数据相 关一次,组间切换时发生相关一次。 • 主要优点:
–减少访问主存储器的次数 例如:中间变量K不写入主存储器
10
重庆大学计算机学院
计算机系统结构
• 向量处理的基本概念 • 向量流水处理机的结构 • 提高向量流水处理机性能的方法
7
重庆大学计算机学院
计算机系统结构
纵向处理法
用向量指令形式来表示,则变成: K= B+ C D= K× A • 只需要两条指令就能实现 VADD B, C, K VMUL K, A, D • 显然,当采用流水方式计算时,数据相关 在两条向量指令间仅有1次,而流水线加、 乘功能的切换只需1次。因此,纵向处理方 法可获得较高的吞吐率,适合于在向量处 理机中应用。
3
重庆大学计算机学院
来自百度文库
计算机系统结构
向量处理方式
• 有三种处理方式:
–横向处理方式,又称为水平处理方式,横向加工方式 等。向量计算是按行的方式从左至右横向地进行。 –纵向处理方式,又称为垂直处理方式,纵向加工方式 等。向量计算是按列的方式自上而下纵向地进行。 –纵横处理方式,又称为分组处理方式,纵横向加工方 式等。横向处理和纵向处理相结合的方式。
重庆大学计算机学院
计算机系统结构
计 算 机 系 统 结 构
第十四讲
向量流水处理机
重庆大学计算机学院
计算机系统结构
• 向量处理的基本概念 • 向量流水处理机的结构 • 提高向量流水处理机性能的方法
2
重庆大学计算机学院
计算机系统结构
向量处理的基本概念
• 从数学的概念上讲,标量是指单个量,而向量是 指一组标量。例如,有一个数组A=(a1,a2, a3,…,an),其中括号内的每一个元素ai就是 一个标量。而A称为向量,它由一组标量组成。 • 一条向量指令可以处理N个或N对操作数。我们把 这N个互相独立的数叫做向量,对这样一组数的运 算叫做向量处理。因此,向量指令的处理效率要 比标量指令的处理效率高得多。
一种能实现两个向量相加的流水结构的加法器
14
重庆大学计算机学院
计算机系统结构
多模块存储器系统的向量处理机
a1 b1
M1 M2
M3 M4 A
加法流水线部件
1 2 3 4
B
M5
c1
C=A+B
M6
M7 M8
A、B、C的向量长度为8, 加法流水线分为4个功能段, 主存储器采取了8个存储体
15
重庆大学计算机学院
11
重庆大学计算机学院
计算机系统结构
向量流水处理机的结构
基本结构 主
向量存取 部件
标量寄存器
标量功能部件
向量功能部件
向量寄存器/ 向量缓冲器
向量指令 控制部件
向量功能部件

指令 处理部件
向量功能部件
控制部分:控制部件和缓冲部件(中间REG) 标量流水:功能部件和标量寄存器(S) 向量流水:功能、存取部件和寄存器(V、VM、VL)
13
重庆大学计算机学院
计算机系统结构
存储器-存储器结构
• 向量处理机的基本思想是把两个向量的对应分量 进行计算,产生一个结果向量。 • 参加运算的向量数据在存储器中,运算的结果也 送到存储器中,其结构与数据流的示意图如下图 所示。如果以向量加法为例子:C=A+B
A B C
流水线运算部件
多端口 存储系统
相关文档
最新文档