『壹』 多核技術的發展歷史
多核技術的歷史與現狀
摘要:本論文將介紹關於當代新興科技——多核技術的歷史與現狀。從實際需求出發,介紹多核技術的發展背景及技術依託,並簡要闡述多核技術的前景。文中還包括我國多核技術的一些發展狀況。以及「龍芯」的部分情況。
本文提綱:
1.多核技術的定義
2.多核技術的產生背景
3.多核技術的現狀
4.多核技術在中國的發展情況
5.總結
第一章 多核技術
1.1多核技術的定義
在當代由於社會的進步,社會需求的不斷加大,面對市場規模的不斷提高,業務需求的不斷提高,高性能的計算機成為了一種必不可少的數據處理工具。但由於單核多線程已經無法滿足目前需求,隨之在計算機領域也應運而生了一門新興的科技——多(內)核技術。多內核是指在一枚處理器中集成兩個或多個完整的計算引擎(內核)。最為顯著的是多核處理器技術,它也是CPU設計中的一項先進技術。它把兩個以上的處理器核集成在一塊晶元上,以增強計算性能。CMP通過在多個CPU核上分配工作負荷,並且依靠到內存和輸入輸出(I/O)的高速片上互聯和高帶寬管道對系統性能進行提升。
1.2多核技術的應用
由於多核技術的發展,超級計算機也隨之誕生。2009年6月19日,造價2億元、每秒峰值運算速度超過200萬億次的超級計算機「魔方」,開始在上海高速運轉。而有了「魔方」,上海超算的「 腦力」增長了20倍。「曙光4000A」支撐的300多個用戶,將大部分移師「魔方」,包括氣象預報、生物葯物、生命科學、汽車、核電、鋼鐵、新材料、土木工程、物理、化學、航空、航天、船舶等數十個應用領域。
除了舊有的項目之外,「魔方」還被期待以重任:上海市著力發展的九大高新技術產業,如商用飛機、新材料、醫葯、重大裝備、新能源以及電動車等六個領域都將依賴高性能計算技術。
或許,有一天你所搭乘的國產大飛機,不僅機身設計靠的是超級計算機的貢獻,就連出現在你面前的飛行員、空姐排班順序也是超級計算機所決定的。 「超級計算機500強」排行榜中,美國入圍的291台超級計算機中有35台用於金融企業或相關機構。未來,「魔方」將助力上海國際金融中心建設,為金融機構設計衍生產品、控制風險、提供各種計算解決方案。
第二章 多核技術的產生背景
2.1 多核技術與單核多線程的不同
單核多線程則是在單個計算引擎上,以主頻的形式分時復用的執行多個程序,雖然看上去是多個程序並行執行,但實際上仍然是一個處理器在工作,只是主頻較高,不會被用戶所察覺。
多核技術是在一枚處理器中集成兩個或多個完整的計算引擎。它可以在多個計算引擎上同時運行程序,或者說:一個程序可以在多個處理器上進行。在沒有執行順序沖突的情況下,真正縮短了運行時間,提高了計算效率。
2.2 多核技術的產生
單核多線程雖然從表面上解決了多個程序不能同時進行的窘境,但始終是一個計算引擎在工作。未來的主流應用需要處理器具備同時執行更多條指令的能力,僅從單核處理器中已經不太可能提取更多的並行性。
2.2.1 多核的產生背景
因為功耗問題限制了單核處理器不斷提高性能的發展途徑。我們都知道:作為計算機核心的處理器就是將輸入的數字化的數據和信息,進行加工和處理,然後將結果輸出。假定計算機的其他子系統不存在瓶頸的話,那麼影響計算機性能高低的核心部件就是處理器。反映在指令上就是處理器執行指令的效率。
處理器性能 = 主頻 x IPC
從上面的公式可以看出,衡量處理器性能的主要指標是每個時鍾周期內可以執行的指令數(IPC: Instruction Per Clock)和處理器的主頻。其實頻率就是每秒鍾做周期性變化的次數。主頻為1GHz 就是1秒鍾有10億個時鍾周期。
因此,提高處理器性能就是兩個途徑:提高主頻和提高每個時鍾周期內執行的指令數(IPC)。處理器微架構的變化就可以提高IPC從而提高處理器的性能。但是,對於同一代的架構,改良架構來提高IPC的幅度是非常有限的,所以在單核處理器時代通過提高處理器的主頻來提高性能就成了唯一的手段。
不幸的是,給處理器提高主頻不是沒有止境的,從下面的推導中可以看出,處理器的功耗和處理器內部的電流、電壓的平方和主頻成正比,而主頻和電壓成正比。
因為: 「處理器功耗 正比於 電流x 電壓 x 電壓 x 主頻」,「主頻 正比於 電壓」
所以:「處理器功耗 正比於主頻的三次方」 如果通過提高主頻來提高處理器的性能,就會使處理器的功耗以指數(三次方)而非線性(一次方)的速度急劇上升,很快就會觸及所謂的「頻率的牆」(frequency wall)。過快的能耗上升,使得業界的多數廠商尋找另外一個提高處理器性能的因子,提高IPC。
提高IPC可以通過提高指令執行的並行度來實現,而提高並行度有兩種途徑:一是提高處理器微架構的並行度;二是採用多核架構。
在採用同樣的微架構的情況下,為了達到處理器IPC的目的,我們可以採用多核的方法,同時有效地控制功耗的急劇上升。看看下面的推導。
因為:「處理器功耗 正比於 電流x 電壓 x 電壓 x 主頻」,「IPC 正比於 電流」
所以:「處理器功耗 正比於 IPC」
由單核處理器增加到多核處理器,如果主頻不變的話,IPC理論上可以提高一倍,功耗理論上也就最多提高一倍,因為功耗的增加是線性的。而實際情況是,雙核處理器性能達到單核處理器同等性能的時候,前者的主頻可以更低,因此功耗的下降也是指數方(三次方)下降的。反映到產品中就是雙核處理器的起跳主頻可以比單核處理器更低,性能更好。
由此可見,將來處理器發展的趨勢是:為了達到更高的性能,在採用相同微架構的情況下,可以增加處理器的內核數量同時維持較低的主頻。較低的主頻也有效地控制了功耗的上升。
2.2.2 技術的發展導致了多核技術的出現
當然,光有想法是不行的,如果沒有輔助技術的支持,一切想法是無法實現的。
上世紀八九十年代以來,推動微處理器性能不斷提高的因素主要有兩個:半導體工藝技術的飛速進步和體系結構的不斷發展。半導體工藝技術的每一次進步都為微處理器體系結構的研究提出了新的問題,開辟了新的領域;體系結構的進展又在半導體工藝技術發展的基礎上進一步提高了微處理器的性能。這兩個因素是相互影響,相互促進的。其實有些規律性的東西是很難維持的。多核的出現是技術發展和應用需求的必然產物。這主要基於以下事實:
1.晶體管時代即將到來
根據摩爾定律,微處理器的速度以及單片集成度每18個月就會翻一番。經過發展,通用微處理器的主頻已經突破了4GHz,數據寬度也達到64位。在製造工藝方面也同樣以驚人的速度在發展,0.13um工藝的微處理器已經批量生產,90nm工藝以下的下一代微處理器也已問世。照此下去,到今年,晶元上集成的晶體管數目預計超過10億個。因此,體系結構的研究又遇到新的問題:如何有效地利用數目眾多的晶體管?國際上針對這個問題的研究方興未艾。多核通過在一個晶元上集成多個簡單的處理器核充分利用這些晶體管資源,發揮其最大的能效。
2.體系結構發展的必然
超標量(Superscalar)結構和超長指令字(VLIW)結構在高性能微處理器中被廣泛採用。但是它們的發展都遇到了難以逾越的障礙。超標量結構使用多個功能部件同時執行多條指令,實現指令級的並行(Instruction-Level Parallelism,ILP)。但其控制邏輯復雜,實現困難,研究表明,超標量結構的指令集並行一般不超過8。超長指令字結構使用多個相同功能部件執行一條超長的指令,但也有兩大問題:編譯技術支持和二進制兼容問題。
3.能耗不斷增長
隨著工藝技術的發展和晶元復雜性的增加,晶元的發熱現象日益突出。多核處理器里單個核的速度較慢,處理器消耗較少的能量,產生較少的熱量。同時,原來單核處理器里增加的晶體管可用於增加多核處理器的核。在滿足性能要求的基礎上,多核處理器通過關閉(或降頻)一些處理器等低功耗技術,可以有效地降低能耗。
4.設計成本的考慮
隨著處理器結構復雜性的不斷提高,和人力成本的不斷攀升,設計成本隨時間呈線性甚至超線性的增長。多核處理器通過處理器IP等的復用,可以極大降低設計的成本。同時模塊的驗證成本也顯著下降。
5.門延遲逐漸縮短,而全局連線延遲卻不斷加長
隨著超長指令字工藝技術的發展,晶體管特徵尺寸不斷縮小,使得晶體管門延遲不斷減少,但互連線延遲卻不斷變大。當晶元的製造工藝達到0.18微米甚至更小時,線延遲已經超過門延遲,成為限制電路性能提高的主要因素。在這種情況下,由於CMP(單晶元多處理器)的分布式結構中全局信號較少,與集中式結構的超標量處理器結構相比,在克服線延遲影響方面更具優勢。
第三章 多核技術的現狀
3.1 多核技術從各界獲得的支持
自從多核技術新興以來,各行各業都給予了很高的支持。教育方面,全國有120多家高校開設了多核技術或者並行計算這門課。為了以後的並行程序的設計而服務。在商業反面,很多大型公司,很多網路游戲的代理公司都花了巨資來支持研發超級計算機,來提高他們的競爭水平。很多媒體紛紛及時播報關於多核技術的發展狀況。及時提供給社會有關人士研究。很多大型企業已經開始培養並行程序開發,超級計算機使用的人才。1993年,德國曼海姆大學漢斯、埃里克等人發起創建了全球超級計算機TOP500排名榜,從很大程度上促進了多核技術的發展……
3.2 多核技術的成就
多核技術發展至今已經取得了輝煌的成就。它已經代表了一國的科研實力。功耗更低,性能更優,體積更小的超級計算機已經成為全球競爭原來越激烈的高新科技領域。
2005年由IBM製造的藍色基因在TOP500強中排首位。處理器數量達到65536個,實測值136800GF,峰值達到183500GF。到2009年11月排行第一的是美國橡樹嶺國家實驗室的Cray XT5超級計算機「美洲豹」,他的運算速度已經達到每秒1.759千萬億次了。幸運的是我國的「天河一號」也已躋身五強,創下了中國超級計算機在世界上的最高排名。他的運行速度是每秒563萬億次。該產品使用英特爾至強處理器,並利用AMD的GPU作為加速器,共有7.168萬個計算核心。在第34屆超級計算機前500強中,採用英特爾處理器的有4.2個,佔到80.4%。採用IBM結構的佔52個,採用AMD皓龍處理器的佔42個。
由此我們不得不深思一個問題,為什麼中國沒有自己的處理器呢?不急,其實中國已經在研究自己的處理器了,那就是中國「龍芯」。目前,龍芯正式邁開了「以企業為主體,以市場為導向,產學研結合」的步伐。相信不久以後,我們聽到的將是:「我用的可是中國生產『龍芯』處理器」。
第四章 多核技術在中國
4.1中國多核技術的成就
雖然先如今多核技術已經應用到多個領域,尤為突出的是超級計算機這一方面,而且,全世界對這方面也很關注,很重視。下面我們來看看超級計算機在中國發展的概況:
中國從1978年開始,歷經5年研製,中國第一台被命名為「銀河」的億次巨型電子計算機在國防科技大學誕生。它的研製成功向全世界宣布:中國成了繼美、日等國之後,能夠獨立設計和製造巨型機的國家。
1992年,國防科技大學研製出「銀河-II」通用並行巨型機,峰值速度達每秒10億次,主要用於中期天氣預報。
1993年,國家智能計算機研究開發中心(後成立北京市曙光計算機公司)研製成功曙光一號全對稱共享存儲多處理機,這是國內首次以基於超大規模集成電路的通用微處理器晶元和標准UNIX操作系統設計開發的並行計算機。
1995年,曙光公司又推出了曙光1000,峰值速度每秒25億次浮點運算,實際運算速度上了每秒10億次浮點運算這一高性能台階。曙光1000與美國Intel公司1990年推出的大規模並行機體系結構與實現技術相近,與國外的差距縮小到5年左右。
1997年,國防科技大學研製成功銀河-III百億次並行巨型計算機系統,峰值性能為每秒130億次浮點運算。
1997至1999年,曙光公司先後在市場上推出曙光1000A,曙光2000-I,曙光2000-II超級伺服器,峰值計算速度突破每秒1000億次浮點運算。
1999年,國家並行計算機工程技術研究中心研製的神威I計算機,峰值運算速度達每秒3840億次,在國家氣象中心投入使用。
2004年,由中科院計算所、曙光公司、上海超級計算中心三方共同研發製造的曙光4000A實現了每秒10萬億次運算速度。
2008年,「深騰7000」是國內第一個實際性能突破每秒百萬億次的異構機群系統,Linpack性能突破每秒106.5萬億次。
2008年,曙光5000A實現峰值速度230萬億次、Linpack值180萬億次。作為面向國民經濟建設和社會發展的重大需求的網格超級伺服器,曙光5000A可以完成各種大規模科學工程計算、商務計算。
2009年10月29日,中國首台千萬億次超級計算機「天河一號」誕生。這台計算機每秒1206萬億次的峰值速度和每秒563.1萬億次的Linpack實測性能,使中國成為繼美國之後世界上第二個能夠研製千萬億次超級計算機的國家。
每一項都代表著中國國力在不斷提升,中國的國際地位在不斷提升!也許大家會發現,這些超級計算機雖然是中國的,但是他們的處理器都是進口的,這一點著實令人感到尷尬!
4.2中國「龍芯」簡介
從以上的介紹我想大家也都會問起,為什麼那麼多的超級計算機用的都是微軟的處理器呢?那麼中國是不是也應該有自己的比較優秀的處理器呢!別急,中國「龍芯」就是由中國科學院計算所自主開發的通用CPU,採用簡單指令集,類似於MIPS指令。
在經過了多年的研發,中國「龍芯」已經推出了:「龍芯」一號,「龍芯」2號,目前「龍芯」三號也在研發過程中。目前的「龍芯」已經可以具有靈活的可配置IP核架構,可配置多種介面,可配置內外時鍾關系等多想特點。龍芯」的問世不僅僅在於中國自主研發出了自己的CPU產品,其更深層次的意義在於它穿透了困擾在中國科技人員心中的一團迷霧,憑借著自身的技術研發實力,中國同樣可以自己研發生產出被國外壟斷的產品。目前有不少年輕人,對國貨表現出一貫的不信任,尤其數碼產品等。日本人就很善於引進外國技術,然後學習、模仿、創新,中國人同樣也有這種精神。中國既然可以在艱難條件下研發兩彈一星,在航天領域與美國、歐洲並肩前進,那麼在晶元研製領域也一定可以做到!
「龍芯」是我們自己的孩子,我們要用心去愛護他。雖然他現在還不如Intel,但至少目前還沒有幾個國家能夠生產出這種暫時不如Intel的東東!這就是我們的驕傲!回想霍元甲時代,作為香港特區一位電子工作者,筆者再次感慨萬千。我們是龍的傳人,不是東亞病夫!我們堅信「龍芯」的成功是必然的!我們期待著「龍芯」帶給我們更多、更大的驚喜!
4.3多核技術的前景
多核技術使得計算機領域從「山重水復疑無路,柳暗花明又一村。」的窘境。當單核的發展已經進入死胡同時,各CPU廠家也開始改變設計典範,未來所有微處理器皆朝多核心設計發展為主流,傳統型單一核心處理器將退居二線。關於雙核心,我想不必再解釋了,大家耳熟能詳,從ALTHON 64 X2 系列的橫空出世,到現在的酷睿傲視群雄,再到雙核安騰2的發布,雙核心已經是目前市場的主流產品。在伺服器領域,雙核心處理器以其卓越的性能,更低的成本也被大多數企業接受。
從軟體的設計角度來說,雙核/多核也改變了一些就有的思路。nVIDIA首席科學家David Kirk曾抱怨多核心處理器給游戲開發人員帶來了巨大的編程困難。而INTEL 在發展硬體的同時,也在軟體上做出了相應的改進。
在2007年的多核應用暨Intel伺服器平台大會上,英特爾數字企業集團副總裁兼伺服器平台事業部總經理Kirk Skaugem先生表示:「英特爾實際上是全世界最大的軟體工具的公司,我們不僅是一個硬體公司,要想優化你們的多核,不優化就不能實現所有的性能,如果大家上我們的網站可以看到,我們的未來不僅僅停留於四核,未來會變成幾十個核,甚至更多,所以我們在軟體方面會進一步優化。」由此可知Intel公司已經在多核技術方面做好了充分的准備,這也必將導致多核技術將成為主流。
今年初,在由英特爾網路部主辦,CSDN協辦的英特爾多核平台編程優化大賽中,涌現出大量優秀的作品,充分的利用了雙核/多核對於多線程和並行計算技術,使得代碼運送速度大大提升。
事實證明,最新的多核心、超線程編程工具,可以為開發人員提供豐富的資源以供利用,只有摒棄守舊的工作習慣,盡快改變觀念,跟上時代的進步,多核心、超線程編程並不會成為不可逾越的障礙。
第五章 總結
首先感謝我的老師為我們介紹了一門新興的科技——多核技術。而且在學習的過程中鍛煉了我的思維,讓我逐漸形成了並行計算的概念,我想這對於今後的無論是生活還是工作都很有幫助。我從課程中學到了很多東西,並且與此同時,我還強化了以前的知識。比如說編程方面我又得到了鍛煉;從數據結構方面,我了解了更多的演算法;從時間復雜度方面,我知道了多核演算法可以將以前單核運算所不能實現的事例實現等等。在最後我們以論文上交的形式來結業,也鍛煉了我們查詢資料,檢索資料的能力。我感到這門課很充實,也對這門課很有興趣,充滿了挑戰性。衷心謝謝老師。
參考文獻: 《並行計算》;
網路:多核技術的歷史與現狀;
電子工程專輯——多核技術
文摘《計算機世界》 ;
新浪科技時代;
CSDN博客