多核架构及编程技术.ppt

多核架构及编程技术.ppt

ID:49485302

大小:8.68 MB

页数:22页

时间:2020-02-05

多核架构及编程技术.ppt_第1页
多核架构及编程技术.ppt_第2页
多核架构及编程技术.ppt_第3页
多核架构及编程技术.ppt_第4页
多核架构及编程技术.ppt_第5页
资源描述:

《多核架构及编程技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、多核架构及编程技术魏博文数计学院学号:1315063011多核所属体系---并行计算体系并行计算机是由一组处理单元组成的,通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。20世纪60年代初,晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。这些技术导致了并行计算机的出现。这一时期的并行计算机多是规模不大的共享存储器系统,例如IBM360。二十世纪70年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。这些并行特性的应用大大提高了并行计算机系统的性能。并行计算机的分类Flyrm根据指令流和数据

2、流的不同组织方式,把计算机系统的结构分为以下4类:单指令流单数据流(SingleInstructionstreamSingleDatastream,SISD)单指令流多数据流(SingleInstructionstreamMultipleDatastream,SIMD)多指令流单数据流(MultipleInstructionstreamSingleDatastream,MISD)多指令流多数据流(MultipleInstructionstreamMultipleDatastream,MIMD)指令流是指机器执行的指令序列,数据流是指指令流调用的数据序列,包

3、括输入数据和中间结果。并行是个广义的概念,并行是一个广义的概念,根据实现层次的不同,可以分为几种方式。从系统结构的角度,并行计算机目前有以下几种:1)分布式存储器的SIMD处理机。含有多个同样结构的处理单元(PE),通过寻径网络以一定方式互相连接。2)向量超级计算机(共享式存储器SIMD)。集中设置存储器,共享的多个并行存储器通过对准网络与各PE相连。3)对称多处理器(SMP)。一个计算机上汇集了一组处理器,各处理器之间共享内存子系统以及总线结构。4)并行向量处理机(PVP)。有专门定制的向量处理器,通过向量处理和多个向量处理器并行处理两条途径来提高处理能

4、力。5)集群计算机。随着微处理器和网络技术的进步而逐渐发展起来的,它主要用来解决大型计算问题。是一种并行或分布式处理系统,由很多连接在一起的独立计算机组成,像一个单集成的计算机资源一样协同工作。6)网格计算是伴随着互联网技术而迅速发展起来的,专门复杂科学计算的新型计算模式。多核处理器并行计算机与超级计算机技术,为多核计算机的出现奠定了基础。集成电路的进步也为多核芯片提供了物理条件。多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是

5、如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。现代计算机------转向多内核方向发展的原因从功耗角度看多核美国IT公司多核处理器的发展多核处理器架构下几个显著的优点*控制逻辑简单:相对超标量微处理器结构和超长指令字结构而言,单芯片多处理器结构的控制逻辑复杂性要明显低很多。*高主频:由于单芯片多处理器结构的控制逻辑相对简单,包含极少的全局信号,因此线延迟对其影响比较小,因此,在同等工艺条件下,单芯片多处理器的硬件实现要获得比超标量微处理器和超长指令字微

6、处理器更高的工作频率。*低通信延迟:由于多个处理器集成在一块芯片上,且采用共享Cache或者内存的方式,多线程的通信延迟会明显降低,这样也对存储系统提出了更高的要求。*低功耗:通过动态调节电压/频率、负载优化分布等,可有效降低CMP功耗。*设计和验证周期短:微处理器厂商一般采用现有的成熟单核处理器作为处理器核心,从而可缩短设计和验证周期,节省研发成本。多核架构下的编程技术多核架构下的多线程程序设计与传统的单核下的多线程程序设计有着一定的差别,在单CPU下,是多个线程在同一个CPU上并发地执行,而在多核下,则是由多个线程在多个核上并行地执行。目前的程序设计中

7、对于多核的利用并没有达到预期的效果。要做到这一点,就必须将应用程序看作是众多相互依赖的任务的集合,将应用程序划分成多个独立的任务,并确定这些任务之间的相互依赖关系,这就称为分解(decomposition)。分解的类别*任务分解:对应用程序根据其执行的功能进行分解的过程称为任务分解阳(taskdecomposition)。根据这种方法,就能够对众多的独立的任务进行分类。如果其中两个任务能够同时运行,那么开发人员就应该对其进行调度,形成二者之间的并行执行。*数据分解:数据分解也称为数据级并行(data-levelparallelism)。是将应用程序根据各个

8、任务所处理的数据而非按任务来进行分解的方法,即以数据为中心。一般而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。