AMD公司即將制造新型微處理器,旨在將其現有CPU及GPU組件以前所未有的智能化方式連接在一起。
即將面世的新型芯片將采用AMD公司名為“異構隊列(hQ,Heterogeneous Queuing)”的技術。這種全新方案將GPU放在與CPU對等的地位之上——換言之,圖形引擎將不再需要坐等中央處理器為其下達執行指示。
目前,CPU正單獨負責應用程序任務,將處理工作由作業調度隊列分配至用戶內存當中。它甚至可以為自身分配處理任務——例如由一個計算核心將工作調配至另一個核心處。
GPU則不具備這樣的能力。通常情況下,它只能作為一種外圍資源受到操作系統以及驅動程序的管理,這樣的方式大大增加了GPU訪問時所產生的延遲。
這種處理機制主要屬于歷史遺留問題:GPU最初是一塊通過附加板接入主系統總線的獨立芯片。這種模式直到今天也沒有改變——即使將GPU集成到CPU之中甚至與CPU處于同一晶圓模塊之內,其基本原理仍然如故。
老式處理方式:GPU充當著CPU的奴隸角色,因而無法管理自己的任務隊列。
AMD的新方案,同時也是其最新工作成果“異構系統架構”(HSA,Heterogenous System Architecture)則為GPU帶來與CPU完全一致的內存訪問與工作管理能力。
如此一來,一塊hQ GPU就能夠監控任務隊列從而接受并調度任務——其作用對象同樣涵蓋自身與CPU。與GPU相協作的應用程序只需將工作細節加以整理,然后將結果添加到GPU處于用戶內存當中的調度隊列即可。內核級別的驅動程序通道將徹底被淘汰,與其一同消亡的還有因此產生的現有延遲狀況。
作為整套系統的心臟,處于用戶內存中的AMD異構統一內存架構(hUMA, Heterogenous Unified Memory Architecture)將由CPU與GPU實現共享。但為了實現設計目的,AMD特地打造了一種能夠被全部HSA兼容硬件所識別的標準化任務調度數據包格式,類似于一種標準隊列格式。應用程序能夠直接根據這種新型數據包格式生成任務,而且不必將數據包再度轉換為中間形式或者符合特定供應商要求的形式。值得一提的是,目前的驅動程序仍然需要執行這一流程。
轉譯過程與副本制作任務的離去將提高性能表現。此外,直接訪問用戶內存中的任務也將迎來性能改進,這是因為驅動程序將不再被局限在受保護的內存空間當中,由相應內核模式變化所帶來的延遲亦不復存在。
核心平等:異構隊列架構
讓hQ GPU脫離CPU而獨立運行還能夠幫助后者在GPU執行像素及多邊形渲染任務的同時進入休眠狀態,或者作為一塊大規模并行數據處理器做點其它工作。根據AMD公司的說法,這樣一來hQ的優勢將一舉從智能手機處理器領域躍升至數據中心芯片層面。
當然,只有更多供應商的支持與加盟,這套方案才真正有可能迎來發展。有鑒于此,AMD不失時機地指出,HSA數據包格式已經受到其HSA基金會成員的支持——其中包括ARM、高通、三星、聯發科以及德州儀器等公司。
如此看來,HSA兼容硬件應該不至于發生短缺了。但應用程序又是否會選擇這套前途未卜的新方案呢?AMD希望能夠努力將HSA嵌入至標準API當中,例如OpenCL以及OpenCV,從而幫助開發人員輕松從這套新方案中受益。
AMD公司高級研究員Ben Sander表示:“我們還計劃將HSA與其它主流編程模式相對接,例如Java以及Python……這將帶來更多回報。不過大家也可以直接使用此方案。雖然程序員需要為此投入一些精力與成本,但最終大家將能夠對發送至GPU的數據包進行全面掌控。”
AMD公司目前尚未透露hQ方案正式登陸處理器產品的具體時間。