多核技術

什麼是多核技術多內核是指在一枚處理器中集成兩個或多個完整的計算引擎(內核)。多核技術的開發源於工程師們認識到,僅僅提升單核芯片的速度會產生過多熱量且沒法帶來相應的性能改善,先前的處理器產品就是如此。他們認識到,在先前產品中以那種速率,處理器產生的熱量很快會超過太陽表面。即使是沒有熱量問題,其性價比也使人難以接受,速度稍快的處理器價格要高不少。 英特爾工程師們開發了多核芯片,使之知足「橫向擴展」(而非「縱向擴充」)方法,從而提升性能。該架構實現了「分治法」戰略。經過劃分任務,線程應用可以充分利用多個執行內核,並可在特定的時間內執行更多任務。多核處理器是單枚芯片(也稱爲「硅核」),可以直接插入單一的處理器插槽中,但操做系統會利用全部相關的資源,將它的每一個執行內核做爲分立的邏輯處理器。經過在兩個執行內核之間劃分任務,多核處理器可在特定的時鐘週期內執行更多任務。多核架構可以使目前的軟件更出色地運行,並建立一個促進將來的軟件編寫更趨完善的架構。儘管認真的軟件廠商還在探索全新的軟件併發處理模式,可是,隨着向多核處理器的移植,現有軟件無需被修改就可支持多核平臺。操做系統專爲充分利用多個處理器而設計,且無需修改就可運行。爲了充分利用多核技術,應用開發人員須要在程序設計中融入更多思路,但設計流程與目前對稱多處理 (SMP) 系統的設計流程相同,而且現有的單線程應用也將繼續運行。如今,得益於線程技術的應用在多核處理器上運行時將顯示出卓越的性能可擴充性。此類軟件包括多媒體應用(內容建立、編輯,以及本地和數據流回放)、工程和其餘技術計算應用以及諸如應用服務器和數據庫等中間層與後層服務器應用。多核技術可以使服務器並行處理任務,而在之前,這可能須要使用多個處理器,多核系統更易於擴充,而且可以在更纖巧的外形中融入更強大的處理性能,這種外形所用的功耗更低、計算功耗產生的熱量更少。多核技術 是處理器發展的必然近20年來,推進微處理器性能不斷提升的因素主要有兩個:半導體工藝技術的飛速進步和體系結構的不斷髮展。半導體工藝技術的每一次進步都爲微處理器體系結構的研究提出了新的問題,開闢了新的領域;體系結構的進展又在半導體工藝技術發展的基礎上進一步提升了微處理器的性能。這兩個因素是相互影響,相互促進的。通常說來, 工藝和電路技術的發展使得處理器性能提升約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還能充分利用不一樣應用的指令級並行和線程級並行,具備較高線程級並行性的應用如商業應用等能夠很好地利用這種結構來提升性能。目前單芯片多處理器已經成爲處理器體系結構發展的一個重要趨勢。

相關文章
相關標籤/搜索