书签 分享 收藏 举报 版权申诉 / 114
上传文档赚钱

类型计算机组织与结构-第8章-并行组织课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4531788
  • 上传时间:2022-12-17
  • 格式:PPT
  • 页数:114
  • 大小:2.03MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《计算机组织与结构-第8章-并行组织课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机 组织 结构 并行 课件
    资源描述:

    1、本章结构18.1 计算机系统并行性28.2 流水线技术38.3 多处理机系统48.4 机群系统8.1 计算机系统的并行性 研究计算机体系结构的目的:提高计算机系统的性能;计算机体系结构的重要研究内容之一:开发计算机系统的并行性。计算机体系结构、计算机组织和计算机实现计算机体系结构、计算机组织和计算机实现三者互不相同但又互相影响计算机组织计算机组织(Computer Organization):所研究的是计算机系统的逻辑实现;计算机实现计算机实现(Computer Implementation):所研究的是计算机系统的物理实现。计算机体系结计算机体系结构构:是程序员所看到的计算机的属性,即概念性

    2、结构和功能特性;体系结构中的并行性n现代计算机的一个共同特点是大量采用并行技术,使计算机的性能得以不断提高。n并行性并行性(parallelism):指的是在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重叠,就存在并行性,其包含同时性和并发性两层含义。n同时性同时性(simultaneity):指两个或多个事件在同一时刻发生的并行性;n并发性并发性(concurrency):指两个或多个事件在同一时间间隔内发生的并行性。并行性等级划分:从执行程序角度 指令内部并行指令内部并行:指的是指令内部的微操作之间的并行。指令级并行指令级并行:指的是并行执行两条或多条

    3、指令,就是指令之间的并行。线程级并行线程级并行:指的是并发执行多个线程,通常是以一个进程内控制派生的多个线程为调度单位。任务级或过程级并行任务级或过程级并行:指的是并行执行两个或多个过程或任务(程序段)。作业或程序级并行作业或程序级并行:指的是在多个作业或程序间的并行。并行性等级划分:从处理数据的角度 字串位串字串位串:指的是同时只对一个字的一位进行处理。字串位并字串位并:指的是同时对一个字的全部位进行处理,不同字之间是串行的。字并位串字并位串:指的是同时对许多字的同一位(称位片)进行处理。全并行全并行:指的是同时对许多字的全部或部分位进行处理。提高并行性的技术途径提高并行性的技术途径最低耦合

    4、1、时间重叠2、资源重复3、资源共享提高并行性的技术途径提高并行性的技术途径1、时间重叠 时间重叠时间重叠:多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。实现时间重叠的基础:部件功能专用化。时间重叠的实质:把一件工作按功能分割为若干个相互联系的部分;然后把每一部分指定给专门的部件完成;最后按时间重叠原则把各部分执行过程在时间上重叠起来,使所有部件依次分工完成一组同样的工作。流水线技术流水线技术就是时间重叠的典型应用。时间重叠举例 例:一条指令的执行可以看成是由四个过程组成,即取指令、指令译码、指令执行和写结果。(a)4个子过程的指令流水线4条指

    5、令流水的时空图 2、资源重复 资源重复资源重复:根据“以数量取胜”的原则来实现并行,其付出的代价是在空间上通过重复地设置资源,尤其是硬件资源,以提高计算机系统的性能。资源重复的并行举例3、资源共享 资源共享资源共享是一种软件方法的并行,它使多个任务按一定时间顺序轮流使用同一套硬件设备。资源共享的实质就是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念。多机系统的并行性 多机系统:多机系统:包括多处理机系统和多计算机系统。多机系统也遵循时间重叠、资源重复和资源共享这三种基本的技术途径,向着三种不同的多处理机方向发展。多机系统的耦合度 n耦合度耦合度:反映多机系统的各机器之间的物理连接的紧密程度

    6、和交互作用能力的强弱。最低耦合最低耦合松散耦合紧密耦合多机系统的耦合度分为最低耦合 n最低耦合最低耦合 耦合度最低的系统。除通过某种中间存储介质之外,各计算机之间没有物理连接,也无共享的联机硬件资源。松散耦合或间接耦合系统 松耦合系统松耦合系统的各处理机间通过共享I/O子系统、通道或通信线路实现处理机间通信和互连,不共享主存,但可共享某些外围设备(例如磁盘、磁带等),机间的相互作用是在文件或数据集一级进行。松散耦合多处理机由多个处理机、一个通道、一个仲裁开关和消息传送系统组成。每个处理机带有一个局部存储器和一组I/O设备。在仲裁开关的通道中有高速通信存储,用来缓冲传送的信息块。紧密耦合系统或直

    7、接耦合系统 紧耦合多处理机系统紧耦合多处理机系统,其处理机间物理连接的频带较高,它们往往通过总线或高速开关实现互连,可以共享主存,各处理机之间是通过互连网络共享主存的。一般地,紧耦合系统由P台处理机、m个存储器模块、d个I/O通道和三个互连网络构成。处理机-存储器网络实现处理机与各存储模块的连接;处理机中断信号网络实现多处理机之间的互连;处理机-I/O互连网络实现处理机与外设的连接。每个处理机可自带局部存储器,也可自带Cache存储器模块,可采用流水工作方式。紧耦合系统多用于并行作业中的多任务,一般处理机是同构的。并行计算机体系结构的分类并行计算机体系结构的分类 Flynn(弗林)分类法(弗林

    8、)分类法:美国的弗林(Michael Flynn)于1966年提出的分类法这种分类法主要依据指令流和数据流的多倍性关系来对计算机系统进行分类。指令流是指机器执行的指令序列;数据流是指由指令流调用的数据序列,包括输入数据和中间结果;多倍性是指在系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能数。Flynn分类法 按照Flynn分类法,把计算机系统分成四类,分别是:单指令流单数据流(SISD:Single Instruction Stream Single Data Stream)单指令流多数据流(SIMD:Single Instruction Stream Multiple Data Str

    9、eam)多指令流单数据流(MISD:Multiple Instruction Stream Single Data Stream)多指令流多数据流(MIMD:Multiple Instruction Stream Multiple Data Stream)SISD计算机 SISD实际上就是传统的单处理器计算机。只要指令部件每次只对一条指令译码,只对一个操作部件分配数据,就属于SISD系统。SISD计算机 SIMD计算机 SIMD中具有代表性的例子是相联处理机和阵列处理机。特殊地,如果“多倍性”中“处于同一执行阶段”被理解成一条指令的操作全过程,那么流水线处理机的不同子过程操作就可以看作是不同子

    10、部件处理的是同一条指令的不同阶段的数据,此时流水线处理机也可以算是SIMD。SIMD计算机 MISD计算机 MISD的一般形式是有n个处理单元,按n条不同指令的要求对同一个数据流及其中间结果进行不同的处理,一个处理单元的输出作为另一个处理单元的输入。MISD计算机 MIMD计算机 MIMD系统能实现作业、任务、指令、数组各级的并行,是能实现较为全面的并行处理的多机系统。MIMD一般形式是按n条不同指令的要求在n个控制单元的控制下对n个数据流及其中间结果进行不同的处理。MIMD计算机 知识拓展:数据流机与归约机知识拓展:数据流机与归约机 数据流机的两种驱动方式:种是数据驱动方式,即一条指令当且仅

    11、当所需的操作数准备就绪时便开始执行,完全不需要指令计数器的控制。另一种是需求驱动方式,即任何操作都是纯函数操作,只有当某一个函数需要某个自变量时才驱动对该自变量的求值操作,即每一数据流操作都是消耗一组输入值,产生一组输出值而不产生副作用,这就确保任何两个并发操作可以任意次序执行,而不会产生干扰。归约机归约机 归约机:一种面向函数程序设计语言的计算机,指令的执行顺序取决于这些指令产生结果数据的需求,而这种需求又源于函数式程序设计语言对表达式的归约。按其归约模型可分为:串归约机 图归约机两者的主要区别是对函数表达式所使用的存储方式不同,前者以字符串形式存储而后者以图的形式存储。8.2流水线技术 计

    12、算机中的流水线技术是一种利用资源重叠技术提高机器性能的并行处理技术,它能在不增加机器硬部件的情况下,通过对某一部件功能进行合理的分解与设计,有效提高部件的处理速度。流水线的分类流水线的分类 1.按照计算机处理的级别来分类按照计算机处理的级别来分类 按照计算机处理的级别来分类流水线可以分为按照计算机处理的级别来分类流水线可以分为部件级、指令级和处理机级流水线机。部件级、指令级和处理机级流水线机。部件级流水指的是构成部件内的各个子部件间的流水,比如运算器内浮点加、减运算的流水。指令级流水指的是构成计算机系统的多个处理机之间的流水,又称为宏流水。处理机级流水指的是构成处理机的各部件之间的流水,比如一

    13、条指令分成“取指”、“分析”、“执行”后,这三者之间的流水。流水线的分类流水线的分类2.按照流水线可以完成的动作的数量来分类按照流水线可以完成的动作的数量来分类 按照流水线可以完成的动作的数量来分类,又可按照流水线可以完成的动作的数量来分类,又可以分为单功能流水线和多功能流水线。以分为单功能流水线和多功能流水线。单功能流水线指的是只能实现单一功能的流单功能流水线指的是只能实现单一功能的流水,比如只能实现浮点加减而不能实现浮点水,比如只能实现浮点加减而不能实现浮点乘除的流水线。当然,如果要完成多种功能乘除的流水线。当然,如果要完成多种功能的流水可以将多个单功能的流水线组合起来的流水可以将多个单功

    14、能的流水线组合起来实现。实现。多功能流水线指的是在同一流水线的各个段多功能流水线指的是在同一流水线的各个段之间可以有多种不同的连接方式以实现多种之间可以有多种不同的连接方式以实现多种不同的功能或运算。不同的功能或运算。多功能流水线的实现 同一个流水线在不同连接下可以分别实现同一个流水线在不同连接下可以分别实现浮点加、减运算时的连接和定点乘、除法运算时的连接浮点加、减运算时的连接和定点乘、除法运算时的连接流水线的分类流水线的分类3.按照多功能流水线的各个段是否允许同时进行多种不同功能的连接流水来分类按照多功能流水线的各个段是否允许同时进行多种不同功能的连接流水,则可以把流水又分成静态流水线和动态

    15、流水线。静态流水线指的是在某一段时间内各功能段只能按照一种功能连接形成流水线,只能等待该流水线上全部任务流空后,才能切换成另一种功能连接进行流水。动态流水线是指在同一时间内,当某些段正在实现某种运算时,另一些段却可以实现另一种运算。静态流水线时空图假设先后有二批任务要完成,第一批是假设先后有二批任务要完成,第一批是n个任务的浮点加、减运算;个任务的浮点加、减运算;第二批任务是第二批任务是AE共共5个任务的定点乘法运算个任务的定点乘法运算按照静态方式形成流水线按照静态方式形成流水线动态流水线时空图假设先后有二批任务要完成,第一批是假设先后有二批任务要完成,第一批是n个任务的浮点加、减运算;个任务

    16、的浮点加、减运算;第二批任务是第二批任务是AE共共5个任务的定点乘法运算个任务的定点乘法运算按照动态方式形成流水线按照动态方式形成流水线流水线的分类流水线的分类4.按照流水线内部的功能部件的连接方式(如各功能段之间是否有反馈回路)来分类按照流水线内部的功能部件的连接方式(如各功能段之间是否有反馈回路)来分类,则有线性流水线和非线性流水线。流水线各段之间串行连接,各段只经过一次,且各功能段之间没有反馈回路的,就称为线性流水线。反之,如果流水线除了有串行连接的通路,还有反馈回路,并且往往使得任务流经流水线时需多次经过某个段或越过某些段的,就称之为非线性流水线。非线性流水线举例 流水线的分类流水线的

    17、分类5.按照机器可处理的对象来分类 如果按照机器可处理的对象来分类,还可以分为标量流水线和向量流水线。l按照机器可处理的对象来分类实质就是从机器所具有的数据表示来分类,此时一般也意味着针对该机器所具有的这些数据表示会获得相应的硬件支持。所以标量流水机意味着该机器没有向量数据表示,只能用标量循环方式来处理向量和数组。l向量流水机则意味着该机器有向量数据表示,并且硬件上有相应的部件的支持,比如机器上一般都会设置有向量指令和向量运算硬件,能流水地处理向量和数组中的各个元素。显然,向量流水机是向量数据表示和流水技术相结合的产物。流水线的主要性能参数流水线的主要性能参数 衡量一种流水线处理方式的性能的高

    18、低的参数主要有吞吐率、加速比吞吐率、加速比和效率效率。吞吐率吞吐率(TP,Thoughput Rate),指的是计算机中的流水线在单位时间内能流出的任务数或结果数。流水线的吞吐率可以进一步分为最大吞吐率和实际吞吐率。在线性流水线中,最大吞吐率Tp max1/T1/max(T1,.,Ti,.,Tm),其中,m是流水线的段数,Ti表示的是第i段的执行时间。最大吞吐率受到了瓶颈段的约束最大吞吐率受到了瓶颈段的约束 例如,某流水线有4个段,其中2号段由于需用时3t,所以2号段是瓶颈段,见图(a);5个任务流经该流水线时的流水效果的实际情况如图(b)所示,显然流水速度受到了2号瓶颈的限制。细分瓶颈段 把

    19、瓶颈部分的流水线分拆,以便任务可以充分流水处理 并联瓶颈段 在瓶颈部分设置多条相同流水段,并行处理 流水线的实际效率 分析并计算出流水线的实际效率 分析实际吞吐率的时空图 加速比(Speed Ratio)假设该流水线各子功能段执行时间均为t,流水段有m个段,那么n个任务非流水顺序完成需要nmt的时间;流水完成则需要mt+(n-1)t的时间;因此,流水方式工作的加速比加速比为:nmmtntmtmnSp11)1(所以在流水线各子功能段执行时间均相等的情况下,仅当nm时,其加速比才能趋近于最大值m,即流水线的段数。效率(Efficiency)效率效率(Efficiency):也称流水线设备的时间利用

    20、率,又称使用效率,它指的是流水线中各个部件的利用率,也就是设备的实际使用时间占整个运行时间的比值。以前面“分析实际吞吐率的时空图”来看,在T时间里流水线的各段效率都相同,均为0,整个流水线的效率就是,计算如下:TmtnmmmmnmnTtnmm0210211n效率实际上就是n个任务占用的时空区面积与m个段总的时空区面积的比值。显然,只有当nm时,才趋近于1。流水线的相关问题流水线的相关问题 结构相关结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,两条或两条以上指令争用同一资源而引起的冲突,因此,结构相关又称为资源相关。数据相关数据相关:当一条指令需要用到前面指令的执行结果,

    21、而这些指令均在流水线中重叠执行时,就有可能产生数据相关。控制相关冲突控制相关冲突:是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。结构相关例如,假设一条指令流水线由5段组成,分别为取指令(IF)、指令译码(ID)、取操作数(MEM)、执行运算(EX)和写寄存器(WR)。若指令I2的取操作数和指令I4的取指令都需要访问存储器。若机器中只有一个单端口存储模块,那么I2的取操作数和指令I4的取指令就产生了访存冲突,两个操作无法同时进行,这就是一种典型的资源冲突。结构相关解决办法n 解决办法:1、在机器中增加存储

    22、器模块,如使用双端口存储器,使指令和数据分别存放在不同的存储器模块中,这样,取指令和取操作数就不会发生冲突。2、当发生取指令或取操作数冲突时,将其中一个操作的执行时间推迟,如下图所示。当然,这样的话也就是发生了流水线的断流,流水线的吞吐率就下降了。访存相关引起流水线断流 数据相关 在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。ADD R1,R2,R3 ;(R2)(R3)R1SUB R4,R1,R5 ;(R1)(R5)R4AND R6,R1,R7 ;(R

    23、1)(R7)R6顺序流动和异步流动n 任务在流水线中的流动顺序的安排和控制可以有两种方式。1、任务流入和流出的顺序一致,称为顺序流动方式顺序流动方式或同步流动方式;2、任务流出和流入的顺序可以不同,称为异步流动方式异步流动方式。顺序流动和异步流动 控制相关的解决办法(1)猜测法 顾名思义,猜测法就是当遇见转移指令时,会形成两个分支,+1、+2、,是转移不成功时继续执行的一路分支,另一路分支是转移成功时转向执行指令p、p+1、。流水意味着同时解释多条指令,i进入流水线后,后面到底是执行i+1还是p指令那要等指令i的条件码建立以后才知道,而i的条件码建立一般要等到条件转移指令i快流出流水线时才行,

    24、那么在没有建立i的条件码之前,i之后的指令停等下来的话,流水就断流了,性能肯定下降。为了不断流,可采用猜测法猜取i+1和p两个分支中的一个继续向前流动。控制相关的解决办法(2)加快和提前形成条件码 尽快尽早地获得条件码,就可以提前知道流水线将流向哪个分支。其一,加快单条指令内部的条件码的形成,尤其是某些反映运算结果的条件码完全可以不必等到指令执行完就可以提前形成。比如,根据运算规律来看,乘、除运算的结果是正是负的条件码就完全可以在运算前形成。其二,在一段程序内提前形成条件码,比如循环程序,一般是根据循环条件判断是否继续转移。控制相关的解决办法(3)采用延迟转移 采用延迟转移办法是用软件方法进行

    25、静态指令调度的技术,就是在编译生成目标指令程序时,将条件转移指令与它前面不相关的一条或多条指令交换位置,让成功转移总是延迟到在这一条或多条指令执行之后再进行。延迟转移方法因为思路简单,而且不必增加硬件,故比较实用。控制相关的解决办法(3)采用延迟转移(续)采用延迟转移办法是用软件方法进行静态指令调度的技术,就是在编译生成目标指令程序时,将条件转移指令与它前面不相关的一条或多条指令交换位置,让成功转移总是延迟到在这一条或多条指令执行之后再进行。延迟转移方法因为思路简单,而且不必增加硬件,故比较实用。控制相关的解决办法(4)加快短循环程序的处理 其一,为避免短循环程序取进了指缓后,由于指令预取导致

    26、指缓中需循环执行的指令被冲掉,为减少访存次数,可将短循环程序一次性整个地装入指缓内,以加快短循环程序的处理。其二,由于循环分支概率高,让循环出口端的条件转移指令恒猜循环分支,就可以降低因为条件分支而造成的流水线断流的机率。流水线调度 线性流水线在执行每个任务的过程中,各段均只通过一次,于是自然想到,如果每拍都送一个新的任务进入流水线,这些任务显然是不会争用同一个流水线的。非线性流水线则不同,因为段间设置有反馈回路,一个任务在流水的全过程中,可能会多次通过同一个段,或越过某些段不会经过。所以,如果每拍都送一个新的任务进入非线性流水线时,将会发生多个任务争用同一个段的情况,这称之为功能段冲突现象。

    27、流水线调度举例在一个5段的流水线处理器上需经9拍才能完成一个任务。该预约表内第n行第k列打“*”处表示任务在第k拍要用到第n段功能。现在要求根据这个预约表找到最佳调度方案。并求出按此流水调度方案输入6个任务的实际最大吞吐率是多少?效率是多少?时间段号t0t1t2t3t4t5t6t7t8S1*S2*S3*S4*S5*流水线调度举例解答 初始冲突向量 C(10001101)状态转移图 流水线调度举例解答调度方案平均延迟(拍)(2,5)3.5(2,7)4.5(5)5(6,5)5.5(6)6(6,7)6.5(7)7(5,2)3.5流水线调度分析表 流水线调度举例解答按照(2,5)调度方案周期性调度,实

    28、际输入6个任务,全部6个任务完成所需的时间为25拍,其时空图如下图所示。实际吞吐率为Tp6/25(任务/拍)效率68/(255)68/125 按照(2,5)方案调度输入6个任务的时空图 超标量处理机 假设一条指令包含取指令、译码、执行和存结果四个子过程,每个子过程经过的时间为t。常规标量单流水处理机是在每个t期间解释完一条指令,如下图所示。完成9个任务需要12t时间,称这种流水机的度m=1。常规(度m1)标量流水处理机时空图 超标量处理机 超标量处理机则采用多指令流水线,每个t同时流出m条指令(m就是度)。右图是m3时的流水时空图,每3条指令为一组,执行完9条指令只需6t。度m1是超标量流水机

    29、的特例,并行度为1就逐条执行。超标量流水线处理机的典型代表有Intel公司的i860、i960、Pentium处理机,Motolora公司的MC88110,IBM公司的Power 6000,SUN公司的SuperSPARC等。m3时的超标量流水时空图 超流水线处理机 n如果超流水线处理机的度用m表示,一个机器周期为t,那么把机器周期分为m个子周期,每个子周期表示为t,tt/m,那么每个t可以流出一条指令。用k表示一条指令所含的基本机器周期数,那么一条指令需花kmt的时间。n超标量处理机着重利用资源重复,设置多个执行部件寄存器堆端口,而超流水线处理机则着重开发时间的并行性。n超流水线处理机的典型

    30、代表有SGI公司的MIPS R4000、R5000、R10000等。度m3的超流水线时空图 度m3的超流水线时空图 超标量超流水线处理机超标量超流水线处理机 将超标量流水线与超流水线机结合就形成了超标量超流水线处理机。超标量超流水线处理机在一个t时间内发射了k条指令(超标量)。每次发射时间错开t(超流水),相当于每拍t流出了nk条任务,并行度为mkn。超标量超流水线处理机典型机器有DEC公司的Alpha等。并行度m9的超标量超流水线时空图如下图所示,k3,n3,并行度m9,完成12个任务就需5t,完成21个任务就只需6t知识拓展:龙芯知识拓展:龙芯2E增强型处理器芯片的流水线增强型处理器芯片的

    31、流水线 龙芯2E(Longson 2E)是一款国产实现64位MIPS 指令集的通用RISC处理器。采用90nm的CMOS工艺,布线层为七层铜金属,芯片晶体管数目为4700万,芯片面积6.8mm5.2mm,最高工作频率为1GHz,典型工作频率为800MHz,实测功耗57瓦。龙芯2E具有片上128KB一级缓存、512KB二级缓存,单精度峰值浮点运算速度为80亿次/秒,双精度浮点运算速度为40亿次/秒,在1GHz主频下SPEC CPU2000的实测分值达到500分,综合性能已经达到高端Pentium 以及中低端Pentium 4处理器的水平。知识拓展:龙芯知识拓展:龙芯2E增强型处理器芯片的流水线增

    32、强型处理器芯片的流水线(续)龙芯2E的基本流水线包括取指、预译码、译码、寄存器重命名、调度、发射、读寄存器、执行、提交等9级。123知识拓展:龙芯知识拓展:龙芯2E增强型处理器芯片的流水线增强型处理器芯片的流水线(续)龙芯2E的基本流水线包括取指、预译码、译码、寄存器重命名、调度、发射、读寄存器、执行、提交等9级。456知识拓展:龙芯知识拓展:龙芯2E增强型处理器芯片的流水线增强型处理器芯片的流水线(续)龙芯2E的基本流水线包括取指、预译码、译码、寄存器重命名、调度、发射、读寄存器、执行、提交等9级。7898.3 多处理机系统 具有能同时执行多个任务或多条指令或同时对多个数据项进行处理的计算机

    33、系统通称为并行处理计算机系统,包括阵列计算机、向量计算机、多处理机系统和多计算机系统。阵列计算机和向量计算机属于SIMD系统,它们通过使用多个处理器同时对多个数据进行处理,从而提高机器的数据处理能力,这类机器对于数组或向量运算具有较高的性能,常用于如图像处理、具有向量化运算的科学计算领域等。多处理机系统和多计算机系统 多处理机系统和多计算机系统都属于MIMD系统。多处理机系统是指两个或两个以上处理机通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。多计算机系统则是由多个独立的计算机组成,它们通过某种方式连接起来,实现并行处理或计算。一般来讲,多计算机系统属

    34、于松耦合系统,构成系统的可以是独立的计算机;而多处理机系统更多属于紧耦合系统,各处理机既独立又联系紧密,如通过共享存储器互连等。对称多处理机SMP 通常SMP系统使用商品微处理器(具有片上或外置高速缓存)作为其处理机,它们经由互联网络与一个共享存储器互连。共享存储器可以被所有处理器通过互联网络进行访问,就如同一个单处理器访问它的存储器一样。所有处理器对任何存储单元有相同的访问时间。互联网络可以是单总线、多总线或者是交叉开关。对称多处理机SMP 因为对共享存储器的访问是平衡的,每个处理器有相等的机会读写存储器,也有相同的访问速度,故这类系统就称为对称多处理机SMP。因为这种对称多处理器的存储器是

    35、共享的,所以又称为共享存储器多处理机系统。对称式共享存储器结构多处理机系统SMP 分布式共享存储器多处理机DSM 分布式共享存储器多处理机DSM具有分布的物理存储器。为支持更大数目的处理机,存储器必须分布到各个处理机上,而非集中式,否则存储器系统将不能满足处理机带宽的要求。系统将物理上分散的各台处理机所拥有的局部存储器在逻辑上统一编址,形成一个统一的虚拟地址空间,以实现存储器的共享。其存储器采用Cache 目录表来支持分布高速Cache的一致性。系统中每个结点包含了处理机、存储器、I/O以及互连网络接口。分布式共享存储器多处理机DSM(续)DSM和SMP的主要差别是:SMP中的处理机没有自己的

    36、局部存储器,系统的存储器是由所有处理机所共享;而DSM将存储器在物理上分布到各处理机中,并进行统一编址,形成一个共享的虚拟存储器。分布式共享存储器结构多处理机系统DSM 大规模并行处理机PP MPP:一般是指超大型(Very Large-Scale)并行计算机系统,大规模并行处理需要有新的计算方法、存储技术、处理手段和结构组织方式。实现的方法:将数百乃至数千个高性能、低成本的RISC微处理器用专门的互联网络互联,组成大规模并行处理机(MPP)。这种处理机可进行中粒度和细粒度大规模并行处理,构成SIMD或MIMD系统。优点:具有高性价比,并且可扩展性很好。大规模并行处理机PP MPP一般具有如下

    37、特性:(1)处理节点采用商品微处理器;(2)系统中有物理上的分布存储器;(3)采用高通信带宽和低延迟的互连网络(专门设计和定制的);(4)能扩放至成百上千个处理器;(5)它是一种异步的MIMD机器,程序系由多个进程组成,每个都有其私有地址空间,进程间采用传递消息相互作用。大规模并行处理机PP(续)大规模并行处理机(MPP)系统采用的关键技术主要是VLSI、可扩展技术和共享虚拟存储技术;其适用的领域主要是科学计算、工程模拟和信号处理等以计算为主的一些重大课题和领域。比如全球气候预报、基因工程、飞行动力学、海洋环流、流体动力学、超导建模、半导体建模、量子染色动力学、视觉等。多处理机的多处理机的Ca

    38、che一致性一致性 在单处理机系统中,Cache一致性问题只存在于Cache与主存之间,即使有I/O通道共享Cache亦可通过全写法或回写法较好地加以解决。在紧耦合多处理机系统中,如果采用全写法,也只能维持一个Cache和主存之间的一致性,不能自动更新其他处理机中的Cache的相同副本,所以解决不了多处理机中Cache之间的一致性。实现Cache一致性的方法有多种,大体分为两类:软件方法硬件方法 软件方法 软件解决方法的思路:在程序的编译阶段解决问题,即使用编译程序对程序代码进行Cache一致性分析,确定什么样的数据项可能会造成Cache的不一致性,然后相应地标记出这些项,最后由操作系统或硬件

    39、来防止这些数据项用于Cache。软件方法的优点:Cache的一致性问题的解决在编译时实现,使复杂的机器硬件系统的设计变得简单。缺点:在编译时进行的保守判决会导致一些不会引起Cache一致性的数据项可能也会禁止被Cache引用,从而导致Cache利用率的下降。硬件方法 基于硬件的方法又称为Cache一致性协议,通过对运行过程中共享数据块状态的跟踪和潜在的不一致条件的动态识别,来阻止相关数据对Cache的使用。硬件的方法又分成两大类:目录协议(Directory protocol)监听协议(Snoopy protocol)这2种方法主要体现在具体实现上的不同,如数据块状态信息保存在何处,信息是如何

    40、组织的,在何处实施一致性以及实施一致性机构的组织等。硬件方法(续)目录协议:在主存中保存有一个目录,记录了共享数据块的状态及相关信息,由一个集中控制器(主存控制器的一部分)对该目录进行集中管理和维护,通过该目录来跟踪运行过程中共享数据块的状态,并对潜在的不一致条件进行动态识别。监听协议:每个处理机Cache除了包含主存储器中的数据拷贝之外,也保存着各个数据块的共享状态信息,各个处理机的Cache控制器通过监听共享存储器总线来判断是否有总线上请求的数据块,从而对这些数据块进行跟踪和处理。监听协议 监听协议使用两种方法来维持一致性要求:写作废协议写更新协议 写作废协议 写作废协议(write in

    41、validate)是在一个处理机写某数据块后,若新写入主存储器中的数据与其它Cache拷贝中的数据不一致,则使所有其它Cache拷贝中的数据作废。这样的话,今后某个处理机对该数据进行读时会产生读失效,于是从主存储器中将该块调入Cache,该处理机的Cache又与主存储器保持一致了。写更新协议 写更新协议是当一个处理机写某数据项时,通过广播使其他处理机的Cache中所对应数据项拷贝也同时更新。为减少协议所需的带宽,应知道Cache中该数据项是否为共享状态,也就是别的处理机Cache中是否也存在该数据项拷贝。如果不是共享数据,则写时就无需进行广播。基于监听协议的MESI协议 基于监听协议的MESI

    42、协议:以协议中用到的四种状态即Modified(修改)、Exclusive(独占)、Shared(共享)和Invalid(无效)的首字母来命名的。这个协议中每个Cache项都处于下面四种状态之一:修改(Modified):该项的数据是有效的,但内存中的数据是无效的,而且在其它Cache项中没有该项数据的拷贝。独占(Exclusive):没有其它的Cache项包括这行数据,内存中的数据是最新的。共享(Shared):多个Cache项中都有这行数据,内存中的数据才是最新的。无效(Invalid):该Cache项包含的数据无效。大多数X86架构的CPU都是用这种MESI协议,比如Power PC60

    43、1,M88110,Intel 的Pentium 和i860,AMD K6,及以后的一些产品中,都采用了此种方法。多处理机操作系统多处理机操作系统 多处理机操作系统目前主要有三种类型:主从式操作系统独立监督式操作系统浮动监督式操作系统主从式操作系统 主从式操作系统(master-slave)由一台主处理机记录、控制其他从处理机的状态,并分配任务给从处理机。主从式操作系统有如下特点:(1)操作系统程序在一台处理机上运行。如果从处理机需要主处理机提供服务,则向主处理机发出请求,主处理机接受请求并提供服务。不一定要求把整个管理程序都编写成可重入的程序代码,因为只有一个处理机在使用它,但有些公用例程必须

    44、是可重入的才行。(2)不存在管理表格存取冲突和访问阻塞问题。主从式操作系统(续)(3)当主处理机故障时很容易引起整个系统的崩溃。如果主处理机不是固定设计的,管理员可从其他处理机中选一个作为新主处理机并重新启动系统。(4)任务分配不当容易使部分从处理机闲置而导致系统效率下降。(5)系统由一个主处理机加上若干从处理机组成,硬件和软件结构相对简单,但灵活性差。(6)主从式操作系统用于工作负载不是太重或由功能相差很大的处理机组成的非对称系统。独立监督式操作系统 独立监督式操作系统(separate supervisor)与主从式操作系统不同,在这种类型中,每一个处理机均有各自的管理程序(核心)。独立监

    45、督式OS的特点:(1)每个处理机将按自身的需要及分配给它的任务的需要来执行各种管理功能,这就是所谓的独立性。(2)由于有好几个处理机在执行管理程序,因此管理程序的代码必须是可重入的,或者为每个处理机装入专用的管理程序副本。独立监督式操作系统(续)(3)因为每个处理机都有其专用的管理程序,故访问公用表格的冲突较少,阻塞情况自然也就较少,系统的效率就高。但冲突仲裁机构仍然是需要的。(4)每个处理相对独立,因此一台处理机出现故障不会引起整个系统崩溃。但是,要想补救故障造成的损失或重新执行故障机未完成的工作非常困难。(5)每个处理机都有专用的I/O设备和文件等。(6)独立监督式操作系统要实现处理机负载

    46、平衡更困难。这类操作系统适合于松耦合多处理机体系,因为每个处理机均有一个局部存储器用来存放管理程序副本,存储冗余太多,利用率不高。浮动监督式操作系统 浮动监督式操作系统(floating supervisor)每次只有一台处理机作为执行全面管理功能的“主处理机”,但根据需要,主处理机是可浮动的,即从一台切换到另一台处理机。是最复杂、最有效、最灵活的一种多处理机操作系统,适用于紧耦合多处理机体系,常用于对称多处理机系统中。浮动监督式操作系统(续)浮动监督式操作系统的特点:(1)每次只有一台处理机作为执行全面管理功能的“主处理机”,但容许数台处理机同时执行同一个管理服务子程序。因此,多数管理程序代

    47、码必须是可重入的。(2)根据需要,“主处理机”是可浮动的,即从一台切换到另一台处理机。这样,即使执行管理功能的主处理机故障,系统也能照样运行下去。浮动监督式操作系统(续)(3)一些非专门的操作(如I/O中断)可送给那些在特定时段内最不忙的处理机去执行,使系统的负载达到较好的平衡。(4)服务请求冲突可通过优先权办法解决,对共享资源的访问冲突用互斥方法解决。(5)系统内的处理机采用处理机集合概念进行管理,其中每一台处理机都可用于控制任一台I/O设备和访问任一存储块。这种管理方式对处理机是透明的,并且有很高的可靠性和相当大的灵活性。多处理机的并行性实现多处理机的并行性实现 1、并行算法及其分类(1)

    48、按运算基本对象分为:数值型(基于代数运算):矩阵运算、线性方程组求解等均为典型的数值型并行算法;非数值型(基于关系运算):非数值型并行算法主要是对符号操作的,以排序、选择、查找、字符处理的并行为主要代表。并行算法分类(续)(2)按并行进程间的操作顺序不同又分为:同步型:同步型并行算法意味着并行的各个进程间由于相关而必须依序等待;异步型:异步型并行算法则是各个进程间相互独立,没有关联,无需因关联而等待,进程的中止或继续执行取决于执行情况;独立型:独立型并行算法则意味着各个进程间完全独立,进程间无需通信。并行算法分类(续)(3)按计算任务的大小还可以分为:细粒度:细粒度并行算法的典型代表是向量或循

    49、环级的并行;中粒度:较大的循环级并行一般就属于中粒度并行算法了;粗粒度:粗粒度并行算法一般指子任务级的并行。并行算法思路 研究并行算法的一种思路:将大的程序分解成一定数量的可并行处理的子过程(可以是进程、任务或程序段),其直观地表现形式是把每个过程看成一个结点,将过程之间的关联用结点组成的树来描述。这样,程序内各过程之间的关系就可以简单地当成是一种算术表达式中各项之间的运算关系来处理了,表达式中的每一项都可以看成是一个程序段的运行结果。这样,程序段之间的并行性问题就可以被设想成是对算术表达式如何进行并行运算的问题了。并行算法性能评价标准 并行算法性能标准:P:表示可以并行处理的处理机的数量;T

    50、1:表示单台处理机顺序运算的级数;Tp:表示P台处理机运算的级数(树的高度);Sp:此处指多处理机的加速比;表示T1与Tp之比;Ep:表示P台处理机的设备利用率(使用效率),EpSp/P。不同的并行算法对计算机性能的影响举例 例:有一个算术表达式F1a+bx+cx2+dx3,试分析算法对树高的影响。解答一:利用霍纳(Horner)法进行变换,得到等价式为:F1a+x(b+x(c+x(d),这是一个典型的循环算法,需3个乘加循环,6级运算,即P1,T16,适合于单处理机,用树形流程图表示 见下图(a);此解法问题:这样的变换并不适合在多处理机上并行运行,因为这3个乘加循环之间产生了关联,无法并行

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:计算机组织与结构-第8章-并行组织课件.ppt
    链接地址:https://www.163wenku.com/p-4531788.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库