“计算机组成与系统结构”(第8章)-2009

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机组成与系统结构上海交通大学网络教育学院陈泽宇博士副教授网络教育学院2020年9月14日星期一2第1章计算机系统概论第2章运算方法和运算器第3章存储系统第4章指令系统第5章中央处理器(CPU)第6章总线系统第7章输入输出(I/O)系统第8章并行计算机系统网络教育学院2020年9月14日星期一3第8章并行计算机系统8.1并行性的概念8.2向量处理机8.3阵列处理机8.4多处理机系统8.5机群系统8.6网格计算网络教育学院2020年9月14日星期一4•计算机系统性能和容量的快速增长,除了归功于底层VLSI技术的发展之外,另一个重要因素在于计算机体系结构的不断改进,而并行性则是其中的一个主要方面网络教育学院2020年9月14日星期一58.1并行性的概念8.1.1并行性分类8.1.2提高并行性的技术途径8.1.3并行性的发展8.1.4并行计算机体系结构分类网络教育学院2020年9月14日星期一6•所谓并行性,是指计算机系统具有可以同时进行运算或操作的特性•它包括同时性与并发性两种含义•同时性(Simultaneity)是指两个或两个以上的事件在同一时刻发生•并发性(Concurrency)是指两个或两个以上的事件在同一时间间隔内发生•所谓并行计算(ParallelComputing)是指通过网络相互连接的两个以上的处理机相互协调工作,同时计算同一个任务的不同部分•从而提高问题求解速度,或者求解单机无法解决的大规模问题网络教育学院2020年9月14日星期一7•并行计算的目的⑴提高速度•对于一个固定规模的问题,采用并行计算技术可以使求解时间更少•现在的微型机也开始借助于流水线技术、多核技术等并行计算技术来提高系统的速度⑵扩大问题求解规模•由于器件本身的限制,任何单处理器的速度不能超过某个上限•要突破这个上限,必须采用并行计算技术网络教育学院2020年9月14日星期一8•并行计算的应用领域主要包括:⑴科学和工程计算⑵商业计算网络教育学院2020年9月14日星期一9⑴科学和工程计算•在计算领域,计算机被用来模拟那些要么不可能、要么需花费很大代价才能观测到的物理现象•并行体系结构已经成为科学计算的中流砥柱•物理、化学、材料科学、生物学、天文学、地球物理等科学领域的研究都离不开并行计算•对物理现象建模的工具也被应用到工程应用中•如石油(油藏模拟)、汽车(碰撞模拟、牵引分析、燃料效益)、航空(气流分析、引擎效率、结构力学、电磁学)、制药学(分子建模)等网络教育学院2020年9月14日星期一10⑵商业计算•商业计算在高端领域也要借助于并行体系结构•早在20世纪60年代中期,多处理器就在商业计算的高端市场上崭露头角•在这个领域,计算机系统的速度和容量直接反映了系统能够支持的商业规模网络教育学院2020年9月14日星期一118.1.1并行性分类•计算机系统中的并行性有不同的等级•从处理数据的角度看,并行性等级从低到高可分为:⑴字串位串•同时只对一个字的一位进行处理•这是最基本的串处理方式,不存在并行性⑵字串位并•同时对一个字的全部位进行处理,不同字之间是串行的•这里已开始出现并行性网络教育学院2020年9月14日星期一12⑶字并位串•同时对许多字的一位进行处理•这种方式有较高的并行性⑷全并行•同时对许多字的全部位进行处理•这是最高一级的并行性网络教育学院2020年9月14日星期一13•从执行程序的角度看,并行性等级从低到高可分为:⑴指令内部并行•一条指令执行时各微操作之间并行。⑵指令级并行•并行执行两条或多条指令⑶任务级或过程级并行•并行执行两个以上过程或任务(程序段)⑷作业或程序级并行•并行执行两个以上作业或程序网络教育学院2020年9月14日星期一14•并行处理着重挖掘计算过程中的并行事件,使并行性达到较高的级别•并行处理是体系结构、硬件、软件、算法、语言等多方面综合研究的领域网络教育学院2020年9月14日星期一158.1.2提高并行性的技术途径•计算机系统中提高并行性的措施多种多样,就其基本思想而言,可归纳成如下四条途径:1.时间重叠2.资源重复3.资源重复+时间重叠4.资源共享网络教育学院2020年9月14日星期一161.时间重叠•即时间并行•在并行性概念中引入时间因素,多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转时间而赢得速度网络教育学院2020年9月14日星期一172.资源重复•即空间并行•在并行性概念中引入空间因素,采用以数量取胜的原则,通过重复设置硬件资源,大幅度提高计算机系统的性能•随着硬件价格的降低,这种方式在单处理机中广泛应用,而多处理机本身就是实施资源重复原理的结果网络教育学院2020年9月14日星期一183.资源重复+时间重叠•在计算机系统中同时运用空间并行和时间并行技术•这种方式在计算机系统中应用广泛,成为主流的并行技术网络教育学院2020年9月14日星期一194.资源共享•这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备•例如多道程序、分时系统就是遵循资源共享原理而产生的•资源共享既降低了成本,又提高了计算机设备的利用率网络教育学院2020年9月14日星期一208.1.3并行性的发展1.单机系统并行性发展2.多机系统并行性发展网络教育学院2020年9月14日星期一211.单机系统并行性发展•在发展高性能单处理机过程中,起着主导作用的是时间并行技术•实现时间并行的物质基础是部件功能专用化•把一件工作按功能分割为若干个相互联系的部分,把每一部分指定给专门的部件完成•然后按时间重叠原理把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作网络教育学院2020年9月14日星期一22•在单处理机中,空间并行技术的运用也已经十分普遍•多体交叉存储器和多操作部件都是空间并行技术成功应用的结构形式•在多操作部件处理机中,•通用部件被分解成若干个专用的操作部件•如加法部件、乘法部件、除法部件、逻辑运算部件等•一条指令所需的操作部件只要空闲,就可以开始执行这条指令•这是指令级并行网络教育学院2020年9月14日星期一23•在单处理机中,资源共享概念的实质就是用单处理机模拟多处理机的功能,形成所谓的“虚拟机(VirtualMachine,VM)”的概念•例如在分时系统中,在多终端情况下,每个终端上的用户都感觉自己好像独立拥有一台处理机一样网络教育学院2020年9月14日星期一242.多机系统并行性发展•多机系统也遵循时间重叠、资源重复、资源共享原理,向三种不同的多处理机方向发展,但在采取的技术措施上与单处理机系统有些差别•为了反映多机系统各机器之间物理连接的紧密程度及交互能力的强弱,我们引入“耦合度”这个术语•按照耦合度的不同,可将多机系统分为紧耦合系统和松耦合系统两大类•紧耦合系统又称直接耦合系统•指计算机间物理连接的频带较高,一般通过总线或高速开关实现计算机间的互连,可以共享主存•由于具有较高的信息传输率,因而可以快速并行处理作业或任务网络教育学院2020年9月14日星期一25•松耦合系统又称间接耦合系统•一般通过通道或通信线路实现计算机间的互连,可以共享外存设备(磁盘、磁带等)•机器之间的相互作用是在文件或数据集一级上进行的•松耦合系统表现为两种形式:•一种是多台计算机和共享外存设备连接•不同机器之间实现功能上的分工(功能专用化)•机器处理的结果以文件或数据集的形式送到共享外存设备,供其他机器继续处理•另一种是计算机网络•通过通信线路连接,以求得更大范围的资源共享网络教育学院2020年9月14日星期一26•多处理机中为了实现时间重叠,将处理机功能分散给各台专用处理机去完成,即功能专用化,各处理机之间则按时间重叠原理工作•机器间的耦合程度逐渐加强,从而发展成为异构型多处理机系统•通过设置多台相同类型的计算机而构成的容错系统,可使系统工作的可靠性在处理机一级得到提高•随着硬件价格的降低,人们追求的目标是通过多处理机的并行处理来提高整个系统的速度,因此对计算机间互连网络的性能提出了更高的要求•高带宽、低延迟、低开销的机间互连网络,是高效实现任务级并行处理的前提条件•为了使并行处理的任务能够在处理机间随机地进行调度,就必须使各处理机具有同等的功能,从而成为同构型多处理机系统网络教育学院2020年9月14日星期一278.1.4并行计算机体系结构分类•根据指令流和数据流的不同,通常把计算机系统分为四类:•单指令流单数据流SISD、单指令流多数据流SIMD、多指令流单数据流MISD、多指令流多数据流MIMD•并行计算机系统除了少量早期、专用的SIMD系统之外,绝大部分为MIMD系统•MIMD型并行计算机采用的技术包括共享地址空间(SharedAddressSpace)和非连接地址空间(DisjointAddressSpace)两种网络教育学院2020年9月14日星期一288.2向量处理机8.2.1向量处理的基本概念×8.2.2向量处理机的结构网络教育学院2020年9月14日星期一298.2.1向量处理的基本概念•向量处理机是指令级并行的计算机•能较好地发挥流水线技术的特性,达到较高的计算速度•新型的向量流水处理机采用了多处理机的体系结构1.向量处理×2.向量处理方法网络教育学院2020年9月14日星期一301.向量处理•从数学的概念上讲,•标量(Scalar)是指单个量•向量(Vector)是指一组标量•例如,有一个数组A=(a1,a2,a3,…,an),•其中括号内的每一个元素ai就是一个标量•而A则称为向量•它由一组标量组成网络教育学院2020年9月14日星期一31【例8-1】用标量处理机和向量处理机处理以下的向量求解问题:Y=a×X+Y其中a为标量,X和Y为向量,初始值放在存储器中网络教育学院2020年9月14日星期一32⑴用标量处理机来处理•其本质是一个循环,计算过程如下:•用标量指令对向量中的每个元素进行一次乘、加、存储操作•为了实现循环操作,每次都必须指明对X和Y中元素位置的下标变量加1,并使操作次数每次减1,以判断循环是否结束•现假定X和Y向量的首元素读出后放到寄存器RX和RY中,•当向量元素长度为64时,循环程序段如下:LDF0,a;标量a装入寄存器F0ADDR4,Rx,#512;向量元素的末地址装入寄存器R4LOOP:LDF2,M(Rx);取向量元素X(i)MULF2,F0,F2;a与X(i)相乘LDF4,M(Ry);取向量元素Y(i)ADDF4,F2,F4;aX(i)与Y(i)相加SDM(Ry),F4;存储结果向量元素ADDRx,Rx,#8;X向量元素下标加1ADDRy,Ry,#8;Y向量元素下标加1SUBR20,R4,Rx;(R4)-(Rx)→R20,计算是否到界限值BNZR20,LOOP;若循环未结束,转LOOP网络教育学院2020年9月14日星期一33⑵用向量处理机处理•使用向量指令•一条向量指令可以一次完成X或Y向量中所有元素的处理•因此完成同样操作的程序段如下:LDF0,a;标量a装入F0LVV1,M(X);向量X装入V1向量寄存器(LV为向量取指令)MULVV2,F0,V1;向量X与标量a相乘(MULV为向量乘指令)LVV3,M(Y);向量Y装入V3向量寄存器ADDVV4,V2,V3;向量加aX+Y(ADDV为向量加指令)SVM(Y),V4;存储结果向量(SV为向量存指令)网络教育学院2020年9月14日星期一34•对上述两段标量处理机、向量处理机程序简单比较可知:•向量处理机只需执行6条指令,而标量处理机共需执行9×64+2=578条指令•这是因为向量指令是对向量中的64个元素一次性进行操作,而且没有标量循环中对元素下标变量加1和判断循环是否结束的最后4条指令网络教育学院2020年9月14日星期一35•一条向量指令可以处理N个或N对操作数•把这N个互相独立的数称为向量•对这样一组数的运算称为向量处理•因此,向量指令的处理效率要比标量指令的处理效率高得多网络教育学院2020年9月14日星期一36【例8-2】用高级语言和向量加法

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功