多核技术综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多核技术综述
姓名:朱齐敏学号:08002516
摘要:本文首先阐述了多核技术的定义和相关概念,然后介绍了多核技术的好处及其发展状况,接着描述了多核技术带来的挑战以及面对挑战我们因怎样开发并行软件和如何让旧程序应对多核环境。
本文提纲:
1、什么是多核技术
2、多核技术相关概念
3、多核技术的好处
4、多核技术的发展
5、多核技术带来的挑战
6、多核平台下的并行开发
7、旧程序如何应对多核环境
1、什么是多核技术
简单的讲,多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。
多核处理器是多枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为独立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
单核与多核的区别
单核处理器:
通过提高主频来提升效率,随之提高的还有处理器的功耗和成本。
多核处理器:
通过多核结构的并行计算提高效率,功耗小,但是单个任务的处理速度
不会提升。
多核与多处理器(多CPU)的区别:
多核是指一个处理器芯片有多个处理器核心,他们之间通过CPU内部总
线进行通讯;
多处理器是指简单的多个处理器芯片工作在同一个系统上,多个处理器
之间的通讯是通过主板上的总线进行的。
2、多核技术相关概念
SMP:指在两个相似(或相同)的处理器通过一条高速通道连接,并且共享外CPU、线程多实例无需了解,由操作系统自动协调运行,并管理共享资源。
AMP:在一个由两颗或者多颗相同或者不同的处理器通过各种通信通道连接(比如可以将一个MCU(Main Control Unit)和一个DSP集成在一起) ,在逻辑上共享或者独占外设、存储器的体系架构上,运行不同的操作系统实例,相互之间通过TIPC(Transparent Inter-Process Communication)等机制通讯。往往是用于主控处理单元与各种专业协处理器协同工作的情形。
多核:是一种处理器的结构,在一个芯片上集成了多个处理器核心。一般各个核有独立的L1cache,但共享L2 Cache,同时,也共享存储器、外设。
SMT(HT):同时多线程技术(在intel称为超线程技术),是在CPU中提供多个半独立的处理器单元,其中寄存器独立,但共享L1 cache和ALU单元,其目的是提高ALU的利用率,提升CPU效率。从物理上来看,是一个类多CPU体系。当然各芯片厂家实现方案可能不同。
多处理器:由多颗相同或者不同的独立完整的CPU通过通信通道连接,可共享也可独立拥有存储器、外设。
并行:活动线程在不同的硬件资源或者处理单元上同时执行,多个线程在任何时间点都同时执行。
并发:线程在同一个硬件资源上交替执行的过程,所有活动线程在某段时间内同时执行的状态,但是在某个给定的时刻都只有一个线程在执行。
3、多核技术的好处
由于是多个执行内核可以同时进行运算,因此可以显著提升计算能力,而每个内核的主频可以比以前低,因而总体功耗增加不太大。
与多CPU相比,多核处理器采用与单CPU相同的硬件机构,用户在提升计算能力的同时无需进行任何硬件上的改变,这对用户来说非常方便。
相对于传统的单核CPU,多核CPU具有性能高、功耗低、设计和验证周期短、通信延迟低等诸多优点,同时它还带来了CPU设计方式的变革,提供了一种新的发展模式。
相比单核处理器,它有更强的性能优势,并且在推动PC安全性和虚拟技术方面起到关键作用,虚拟技术的发展能够提供更好的保护、更高的资源使用率和更可观的商业计算市场价值。普通消费者也将比以往拥有更多的途径获得更高性能。
正是由于多核的这些优点,所以,多核很快被用户接受,并得以普及。
4、多核技术的发展
无论是AMD还是Intel,目前已经发布的新型处理器多是双核,计算机的发展总是追求系统物理规模的不断减小,以及性能和集成度的不断提高。
随着应用的需要,芯片上的处理器数目将不断增多,双核也将走向多核。由于应用的需要,多核技术将与其它先进技术交织,成为处理器的发展方向。
由于32位越来越难以满足应用需要,“64位+多核”将是处理器发展的趋势。
双核PC时代在2005年4月正式开始,当时英特尔发布了至尊版奔腾840处理器,是一款主频3.2GHz的90纳米芯片,紧随其后的就是走向主流的奔腾D 800系列CPU。而英特尔的第二代双核处理器奔腾D 900系列在2006年年初发布,并且开始将英特尔的制程工艺全面转向65纳米。在这段时期,由于集成了优秀的内存管理器,并且可以运行在与CPU相同的频率,所以AMD的90纳米双核Athlon 64×2产品线开始获得广泛的追捧。而此时英特尔处理器仍然需要通过低速的前端总线交换数据,让系统内存与CPU进行沟通。
当前具有代表性的多核CPU产品
(1)第一个商用的多核CPU是2001年IBM推出的双核RISC处理器
Power 4
(2)2004年IBM又推出后继产品Power5,并在双核的基础上引入多线程技术。同时,HP也推出多核CPU产品PA—RISC8800 SUN也发布双核产品UltraSPARC IV。
(3)2005年,多核CPU得到全面发展,AMD迅速推出面向服务器、支持x86指令集的双核心Opteron处理器。而Intel则推出面向桌面系统的双核CPU——Pentium D及Pentium Extreme Edition。另外,IBM在超级计算机系统BlueGene/L中使用的CPU也是一种双核CPU,与索尼和东芝联合推出的Cell处理器具备多达9个核心。
(4)2006年1月Intel发布了首款双核移动处理器Core Duo,这一全新的处理器为笔记本性能带来了很大进步。继这次成功之后,Intel在2006年夏季同时发布了Core 2 Duo桌面(Conroe)和移动(Merom)处理器。
(5) 2008年11月17日,推出64位四核心CPU Core i7 ,沿用x86-64指令集,并以Intel Nehalem微架构为基础,取代Intel Core 2系列处理器。
(6)20010年,3月17日,英特尔正式发布了采用32nm工艺的新一代Nehalem微构架双路服务器处理器至强六核服务器CPU 5600家族,代号“Westmere-EP”。
5、多核技术带来的挑战
毫无疑问,多核给我们提供了更经济的计算能力。但是,这种能力能否善加利用还要取决于软件。如果不针对多核进行软件开发,不仅多核提供的强大计算能力得不到利用,相反还有可能不如单核CPU好用。“从某种程度上说,对于软件开发者而言,CPU主频提升就像是免费的午餐,此前所有的程序很自然地会从主频的提升中受益,而如今多核出现了,这种免费的午餐没有了。我们必须针对多核重新进行软件设计。”
多核程序带来的挑战