计算机系统结构第六章1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.3.1.4 使用链接技术的指令组时间(P388第13行开始) 指令之间只有存在冲突关系时,才不能编入同一编队。相关指令可以通 过链接技术编入同一编队。
例6.7:指令组同例6.4,但由于使用链接技术,编队结果与例6.4不同。
即指令1与2链接在同一编队,指令3与1冲突要分开,指令3与4 链接在同一编队,指令5与3冲突要分开。结果如下 编队1:指令1、指令2 编队2:指令3、指令4 编队3:指令5 不论向量长度是否大于寄存器组长度,均可代入分段开采时间公式,计算指 令组执行总时间。此处Tchime = 3,Tloop = 15,Tstart = 12+7+12+6+12 = 49,MVL=64。注意公式法得数与下页图解法的得数不完全相同。
6.2 向量处理机的结构
1. 向量处理机要解决两个问题: (1)设法维持连续的数据流(提供连续的A和B)。 (2)设法降低对存储器的压力。 2. 向量处理机采取的技术措施: (1)提高存储器的带宽。例STAR-100,32体。 (2)增设高速中间存储器——向量寄存器。例YH-1,8组 向量寄存器,每组128个单元(每个单元64位)。 3. 向量处理机的两种不同结构(根据采用的技术措施分) (1)存储器——存储器结构 (2)寄存器——寄存器结构
不使用链接技术的时空图与各编队时间 访存 12段 指令1 乘法 7段 指令2 加法 6段 指令4 12 n-1 12 n-1 6 n-1 12 n-1 时间 指令3 指令5
6.3.1.3 考虑分段开采的指令组时间() 说明:当向量长度超过寄存器组长度时,需要采用分段开采的算法, 每段长度等于寄存器组长度。指令组执行总时间如下
6.3.2 最大性能R∞
R∞表示当向量长度为无穷大时的向量流水线的最大性能, 单位为MFLห้องสมุดไป่ตู้PS。
6.3.3 半性能向量长度n1/2
它是向量流水线性能达到R∞的1/2时对应的向量长度。
6.3.4 临界长度nv
它表示向量流水方式的工作速度优于标量串行方式工作 时所需的向量长度临界值。
本章小结
(1) 向量流水处理机特点; (2) 冲突及其分类; (3) CRAY-1分析指令的3条策略; (4) 链接方式; (5) 启动、输出延迟(各1拍)。
6.3 特点
多数为巨型机,有多条单功能流水线。
6.4 典型工作方式
CRAY-1是世界上第一台向量流水处理巨型机。 (1) CRAY-1的技术术语 向量寄存器组V0,V1,……,V7。 分量计数器 链接方式 启动、输出延迟(各1拍)。
(2) 链接技术
前一条指令的结果不必送回存储器直接作为后一条指令的操作数, 甚至可在前一条指令完成之前就使用其结果。
无相关,无冲突 ── 同时启动; 有相关,无冲突 ── 链接启动; 有冲突 ── 顺序执行;
(5) 计算向量程序执行时间的工具 ── 多流水线时空图
6.3 向量处理机的性能评价
一共有4个性能指标:Tvp、R∞、n1/2、nv。 6.3.1 向量指令的处理时间Tvp 6.3.1.1 单条向量指令执行时间(第9行开始) Tvp = Ts + Tvf + ( n - 1 ) Tc 其中: Tvp —— 一条向量指令执行总时间 Ts —— 配套标量指令的折算时间 Tvf —— 流水线流过时间,即计算第一个分量所需时间 n —— 向量中包含的分量数
例6.1:若要进行向量运算: D=A×( B+C ),假设向量长度<=64,
且B和C已由存储器取至V0和V1,则下面 3条向量指令就可完成上述 运算: V3 ← A V2 ← V0+V1 V4 ← V2*V3 第一、二条指令因既无向量寄存器使用冲突,也无功能部件使用 冲突,所以这两条指令可并行执行。 第三条指令与第一、二条指令均存在先写后读的相关冲突,因而 可将第三条指令与第一、二条指令链接执行,如图所示。 由于同步的要求,数据进入和流出每个功能部件,包括访存都需 要1拍时间。
分析:
1. 实现链接除了无向量寄存器使用冲突和无功能部件使用冲突 外,还有时间 时间上的要求,只有当前一条指令的第一个结果分 时间 量送入结果向量寄存器的那一个时钟周期方可链接,若错过 该时刻就不能进行链接,只有当前一条向量指令全部执行完 毕,释放向量寄存器资源后才能执行后面指令。
2. 另外,当一条向量指令的两个源操作数分别是两条先行指令 的结果寄存器时,要求先行的两条指令产生运算结果的时间 必须相等,即要求有关功能部件的延迟时间相等 延迟时间相等,此外还要 延迟时间相等 求这两条向量指令的向量长度必须相等 向量长度必须相等,否则也不能链接。 向量长度必须相等
6.1 向量处理机的基本概念
(2) 纵向处理方式——向量处理机STAR-100采用 对整个向量按相同的运算处理完后,再执行别的运算。 先算:K(1:N)=B(1:N)+C(1:N) 再算:D(1:N)=A(1:N)*K(1:N) (3)纵横处理方式——向量处理机Cray-1、YH-1采用 把长度为N的向量分成长度为n的S个组。组内按纵向 处理方式进行处理,然后依次处理各个组。 先算第1组:K(1:n)=B(1:n)+C(1:n) D(1:n)=A(1:n)*K(1:n) 再算第2组:K(n+1:n+n)=B(n+1:n+n)+C(n+1:n+n) D(n+1:n+n)=A(n+1:n+n)*K(n+1:n+n) … 纵横处理方式当前最常用
6.1 向量处理机的基本概念
2. 向量处理方式 有四个长度为N的向量A、B、C、D。现要完成下面的 运算: D=A*(B+C) (1) 横向处理方式——标量处理机处理方式 先算D(1)=A(1)*(B(1)+C(1)) 再算D(2)=A(2)*(B(2)+C(2)) … 最后算D(N)=A(N)*(B(N)+C(N))
n (Tloop +Tstart ) + n×Tchime = n ×(15 + 49) + 3n Tn = × 64 VL M ≈ (n + 64) + 3n = 4n + 64
使用链接技术的时空图与各编队时间(设n < 64,即不分段。) 访存 12段 指令1 乘法 7段 指令2 加法 6段 指令4 12 7 n-1 12 6 n-1 12 n-1 时间 总时间 = 3n + 46 指令3 指令5
n Tn = × (Tloop +Tstart ) + n×Tchime VL M
其中: Tn n MVL —— 指令组执行总时间 —— 向量中包含的分量数 —— 寄存器组长度
Tloop —— 配套标量指令的折算时间,即前面公式中的Ts Tstart —— 流水线流过时间,即前面公式中的Tvf Tchime —— 编队数 (注:这是一个近似公式;CRAY-1机器的Tloop = 15)
Tc —— 流水线“瓶颈”段时间, Tc = max{Δti} (注:该公式仅比标量流水线时间公式Tk = ( k + n - 1 ) max{Δti} 多了一项“辅助标量指令折算时间”Ts而已)
6.3.1.2 不使用链接技术的指令组时间(第18行开始) 指令之间不论是存在冲突还是相关关系,都不能编入同一编队。 例6.4-6.5:对下列指令组编队,并求出每个编队的开始、获得 第一个分量结果、获得最后一个分量结果的时间。 LV V1,Rx MULTSV V2,F0,V1 LV V3,Ry ADDV V4,V2,V3 SV Ry,V4 编队:由于指令1与2之间关于V1相关、指令3与4之间关于 V3相关、指令4与5之间关于V4相关,所以它们必须 分在不同的编队。结果如下: 编队1:指令1 编队2:指令2、指令3 编队3:指令4 编队4:指令5
6.1 向量处理机的基本概念
1. 什么是向量处理
一个用FORTRAN语言编写的程序: DO 100 I=1,N 100 B(I)= B(I)+C(I)
• 取指8*N次,取操作数3*N次 • 如果采用向量编译,则只需 一条向量指令: B(1:N)=B(1:N)+C(1:N) 它取指1次,取操作数的次数 仍为3*N。
第六章 向量流水线技术
本章将讨论向量处理机。向量处理机结构目前已成为解决数值计算 问题的一种最重要的高性能结构。 绝大多数向量处理机都采用流水线结构。当一条流水线不能达到所 要求的性能时,设计者往往采用多条流水线(超标量)。这种处理机不 仅能处理单条流水线上的数据,还能并行地处理多条流水线上独立无关 的数据。 向量处理机的向量运算吞吐量性能比同价格的串行处理机 高1~2个数量级; 向量处理机吞吐量的提高只是对特定结构的问题有效,即局限 于那些可以转化为向量运算的问题。 20世纪80年代出现了许多以流水线运算部件为基础的向量处理机。 本章的目的在于描述向量处理机的一般结构,并讨论算法和结构如 何配合才能高效地处理多类计算机的问题。
6.2 向量处理机的结构
4. 两种结构的简单比较: • 第一种结构是依靠主存来保证流水线所需要的操作数。 因此主存必须具有至少和运算器所要求带宽一样高的带 宽。这就要求主存或者存取速度足够快,或者分为多个 独立的存储模块,或者两者都具备。 • 第二种结构是通过容量比主存小得多的中间存储器即寄 存器来保证很高的带宽。这样,低速存取的主存就不会 妨碍流水结构运算器的连续运行。第二种结构的另一好 处是流水结构运算器可以重叠进行,因为高速寄存器的 带宽足以满足几个流水结构运算部件的带宽要求。
(3) 冲突及其分类
功能部件冲突 ── 指令运算符号相同; Vi变量冲突 ── 指令中使用的Vi变量相同,具体有3种形式, 即左同名、右同名、上右下左同名。 冲突:① A=B+C A=D*E 相关: ④ A=B+C D=A*E ② A=B+C D=B*E ③ A=B+C B=D*E
(4) CRAY-1分析指令的3条策略
假设向量长度为N,若这三条指令全部用串行方法,则执行时间为: [ (1+6+1)+N-1]+[(1+6十1)+N-1]+[(1+7+1)+N-1] = 3N+ 22拍 若前两条指令并行执行,第三条指令串行执行,则执行时间为: [(1+ 6+1)+ N-1]+[( 1+7+ l)+ N-1] = 2N+ 15拍 若采用链接技术,则执行时间为: (1+ 6+1)+(1+7+ 1)+(N-l) = N+16拍
相关文档
最新文档