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