什么是多核处理器【多核处理器的未来路径】

什么是多核处理器【多核处理器的未来路径】,第1张

  尽管CMP(单芯片多处理器,俗称多核)一度仿佛让人看到了处理器无限美好的未来,但通用处理器的内核数并未如很多人预想的那样快速增加。而未来很多核(many core)处理器和有限多核(Multicore)处理器将并行发展,以共同满足日益分化和复杂的计算环境的需求。

很多核和有限多核

尽管CMP一度仿佛让人看到了处理器无限美好的未来,但通用处理器的内核数并未如很多人预想的那样快速增加。

日益分化和复杂的计算环境对处理器的要求差别是如此之大,以致于仅仅通过一种结构的产品已经越来越难以满足不同细分市场的需求: 目前主流电脑的应用领域对并行计算能力的需求并不需要数十甚至上百个内核来实现,更看重每个内核的单线程性能(尽管可能每个内核也支持多个线程),而要在有限的空间内容纳上百个内核必然要求核的设计简单,因而单线程能力相对有限,在执行并行度不高的任务时不能有效发挥其架构优势; 另一方面,在流计算和SoC领域,处理器执行的往往是一些并行度很高、重复性较强的任务,这时候,结构相对简单、数量巨大的特殊功能单元(SFU,Special Function Unit)则可以有效地解决工作效率和功耗问题。

于是可以得出这样的结论: 未来主流的计算市场(台式机、服务器和笔记本电脑)需要的是有限多核架构,更加强调核的单线程性能,而很多核架构(数十甚至上百个内核)则将应用于流计算、HPC和SoC等特殊计算环境。

这也将成为未来英特尔处理器的一个分水岭,于是就有了所谓“大核”和“小核”处理器之分。前者以目前的酷睿架构为发展基准,追求更好的单线程性能; 后者则以凌动(Atom)内核为基础,在设计上强调更高的并行度和更低的功耗。

在指令执行方面,“大核”采用的是乱序执行(out-of-order execution)模式,而“小核”则采用顺序执行(In-order execution)模式。与顺序执行相对应的乱序执行,是指CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。

与顺序执行技术相比,乱序执行能够更有效地提高IPC,即提高每个时钟频率能够执行的指令数量。一般来说在同样一个主频周期当中,无序核执行指令数量要比有序核执行的数量更多,因而乱序执行架构的处理器单核的计算能力比较强。但乱序执行模式的处理器在电路设计上比较复杂,核的功耗也比较高,在手机和某些嵌入式应用需要绝对低功耗的场合较难达到其设计要求,因此凌动处理器很自然地就采用了顺序执行模式。

未来,很多核处理器和有限多核处理器将并行发展,以共同满足日益分化和复杂的计算环境的需求。而评价一款处理器好坏的标准也会更加复杂,可能既不是通过主频甚至也不是IPC,而要根据其应用特性来具体判断。

Nehalem: 迎接“模块化”处理器时代的到来

作为“大核”的代表,酷睿架构在2008年将迎来换代产品―Nehalem。

其实如果单单从处理器内核基本结构角度来讲,Nehalem与酷睿的差别并不大,两者最大的差异在于引入了QPI(Quickpath Interface)互联架构。正是这种点对点互联总线架构的出现,才彻底改变了多年以来CPU与高速外围部件之间存在的带宽和延迟障碍,也给多核处理器的发展注入了新的活力。

新一代的Nehalem架构处理器由内核和核外部分构成,内核实际上就是一个基础的计算引擎,核外则是支持这种基础计算引擎的各种逻辑元件,包括集成的内存控制器、QPI,还有相应的I/O部分、电源和时钟。而正是由于采用了QPI架构,Nehalem处理器核外部分得以采用灵活的模块化设计,并可以根据不同的市场需求灵活配置各个模块,一旦有产品需求,就可以把这些模块灵活地搭配组合设计。

尽管这样的模块化设计并不会进一步缩小处理器的尺寸,但能够进一步加快产品推向市场的时间,因为模块化的设计能够更快地做出变化,把市场所需要的功能,或者设计方案以最快的速度融入到处理器架构当中,推出适合市场需求的新产品。

今年第四季度,英特尔将首先推出面向主流服务器/工作站和高端桌面机市场的Nehalem处理器,研发代码分别为Nehalem-EP和Bloomfield,每个CPU将最高支持4C/8T(即4核/8线程),最高8MB共享三级缓存,含有2个QPI链路; 明年将后续推出面向移动和主流桌面客户端的版本,也具备4C/8T和共享三级缓存等特性,其中包括在低端差异化市场推出的内置北桥功能的Lynnfield和进一步集成显示引擎的Havendale处理器; 之后是面向高端MP(多路服务器)市场的Nehalem-EX处理器,具备8C/16T,每个CPU含有4个QPI链路。

根据英特尔内部的测试,在双路的情况下,集成内存控制器设计的Nehalem-EP比目前采用1600MHz FSB的Harpertown至强的数据带宽将提高4倍,其性能增益值得期待。

关键的QPI和全互联

是QPI的特点决定了处理器各部件的模块化趋势。而其对处理器性能和设计灵活性方面的帮助更是潜力巨大。从设计思路上来看,QPI的目的是试图为处理器内核和外部高速部件提供充足的带宽,有效解决CPU与GPU、网络的高速连接和内存延迟问题。

传统上芯片组的北桥主要连接GPU、网络、内存等高速部件,南桥则连接USB、键盘、鼠标等低速I/O部件。QPI的出现使得北桥的功能逐渐分化,芯片组逐渐弱化甚至消失,主板设计进一步简单化,计算机也将逐步走向“单芯片”。

尽管这将是一个渐进的过程,但其趋势已经隐约可见。不过需要说明的是,QPI也是处于不断发展成熟的过程中,对于逐渐增多的处理器内核,实现全互联即所有内核之间均有QPI链路直接连接(另外每个内核还带有一个用于I/O的QPI链路)将是必然的。从目前英特尔公布的第一代Nehalem架构来看,还没有实现核间的全互联,但随着QPI架构的逐渐成熟,这一天似乎并不遥远。

效能依然是关注重点

根据假定的核数量、频率和 SSE/AVX等指令集的发展推断,明年单处理器的性能就将达到1GFlops,2011年超过100GFlops,2012年将有望冲击300GFlops……

对于处理器性能的发展,英特尔高级院士兼数字企业部首席技术官庞思立表示: “英特尔未来仍将快速提高处理器单线程的处理性能,并通过SSE指令集、线程和核心数量提升处理器的并行处理能力。”

这似乎没有悬念,但很自然地想到,功耗问题将如何解决?

功耗控制可以细分为活跃、空闲、休眠和待机等不同状态。短期来看,活跃能耗已经基本没有下降的空间,除了采用更简单高效的内核设计外,性能的持续增长似乎已经榨干了有限的能耗降低空间,未来处理器的功耗主要通过控制其低工作负荷或休眠状态下的能耗为主,而多核并行处理时的能耗控制将成为重点关注的一个方面。

如何将晶体管有效地布置到一定的半导体晶圆上,人类确实需要足够的智慧。

如果你对2004年英特尔总裁贝瑞特当年当着6500人惊天一跪还记忆犹新的话,或许能更能理解这个问题,当年老贝这一跪是对“惟主频论”失误的真心忏悔。

当时NetBurst架构的Prescott(Pentium 4的核心),虽然已经是用了最先进的90nm工艺,但是3GHz主频的CPU功耗就超过百瓦,如果频率要超过4GHz,功耗将是何其了得。

所以,在这儿就可以回答题主, 正是因为功耗(散热)制约了主频的提升 。

登纳德缩放定律的终结

相信你也听过摩尔定律,它告诉我们,芯片中晶体管的尺寸正在不断减小,因此芯片的晶体管数量可以不断增加。虽然近些年,摩尔定律一直在修改,但它似乎尚未完全停止。

事实上,除了摩尔定律,还有一个很重要的定律,称登纳德缩放定律(Dennard Scaling),大体说,随着晶体管尺寸的减小,它的功耗也按面积大致按比例下降。

摩尔定律和登纳德缩放定律这两个好基友放在一起,就是要告诉我们,可以不断缩小晶体管尺寸,并且在CPU中容纳更多晶体管,而功耗基本不变。

但是,到了Pentium 4,基本上宣告了登纳德缩放定律的终结,因为Pentium 4的性能只有486的6倍,但功耗却是后者的23倍(6^175)!

好吧,看看上面的图,随着晶体管的面积密度上升(蓝色线)16倍,功耗仅下降约4倍(紫色线),功耗降低已经不再与芯片面积密度上升成正比,Dennard Scaling is dead

也就是说,继续以提升频率来提升性能的方法已经行不通了!

多核也能刷性能

到底CPU的性能是怎么定义的?英特尔是这么说的:

其中f为频率,提升f就能提升CPU性能,不过这条路已经不通了。

但是,我们还可以提升IPC呀,IPC(instruction per clock)是每时钟周期内所执行的指令数,所以才有了多核,2个核心,IPC就是原来的2倍,4个核心,IPC就翻了4倍,CPU的性能也就得到提升。所以我们消费级的CPU才从2核变成了4核,再到8核,现在已经升到了16核。

反正呢,现在摩尔定律还能苟延残喘,但Dennard Scaling已是过去式,虽然工艺越来越先进,CPU里可以装进更多的晶体管,但由于功耗墙的原因,已经没办法提高单个内核的频率,解决方法是在芯片上保留更多内核以提高CPU性能。当然并非所有程序都可以支持多核,因此这种潜在的性能增益并不总是能够得以呈现,但肯定是越来越好了。

发动机的转速再高,对速度的提升,也比不上气缸多来的直接! V12 发动机不会搞9000转,8000进红线。

一个喇叭尺寸再大,音量再高,看**的时候,也不可能比72声道效果好。

目前限制CPU的不是技术工艺,而是散热,Intel的CPU可以轻松6-7Ghz,前提是你得液氮散热,考虑到目前大多数风冷散热现实,限制主频2-4之间,也是对市场妥协。如果将来某一天,普及微型液氮散热器,说不定多核就没那么重要了

欢迎你的阅读

首先,要说的是现在手机也不是不提高主频了,只是提高的速度比以前更慢了。

欢迎关注作者,一起聊 科技 、数码。

不要光用频率衡量CPU的单核性能。举个例子,里程碑1代的555Mhz主频的德仪CPU,可以把HTC G7上面那颗1Ghz CPU从上到下秒一个遍。CPU单核心性能,可以用车辆的轮子计算。频率只是转速,代表转多块。影响的另外一个因素是单核能效,对应的是轮子的直径。轮子的直径大,并不需要转多快也能维持高度。但是直径小的,必须提高转速才能达到一样的速度,带来的结果就是功耗和发热的提高。

不要看核心频率来定量CPU性能,要看核心架构在看频率,一般同一架构频率越高性能越好,像32gHz的八核推土机性能还不如四核八线程的酷睿i5性能好。四核四线程奔腾N4200还没有双核四线程M5性能好。目前CPU领域性能最好的是酷睿了,像主机CPU美洲豹架构只能和打桩机差不多,和酷睿i差远了,有人推测八核美洲豹性能居然只有比双核酷睿i5好一点。

一个CPU中含有数十亿个晶体管,比如英特尔的主流CPU拥有20亿个晶体管,在某些高端产品中晶体管数量高达60亿个。晶体管在做模拟信号的相互转换时会根据CPU主频的高低产生动态功耗,因而CPU的主频越高,发热量就越大。

当然芯片的制造工艺一直是在不断发展,根据摩尔定律,集成电路上可容纳的元器件的数目,约每隔一年半会增加一倍,性能也将提升一倍。

2000年的奔腾4处理器,制作工艺是180nm;

2010年的酷睿i7-980X,制作工艺32nm;

2013年的酷睿i7 4960X,制作工艺是22nm;

现如今酷睿i7 9700k的制造工艺更是达到了10nm级别。晶体管做得越小,导通电压更低,就可以补偿了CPU主频升高带来功耗的增加。

但是,CPU的制造工艺是不会无休止地提升,越往后技术难度越大, 因而制造工艺是限制目前CPU主频提升的最大障碍 。 而且晶体管尺寸是减小了,但数量的增加会使晶体管之间的积热问题凸显出来,因此总的发热量并不会有太多减少。

况且主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。CPU的性能参数还有二级缓存、三级缓存、指令集、前端总线等方面。一味地升高CPU的主频,会使CPU的发热量成倍增加,最后为了给CPU降温就要在散热装置上花费极大的功夫,这样做是得不偿失的。

所以为了增加CPU的速度,半导体的工程师们就给CPU设计多个核心,能够达到相同的效果。就好比有100道算术题要计算,单核CPU就是让一位速算高手来完成,而多核CPU就是请了四位速算能力一般的人,但最后还是四个人完成100道题所用的时间短,毕竟人多力量大嘛。

现在cpu并没有在核心数上突飞猛进,多核已经是十年前的技术了。现在普遍仍然停留在8核,服务器16核,多的32核,无法进一步提高。为啥,因为多核在访问缓存和内存上需要一定的同步机制。简单讲,核越多,协调它们越困难,访问缓存和内存越慢,制约了核心数的进一步提高。计算机体系结构是一个整体,cpu架构也是一个整体,不是单单某一方面决定的。比如就现在的计算机结构而言,制约其速度的根本不是cpu主频,而是内存访问速度,一级缓存,二级缓存,三级缓存存在的根本原因就是内存访问速度太慢。现在cpu的发展更多的是属于设计,优化范畴,而非技术突破,相对已经进入瓶颈期,单看主频和核数已经意义不大。

其实最主要的是半导体CPU再提升主频非常难,投资非常大,但获得的收益很低,很亏。所以想在半导体CPU没有被替代的时候通过堆核的方法再坑你点钱,想想,8核十六线程,用的到么。当然,里量子计算机普及还需要很长时间,即使普及也不稳定。目前也就i7 七代八代(AMD很少关注,所以不太了解,就不妄加评论)适合攒机,主频基本都在40GHz以上(睿频),普通不超频一体式水冷压的住。功耗也比较低,4核8线程也适合普通玩家使用,边打 游戏 边听歌,爽的。买牙膏厂的u得先看看红色阵营有什么动静。说实话牙膏厂的坑钱套路真的很烦。

因为Intel在2004年的时候曾经在提高CPU主频的事情上吃过大亏,于是转战多核心的路线。而多年以后的今天CPU已经是多核心+高频率的组合了。

Intel在奔腾Pentium 4的时代开始研发超长流水线设计的CPU,为了使超长流水线能够发挥它的设计功效,Intel开始在提高CPU主频上下功夫,一度达到34GHz。

但那是十几年前的2004年,CPU的工艺只有90nm, 超高主频带来的后果就是巨大的发热量和耗电量,34GHz CPU的功率可以超过100瓦,而当时Intel正在研发的4GHz CPU的功耗更是无法想象了。

再加上当年Intel 820 + Rambus的风波,直接导致了Pentium 4新一代芯片取消上市,于是就有了非常著名的 Intel CEO“下跪道歉”事件 。

在这之后,Intel痛定思痛,决定从「高频率」转向「多核心」,开始了双核、4核、6核研发,通过多核心的“人海战术”来提高CPU的工作效率。

十几年过去了,CPU的制造工艺也在不停进步,慢慢的主频又开始逐渐提升。比如第八代14nm的的Core i7处理器主频就达到了37GHz(睿频47GHz),同时也采用了6核心的架构。

所以CPU的主频是和制造工艺密切相关的,制造工艺越高,CPU的频率也能够进一步的提高,否则只能靠堆核心的办法提高运算能力了。

技术应用:

并行计算技术是云计算的核心技术,也是最具挑战性的技术之一。多核处理器的出现增加了并行的层次性能使得并行程序的开发比以往更难。

而当前业内并无有效的并行计算解决方案,无论是编程模型、开发语言还是开发工具,距离开发者的期望都有很大的差距。

自动的并行化解决方案在过去的30年间已经被证明基本是死胡同,但传统的手工式的并行程序开发方式又难以为普通的程序员所掌握。

Intel、微软、SUN、Cray等业内巨头正投入大量人力物力进行相关的研究,但真正成熟的产品在短期内很难出现。可扩展性是云计算时代并行计算的主要考量点之一,应用性能必须能随着用户的请求、系统规模的增大有效的扩展。

当前目前大部分并行应用在超过一千个的处理器(核)上都难以获得有效的加速性能,未来的许多并行应用必须能有效扩展到成千上万个处理器上。这对开发者是巨大的挑战。

扩展资料:

多核处理器的技术优势:

从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。

一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。

这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑上。

还有一些更常见的日常应用程序,例如Office、IE等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运行速度也会得到较大提升。

-多核处理器

linux下的单进程多线程的程序,要实现每个线程平均分配到多核cpu,主要有2个方法

1:利用linux系统自己的线程切换机制,linux有一个服务叫做irqbalance,这个服务是linux系统自带的,默认会启动,这个服务的作用就是把多线程平均分配到CPU的每个核上面,只要这个服务不停止,多线程分配就可以自己实现。但是要注意,如果线程函数内部的有某个循环,且该循环内没有任何系统调用的话,可能会导致这个线程的CPU时间无法被切换出去。也就是占满CPU现象,此时加个系统调用,例如sleep,线程所占的CPU时间就可以切换出去了。

2:利用pthread库自带的线程亲和性设置函数,来设置线程在某个CPU核心上跑,这个需要在程序内部实现。同时注意不要和进程亲和性设置搞混淆了

int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,

const cpu_set_t cpuset);

int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, 

cpu_set_t cpuset);

从函数名以及参数名都很明了,唯一需要点解释下的可能就是cpu_set_t这个结构体了。这个结构体的理解类似于select中的fd_set,可以理解为cpu集,也是通过约定好的宏来进行清除、设置以及判断:

//初始化,设为空

void CPU_ZERO (cpu_set_t set); 

//将某个cpu加入cpu集中 

void CPU_SET (int cpu, cpu_set_t set); 

//将某个cpu从cpu集中移出 

void CPU_CLR (int cpu, cpu_set_t set); 

//判断某个cpu是否已在cpu集中设置了 

int CPU_ISSET (int cpu, const cpu_set_t set);

1、E5-2670v2发布与2013年第三季度,虽然核心多、线程多,多核性能差不多相当于i7-8700,但是单核性能低(单核性能仅相当于i5-3350P的成绩)。

2、i9级e52670v2处理器很好。Intel至强E52670v2是一款10核心20线程。基础频率50GHz加速频率高达30GHz处理器。凭借着22nm工艺及新一代IvyBridge-EP架构仅115W功耗就实现了高达1008性能跑分。适用内存DDR3-1866。

3、至强E5-2670v2是2014年上市的服务器CPU,LGA2011接口,十核二十线程,理论性能比酷睿i5-9600K强约5%,满载功耗比i5-9600K高20瓦。

4、E5-2670V2是一款淘汰的服务器处理器。它的多核多线程结构可以让它能比较轻松的胜任网页多开,模拟器多开,虚拟机多开这样的任务,以及可以做视频渲染(视频渲染是一个非常吃CPU多核性能的操作)。

5、IntelXeonE5-2670v2是一款服务器,CPU系列为XeonE5v2系列。核心数量:十核心,主频:5GHz,E52670v2处理器拥有20条执行线程(超线程)在IvyBridgeEP及22nm工艺的加持下基础频率5Ghz加速频率为3Ghz。

其实这两个处理器属于不同平台,且发布时间差了1年,实际上没什么可比性。

2、如果只从跑分来看,那毫无疑问是桌面处理器i310105更好。特别是单核性能,i310105高了33%,多核性能高了24%。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 什么是多核处理器【多核处理器的未来路径】

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情