中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)向量体系结构

Review-05/08:向量体系结构 向量处理机基本概念 基本思想:两个向量的对应分量进行运算,产生一个结果向量 向量处理机基本特征 VSW一条指令包含多个操作 单条向量指令内所包含的操作相互独立 以已知模式访问存储器多体交叉存储系统 控制相关少 向量处理机基本结构 向量指令并行执行 向量运算部件的执行方式流水线方式 向量部件结构多“道”结构多条运算流水线 向量处理机性能评估 向量指令流执行时间: Convey, Chimes, Start-up time 其他指标:R,N/2,N 两个问题 向量处理机中的存储器访问 向量处理机中的优化技术 1/272021 中国科学技术大学
Review-05/08:向量体系结构 • 向量处理机基本概念 – 基本思想:两个向量的对应分量进行运算,产生一个结果向量 • 向量处理机基本特征 – VSIW-一条指令包含多个操作 – 单条向量指令内所包含的操作相互独立 – 以已知模式访问存储器-多体交叉存储系统 – 控制相关少 • 向量处理机基本结构 – 向量指令并行执行 – 向量运算部件的执行方式-流水线方式 – 向量部件结构-多“道”结构-多条运算流水线 • 向量处理机性能评估 – 向量指令流执行时间: Convey, Chimes, Start-up time – 其他指标: R , N1/2 , NV • 两个问题 – 向量处理机中的存储器访问 – 向量处理机中的优化技术 1/27/2021 中国科学技术大学 2

=a×X+Y) Assuming vectors X,Y are length 64 LD FO a .load scalar a LV V1.Rx load vector x Scalar ys. vector MULTS V2.F0.V1 vector-scalar mult LV V3, Ry load vector Y ADDV V4..V3 add SV Ry v4 LD FO a .store the result ADDI R4, Rx, #512 last address to load loop: LD F2, O(Rx) load XO 578(2+9*64)vs MULTD F2, F0xF2 :a*XO 321(1+564)ops(18× Ld F4, O( Ry) :load YO 578(2+964)vs. ADDD F4, F2-F4 a*XO+ YO 6 instructions(96X) SD F4,0(Ry): store into YO ADDI RxRx. #8 increment index to x 64 operation vectors no loop overhead ADDI Ry, Ry, #8 increment index to y SUB R20, R4, Rx compute bound also 64X fewer pipeline hazards BNZ R20, loop check if done 1/272021 中国科学技术大学
DAXPY (Y = a × X + Y) 1/27/2021 中国科学技术大学 3

ector stride 假设处理顺序相邻的元素在存储器中不顺序存储。例如 d。10i=1,100 do10j=1,100 A(主,)=0.0 do10k=1,100 A(,j)=A(,j)+B(i,k)*C(k,) B或C的两次访问不会相邻(相隔800byte) · stride向量中相邻元素间的距离 IvWs (load vector with stride) instruction Strides=>会导致体冲突 (e.g. stride 32 and 16 banks) 1/272021 中国科学技术大学
Vector Stride • 假设处理顺序相邻的元素在存储器中不顺序存储。例如 do 10 i = 1,100 do 10 j = 1,100 A(i,j) = 0.0 do 10 k = 1,100 10 A(i,j) = A(i,j)+B(i,k)*C(k,j) • B 或 C 的两次访问不会相邻 (相隔800 bytes) • stride: 向量中相邻元素间的距离 => LVWS (load vector with stride) instruction • Strides => 会导致体冲突 (e.g., stride = 32 and 16 banks) 1/27/2021 中国科学技术大学 4

Memory operations Load/ store操作成组地在寄存器和存储器之间移 动数据 三类寻址方式 Unit stride(单步长 · Fastest LV VI, R1 //1=MR1.R1+63]load, stride=1 Non-unit (constant) stride(常数步长) LVWS VI, R1, R2//V1=MR1.R1+63*R2]load, stride=R2 Indexed( gather-scatter)(间接寻址) LVI VI, R1, V2 //V1-MR1+V2i, i =0.63]indir ("gather") 等价于寄存器间接寻址方式 对稀疏矩阵有效 ·用于向量化操作的指令增多 1/272021 中国科学技术大学
Memory operations • Load/store 操作成组地在寄存器和存储器之间移 动数据 • 三类寻址方式 – Unit stride (单步长) • Fastest LV V1,R1 //V1=M[R1..R1+63] load, stride=1 – Non-unit (constant) stride (常数步长) LVWS V1,R1,R2 //V1=M[R1..R1+63*R2] load, stride=R2 – Indexed (gather-scatter) (间接寻址) LVI V1,R1,V2 //V1=M[R1+V2i,i=0..63] indir.("gather") • 等价于寄存器间接寻址方式 • 对稀疏矩阵有效 • 用于向量化操作的指令增多 1/27/2021 中国科学技术大学 5

emory Banking 独立存储体方式:由多个相互独立的存储体(Bank)构成存储器组织 可独立访问存储体,各存储体共享数据和地址总线( minimize pin cost) 每个周期可以启动和完成一个bank的访问 如果N个存储器访问不同的bank可以并行执行 Bank Bank Bank Bank MDRI MAR MDRI MAR MDR MAR MDRII MAR Data bi Address bus CPU 1/272021 中国科学技术大学
Memory Banking • 独立存储体方式:由多个相互独立的存储体(Bank) 构成存储器组织。 可独立访问存储体,各存储体共享数据和地址总线 (minimize pin cost) • 每个周期可以启动和完成一个bank的访问 • 如果N个存储器访问不同的bank可以并行执行 1/27/2021 中国科学技术大学 6

Interleaved Vector Memory System Cray-1, 16 banks 4 cycle bank busy time 12 cycle latency Bank busy time: Time before bank ready to accept next request if stride =1& consecutive elements inter/ea ved across banks number of banks > bank latency then can sustain 1 element/cycle throughput Base Stride Vector Registers Address Generator 0123456789 ABCDEF Memory Banks 1/272021 中国科学技术大学
Interleaved Vector Memory System 1/27/2021 中国科学技术大学 • Cray-1, 16 banks, 4 cycle bank busy time, 12 cycle latency – Bank busy time: Time before bank ready to accept next request – If stride = 1 & consecutive elements interleaved across banks & number of banks >= bank latency, then can sustain 1 element/cycle throughput 0 1 2 3 4 5 6 7 8 9 A B C D E F + Base Stride Vector Registers Memory Banks Address Generator 7

EXampleappF F-15 Suppose we want to fetch a vector of 64 elements starting at byte address 136, and a memory access takes 6 clocks. How many memory banks must we have to support one fetch per clock cycle? With what addresses are the banks accessed? When will the various elements arrive at the cpu? 1/272021 中国科学技术大学
Example(AppF F-15) Suppose we want to fetch a vector of 64 elements starting at byte address 136,and a memory access takes 6 clocks. How many memory banks must we have to support one fetch per clock cycle? With what addresses are the banks accessed? When will the various elements arrive at the CPU? 1/27/2021 中国科学技术大学 8

Bank Cycle no. 5 0 144 2 busy 15 busy b 160 busy busy busy busy l68 5 busy busy busy busy busy 176 6 busy busy busy busy busy 184 192 busy b busy busy 8 busy 200 busy busy busy busy 9 busy busy 208 busybusy busy 10 busy busy busy 216 busy busy 11 busy busy busy b USV 224 busy 12 busy busybusybusybusy 232 13 busy b busy 240 14 busy busy busy busy 248 15 256 busy busy busy busy busy 16 busy 264 busy b busy Figure F7 Memory addresses (in bytes) by bank number and time slot at which access begins. Each memory bank latches the element address at the start of an access and is then busy for 6 clock cycles before returning a value to the CPU. Note that the CPU cannot keep all eight banks busy all the time because it is limited to supplying one new address and receiving one data item each cycle 1/272021 中国科学技术大学
1/27/2021 中国科学技术大学 9

t#l: Vector Chaining ·寄存器定向路径的向量机版本 首次在Cray-1上使用 V2‖V3 V4 5 MULV v3, v1, v2 ADDⅴ5Av3,V4 Chain Chain Load Unit u A Memory 1/272021 中国科学技术大学
Vector Opt#1: Vector Chaining 1/27/2021 中国科学技术大学 10 • 寄存器定向路径的向量机版本 • 首次在Cray-1上使用 Memory V1 Load Unit Mult. V2 V3 Chain Add V4 V5 Chain LV v1 MULV v3,v1,v2 ADDV v5, v3, v4

Chaining Advantage 不采用链接技术,必须处理完前一条指令的最后一个元素, 才能启动下一条相关的指令 Load Mul Time Add 采用链接技术,前一条指令的第一个结果出来后,就可以启 动下一条相关指令的执 Load Mul Add 1/272021 中国科学技术大学
Vector Chaining Advantage 1/27/2021 中国科学技术大学 11 • 采用链接技术,前一条指令的第一个结果出来后,就可以启 动下一条相关指令的执行 Load Mul Add Load Mul Time Add • 不采用链接技术,必须处理完前一条指令的最后一个元素, 才能启动下一条相关的指令
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第二部分 公钥密码和散列函数 第8章 数论入门(苗付友).pptx
- 《计算机网络技术》课程教学资源(PPT课件讲稿)第5章 广域网.ppt
- 香港城市大学:Rank Aggregation in MetaSearch.ppt
- Vitebi 译码.ppt
- 图形处理及多媒体应用(PPT课件讲稿).pps
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第5章 Microsoft Excel 2010.pptx
- Distributed Systems and Networking Programmin(SOAP – Introduction).ppt
- Coded Caching under Arbitrary Popularity Distributions.pptx
- 东南大学:《泛型编程 Generic Programming》课程教学资源(PPT课件讲稿)Chapter 14 Templates.ppt
- 华中科技大学:《面向对象程序设计》课程PPT教学课件(Visual C++ 编程)第2讲 Visual C++ 6.0开发环境.ppt
- 《编译原理实践》课程教学资源(PPT讲稿)词法分析程序的自动生成器LEX.ppt
- 《Java语言程序设计》课程教学资源(PPT课件讲稿)第四章 Applet及其应用.ppt
- 《计算机组装与维修》课程教学资源(PPT讲稿)第7章 显示器.ppt
- 计算机问题求解(PPT讲稿)算法在计算机科学中的地位(算法的效率).pptx
- 西安电子科技大学:《Mobile Programming》课程PPT教学课件(Android Programming)Lecture 9 Service and Broadcast Receiver.pptx
- 泛型编程 Generic Programming(PPT讲稿)Templates.ppt
- 北京大学SAS俱乐部:SAS软件会员培训(PPT讲稿)SAS编程语言入门.ppt
- 中国科学技术大学:《数据结构及其算法》课程电子教案(PPT课件讲稿)第三章 栈和队列.pps
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 关系数据理论.pptx
- 安徽广播影视职业技术学院:《ASP动态网页设计实用教程》课程教学资源(PPT讲稿)第1章 ASP基础(贾海陶).ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)面向对象的分析与设计简介 OOA & OOD:An introduction.ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第1章 计算机常识(主讲:马秀麟).pptx
- 《并发控制技术》课程教学资源(PPT课件讲稿)第7章 事务管理 transaction management.ppt
- 山东大学软件学院:非线性规划(PPT讲稿)一维搜索方法.ppt
- 合肥工业大学:《计算机网络技术》课程教学资源(PPT课件讲稿)第4章 交换网的运行.ppt
- 长春工业大学:《网页设计与制作》课程教学资源(PPT课件)第5章 Div+CSS布局技术.ppt
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 09 Evaluation.ppt
- 上海交通大学:《计算机图形学 Computer Graphics》课程教学资源(PPT讲稿)CHAPTER 4 THE VISUALIZATION PIPELINE.pptx
- 香港中文大学:XML for Interoperable Digital Video Library.ppt
- 中国医科大学计算机中心:《虚拟现实与增强现实技术概论》课程教学资源(PPT课件讲稿)第3章 虚拟现实系统的输出设备.pptx
- 同济大学:《大数据分析与数据挖掘 Big Data Analysis and Mining》课程教学资源(PPT课件讲稿)K-means & EM.pptx
- 北京大学:文本挖掘技术(PPT讲稿)文本分类 Text Categorization.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第一章 HTML基础.ppt
- 清华大学:《计算机导论》课程电子教案(PPT教学课件)第1章 计算机发展简史.ppt
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 06 Index Compression.ppt
- 嵌入式交叉开发环境的建立(PPT实验讲稿).ppt
- 西安交通大学:《微型计算机接口技术》课程教学资源(PPT课件讲稿)第五章 输入/输出控制接口.ppt
- 《TCP/IP协议及其应用》课程教学资源(PPT课件讲稿)第3章 IP寻址与地址解析.ppt
- 中国医科大学:《计算机网络实用教程》课程教学资源(PPT讲稿)高速局域网技术、交换式局域网技术、虚拟局域网技术、主要的城域网技术.ppt
- 《大学计算机基础》课程教学资源:作业习题.pdf