多核處理器的九大關鍵技術

來源:互聯網
上載者:User
作者: banyao2006

 

與單核處理器相比,多核處理器在體繫結構、軟體、功耗和安全性設計等方面面臨著巨大的挑戰,但也蘊含著巨大的潛能。

CMP和SMT一樣,致力於發掘計算的粗粒度並行性。CMP可以看做是隨著大規模整合電路技術的發展,在晶片容量足夠大時,就可以將大規模平行處理機結構中的SMP(對稱式多處理機)或DSM(發佈共用處理機)節點整合到同一晶片內,各個處理器並存執行不同的線程或進程。在基於SMP結構的單晶片多處理機中,處理器之間通過片外Cache或者是片外的共用儲存空間來進行通訊。而基於DSM結構的單晶片多處理器中,處理器間通過串連分布式儲存空間的片內高速交叉開關網路進行通訊。由於SMP和DSM已經是非常成熟的技術了,CMP結構設計比較容易,只是後端設計和晶片製造工藝的要求較高而已。正因為這樣,CMP成為了最先被應用於商用CPU的“未來”高效能處理器結構。

雖然多核能利用整合度提高帶來的諸多好處,讓晶片的效能成倍地增加,但很明顯的是原來系統級的一些問題便引入到了處理器內部。

1  核結構研究: 同構還是異構

CMP的構成分成同構和異構兩類,同構是指內部核的結構是相同的,而異構是指內部的核結構是不同的。為此,面對不同的應用研究核結構的實現對未來微處理器的效能至關重要。核本身的結構,關係到整個晶片的面積、功耗和效能。怎樣繼承和發展傳統處理器的成果,直接影響多核的效能和實現周期。同時,根據Amdahl定理,程式的加速比決定於串列部分的效能,所以,從理論上來看似乎異構微處理器的結構具有更好的效能。

核所用的指令系統對系統的實現也是很重要的,採用多核之間採用相同的指令系統還是不同的指令系統,能否運行作業系統等,也將是研究的內容之一。

2  程式執行模型

多核處理器設計的首要問題是選擇程式執行模型。程式執行模型的適用性決定多核處理器能否以最低的代價提供最高的效能。程式執行模型是編譯器設計人員與系統實現人員之間的介面。編譯器設計人員決定如何將一種進階語言程式按一種程式執行模型轉換成一種目標機器語言程式; 系統實現人員則決定該程式執行模型在具體目標機器上的有效實現。當目標機器是多核體繫結構時,產生的問題是: 多核體繫結構如何支援重要的程式執行模型?是否有其他的程式執行模型更適於多核的體繫結構?這些程式執行模型能多大程度上滿足應用的需要並為使用者所接受?

3  Cache設計: 多級Cache設計與一致性問題

處理器和主存間的速度差距對CMP來說是個突出的矛盾,因此必須使用多級Cache來緩解。目前有共用一級Cache的CMP、共用二級Cache的CMP以及共用主存的CMP。通常,CMP採用共用二級Cache的CMP結構,即每個處理器核心擁有私人的一級Cache,且所有處理器核心共用二級Cache。

Cache自身的體繫結構設計也直接關係到系統整體效能。但是在CMP結構中,共用Cache或專屬Cache孰優孰劣、需不需要在一塊晶片上建立多級Cache,以及建立幾級Cache等等,由於對整個晶片的尺寸、功耗、布局、效能以及運行效率等都有很大的影響,因而這些都是需要認真研究和探討的問題。

另一方面,多級Cache又引發一致性問題。採用何種Cache一致性模型和機制都將對CMP整體效能產生重要影響。在傳統多處理器系統結構中廣泛採用的Cache一致性模型有: 順序一致性模型、弱一致性模型、釋放一致性模型等。與之相關的Cache一致性機制主要有匯流排的偵聽協議和基於目錄的目錄協議。目前的CMP系統大多採用基於匯流排的偵聽協議。

4  核間通訊技術

CMP處理器的各CPU核心執行的程式之間有時需要進行資料共用與同步,因此其硬體結構必須支援核間通訊。高效的通訊機制是CMP處理器高效能的重要保障,目前比較主流的片上高效通訊機制有兩種,一種是基於匯流排共用的Cache結構,一種是基於片上的互連結構。

匯流排共用Cache結構是指每個CPU核心擁有共用的二級或三級Cache,用於儲存比較常用的資料,並通過串連核心的匯流排進行通訊。這種系統的優點是結構簡單,通訊速度高,缺點是基於匯流排的結構可擴充性較差。

基於片上互連的結構是指每個CPU核心具有獨立的處理單元和Cache,各個CPU核心通過交叉開關或片上網路等方式串連在一起。各個CPU核心間通過訊息通訊。這種結構的優點是可擴充性好,資料頻寬有保證; 缺點是硬體結構複雜,且軟體改動較大。

也許這兩者的競爭結果不是互相取代而是互相合作,例如在全域範圍採用片上網路而局部採用匯流排方式,來達到效能與複雜性的平衡。

5  匯流排設計

傳統微處理器中,Cache不命中或訪存事件都會對CPU的執行效率產生負面影響,而匯流排介面單元(BIU)的工作效率會決定此影響的程度。當多個CPU核心同時要求訪問記憶體或多個CPU核心內私人Cache同時出現Cache不命中事件時,BIU對這多個訪問請求的仲裁機制以及對外儲存訪問的轉換機制的效率決定了CMP系統的整體效能。因此尋找高效的多連接埠匯流排介面單元(BIU)結構,將多核心對主存的單字訪問轉為更為高效的猝發(burst)訪問; 同時尋找對CMP處理器整體效率最佳的一次Burst訪問字的數量模型以及高效多連接埠BIU訪問的仲裁機制將是CMP處理器研究的重要內容。

6  作業系統設計: 任務調度、中斷處理、同步互斥

對於多核CPU,最佳化作業系統任務調度演算法是保證效率的關鍵。一般任務調度演算法有全域隊列調度和局部隊列調度。前者是指作業系統維護一個全域的任務等待隊列,當系統中有一個CPU核心空閑時,作業系統就從全域任務等待隊列中選取就緒任務開始在此核心上執行。這種方法的優點是CPU核心利用率較高。後者是指作業系統為每個CPU核心維護一個局部的任務等待隊列,當系統中有一個CPU核心空閑時,便從該核心的任務等待隊列中選取恰當的任務執行,這種方法的優點是任務基本上無需在多個CPU核心間切換,有利於提高CPU核心局部Cache命中率。目前多數多核CPU作業系統採用的是基於全域隊列的任務調度演算法。

多核的中斷處理和單核有很大不同。多核的各處理器之間需要通過中斷方式進行通訊,所以多個處理器之間的本地中斷控制器和負責仲裁各核之間中斷分配的全域中斷控制器也需要封裝在晶片內部。

另外,多核CPU是一個多任務系統。由於不同任務會競爭共用資源,因此需要系統提供同步與互斥機制。而傳統的用於單核的解決機制並不能滿足多核,需要利用硬體提供的“讀-修改-寫”的原子操作或其他同步互斥機制來保證。

7  低功耗設計

半導體工藝的迅速發展使微處理器的整合度越來越高,同時處理器表面溫度也變得越來越高並呈指數級增長,每三年處理器的功耗密度就能翻一番。目前,低功耗和熱最佳化設計已經成為微處理器研究中的核心問題。CMP的多核心結構決定了其相關的功耗研究是一個至關重要的課題。

低功耗設計是一個多層次問題,需要同時在作業系統級、演算法級、結構級、電路級等多個層次上進行研究。每個層次的低功耗設計方法實現的效果不同——抽象層次越高,功耗和溫度降低的效果越明顯。

8  儲存空間牆

為了使晶片核心充分地工作,最起碼的要求是晶片能提供與晶片效能相匹配的儲存空間頻寬,雖然內部Cache的容量能解決一些問題,但隨著效能的進一步提高,必須有其他一些手段來提高儲存空間介面的頻寬,如增加單個管腳頻寬的DDR、DDR2、QDR、XDR等。同樣,系統也必須有能提供高頻寬的儲存空間。所以,晶片對封裝的要求也越來越高,雖然封裝的管腳數每年以20%的數目提升,但還不能完全解決問題,而且還帶來了成本提高的問題,為此,怎樣提供一個高頻寬,低延遲的介面頻寬,是必須解決的一個重要問題。

9  可靠性及安全性設計

隨著技術革新的發展,處理器的應用滲透到現代社會的各個層面,但是在安全性方面卻存在著很大的隱患。一方面,處理器結構自身的可靠性低下,由於超微細化與時鐘設計的高速化、低電源電壓化,設計上的安全係數越來越難以保證,故障的發生率逐漸走高。另一方面,來自第三方的惡意攻擊越來越多,手段越來越先進,已成為具有普遍性的社會問題。現在,可靠性與安全性的提高在電腦體繫結構研究領域備受注目。

今後,CMP這類處理器晶片內有多個進程同時執行的結構將成為主流,再加上硬體複雜性、設計時的失誤增加,使得處理器晶片內部也未必是安全的,因此,安全與可靠性設計任重而道遠。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.