Global Sources
電子工程專輯
 
電子工程專輯 > 記憶體/儲存
 
 
記憶體/儲存  

多核心處理器面臨軟體設計和記憶體頻寬瓶頸

上網時間: 2005年12月22日     打印版  Bookmark and Share  字型大小:  

關鍵字:multicore,多核,microprocessor,微處理器,multiprocessors-on-chip,微處理器階晶片,architecture,架構 

在矽谷的中心,曾經分別領導低功耗StrongARM(被英特爾收購)和SiByte(被Broadcom買下)設計團隊的兩位領軍人物Dan Dobberpuhl和Simon Davidmann將加入日益龐大的多核心微處理器開發者行列。Dan Dobberpuhl位於加州的P.A. Semi公司在秋季處理器論壇上宣佈了其2到8核心CPU系列的開發計畫。今年,處理器論壇的主題是 ‘通往多核心之路’。 

不過,Simon Davidmann預見了多處理器晶片會遇到大問題。“所有晶片最終都將成為多處理器,我們必須學習如何為它們撰寫程式,”這位Co-Design Automation公司的創始人說,“我們面臨的挑戰在於缺少開發平行應用所需的技巧和工具。”Davidmann最新成立的新興公司叫Imperas,旨在透過整合平台和應用,使之達到系統設計自動化的水準,因而解決他提出的這個問題。

透過進軍多核心領域,Dobberpuhl將與IBM和Sun Microsystems等業已涉足該領域的巨頭進行競爭。當然,對手也包括Azul Systems和Raza Microelectronics這些希望藉由多核心技術超越老牌巨頭的新興公司。

“多核心設計是高性能運算領域的主流概念,從伺服器、筆記型電腦到遊戲平台,以及高性能嵌入式應用等領域都可以看到,”《微處理器報告》的主編Kevin Krewell表示。

Davidmann稱,他知道至少有15家公司在從事多核心設計。Tensilica公司報告其目前的設計平均有5個核心;PicoChip 公司在為無線基地台設計元件中採用了多達400個類似DSP的核心。

但Davidmann警告說,軟體界缺少可為即將問世的各種通用CPU進行高效程式的標準工具。他指出,多核心架構將碰到與第一代網路處理器相同的問題:CPU本身要求程式設計師對其晶片架構有詳盡了解,但人們希望能在高抽象水準編寫程式碼且與具體晶片無關。

與電子設計自動化(EDA)將半導體製造商從設計工具開發中解放出來一樣,系統設計自動化也將使晶片和系統製造商從需要製作自己的程式工具中解放出來,Davidmann表示。另外,軟體開發人員每天將能寫出更多的高效程式碼。

軟體設計師的責任

不管尚不為人知的Imperas公司是否真能提供一套完整解決方案,Davidmann對問題的判斷是正確的,分析師表示。

“所有這些多核心處理器將接踵而至,但我們仍在使用C和C++,而它們不適合在軟體中充分發揮底層執行緒的作用,”‘微處理器報告’的Krewell表示,“所以軟體界實際上擔負著這個責任。”

微軟公司的發言人在秋季處理器論壇上的主題演講中呼籲對此問題進行更好的教育。英國劍橋微軟研發實驗室的研究人員最近提出了採用所謂輕量軟體解決方案的想法。源自一個已有30年歷史的概念,它使用了比我們目前一般所用的更好的數據鎖存技術。其目的是降低複雜程度並避免處理器的干預。

微軟的方法是採用虛擬記憶體標識追蹤軟體中的變化,直到這些變化被實體記憶體記錄。雖然此概念看起來是可行的,但微軟承認,尚有許多細節有待落實。

“最終,我們將看到個別應用採用平行程式技術,以最大程度發揮多核心處理器的效用。但平行程式仍不成熟,”Chuck Moore表示。他曾是IBM初始雙核心CPU的主要設計人員,目前在AMD開發下一代核心。

PA Semi、Raza Microelectronics和Sun等公司發現在主流Web伺服器和網路設備的大量後端處理中存在許多平行關係。“在網路領域中,對應用進行平行處理相對容易,”Raza公司XLR晶片的主要架構設計師David Hass表示。該XLR晶片在8個MIPS核心中提供了多達32個執行緒。

“的確,我們還沒有利用執行緒技術的全部潛能,”Sun的首席架構設計師Marc Tremblay表示。Sun即將問世的Niagara晶片也在8個核心上支援32個執行緒。Tremblay從1999年就開始進行多核心架構設計,他最新的計畫是至少將包含8個核心的一款新Sparc處理器。

Sun發現,使一個核心能處理4個執行緒將使晶片面積增加25%,但對某些應用來說,性能將提升3倍。在未來,特殊的協助執行緒扮演著程式碼探路者的作用,以預測及避免快取記憶體漏失,Tremblay表示。

但並非每個人都同意上述結論。在PC領域,類似英特爾超執行緒這樣的同步多執行緒技術僅能提升20%左右的性能,在某些應用中甚至還妨礙性能,AMD的Moore表示。AMD將不採用多執行緒技術,但它希望能更大限度地共享晶片資源,例如,讓多個執行單元共享一個L2快取記憶體及一個或更多的指令發佈單元。

P.A. Semi的Dobberpuhl同意上述觀點。“對許多應用來說,多級快取記憶體配以低記憶體延遲是個更好選擇,”他說,“在通用元件中採用多執行緒是以增加相當多的電晶體數、複雜程度和功耗為代價的,所以,並不划算。”

多核心設計人員也在激烈討論哪些類型的核心最適合這些架構,以及如何有效地將這些核心彼此互連,並與內部或外部I/O和記憶體連在一起。雖然X86體系開發人員仍將堅守其傳統的核心架構,Sun則倡導使用為低功耗、單執行緒性能和吞吐量而最佳化的簡化核心。這是一條其他設計人員應當效法的道路,Jim Kahle表示,他是由IBM、Sony和東芝聯合開發 Cell處理器的主要設計人員。

除此之外,一些設計人員採用多處理伺服器的概念,透過新同步或鎖存指令對核心進行定製。

例如,新興公司Azul(已開發出一款24個核心的單執行緒Java處理器)採用被其稱為樂觀平行的策略:處理器假定不加鎖存,數據也能執行,但處理器透過檢查標記以確保數據執行,並在需要時加裝鎖存。另一方面,Raza公司為其MIPS核心增加了幾條指令,以支援更精微的鎖存方案及新穎的訊息流通互連。

P.A. Semi採取了另一條途徑,它採用一個具有高性能浮點和向量單元的多出口無序核心。透過把一個核心變得更強韌以滿足高階伺服器等更廣泛市場的需要,Dobberpuhl表示。

P.A. Semi的晶片還包括一個用於各種卸載作業的硬連線區塊,這些作業包括:TCP校驗和處理、安全加密和驗證,以及RAID儲存處理。類似地,Raza為其XLR晶片添加了一個4核心加密引擎。

Sun和AMD都表示,它們正考慮何時將用於系統內網路、安全、圖形、I/O或其他部份的專用加速器添加進多核心處理器。IBM已有多核心類型的Cell處理器。“這樣的東西會越來越多,”IBM的Kahle表示,“這反映了人們正從新的角度思考晶片架構。”

核心的互連

對如何連接這些核心的討論與該選用哪類核心的討論一樣熱烈。

Azul使用一個相關網格以連接其24個定製核心。網格的使用使延遲最小、電晶體最少、尺寸最小,以及功耗最低,Azul System公司的共同創始人、CTO兼工程副總裁Scott Sellers表示。另一方面,當追蹤多個沿不同路徑的未執行指令時,確保快取記憶體的一致性是很複雜的。Azul選擇了一種基於處理時間標誌和巡視標籤的絕對一致性方法。

Raza採用了3個獨立迴路,用於I/O、記憶體和CPU的資訊交錯。為實現快速高效的數據共享,XLR的訊息交互迴路使得執行緒直接與快取記憶體通訊,並不經過鎖存或共享記憶體。但同樣,增加的一致性使設計變得更複雜,例如,為了記憶體連接就需要額外的驗證區塊。

這些先行者在爭論共享匯流排和矩陣交換的可行性,目前,這些方法在較不先進的設計中仍普遍採用。“共享匯流排沒有前途。大家基本上都轉向其它方法,”Raza的Hass表示。

但AMD、P.A. Semi和Sun爭辯說:在16個核心以下,矩陣交換有很好的效果。Sun採用更有挑戰性的多執行緒,意味著它能避免更複雜的互連,Tremblay表示。

“我不認為互連是個與眾不同的問題,”Dobberpuhl說,“它是個設計要點。真正的差異在於功耗、核心數量、延遲和頻寬。互連只是個實現問題。”

晶片設計師們同意,最大的多核心設計瓶頸是記憶體頻寬。“在32個執行緒水準,我們的記憶體通道目前雖尚未飽和,但我們仍在改進,”Raza的Hass表示,“首先要突破的是DDR頻寬。若我們想增加更多核心,我們必須增加更多的記憶體通道。”

“我們到底該如何使系統頻寬與時俱進?”Azul的Sellers問道,“不久的將來,DRAM的緩慢進展將使我們舉步維艱。”Azul公司的晶片連到8個DIMM記憶體。

英特爾的方法是採用全緩衝記憶體DIMM,它增加了更多的虛擬和實際通道,但功耗也大了一倍。

最後,多核心處理器能否成功也許將取決於像Dobberpuhl和Davidmann這樣創新者的硬體和軟體技巧。

作者:麥利




投票數:   加入我的最愛
我來評論 - 多核心處理器面臨軟體設計和記憶體頻寬...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首