多核

多核

多內核(multicore)是指在一枚處理器(processor)中集成兩個或多個完整的計算引擎(內核)。

概述


多內核(multicore chips)是指在一枚處理器(chip)中集成兩個或多個完整的計算引擎(內核)。多核技術的開發源於工程師們認識到,僅僅提高單核晶元(one chip)的速度會產生過多熱量且無法帶來相應的性能改善,先前的處理器產品就是如此。他們認識到,在先前產品中以那種速率,處理器產生的熱量很快會超過太陽表面。即便是沒有熱量問題,其性價比也令人難以接受,速度稍快的處理器價格要高很多。
英特爾工程師們開發了多核晶元,使之滿足“橫向擴展”(而非“縱向擴充”)方法,從而提高性能。該架構實現了“分治法”戰略。通過劃分任務,線程應用能夠充分利用多個執行內核,並可在特定的時間內執行更多任務。多核處理器是單枚晶元(也稱為“硅核”),能夠直接插入單一的處理器插槽中,但操作系統會利用所有相關的資源,將它的每個執行內核作為分立的邏輯處理器。通過在兩個執行內核之間劃分任務,多核處理器可在特定的時鐘周期內執行更多任務。
多核架構能夠使軟體更出色地運行,並創建一個促進未來的軟體編寫更趨完善的架構。儘管認真的軟體廠商還在探索全新的軟體併發處理模式,但是,隨著向多核處理器的移植,已有軟體無需被修改就可支持多核平台。操作系統專為充分利用多個處理器而設計,且無需修改就可運行。為了充分利用多核技術,應用開發人員需要在程序設計中融入更多思路,但設計流程與對稱多處理(SMP) 系統的設計流程相同,並且單線程應用也繼續運行。
得益於線程技術的應用在多核處理器上運行時將顯示出卓越的性能可擴充性。此類軟體包括多媒體應用(內容創建、編輯,以及本地和數據流回放)、工程和其他技術計算應用以及諸如應用伺服器和資料庫等中間層與后層伺服器應用。
多核技術能夠使伺服器并行處理任務,此前,這可能需要使用多個處理器,多核系統更易於擴充,並且能夠在更纖巧的外形中融入更強大的處理性能,這種外形所用的功耗更低、計算功耗產生的熱量更少。多核技術是處理器發展的必然。

發展


為什麼不能用單核的設計達到用戶對處理器性能不斷提高的要求呢?答案是功耗問題限制了單核處理器不斷提高性能的發展途徑。
作為計算機核心的處理器就是將輸入的數字化的數據和信息,進行加工和處理,然後將結果輸出。假定計算機的其他子系統不存在瓶頸的話,那麼影響計算機性能高低的核心部件就是處理器。反映在指令上就是處理器執行指令的效率。
處理器性能 = 主頻 x IPC
從上面的公式可以看出,衡量處理器性能的主要指標是每個時鐘周期內可以執行的指令數(IPC: Instruction Per Clock)和處理器的主頻。其實頻率就是每秒鐘做周期性變化的次數,1秒鐘只有1次時鐘周期的改變叫1Hz(赫茲)。主頻為1GHz 就是1秒鐘有10億個時鐘周期。
因此,提高處理器性能就是兩個途徑:提高主頻和提高每個時鐘周期內執行的指令數(IPC)。處理器微架構的變化可以改變IPC,效率更高的微架構可以提高IPC從而提高處理器的性能。但是,對於同一代的架構,改良架構來提高IPC的幅度是非常有限的,所以在單核處理器時代通過提高處理器的主頻來提高性能就成了唯一的手段。
不幸的是,給處理器提高主頻不是沒有止境的,從下面的推導中可以看出,處理器的功耗和處理器內部的電流、電壓的平方和主頻成正比,而主頻和電壓成正比。
因為: “處理器功耗 正比於 電容 x 電壓 x 電壓 x 主頻”,“主頻 正比於 電壓”
所以:“處理器功耗 正比於 主頻的三次方”
如果通過提高主頻來提高處理器的性能,就會使處理器的功耗以指數(三次方)而非線性(一次方)的速度急劇上升,很快就會觸及所謂的“頻率的牆”(frequency wall)。過快的能耗上升,使得業界的多數廠商尋找另外一個提高處理器性能的因子,提高IPC。
英特爾®酷睿™ 架構5大優勢
英特爾®酷睿™ 架構5大優勢
提高IPC可以通過提高指令執行的并行度來實現,而提高并行度有兩種途徑:一是提高處理 器微架構的并行度;二是採用多核架構。
在採用同樣的微架構的情況下,為了達到處理器IPC的目的,我們可以採用多核的方法,同時有效地控制功耗的急劇上升。為什麼?看看下面的推導。
因為:“處理器功耗 正比於 核心數 x 主頻 x 主頻 x 主頻”,“IPC 正比於 核心數”,“性能是IPC和主頻的乘積”,
所以:“性能 正比於 核心數 x 主頻”,“處理器功耗 正比於 性能 x 主頻 x 主頻”。
由單核增加到雙核時,如果性能保持不變,則主頻只需單核的一半,處理器功耗則變為四分之一。這是理想情況,實際上還存在主頻與電壓不是嚴格的正比關係、電容並不是常量、并行程序有額外的通信開銷、順序程序不能百分之百并行化等非理想因素,但多核處理器確實起到了同性能情況下降低功耗的作用。
由此可見,將來處理器發展的趨勢是:為了達到更高的性能,在採用相同微架構的情況下,可以增加處理器的內核數量同時維持較低的主頻。這樣設計的效果是,更多的并行提高IPC,較低的主頻有效地控制了功耗的上升。
除了多核技術的運用,採用更先進的高能效微架構可以進一步提高IPC和降低功耗——即提高能效。基於英特爾®酷睿™ 架構的英特爾® 酷睿™ 2雙核處理器和至強處理器就是現實中的例子。相比英特爾前一代的NetBurst微架構(Intel® Pentium® 4 和Pentium® D),酷睿微架構採用的英特爾®寬區動態執行引擎和英特爾® 高級數字媒體增強技術,就是提高IPC的創新技術;英特爾® 智能功率特性則是降低微架構功耗的技術。
一些晶元的廠商指出,當處理器的頻率達到某種程度后,處理器在工作量的要求會比速度的要求要大,且0.13微米所含的晶體管已很高,將來65納米和45納米,其1組光罩的成本會倍增。但是,這種成本成倍的增長並不會給廠商們帶來相應的收入增長。且發熱量和干擾的因素的介入使得集成度和處理器的頻率已經越來越趨近於一個極限。
因此,使摩爾定律失效的有可能是技術,有可能是經濟效益。
處理器實際性能是處理器在單位時間內所能處理器指令數的總量,因此增加一個內核,理論上處理器每個時鐘周期內可執行的單元數將增加一倍。原因很簡單,因為它可以并行的執行指令,含有幾個內核,單位時間可以執行的指令數量上限就會增加幾倍。而在晶元內部多嵌入幾個內核的難度要遠遠比加大內核的集成度要簡單很多。於是,多核就能夠在不提高生產難度的前提下,用多個低頻率核心產生超過高頻率單核心的處理效能,特別是伺服器產品需要面對大量并行數據,多核心分配任務更能夠提高工作效率。可以看作一種多處理器協作的微縮形式,並且達到更加的性能價格比,一套系統達到多套系統的性能。
多核的介入,使得摩爾定律在另一個層面的意義上,避免了尷尬的局面。從單核到雙核到多核的發展就證明了摩爾定律還是非常正確的。從單核到雙核再到多核的發展,可能是摩爾定律問世以來在晶元發展歷史上速度最快的性能提升過程。"

必然性


上世紀八九十年代以來,推動微處理器性能不斷提高的因素主要有兩個:半導體工藝技術的飛速進步和體系結構的不斷發展。半導體工藝技術的每一次進步都為微處理器體系結構的研究提出了新的問題,開闢了新的領域;體系結構的進展又在半導體工藝技術發展的基礎上進一步提高了微處理器的性能。這兩個因素是相互影響,相互促進的。一般說來,工藝和電路技術的發展使得處理器性能提高約20倍,體系結構的發展使得處理器性能提高約4倍,編譯技術的發展使得處理器性能提高約1.4倍。但這種規律性的東西卻很難維持。多核的出現是技術發展和應用需求的必然產物。這主要基於以下事實:
1.晶體管時代即將到來
根據摩爾定律,微處理器的速度以及單片集成度每18個月就會翻一番。經過發展,通用微處理器的主頻已經突破了4GHz,數據寬度也達到64位。在製造工藝方面也同樣以驚人的速度在發展,0.13um工藝的微處理器已經批量生產,90nm工藝以下的下一代微處理器也已問世。照此下去,到2010年左右,晶元上集成的晶體管數目預計超過10億個。因此,體系結構的研究又遇到新的問題:如何有效地利用數目眾多的晶體管?國際上針對這個問題的研究方興未艾。多核通過在一個晶元上集成多個簡單的處理器核充分利用這些晶體管資源,發揮其最大的能效。
2.門延遲逐漸縮短,而全局連線延遲卻不斷加長
隨著VLSI工藝技術的發展,晶體管特徵尺寸不斷縮小,使得晶體管門延遲不斷減少,但互連線延遲卻不斷變大。當晶元的製造工藝達到0.18微米甚至更小時,線延遲已經超過門延遲,成為限制電路性能提高的主要因素。在這種情況下,由於CMP(單晶元多處理器)的分散式結構中全局信號較少,與集中式結構的超標量處理器結構相比,在克服線延遲影響方面更具優勢。
3.符合Pollack規則
按照Pollack規則,處理器性能的提升與其複雜性的平方根成正比。如果一個處理器的硬體邏輯提高一倍,至多能提高性能40%,而如果採用兩個簡單的處理器構成一個相同硬體規模的雙核處理器,則可以獲得70%~80%的性能提升。同時在面積上也同比縮小。
4.能耗不斷增長
隨著工藝技術的發展和晶元複雜性的增加,晶元的發熱現象日益突出。多核處理器里單個核的速度較慢,處理器消耗較少的能量,產生較少的熱量。同時,原來單核處理器里增加的晶體管可用於增加多核處理器的核。在滿足性能要求的基礎上,多核處理器通過關閉(或降頻)一些處理器等低功耗技術,可以有效地降低能耗。
5.設計成本的考慮
隨著處理器結構複雜性的不斷提高,和人力成本的不斷攀升,設計成本隨時間呈線性甚至超線性的增長。多核處理器通過處理器IP等的復用,可以極大降低設計的成本。同時模塊的驗證成本也顯著下降。
6.體系結構發展的必然
超標量(Superscalar)結構和超長指令字(VLIW)結構在高性能微處理器中被廣泛採用。但是它們的發展都遇到了難以逾越的障礙。Superscalar結構使用多個功能部件同時執行多條指令,實現指令級的并行(Instruction-Level Parallelism,ILP)。但其控制邏輯複雜,實現困難,研究表明,Superscalar結構的ILP一般不超過8。VLIW結構使用多個相同功能部件執行一條超長的指令,但也有兩大問題:編譯技術支持和二進位兼容問題。

處理器


未來的主流應用需要處理器具備同時執行更多條指令的能力,但是從單一線程中已經不太可能提取更多的并行性,主要有以下兩個方面的原因:一是不斷增加的晶元面積提高了生產成本;二是設計和驗證所花費的時間變得更長。在處理器結構上,更複雜化的設計也只能得到有限的性能提高。
對單一控制線程的依賴限制了多數應用可提取的并行性,而主流商業應用,如在線資料庫事務處理(Online Database Transaction)與網路服務(如Web伺服器)等,一般都具有較高的線程級并行性(TLP,Thread Level Parallelism)。為此,研究人員提出了兩種新型體系結構:單晶元多處理器(CMP)與同時多線程處理器(Simultaneous Multithreading,SMT),這兩種體系結構可以充分利用這些應用的指令級并行性和線程級并行性,從而顯著提高了這些應用的性能。
從體系結構的角度看,SMT比CMP對處理器資源利用率要高,在克服線延遲影響方面更具優勢。CMP相對SMT的最大優勢還在於其模塊化設計的簡潔性。複製簡單設計非常容易,指令調度也更加簡單。同時SMT中多個線程對共享資源的爭用也會影響其性能,而CMP對共享資源的爭用要少得多,因此當應用的線程級并行性較高時,CMP性能一般要優於SMT。此外在設計上,更短的晶元連線使CMP比長導線集中式設計的SMT更容易提高晶元的運行頻率,從而在一定程度上起到性能優化的效果。
總之,單晶元多處理器通過在一個晶元上集成多個微處理器核心來提高程序的并行性。每個微處理器核心實質上都是一個相對簡單的單線程微處理器或者比較簡單的多線程微處理器,這樣多個微處理器核心就可以并行地執行程序代碼,因而具有了較高的線程級并行性。由於CMP採用了相對簡單的微處理器作為處理器核心,使得CMP具有高主頻、設計和驗證周期短、控制邏輯簡單、擴展性好、易於實現、功耗低、通信延遲低等優點。此外,CMP還能充分利用不同應用的指令級并行和線程級并行,具有較高線程級并行性的應用如商業應用等可以很好地利用這種結構來提高性能。單晶元多處理器已經成為處理器體系結構發展的一個重要趨勢。

英特爾


英特爾酷睿2雙核處理器
英特爾率先揭開了多核計算時代的帷幕。酷睿™2雙核處理器的橫空出世不僅結束了始自 1993 年的奔騰時代,同時也詮釋了整個計算和通信產業生態圈的理念演變。
酷睿2雙核處理器的價值在於,它締造了一個範圍涵蓋核心硬體生產商、周邊硬體製造商、軟體開發商、整機廠商乃至系統集成商等產業參與者的全新產業鏈。
對於用戶來說,英特爾酷睿2雙核處理器堪稱有史以來最令人興奮的個人電腦核心引擎。根據多個獨立調查組織提供的數據顯示,該處理器在各種伺服器、台式機和遊戲基準測試中遙遙領先於其它處理器產品——無論是讓Windows Vista 在開啟了全部顯示特效的狀態下運行如飛,或是暢玩視覺效果驚人的三維遊戲,一邊聽著喜歡的 APE 音樂,一邊將網上下載的春節晚會節目刻錄到 DVD 上——英特爾酷睿2雙核處理器能夠滿足用戶不斷升級的多元需求。
英特爾酷睿2四核處理器
從雙核到四核,再到集成 80 計算核心、性能堪比超級計算機的原型處理器,英特爾對多內核技術的不懈探索總能夠挺立於技術和產業的最前沿。
已上市的酷睿2四核處理器為通用伺服器和工作站提供了非凡的速度與響應能力——受益領域還包括追求絕對性能的數字媒體創建、高端遊戲以及其它市場。
未來的多核微處理器
“芥子納須彌”原是佛門禪語(意為極微小的芥子容納至高至大之須彌山),卻在 21 世紀之初由英特爾變成了現實——由英特爾研發的、指甲蓋大小的研究用處理器已可支持萬億次計算——無需太久,人們便可將超級計算機移植至桌面或掌中。
作為多內核技術的先導者,英特爾於 2007 年初煅制出了內含 80內核的可編程處理器,它提供了足以與超級計算機匹敵的強勁性能,且功耗僅 62 瓦,較大多數家用電器更低。毫無疑問,凝聚了英特爾深厚技術積澱、創新前瞻力及精湛製程工藝的 80 內核處理器預示了計算 / 通信技術領域未來的發展趨向——它還證明,在可以預見的未來,摩爾定律定能繼續驅動整個 IT 產業高速發展。

普及


進入2009年,處理器已經由雙核升級到四核時代,在斯坦福大學召開的Hot Chips大會上,IBM、富士通AMDIntel等眾多晶元製造商展示出其六核、八核等多核伺服器處理器出現,使得多核之戰悄然到來。新產品的誕生意味舊產品的穩定,由此看來四核伺服器已經成為市場的中流砥柱。
面對突如其來的金融風暴,即便是站在風口浪尖上的IT行業,不可避免地要同其他行業的共同面對金融危機帶來的系列負面效應。這就需要更加實際的應用方案,Nehalem至強5500晶元的發布無疑是“雪中送碳”。如果說2009年3月31日發布之後的上半年是一個新四核市場的推廣期,那麼2009年下半年是Nehalem至強全面爆發的開始。對於企業級產品來說,伺服器也成為市場的降價“新寵兒”,英特爾徹底的宣布45納米四核時代的普及。
伺服器產品大量的採用45納米處理器為企業提升性能,已經不再是過渡階段的市場,各大廠商六核、八核甚至16核處理器的產品發布帶來了高端市場的爭奪戰。可是對於X86市場而言,四核伺服器才是企業的首選。
針對這樣的一個新品急需市場佔有,老款5400系列產品市場份額下降的情況,各大伺服器廠商也是在第一時間推出升級中高端至強5500系列伺服器,由此掀開向Nehalem架構伺服器的全面普及。

至強處理


2008年09月,英特爾終於按計劃發布了Xeon(至強)7400處理器。該處理器開發代號為“Dunnington”,是英特爾首顆基於x86架構的六核處理器,主要面向注重多線程運算的高端市場。英特爾表示,Xeon 7400在虛擬機和資料庫應用方面進行了很多優化。其二級緩存高達16MB,每個核心都支持虛擬化技術,其虛擬化性能跟以往產品相比提高達50%。
跟四核或雙核Xeon處理器相比,六核Xeon 7400處理器的最高主頻稍低。它的最高主頻僅為2.66GHz,TDP功耗和四核系列相同,為130瓦。而2.4GHz主頻的處理器也擁有不錯的性能,TDP僅為90瓦。入門級的2.13GHz處理器TDP功耗為65瓦,更適合在瘦伺服器或工作站使用。
同時,英特爾還發布了四款四核處理器。主頻最高為2.4GHz的型號擁有和六核處理器相同的32MB二級緩存,TDP功耗為90瓦。其餘三款處理器頻率都為2.13GHz,只以二級緩存和功耗的不同來決定其性能。其中有兩款處理器的二級緩存為12MB,一款為8MB。前二者中又有一款基於低電壓技術的產品,TDP功耗僅為50瓦。
作為處理器製造廠商,英特爾當然希望幾家大型PC廠商能夠儘快推出基於這些處理器的計算機或伺服器產品。據悉,2008年,這些處理器的千顆單價從856美元至2729美元不等。它們可能是在Core i7發布之前基於當前架構的最後一批“過渡產品”,但即便如此,其身上所集成的種種先進技術仍會在新的處理器上發揮餘熱。