将向量数据表示和流水线技术结合起来,构成向量流水处理

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

单发射与多发射(续)
多发射处理机:
每个周期同时取多条指令、同时译码多条指令,同 时执行多条指令,同时写回多个运算结果
需要多个取指令部件,多个指令译码部件和多个写 结果部件
设置多个指令执行部件,复杂的指令执行部件一般 采用流水线结构
设计目标是每个时钟周期平均执行多条指令,ILP的 期望值大于1
IF ID
MD1 MD2 MD3
WR
乘除法部件
IF ID
WR
AL
定点ALU部件
LS
取数存数部件
超标量处理机:
一个时钟周期内能够同时发射多条指令的处理机称 为超标量处理机
必须有两条或两条以上能够同时工作的指令流水线
先行指令窗口:
能够从指令Cache中预取多条指令 能够对窗口内的指令进行数据相关性分析和功能部
两种不同并行性:
超标量处理机采用的是空间并行性 超流水线处理机采用的是时间并行性
指令执行时序
每隔1/n个时钟周期发射一条指令,流水线周 期为1/n个时钟周期
在超标量处理机中,流水线的有些功能段还可 以进一步细分
例如:ID功能段可以再细分为译码、读第一操 作数和读第二操作数三个流水段。也有些功能 段不能再细分,如WR功能段一般不再细分。
超标量处理机MC88110的结构
整数 整数 位 浮点 乘法 除法 图形 图形 部件 部件 操作 加 部件 部件 部件 部件
内部总线
读数存 通用寄 扩展寄 目标 数部件 存器堆 存器堆 指令
指令分配 转移部件
数据Cache (8KB)
指令Cache (8KB)
系统总线
32位地址总线
32位数据总线
单发射与多发射
操作部件的个数多于每个周期发射的指令条数。 4个至16个操作部件
超标量处理机的指令级并行度:1<ILP<m; m为每个周期发射的指令条数。
IF ID
FA1 FA2 FA3 浮点加法部件
MD1 MD2 MD3
WR
IF ID
乘除法部件
WR
AL
IF ID
定点ALU部件
先行指 令窗口
LS 取数存数部件
的期望值1
单发射处理机的指令流水线时空图
12
I1 IF ID
I2
IF
I3
指令
34 5 EX WR
6 时钟 周期
ID EX WR
IF ID EX WR
来自指 令Cache
IF ID
FA1 FA2 FA3 浮点加法部件
MD1 MD2 MD3 乘除法部件
AL 定点ALU部件
LS 取数存数部件
WR 通用寄存器 后行写数栈
时间
度m=3的超标量处理机时空图
超标量处理机基本结构
一般流水线处理机:
一条指令流水线 一个多功能操作部件,每个时钟周期平均执行指令的条数小于1。
多操作部件处理机:
一条指令流水线 多个独立的操作部件,操作部件可以采用流水线,也可以不流水 多操作部件处理机的指令级并行度小于1
因此有超流水线的另外一种定义:有8个或8个 以上流水段的处理机称为超流水线处理机
超流水线处理机(续)
存结果 执行 译码 取指
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
存器;浮点部件扩展寄存器堆,32个80位寄存器。每 个寄存器堆有8个端口,分别与8条内部总线相连接, 有一个缓冲深度为4的先行读数栈和一个缓冲深度为3 的后行写数栈。 两个独立的高速Cache中,各为8KB,采用两路组相联 方式。 转移目标指令Cache,在有两路分支时,存放其中一路 分支上的指令
超标量处理机
采用多指令流水线(度=m) 配置多套功能部件、指令译码电路和多组总线,
并且寄存器也备有多个端口和多组总线。 适合于求解稀疏向量、矩阵 IBM RS/6000、DEC 21064、Intel i960CA、
Tandem Cyclone(飓风)等
超标量处理机(续)
部件
存结果 执行 译码 取指
单发射处理机:
每个周期只取一条指令、只译码一条指令,只执行 一条指令,只写回一运算结果
取指部件和译码部件各设置一套 可以只设置一个多功能操作部件,也可以设置多个
独立的操作部件 操作部件中可以采用流水线结构,也可以不采用流
水线结构 设计目标是每个时钟周期平均执行一条指令,ILP
件冲突的检测
窗口的大小:一般为2至8条指令 采用目前的指令调度技术,每个周期发射2至4条指
令比较合理
举例
Intel公司的i860、i960、Pentium处理机, Motolora公司的MC88110处理机,IBM公司的 Power 6000处理机等每个周期都发射两条指令
TI公司生产的SuperSPARC处理机以及Intel的 Pentium III处理机等每个周期发射三条指令
向量V1与标量S运算得向量V2,V2=S*V1
特殊操作指令
向量比较指令
向量压缩指令
归并指令
向量传送指令
向量流水处理机的结构
1972年首次交付使用CRAY-1向量流水处理机 分布异构型多处理机系统,由中央处理机、诊
断维护控制处理机、大容量磁盘存储子系统、 前端处理机组成 6个流水线单功能部件:整数加、逻辑运算、 移位、浮点加、浮点乘和浮点迭代求倒数 向量寄存器由512个64位寄存器组成,分成8组
IV A 地 址 部 件 程序计数器
浮点加法部件 转换部件
求平方根部件
MIPS
流水线 控制
通用寄存器堆 算 术 逻 辑 部 件 ALU
装入对准器/存入驱动器
整数乘法/除法部件
R4000 超 流 水 线 处 理 机 结 构
MIPS R4000处理机的流水线操作
IF IS
指令 Cache
RF 指令 译码 读寄 存器堆
向量流水处理机
向量流水处理机的指令系统 向量流水处理机的结构 超级向量流水处理机举例
向量流水处理机的指令系统
包含有向量型和标量型两类指令
向量型运算类指令
向量V1运算得向量V2,如V2=SIN(V1)
向量V运算得标量S,如
n
S Vi
i 1
向量V1与向量V2运算得向量V3,V3=V1^V2
每个时钟周期分时发送3条指令的超流水线
举例: MIPS R4000
MIPS R4000处理机每个时钟周期包含两个流水 段,是一种很标准的超流水线处理机结构。指 令流水线有8个流水段
有两个Cache,指令Cache和数据Cache的容量 各8KB,每个时钟周期可以访问Cache两次, 因此在一个时钟周期内可以从指令Cache中读 出两条指令,从数据Cache中读出或写入两个 数据。
超流水线处理机
两种定义:
一个周期内能够分时发射多条指令的处理机称为 超流水线处 理机。
指令流水线有8个或更多功能段的流水线处理机称为超流水线 处理机。
提高处理机性能的不同方法:
超标量处理机是通过增加硬件资源为代价来换取处理机性能 的。
超流水线处理机则通过各硬件部件充分重叠工作来提高处理 机性能。
17.8
0.98
NEC SX2 424.2
9.5
0.98
Fujitsu VP400 207.1
6.6
0.97
向量平衡点(vector balance point)定义为:为了使向量硬 件设备和标量硬件设备的利用率相等,一个程序中向量代码 所占的百分比。
§3 指令级高度并行的超级处理机
超标量处理机 超流水线处理机 超标量超流水线处理机 超长指令字处理机
主要运算部件有整数部件和浮点部件
译码
数据 Cache
存入 缓冲/对准器
标志
标志
指令 Cache
译码
IB U S
写入缓冲器
浮点 寄存器堆 浮点流水线专用通路 浮点控制寄存器 浮点乘法部件 浮点除法部件
数据 标志 地址 DBUS
指 令 C ache 控制
数 据 C ache 控制
系统控制
存储管理部件 指令快表 快 表 TLB DVA
超标量处理机典型结构:
多条指令流水线 进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加
速部件GPU 大量的通用寄存器,两个一级高速Cache 超标量处理机的指令级并行度大于1
举例: Motorola公司的MC88110
10个操作部件 两个寄存器堆:整数部件通用寄存器堆,32个32位寄
并行方式。
向量的流水处理(续)
向量处理工作方式 如:D=A×(B+C)
横向加工:bi+ci->k, k*ai->di
产生N次相关,2N次功能切换,适合标量循环
纵向加工:bi+ci->ki, ki*ai->di
产生1次相关,1次功能切换,可流水处理
纵横处理:对向量分组,组内纵向、组间横 向处理
V7 向量寄存器组(8×64个) 移位
逻辑运算
V0

加 向量 功能
B
部件
向量控制
迭代求倒数
R/W
VM S7
相乘 加

浮点
地址寄存器 A
T
向量控制
功能 部件
标量寄存器 S0 向量长度寄存器 VL
超级向量流水处理机举例
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处理器建造
多发射处理机的指令流水线时空图
12
I1 IF ID
I2 IF ID
I3 IF ID
I4
IF
I5
IF
I6
IF
I7
I8
I9 指令
34 5 EX WR
6 时钟 周期
EX WR
EX WR
ID EX WR
ID EX WR
ID EX WR
IF ID EX WR
IF ID EX WR
IF ID EX WR
FA1 FA2 FA3 浮点加法部件
XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运 算)能力。 网址:www.cray.com
超级向量流水处理机举例(续)
CDC公司1973年推出第一台超级计算机 STAR-100
1964年CDC-6600 RISC特征 1982年 CYBER 205 1999年 被Syntegra收购 ETA10:8个CPU 网址:
IF IS RF EX DF DS TC WB
将向量数据表示和流水线技术结合起来, 构成向量流水处理机,简称向量处理机 (Vector Processor)
向量的流水处理 向量流水处理机
向量的流水处理
提高流水性能方法:
增加流水线段数,以减少Δt 每个时钟同时启动多条指令 减少相关,减少功能变换次数,增加
处理指令条数。
几种超级计算机的向量性能和标量性能
机器型号
向量性能 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
EX DF DS TC


ALU
ຫໍສະໝຸດ Baidu数据 Cache
检 验
WB 寄存 器堆
IF:取第一条指令
IS:取第二条指令
RF:读寄存器堆,指令译码
EX:执行指令
DF:取第一个数据
DS:取第二个数据
TC:数据标志
校验;WB:写回结果
MIPS R4000正常指令流水线工作时序
IF IS RF EX DF DS TC WB
向量的流水处理(续)
向量操作特点
向量元素间操作相互独立,且为相同操作 相当于标量循环,对指令带宽的访问要求不高 可采用多体交叉存储器,减少访存延迟。
向量操作很适合于流水处理或并行处理。
向量的流水处理(续)
向量处理过程
置VL、VM、A 取向量到V 运算。
向量的分量间采取的是流水方式。 并行处理机(SIMD)处理向量时采取的是
相关文档
最新文档