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