版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1参考书3课程性质:专业必选课课程性质:专业必选课课时:课时:32学时学时成绩评定成绩评定: 期末闭卷考试期末闭卷考试 平时考察平时考察课程安排n多核技术导论n并行计算基础n线程的基本概念nWindows多线程编程及调优nOpenMP多线程编程及性能优化nLinux多线程编程5 19451945年,世界上第一台全自动电子数字计算机年,世界上第一台全自动电子数字计算机ENIACENIAC(埃(埃尼阿克)。尼阿克)。1.1.美国奥伯丁武器试验场研制;美国奥伯丁武器试验场研制;2.2.采用电子管作为基本原件,采用电子管作为基本原件,1800018000只电子管,只电子管,1000010000只电只电
2、容,容,70007000只电阻;只电阻;3.3.每秒可进行每秒可进行50005000次加减乘除;次加减乘除;4.4.占地占地172172平米,重平米,重3030吨,耗电吨,耗电140-140-150150千瓦。千瓦。 表明计算机时代的到来表明计算机时代的到来 7计算机的发展按照硬件工艺可以分为四个阶段计算机的发展按照硬件工艺可以分为四个阶段:第四代第四代(1971年以后):年以后):大规模集成电路大规模集成电路数字计算数字计算机。逻辑原件和主存都采用大规模集成电路。机。逻辑原件和主存都采用大规模集成电路。第三代(第三代(19641971):):集成电路集成电路数字计算机。数字计算机。软件完善,
3、分时操作系统、会话式语言都有发展。软件完善,分时操作系统、会话式语言都有发展。第二代(第二代(19581964):):晶体管晶体管数字计算机。数字计算机。外存采用磁盘;出现各种高级语言及编译程序。外存采用磁盘;出现各种高级语言及编译程序。第一代(第一代(19461958):):电子管电子管数字计算机。数字计算机。主存使用汞延迟线、磁鼓、磁芯;外存采用磁带。主存使用汞延迟线、磁鼓、磁芯;外存采用磁带。软件主要使用机器语言、汇编语言。软件主要使用机器语言、汇编语言。8计算机的发展方向计算机的发展方向:巨型机巨型机微型机微型机银河系列、曙银河系列、曙光系列光系列PC机机核心核心:微处理器(体积小、微
4、处理器(体积小、重量轻、功耗低、功能重量轻、功耗低、功能强、可靠性高、结构灵强、可靠性高、结构灵活)活)微处理器的发展史 10微处理器的发展史微处理器的发展史:114004: 4位位8086: 16位位8008: 8位位80386: 32位位位数位数:缓存缓存:80386开始有高速缓存开始有高速缓存(cache).Pentium II开始有二级缓存开始有二级缓存(L2).多核多核:奔腾奔腾D处理器处理器.关于处理器发展史的说明关于处理器发展史的说明:Itanium(安腾安腾) : 64位位处理器的一些重要技术处理器的一些重要技术:n高速缓存(cache)技术CPU速度快速度快, Mem速度较慢
5、速度较慢, Cache技术可解技术可解决该矛盾。决该矛盾。Cache是位于是位于CPU与与Mem之间的临时存储器,之间的临时存储器,它的容量比它的容量比Mem小但访问速度快。小但访问速度快。在在Cache中的数据是中的数据是Mem中的一小部分,这一中的一小部分,这一小部分是近期小部分是近期CPU即将访问的,当即将访问的,当CPU调用大调用大量数据时,就可避开量数据时,就可避开Mem直接从直接从Cache中调用,中调用,从而加快读取速度。从而加快读取速度。处理器的一些重要技术处理器的一些重要技术:n流水线技术流水线技术:流水线技术是一种将每条指令分解为多步,并流水线技术是一种将每条指令分解为多步
6、,并让各步操作重叠,从而实现几条指令并行处理让各步操作重叠,从而实现几条指令并行处理的技术。的技术。程序中的指令仍是一条条顺序执行,但可以预程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。提前启动后续指令的另一些操作步骤。加快程序的运行速度。加快程序的运行速度。处理器的一些重要技术处理器的一些重要技术:n超线程超线程(Hyper-Threading, HT)技术技术: 超线程技术就是利用超线程技术就是利用特殊的硬件指令特殊的硬件指令,把两个,把两个逻辑内核逻辑内核模拟模拟成两个物理芯片
7、,让单个处理器成两个物理芯片,让单个处理器能使用线程级并行计算,进而兼容多线程操作能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了系统和软件,减少了CPU的闲置时间,提高的闲置时间,提高CPU的运行效率。的运行效率。采用超线程技术能同时执行两个线程采用超线程技术能同时执行两个线程, 是因为是因为他们使用了他们使用了芯片的不同部分芯片的不同部分, 他们并不能象两他们并不能象两个真正的个真正的CPU那样,每各那样,每各CPU都具有独立的资都具有独立的资源。源。处理器的一些重要技术处理器的一些重要技术:当两个线程都同时需要某一个资源时,其中一当两个线程都同时需要某一个资源时,其中一个要暂时
8、停止,并让出资源,直到这些资源闲个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两置后才能继续。因此超线程的性能并不等于两个个CPU的性能。的性能。n新指令集新指令集:为了提高电脑在多媒体和为了提高电脑在多媒体和3D图形方面的应用能图形方面的应用能力力最著名的三种新指令集:最著名的三种新指令集:处理器的一些重要技术处理器的一些重要技术:nMMX (MultiMedia Extensions), 多媒体扩展指令集,多媒体扩展指令集,Intel于于1996年发明的一项多媒体指令增强技术,包年发明的一项多媒体指令增强技术,包括括57条指令,可以一次处理多个数据,可用于对
9、大条指令,可以一次处理多个数据,可用于对大量数据和复杂数组进行复杂处理,可处理的数据基量数据和复杂数组进行复杂处理,可处理的数据基本单位:字节、字、双字本单位:字节、字、双字nSSE (Streaming SIMD Extensions), 也叫也叫KNI指令指令集,第二套多媒体专用指令集,加速集,第二套多媒体专用指令集,加速CPU的的3D运算运算能力。能力。n3D Now:3D加速指令集,加速加速指令集,加速CPU的浮点运算,的浮点运算,一个时钟周期内可以同时处理一个时钟周期内可以同时处理4个浮点运算指令或个浮点运算指令或2条条MMX指令指令17SSE2SSE3SSE4n并行计算机:由一组处
10、理单元组成,这组处理单由一组处理单元组成,这组处理单元通过相互之间的通信与协作,以更快的速度共元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。同完成一项大规模的计算任务。n两个主要组成部分:两个主要组成部分:计算机节点计算机节点节点间的通信与协作机制节点间的通信与协作机制n并行计算机体系结构的发展体现在并行计算机体系结构的发展体现在:计算机节点性能的提高计算机节点性能的提高节点间通信技术的改进节点间通信技术的改进n背景:60年代初期,由于晶体管以及磁芯存储器的出年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小现,处理单元变得越来越小,存储器也
11、更加小巧和廉价。出现规模不大的共享存储多处理器巧和廉价。出现规模不大的共享存储多处理器系统,即大型主机(系统,即大型主机(Mainframe)。)。IBM36060 年代末期,同一个处理器开始设置多个功能年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了,特性相同的功能单元,流水线技术也出现了,特性这些并行在处理器内部的应用大大提高了并行这些并行在处理器内部的应用大大提高了并行计算机系统的性能。计算机系统的性能。并行计算机的分类n并行计算机的弗林(并行计算机的弗林(Flynn)分类)分类:是从计算机的运行机制进行分类。是从计算机的运行机制进行分类。Flynn根据指令流和数
12、据流的不同组织方式,根据指令流和数据流的不同组织方式,把计算机系统的结构分为四类。把计算机系统的结构分为四类。n指令流(指令流( Instruction stream ):机器执行的指令机器执行的指令序列序列n数据流(数据流( Data stream ):指令调用的数据序列):指令调用的数据序列(输入数据和中间结果输入数据和中间结果) 21多指令流单数据流多指令流单数据流(Multiple Instruction stream Single Data stream, MISD)单指令流多数据流单指令流多数据流(Single Instruction stream Multiple Data st
13、ream, SIMD)单指令流单数据流单指令流单数据流(Single Instruction stream Single Data stream, SISD)多指令流多数据流多指令流多数据流(Multiple Instruction stream Multiple Data stream, MIMD)22Flynn分类法:分类法:2324一个控制部件,多个专门设计的处理单元一个控制部件,多个专门设计的处理单元25采用通用的采用通用的CPU,通过互联网进行通信,通过互联网进行通信26MISD结构结构 实际中存在争议,有的学者认为没实际中存在争议,有的学者认为没有这种结构的计算机,而有的文献则把有
14、这种结构的计算机,而有的文献则把流水线结构的计算机看成流水线结构的计算机看成MISD结构。结构。27并行计算机从系统结构分类并行计算机从系统结构分类:(1) 分布式存储器的分布式存储器的SIMD处理机处理机含有多个同样结构的含有多个同样结构的处理单元(处理单元(PE),通),通过寻径网络以一定方过寻径网络以一定方式互相连接。式互相连接。互连网络PELMLMPECU前端机LMPE每个每个PE有各自有各自的本地存储器的本地存储器(LM)。)。向量数据总线向量数据总线控制单元控制单元28(2) 向量超级计算机(共享式存储器向量超级计算机(共享式存储器SIMD)集中设置存储器,共集中设置存储器,共享的
15、多个并行存储器享的多个并行存储器通过通过对准网络对准网络与各处与各处理单元理单元PE相连。相连。MMM互连网络PEPEPECU前端机存储模块数目等于或存储模块数目等于或者略大于处理单元的者略大于处理单元的数目。为减少冲突应数目。为减少冲突应合理分布数据。合理分布数据。29(3) 对称多处理器(对称多处理器(SMP) 一个计算机上汇集了一组处理器,各处一个计算机上汇集了一组处理器,各处理器之间共享内存子系统以及总线结构。同理器之间共享内存子系统以及总线结构。同时由多个处理器运行操作系统的单一副本,时由多个处理器运行操作系统的单一副本,共享内存和其它的资源。共享内存和其它的资源。MIMD30(4)
16、 并行向量处理机(并行向量处理机(PVP)在并行向量处理机中有少量专门定制的向量处理在并行向量处理机中有少量专门定制的向量处理器。每个向量处理器有很高的处理能力。并行向器。每个向量处理器有很高的处理能力。并行向量处理机通过量处理机通过向量处理向量处理和和多个向量处理器并行处多个向量处理器并行处理理两条途径来提高处理能力。两条途径来提高处理能力。 VPVPVP交叉开关网络VPVPVP31(5) 集群计算机集群计算机 集群是一组独立的计算机(节点)的集合体,集群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了节点间通过高性能的互连网络连接;各节点除了可以作为一个单一的
17、计算资源供交互式用户使用可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作并表现为一个单一的、集中外,还可以协同工作并表现为一个单一的、集中的计算资源供并行计算任务使用。的计算资源供并行计算任务使用。 集群是一种造价低廉,易于构筑,并且具有集群是一种造价低廉,易于构筑,并且具有较好可扩展性的体系结构。较好可扩展性的体系结构。分布式分布式 集中式集中式 同构同构 异构异构高性能机群(高性能机群(HP Cluster)高可用性机群(高可用性机群(HA Cluster)分类分类:32 并行计算机技术与超级计算机并行计算机技术与超级计算机技术为多核计算机的出现奠定了基技术为多核计算机的出现奠
18、定了基础,而集成电路技术的发展是多核础,而集成电路技术的发展是多核芯片得以实现的物理条件。芯片得以实现的物理条件。集成电路是采用半导体制作工艺,在一块较小的单晶集成电路是采用半导体制作工艺,在一块较小的单晶硅片上制造许多晶体管及电阻器、电容器等元器件,硅片上制造许多晶体管及电阻器、电容器等元器件,并按多层布线或隧道布线的方法将元器件组合成完整并按多层布线或隧道布线的方法将元器件组合成完整的电子电路。的电子电路。超大规模集成电路在一块芯片上集成几千万个元器件,超大规模集成电路在一块芯片上集成几千万个元器件,其中绝大多数是晶体管。其中绝大多数是晶体管。处理器技术紧密地依托于集成电路技术的发展而发展
19、,处理器技术紧密地依托于集成电路技术的发展而发展,集成电路的迅猛发展引发了多核技术的出现。集成电路的迅猛发展引发了多核技术的出现。n集成电路与分立器件电路相比的优点:成本更低成本更低更容易调试和应用更容易调试和应用更加可靠更加可靠更容易更换更容易更换n集成电路对计算机技术的影响最为巨大:集成电路的出现使得一块芯片上可以集成更多的运算集成电路的出现使得一块芯片上可以集成更多的运算和存储单元,计算机的体积减小,成本降低,而性能和存储单元,计算机的体积减小,成本降低,而性能却有很大的提升,促成微处理器的产生和计算机的普却有很大的提升,促成微处理器的产生和计算机的普及。及。集成电路工艺的提升使得计算机
20、的运算速度越来越快,集成电路工艺的提升使得计算机的运算速度越来越快,存储容量越来越大存储容量越来越大n摩尔定律:Intel公司的创始人之一的摩尔于1965年在总结存储器芯片的成长规律时,发现微芯片上集成的晶体管数每12个月翻一番,称为摩尔定律。后来表述为集成电路的集成度每后来表述为集成电路的集成度每18个月翻一番个月翻一番当前集成电路已进入特大规模(千万个以上的元器件)当前集成电路已进入特大规模(千万个以上的元器件)阶段,主流生产工艺达到阶段,主流生产工艺达到90nm,65nm和和45nm。摩尔定律不可能无限持续,若不能在设计原理、工艺摩尔定律不可能无限持续,若不能在设计原理、工艺技术和原材料
21、方面有所突破,无法更大程度地缩小晶技术和原材料方面有所突破,无法更大程度地缩小晶体管的尺寸。体管的尺寸。n系统芯片:片上系统(System on a Chip ,SoC)狭义上指在一个芯片上实现信号采集、转换、存储、处理和I/O等功能,其中包含嵌入软件及整个系统的全部内容。广义上指一种芯片设计技术,可以实现从确定功能开始到软硬件划分,并完成设计的整个过程。nSoC:20世纪世纪90年代中期,因使用年代中期,因使用ASIC(专用集成电路)实(专用集成电路)实现芯片组受到启发,萌生应该将完整计算机所有不同现芯片组受到启发,萌生应该将完整计算机所有不同的功能块一次直接集成于一颗硅片上的想法。这种芯的
22、功能块一次直接集成于一颗硅片上的想法。这种芯片,初始起名叫片,初始起名叫System on a Chip (SoC),直译的中,直译的中文名是文名是“系统级芯片系统级芯片”,又称,又称“片上系统片上系统”。随着设计与制造技术的发展,集成电路设计从随着设计与制造技术的发展,集成电路设计从晶体管晶体管的集成的集成发展到发展到逻辑门的集成逻辑门的集成,现在又发展到,现在又发展到IP的集成的集成,即即SoC设计技术。设计技术。SoC可以有效地降低电子可以有效地降低电子/信息系统产品的开发成本,信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是未来工业界将缩短开发周期,提高产品的竞争力,是未来工
23、业界将采用的最主要的产品开发方式。采用的最主要的产品开发方式。38(1)SoC应由可设计重用的应由可设计重用的IP核组成,核组成,IP核是核是具有复杂系统功能的能够独立出售的具有复杂系统功能的能够独立出售的VLSI(超(超大规模集成电路)块;大规模集成电路)块; (2)IP核应采用深亚微米以上工艺技术;核应采用深亚微米以上工艺技术; (3)SoC中有至少一个的中有至少一个的MPU(微处理器(微处理器 )、)、 MCU(微控制器(微控制器 )、)、 DSP(数字信号处理器(数字信号处理器 )或其复合的或其复合的IP核。核。 这个定义虽然不是非常严格,但明确地表明这个定义虽然不是非常严格,但明确地
24、表明了了SoC的特征。的特征。 到底怎么准确定义到底怎么准确定义SoC有着各种不同的说有着各种不同的说法,在经过了多年的争论后,专家们就法,在经过了多年的争论后,专家们就SoC的的定义达成了一致意见:定义达成了一致意见: 39IP(Intellectual Property)核:一种预先设计)核:一种预先设计好的甚至已经过验证的具有某种确定功能的集成好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。电路、器件或部件。 IP核有核有3种不同形式:软核,硬核和固核。种不同形式:软核,硬核和固核。 软核软核:通常是用某种:通常是用某种HDL文本提交用户,它已文本提交用户,它已经过行为级设计
25、优化和功能验证,但其中不含经过行为级设计优化和功能验证,但其中不含有任何具体的物理信息。有任何具体的物理信息。 毛坯毛坯 硬核硬核:具有和特定工艺相联系的物理版图,已:具有和特定工艺相联系的物理版图,已有固定的拓扑布局和具体工艺,并已经过工艺有固定的拓扑布局和具体工艺,并已经过工艺验证,具有可保证的性能。验证,具有可保证的性能。 成品成品 固核固核:设计深度介于软核和硬内核之间,除了:设计深度介于软核和硬内核之间,除了完成软核所有的设计外,还完成了门电路级综完成软核所有的设计外,还完成了门电路级综合和时序仿真等设计环节。合和时序仿真等设计环节。 半成品半成品 40从灵活性和可重用性来看:从灵活
26、性和可重用性来看:如果想付出少量劳动、又不在乎高价:如果想付出少量劳动、又不在乎高价:硬核最好,软核最差硬核最好,软核最差软核最好,硬核最差软核最好,硬核最差IP核的选择:核的选择:n系统芯片的优缺点优点:n减少体积和重量n降低耗电量n丰富系统功能n速递提高n减少研发成本,降低研发时间,可适度节省成本缺点:nIP核理解问题n时序问题n不可预见问题42SOPC(System-on-a-Programmable-Chip )是是SOC和和PLD(可编程逻辑器件可编程逻辑器件 )的结合物。)的结合物。SOPC(可编程的系统芯片):(可编程的系统芯片):SOPC技术是美国技术是美国Altera公司于公
27、司于2000年最早提出年最早提出的,并同时推出了相应的开发软件的,并同时推出了相应的开发软件Quartus II。SOPC是是SoC和可编程逻辑技术的结合,与和可编程逻辑技术的结合,与ASIC的的SOC解决方案相比,解决方案相比,SOPC系统及其开系统及其开发技术具有更多的特色。例如,可裁减,可扩充,发技术具有更多的特色。例如,可裁减,可扩充,可升级,并具有一定的系统可编程功能。可升级,并具有一定的系统可编程功能。Altera的的Nios和和Nios II核是目前最有代表性的核是目前最有代表性的软软核嵌入式系统处理器核嵌入式系统处理器之一。之一。43“Tolapai”是英特尔针对企业级市场的是
28、英特尔针对企业级市场的SoC计划,计划,也是企业级也是企业级SOC产品家族的第一款产品。产品家族的第一款产品。Tolapai集成了北桥和南桥,其中北桥拥有单通集成了北桥和南桥,其中北桥拥有单通道道64-bitDDR2内存控制器、四通道内存控制器、四通道DMA控制器、控制器、18条条PCI-E通道通道(一个一个x2、两个、两个x4、两个、两个x1),南,南桥则支持两个桥则支持两个USB、两个、两个SATA、两个、两个UART(通通用异步串行收发接器用异步串行收发接器)、37个个GPIO(通用输入通用输入/输输出出)、Timer(定时器定时器)、RTC(实时时钟实时时钟)、WDT(看看门狗定时器门
29、狗定时器)等。等。Tolapai: 在一枚英特尔架构处理器中集成了多种关在一枚英特尔架构处理器中集成了多种关键系统组件。键系统组件。44n多核技术是处理器发展的必然多核技术是处理器发展的必然处理器性能提高的途径:处理器性能提高的途径:n工艺和电路技术的发展使得处理器性能提高;工艺和电路技术的发展使得处理器性能提高;n体系结构的发展使得处理器性能提高;体系结构的发展使得处理器性能提高;n编译技术的发展使得处理器性能提高;编译技术的发展使得处理器性能提高;推动处理器性能不断提高的主要因素:推动处理器性能不断提高的主要因素:n半导体工艺技术的飞速进步;半导体工艺技术的飞速进步;n体系结构的不断发展;
30、体系结构的不断发展;46导致多核技术是处理器发展的必然趋势导致多核技术是处理器发展的必然趋势的原因:的原因:1 半导体工艺技术的飞速进步半导体工艺技术的飞速进步2 Pollack规则规则3 能耗能耗4 设计成本设计成本471 半导体工艺技术的飞速进步:半导体工艺技术的飞速进步:如何有效地利用数目众多的晶体管?如何有效地利用数目众多的晶体管?多核技术多核技术 通过在一个芯片上集成多个简单的处理器核,通过在一个芯片上集成多个简单的处理器核,利用这些晶体管资源,发挥其最大的能效。利用这些晶体管资源,发挥其最大的能效。481 半导体工艺技术的飞速进步:半导体工艺技术的飞速进步: 早期的微处理器都是使用
31、早期的微处理器都是使用0.5微米工艺制造微米工艺制造出来的,随着出来的,随着CPU频率的增加,原有的工艺已频率的增加,原有的工艺已无法满足产品的要求,这样便出现了无法满足产品的要求,这样便出现了0.35微米微米以及以及0.25微米工艺,不久以后,微米工艺,不久以后,0.18微米、微米、0.13微米、微米、90纳米、纳米、65纳米以及纳米以及45纳米纳米制造的制造的处理器产品也相继面世。处理器产品也相继面世。 492 Pollack规则:规则: 如一个处理器的硬件逻辑提高一倍,至多能如一个处理器的硬件逻辑提高一倍,至多能提高性能提高性能40。 采用两个简单处理器构成一个相同硬件规模的采用两个简单
32、处理器构成一个相同硬件规模的双核处理器,可获得双核处理器,可获得7080的性能提升。的性能提升。多核技术符合多核技术符合Pollack规则规则 英特尔微处理器实验室主任英特尔微处理器实验室主任Fred Pollack :从从386起,英特尔每一新架构需要两到三倍的起,英特尔每一新架构需要两到三倍的晶片面积,而性能只提升晶片面积,而性能只提升1.4到到1.7倍。倍。 两代处理器,性能每提升一倍,复杂性便增两代处理器,性能每提升一倍,复杂性便增加加4倍;速度提升倍;速度提升4倍,电晶体就要多用倍,电晶体就要多用16倍。倍。简言之,性能的提升与复杂性的平方根成比例。简言之,性能的提升与复杂性的平方根
33、成比例。503 能耗:能耗:(1)工艺技术的发展和芯片复杂性的增)工艺技术的发展和芯片复杂性的增加,芯片的发热现象日益突出。加,芯片的发热现象日益突出。(2)单核高频率的处理器功耗太大,发热)单核高频率的处理器功耗太大,发热量太大。量太大。(3)多核可以提高性能,且能较好解决功)多核可以提高性能,且能较好解决功耗问题。耗问题。(4)多核处理器可以采用降低功耗的技术:)多核处理器可以采用降低功耗的技术:如可以关闭一些处理器。如可以关闭一些处理器。5152处理器性能处理器性能 = 主频主频 IPC IPC:每个时钟周期内可以执行的指令数:每个时钟周期内可以执行的指令数 频率:每秒钟做周期性变化的次
34、数频率:每秒钟做周期性变化的次数处理器功耗正比处理器功耗正比“电流电流电压电压 电压电压 主频主频” 主频主频 正比于正比于“ 电压电压” IPC 正比于正比于 电流电流534 设计成本:设计成本:(1)处理器结构复杂性的不断提高,人力成)处理器结构复杂性的不断提高,人力成本的不断攀升,设计成本随时间呈线性甚至本的不断攀升,设计成本随时间呈线性甚至超线性的增长。超线性的增长。(2)研发高频率处理器的成本越来越高。)研发高频率处理器的成本越来越高。多核处理器可有效控制成本:多核处理器可有效控制成本:处理器处理器IP核重用,设计成本极大降低;核重用,设计成本极大降低;模块的验证成本也显著下降。模块
35、的验证成本也显著下降。(3)Intel发布发布3.8GHz的产品,宣布停止的产品,宣布停止4GHz的产品计划。的产品计划。 AMD频率超过频率超过2GHz以后无法大以后无法大幅度提升。幅度提升。5455未来的多核微处理器未来的多核微处理器“芥子纳须弥芥子纳须弥”-极微小的芥子容纳至高至大之须弥山 2009年,处理器已经由双核双核升级到四核四核时代,在斯坦福大学召开的Hot Chips大会上,IBM、富士通、AMD和Intel等众多芯片制造商展示出其六核、八核等多核服务器处理器出现,使得多核之战悄然到来。n多核芯片的提出多核芯片的提出一直以来,处理器芯片厂商都通过不断地提高主频来一直以来,处理器
36、芯片厂商都通过不断地提高主频来提高处理器的性能。提高处理器的性能。但随着芯片制造工艺的不断进步,从体系结构来看,但随着芯片制造工艺的不断进步,从体系结构来看,传统的处理器体系结构已面临瓶颈,晶体管的集成度传统的处理器体系结构已面临瓶颈,晶体管的集成度已超过上亿个,很难单纯地通过提高主频来提升性能,已超过上亿个,很难单纯地通过提高主频来提升性能,而主频的提高也带来功耗的提高。而主频的提高也带来功耗的提高。从应用需求来看,日益复杂的多媒体、科学计算、虚从应用需求来看,日益复杂的多媒体、科学计算、虚拟化等多个应用领域都呼唤更为强大的计算能力。拟化等多个应用领域都呼唤更为强大的计算能力。各主流处理器厂
37、商将产品战略从提高芯片的时钟频率各主流处理器厂商将产品战略从提高芯片的时钟频率转向多线程、多内核。转向多线程、多内核。n多核的概念多核的概念:片上多核处理器(片上多核处理器(Chip Multi-Processor,CMP)就)就是将多个计算内核集成在一个处理器芯片中,从而提是将多个计算内核集成在一个处理器芯片中,从而提高计算能力。高计算能力。在在一个单芯片上面集成两个甚至更多个处理器内核,上面集成两个甚至更多个处理器内核,其中每个处理器都有自己的逻辑单元、控制单元、中其中每个处理器都有自己的逻辑单元、控制单元、中断控制器、运算单元、一级缓存,断控制器、运算单元、一级缓存,二级缓存共享或独二级
38、缓存共享或独有有,其部件的完整性和单核处理器内核完全一致。,其部件的完整性和单核处理器内核完全一致。按计算内核的对等与否,按计算内核的对等与否,CMP可分为同构多核和异构可分为同构多核和异构多核:多核:n计算内核相同,地位对等的称为计算内核相同,地位对等的称为“同构多核同构多核”n计算内核不同,地位不对等的称为计算内核不同,地位不对等的称为“异构多核异构多核”,异构多核采异构多核采用用“主处理核协处理核主处理核协处理核”的设计。的设计。n多核与多处理器(多多核与多处理器(多CPU)的区别:)的区别:多核是指一个处理器芯片有多个处理器核心,多核是指一个处理器芯片有多个处理器核心,他们之间通过他们
39、之间通过CPU内部总线进行通讯。内部总线进行通讯。多处理器是指简单的多个处理器芯片工作在同多处理器是指简单的多个处理器芯片工作在同一个系统上,多个处理器之间的通讯是通过主一个系统上,多个处理器之间的通讯是通过主板上的总线进行的。板上的总线进行的。59606162nCMP处理器的各CPU核心的通信机制:基于总线共享基于总线共享Cache结构:结构:n每个每个CPU内核拥有共享的二级或三级内核拥有共享的二级或三级Cache,用于,用于保存比较常用的数据,并通过连接核心的总线进行保存比较常用的数据,并通过连接核心的总线进行通信。通信。n结构简单,速度快;扩展性差。结构简单,速度快;扩展性差。基于片上
40、互连的结构:基于片上互连的结构:n每个每个CPU核心具有独立的处理单元和核心具有独立的处理单元和Cache,各个,各个CPU核心通过交叉开关或片上网络(核心通过交叉开关或片上网络(NoC)等方式)等方式连接在一起,通过消息通信。连接在一起,通过消息通信。n带宽有保证,可扩展性好;结构复杂。带宽有保证,可扩展性好;结构复杂。6465Inter-Core Bus InterfaceMemory ControllerHubI/O Controller HubDDR2 MemoryPCI Express x166 PCI4 Serial ATA Ports6 PCI Express x1High-De
41、finition Audio2 PCI Express x8orDMI (2 GB/s)1066 / 800 MHz FSBCore 1L2 Cache(for Core 1)Core 0L2 Cache(for Core 0)6 USB 2.0Intel Matrix StorageBIOS SupportIntel Pro 1000 LAN666780核处理器:核处理器:6870 BIOS是系统硬件和操作系统之间的抽象是系统硬件和操作系统之间的抽象层,连接层,连接CPU、芯片组和操作系统的固件。、芯片组和操作系统的固件。正在被以正在被以EFI所取代!所取代!71 最早是最早是Intel开发
42、的,旨在取代开发的,旨在取代BIOS,现,现在由在由UEFI组织来进行开发。组织来进行开发。7273EFI对多核支持:对多核支持: Framework是一种固件的架构,它是是一种固件的架构,它是EFI固固件接口的一种实现。件接口的一种实现。Tiano是是EFI的一个具体实的一个具体实现,符合现,符合EFI规范接口实现的标准。规范接口实现的标准。747576分配和调度:分配和调度: 多核处理器环境下操作系统的任务分多核处理器环境下操作系统的任务分配调度是目前研究的一个热点。配调度是目前研究的一个热点。 操作系统的一个重要工作就是分配操作系统的一个重要工作就是分配和调度任务。和调度任务。77调度包
43、括多个方面:调度包括多个方面:负载不均衡时是否迁移任务?负载不均衡时是否迁移任务?如何保证负载均衡?如何保证负载均衡?如何调度实时任务和普通任务?如何调度实时任务和普通任务?一个进程是否始终在一个核上运行?一个进程是否始终在一个核上运行?是否采用一致的调度算法?是否采用一致的调度算法?每个核如何调度它上面的任务?每个核如何调度它上面的任务?新的任务分配给谁?新的任务分配给谁?采用单独还是共同的就绪队列采用单独还是共同的就绪队列?78 目前,还没有专门针对目前,还没有专门针对CMP体系结构的多体系结构的多核操作系统出现,缺乏成熟的核操作系统出现,缺乏成熟的CMP调度算法。调度算法。 虽然虽然Windows和和Linux可以作为可以作为CMP多核体多核体系结构的操作系统,但是他们对多核的支持不系结构的操作系统,但是他们对多核的支持不是针对是针对CMP的支持,而是针对的支持,而是针对SMP的支持。的支持。 CMP处理器的各个处理器的各个CPU核心会共享一些核心会共享一些部件,如二级部件,如二级Cache、I/O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论