计算机组成与系统结构bch.ppt
第九章并行组织与结构,返回,第九章 并行组织与结构,9.1 体系结构中的并行性9.2 多线程与超线程处理机9.3 多处理机9.4 多核处理机9.5 多核处理机实例,9.1 体系结构中的并行性,9.1.1 摩尔定律与处理机性能9.1.2 并行性的概念9.1.3 提高并行性的技术途径9.1.4 单处理机系统中并行性9.1.5 多处理机系统中并行性9.1.6 并行处理机的体系结构类型9.1.7 并行处理机的组织和结构,9.1.1 摩尔定律与处理机性能,时至今日,集成电路的集成度还在按照摩尔定律的速度增长,但是计算机系统性能的增长遇到了物理规律的限制。功耗墙芯片内部互联线的延迟存储墙设计复杂度 计算机系统硬件设计者不得不放弃简单地提高处理机主频的传统方法,转向尽可能多地实现并行处理。,9.1.2 并行性的概念,所谓并行性,是指计算机系统具有可以同时进行运算或操作的特性,它包括同时性与并发性两种含义。同时性两个或两个以上的事件在同一时刻发生。并发性两个或两个以上的事件在同一时间间隔发生。,9.1.2 并行性的概念,并行性等级从处理数据的角度分计算机系统中的并行性有不同的等级。从处理数据的角度看,并行性等级从低到高可分为:字串位串 同时只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性。字串位并 同时对一个字的全部位进行处理,不同字之间是串行的。这里已开始出现并行性。字并位串 同时对许多字的同一位进行处理。这种方式有较高的并行性。全并行 同时对许多字的全部位进行处理。这是最高一级的并行。,9.1.2 并行性的概念,并行性等级从执行程序的角度分指令内部并行 一条指令执行时各微操作之间的并行。指令级并行 并行执行两条或多条指令。任务级或过程级并行 并行执行两个以上过程或任务(程序段)。作业或程序级并行 并行执行两个以上作业或程序。,9.1.3 提高并行性的技术途径,时间重叠即时间并行 多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分。资源重复即空间并行通过重复设置硬件资源,大幅度提高计算机系统的性能。时间重叠 资源重复主流技术资源共享用软件方法实现多个任务按一定时间顺序轮流使用同一套硬件设备。,9.1.4 单处理机系统中并行性,在发展高性能单处理机过程中,起着主导作用的是时间并行(流水线)技术空间并行技术的运用也已经十分普遍资源共享的概念即所谓虚拟机的概念单处理机并行性发展的代表作有:奔腾系列机安腾系列机,9.1.5 多处理机系统中并行性,耦合度反映多处理机系统各机器之间物理连接的紧密程度与交互作用能力的强弱。多处理机系统分为:紧耦合系统(又称直接耦合系统)处理机之间物理连接具有相对较高的信息传输率松耦合系统(又称间接耦合系统),9.1.5 多处理机系统中并行性,技术路线异构型多处理机系统许多主要功能交由专用处理机完成同构型多处理机系统为了使并行处理的任务能在处理机之间随机地进行调度,就必须使各处理机具有同等的功能,9.1.5 多处理机系统中并行性,发展状况20世纪70年代以来,各类并行计算机系统问世20世纪80年代,我国研制了向量处理机YH-1/2和757,CAI,表9.1 20世纪90年代以来我国自行研制的几种并行机,9.1.5 多处理机系统中并行性,2010年11月全球超级计算机TOP500第一名:天河一号,中国国防科技大学第二名:美洲虎,美国Cray公司第三名:星云,中国曙光公司第七名:走鹃,美国IBM公司,9.1.6 并行处理机的体系结构类型,指令流和数据流的不同组织方式:单指令流单数据流(SISD)代表机型是单处理机。单指令流多数据流(SIMD)代表机型是向量处理机。多指令流单数据流(MISD)这种结构从未实现过。多指令流多数据流(MIMD)代表机型是多处理机和机群系统。前者为紧耦合系统,后者为松耦合系统。,9.1.6 并行处理机的体系结构类型,图(a)表示一个SISD的结构图(b)表示SIMD的结构图(c)和图(d)表示MIMD的结构,两者均有多个控制单元(CU1CUn),CAI,图9.1 并行多处理机体系结构,图9.2 并行处理机的组成,CAI,9.1.7 并行处理机的组织和结构,计算机系统可以在不同的层次引入并行机制。超标量处理机和超长指令字处理机:多发射、超标量、超长指令字多处理机和多计算机:多处理机、多计算机、机群多线程处理机多核处理机(片上多处理机),9.1.7 并行处理机的组织和结构,图9.3 多处理并行处理机结构,9.2 多线程与超线程处理机,9.2.1 指令级并行与线程级并行9.2.2 同时多线程结构9.2.3 超线程处理机结构,9.2.1 指令级并行与线程级并行,2002年秋,英特尔公司推出一款采用超线程(Hyper Threading,HT)技术的Pentium 4处理机,原有的单个物理内核经过简单扩展后被模拟成两个逻辑内核垂直浪费 如:资源冲突会导致不能继续执行新指令水平浪费 如:指令相关导致多条流水线中部分流水线被闲置,CAI,图9.4 超标量处理机的水平浪费和垂直浪费,9.2.1 指令级并行与线程级并行,多线程处理机在处理机设计中引入硬件线程的概念并行的概念就从指令级并行扩展至线程级并行多线程处理机的具体的实现方法又可分为:细粒度多线程(交错多线程)处理机粗粒度多线程(阻塞多线程)处理机,CAI,图9.5 多线程处理机的指令执行实例,9.2.2 同时多线程结构,同时多线程(Simultaneous Multithreading,SMT)结合了超标量技术和细粒度多线程技术的优点,CAI,图9.6 同时多线程处理机的指令执行实例,9.2.3 超线程处理机结构,为了支持两个硬件线程同时运行,让每级流水线中的资源通过三种方式之一复用于两个线程:复制、分区或共享。,CAI,图9.7 支持超线程技术的NetBurst微体系结构的流水线结构,9.3 多处理机,9.3.1 多处理机系统的分类9.3.2 SMP的基本概念9.3.3 SMP的结构,9.3.1 多处理机系统的分类,多处理机系统由多个独立的处理机组成,每个处理机能够独立执行自己的程序并行向量处理机(PVP)对称多处理机(SMP)大规模并行处理机(MPP)分布共享存储器多处理机(DSM),CAI,图9.8 多处理机四种类型,9.3.2 SMP的基本概念,SMP定义为具有如下特征的独立计算机系统:(1)有两个以上功能相似的处理机。(2)这些处理机共享同一主存和I/O设施,以总线或其他内部连接机制互连在一起;这样,存储器存取时间对每个处理机都是大致相同的。(3)所有处理机共享对I/O设备的访问,或通过一通道,或通过提供到同一设备路径的不同通道。(4)所有处理机能完成同样的功能。(5)系统被一个集中式操作系统(OS)控制。,9.3.3 SMP的结构,SMP的一般结构 为便利来自I/O处理器的DMA传送,应提供如下特征(1)寻址(2)仲裁(3)分时共享一般来说,工作站和个人机SMP都有两级Cache;现在,某些处理机还使用了L3 Cache。,CAI,图9.9 对称多处理机(SMP)的一般结构,9.4 多核处理机,9.4.1 多核处理机的优势9.4.2 多核处理机的组织结构9.4.3 多核处理机的关键技术,9.4.1 多核处理机的优势,三高三低:高并行性:可同时执行的线程数或任务数是单处理机的数倍。高通信效率:各个处理机核只需要在核内部的相对较小的区域内交换数据。高资源利用率:多核结构可有效支持片内资源共享。低功耗:不再依靠提高主频改善性能。低设计复杂度:每个核的结构相对简单。较低的成本:各个核共享器件芯片封装和芯片I/O资源。,9.4.2 多核处理机的组织结构,同构多核处理机与异构多核处理机:同构多核(homogenous multi-core)处理机 所有计算内核结构相同,地位对等。异构多核(heterogeneous multi-core)处理机 各个计算内核结构不同,地位不对等。一般多采用“主处理核+协处理核”的主从架构。,9.4.2 多核处理机的组织结构,多核处理机的对称性:对称(Symmetric MultiProcessing,SMP)多核 处理机片内包含相同结构的核,多个核紧密耦合,并运行一个统一的操作系统。非对称(Asymmetric MulitiProcessing,AMP)多核 若是同构多核,但每个核运行一个独立的操作系统或同一操作系统独立实例,就变成非对称多核。AMP多核系统也可采用异构多核和共享存储器构成。,9.4.2 多核处理机的组织结构,图9.10 多核处理机的cache组织,9.4.3 多核处理机的关键技术,多核处理机架构:每个核自身的结构 每个核是否应该采用超标量技术或超线程技术多核之间的对等性,核的数目 同构多核,阿姆达尔定律(Amdahls law)异构多核,集成图形处理机(Graphic Processing Unit,GPU),9.4.3 多核处理机的关键技术,多核系统存储结构设计:处理机内核心数目增多,各核心采用共享存储器结构进行信息交互,对主存的访问需求进一步增加。目前仍然采用存储器分级的方式解决存储速度问题:采用二级甚至三级cache提高等效访问速度片内cache容量尽可能增大共享cache和私有cache,9.4.3 多核处理机的关键技术,多核处理机的cache一致性:多核cache内容不一致的原因:可写数据的共享I/O活动核间线程迁移cache一致性的维护:软件方法:预防硬件方法:发现和解决目录协议、监听协议,9.4.3 多核处理机的关键技术,多核处理机的核间通信与同步技术:三种互联结构:总线共享cache结构交叉开关互连结构片上网络结构三种互联结构的相互融合多核之间的同步和互斥,9.4.3 多核处理机的关键技术,图9.11 连接8个处理机核和8个内存模块的交叉开关结构,9.4.3 多核处理机的关键技术,图9.12 二维网状网络片上网络结构,9.4.3 多核处理机的关键技术,低功耗设计:低功耗设计是一个多层次的问题,需要同时在操作系统级、算法级、结构级、电路级等多个层次上综合考虑。单处理机:降低半导体电路的动态和静态电能消耗。多核处理机:异构结构设计、动态线程分派与转移技术等。,9.4.3 多核处理机的关键技术,多核软件设计:多核技术与多处理机的差别:多核系统中,资源的共享更加普遍。支持多核的操作系统必须解决任务分配、任务调度、仲裁、负载平衡、核间动态任务迁移等问题。应用软件设计:并行编程、并行设计思想平衡设计原则:权衡芯片复杂度、内部结构、性能、功耗、扩展性、部件成本等。,9.5 多核处理机实例,9.5.1 ARM Cortex-A15 MPCore多核处理机9.5.2 英特尔第二代和第三代酷睿多核处理机器9.5.3 英特尔至强融核集成众核处理机,9.5.1 ARM Cortex-A15 MPCore多核处理机,ARM Cortex-A15处理机的整体结构,9.5.1 ARM Cortex-A15 MPCore多核处理机,ARM Cortex-A15的多核支持功能:动态功耗控制监听控制单元加速器一致性端口通用中断控制器,9.5.2 英特尔第二代和第三代酷睿多核处理机,酷睿多核处理机的整体结构,9.5.2 英特尔第二代和第三代酷睿多核处理机,酷睿多核处理机的环形总线,9.5.3 英特尔至强融核集成众核处理机,图9.16 至强融核众核处理机微架构,