《计算机体系结构chapter5-3》由会员分享,可在线阅读,更多相关《计算机体系结构chapter5-3(56页珍藏版)》请在金锄头文库上搜索。
1、3 向量的流水处理与向量流水处理机 n将向量数据表示和流水线技术结合起来 ,构成向量流水处理机,简称向量处理机 (Vector Processor) n向量的流水处理 n向量流水处理机 向量的流水处理n提高流水性能方法:n增加流水线段数,以减少tn每个时钟同时启动多条指令n减少相关,减少功能变换次数,增加处 理指令条数。向量的流水处理(续)n向量操作特点n向量元素间操作相互独立,且为相同操作n相当于标量循环,对指令带宽的访问要求不高n可采用多体交叉存储器,减少访存延迟。n向量操作很适合于流水处理或并行处理。向量的流水处理(续)n向量处理过程n置VL、VM、An取向量到Vn运算。n向量的分量间采
2、取的是流水方式。n并行处理机(SIMD)处理向量时采取的是 并行方式。向量的流水处理(续)n向量处理工作方式如:D=A(B+C)n横向加工:bi+ci-k, k*ai-din产生N次相关,2N次功能切换,适合标量循环n纵向加工:bi+ci-ki, ki*ai-din产生1次相关,1次功能切换,可流水处理n纵横处理:对向量分组,组内纵向、组间横向 处理向量流水处理机n向量流水处理机的指令系统n向量流水处理机的结构n超级向量流水处理机举例向量流水处理机的指令系统n包含有向量型和标量型两类指令n向量型运算类指令n向量V1运算得向量V2,如V2=SIN(V1)n向量V运算得标量S,如n向量V1与向量V
3、2运算得向量V3,V3=V1V2n向量V1与标量S运算得向量V2,V2=S*V1n特殊操作指令n向量比较指令n向量压缩指令n归并指令n向量传送指令向量流水处理机的结构n1972年首次交付使用CRAY-1向量流水处理机n分布异构型多处理机系统,由中央处理机、诊 断维护控制处理机、大容量磁盘存储子系统、前 端处理机组成n6个流水线单功能部件:整数加、逻辑运算、 移位、浮点加、浮点乘和浮点迭代求倒数n向量寄存器由512个64位寄存器组成,分成8组主 存V0V7 向量寄存器组(864个)加 向量 功能 部件标量寄存器 S0S7加 浮点 功能 部件VM向量控制移位 逻辑运算相乘迭代求倒数向量控制向量长度
4、寄存器 VLBTR/W地址寄存器 A超级向量流水处理机举例n1972年成立CRAY公司,至今生产了400台以上的超级计算机n1979年CRAY-1S,CRAY-1改进型,有10条流水线n1983年CRAY X-MP,用4台CRAY-1n1985年CRAY-2Sn1988年CRAY Y-MP,8台处理机n1991年CRAY Y-MP C-90n1996年12月,克雷研究公司也被SGI公司以7.5亿美元收购 n2000年,被Tera公司合并,同年更名Crayn目前产品:MTA、SV1、SX_6、T3En2002年Cray X1。运算速度最高为每秒52万亿次,支持65.5TB存储器 。n宣布了在20
5、10年以前实现能够连续地处理每秒1000万亿次nCray公司称,他们将在2008年使用四核心的AMD Opteron处理器建造 XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运算 )能力。 n网址:超级向量流水处理机举例(续 )nCDC公司1973年推出第一台超级计算机 STAR-100n1964年CDC-6600 RISC特征n1982年 CYBER 205n1999年 被Syntegra收购nETA10:8个CPUn网址:几种超级计算机的向量性能和标量性能机器型号Fujitsu VP400Cray IS Cray 2S Cray X-MP Cray Y-MP
6、Hitachi S820 NEC SX2向量性能Mflops标量性能Mflops向量平衡点85.09.80.90 151.511.20.93 143.313.10.92 201.617.00.92 737.317.80.98 424.29.50.98 207.16.60.97向量平衡点(vector balance point)定义为:为了使向量硬 件设备和标量硬件设备的利用率相等,一个程序中向量代码 所占的百分比。4 指令级高度并行的超级计算机 n超标量处理机n超流水线处理机n超标量超流水线处理机n超长指令字处理机 超标量处理机n采用多指令流水线(度=m)n配置多套功能部件、指令译码电路和多
7、组总线 ,并且寄存器也备有多个端口和多组总线。n适合于求解稀疏向量、矩阵nIBM RS/6000、DEC 21064、Intel i960CA、 Tandem Cyclone(飓风)等超标量处理机(续)取指译码执行存结果部件时间度m=3的超标量处理机时空图超标量处理机基本结构n一般流水线处理机:n一条指令流水线n一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。n多操作部件处理机:n一条指令流水线n多个独立的操作部件,操作部件可以采用流水线,也可以不流水n多操作部件处理机的指令级并行度小于1n超标量处理机典型结构:n多条指令流水线n进的超标量处理机有:定点处理部件CPU,浮点处理部件F
8、PU,图形加速 部件GPUn大量的通用寄存器,两个一级高速Cachen超标量处理机的指令级并行度大于1举例: Motorola公司的MC88110n10个操作部件n两个寄存器堆:整数部件通用寄存器堆,32个32位寄 存器;浮点部件扩展寄存器堆,32个80位寄存器。每个 寄存器堆有8个端口,分别与8条内部总线相连接,有一 个缓冲深度为4的先行读数栈和一个缓冲深度为3的后行 写数栈。n两个独立的高速Cache中,各为8KB,采用两路组相联 方式。n转移目标指令Cache,在有两路分支时,存放其中一路 分支上的指令超标量处理机MC88110的结构整数 部件整数 部件位 操作浮点 加乘法 部件除法 部
9、件图形 部件图形 部件内部总线读数存 数部件通用寄 存器堆扩展寄 存器堆目标 指令指令分配 转移部件数据Cache (8KB)指令Cache (8KB) 系统总线 32位地址总线32位数据总线单发射与多发射n单发射处理机:n每个周期只取一条指令、只译码一条指令,只执行一 条指令,只写回一运算结果n取指部件和译码部件各设置一套n可以只设置一个多功能操作部件,也可以设置多个独 立的操作部件n操作部件中可以采用流水线结构,也可以不采用流水 线结构n 设计目标是每个时钟周期平均执行一条指令,ILP的 期望值1单发射处理机的指令流水线时空图IF时钟 周期指令I1 I2 I3IDEXWR IFIDEXWR
10、 IFIDEXWR123456IFIDFA1 FA2 FA3MD1 MD2 MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WR来自指令Cache通用寄存器 后行写数栈单发射与多发射(续)n多发射处理机:n每个周期同时取多条指令、同时译码多条指令,同时 执行多条指令,同时写回多个运算结果n需要多个取指令部件,多个指令译码部件和多个写结 果部件n设置多个指令执行部件,复杂的指令执行部件一般采 用流水线结构n设计目标是每个时钟周期平均执行多条指令,ILP的期 望值大于1多发射处理机的指令流水线时空图IF时钟 周期指令I1 I2I3IDEXWR123456I4 I5I6IFIDEXWR
11、I7 I8I9IFIDEXWRIFIDEXWR IFIDEXWR IFIDEXWRIFIDEXWR IFIDEXWR IFIDEXWRIFIDFA1 FA2 FA3MD1 MD2 MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRn超标量处理机:n一个时钟周期内能够同时发射多条指令的处理机称为 超标量处理机n必须有两条或两条以上能够同时工作的指令流水线n先行指令窗口:n能够从指令Cache中预取多条指令n能够对窗口内的指令进行数据相关性分析和功能部件 冲突的检测n窗口的大小:一般为2至8条指令n采用目前的指令调度技术,每个周期发射2至4条指令 比较合理举例nInte
12、l公司的i860、i960、Pentium处理机, Motolora公司的MC88110处理机,IBM公司的 Power 6000处理机等每个周期都发射两条指令nTI公司生产的SuperSPARC处理机以及Intel的 Pentium III处理机等每个周期发射三条指令n操作部件的个数多于每个周期发射的指令条数 。4个至16个操作部件n超标量处理机的指令级并行度:1ILPm; m为每个周期发射的指令条数。IFIDFA1 FA2 FA3MD1 MD2 MD3ALLS浮点加法部件乘除法部件定点ALU部件取数存数部件WRIFIDWRIFID先行指 令窗口超流水线处理机n两种定义:n一个周期内能够分时
13、发射多条指令的处理机称为 超流水线处理机 。n指令流水线有8个或更多功能段的流水线处理机称为超流水线处 理机。n提高处理机性能的不同方法:n超标量处理机是通过增加硬件资源为代价来换取处理机性能的。n超流水线处理机则通过各硬件部件充分重叠工作来提高处理机性 能。n两种不同并行性:n超标量处理机采用的是空间并行性n超流水线处理机采用的是时间并行性指令执行时序n每隔1/n个时钟周期发射一条指令,流水线周 期为1/n个时钟周期n在超标量处理机中,流水线的有些功能段还可 以进一步细分n例如:ID功能段可以再细分为译码、读第一操 作数和读第二操作数三个流水段。也有些功能段 不能再细分,如WR功能段一般不再
14、细分。n因此有超流水线的另外一种定义:有8个或8个 以上流水段的处理机称为超流水线处理机超流水线处理机(续)147102581136912147102581136912147102581136912147102581136912取指译码执行存结果每个时钟周期分时发送3条指令的超流水线举例: MIPS R4000nMIPS R4000处理机每个时钟周期包含两个流水 段,是一种很标准的超流水线处理机结构。指令 流水线有8个流水段n有两个Cache,指令Cache和数据Cache的容量 各8KB,每个时钟周期可以访问Cache两次,因 此在一个时钟周期内可以从指令Cache中读出两 条指令,从数据C
15、ache中读出或写入两个数据。n主要运算部件有整数部件和浮点部件MIPS R4000处理机的流水线操作指令CacheIF:取第一条指令IS:取第二条指令 RF:读寄存器堆,指令译码 EX:执行指令DF:取第一个数据 DS:取第二个数据TC:数据标志 校验;WB:写回结果指令 译码读寄 存器堆ALU数据Cache标志检验寄存 器堆IFISRFEXDF DSWBTCMIPS R4000正常指令流水线工作时序IF流水线周期当前CPU周期IS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC
16、 WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WBIFIS RF EX DF DS TC WB主时 钟 周期超标量超流水线处理机n把超标量与超流水线技术结合在一 起,就成为超标量超流水线处理机n指令执行时序n超标量超流水线处理机在一个时钟周期 内分时发射指令n次,每次同时发射指令 m条,每个时钟周期总共发射指令m n条 。每时钟周期发射3次,每次3条指令IF时钟周期指令I1 I2 I3IDEXWR12345I4 I5 I6 I7 I8 I9IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWR IFIDEXWRI10 I11 I12举例: DEC公司的AlphanDEC公司的Alpha处理机采用超标量超流水线结构。主 要由四个功能部件和两个Cache组成:整数部件EBOX、 浮点部件FBOX、地址部件ABOX和中央