《计算机组成与系统结构(第8章)ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成与系统结构(第8章)ppt课件.ppt(55页珍藏版)》请在三一办公上搜索。
1、计算机组成与系统结构,上海交通大学 网络教育学院陈泽宇 博士 副教授,2022/11/24,2,第1章 计算机系统概论第2章 运算方法和运算器第3章 存储系统第4章 指令系统第5章 中央处理器(CPU)第6章 总线系统第7章 输入输出(I/O)系统第8章 并行计算机系统,2022/11/24,3,第8章 并行计算机系统,8.1 并行性的概念8.2 向量处理机8.3 阵列处理机8.4 多处理机系统8.5 机群系统8.6 网格计算,2022/11/24,4,计算机系统性能和容量的快速增长,除了归功于底层VLSI技术的发展之外,另一个重要因素在于计算机体系结构的不断改进,而并行性则是其中的一个主要方
2、面,2022/11/24,5,8.1 并行性的概念,8.1.1 并行性分类8.1.2 提高并行性的技术途径8.1.3 并行性的发展8.1.4 并行计算机体系结构分类,2022/11/24,6,所谓并行性,是指计算机系统具有可以同时进行运算或操作的特性它包括同时性与并发性两种含义同时性(Simultaneity)是指两个或两个以上的事件在同一时刻发生并发性(Concurrency)是指两个或两个以上的事件在同一时间间隔内发生所谓并行计算(Parallel Computing)是指通过网络相互连接的两个以上的处理机相互协调工作,同时计算同一个任务的不同部分从而提高问题求解速度,或者求解单机无法解决
3、的大规模问题,2022/11/24,7,并行计算的目的提高速度对于一个固定规模的问题,采用并行计算技术可以使求解时间更少现在的微型机也开始借助于流水线技术、多核技术等并行计算技术来提高系统的速度扩大问题求解规模由于器件本身的限制,任何单处理器的速度不能超过某个上限要突破这个上限,必须采用并行计算技术,2022/11/24,8,并行计算的应用领域主要包括:科学和工程计算商业计算,2022/11/24,9,科学和工程计算,在计算领域,计算机被用来模拟那些要么不可能、要么需花费很大代价才能观测到的物理现象并行体系结构已经成为科学计算的中流砥柱物理、化学、材料科学、生物学、天文学、地球物理等科学领域的
4、研究都离不开并行计算对物理现象建模的工具也被应用到工程应用中如石油(油藏模拟)、汽车(碰撞模拟、牵引分析、燃料效益)、航空(气流分析、引擎效率、结构力学、电磁学)、制药学(分子建模)等,2022/11/24,10,商业计算,商业计算在高端领域也要借助于并行体系结构早在20世纪60年代中期,多处理器就在商业计算的高端市场上崭露头角在这个领域,计算机系统的速度和容量直接反映了系统能够支持的商业规模,2022/11/24,11,8.1.1 并行性分类,计算机系统中的并行性有不同的等级从处理数据的角度看,并行性等级从低到高可分为:字串位串同时只对一个字的一位进行处理这是最基本的串处理方式,不存在并行性
5、字串位并同时对一个字的全部位进行处理,不同字之间是串行的这里已开始出现并行性,2022/11/24,12,字并位串同时对许多字的一位进行处理这种方式有较高的并行性全并行同时对许多字的全部位进行处理这是最高一级的并行性,2022/11/24,13,从执行程序的角度看,并行性等级从低到高可分为: 指令内部并行一条指令执行时各微操作之间并行。指令级并行并行执行两条或多条指令任务级或过程级并行并行执行两个以上过程或任务(程序段)作业或程序级并行并行执行两个以上作业或程序,2022/11/24,14,并行处理着重挖掘计算过程中的并行事件,使并行性达到较高的级别并行处理是体系结构、硬件、软件、算法、语言等
6、多方面综合研究的领域,2022/11/24,15,8.1.2 提高并行性的技术途径,计算机系统中提高并行性的措施多种多样,就其基本思想而言,可归纳成如下四条途径:1时间重叠2资源重复3资源重复+时间重叠4资源共享,2022/11/24,16,1时间重叠,即时间并行在并行性概念中引入时间因素,多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转时间而赢得速度,2022/11/24,17,2资源重复,即空间并行在并行性概念中引入空间因素,采用以数量取胜的原则,通过重复设置硬件资源,大幅度提高计算机系统的性能随着硬件价格的降低,这种方式在单处理机中广泛应用,而多处理机
7、本身就是实施资源重复原理的结果,2022/11/24,18,3资源重复+时间重叠,在计算机系统中同时运用空间并行和时间并行技术这种方式在计算机系统中应用广泛,成为主流的并行技术,2022/11/24,19,4资源共享,这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备例如多道程序、分时系统就是遵循资源共享原理而产生的资源共享既降低了成本,又提高了计算机设备的利用率,2022/11/24,20,8.1.3 并行性的发展,1单机系统并行性发展2多机系统并行性发展,2022/11/24,21,1单机系统并行性发展,在发展高性能单处理机过程中,起着主导作用的是时间并行技术实现时间并行的
8、物质基础是部件功能专用化把一件工作按功能分割为若干个相互联系的部分,把每一部分指定给专门的部件完成然后按时间重叠原理把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作,2022/11/24,22,在单处理机中,空间并行技术的运用也已经十分普遍多体交叉存储器和多操作部件都是空间并行技术成功应用的结构形式在多操作部件处理机中,通用部件被分解成若干个专用的操作部件如加法部件、乘法部件、除法部件、逻辑运算部件等一条指令所需的操作部件只要空闲,就可以开始执行这条指令这是指令级并行,2022/11/24,23,在单处理机中,资源共享概念的实质就是用单处理机模拟多处理机的功能,形成所谓的
9、“虚拟机(Virtual Machine,VM)”的概念例如在分时系统中,在多终端情况下,每个终端上的用户都感觉自己好像独立拥有一台处理机一样,2022/11/24,24,2多机系统并行性发展,多机系统也遵循时间重叠、资源重复、资源共享原理,向三种不同的多处理机方向发展,但在采取的技术措施上与单处理机系统有些差别为了反映多机系统各机器之间物理连接的紧密程度及交互能力的强弱,我们引入“耦合度”这个术语按照耦合度的不同,可将多机系统分为紧耦合系统和松耦合系统两大类紧耦合系统又称直接耦合系统指计算机间物理连接的频带较高,一般通过总线或高速开关实现计算机间的互连,可以共享主存由于具有较高的信息传输率,
10、因而可以快速并行处理作业或任务,2022/11/24,25,松耦合系统又称间接耦合系统一般通过通道或通信线路实现计算机间的互连,可以共享外存设备(磁盘、磁带等)机器之间的相互作用是在文件或数据集一级上进行的松耦合系统表现为两种形式:一种是多台计算机和共享外存设备连接不同机器之间实现功能上的分工(功能专用化)机器处理的结果以文件或数据集的形式送到共享外存设备,供其他机器继续处理另一种是计算机网络通过通信线路连接,以求得更大范围的资源共享,2022/11/24,26,多处理机中为了实现时间重叠,将处理机功能分散给各台专用处理机去完成,即功能专用化,各处理机之间则按时间重叠原理工作机器间的耦合程度逐
11、渐加强,从而发展成为异构型多处理机系统通过设置多台相同类型的计算机而构成的容错系统,可使系统工作的可靠性在处理机一级得到提高随着硬件价格的降低,人们追求的目标是通过多处理机的并行处理来提高整个系统的速度,因此对计算机间互连网络的性能提出了更高的要求高带宽、低延迟、低开销的机间互连网络,是高效实现任务级并行处理的前提条件为了使并行处理的任务能够在处理机间随机地进行调度,就必须使各处理机具有同等的功能,从而成为同构型多处理机系统,2022/11/24,27,8.1.4 并行计算机体系结构分类,根据指令流和数据流的不同,通常把计算机系统分为四类:单指令流单数据流SISD、单指令流多数据流SIMD、多
12、指令流单数据流MISD、多指令流多数据流MIMD并行计算机系统除了少量早期、专用的SIMD系统之外,绝大部分为MIMD系统MIMD型并行计算机采用的技术包括共享地址空间(Shared Address Space)和非连接地址空间(Disjoint Address Space)两种,2022/11/24,28,8.2 向量处理机,8.2.1 向量处理的基本概念 8.2.2 向量处理机的结构,2022/11/24,29,8.2.1 向量处理的基本概念,向量处理机是指令级并行的计算机能较好地发挥流水线技术的特性,达到较高的计算速度新型的向量流水处理机采用了多处理机的体系结构1向量处理2向量处理方法,
13、2022/11/24,30,1向量处理,从数学的概念上讲,标量(Scalar)是指单个量向量(Vector)是指一组标量例如,有一个数组A=(a1, a2, a3, an),其中括号内的每一个元素ai就是一个标量而A则称为向量它由一组标量组成,2022/11/24,31,【例8-1】 用标量处理机和向量处理机处理以下的向量求解问题:YaXY其中a为标量,X和Y为向量,初始值放在存储器中,2022/11/24,32,用标量处理机来处理,其本质是一个循环,计算过程如下:用标量指令对向量中的每个元素进行一次乘、加、存储操作为了实现循环操作,每次都必须指明对X和Y中元素位置的下标变量加1,并使操作次数
14、每次减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)
15、-(Rx)R20,计算是否到界限值BNZR20, LOOP; 若循环未结束,转LOOP,2022/11/24,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; 向量加aXY(ADDV为向量加指令)SVM(Y), V4; 存储结果向量(SV为向量存指令),2022/11/24,3
16、4,对上述两段标量处理机、向量处理机程序简单比较可知:向量处理机只需执行6条指令,而标量处理机共需执行9642578条指令这是因为向量指令是对向量中的64个元素一次性进行操作,而且没有标量循环中对元素下标变量加1和判断循环是否结束的最后4条指令,2022/11/24,35,一条向量指令可以处理N个或N对操作数把这N个互相独立的数称为向量对这样一组数的运算称为向量处理因此,向量指令的处理效率要比标量指令的处理效率高得多,2022/11/24,36,【例8-2】 用高级语言和向量加法指令分别计算以下表达式:ciai5bi i10, 11, 12, , 1000【解】 用高级语言实现的代码如下(以C
17、语言为例): for (i=10; i=1000; i+)ci = ai+5 + bi; 在具有向量数据表示的机器中,可用一条向量加法指令实现:C(10:1000) = A(10+5:1000+5) + B(10:1000)显然,对参加运算的每个向量都需指明其基地址、位移量和向量长度因此,向量加法指令的格式可采用如下形式:,2022/11/24,37,8.3 阵列处理机,8.3.1 阵列处理机的操作模型和特点 8.3.2 阵列处理机的基本结构,2022/11/24,38,8.3.1 阵列处理机的操作模型和特点,1. 阵列处理机的操作模型2. 阵列处理机的特点,2022/11/24,39,1.
18、阵列处理机的操作模型,阵列处理机又称并行处理机主要技术手段是采用硬件资源重复的方法来实现并行性属于SIMD结构计算机单指令流多数据流SIMD计算机用一个控制部件同时管理多个处理单元所有处理单元均收到从控制部件广播来的同一条指令,但是操作的对象却是不同的数据,2022/11/24,40,2. 阵列处理机的特点,向量流水处理机和阵列处理机都能对大量数据进行向量处理,但它们之间存在很大的区别,阵列处理机有着向量处理机所不具备的特点:阵列机是以单指令流多数据流方式工作的阵列机采用资源重复方法引入空间因素在系统中设置多个相同的处理单元来实现并行性利用并行性中的同时性,所有处理单元必须同时进行相同的操作,
19、2022/11/24,41,阵列机是以某一类算法(如图像处理)为背景的专用计算机由于阵列机中通常都采用简单、规整的互连网络来实现处理单元间的连接操作,从而限定了其所适用的求解算法类别阵列机的研究必须与并行算法的研究密切结合以使其求解算法的适应性更强一些,应用面更广一些从处理单元来看,由于结构都相同,因而可将阵列机看成是一个同构型并行机但其控制器实质上是一个标量处理机而为了完成I/O操作及操作系统管理,尚需一个前端机因此,实际的阵列机系统是由上述三部分构成的一个异构型多处理机系统,2022/11/24,42,8.4 多处理机系统,8.4.1 多处理机系统的特点和分类 8.4.2 多处理机的Cac
20、he一致性 8.4.3 多处理机系统实例,2022/11/24,43,随着集成电路技术的不断发展,基于微处理器的多处理机并行系统由于其突出的性价比而逐渐成为高性能计算机的主流,2022/11/24,44,8.4.1 多处理机系统的特点和分类,1. 多处理机系统的特点2. 多处理机系统的分类,2022/11/24,45,1. 多处理机系统的特点,多处理机的体系结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序在多处理机系统中,处理机与处理机之间通过互连网络进行连接,从而实现程序之间的数据交换和同步多处理机属于MIMD计算机,与属于SIMD计算机的阵列处理机相比有很大的差别,其本质差别
21、在于并行性等级不同:多处理机要实现任务或作业一级的并行阵列处理机只实现指令一级的并行,2022/11/24,46,2. 多处理机系统的分类,按多处理机各机器之间物理连接的紧密程度与交互作用能力的强弱来分,多处理机可分为紧耦合系统和松耦合系统两大类在紧耦合多处理机系统中,处理机间物理连接的频带较高,一般是通过总线或高速开关实现互连,可以共享主存储器由于具有较高的信息传输率,因而可以快速并行处理作业或任务松耦合多处理机系统由多台独立的计算机组成,一般通过通道或通信线路实现处理机间的互连,可以共享外存设备机器之间的相互作用是以较低频带在文件或数据集一级上进行的,2022/11/24,47,按处理机的
22、结构是否相同来分,如果每个处理机是同类型的,且完成同样的功能,称为同构型多处理机系统如果多处理机是由多个不同类型,且担负不同功能的处理机组成,则称为异构型多处理机系统,2022/11/24,48,8.5 机群系统,8.5.1 机群的定义 8.5.2 机群的优缺点 8.5.3 机群的分类 8.5.4 机群的体系结构,2022/11/24,49,8.5.1 机群的定义,机群系统(Cluster)的定义一组完整的计算机互连,它们作为一个统一的计算机资源一起工作,并能产生一台机器的印象完整的计算机是指一台计算机离开机群系统仍能运行自己的任务机群系统中的每台计算机一般称为结点,2022/11/24,50
23、,机群是并行或分布计算机系统的一种类型是由一组完整的计算机(结点)通过高性能的网络或局域网互连而成的系统作为一个单独的统一计算资源来使用,2022/11/24,51,首先,机群由完整的计算机(结点)互连而成机群的结点可以是一个工作站,或者是一台个人计算机,但也可以是一台规模相当大的对称多处理机SMP在机群的每个结点上除了有一台或多台处理机外,还有足够的存储器、磁盘、I/O设备和一套完整的标准操作系统因此机群的结点还可以按常规的交互方式来单独使用结点间的互连可以通过普通的商品化网络(如以太网、FDDI、ATM等),使用标准的通信协议,也可以采用专门设计的网络,2022/11/24,52,其次,机
24、群应能作为一个单独的统一计算资源来使用对于机群,最主要的是要具有单一系统形象所谓单一系统形象是指从用户角度来看,整个机群就像一个系统用户感觉到使用的是一个单一的系统可以从任何地点的结点上来使用这个机群,而不必关心提供服务的设备在什么地方,2022/11/24,53,机群不同于局域网局域网是一个分布式系统在局域网中各台计算机基本上都是各自独立工作的,它们只是通过局域网共享资源局域网没有单一系统形象机群中的各台计算机既可以单独使用,又是多台计算机连成的一个整体中的一部分因此,机群可以充分利用机器资源,充分利用通用计算机产品,达到高并行性和高可靠性的要求,2022/11/24,54,8.6 网格计算
25、,所谓网格计算(Grid Computing),是指将分布的计算机组织起来协同地解决科学与工程计算问题理解网格的一个很好的类比就是“电力网”用电者不需要知道自己用的电是哪个发电厂送出的像使用电力资源那样使用计算资源成为网格研究者们的一个梦想,2022/11/24,55,网格计算不仅在理论和技术上发展迅速,在应用方面也获得了广泛的成功加州大学伯克利分校的SETIhome就是获得广泛成功的网格项目之一SETIhome是一个通过网格计算对来自其他宇宙文明社会的电波信号进行灵敏搜索的项目能对47种不同CPU和操作系统分发客户端软件,客户从SETIhome网站下载并安装客户端软件之后,即加入了该项目,开始了相应的计算,