《体系结构第3章-第6讲课件.ppt》由会员分享,可在线阅读,更多相关《体系结构第3章-第6讲课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机体系结构计算机体系结构计算机体系结构计算机体系结构 1 1 1 1国家精品资源共享课程:计算机体系结构国家精品资源共享课程:计算机体系结构第三章:流水线技术计算机体系结构计算机体系结构计算机体系结构计算机体系结构 2 2 2 2第三章第三章 流水线技术流水线技术计算机体系结构计算机体系结构计算机体系结构计算机体系结构 3 3 3 33.1 3.1 流水线基本概念流水线基本概念流水线基本概念流水线基本概念3.2 3.2 MIPSMIPS基本流水线基本流水线基本流水线基本流水线3.3 3.3 流水线中的相关流水线中的相关流水线中的相关流水线中的相关3.4 3.4 实例分析:实例分析:实例分析
2、:实例分析:MIPS R4000MIPS R40003.5 3.5 向量处理机向量处理机向量处理机向量处理机本章内容本章内容计算机体系结构计算机体系结构计算机体系结构计算机体系结构 4 4 4 41.1.什么是向量机?什么是向量机?具有向量数据表示和相应向量指令的流水线处理机具有向量数据表示和相应向量指令的流水线处理机称为称为向量流水线处理机向量流水线处理机,也称,也称向量处理机向量处理机。与之对应的是标量处理机,不支持向量数据表示,与之对应的是标量处理机,不支持向量数据表示,没有提供向量指令。没有提供向量指令。2.2.实例:一个简单的实例:一个简单的FORTRANFORTRAN循环程序循环程
3、序DO 10 i=1,NDO 10 i=1,N1010di=ai*(bi+ci)di=ai*(bi+ci)3.5 3.5 向量处理机向量处理机计算机体系结构计算机体系结构计算机体系结构计算机体系结构 5 5 5 5计算机体系结构计算机体系结构计算机体系结构计算机体系结构 6 6 6 62 2垂直(纵向)处理方式垂直(纵向)处理方式u计算向量计算向量k k的每个元素之后,再计算向量的每个元素之后,再计算向量d d的每个元的每个元素,需要向量数据类型和向量指令的支持素,需要向量数据类型和向量指令的支持K=B+CK=B+CD=K*AD=K*Au没有分支;仅有没有分支;仅有1 1次数据相关;仅需要次数
4、据相关;仅需要1 1次功能切换次功能切换u需要需要存储器存储器-存储器型操作的运算流水线存储器型操作的运算流水线计算机体系结构计算机体系结构计算机体系结构计算机体系结构 7 7 7 73 3分组(纵横)处理方式分组(纵横)处理方式u将长度为将长度为N N的向量分为的向量分为mm组,每组有组,每组有n n个元素,组个元素,组内按纵向方式处理,依次处理各组。内按纵向方式处理,依次处理各组。u需要需要mm次迭代;每次迭代执行两条向量指令,有次迭代;每次迭代执行两条向量指令,有1 1次数据相关,需要次数据相关,需要2 2次功能切换次功能切换u需要需要寄存器寄存器-寄存器型操作的运算流水线寄存器型操作的
5、运算流水线u这种技术称为这种技术称为向量循环向量循环或或分段开采分段开采计算机体系结构计算机体系结构计算机体系结构计算机体系结构 8 8 8 8例例3.83.8 设设A A和和B B是长度为是长度为N N的向量,考虑在一个向量长的向量,考虑在一个向量长 度为度为6464的向量处理机上实现如下的循环操作:的向量处理机上实现如下的循环操作:DO 10 I=1,NDO 10 I=1,N10 A(I)=5.0*B(I)+1.010 A(I)=5.0*B(I)+1.0分析:分析:(1)(1)当当N N6464时时 (2)(2)当当N N6464时,需要进行分段开采时,需要进行分段开采计算机体系结构计算机
6、体系结构计算机体系结构计算机体系结构 9 9 9 9计算机体系结构计算机体系结构计算机体系结构计算机体系结构 101010104.4.向量处理机的速度评价方法向量处理机的速度评价方法u一般认为,在标量计算机中执行一次浮点运算,一般认为,在标量计算机中执行一次浮点运算,平均需平均需3 3条指令。因此,如果要把这两种速度指标条指令。因此,如果要把这两种速度指标放在一起比较,就应该把放在一起比较,就应该把MFLOPSMFLOPS乘以一个系数,乘以一个系数,以得到相应的以得到相应的MIPSMIPS。u比较法比较法:选择一台速度指标得到公认的机器作为:选择一台速度指标得到公认的机器作为标准机,给定一些典
7、型的基准程序,分别在标准标准机,给定一些典型的基准程序,分别在标准机和被测机上求解。机和被测机上求解。计算机体系结构计算机体系结构计算机体系结构计算机体系结构 11111111实例:实例:Cray-ICray-I1.1.性能指标性能指标1GFLOPS1GFLOPS、主频、主频80M80M、向量长度、向量长度64642.2.基本结构基本结构-向量运算部件向量运算部件-向量寄存器组(向量寄存器组(V V0 0-V-V7 7)-向量长度寄存器向量长度寄存器-向量屏蔽寄存器向量屏蔽寄存器3.5.23.5.2 向量处理机实例分析向量处理机实例分析计算机体系结构计算机体系结构计算机体系结构计算机体系结构
8、12121212计算机体系结构计算机体系结构计算机体系结构计算机体系结构 131313134.CRAY-I4.CRAY-I体系结构特点体系结构特点u向量寄存器与功能单元的连接通路向量寄存器与功能单元的连接通路每个每个V Vi i块都有块都有单独总线单独总线可连到所有向量功能部件,可连到所有向量功能部件,而每个向量功能部件也各自都有把运算结果送回而每个向量功能部件也各自都有把运算结果送回向量寄存器组的总线。向量寄存器组的总线。u向量链接技术向量链接技术一个向量功能部件得到的结果一个向量功能部件得到的结果直接送入直接送入另一个向另一个向量功能部件的量功能部件的操作数寄存器操作数寄存器时所发生的连接
9、过程时所发生的连接过程称为称为链接链接。计算机体系结构计算机体系结构计算机体系结构计算机体系结构 14141414计算机体系结构计算机体系结构计算机体系结构计算机体系结构 15151515例例3.73.7:对向量运算:对向量运算D=A*(B+C)D=A*(B+C),若向量长度,若向量长度N64N64,向量元素为浮点数,则在向量元素为浮点数,则在B B、C C取到取到V0V0、V1V1后,后,就可用以下三条向量指令求解:就可用以下三条向量指令求解:V3V3存储器存储器(访存,载入访存,载入A)A)V2V0V2V0V1V1(浮点加浮点加)V4V2*V3V4V2*V3(浮点乘,将浮点乘,将DD存入存
10、入V4)V4)5.5.向量链接技术实例分析向量链接技术实例分析计算机体系结构计算机体系结构计算机体系结构计算机体系结构 16161616假设:向量处理机将元素从假设:向量处理机将元素从ViVi送往功能部件及把结果存送往功能部件及把结果存 入入ViVi都需要都需要1 1拍;浮点加法和访存操作都需要拍;浮点加法和访存操作都需要6 6 拍;浮点乘操作需要拍;浮点乘操作需要7 7拍。拍。这样,第一个结果被存入这样,第一个结果被存入V4V4需要经过:需要经过:1(1(送送)+6()+6(浮加浮加)+1()+1(入入)+1()+1(送送)+7()+7(浮乘浮乘)+1()+1(入入)=17()=17(拍拍)
11、此后,每拍将得到一个结果送入此后,每拍将得到一个结果送入V4V4。总的完成时间为:总的完成时间为:17+17+(N-1N-1)拍)拍计算机体系结构计算机体系结构计算机体系结构计算机体系结构 17171717计算机体系结构计算机体系结构计算机体系结构计算机体系结构 18181818计算机体系结构计算机体系结构计算机体系结构计算机体系结构 19191919计算机体系结构计算机体系结构计算机体系结构计算机体系结构 20202020计算机体系结构计算机体系结构计算机体系结构计算机体系结构 21212121计算机体系结构计算机体系结构计算机体系结构计算机体系结构 22222222S15.0;S21.0;VLL;V0B;V1S1*V0;V2S2+V1;AV2;VL64;for(I=0 to K-1)V0B;V1S1*V0;V2S2+V1;AV2;假假 设设 N=K*64+L计算机体系结构计算机体系结构计算机体系结构计算机体系结构 25252525计算机体系结构计算机体系结构计算机体系结构计算机体系结构 26262626计算机体系结构计算机体系结构计算机体系结构计算机体系结构 27272727计算机体系结构计算机体系结构计算机体系结构计算机体系结构 28282828谢谢!谢谢!