迎接多核时代
“所有的芯片都将成为多处理器,我们必须学习如何给它们编程。”Co-Design Automation Inc.的创始人Simon Davidmann在去年秋天说。
大约一个月后,业界第一款8核处理器诞生了。而今天,四周已经布满了关于4核处理器的各种声音。
我们真的进入了多核时代。而一直以来处理器领域所面临的挑战,诸如速度、功耗、效能、线程支持、软件编程等等,是否就迎刃而解了呢?
上个世纪九十年代,六大派系左右着企业级微处理器领域:DEC/康柏Alpha、SGI MipS、惠普PA-RISC、IBM Power、Sun Ultrasparc以及Intel x86。
十年之后,SGI MIPS踪影难觅,并且传来了SGI申请破产保护的消息;而Alpha已经在惠普的未来计划中消失了;惠普PA-RISC也将在未来几年逐渐淡出市场。在旧力量逐渐消亡的同时,新势力也在不断涌现,今天的企业级微处理器市场上,原来的三个派系:IBM Power、Sun UltraSparc以及Intel x86在经历市场和时间的洗涤后更加强壮。同时,新的势力迅速成长,并成为了左右微处理器市场走向的重要角色,其中不能不提的两大派系,就是AMD Opteron以及惠普/Intel的安腾。这五大力量,架构起今天的企业级微处理器版图。
纵观这五大力量发展到今天,在技术走势上越来越趋同,那就是设计上以CMP(单芯片多处理器)为主思路,将多线程作为处理器的重要技术特征,并且在追求速度和性能的同时,也开始越来越多地关注功耗、效能。
之前,CPU的时钟频率“兆赫兹”是微处理器厂商近乎唯一的追求。
“兆赫兹(MHz)是一个非常轻易理解的性能参数,厂商利用它也更轻易说服消费者。尽管它只是一种很差的应用性能指标,但多数常用基准测试中所用到的参数也好不到哪去。假如有两种虚伪的评测指标摆在厂商面前,一种能够促进销售,另外一种对销售没有什么好处,那么厂商会选择哪一种呢?结果很轻易猜测。不幸的是,厂商在MHz上的竞争将处理器引向了另外一条道路——更大、更复杂的单线程系统。这与CMP的宗旨相去甚远,而且越来越远。”微处理器技术专家、Google首席工程师Barroso曾经这样毫不留情地批评一些x86处理器厂商对于MHz近乎偏执的追求。
CMP风潮
CMP技术最初出现在上世纪的九十年代末。那时候,许多微处理器领域的研究者都倡议使用CMP来替代复杂性较高的单线程CPU,而DEC研究小组正是其中的一个。当时DEC正在设计Piranha系统(基于CMP技术的可扩展架构),这种系统在当时的CMP领域绝对是一种超前设计,因为DEC使用了非常简单的核心,并利用它来提供更高水平的线程级并行处理能力,增加单个服务器系统的工作负载处理性能。
遗憾的是,后来DEC被康柏收购了。但是,CMP作为一种企业级微处理器设计的思想潮流,并没有放缓脚步。越来越多的处理器厂商开始关注这一趋势,到了2001年,IBM推出了第一款CMP架构的微处理器—双核Power 4芯片,用于IBM的RISC服务器之中。
之后,几乎所有的RISC处理器都实现了从单核向双核的技术革新。与此同时,多线程逐渐成为另一个技术热点。实际上,在单核处理器上,当时就有不少处理器厂商采用了多线程技术来提升处理器对于并发负载的处理能力。在CMP架构中,多线程更是发挥多核处理能力的一个必要技术。
相比之下,CMP架构在x86微处理领域的进展缓慢。AMD和英特尔在2004年公布了各自的双核计划,并在2005年才开始首次供给双核产品。或者说,Intel并没有将CPM架构作为一个重要战略及早地加以考虑,这给了后起之秀AMD一个绝好的历史机会 —AMD抢先推出了x86架构的双核处理器Opteron,并成功塑造了双核处理器技术先驱者的市场地位。
Opteron最大的技术革新,在于改变了x86架构一贯以“更高兆赫兹”引导用户的做法,而是学习了RISC处理器的CMP思路,将更高带宽提到了与更高性能并重的位置,并创造了直连架构,将CPU直接连接到内存、I/O,同时引入HyperTransport超传输总线技术来消除传统的前端总线瓶颈,降低内存访问延时。有评价说,这些技术创新使AMD Opteron可以在3.0Ghz的时钟频率条件下达到理论上Pentium4 4GHz的性能。
不过,英特尔也很快推出了双核至强(Xeon)以及双核Pentium。而现在,双方都已经公布了将在不久后推出四核处理器产品,从而将x86架构引入了CMP时代。
前沿技术趋势
在微处理器架构的设计上,今年也出现了一些新思路。
这几天,关于Intel下一代微处理器架构Core的细节资料越来越多。我们可以看到,Core微体系结构采用双核、64位、4条超标量、平缓管道化、乱序执行MPU、65nm制程的高性能处理单元所构成。处理器可进行36位物理寻址和48位虚拟内存寻址,并支持所有Intel技术。每个CPU均由一个32KB的一级I cache、一个双端口的32KB一级cache和一个共享的4MB二级cache提供数据。当前Core MPU时钟频率可达3.0GHz,并可能超频至3.33GHz。Woodcrest最大功耗是80瓦。
实际上,对于一个“好的”CMP设计来说,它应该为显著减少cache持续块内容更新而设计。这对工作站和服务器来说是一个很主要的问题。从这个意义上来讲,Intel的下一代微处理器架构Core中针对服务器和工作站的处理器Woodcrest比起以前那些不共享任何cache的服务器芯片来说,确实要更胜一筹。
而将多核、多线程带到一个全新时代的,则非Sun莫属。去年底发布的UltraSparc T1 创造性地实现了8核4线程,远远超过IBM Power5及其他对手。非凡是在多线程技术上,UltraSparc T1更值得关注。Intel在2003年推出双线程技术时,将其称为超线程(HyperThreading),而2005年IBM Power5则称为多线程(MultiThreading),这两者都是双线程。而UltraSPARC T1则做到了每核四线程,Sun将其称为CoolThreading。从技术本质上来讲,这些技术实际上是大同小异的。不过,IBM与Sun的多线程技术在通畅性上更优异些。IBM Power5能够侦测各线程的执行状况以及资源使用状态,在等候过久时会将该线程进行转移,提升系统的并行执行能力。相对来说,Intel的HyperThreading技术目前仍无法转移,线程一旦排入执行位置就不能再换替位置,即便该线程将占用很多执行资源与时间也必须持续等候。而UltraSPARC T1不但能进行线程的动态转移,任何一个执行单元有空余时,都可抓取已排入其他位置的待线程来处理,借此来维持多核、多线程的平行处理利用率,并且,T1中的每个核都拥有专属的4路16KB L1指令快取与4路8KB L1数据快取,且具有同位检查(Parity Check)能力,可自行侦测并修正1bit的内容错误。此外,T1的L2 Cache实行八核共享,共有12路3MB 4-Bank,并具有ECC侦错、更错能力,八核是以Crossbar连接架构来存取这个L2 Cache。
Sun计划在一年后提供每内核8线程的第二代UltraSPARC T1(称为“ROCK”)。这种处理器同时可以处理64个线程,或者4路并行状态下同时处理256个线程。从目前的资料看, UltraSparc T2处理器的工作频率仍然是迷,但是Sun很可能不会将工作频率提升到1.2GHz以上,以便让UltraSparc T2处理器维持UltraSparc T1处理器79W的功耗。
即将在下半年发布的IBM Power6,看上去却是一种“逆势而动”的思路。据悉,Power6将采用一个不同于Power5技术架构,虽然多核心依然是设计思想,但是更高的工作频率更是Power6的技术特点—IBM方面已透露Power6处理器的时钟频率将可能在4GHz~5GHz之间,并宣称将有全新的技术来应对高时钟频率带来的处理器功耗和发热问题。
Power6现已明确表态会采用65nm制程技术生产,实际上这也是未来所有微处理器将采用的制程技术。而今天,则是90nm当道之时,130nm制程技术显然已经是昨日黄花了。
然而,多核并不是万能药。有技术专家说:“多核并不是新东西。它只是改头换面的对称多重处理技术,建立在单一处理器基础上的多处理器系统同样面临性能提升的问题。”
例如,一个比较明显的问题是,看上去强大无比的UltraSPARC T1的每内核性能实际上并没有得到明显地提升,而大量的内核还引发了人们对于软件优化的担忧:只有当有足够的线程时才能够充分发挥CMP的优势。
英特尔在2005年取消了计划中的4.0GHz “Tejas”处理器,因为该芯片的功耗可能超过1000W。随着功耗的上升,超快单核芯片的冷却代价也越来越高。这其实也是CMP架构出现的一个必然原因—多核既可以继续改善处理器性能,又可以暂时避开功耗和散热难题。AMD的一位技术专家就曾经说:“作为处理器厂商,这是我们能够在一定的功耗范围内提高性能的唯一途径。”他指的就是多核。
正是对于兆赫兹的持续追求,导致了今天在单核处理器架构上严重的功耗问题。即便到了双核以及多核时代,功耗依然是微处理器最大的挑战之一。
尽管从全局来看CPU所消耗的功率只占整体系统功耗预算中很小的一部分,但当服务器数量达到一定规模时,也是相当惊人的。
所以我们看到,不论是IBM、Sun,还是AMD、Intel,都已经将降低处理器的每瓦功耗作为新一代处理器中最重要的技术攻关点。然而,值得注重的是,单凭CMP并不能解决服务器功效比方面所有的挑战,这依然是一个庞杂的问题。尤其随着大规模数据中心建设高潮的来临,这个问题将日益严重。
QQread.com
推出游戏功略 http://www.qqread.com/netgame/game/index.Html
魔兽世界
跑跑卡丁车
街头篮球
水浒Q传
龙与地下城OL
征服
轩辕剑5
FIFA07
热血江湖
大唐风云
梦幻西游
武林外传