《计算机组织与系统结构》-季福坤-电子教案 第8章

上传人:E**** 文档编号:89409362 上传时间:2019-05-24 格式:PPT 页数:104 大小:227.50KB
返回 下载 相关 举报
《计算机组织与系统结构》-季福坤-电子教案 第8章_第1页
第1页 / 共104页
《计算机组织与系统结构》-季福坤-电子教案 第8章_第2页
第2页 / 共104页
《计算机组织与系统结构》-季福坤-电子教案 第8章_第3页
第3页 / 共104页
《计算机组织与系统结构》-季福坤-电子教案 第8章_第4页
第4页 / 共104页
《计算机组织与系统结构》-季福坤-电子教案 第8章_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《《计算机组织与系统结构》-季福坤-电子教案 第8章》由会员分享,可在线阅读,更多相关《《计算机组织与系统结构》-季福坤-电子教案 第8章(104页珍藏版)》请在金锄头文库上搜索。

1、学习要点 多处理机系统的构成及特性 和掌握高集成度、高性能芯片的发展 和掌握机群系统的构成和特点 网格计算技术的发展状况 高生产率计算系统的研究现状,第8章 计算机体系结构的发展趋势,8.3 机群系统,8.4 网格计算技术,第8章 计算机体系结构的发展趋势,8.1 概论,8.2 多处理机系统,退出,8.5 计算机体系结构的研究,退出,8.1 概论,8.1 概论,冯诺依曼(J.Von Neumann)为计算机体系结构做出了巨大贡献。从1946年第一台计算机出现以来,计算机在性能和结构上不断的演进,但从本质而言,仍没有突破冯诺依曼所定义的范畴。随着计算机技术的发展,应用需求也不断的增加,对高性能高

2、速度高容量的超级计算机的需求不断攀升,迫使计算机在结构、技术甚至概念上作根本的改变。,解决问题的办法多种多样,但归纳起来无外乎两种:一是彻底推翻冯诺依曼体系结构,重新设计更合理的能够适应爆炸式增长的信息技术的需求的计算机体系结构。第二种就是采取改进的方法,在现有的体系结构的基础上不断的改进,使系统更快速、更有效。第一种方法是革命性的,人们从未放弃过对其探求。曾提出过生物计算机等概念。但距离真正的实用还很遥远,而且革命的代价是惨重的。这是因为,计算机出现以来,所有的软件系统,大量的应用系统,全部的外围设备,乃至生产、商务、教育、军事到家庭统统地围绕着现有的系统发展起来。如果彻底的推翻了,一切都要

3、重来。其代价不可想象。因此,计算机系统结构的发展一直是沿着不断改进的路线行走。,从硬件的角度,大规模集成电路技术的进步是计算机体系结构发展的基础。人们一直在芯片级的技术上不断努力。期望在一块晶片上集成度更高,运行更快,功耗更小,性能更强。由此,先行控制、流水线技术和招标量流水线直至在一个芯片上集成多个处理器内核,使得计算机在时间上和空间上的并行性越来越强。为了解决快速CPU和慢速存储器的矛盾,人们还在努力将主存储体也集成到芯片之中,使之因访存而引起的性能下降问题得以缓解。,从软件的角度,计算机指令系统的改进、编译技术的水平不断提高、程序设计技术及水平的快速演进,使得硬件的性能得以充分的发挥。同

4、时增加新的数据类型使得硬件可以直接识别和访问数据,也使计算机的处理能力得到发展。 在改进体系结构的设计技术和芯片的生产技术的同时,在单一机器性能有限的状况下,创造了诸如多处理机系统、集群系统等协同工作系统;采用在一台机器中安装多个CPU,通过软件来共享存储空间完成协同作业,达到了1+1大于2的性能;或将多台机器联系起来通过软件将作业划分成若干子作业,分配给不同的机器处理,然后再将结果重组,得到单台超大型机器所不及的性能。,计算机网络的发展又使分布式计算系统得到了充分应用。人们甚至可以将全球的计算机都作为某一作业的一分子来使用,可想而知,这是一个多么巨大的计算机,具有多么超级的处理能力和处理速度

5、。近年来出现的网格计算技术,也在向传统的分布式计算提出挑战。可以预见,在不久的将来,还会出现更新的技术来解决目前体系结构所面临的各种问题。 实际上,分布式计算系统已超出了计算机体系结构的范畴,是广义上的系统结构的概念。人们仍在进行着具体的计算机体系结构的研究与发现。多年来研究的光计算机,近期也有突破性的进展。,返回本节,返回本章,8.2.1 多处理机系统的特点与分类,8.2.2 多处理机系统的Cache一致性问题,8.2 多处理机系统,退出,8.2.1 多处理机系统的特点与分类,1阵列处理机 阵列处理机原则上不属于多处理机体系,我们之所以先介绍它,是期望让读者能够进行对比,以便对多处理机系统结

6、构有一个清晰的认识。 阵列处理机又称并行处理机,通过硬件上采用资源重复的方法来实现并行性。因为是单指令流多数据流结构,也称为SIMD (Single Instruction Multiple Data) 计算机,其抽象模型见图8-1。它用一个控制部件同时管理多个处理单元。所有处理单元均收到从控制部件广播来的同一条指令,但是操作的对象却是不同的数据。,阵列机是以单指令流多数据流方式工作的。采用资源重复方法引入空间因素,即在系统中设置多个相同的处理单元来开发并行性,这与利用时间重叠的流水线处理机是不一样的。此外,它是利用并行性中的同时性,而不是并发性,所有处理单元必须同时进行相同操作。 阵列机是以

7、某一类算法为背景的专用计算机。这是由于阵列机中通常都采用简单、规整的互连网络来实现处理单元间的连接操作,从而限定了它所适用的求解算法类别。因此,对互连网络设计的研究就成为阵列机研究的重点之一。,阵列机的研究必须与并行算法的研究密切结合,以使它的求解算法的适应性更强一些,应用面更广一些。另外从处理单元来看,由于结构都相同,因而可将阵列机看成是一个同构型并行机。 2多处理机系统 多处理机属于多指令流多数据流计算机MIMD(Multiple Instruction Multiple Data),可实现任务、作业级的并行性。依据不同的目的,使用不同的技术途径,可以发展出同构型、异构型和分布式系统等形式

8、各异的多处理机系统。 目前的多处理机有两种基本的结构,一种是共享存储器的多处理机结构,另一种是分布式存储器的多处理器结构。,对于共享存储器的多处理机,存储器和I/O设备是独立的子系统,为系统内的所有处理机共享,任何两台处理机之间可以通过访问共享存储器的单元实现相互通信,存储器共享是这种结构的多机系统实现信息交换和同步的最简单方法。 而在分布式存储器的多处理系统中,每台处理机有自己的存储器和I/O设备,整个存储器被分成多个模块,每个模块与一个处理机紧密相连。因此这种结构的存储模块也被称为是本地存储器。处理机之间通过点对点的通信实现信息交换。当处理机访问本地存储器时,不需要通过互联网络就可以直接进

9、行。但是,系统内的任意一个处理机仍然可以通过互联网络访问系统中的任何一个存储器模块。,多处理机系统与SIMD系统有很大的不同,这主要体现在并行级别上。 SIMD计算机只能对多处数据流执行同一个指令操作,而多处理机要实现任务级的并行。因此多处理机要在结构上采用多个指令部件分别控制,并且要有复杂的互连网络实现机间通信。在算法上,也不限于数组向量处理,而要挖掘和实现更多通用算法中的并行性。在系统管理上,要更多依靠软件手段有效地解决资源管理,特别是处理机管理以及进程调度等问题。多处理机系统主要特征如下。,(1) 结构灵活性和功能通用性。在MIMD计算机系统内存在多指令流,因而不同的处理单元 (PE)

10、上可同时执行不同的操作系统,所以MIMD系统适用于求解通用算法。它能灵活地开发数据并行性和功能并行性,而SIMD计算机系统只能开发数据并行性,通用性较差。 (2) 多处理机主要用于开发高层次作业及任务级(粗粒度)并行性。高层次并行性的识别相对来讲比较困难,需要利用软、硬件多种方法来加以识别。SIMD计算机系统则主要是开发低层次,即操作一级的并行性。,(3) 多处理机系统中并行任务的派生需要用显式的专用语句或指令加以表示,在SIMD计算机中,并行操作由单独指令加以表示和控制,故不需要设置专门的指令。 (4) 多处理机并发执行的进程间的同步需要采取特殊的措施,以保证程序原来的正确语义。而在SIMD

11、计算机系统中,因为受同一控制器控制,其工作自然是同步的。 (5) 多处理机对资源和任务分配如果要进行良好的调度,需要采取软件手段,否则系统性能将受较大影响。而在SIMD系统中,这往往只需要屏蔽控制实际参加并行操作的处理单元数目即可实现。,(6) MIMD计算机系统在执行条件语句时,比SIMD系统有较高的效率。由于多指令流的特性,在MIMD系统中的每个处理单元,就像单机一样,能独立地按任意方向执行。而在SIMD系统中,当条件与处理单元之间的局部数据相关时,就必须串行地执行“THEN”模块和“ELSE”模块。 (7) MIMD系统的异步特性使得它在执行时间可变的指令时,比SIMD具有更高的效率。

12、近年来由于软硬件技术的发展和进步使得MIMD计算机系统发展迅速。它可以作为单用途机器,集中执行单个应用的高级任务,也可以作为多进程机运行多个作业或任务。,多处理机系统与多计算机系统也是有区别的。多处理机系统和多计算机系统在共享存储器的方式上有明显的不同。多处理机结构具有共享存储器的特点,而多计算机系统一般都不具备这样的特性,即各计算机的存储器一般不能共享。即使要访问其他计算机的存储器内容,也必须要经过所属计算机的帮助;多处理机系统中使用一个操作系统,而多计算机系统中每个计算机都单独使用一个操作系统,当然,它们可以是同样的操作系统,也可以是不同的操作系统。,返回本节,8.2.2 多处理机系统的C

13、ache一致性问题,随着处理机时钟频率的提高,使用Cache以维持处理机的高速运行,几乎成了每一个处理机必然采取的措施。在多处处理机中,每个处理机都有自己专用的Cache。由于它们都在为同一个程序服务,就可能会有同一数据复制到不同Cache中的现象发生,由于对Cache中数据处理的不同步以及同时对内存数据的修改的不同步,导致了某一处理机使用的数据可能是过时数据。如果出现了这一现象,不管它出现在什么地方,都有可能危及系统的正常运行,这就是Cache的一致性问题。其实,一致性问题是指产生了不一致。,产生原因 (1) 共享可写数据引起的不致性 以拥有两个处理机的系统为例,处理机带有各自的私有Cach

14、e,并共享一个主存储器,假设在P1和P2的本地高速缓冲器C1和C2中分别有共享主存的某个数据X的复制成份。P1改写C1中的X使之变为了X。若P1采用“写通过”策略,即处理机改写Cache中的数据时同时修改了内存中相应的数据,那么内存中的X也变为了X。但P2的本地高速缓冲器C2中的X仍然是X。当P2要读X时,它是从C2中读取,这就导致了P2从C2中读取的X与内存中的X不一致的问题。若P1采用“写回”策略,即处理机改写Cache中的数据时并不同时修改内存中的相应数据,而是在包含该数据的数据块中调出Cache时才写回内存,那么内存中的X还是X,这又导致了C1中的X同内存中的X不一致。,(2) 进程迁

15、移引起的不一致性 进程迁移是指把一个尚未执行完的进程调度到另一个空闲的处理机中去执行。为提高整个系统的运行效率,有的系统允许进程迁移,使系统负载平衡,但这将引起Cache的不一致性。这主要是因为当进程迁移时,并不同时迁移Cache中的内容,而是在需要时从内存中将相应的数据块读入Cache。如果迁移前已经修改了Cache中的数据但尚未写回内存,迁移后从内存中读出的此数据块就不是最新数据,产生了不一致。 I/O传输引起的不一致 当输入输出处理机直接连在系统总线上,也会导致Cache不致。这主要是因为处理机共享I/O处理机所造成的。例如,在上述已经产生了不一致的情况下,某一I/O处理机要输出该数据,

16、可能输出的就是过时的数据。,解决方法 为了解决Cache的数据一致性问题,提出了两类协议机制:监听协议和基于目录的协议。它们分别适应于不同的系统结构。在采用基于总线互连结构的系统中,由于系统中每个处理机都能觉察到存储器系统正在进行的活动,在某个活动破坏了Cache的一致性时,Cache控制器将采取相应的动作使有关的复制无效或更新。采用这种保持Cache一致性的协议称为监听协议 (Snoopy Protocol)。在不采用基于总线互连结构的多处理机系统中,处理机无法对存储系统的活动进行监听,监听协议也就不再适用,这类系统的Cache一致性问题可以采用基于目录的方法来解决。,监听协议法是以硬件为基础的方法。采用这种方法时,各处理机中的Cache控制器随时都在监听着其他Cache的行动。它利用总线的广播功能做到这点。这种监听Cache协议实现起来较为简单,但只适用于基于总线结构的多处理机系统。而且在处理一致性的同时,要占用总线大量的时间,所以只能是用于处理机数量不多的多处理机系统。 当多处理机系统中的处理机数量很多,或者不采用总线结构时,要采取其他方法,主要是目

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号