TO Vector Microprocessor (UCB/CSI, 1995) ector register Llane elements striped over lanes 241252627281量29l3 16 231 8]「9]「10 121「13114115 0][1][2J[3J厘4]5]H[6 2021/1/29 计算机体系结构
T0 Vector Microprocessor (UCB/ICSI, 1995) 27 Vector register Lane elements striped over lanes [0] [8] [16] [24] [1] [9] [17] [25] [2] [10] [18] [26] [3] [11] [19] [27] [4] [12] [20] [28] [5] [13] [21] [29] [6] [14] [22] [30] [7] [15] [23] [31] 2021/1/29 计算机体系结构
Vector Instruction Parallelism 多条向量指令可重叠执行(链接技术) 例如:每个向量32个元素,8 lanes(车道) Load Unit Multiply Unit Add Unit load m IN time add load mul add Instruction Issue Complete 24 operations/ cycle while issuing 1 short instruction/cycle
Vector Instruction Parallelism • 多条向量指令可重叠执行(链接技术) − 例如:每个向量 32 个元素,8 lanes(车道) 28 load load mul mul add add Load Unit Multiply Unit Add Unit time Instruction issue Complete 24 operations/cycle while issuing 1 short instruction/cycle 2021/1/29 计算机体系结构
04/23-Review ·向量处理机基本结构 VSIW (ISA) 向量处理机的基本组成 向量运算部件的执行方式-流水线方式 向量部件结构-多“道”结构-多条运算流水线 多体交叉存储系统 向量指令并行执行 ·向量处理机性能评估 向量指令流执行时间: Convey, Chimes, Start-up time 其他指标:R。,N1/2,Nv 2021/1/29 计算机体系结构
04/23-Review • 向量处理机基本结构 − VSIW (ISA) − 向量处理机的基本组成 − 向量运算部件的执行方式-流水线方式 − 向量部件结构-多“道”结构-多条运算流水线 − 多体交叉存储系统 − 向量指令并行执行 • 向量处理机性能评估 − 向量指令流执行时间: Convey, Chimes, Start-up time − 其他指标: R , N1/2 , NV 2021/1/29 计算机体系结构 29
Vector execution time Time f(vector length, data dependencies, struct hazards Initiation旧ate功能部件消耗向量元素的速率 coηvoy可在同一时钟周期开始执行的指令集合( no structural or data hazards Chime:执行一个 convo所花费的大致时间( approx. time) m convoys take m chimes, 如果每个向量长度为n那么m个 Convoys所花费的时间是 machines 每个chim所花费的时间是n^ clocks,该程序所花费的总时间大约为 mⅹ n clock cycles(忽略额外开销;当向量长度较长时这种近似是 理的) 1: LV Rx .load vector X 4 convoys, 1 lane, VL=64 2: MULV V2, F0, V1 vector-scalar mult 4x64=256 clocks V3, Ry load vector Y for 4 clocks per result 3: ADDV VA, V2,V3 jadd 4: Sv Ry, v4 store the result 2021/1/29 计算机体系结构
Vector Execution Time • Time = f(vector length, data dependencies, struct. hazards) • Initiation rate: 功能部件消耗向量元素的速率 • Convoy: 可在同一时钟周期开始执行的指令集合 (no structural or data hazards) • Chime: 执行一个convoy所花费的大致时间(approx. time) • m convoys take m chimes; − 如果每个向量长度为n, 那么m个convoys 所花费的时间是m个chimes − 每个chime所花费的时间是n个clocks,该程序所花费的总时间大约为 m x n clock cycles (忽略额外开销; 当向量长度较长时这种近似是合 理的) 2021/1/29 计算机体系结构 4 convoys, 1 lane, VL=64 => 4 x 64 = 256 clocks (or 4 clocks per result) 1: LV V1,Rx ;load vector X 2: MULV V2,F0,V1 ;vector-scalar mult. LV V3,Ry ;load vector Y 3: ADDV V4,V2,V3 ;add 4: SV Ry,V4 ;store the result 30
Vector Startup 向量启动时间由两部分构成 功能部件延时:一个操作通过功能部件的时间 截止时间或恢复时间( dead time or recovery time):运行下一条 向量指令的间隔时间 Functional Unit Latency RXXXW RXXXW First VectorInstruction RX XX W RXX XW RIXIXXW Dead Time RIXXIXW RXXXW RXXXW Dead tim RXXXW Second Vector Instruction 2021/1/29 RXXX W
Vector Startup • 向量启动时间由两部分构成 − 功能部件延时:一个操作通过功能部件的时间 − 截止时间或恢复时间(dead time or recovery time ):运行下一条 向量指令的间隔时间 2021/1/29 计算机体系结构 R X X X W R X X X W R X X X W R X X X W R X X X W R X X X W R X X X W R X X X W R X X X W R X X X W Functional Unit Latency Dead Time First Vector Instruction Second Vector Instruction Dead Time 31