1 / 56

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

将向量数据表示和流水线技术结合起来,构成 向量流水处理机 ,简称 向量处理机 ( Vector Processor ) 向量的流水处理 向量流水处理机. 向量的流水处理. 提高流水性能方法: 增加流水线段数,以减少 Δt 每个时钟同时启动多条指令 减少相关,减少功能变换次数,增加处理指令条数。. 向量的流水处理(续). 向量操作特点 向量元素间操作相互独立,且为相同操作 相当于标量循环,对指令带宽的访问要求不高 可采用多体交叉存储器,减少访存延迟。 向量操作很适合于流水处理或并行处理。. 向量的流水处理(续). 向量处理过程 置 V L 、 V M 、 A

nantai
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 向量的流水处理(续) • 向量处理过程 • 置VL、VM、A • 取向量到V • 运算。 • 向量的分量间采取的是流水方式。 • 并行处理机(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) • 向量V运算得标量S,如 • 向量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 B 向量控制 迭代求倒数 R/W 相乘 VM S7 加 浮点 功能 部件 地址寄存器 A 向量控制 T 标量寄存器 S0 向量长度寄存器 VL

  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万亿次浮点运算)能力。 • 网址:www.cray.com

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

  12. 机器型号 向量性能Mflops 标量性能Mflops 向量平衡点 Cray IS 85.0 9.8 0.90 Cray 2S 151.5 11.2 0.93 Cray X-MP 143.3 13.1 0.92 Cray Y-MP 201.6 17.0 0.92 Hitachi S820 737.3 17.8 0.98 NEC SX2 424.2 9.5 0.98 Fujitsu VP400 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. 整数部件 整数部件 位操作 浮点 加 乘法部件 除法部件 图形部件 图形部件 内部总线 读数存数部件 通用寄存器堆 扩展寄存器堆 目标指令 指令分配转移部件 数据Cache (8KB) 指令Cache (8KB) 系统总线 32位地址总线 32位数据总线 超标量处理机MC88110的结构

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

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

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

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

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

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

  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. FA1 FA2 FA3 浮点加法部件 IF ID MD1 MD2 MD3 WR IF ID 乘除法部件 WR AL IF ID 定点ALU部件 LS 先行指令窗口 取数存数部件

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

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

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

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

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

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

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

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

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

  37. 举例: 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处理机是超标量超流水线处理机。

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

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

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

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

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

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

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

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

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

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

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

More Related