计算机组成原理10清华_第1页
计算机组成原理10清华_第2页
计算机组成原理10清华_第3页
计算机组成原理10清华_第4页
计算机组成原理10清华_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

清华大学出版社计算机组成原理黄颖等主编计算机组成原理第十章并行计算机系统结构10.1计算机系统结构中的并行性概念10.1.1概述同时性(Simultaneity)是指两个或多个事件在同一时刻发生;而并发性(Concurrency)是指两个或多个事件在同一时间间隔内发生。并行性不同的层次有不同的表达。〔1〕在CPU片内,可以使用流水线技术,超流水线技术和超标量技术等技术来提高性能;〔2〕参加额外处理能力的协处理机来完成一些特殊任务,如数学协处理器等,对于特殊应用,这些协处理器能将性能提高5-10倍;〔3〕在一个芯片内部集成2个甚至更多个CPU的多核技术能够提供比单核更高的性能;〔4〕使用共享内存或消息传递的多处理器能将几百、几千个CPU集中起来完成单一个工作,提供巨大的计算能力;〔5〕通过共享网络将大量计算机互联起来提供集中式的效劳。10.1.2并行计算机体系结构的分类Flynn将计算机系统结构分成如下四类:单指令流单数据流SISD单指令流多数据流SIMD多指令流单数据流MISD多指令流多数据流MIMD10.2流水线技术流水线原理流水线的主要特点有:1〕流水过程由多个相联系的流水段组成,每个流水段称为流水线的“级〞或“段〞。流水线段数也称为流水线的“深度〞或“流水深度〞,每个流水段由专用的功能部件实现;2〕每个功能段所需时间应尽量相等,否那么时间长的功能段将成为流水线的瓶颈,会造成流水线的“堵塞〞或“断流〞,这个时间一般为一个时钟周期或机器周期;3〕流水线需要有“通过时间〞〔第一个任务流出结果所需的时间〕,在此之后流水过程才进入稳定工作状态,每一个时钟周期流出一个结果;4〕流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发挥。将处理过程分解为以下的几个阶段:①取指〔FI〕:从存储器取出一条指令并暂时存入指令部件的缓冲区;②指令译码〔DI〕:确定操作性质和操作数地址的形成方式;③计算操作数地址〔CO〕:计算操作数的有效地址,涉及到存放器间址、间址、基址、变址以及相对寻址等各种地址计算方式;④取操作数〔FO〕:从存储器中取操作数〔假设操作数在存放器中,那么无需此阶段〕;⑤执行指令〔EI〕:执行指令所需的操作,并将结果存于目的地址〔存放器〕中;⑥写操作数〔WO〕:将结果存入存储器。10.2.2流水线的性能指标1、流水线的吞吐率以各段时间均相等的流水线为例来计算理想情况下的流水线的吞吐率。一条k段流水线在k+n-1个时间周期内完成n个任务。吞吐率:P=n/(k+n-1)Δt2、流水线的加速比加速比:S=nkΔt/(k+n-1)Δt=nk/(k+n-1)3、流水线的效率10.2.3流水线的相关问题〔1〕控制相关〔2〕数据相关〔3〕结构相关·写后读相关:j试图在i写一个数据之前读取它,于是j得到的设计错误的值,这是最常见的类型,如ADDR1,R2,R3;R3=R1+R2SUBR3,R4,R5;R5=R3-R4读后写相关:j试图在i读之前写一个值,于是i读取的是错误的值,这种情况比较少见;ADDR1,R2,R3;R3=R1+R2SUBR4,R5,R1;R1=R4-R5写后写相关:j试图在i写一个数据之前写该数据。这样,写操作是按错误的顺序进行的。ADDR1,R2,R3;R3=R1+R2SUBR4,R5,R3;R3=R4-R510.2.4动态调度1〕多条流水线2〕预取目标地址3〕循环缓冲4〕分支预测动态预测分支历史表延迟转移SPARC的流水线取指

(IF)阶段取指令阶段在每个时钟周期形成下条指令的地址,然后使用该地址从Cache中读取指令译码

(ID)阶段译码阶段是对指令进行译码,给出指令执行的控制信号,根据源和目的寄存器号访问寄存器文件执行(EX)阶段执行阶段是执行一条指令的运算,并将其结果送至下一阶段;而存储器取存指令则利用此阶段完成操作数地址的计算访存(MEM)阶段寄存器指令无操作;存储器存取指令访问数据存储器中的操作数回写(WB)阶段数据回写阶段是将数据写回到寄存器文件

经典RISC处理器的五级流水线SPARC处理器五级流水线的数据通路10.3片内并行超流水线技术超标量技术10.3.3超长指令字技术多核处理器技术1同构多核处理器技术2异构多核处理器技术10.4共享内存的多处理机10.4.1UMA对称多处理器系统主要特点有:1〕物理存储器被所有节点均匀共享,内存地址单元统一编址;2〕所有的节点访问任意存储单元的时间是相同的;3〕在系统中存在单一的操作系统映像;4〕简便的应用程序编程模式,易于管理。1〕基于总线的UMA多处理器结构MESI协议中,每个Cache项都处于下面四种状态之一:〔1〕M态-修改〔Modified〕:该项的数据是有效,内存中的数据是无效的,而且在其它的Cache中没有该数据项的副本。〔2〕E态-独占〔Exclusive〕:没有其它的Cache包含这块数据,内存中的数据是最新的。〔3〕S态-共享〔Shared〕:多个Cache中都有这块数据,内存中的数据是最新的。〔4〕I态-无效〔Invalid〕:该Cache项包含的数据无效。2〕使用交叉开关的UMA处理器结构3〕使用多级交换网络的UMA多处理器结构10.4.2NUMA多处理器系统NUMA多计算机系统的关键特点有:1〕内存模块在各个节点内部,所有的局部内存模块空间构成一个单一的地址空间;2〕任意节点都可以访问任意内存模块;3〕使用LOAD和STORE指令访问本地和远程内存,访问远程内存的速度要比本地的速度要慢;4〕为UMA计算机编写的程序都可以不加修改地在NUMA计算机上运行。假设,结点2上的处理器3(P2-3)要求访问存储位置798,而此位置在结点1的存储器内。那么CPU访问存储器的操作顺序如下:〔1〕P2-3在结点2的监听总线发出一个对位置798的读请求;〔2〕结点2上的目录看见这个请求,并识别出此位置在结点1中;〔3〕结点2的目录把一个请求发送到结点1,结点1的目录收到此请求;〔4〕结点1的目录,起着P2-3代理的作用,请求读取798的内容,就像它是一个处理器一样;〔5〕结点l的主存响应此请求,将所要的数据放到总线上;〔6〕结点1的目录由总线取得数据;〔7〕数据被传回到结点2的目录;〔8〕结点2的目录将数据放回到总线,它起着代理保存此数据的原存储器的作用;〔9〕数据被取回并放入到P2-3的Cache种,然后递交给P2-3。10.5消息传递的多处理机10.5.1互联网络10.5.2大规模并行处理器10.5.3集群计算1、概述集群的主要优点有:1〕绝对的可扩展性〔Absolutescalability〕:生成一个大的集群系统它的能力远超过甚至最大的独立计算机完全是可能的。一个集群系统能有成打的机器,每台机器是一个多处理机。2〕增量的可扩展性〔Incrementalscalability〕:集群系统能以这样的方式来配置:以小量增加方式把新结点添加到集群系统中。于是,用户开始只需要一个适度规模的系统,随着需求的增长再扩展它,而无须通过以大系统替代原小系统的主体升级方式。3〕可用性〔Highavailability〕:目为集群系统的每个结点都是一台独立计算机,因此一个结点的故障不意味着业务的丧失。多数产品中容错是由软件自动完成的。4〕优异的性价比〔Superiorprice/performance〕:将商售的构筑块放在一起构成一个集群系统,其计算能力等于或大干单一大型机器,其本钱却低得多。2、集群的配置集群系统可以分成三类:独立效劳器〔separateservers〕,无共享结构(sharednothing)和共享存储器〔sharedmemory〕。3、集群的计算机体系结构4、集群系统与SMP的比照SMP方法的主要优势在于,SMP比集群系统容易配置和管理。SMP更接近原来的单处理器模型,而几乎所有的应用都是以此模型来编写的。从单处理机到SMP,主要的变化在于调度程序的功能增强。SMP的另一优点是,与具有可比性的集群系统相比,SMP占用较少的物理空间,并且耗电较少。另一重要优点是,SMP产品已很好地建立起来了,井且很稳定。10.5.4多计算机的通信软件消息传递主要有三种同步模式:同步消息传递,带缓冲的消息传递和无阻塞的消息传递。在过去相当长的时间内,多计算机系统常用的通信软件包有MPI〔消息传递接口,Message-PassingInterface〕和PVM〔虚拟并行机,ParallelVirtualMachine〕等。PVM的主要功能有:1〕资源管理〔ResourceManagement〕:可以从系统控制台和应用程序中自由的添加和删除主机。允许应用程序能够和它们的计算环境进行交互,为负载平衡,任务迁移和容错提供了强大的工具。而且资源查询功能可以了解当前有多少可以获得的资源用来创立新的进程;2〕进程控制〔ProcessControl〕:动态地创立和杀死进程;3〕消息传递〔MessagePassing〕:通过消息传递在主机之间交换信息和协调步伐;4〕动态任务组〔DynamicTaskGroups〕:任务和组之间的关系是十分灵活的,可以在任何时间在组中添加和删除任务;5〕容错设计〔FaultTolerance〕:容错对于大型的科学计算应用程序,尤其是消耗很长时间的程序来说是很关键的。在多计算机系统中,如果个别计算机出现故障,必须要能进行错误检测和任务迁移。PVM支持错误通知〔FaultNotification〕策略,如果一台主机发生故障,它会通知相关的其它主机进行任务迁移,而不会影响整个任务的完成;6〕支持异构平台〔HeterogeneitySupport〕:支持多种硬件和操作系统平台,而且也能支持多种硬件和操作系统组成的混合平台。网格计算网格计算即分布式计算,网格可以被视为一种非常大的、国际间的、松散耦合的、异构的集群。网格是一个在地理位置上广泛分布的根底设施,用户数量巨大,资源千差万别,需求种类繁多,应用功能各异。网格要给用户、资源提供畅通的渠道,提供平安、高效、高质量的效劳,必须具备如下根本特点:①虚拟性。网格中的资源和用户都要经过抽象。②共享性。网格中的各种资源都能够被共享使用,网格是一个提供资源共享的场所。③集成性。网格把地理位置上分布的各种资源集成在一起。④协商性。网格支持资源的协商使用,资源请求者和资源提供者可以通过协商得到不同质量的效劳,满足不同的实际需求。五层沙漏结构由下至上分别为构造层〔Fabric〕、连接层〔Connectivity〕、资源层〔Resource〕、会聚层〔Collective〕和应用层〔Application〕。云计算云计算(CloudComputing)是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论