欢迎来到天天文库
浏览记录
ID:48226644
大小:2.67 MB
页数:215页
时间:2020-01-18
《并行计算机体系结构第三章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章流水和向量处理3.1提高计算机速度的措施MIPS=IPC*fc其中IPC为每拍流出的指令条数。提高IPC和fc是提高计算机速度最直接最有效的方法。提高IPC:增加每拍并行流出的指令条数和配置更多的功能部件。空间并行。提高fc:功能部件应该能在更高的频率下工作。时间平行。可以用P=O(s*f)衡量系统的潜在性能,s是与设备量成正比的功能部件并行度,f是主频。3.1.1提高频率提高系统的频率是提高系统性能的最直接的方法,但是频率的提高具有很大的难度:1.器件的速度和集成度2.流水线分站的代价和效率3.高速信号传输4.时钟
2、沿的离散5.高密度组装工艺和冷却技术**往往当通过提高频率来提高计算机的速度不能满足要求时,我们才考虑空间并行性3.1.1空间并行为了达到更高的主频,需要特殊技术并且代价巨大。这导致了大规模并行处理系统MPP的出现。可以设置多个功能部件支持向量、超标量、超长指令字和超流水结构。空间并行性可以有效提高计算机速度,速度提高的最大倍数<=部件设备量增加的倍数。上述不等式的原因主要是有存储和外设限制造成的,为了提高速度往往需要高带宽存储系统的支持和高效的I/O能力,我们将在后面的章节讨论存储系统和I/O系统。当然在MPP中各个结点
3、相联还需要不同的互联网络的支持。先行控制技术—补充1.顺序执行方式执行n条指令所用的时间为:如果每段时间都为t,则执行n条指令所用的时间为:T=3nt主要优点:控制简单,节省设备主要缺点:速度慢,功能部件的利用率低2.一次重叠执行方式如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t主要优点:指令的执行时间缩短,功能部件的利用率明显提高。主要缺点:需要增加一些硬件,控制过程稍复杂。3.二次重叠执行方式如果三个过程的时间相等,执行n条指令的时间为:T=(2+n)t在理想情况下,处理机中同时有三条指令在执行。处
4、理机的结构要作比较大的改变,需要采用先行控制技术。先行控制方式的原理1.采用二次重叠执行方式必须解决两个问题:(1)有独立的取指令部件、指令分析部件和指令执行部件把一个集中的指令控制器,分解成三个独立的控制器:存储控制器、指令控制器、运算控制器(2)要解决访问主存储器的冲突问题取指令、分析指令、执行指令都可能要访问存储器2.解决访存冲突的方法:(1)采用低位交叉存取方式:这种方法不能根本解决冲突问题。读指令、读操作数、写结果。(2)两个独立的存储器:独立的指令存储器和数据存储器。如果再规定,执行指令的执行结果只写到通用寄存
5、器,则取指令、分析指令和执行指令就可以同时进行。在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被称为哈佛结构。(3)采用先行控制技术采用先行控制技术的关键是缓冲技术和预处理技术。缓冲技术通常用在工作速度不固定的两个功能部件之间。设置缓冲栈的目的是用以平滑功能部件之间的工作速度。在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。先行处理机结构1.三个独立的控制器:存储控制器、指令控制器、运算控制器。2.四个缓冲栈:先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后
6、行写数栈。3.处理机组成4.先行指令缓冲栈的组成作用:只要指令缓冲栈没有充满,就自动发出取指令的请求。设置两个程序计数器:先行程序计数器PC1,用来指示取指令,现行程序计数器PC,记录指令分析器正在分析的指令地址。5.存在的主要问题:各类指令“分析”和“执行”的时间相差很大数据相关转移或转子程序指令先行指令缓冲栈的组成指令执行时序设置了指令缓冲栈,取指令的时间就可以忽略不计。一条指令的执行可分为2个过程1.分析指令和执行指令时间不相等时的情况采用先行缓冲栈的指令执行过程先行读数栈,先行操作栈,后行写数栈。理想情况下,指令执
7、行部件应该一直忙碌。连续执行n条指令的时间为:先行缓冲栈设置先行缓冲栈的目的:使指令分析器和指令执行部件能够独立工作。1.先行指令缓冲栈:处于主存储器与指令分析器之间用它来平滑主存储器取指令和指令分析器使用指令之间的速度差异RR型指令,不必处理,直接送先行缓冲栈RS型指令,主存有效地址送先行读数栈,用该先行读数栈的寄存器编号替换指令中的主存地址码部分,形成RR*指令送先行缓冲栈RI型指令,指令中的立即数送先行读数栈,用该先行读数栈的寄存器编号替换指令中的立即数部分,形成RR*指令送先行缓冲栈转移指令,一般在指令分析器中直接
8、执行。先行操作栈处于指令分析器和运算控制器之间使指令分析器和运算器能够各自独立工作。采用先进先出方式工作,由指令寄存器堆和控制逻辑组成。先行读数栈处于主存储器与运算器之间平滑运算器与主存储器的工作每个缓冲寄存器由地址寄存器、操作数寄存器和标志三部分组成。也可以把地址寄存器和操作数寄存器合为一个。当收到从
此文档下载收益归作者所有