Presentation is loading. Please wait.

Presentation is loading. Please wait.

将向量数据表示和流水线技术结合起来,构成向量流水处理机,简称向量处理机(Vector Processor)

Similar presentations


Presentation on theme: "将向量数据表示和流水线技术结合起来,构成向量流水处理机,简称向量处理机(Vector Processor)"— Presentation transcript:

1 将向量数据表示和流水线技术结合起来,构成向量流水处理机,简称向量处理机(Vector Processor)
向量的流水处理 向量流水处理机

2 向量的流水处理 提高流水性能方法: 增加流水线段数,以减少Δt 每个时钟同时启动多条指令 减少相关,减少功能变换次数,增加处理指令条数。

3 向量的流水处理(续) 向量操作特点 向量操作很适合于流水处理或并行处理。 向量元素间操作相互独立,且为相同操作
相当于标量循环,对指令带宽的访问要求不高 可采用多体交叉存储器,减少访存延迟。 向量操作很适合于流水处理或并行处理。

4 向量的流水处理(续) 向量处理过程 向量的分量间采取的是流水方式。 并行处理机(SIMD)处理向量时采取的是并行方式。 置VL、VM、A
运算。 向量的分量间采取的是流水方式。 并行处理机(SIMD)处理向量时采取的是并行方式。

5 向量的流水处理(续) 向量处理工作方式 如:D=A×(B+C) 横向加工:bi+ci->k, k*ai->di
产生N次相关,2N次功能切换,适合标量循环 纵向加工:bi+ci->ki, ki*ai->di 产生1次相关,1次功能切换,可流水处理 纵横处理:对向量分组,组内纵向、组间横向处理

6 向量流水处理机 向量流水处理机的指令系统 向量流水处理机的结构 超级向量流水处理机举例

7 向量流水处理机的指令系统 包含有向量型和标量型两类指令 向量型运算类指令 特殊操作指令 向量V1运算得向量V2,如V2=SIN(V1)
向量V1与向量V2运算得向量V3,V3=V1^V2 向量V1与标量S运算得向量V2,V2=S*V1 特殊操作指令 向量比较指令 向量压缩指令 归并指令 向量传送指令

8 向量流水处理机的结构 1972年首次交付使用CRAY-1向量流水处理机
分布异构型多处理机系统,由中央处理机、诊断维护控制处理机、大容量磁盘存储子系统、前端处理机组成 6个流水线单功能部件:整数加、逻辑运算、移位、浮点加、浮点乘和浮点迭代求倒数 向量寄存器由512个64位寄存器组成,分成8组

9 主 存 V7 向量寄存器组(8×64个) 移位 逻辑运算 V0 加 向量 功能 部件 向量控制 迭代求倒数 R/W 相乘 VM S7 浮点
主 存 V0 V7 向量寄存器组(8×64个) 向量 功能 部件 标量寄存器 S0 S7 浮点 VM 向量控制 移位 逻辑运算 相乘 迭代求倒数 向量长度寄存器 VL B T R/W 地址寄存器 A

10 超级向量流水处理机举例 1972年成立CRAY公司,至今生产了400台以上的超级计算机
1979年CRAY-1S,CRAY-1改进型,有10条流水线 1983年CRAY X-MP,用4台CRAY-1 1985年CRAY-2S 1988年CRAY Y-MP,8台处理机 1991年CRAY Y-MP C-90 1996年12月,克雷研究公司也被SGI公司以7.5亿美元收购 2000年,被Tera公司合并,同年更名Cray 目前产品:MTA、SV1、SX_6、T3E 2002年Cray X1。运算速度最高为每秒52万亿次,支持65.5TB存储器。 宣布了在2010年以前实现能够连续地处理每秒1000万亿次 Cray公司称,他们将在2008年使用四核心的AMD Opteron处理器建造XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运算)能力。 网址:

11 超级向量流水处理机举例(续) CDC公司1973年推出第一台超级计算机STAR-100 1964年CDC-6600 RISC特征
1982年 CYBER 205 1999年 被Syntegra收购 ETA10:8个CPU 网址:

12 几种超级计算机的向量性能和标量性能 机器型号 Fujitsu VP400 Cray IS Cray 2S Cray X-MP
Cray Y-MP Hitachi S820 NEC SX2 向量性能 Mflops 标量性能 Mflops 向量平衡点 85.0 9.8 0.90 151.5 11.2 0.93 143.3 13.1 0.92 201.6 17.0 737.3 17.8 0.98 424.2 9.5 207.1 6.6 0.97 向量平衡点(vector balance point)定义为:为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。

13 §3 指令级高度并行的超级处理机 超标量处理机 超流水线处理机 超标量超流水线处理机 超长指令字处理机

14 超标量处理机 采用多指令流水线(度=m) 配置多套功能部件、指令译码电路和多组总线,并且寄存器也备有多个端口和多组总线。
适合于求解稀疏向量、矩阵 IBM RS/6000、DEC 21064、Intel i960CA、Tandem Cyclone(飓风)等

15 超标量处理机(续) 取指 译码 执行 存结果 部件 时间 度m=3的超标量处理机时空图

16 超标量处理机基本结构 一般流水线处理机: 多操作部件处理机: 超标量处理机典型结构: 一条指令流水线
一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。 多操作部件处理机: 多个独立的操作部件,操作部件可以采用流水线,也可以不流水 多操作部件处理机的指令级并行度小于1 超标量处理机典型结构: 多条指令流水线 进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU 大量的通用寄存器,两个一级高速Cache 超标量处理机的指令级并行度大于1

17 举例: Motorola公司的MC88110 10个操作部件
两个寄存器堆:整数部件通用寄存器堆,32个32位寄存器;浮点部件扩展寄存器堆,32个80位寄存器。每个寄存器堆有8个端口,分别与8条内部总线相连接,有一个缓冲深度为4的先行读数栈和一个缓冲深度为3的后行写数栈。 两个独立的高速Cache中,各为8KB,采用两路组相联方式。 转移目标指令Cache,在有两路分支时,存放其中一路分支上的指令

18 超标量处理机MC88110的结构 整数 部件 位 操作 浮点 加 乘法 部件 除法 部件 图形 部件 内部总线 读数存 数部件
通用寄 存器堆 扩展寄 存器堆 目标 指令 指令分配 转移部件 数据Cache (8KB) 指令Cache (8KB) 系统总线 32位地址总线 32位数据总线

19 单发射与多发射 单发射处理机: 每个周期只取一条指令、只译码一条指令,只执行一条指令,只写回一运算结果 取指部件和译码部件各设置一套
可以只设置一个多功能操作部件,也可以设置多个独立的操作部件 操作部件中可以采用流水线结构,也可以不采用流水线结构 设计目标是每个时钟周期平均执行一条指令,ILP的期望值1

20 单发射处理机的指令流水线时空图 IF 时钟 周期 指令 I1 I2 I3 ID EX WR 1 2 3 4 5 6

21 IF ID FA1 FA2 FA3 MD1 MD2 MD3 AL LS 浮点加法部件 乘除法部件 定点ALU部件 取数存数部件 WR 来自指 令Cache 通用寄存器 后行写数栈

22 单发射与多发射(续) 多发射处理机: 每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果
需要多个取指令部件,多个指令译码部件和多个写结果部件 设置多个指令执行部件,复杂的指令执行部件一般采用流水线结构 设计目标是每个时钟周期平均执行多条指令,ILP的期望值大于1

23 多发射处理机的指令流水线时空图 IF 时钟 周期 指令 I1 I2 I3 ID EX WR 1 2 3 4 5 6 I4 I5 I6 I7

24 IF ID FA1 FA2 FA3 MD1 MD2 MD3 AL LS 浮点加法部件 乘除法部件 定点ALU部件 取数存数部件 WR

25 超标量处理机: 先行指令窗口: 一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机 必须有两条或两条以上能够同时工作的指令流水线
能够从指令Cache中预取多条指令 能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测 窗口的大小:一般为2至8条指令 采用目前的指令调度技术,每个周期发射2至4条指令比较合理

26 举例 Intel公司的i860、i960、Pentium处理机, Motolora公司的MC88110处理机,IBM公司的Power 6000处理机等每个周期都发射两条指令 TI公司生产的SuperSPARC处理机以及Intel的Pentium III处理机等每个周期发射三条指令 操作部件的个数多于每个周期发射的指令条数。4个至16个操作部件 超标量处理机的指令级并行度:1<ILP<m;m为每个周期发射的指令条数。

27 IF ID FA1 FA2 FA3 MD1 MD2 MD3 AL LS 浮点加法部件 乘除法部件 定点ALU部件 取数存数部件 WR 先行指 令窗口

28 超流水线处理机 两种定义: 提高处理机性能的不同方法: 两种不同并行性: 一个周期内能够分时发射多条指令的处理机称为 超流水线处理机。
指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机。 提高处理机性能的不同方法: 超标量处理机是通过增加硬件资源为代价来换取处理机性能的。 超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性能。 两种不同并行性: 超标量处理机采用的是空间并行性 超流水线处理机采用的是时间并行性

29 指令执行时序 每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期 在超标量处理机中,流水线的有些功能段还可以进一步细分
例如:ID功能段可以再细分为译码、读第一操作数和读第二操作数三个流水段。也有些功能段不能再细分,如WR功能段一般不再细分。 因此有超流水线的另外一种定义:有8个或8个以上流水段的处理机称为超流水线处理机

30 超流水线处理机(续) 1 4 7 10 2 5 8 11 3 6 9 12 取指 译码 执行 存结果 每个时钟周期分时发送3条指令的超流水线

31 举例: MIPS R4000 MIPS R4000处理机每个时钟周期包含两个流水段,是一种很标准的超流水线处理机结构。指令流水线有8个流水段
有两个Cache,指令Cache和数据Cache的容量各8KB,每个时钟周期可以访问Cache两次,因此在一个时钟周期内可以从指令Cache中读出两条指令,从数据Cache中读出或写入两个数据。 主要运算部件有整数部件和浮点部件

32

33 MIPS R4000处理机的流水线操作 指令 Cache
IF:取第一条指令 IS:取第二条指令 RF:读寄存器堆,指令译码 EX:执行指令 DF:取第一个数据 DS:取第二个数据 TC:数据标志 校验;WB:写回结果 指令 译码 读寄 存器堆 ALU 数据 标志检验 寄存 器堆 IF IS RF EX DF DS WB TC

34 MIPS R4000正常指令流水线工作时序 IF 流水线周期 当前CPU周期 IS RF EX DF DS TC WB 主时 钟 周期

35 超标量超流水线处理机 把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机 指令执行时序
超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m × n条。

36 每时钟周期发射3次,每次3条指令 IF 时钟周期 指令 I1 I2 I3 ID EX WR 1 2 3 4 5 I4 I5 I6 I7 I8

37 举例: DEC公司的Alpha DEC公司的Alpha处理机采用超标量超流水线结构。主要由四个功能部件和两个Cache组成:整数部件EBOX、浮点部件FBOX、地址部件ABOX和中央控制部件IBOX。 中央控制部件IBOX可以同时从指令Cache中读入两条指令,同时对读入的两条指令进行译码,并且对这两条指令作资源冲突检测,进行数据相关性和控制相关性分析。如果资源和相关性允许,IBOX就把两条指令同时发射给EBOX、ABOX和FBOX三个指令执行部件中的两个。 指令流水线采用顺序发射乱序完成的控制方式。在指令Cache中有一个转移历史表,实现条件转移的动态预测。在EBOX内还有多条专用数据通路,可以把运算结果直接送到执行部件。

38 举例: DEC公司的Alpha Alpha 21064处理机共有三条指令流水线整数操作流水线和访问存储器流水线分为7个流水段,其中,取指令和分析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。 所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。 析指令为4个流水段,运算2个流水段,写结果1个流水段。浮点操作流水线分为10个流水段,其中,浮点执行部件FBOX的延迟时间为6个流水段。 所有指令执行部件EBOX、IBOX、ABOX和FBOX中都设置由专用数据通路。 Alpha 21064处理机的三条指令流水线的平均段数为8段,每个时钟周期发射两条指令。因此,Alpha 21064处理机是超标量超流水线处理机。

39

40 三种指令级并行处理机性能比较 超标量处理机、超流水线处理机和超标量超流水线处理机相对于单流水线普通标量处理机的性能曲线。 0.0 0.5
1.0 1.5 2.0 2.5 1 2 3 4 5 6 7 8 相对性能 超标量 超流水线 超标量 超流水线 指令级 并行度

41 结论 三种处理机的性能关系超标量处理机的相对性能最高,其次是超标量超流水线处理机,超流水线处理机的相对性能最低,主要原因如下:
超标量处理机在每个时钟周期的一开始就同时发射多条指令,而超流水线处理机则要把一个时钟周期平均分成多个流水线周期,每个流水线周期发射一条指令;因此,超流水线处理机的启动延迟比超标量处理机大。

42 结论(续) 条件转移造成的损失,超流水线处理机要比超标量处理机大。
在指令执行过程中的每一个功能段,超标量处理机都重复设置有多个相同的指令执行部件,而超流水线处理机只是把同一个指令执行部件分解为多个流水级;因此,超标量处理机指令执行部件的冲突要比超流水线处理机小。

43 结论(续) 实际指令级并行度与理论指令级并行度的关系 当横坐标给出的理论指令级并行度比较低时,处理机的实际指令级并行度的提高比较快。
当理论指令级并行度进一步增加时,处理机实际指令级并行度提高的速度越来越慢。 在实际设计超标量、超流水线、超标量超流水线处理机的指令级并行度时要适当,否则,有可能造成花费了大量的硬件,但实际上处理机所能达到的指令级并行度并不高。 目前,一般认为,m 和 n 都不要超过4。

44 结论(续) 最大指令级并行度 一个特定程序由于受到本身的数据相关和控制相关的限制,它的指令级并行度的最大值是有限的,是有个确定的值。这个最大值主要由程序自身的语义来决定,与这个程序运行在那一种处理机上无关。对于某一个特定的程序,图中的三条曲线最终都要收拢到同一个点上。当然,对于各个不同程序,这个收拢点的位置也是不同的。

45 超标量处理机: 超流水线处理机: 超标量超流水线处理机: Intel公司的i860, i960, Pentium处理机
Motolora公司的MC88110 IBM公司的Power 6000 SUN公司的SuperSPARC等 超流水线处理机: SGI公司的MIPS R4000, R5000, R10000等 超标量超流水线处理机: DEC公司的Alpha等

46 超标量、超流水、超标量超流水处理机的主要性能
k段流水 线基准标 量处理机 m度 超标量 n度超 流水线 (m,n)度 超标量 超流水 机器类型 机器流水 线周期 同时发射 指令条数 指令发射 等待时间 指令级并 行度ILP 1个时 钟周期 1条 1 m 1/n n m´n

47 超长指令字处理机(VLIW) VLIW (Very Long Instruction Word) 是将水平型微码和超标量处理两者结合的结构
指令字长可达数百位,多个功能部件并发工作,共享大容量寄存器堆。 是一种单指令多操作码多数据的系统结构(SIMOMD)

48 超长指令字处理机(续) 存/取 浮点加 浮点乘 …… 定点算逻 转移 主存 寄存器堆 典型的VLIW处理机组成和指令格式 部件 法部件
逻部件 典型的VLIW处理机组成和指令格式

49 超长指令字处理机(续) 取指 译码 执行 存结果 部件 时间 度m=3的执行时空图

50 EPIC Explicitly Parallel Instruction Computing
显性并行指令计算 1994年,Intel和HP决定联合开发新一代微处理器—基于IA-64架构的Merced,并共同定义了显性并行指令计算技术EPIC. IA-64指令系统的统称。 集成RISC和VLIW各自的优势技术,指令字长为128位,包含三个40位的指令和一个8位的模版代码。 每个指令分为多个独立的操作字段,每个字段可分别控制各个功能部件并行工作,而模版中包含各指令间并行处理的信息,依据模版代码信息,可同时在不同的执行单元中执行三条没有相关性的指令,控制并行处理关系,提高并行处理能力

51 EPIC EPIC是一种超越超标量的新模式,它克服了VLIW处理器的缺点,实现下面的3步:
由编译器先分析指令间的依赖关系; 编译器将没有依赖关系的指令,按最多是3个指令为一组,组合成多个“组”; 由内置的执行单元将分成组的指令群并行执行。 因每条指令究竟分给哪一个执行单元是由软件决定的,因而利用简单的硬件就可以提高指令的并行度,降低了处理器的制造成本。

52 RVIP技术和CRVIP技术 RVIP(RISC-VLIW Processor)技术和CRVIP(CISC-RISC-VLIW Processor)技术是将RISC超标量结构与VLIW技术融为一体,或将CRIP(CISC-RISC Processor)混合结构与VLIW技术融为一体的技术. 在融合VLIW和超标量结构技术的RVIP型或者CRVIP型微处理机中,将不必在其执行部件中设置复杂的执行顺序控制电路。因为在指令分发调度之前就已经弄清楚了这些指令之间的相关联性。 VLIW技术渗入的显著效果之一,就是它消除了超标量结构的过分的复杂性,从而使硬件系统结构设计获得简化。

53 HP Integrity Superdome
                                                 Itanium 2 SGI Altix 3700 Linux HP Integrity Superdome HP-UX,Win2000,Linux

54 向量处理机的发展 1、向量计算机系统结构的发展趋势 提供多种向量运算指令。 除具有向量处理功能外还有其它功能。 采用多层次的存储器系统。
流水线技术与并行技术相结合。 2、向量计算机系统结构要解决的六个技术问题: 处理机带宽,两种方法: 运算部件采用流水线结构。用多个运算器构成并行系统。 存储器带宽,多种解决方法: 用多个独立的存储体构造一个大容量的存储器系统。 采用多层次的存储器系统提高访问速度。 采用高速缓冲存储器和可寻址的寄存器组效果最好。 采用流水线技术,存储系统的访问速度快5~20倍。

55 输入/输出带宽 许多高性能向量处理机配备10 ~ 29个DMA通道。
通信带宽。共享存储器或互连网络。 同步。多流水线结构通过控制程序使所有流水线同步工作。 Cray-1系统采用流水线互锁来控制向量操作,不冲突的操作可以并行地执行,相关的操作尽可能链接起来重叠地进行。 多用途。非数值计算问题。 3、向量计算机系统结构的主要优点是: 通过流水线存取方式有效地提高了存储器的带宽。 流水结构的运算器有很高的性能价格比。 非常简单的机制就能满足通信和同步的要求。 向量处理机以Mflops (Million floating-point operations per second)作为速度单位。一般认为,标量计算机中执行一次浮点运算需2~5条指令,平均需3条指令。

56 小结 流水线方式 相关问题:转移、数据、控制、指令 时空图分析 单功能非线性流水线调度 超标量、超流水线、VLIW


Download ppt "将向量数据表示和流水线技术结合起来,构成向量流水处理机,简称向量处理机(Vector Processor)"

Similar presentations


Ads by Google