你需要了解關(guān)于HSA規(guī)格的更多知識!
2000年以前,個人電腦(PC)通常只有一顆使用者可編程的處理器──也就是中央處理器(CPU);多年來有許多添加不同種類處理器的嘗試,但一直到繪圖處理器(GPU)發(fā)明,異質(zhì)多工處理技術(shù)才成為PC市場的常見功能。
本文引用地址:http://www.ex-cimer.com/article/201604/289122.htm從那時候開始,PC與類PC裝置如平板電腦、智慧型手機內(nèi)的處理器數(shù)量與種類快速增加;今日所謂的系統(tǒng)單晶片(SoC)處理器,通常包括一個支援音訊、數(shù)據(jù)機與多媒體處理的數(shù)位訊號處理器(DSP),一個加速攝影機相關(guān)運作的影像訊號處理器,以及支援感測器融合、資料通訊與資料儲存的其他專用處理器。
多工處理被多家不同的供應(yīng)商導(dǎo)入成為PC平臺的特色;因為作業(yè)系統(tǒng)開發(fā)商并沒有提供必備的架構(gòu)支援,那些供應(yīng)商被迫在繼承自較簡易周邊裝置的驅(qū)動程式模型內(nèi)運作。其最大的限制在于需要CPU協(xié)調(diào)主處理器與各個協(xié)同處理器本地記憶體之間的資料傳輸與指令。
隨著協(xié)同處理器的數(shù)量與重要性提升,這種以CPU為中心的解決方案變得很不方便,有太多潛在性能在那些不必要的協(xié)調(diào)任務(wù)中被浪費,也會因為需要在多個實體與虛擬位址空間之間轉(zhuǎn)譯而產(chǎn)生太多錯誤與安全性弱點。
因此──雖然時間有點遲──相關(guān)解決方案應(yīng)運而生,而被認為最全面的起點是AMD在2011年推出的融合系統(tǒng)架構(gòu)(Fusion System Architecture,F(xiàn)SA);FSA演變成今日的異質(zhì)系統(tǒng)架構(gòu)(Heterogeneous System Architecture,HSA)規(guī)格,由HSA基金會負責(zé)維護。HAS基金會包括7家創(chuàng)始成員(除AMD之外,包括ARM、Imagination、聯(lián)發(fā)科、 Qualcomm、Samsung與TI),還有42家一般會員,分成數(shù)個小組。
HSA基金會在2015年公布了1.0版的HSA規(guī)格,并于同年12月出版了一本題為《異質(zhì)系統(tǒng)架構(gòu)──全新的運算平臺基礎(chǔ)架構(gòu)(Heterogeneous System Architecture -- A New Compute Platform Infrastructure)》的書籍,詳述了該規(guī)格的背景與實作建議,由美國伊利諾大學(xué)香檳分校(University of Illinois at Urbana-Champaign)的Wen-Mei W.編輯。
HSA最重要的功能(筆者認為),是系統(tǒng)中所有的HSA處理器(代理/agent)采用單一記憶體模型(single memory model)、單一排隊模型(single queuing model)以及單一虛擬指令集;此外針對搶占(preemption)與本文切換(context switching)也有一些標準化。
但基本上不同種類的處理器(例如CPU與GPU),會有程度不等的本文切換延遲,使其不可能延伸單一本文切換模型以適應(yīng)每一種HSA代理。還有許多附加功能建立在那些基礎(chǔ)上:原子記憶體(atomic memory)運作標準、例外狀況處理(exception handling)、除錯、執(zhí)行時期應(yīng)用程式介面(runtime APIs)等等。
HSA的記憶體模型也值得詳述;該規(guī)格將在競爭CPU、系統(tǒng)與作業(yè)系統(tǒng)供應(yīng)商影響下獨立發(fā)展的記憶體子系統(tǒng)之許多特性標準化,展望未來,那些設(shè)計與編程HSA代理的廠商會需要在虛擬定址(virtual addressing)、連貫性與一致性支援單一組規(guī)則,不同于今日相互矛盾、混淆、錯誤誘導(dǎo)的混雜定義。
身為一位花費多年時間提倡架構(gòu)現(xiàn)代化的工程師,我贊賞HSA基金會的進展,但我認為仍有進一步改善的空間(而且相當充裕);特別是當快閃記憶體被發(fā)明出來,我認為傳統(tǒng)上對于“記憶體”與“儲存”的定義已經(jīng)過時,但PC產(chǎn)業(yè)仍固執(zhí)地抵制一些在其他運算應(yīng)用領(lǐng)域被證實已經(jīng)成功的想法。
在上述的HSA新書中也有些未提及的議題,并非只有CPU、GPU與DSP等類型的處理器可能在PC中應(yīng)用,例如FPGA正成為PC與高性能運算都有興趣的方案;但是到目前為止HSA還是著重在CPU、GPU與DSP這些類型的處理器。
此外系統(tǒng)架構(gòu)雖定義了系統(tǒng)安全性的限制,但安全性完全未在此書中提及──至少那個名詞并沒有出現(xiàn)在書籍的目錄中。令人遺憾的現(xiàn)實是,HAS會產(chǎn)生像是那些像是在CPU上的病毒那么危險的、寄生在GPU病毒,系統(tǒng)配置者應(yīng)該被教育如何將這些新的威脅最小化,但此書并不能提供協(xié)助。
最后作為一位獨立評論者,我必須指出顯而易見的一點:英特爾(Intel)不支持HSA (特別聲明,我個人與英特爾并沒有業(yè)務(wù)上的合作關(guān)系,也不是HSA基金會的成員)。英特爾在全球PC市場的占有率高達八成,對于共享虛擬記憶體以及其他一些HSA的元素有他們自己的實作方法。基于純粹實用主義的理由,這一點可能有助于HSA基金會解釋其解決方案的差異性與優(yōu)越性所在。
對此我曾詢問過HSA基金會主席John Glossner,他表示(在HAS基金會的官網(wǎng)上也有說明),目前市場上大多數(shù)對HSA的關(guān)注是來自于行動平臺供應(yīng)商,雖然也很歡迎英特爾加入,該公司在行動裝置市場的能見度并不高,只有一些例如Win 10平板電腦等數(shù)量相對很少的利基產(chǎn)品,因此英特爾的缺席并不會對HSA的廣泛采用造成障礙。
Glossner進一步解釋,1.0版HSA規(guī)格的主要目標是協(xié)助供應(yīng)商利用自己的IP、“從上到下”在平臺上布置HSA;那些供應(yīng)商通常對于那類議題關(guān)注較少,因為他們掌控設(shè)計的所有元素,而且對于以標準為基礎(chǔ)的特殊應(yīng)用共同處理器興趣更高。而正在開發(fā)中的1.1版HSA規(guī)格,將有助于來自不同供應(yīng)商的IP整合到個別SoC方案;在這樣的環(huán)境中,安全性、字節(jié)序(endianness)等等類似的問題將需要更進一步的關(guān)注。
評論