探秘Intel 80核處理器
如今多核已不算是什么新鮮的詞匯,甚至很多人對多核技術(shù)感到厭煩——因為已經(jīng)看得多了。而在各種文獻和媒體中,常常會(huì )看到關(guān)于多核處理器缺乏相應的軟件的評論與報道,這些評論與報道來(lái)自專(zhuān)家、媒體甚至是芯片設計者本身。
多核芯片往往如潮水般來(lái)去匆匆,過(guò)去人們?yōu)槎嗪诵酒械脚d奮與激動(dòng),點(diǎn)燃著(zhù)瞬間激情,可是又像黑夜中的煙花那樣空留絢麗的色彩后就歸于寂靜。
這次卻不同了,在今年的ISSCC(國際固態(tài)電子電路會(huì )議)上,Intel展示了80核Tera-Scale研究芯片。留意一下Intel所用的詞匯, “Tera-Scale”的定義可將其從能夠把TRP(TeraFLOPS Research Processor)從其他的雙核、四核等處理器區分開(kāi)。雖然按照Intel的定義,“Tera-Scale”只是多核處理器的一個(gè)系列,但卻是下一代多核架構。Intel指出,“它將帶我們進(jìn)入TeraFLOP(每秒兆兆級浮點(diǎn)運算)和兆兆位處理能力的全新領(lǐng)域中?!?/P>
Intel的戰略:多核原理
長(cháng)久以來(lái),將理想化的工程與商業(yè)戰略分離并且使其獲得成功,是非常困難的。Intel一直致力于在性能開(kāi)發(fā)上做執牛耳者。從用戶(hù)的角度上來(lái)講,在挑選臺式機和筆記本這樣的產(chǎn)品時(shí),性能是首要考慮的因素。處理器的性能與其內部時(shí)鐘頻率息息相關(guān),可是高頻和高功耗產(chǎn)生的漏電,將會(huì )導致高溫。Intel將在45nm工藝中采用high-k(高介電率)絕緣體技術(shù)。借助于metal gate(金屬柵極技術(shù)),Intel希望其能夠全面改善芯片漏電情況若,若漏電降為原先的十分之一,則性能可提高20%。同時(shí),由于45nm的低寄生效應,晶體管開(kāi)關(guān)功耗也會(huì )降低百分之三十。為了更好地理解Intel TRP芯片的基本原理,這里對high-k和45nm硅技術(shù)結合的效益進(jìn)行一個(gè)估算。粗略算來(lái),我們假設high-k 45nm技術(shù)使芯片的功率降低到先前半導體工藝的二分之一,在同樣峰值包絡(luò )功率下,新的功率存儲使得VDD電壓值高出了大約1.4倍(也就是2的平方根),由于VDD和頻率范圍可被近似為呈線(xiàn)性變化,包括20% 金屬柵極晶體管開(kāi)關(guān)效應引起的頻率增長(cháng)在內,頻率提高1.7倍。在此,我們忽略了頻率限制因素,比如時(shí)鐘分布,晶圓內部與晶圓之間的差異等等。high-k絕緣體技術(shù)能給單核或多核芯片提供可觀(guān)的短期成果。而對于長(cháng)期投資來(lái)說(shuō),依據摩爾定律的優(yōu)勢,Intel已經(jīng)在多芯體系的道路上領(lǐng)跑了2~3年,在世界上,當頻率,功率和通信等重要角色發(fā)生變化,如何為用戶(hù)設計一個(gè)多核平臺?如果只是一個(gè)模擬平臺,那么如何在大負荷工作量中快速地執行程序來(lái)獲得結果?Intel沒(méi)有選擇的余地,只有為研究人員量身設計芯片。在國際固態(tài)電路大會(huì )上展示了Intel 65nm技術(shù)中的8層金屬設計初衷,是用來(lái)“證明100W以下的TeraFLOP性能”,盡管這只是其功能之一。
一個(gè)芯片,更是一個(gè)系統
把單處理器的速率與主體內存匹配起來(lái)是一件很難的事情,如果傳統的單核處理器是通過(guò)高速緩沖存儲器(cache)來(lái)解決CPU和內存之間的速度差異的話(huà),如今的多核處理器由于需要通過(guò)核與核之間的合作來(lái)實(shí)現數據共享,因此復雜性大大增加。和單核處理器相比,多核處理器同樣表現出對于任務(wù)程序以及數據局部性的依賴(lài),以及數據可執行代碼的數據共享特性。Intel的架構師們致力于研究用戶(hù)芯片的核內存,核間通信以及工作量類(lèi)型,但是和他們的前人一樣,還是無(wú)法確定一個(gè)嚴密又明確的工作量。
可以理解,Intel仍然無(wú)法為未來(lái)的Tera-Scale(兆兆規模)芯片下一個(gè)明確的定義,畢竟,目前這只是一個(gè)研究型的項目。然而軟件和系統的開(kāi)發(fā)者們卻被鼓勵著(zhù)繼續完成這個(gè)體系。那么Intel團隊在開(kāi)發(fā)的時(shí)候,他們對于體系的定義又是什么呢?有一點(diǎn)可以肯定,TRP不會(huì )采用80核技術(shù),80是一個(gè)不可思議的數字,雖然80核芯片的晶圓尺寸較好地平衡了可用晶圓空間以及能效(<100W@1TF)。
第一個(gè)另人感興趣的地方是Intel采用的平鋪式“瓷片”(tile)結構(圖1),小的內核像“瓷片”一樣重復地平鋪開(kāi)來(lái),每個(gè)“瓷片”內都包含自己的處理引擎(Processing Engine,簡(jiǎn)稱(chēng)PE),局部?jì)却婧屯ㄐ怕酚?,如同臺式機和服務(wù)器的網(wǎng)絡(luò )連接一樣,每個(gè)瓷片使用自身的路由成為芯片網(wǎng)狀配置的一部分。
圖1 Intel的平鋪式“磁片”構架
在Intel所選擇的這種結構中,芯片能方便地檢測出內含單元數,不同的“瓷片”數目決定了不同的功能應用和價(jià)位。傳輸延時(shí),時(shí)鐘分布,功率減少和部分功率管理等只要對一個(gè)“瓷片“進(jìn)行了優(yōu)化處理,對于整個(gè)芯片也將行之有效。此外,大型芯片兩個(gè)邊緣上的瓷片之間通過(guò)路由網(wǎng)絡(luò )進(jìn)行通信,因此不用擔心由于電磁在硅中的傳播速度限制0.8c(c是光在真空中的傳播速度)從而影響了通信同步。根據Intel表示,渡越時(shí)間(the time of flight)(在一個(gè)時(shí)鐘周期內)不會(huì )成為問(wèn)題所在。因為“瓷片”的路由通信方式能夠很好地得到管理從而具有冗余以及高可靠性?!按善奔軜嫷娜蝿?wù)一旦完成編譯,將在虛擬處理器上進(jìn)行執行,把“瓷片”當作內存管理模塊來(lái)處理,提高了物理內存資源的系統可用性。因此“瓷片”的高利用率提高了性能,較少的“瓷片”不需要再編譯,多個(gè)線(xiàn)程能夠在同一芯片中同時(shí)運行。
Intel的這種結構體系,提供了一個(gè)研究通用處理器軟件和芯片性能的機會(huì ),Intel或許會(huì )將研究成果用來(lái)連接IA架構和NoC(片上網(wǎng)絡(luò )),而這也許就是未來(lái)的服務(wù)器。
路由和每個(gè)“瓷片”結為一體,能夠實(shí)現可避免死鎖的雙32位帶寬的邏輯通道以及非阻塞交叉開(kāi)關(guān)(non-blocking crossbar);當時(shí)鐘頻率為4GHz時(shí),帶寬可達到80GB/s。然而,在訪(fǎng)問(wèn)周期內,有效的通道對象用來(lái)完成數據傳輸。由于雙通道采取用double pumped(兩倍汞,指時(shí)鐘頻率能執行兩次操作,上升沿和下降沿同時(shí)傳輸信號)來(lái)節省芯片內部空間,但是也帶來(lái)了一些新的問(wèn)題。 從表面上看,這種方法帶來(lái)了額外的功耗,但當它被切斷時(shí),兩倍泵只會(huì )對路由產(chǎn)生局部影響。不過(guò)double pumped的采用會(huì )使時(shí)鐘負載增加。Intel的分析報告指出,在最壞的狀況下,交叉區域的50%就會(huì )用于補償全局時(shí)鐘負載和數據通道的RC效應。通道采用16x6位的緩沖隊列管理和基于Intel FLIT(流程控制單元)的32位數據字(參照圖2)。流程控制邏輯依照FLIT的要求來(lái)解碼。
圖2 Intel的NoC(片上網(wǎng)絡(luò ))數據包形式:三個(gè)32位字包含了路由,元件處理控制和包含2位控制字段的數據。每一個(gè)都涉及到FLIT(流程控制單元)。最小的封裝包是2個(gè)FLIT。長(cháng)度能夠進(jìn)行鏈式擴展
軟件和硬件工作可以用Intel的NoC(片上網(wǎng)絡(luò ))封裝形式來(lái)劃分。它定義了三種可能的32位字——其中包括了路由信息,基本處理單元控制和數據。其中的每一部分開(kāi)頭都包含6位控制字段。該字段包括兩個(gè)通道的流程控制(FC),通道ID(L),FLIT有效位(V)以及位標志,用來(lái)指示控制字段位于數據包的頭部還是尾部。鏈表頭明確定義了路由能夠保持10 個(gè)3位地址指向8個(gè)相鄰PE,這里假定為北,東北,東,東南,南,西南,西和西北(N,NE,E,SE,S,SW,W,NW),若添加第二個(gè)鏈表地址FLIT,那么任意一個(gè)PE就能直接尋址其他10個(gè)以上的PE。我們注意到,軟件設計中定義了在不互相沖突的情況下,最優(yōu)的連接路線(xiàn)和通道,軟件必須能夠利用硬件來(lái)支持動(dòng)態(tài)路由和PE通道分配,不同的線(xiàn)程在不同時(shí)間能夠同步執行,或者在不同的芯片內能夠照常運行,或者只是在有問(wèn)題的PE周?chē)鷺擞?,即便是對靜態(tài)路由而言,這也是一個(gè)艱巨的任務(wù)。
6位控制字段包含一類(lèi)或兩類(lèi)32位數據:一個(gè)32位信息控制字段用于PE定位和32位數據字傳輸??刂谱侄文軌蛘埱蠖喾N行為,比如發(fā)送原始PE數據到外部?jì)却?,或是將目標PE改變?yōu)樗郀顟B(tài)或是喚醒。PE通過(guò)開(kāi)關(guān)晶體管完成電源切換,由于可在數周期之內完成,因此優(yōu)于用開(kāi)關(guān)把電源打開(kāi)和關(guān)掉的方法 。讓此類(lèi)電路有4GHz的時(shí)鐘頻率著(zhù)實(shí)是一項挑戰。
在設計中整合了輪循仲裁,但其中不包含可能增加復雜性的優(yōu)先處理機制。此部分任務(wù)將留給軟件完成,從而確保在對處理器中關(guān)鍵數據進(jìn)行訪(fǎng)問(wèn)時(shí),只能就近映射。輪循仲裁使用未決的FLIT信息,用于在數據傳輸之前,于源和目的之間建立一個(gè)完整的路徑。
同步接口與光速
同步接口是“瓷片”體系有效利用并得以大規模結合的關(guān)鍵技術(shù)??紤]到功率、電壓、溫度,大型芯片處理差異以及硅中電磁傳播的極限速度,要想同步時(shí)鐘幾乎不可能。假設硅中電磁傳播的速度接近于0.8c(0.8
評論