Intel公開新一代顯示晶片Larrabee的架構

現在顯示晶片市場中,主要產品仍是由 nVIDIA與AMD二家提供,過往多家顯示晶片製造商,都不敵效能急速提升的挑戰而紛紛退出市場。其中處理器/半導體製造大廠的Intel,也曾在AGP(還有人記得嗎?)推出時,推出了一款獨立顯示晶片,即是知名的i740,當時很多主機板、顯示卡製造商都有推出相關的產品,至於為什麼那麼多生產者,背後有什麼交易因素,年代久遠我們就不討論 :-P。當時i740產品的確也影響了整個市場,不過後續nVIDIA及ATI產品持續的推出,就讓這個有點爭議的顯示晶片退出市場,後來都是整合在市場晶片組當中。

CPU與GPU的發展趨勢,多核心的Larrabee將提供圖形與資料行平運算能力

這幾年來,獨立顯示晶片的效能持續向上提升,整合型系統晶片同樣也進步許多,雖然之前Intel似乎對於獨立顯示晶片前景不是很有信心,但是後來還是改變了,在之前幾次的場合數,都宣告了它將再進入獨立顯卡的市場,這個代號為Larrabee的顯示晶片,將採用與眾不同的架構設計。

在八月舉行的SIGGRAPH 2008(Special Interest Group on GRAPHics and Interactive Techniques)中,Intel正式公開Larrabee的架構設計,至於實際產品最快將在2009或2010年推出。以個人電腦市場為主要目標的Larrabee,將採用特殊的多個 x86計算核心運算,或是說多顆核心組成陣列共同運算。此架構的顯示晶片,未來可能應用在伺服器、桌上型電腦與筆記型電腦等不同平台上使用。

大家都知道 x86運算技術是Intel自己最拿手的部分,再加上先進的半導體製程,能夠在運算效能與功耗間取得相當的優勢。更重要是在 x86運算核心上運作的軟體,在現今的市場市最容易取得支援的人才,而且 Intel本身擁有能為多核心系統最佳化的C/C++編譯器,將能快速的擁有支援軟體。

目前市場的顯示晶片設計,雖然已經加入許多可程式化的設計,例如Unified Shader,但是在某些支援能力上,仍是採用硬體的設計,比如 DirectX版本的支援上,若是微軟採用了新一代的規格,像DX9至DX10時,想要發揮最佳的效能時,硬體就得變更設計至支援DX10的規格,這對消費者來說並不是一個很好的設計。而Larrabee就是要改變這樣的設計,要讓整個運算核心全部都可程式化,連支援的規格,都可利用軟體做到更新、升級!

在過去3D顯示卡尚未成為主流時,遇到有繪圖運算時,在輸入資料之後,全部由軟體運算而成。在3D顯示卡的幫忙下,繪圖的一些步驟就是交由顯示晶片運算,例如Setup、Rasterization…等等。但是在Larrabee中,所有3D計算的所有步驟都是由可程式化的核心來運算,把它當成是以前的軟體運算也行,只是軟體是建構在Larrabee當中!

Larrabee多運算核心是採用特別設計的x86,它是衍生自雙指令執行(Dual-Issue)的 Pentium而來,但是採用了較有效率in-order設計,而非一般中央處理器的Out of Order,但是保留了在高度平行運算時,更為複雜的out-of-order延遲隱匿(Latency-Hiding)。在每個單一 x86核心中,具有獨立的Scalar與Vector單元,並擁有自己的暫存器。在Vector單元中,預計具有每個時脈可做16個32位元指令的能力。和常見的中央處理器不同是它採用較短的執行管線,並擁有快速的L1快取(包含資料與指令)。這些運算核心取使用1024位元寬的雙向環狀匯流排做為各個核心溝通之用,以快速存取記憶體及其它固定功能,並允許代理程式以低延遲方式彼此溝通,如此各個核心就能快速的溝通。所有的運算核心會共享一個具分割設定且具連慣性的L2快取記憶體,提供極高速的頻寬,並具有資料複製及共用的功能。

Larrabee內部方塊圖,其多核心利用環狀匯流排做相互溝通

由於Larrabee具有高度平行運算能力,加上完全可程式的設計,讓它很容易變換所扮演的角色。雖說它是完全可程式的設定,內部還是包含了一些支援繪圖及其它應用程式的固定功能邏輯區塊單元(Fixed function logic blocks),這些單元將被謹慎使用以平衡及強化每瓦效能,並能對架構的彈性與可程式化能力有所助益。

在Larrabee所扮演的角色中,資料平行運算是一個特別的應用方式,這也是目前新一代繪圖處理器(GPU)想要發揮的另一個領域,即所謂的通用運算繪圖處理器(GPGPU),高度平行運算能力,在一些特別的領域,特別是科學、工程模擬運算最能發揮。Larrabee每個運算核心將可支援4個執行緒(Thread),每個執行緒擁有獨立的暫存器群組。每個執行緒通常最多將擁有八個Fiber。Fiber是由軟體管理,而Thread則是由硬體管理,每個Fiber由多組Strand(一個SIMD Lane)構成,這讓Larrabee在平行運算擁有良好的效能。

在Larrabee所扮演的角色中,支援DirectX及OpenGL規格的繪圖功能是其一,第二則是支援原生的Larrabee應用程式,而所有支援規格,都能依照最底層的MicroOS(uOS)所決定。在支援Larrabee的原生應用程式上,它會提供相關的API,讓使用者的軟體能夠直接利用Larrabee的運算能力。雖然Larrabee是x86的運算核心,但是它是由MicroOS及驅動程式所控制,需要支援的軟體才能操作,一般的x86程式是無法利用它來執行程式。

Larrabee提供效能隨著核心數成線性正比的表現

目前像nVIDIA新一代的GTX200系列晶片,也具有繪圖運算與資料運算二種模式,它採用CUDA 2.0的架構,但是內部仍不算完全的可程式化,倒是資料平行運算的應用,似乎都是下一代電腦世界的新應用,只是一般人使用的到嗎?可能得要有殺手級的應用程式出現吧!由於Larrabee目前僅公布其架構設計,內部會擁有多少個運算核心還不是很確定,但是由其內部的資料,可以看到8到64個核心的運算能力比較,其運算效能或繪圖效都能與核心數量呈現線性的成長,的確讓大家有所期待,看來顯示晶片與中央處理器之間的戰爭更為複雜了。

Be the first to comment on "Intel公開新一代顯示晶片Larrabee的架構"

Leave a comment

Your email address will not be published.


*


這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料