在X86領域,英特爾和AMD在今后兩年內還是會基于傳統(tǒng)的多核心方案繼續(xù)發(fā)展,其中,英特爾在下半年帶來的Merom架構以高效率見長,但它非常缺乏擴展的空間;而AMD公司在未來兩年內更多是對現(xiàn)有的AMD64架構進行改良。
在過去數(shù)十年歷史中,微處理器業(yè)界一直為提高芯片的運算性能而努力,得益于IC設計和半導體制造技術的交互拉動,微處理器的運算性能始終保持高速度提升狀態(tài),芯片的集成度、工作頻率、執(zhí)行效率也在這個過程中不斷提升,計算機工業(yè)由此改變。在大家熟知的X86領域,處理器的技術進步更是對世界產(chǎn)生重大的影響,作為PC機的核心,X86處理器事實上擔任起信息技術引擎的作用。
伴隨著X86處理器的性能提升,PC機可以完成越來越多的任務:從最初的Basic到功能完善的DOS系統(tǒng),再到圖形化的Windows 95,從平面二維到3D環(huán)境渲染,從一個無聲的純視覺界面進入到視覺、音頻結合的多媒體應用,計算機實現(xiàn)彼此相互聯(lián)網(wǎng),龐大的Internet日漸完善,電子商務應用從概念到全球流行;
與硬件技術高速發(fā)展相對應,PC應用也朝向前所未有的深度和廣度拓展:視頻媒體轉向HDTV高清晰格式,3D渲染朝向電影畫質進發(fā),操作系統(tǒng)的人機界面也從2D的GUI進入到三維時代,高速互聯(lián)網(wǎng)接入和無線技術方興未艾,應用軟件越來越智能化,所有這些應用都要求有高性能的處理器作為基礎。而除了應用驅動外,激烈的市場競爭也成為微處理器業(yè)界競相研發(fā)新技術、提高產(chǎn)品性能的主要推動力。
在2006年,我們將看到具有卓越能源效率的英特爾Merom架構出臺,AMD則以雙通道DDR2-800支持與之抗衡,同時雙核心產(chǎn)品成為桌面和移動芯片的新標準,X86處理器進入到性能躍升階段。
毋庸置疑,X86處理器已然成為計算機工業(yè)的主導力量,在高端服務器和嵌入領域廣泛使用的RISC處理器反而少被提起。事實上,RISC處理器一直都以遠超X86產(chǎn)品的卓越性能和銳意進取的技術創(chuàng)新著稱,幾乎所有先進的設計技術都是首先出現(xiàn)在RISC領域,之后才被X86產(chǎn)品所借鑒。而換一個角度來看,RISC處理器領域的每一次技術創(chuàng)新又反過來對X86產(chǎn)品產(chǎn)生重大影響,因此,了解當前RISC領域的尖端技術便意味著能夠明晰X86處理器的未來走向。
今天,微處理器全面轉向多核心體系,無論RISC芯片還是X86芯片皆是如此,不過我們在本文中所要介紹的并不是人們熟知的雙核心 Pentium D或者Athlon64 X2,而是當前多核微處理器領域的最新技術成果以及面向未來的新穎概念,它們包括RISC領域的黑馬、P.A.Semi公司的PWRficient雙核處理器,SUN公司推出的 UltraSPARC T1八核心處理器,英特爾公司Many Core計劃的實質以及AMD正在考慮的HyperTransport協(xié)處理器架構。
在這同時,我們也將向大家介紹各微處理器廠商對未來技術發(fā)展的不同理解,以及軟件業(yè)如何應對為多核平臺編程的巨大挑戰(zhàn)。
高度整合的架構
P.A.Semi公司的PWRficient處理器在去年微處理器論壇(MPF2005)上正式揭曉。對于P.A.Semi這個名字,相信所有人都感到陌生,這家專門從事RISC處理器設計的技術型企業(yè)成立于2003年,創(chuàng)始者都是微處理器業(yè)界的頂尖人物。其CEO曾負責Alpha服務器芯片和 StrongARM手持機芯片的開發(fā);負責技術的副總裁科勒也曾從事Alpha芯片的開發(fā),后來進入AMD公司幫助定義了Opteron芯片的架構;另一負責架構的副總裁皮特同樣曾為Alpha架構服務,在DEC公司發(fā)生的數(shù)次并購中先后進入康柏、惠普和英特爾。
在MPF2005論壇上,P.A.Semi公司對外公布其設計的雙核心PWRficient處理器,高度整合的設計令外界耳目一新,并兼具低功耗和高性能兩大特性。該公司同時表示,PWRficient彈性的架構可被方便擴展到八核心或用于超級計算機系統(tǒng),在高端服務器領域頗具競爭力。
在設計PWRficient之時,P.A.Semi面臨的第一個問題就是指令系統(tǒng)的選擇,X86無疑更加流行、市場更廣闊,但該領域被英特爾、 AMD把持,機會有限,加上X86指令系統(tǒng)復雜低效,與PWRficient的高端定位相悖。P.A.Semi最終選擇了IBM的Power架構,這樣 PWRficient處理器便成為IBM Power大家族中的一個新成員。
但除此之外,PWRficient與IBM的Power芯片并沒有太多的共同點,它擁有一套極富彈性的架構、高度整合以及低功耗特性。 PWRficient主要定位在刀片服務器和低運營成本的服務器集群,P.A.Semi公司將英特爾的Sossaman Xeon處理器(Yonah架構)作為主要的競爭對手。
我們先來看看PWRficient的系統(tǒng)架構,如圖1,我們可以看到,PWRficient與通常的處理器邏輯非常不同,除了CPU內核和二級緩存外,它還包括一個名為ENVIO的智能型I/O子系統(tǒng)。換句話說,PWRficient上包含CPU和ENVIO I/O子系統(tǒng)等兩大邏輯,兩者通過一個名為CONEXIUM Interchage的高速交換總線聯(lián)結為一個有機系統(tǒng)。CPU部分為兩個代號為PA6T的64位Power CPU內核,運行頻率為2GHz。
與其他雙核芯片不同的是,PWRficient的每一個 PA6T內核都擁有自己的DDR2內存控制器,但兩者是以相互獨立的模式而非組成共享的雙通道。此種設計的好處在于每個CPU內核都能擁有屬于自己的內存資源,最大限度降低內存搶占的幾率。每個CPU內核都可支持64位或32位模式運作,具有諸如超標量、亂序執(zhí)行、三發(fā)射等技術特性。另外,PA6T內核也都直接整合了硬件級的虛擬技術支持,可以在多套系統(tǒng)同時運行時仍保持出色的性能。
PA6T內核整合了64KB指令緩存和64KB數(shù)據(jù)緩存,而兩個PA6T核心再共同分享2MB容量的二級緩存。PWRficient并沒有采用類似Xeon的大緩存方案,原因就在于它的每個核心都有自己的內存,出現(xiàn)內存搶占的幾率遠低于共享總線的落后設計。
兩個PA6T核心、2MB二級緩存和兩個DDR2內存控制器都是通過CONEXIUM Interchage交換總線聯(lián)結為一體,如果未來有需要,也可以在這條交換總線上聯(lián)結四個內核甚至八個內核。但CONEXIUM的功能不僅于此,PWRficient處理器中的ENVOI I/O子系統(tǒng)也是通過這套總線與CPU邏輯直接通訊。與我們通常所見的固定模式不同,ENVOI相當靈活且富有彈性,它直接整合了八個PCI Express控制器(每個控制器提供4GBps帶寬)、兩個10GbE網(wǎng)絡控制器(萬兆以太網(wǎng))和四個GbE(千兆以太網(wǎng))控制器,這三部分I/O邏輯共享24對串行傳輸線路。
設備制造商可根據(jù)自身情況對這24對串行線路進行靈活配置,例如在NAS網(wǎng)絡存儲系統(tǒng)中,可以讓連接磁盤系統(tǒng)的PCI Express傳輸獲得更多線路資源,如果需要多端口的網(wǎng)絡訪問,那么便可以將線路資源朝向10GbE和GbE系統(tǒng)傾斜。這種高度彈性的架構讓制造商擁有寬松的設計空間,可以根據(jù)企業(yè)的不同需要定制出最科學的服務器系統(tǒng)。而這種高度整合設計還有一個益處在于:無論是PCI Express系統(tǒng)還是網(wǎng)絡系統(tǒng),數(shù)據(jù)傳輸時的總線延遲都極短,進而獲得卓越的數(shù)據(jù)傳輸效能。[!--empirenews.page--]
盡管PWRficient專門針對服務器應用,但它的設計思想對于X86產(chǎn)品仍然十分有借鑒意義。AMD計劃在下一代處理器架構中引入類似的高度整合設計,直接內建PCI Express控制器,以提高系統(tǒng)的數(shù)據(jù)傳輸性能。事實上,整個芯片組的功能都可以被處理器所整合,這對于芯片組廠商而言顯然不是什么好消息。
除了高度整合設計外,卓越的每瓦性能也是PWRficient處理器的主要賣點之一。PWRficient的核心頻率為2GHz,芯片最高能耗區(qū)區(qū)25瓦,平均運行能耗甚至僅有5W的超低水平。IBM公司將重點放在高性能的Power 5/6和游戲機領域,對低功耗芯片重視不足,PWRficient便不會與IBM的產(chǎn)品有什么沖突。P.A.Semi公司將英特爾Sossaman核心的低功耗型Xeon作為主要對手,盡管Sossaman基于效率出眾的Yonah架構,但它的能源效率遠無法同PWRficient相提并論。
PWRficient 2GHz的實際性能略高于Sossaman Xeon 2.5GHz,但后者的能耗達到73瓦,整整比PWRficient高出兩倍。對服務器系統(tǒng)而言,低功耗芯片的意義不僅在于散熱更佳,最大的好處在于能夠節(jié)約出可觀的運營成本。P.A.Semi公司作出了詳細的對比:如果要構建一套運算速度達到32TFLOPS標準的服務器集群,需要使用6400枚 Sossaman Xeon處理器,連帶配套芯片組、萬兆網(wǎng)卡等組件,整套集群的能耗將達到467200瓦;
而如果轉用PWRficient平臺,只需4000枚芯片就能夠實現(xiàn)相同的性能,由于主要功能都被CPU直接集成,配套的芯片組也變得簡單,整個集群的功耗只有92000瓦,相當于英特爾Sossaman Xeon平臺的1/5,集群的空間占用、散熱系統(tǒng)費用也更為低廉。如果選擇PWRficient平臺,集群系統(tǒng)的運營費用可以被大幅度削減,對本例的 32TFLOPS集群系統(tǒng)而言,就是每年可節(jié)約出至少100萬美元運營費用,PWRficient的優(yōu)勢十分明顯。
PWRficient將采用IBM的65納米SOI工藝進行制造,P.A.Semi公司計劃在下半年推出處理器樣品,2007年正式上市。該芯片的主要銷售對象包括服務器廠商、網(wǎng)絡設備廠商,甚至還包括家電廠商,尤其在刀片服務器和服務器集群系統(tǒng)中,PWRficient具有明顯的優(yōu)勢。但光有優(yōu)秀的產(chǎn)品不足以說明問題,P.A.Semi只是一家小規(guī)模的技術型公司,自身沒有服務器制造和推廣力量,只有獲得服務器廠商的支持才能夠將 PWRficient推向實用化。而對IBM來說,既然沒有更多的精力來開發(fā)低功耗Power芯片,將P.A.Semi收歸旗下不失為一個好選擇。
圖1 PWRficient處理器的邏輯架構,整合了大量的I/O功能,堪稱一款SOC(片上系統(tǒng))型芯片。
精簡核心和超多線程設計
SUN公司在2005年底推出的UltraSPARC T1也是微處理器領域的又一巔峰之作。同PWRficient的高度整合設計不同,UltraSPARC T1的重心放在多任務并行功能,這是由UltraSPARC T1自身的定位所決定的。UltraSPARC T1主要針對承擔網(wǎng)絡中樞的高端服務器系統(tǒng),這類服務器主要面向高吞吐量的事務計算,需要在同時處理大量的并發(fā)任務,而這些任務又都不需要復雜的運算。
因此,SUN公司采用非均衡的思想來設計UltraSPARC T1:每個基本的CPU內核都相當精簡,但都能夠很好地完成相應的數(shù)據(jù)處理任務,由于精簡核心占據(jù)的晶體管資源較少,處理器就能夠集成更多的硬件內核;同時在較單純的數(shù)據(jù)處理任務中,每個CPU核心的執(zhí)行管線都不會被充分利用,在此基礎上導入多線程技術將能夠進一步提高系統(tǒng)的并行能力。我們可以看到,UltraSPARC T1擁有八個對等的硬件內核,每個內核可同步執(zhí)行4個線程,這樣僅僅一枚處理器就具備同時執(zhí)行32個不同任務的能力。
UltraSPARC T1的晶體管總量只有3億個左右,峰值能耗只有區(qū)區(qū)80瓦,執(zhí)行效率相當出眾。我們必須注意的是,UltraSPARC T1雖然具有超凡的事務處理能力,可它的科學計算能力十分糟糕,原因就在于SUN根據(jù)自身特殊的需要,采用不對等的設計。
UltraSPARC T1的CPU核心設計得非常簡單,它的流水線很短,也沒有包含浮點運算單元,只有在八個核心之外附加了一個浮點運算器。這樣每個核心的晶體管占用就很少,為芯片低功耗奠定基礎;UltraSPARC T1的每個核心均只運行在1.2GHz的低頻率下,這也是拜短流水線設計所賜,芯片節(jié)能就不難理解了。UltraSPARC T1的每個核心都擁有16KB一級指令緩存和8KB的一級數(shù)據(jù)緩存,并具備奇偶檢查能力(Parity Check),可以自行偵測緩存錯誤。
如果數(shù)據(jù)串中有1bit出現(xiàn)錯誤,緩存自身可對其進行修正,由此保證在苛刻環(huán)境下的運行可靠性。在二級緩存方面,UltraSPARC T1實行八核心共享的機制。由于核心數(shù)量眾多,如果繼續(xù)采用獨立緩存設計的話,緩存同步操作需要耗費可觀的運算資源,共享設計顯然是更理想的選擇。但為眾多的核心分配緩存資源也是一個令人頭疼的事情,SUN通過Crossbar連接架構來解決問題:八個核心在Crossbar的統(tǒng)一分配下獲取緩存資源,有效避免了存取沖突。
一個比較特殊的地方就是UltraSPARC T1的二級緩存容量只有3MB,對一枚擁有八個硬件核心的處理器而言似乎少得可憐,但RISC處理器與X86處理器處理的任務迥異,提高緩存容量對X86 處理器的性能影響立竿見影,但UltraSPARC T1面向網(wǎng)絡運算,而這類運算對緩存容量并不十分依賴,起到?jīng)Q定作用的是核心的性能。
多線程支持是UltraSPARC T1的一大亮點。UltraSPARC T1擁有一項名為CoolThreads的多線程技術,該技術令UltraSPARC T1的每個硬件核心都擁有同步執(zhí)行4個線程的能力。這樣,八核心的UltraSPARC T1可以在同一時間運行32個線程,具有超強的多任務處理能力。雖然英特爾的芯片很早就引入HyperTreading超線程功能、允許CPU執(zhí)行兩個線程,但HyperTreading設計僵化,線程一旦進入執(zhí)行位置就無法替換,這樣即便該線程耗費大量的執(zhí)行資源和時間也必須持續(xù)等候。
在不少時候,此舉反而會令系統(tǒng)的效能降低,這也是HyperTreading發(fā)展多年,但始終都沒有獲得廣泛推行的主要原因。而SUN、IBM 等RISC處理器廠商在多線程技術領域有更深厚的實力,如IBM的Power 5系列具備線程動態(tài)轉移功能,在線程運行開始即可對執(zhí)行狀況和資源使用進行實時偵測,如某個線程久拖不完或資源占用高,其余的核心又處于閑置狀態(tài)時便立即將它轉移,同時將運算資源和等候時間撫平,令系統(tǒng)保持卓越的并行執(zhí)行效率。[!--empirenews.page--]
UltraSPARC T1的 CoolThreads技術也具有類似的動態(tài)轉移功能,任何一個執(zhí)行單元有空余時,都可抓取已排入其他位置的待處理線程加以執(zhí)行,由此維持八個核心的均衡負載。
UltraSPARC T1的整合內存控制器相當強大,它并不是像常規(guī)多核處理器一樣只內建1組,而是擁有多達4組內存控制器,每個控制器都可以支持雙通道ECC DDR2-533MHz內存、傳輸位寬達到144bit。在運行過程中,如果有4bit以下的內容錯誤,UltraSPARC T1的內存控制系統(tǒng)可自行糾正,如果錯誤數(shù)量提高到8bit,UltraSPARC T1仍然具備識別能力,系統(tǒng)可保持長時間的穩(wěn)定運作。
另外,每組內存控制器都可以連接4個DIMM內存槽,因此一枚UltraSPARC T1處理器最多可管理多達16個DIMM模組,創(chuàng)造該領域的最高記錄。毋庸置疑,UltraSPARC T1以4組144bit內存接口來對應8核心已經(jīng)是相當充足,但SUN提供了更多的選擇。在必要時候,用戶可以將每兩個控制器捆綁在一起,相當于將原本相互獨立的4組內存系統(tǒng)變成兩組可并行存取的結構,從而將內存系統(tǒng)的傳輸速度提高一倍。倘若系統(tǒng)執(zhí)行的任務對數(shù)據(jù)傳輸有很高的要求,開啟這項功能將對系統(tǒng)性能提升起到立竿見影的作用。
而在多路擴展方面,UltraSPARC T1采用的是SUN獨有的JBus高速互聯(lián)總線,JBus 1.0規(guī)格早在2003年4月就發(fā)布,采用128bit位寬的地址/數(shù)據(jù)接口,總線頻率在150MHz-200MHz之間,峰值傳輸速率可達到 3.1GBps。雖然成就遠不如AMD的HyperTranspot總線,但JBus的性能同樣可滿足多處理器數(shù)據(jù)交換的要求,畢竟UltraSPARC T1擁有八個核心和32個獨立線程,處理器之間不需要交換太多的數(shù)據(jù)。
除了八核心版本外,SUN公司還將推出較低定位的六核心、四核心UltraSPARC T1,但三者其實都出自相同的晶圓,只是將存在瑕疵、但關閉部分內核后可正常運行的芯片作為六核或四核型號。令人驚訝的是,UltraSPARC T1非常節(jié)能,在八核心、32個線程都激活狀態(tài)下的典型功耗僅有72瓦,峰值功耗也只有80瓦,能源利用效率極其出色;另外,UltraSPARC T1還可以通過關閉某些核心來達到節(jié)能的目的。
當然,我們不能簡單將UltraSPARC T1與X86處理器作直接的對比,畢竟兩者面向不同的應用、設計思想迥異。但從UltraSPARC T1中我們可以接觸到另外一種設計思想:即根據(jù)特定的應用來設計處理器,使得該處理器能夠在既定應用中獲得最佳的效能。這種思想在RISC業(yè)界已經(jīng)開始風行,X86處理器受通用所累,暫時難以實現(xiàn)類似設計,但在未來我們不排除這種思想被X86業(yè)界借鑒的可能:例如英特爾/AMD可以專門針對游戲玩家和多媒體娛樂用戶設計出強化浮點性能的娛樂型處理器,或者設計出強化整數(shù)性能、功耗更低的辦公型處理器,這樣辦公用戶不必為自己不需要的浮點性能多掏腰包,娛樂用戶也能夠獲得性能更出色的產(chǎn)品。而對英特爾、AMD廠商來說,只要設計一個富有彈性的處理器架構,制造出不同定位的產(chǎn)品并不需要花費多少代價。
專用協(xié)處理器實現(xiàn)效能跨越
PWRficient的高度整合思想、SUN UltraSPARC T1根據(jù)任務定制的精簡核心、多任務方案令人耳目一新,但這兩者其實都只是在現(xiàn)有多核架構基礎上的革新,處理器本身仍然基于對等的多核心設計。
微處理器領域真正意義的架構革命將在未來數(shù)年內誕生,那就是多核架構將從通用的對等設計遷移到“主核心+協(xié)處理器”的非對等設計,亦即處理器中只有一個或數(shù)個通用核心承擔任務指派功能,諸如浮點運算、HDTV視頻解碼、Java語言執(zhí)行等任務都可以由專門的DSP硬件核心來完成,由此實現(xiàn)處理器執(zhí)行效率和最終性能的大幅度躍進—IBM Cell、英特爾Many Core和AMD HyperTransport協(xié)處理器平臺便是該種思想的典型代表。
下面,我們便從Cell入手,向大家介紹這種極具前途的新穎設計。
圖3 Cell處理器基于“PPE主處理單元+SPE協(xié)處理器”的專用化設計,實現(xiàn)浮點性能的飛躍。
IBM Cell:開創(chuàng)全新的多核架構
IBM為索尼PS3游戲機定制的Cell是一枚擁有9個硬件核心的多核處理器,它的多核結構同以往的多核心產(chǎn)品完全不同。在Cell芯片中,只有一個核心擁有完整的功能,被稱為主處理器,其余8個核心都是專門用于浮點運算的協(xié)處理器。其中,主處理器只是PowerPC 970的精簡版本,其主要職能就是負責任務的分配,實際的浮點運算工作都是由協(xié)處理器來完成。
由于Cell中的協(xié)處理器只負責浮點運算任務,所需的運算規(guī)則非常簡單,對應的電路邏輯同樣如此,只要CPU運行頻率足夠高,Cell就能夠獲得驚人的浮點效能。而由于電路邏輯簡單,主處理器和協(xié)處理器都可以輕松工作在很高的頻率上—Cell起步頻率即達到4GHz就是最好的證明。在高效率的專用核心和高頻率的幫助下,Cell獲得了高達256Gigaflops(2560億次浮點運算每秒)的浮點運算能力,接近超級計算機的水準,遠遠超越目前所有的X86和RISC處理器。
作為對比,英特爾的4路Montecito安騰(雙內核)系統(tǒng)也僅獲得45Gigaflops的浮點性能。更令人驚訝的是,Cell只花費了區(qū)區(qū)2.34億個晶體管,功耗在80-100瓦左右,能源利用效率比現(xiàn)在設計最佳的RISC和X86處理器都高出數(shù)十倍,這足以說明Cell專用、多核設計思想的優(yōu)越性。
必須提到的是,Cell并非通用的處理器,雖然它具有極強悍的浮點運算性能,可很好滿足游戲機和多媒體應用,但整數(shù)性能和動態(tài)指令執(zhí)行性能并不理想,這是由任務的形態(tài)所決定的。未來耗費計算機運算性能最多的主要是3D圖形、HDTV解碼、科學運算之類的應用,所涉及到的其實都是浮點運算,整數(shù)運算只是決定操作系統(tǒng)和應用軟件的運行效能(操作系統(tǒng)、Office軟件等),而這部分應用對處理器性能要求并不苛刻,因此Cell將側重點放在浮點運算性能,與SUN UltraSPARC T1專注事務處理的設計可以說有異曲同工之妙。
相較而言,當前的X86處理器都采用通用的核心,為了同時提高整數(shù)性能和浮點性能,CPU核心被設計得越來越臃腫,晶體管消耗越來越多,不僅導致芯片的功耗急劇增大,頻率提升速度也非常緩慢。而且通用設計的另一個弊病在于,不管執(zhí)行什么任務,芯片內的所有邏輯單元都消耗電力,導致X86芯片普遍存在能源利用率低的問題。[!--empirenews.page--]
可以預見,倘若繼續(xù)沿著現(xiàn)有的通用、多核設計方案向前發(fā)展,X86處理器將會陷入一系列的困境,例如芯片高度復雜,開發(fā)和制造成本越來越高、芯片功耗無法控制等等。面對這樣的現(xiàn)實,X86業(yè)界轉變思想勢在必行。顯然,IBM Cell的新穎設計非常值得參考,英特爾的Many Core和AMD HyperTransport協(xié)處理器計劃可以視作Cell思想的變種。
圖4 DSP與通用CPU執(zhí)行專用任務時的效能和效率對比
Many Core:Cell思想的繼承與發(fā)展
在2005年的IDF技術峰會上,英特爾對外公布了Many Core超多核發(fā)展藍圖。隨著時間推移,Many Core計劃越來越明晰,我們可以肯定它將成為英特爾未來的X86處理器架構。Many Core采用的也是類似Cell的專用化結構,我們知道,英特爾的四核心處理器采用對等設計,每個內核地位相同,而轉到Many Core架構之后,其中的某一個或幾個內核可以被置換為若干數(shù)量的DSP邏輯,保留下來的X86核心執(zhí)行所有的通用任務以及對特殊任務的分派;DSP則用于某些特殊任務的處理。
依照應用不同,這些DSP類型可以是Java解釋器、MPEG視頻引擎、存儲控制器、物理處理器等等。在處理這類任務時,DSP的效能遠優(yōu)于通用的X86核心,功耗也低得多。在圖4中我們可以看到DSP與通用CPU的效率對比:功耗僅2瓦、特定功能的DSP芯片,在處理對應任務時的效能比75瓦功耗的通用CPU更加出色,且由于DSP構造簡單、頻率提升非常容易;由于DSP效能提升速度比通用處理器快得多,這樣隨著時間的推移,DSP的效能優(yōu)勢將越來越明顯。
而如果處理器將高負載的專用任務轉交給DSP執(zhí)行之后,那么主核心的運算壓力就大大減輕,系統(tǒng)整體效能將獲得明顯提升。
第一代Many Core架構處理器可能采用“3個通用X86核心+16個DSP內核”的組合(圖5),我們可以看到,它的原型是一枚四核心處理器,只是將其中一個核心置換成16個DSP邏輯而已,因此處理器的總體結構和晶體管規(guī)模都不會有多大變化,但產(chǎn)品的實際水準將獲得大幅度增強。在執(zhí)行Java程序、視頻解碼、3D 渲染等耗用CPU資源的任務中,DSP的效能都大幅優(yōu)于通用核心,因此Many Core產(chǎn)品在執(zhí)行這類專用任務時會有飛躍性的性能增益。
同時,DSP邏輯的能耗只有通用核心的幾十分之一,可以讓處理器的功耗出現(xiàn)可觀的降低。當然,如果我們將英特爾的Many Core處理器與Cell相比,便會發(fā)現(xiàn)一個明顯的差異:Cell的主核心非常簡單,協(xié)處理器則非常強大;而Many Core的通用核心仍然居于主導地位,DSP更多只是一種輔助。
這種差異源自于二者不同的定位:Cell只要求具備強勁的浮點效能,而對整數(shù)運算不作要求,因此通用的主核心可以非常精簡;但Many Core必須考慮兼容大量的X86應用軟件,專用的任務居于從屬性地位,在第一代產(chǎn)品中采用“三個通用核心+16個DSP核心”的組合應該是比較恰當?shù)摹?/p>
根據(jù)英特爾的遠景規(guī)劃,第二代Many Core產(chǎn)品將在2015年前后面世。這當然過于遙遠了,但我們不妨來看看它是一款什么樣的產(chǎn)品(圖6)—擁有8個通用X86核心、64個專用DSP邏輯,片內緩存容量高達1GB,晶體管規(guī)模則達到200億。受限于半導體工藝,后兩個目標或許很難完全實現(xiàn),但Many Core設計將毋庸置疑成為標準,而英特爾從這往后將逐步引入Many Core Array架構,不斷增強DSP的數(shù)量以及執(zhí)行能力,通用核心的地位將隨著時間推移不斷減弱,直到最后完全可能實現(xiàn)以DSP占主導地位的專用化運算模式。
圖5 從四核心平滑升級到“三核心+16DSP”的方案,即將其中一個通用核心置換成DSP陣列。
HyperTransport協(xié)處理器系統(tǒng)
在英特爾對Many Core概念作出具體探討之時,AMD也在考慮自己的未來處理器架構。但與英特爾不同的是,AMD尚未考慮另起爐灶的Many Core計劃,而是利用現(xiàn)有的HyperTransport連接架構,對多路服務器系統(tǒng)進行拓展。
Cray公司(克雷,著名的高性能計算機制造商)希望能在基于Opteron的超級計算機中使用矢量處理單元,以提升計算機的矢量運算效能。 AMD方面并不是簡單考慮在Opteron核心中增加一個矢量邏輯了事,而是計劃以此為契機,建立一個以AMD為中心的企業(yè)生態(tài)圈—這或許過于抽象,但看完下文的分析之后大家便能夠明了其中的含義。
我們知道,現(xiàn)有的Opteron多路系統(tǒng)并非采用共享前端總線的方式連接,而是借助專用的HyperTransport總線實現(xiàn)芯片間的直連。這樣,每一顆Opteron處理器都可以直接與其他的處理器進行數(shù)據(jù)交換或緩存同步,不必占用內存空間,無論系統(tǒng)中有多少數(shù)量的Opteron,整套系統(tǒng)都能夠保持高效率的運作。在該套平臺中,HyperTransport總線處于中樞地位,而它除了作為處理器連接總線外,還可以連接PCI-X控制器、 PCI Express控制器以及I/O控制芯片,也就是充當芯片間的高速連接通路。
AMD公司考慮的一套協(xié)處理器擴展方案也是以此為基礎,即為多路Opteron平臺開發(fā)各種功能的協(xié)處理器,這些協(xié)處理器都通過 HyperTransport總線與Opteron處理器直接連接。對Cray提出的需求,AMD給出的解決方案就是,將八路Opteron中的一顆 Opteron處理器置換成矢量協(xié)處理器,以此實現(xiàn)矢量計算性能的大幅度增長,而Opteron平臺本身不需要作任何形式的變動。
在未來,這種拓展架構也可以延伸到PC領域,例如在PC中掛接基于HyperTransport總線的浮點協(xié)處理器、物理協(xié)處理器、視頻解碼器、專門針對Java程序的硬件解釋器,甚至可以是由nVIDIA或ATI開發(fā)的圖形處理器。為達成上述目標,AMD必須設計出一個高度穩(wěn)定的統(tǒng)一接口方便用戶進行擴展,而借助各種各樣的協(xié)處理器,AMD64系統(tǒng)的性能將獲得空前強化。
如果從邏輯層面來看,AMD HyperTransport協(xié)處理器系統(tǒng)的實質與英特爾Many Core平臺其實完全相同,兩者的區(qū)別更多是在物理組成方式:Many Core將專用的DSP邏輯直接整合于處理器內部,AMD的協(xié)處理器系統(tǒng)則是借助HyperTransport總線在外部掛接,這樣用戶就不必為了獲得額外的性能購買新機,直接選擇相應的協(xié)處理器掛接即可。由于協(xié)處理器類型將會非常豐富,每個用戶都能從中找到最適合自己的產(chǎn)品,這在無形之中增強了AMD HyperTransport協(xié)處理器平臺之于Many Core平臺的競爭力。[!--empirenews.page--]
HyperTransport協(xié)處理器方案最富殺傷力的地方并非在于靈活性,而在于AMD所創(chuàng)建的“共生模式”。AMD計劃將 HyperTransport協(xié)處理器授權給其他的專業(yè)IC設計公司,這樣大量的第三方公司都可以為AMD64平臺開發(fā)協(xié)處理器并分別銷售,AMD自身只需要負責通用處理器的開發(fā)和HyperTransport原生態(tài)的維護?;诠餐睦?,大量的第三方IC設計公司將緊密圍繞AMD公司共同發(fā)展 HyperTransport平臺:通過銷售協(xié)處理器,第三方IC公司能夠獲得豐厚的回報,AMD則通過平臺授權和AMD64處理器的銷售獲得利潤、并在第三方公司的幫助下提高市場份額。
至于終端用戶,則可以在現(xiàn)有基礎上通過增加或升級協(xié)處理器達成大幅度提高系統(tǒng)性能的目的—這便是AMD倡導的“友好生態(tài)系統(tǒng)”的實質。與AMD 的開放策略形成鮮明對比,英特爾將變得越來越封閉,從迅馳到VIIV平臺,第三方廠商的機會越來越少,英特爾希望將全部的商業(yè)利潤都歸自己所有,而不是與合作廠商共同分享機會。在這樣的背景下,越來越多IC廠商轉向對AMD平臺的支持,因此AMD所倡導的友好生態(tài)系統(tǒng)其實已經(jīng)有相當良好的基礎。
圖6 2015年的處理器藍圖,Many Core設計成為標準
前瞻:架構革命的前夜
盡管X86業(yè)界依然按部就班地進行性能提升,軟件工業(yè)也是在以往基礎上匍匐前進,但這場架構革命距離我們并不遙遠。在RISC領域,針對實際應用對產(chǎn)品作定制化設計成為各個廠商的共識,而各個廠商在開發(fā)新一代架構時都會有意識地為處理器預留擴展定制的空間。
相信在未來,我們可以看到越來越多的專用型RISC處理器,例如游戲機/視頻任務處理器、網(wǎng)絡處理器、低耗能通用處理器、嵌入處理器等等;而在 X86領域,英特爾和AMD在今后兩年內還是會基于傳統(tǒng)的多核心方案繼續(xù)發(fā)展,其中,英特爾在下半年帶來的Merom架構以高效率見長,但它非常缺乏擴展的空間;到2008年,英特爾才會陸續(xù)引入CSI總線并整合內存控制器,解決多路服務器系統(tǒng)擴展性的問題;大約到2010年,我們有望看到第一代Many Core處理器出臺,X86處理器將轉向一個全新的多核時代。
而AMD公司在未來兩年內更多是對現(xiàn)有的AMD64架構進行改良,例如引入雙通道DDR2-800支持和65納米SOI工藝,服務器領域 Opteron的優(yōu)勢不太容易被打破。大約在2008年,AMD將帶來新一代的K9或K10,高度整合設計將被引入,更關鍵的是,AMD將帶來 HyperTransport 3.0和4.0版總線技術規(guī)范,并有可能開始啟動協(xié)處理器計劃。
由于HyperTransport 3.0/4.0將直接對協(xié)處理器提供支持,AMD只需要解決主處理器與協(xié)處理器的任務協(xié)作以及硬件連接標準的制定即可,接下來的協(xié)處理器開發(fā)工作便主要依靠第三方IC公司加以實現(xiàn)。如果AMD在新一輪變革中再度領先,那么在大量第三方企業(yè)和用戶的支持下,英特爾在微處理器市場的主導優(yōu)勢很可能徹底喪失,最終出現(xiàn)兩大平臺分庭抗禮的格局。
當前微處理器技術發(fā)展的幾個方向
提高架構執(zhí)行效率、多核心設計、靈活的擴展彈性、深層次的功能整合是當前微處理器領域的四大技術發(fā)展方向。處理器效率低下的弊端主要出現(xiàn)在 X86領域,X86指令集臃腫復雜,指令效率已明顯低于RISC體系,如果不在芯片設計方面加以彌補,X86處理器很難獲得媲美RISC產(chǎn)品的卓越性能。
衡量處理器效率通常有兩個指標:一是芯片的能源利用效率,也就是每瓦性能,在消耗同等能源條件下,最終性能高的產(chǎn)品能源效率就較高;第二個指標便是芯片的晶體管效率,我們可以引入“每晶體管性能”來衡量,在消耗等量晶體管數(shù)量條件下,芯片效能高者效率就越高。
晶體管規(guī)模越大,制造成本越高,對芯片廠商來說,提高每晶體管性能能夠在保持成本不變的前提下獲得更卓越的性能。一般來說,每瓦性能和每晶體管性能總是被結合起來討論,不同指令體系的產(chǎn)品在此相差甚遠,例如當前頂級的RISC處理器與頂級的X86處理器作對比,我們便會發(fā)現(xiàn)X86芯片遠遠落后。
即便基于相同的指令體系但設計不同的產(chǎn)品,也可能存在懸殊的效率差異—一個最典型的例子就是英特爾Netburst架構與AMD64架構,Pentium 4芯片的功耗更高,晶體管規(guī)模也普遍更大,但性能無法同對應的AMD64架構產(chǎn)品抗衡。且Pentium 4芯片的能耗已超過百瓦,達到風冷散熱的極限,無法進一步向上提升。
為了解決這個問題,英特爾將在今年中期引入Merom架構來代替Netburst,誠如我們之前的分析,Merom引入了RISC精簡指令的思想,對X86架構進行根本性的改進得以大幅提高效率。而在RISC技術領域,提高效率也一直都是各制造商的目標,雖然RISC芯片在這方面已占據(jù)先天優(yōu)勢,但各芯片廠商仍然在此方面花費巨大的精力并獲得斐然成果。在本文關于P.A.Semi的PWRficient雙核處理器、SUN UltraSPARC T1八核處理器的分析中,我們將能看到這一點。
多核心設計可謂是提高每晶體管效能的最佳手段。在單核產(chǎn)品中,提高性能主要通過提高頻率和增大緩存來實現(xiàn),前者會導致芯片功耗的提升,后者則會讓芯片晶體管規(guī)模激增,造成芯片成本大幅度上揚。盡管代價高昂,這兩種措施也只能帶來小幅度性能提升。而如果引入多核技術,便可以在較低頻率、較小緩存的條件下達到大幅提高性能的目的。相比大緩存的單核產(chǎn)品,耗費同樣數(shù)量晶體管的多核心處理器擁有更出色的效能,同樣在每瓦性能方面,多核設計也有明顯的優(yōu)勢。
正因為如此,當IBM于2001年率先推出雙核心產(chǎn)品之后,其他高端RISC處理器廠商也迅速跟進,雙核心設計由此成為高端RISC處理器的標準。而X86業(yè)界直到去年中期才開始嘗試推出雙核產(chǎn)品,預計實現(xiàn)全面普及要等到2006-2007年。
此時,RISC業(yè)界又朝向多核、多線程的方向發(fā)展,四核心、八核心設計紛紛登臺亮相,并行線程數(shù)量多達32條,并且開始從通用多核體系轉向簡化核以及專用化的DSP,實現(xiàn)性能的跨越性提升—這些新設計和新方向也都將被X86業(yè)界所借鑒。[!--empirenews.page--]
在多路服務器領域,芯片能否具有良好的擴展彈性至關重要,而這主要取決于以下兩大要素:第一,處理器擁有一條專門的芯片間直連總線,這樣當系統(tǒng)中擁有多枚處理器的時候,各個處理器可借助該總線進行通訊,從而實現(xiàn)高效的任務協(xié)作;第二,處理器是否將內存控制器直接整合、擁有一套獨立的內存系統(tǒng)。這方面反面的例子就是英特爾的Xeon平臺,如果要構建多路Xeon系統(tǒng),那么就必須依賴于芯片組,多枚處理器共同分享一套內存系統(tǒng)。
處理器之間如果需要進行數(shù)據(jù)通訊,就必須經(jīng)由“前端總線-北橋-內存”的鏈路,這個過程不僅耗費了可觀的時鐘周期,也消耗了總線和內存資源。更嚴重的是,這類系統(tǒng)存在內存搶占和緩存同步兩個難題:內存搶占是指當多個處理器同時發(fā)起對內存中的某段數(shù)據(jù)進行存取指令時,各個處理器必須以搶占的方式獲得內存存取權限—如果有一個處理器對某段數(shù)據(jù)進行修改,該處理器就會鎖定這段數(shù)據(jù),其他的處理器必須等待,導致性能提升幅度大打折扣。
系統(tǒng)中的處理器數(shù)量越多,此種內存搶占現(xiàn)象就會越頻繁,最糟糕的時候將導致系統(tǒng)的性能不升反降。緩存同步主要出現(xiàn)在多處理器/多內核協(xié)作處理同一任務時,各個處理器或內核必須進行緩存同步。由于Xeon缺乏直接溝通渠道,緩存同步操作也必須依賴“前端總線-北橋-內存”的鏈路進行,效率較為低下。
相比之下,AMD的Opteron平臺就沒有這兩個問題:借助HyperTransort總線,Opteron處理器可實現(xiàn)直接通訊,加之 Opteron擁有獨立的內存控制器,不存在內存搶占的問題,因此該平臺非常易于擴展。Opteron在服務器領域對Xeon造成強大的壓力,很大程度上就是得益于此。至于RISC領域,芯片直連總線和整合內存控制器也早已成為處理器的標準設計,而英特爾在自己的技術藍圖上也表明將在2008年開始采用類似的設計。
對應用于PC的X86處理器而言,處理器的擴展彈性無關緊要,但整合內存控制器還是非常有意義,原因在于該項設計能夠有效降低內存系統(tǒng)的延遲時間。事實上,這只是整合運動的開始,不少處理器廠商都在考慮讓處理器整合越來越多的功能,例如SUN和AMD都在考慮在下一代架構中直接整合PCI Express控制器、I/O控制器甚至是圖形功能,借此提升系統(tǒng)的I/O性能以及降低平臺成本;P.A.Semi的PWRficient處理器則整合了 10GbE和GbE網(wǎng)絡控制器以及PCI Express控制器,目的是提高相應服務器的網(wǎng)絡性能和I/O傳輸效能。盡管其他的處理器廠商似乎不為所動,但高度的整合無疑是未來處理器的發(fā)展方向之一。
多核處理器同軟件配合的討論
在多核心處理器如火如荼發(fā)展的時候,軟件業(yè)卻遠遠沒有來得及為此作準備。最早發(fā)現(xiàn)問題的是PS3、Xbox 360等平臺的游戲開發(fā)商,由于兩套系統(tǒng)完全不同于前一代產(chǎn)品,游戲開發(fā)者對此怨聲載道,程序員普遍認為對多核心處理器編程近乎是一種災難,因為程序員必須深入了解相應的硬件平臺,然后據(jù)此編寫代碼,而讓代碼在兩個核心之間平衡更是一大難題。
相對來說,PS3的Cell平臺難度更大,程序員首次接觸到主-從方式的多核平臺,對如何發(fā)揮出協(xié)處理器的性能優(yōu)勢缺乏經(jīng)驗,由于編碼的不到位,讓Cell平臺無法表現(xiàn)出與實際相稱的高性能。同樣的事情現(xiàn)在也出現(xiàn)在X86領域,雙核平臺的出現(xiàn)讓軟件開發(fā)商考慮對雙核優(yōu)化的重要性—但比較幸運的是,諸如辦公軟件、網(wǎng)頁瀏覽器、內容創(chuàng)建工具等常規(guī)的商務軟件對CPU性能要求不高,對雙核優(yōu)化也不見得會帶來什么實質性的益處,因此主要的X86軟件都不需要作出變動,真正需要考慮雙核平臺的仍然是X86平臺下的游戲。
對此游戲開發(fā)商也是相當頭疼,因為X86多核與PS3、Xbox 360游戲機的多核平臺不同,未來的Many Core或HyperTransport協(xié)處理器平臺也許又要作出改動。為了充分發(fā)揮硬件性能,設備廠商希望開發(fā)商深入了解對應多核處理器的細節(jié)—問題是現(xiàn)存多種多核架構,一一研究代價巨大。開發(fā)者都希望能夠利用一個硬件無關的自動化通用開發(fā)平臺進行設計開發(fā),這樣編碼工作將變得相當容易,同時也能夠保證代碼擁有出色的適應性,遺憾的是,至少在目前這還是軟件工業(yè)一廂情愿的想法。
當然,我們沒必要因此對多核平臺喪失信心,對X86 PC來說,使用多核心處理器能夠極大提升系統(tǒng)的多任務效能,你可以在相同的時間里執(zhí)行多項任務,借此提高辦公效率—在軟件業(yè)來不及跟上的時候,辦公用戶或許能夠更多體驗到雙核平臺的優(yōu)勢所在。