目前,多媒體設備的范圍非常廣泛:從兒童使用的價格不到20美元的MP3播放機到屏幕尺寸幾乎和電影院里差不多的家用平板顯示器。
在先進的電視機上顯示圖像意味著需要對高清分辨率的H.264比特流進行解碼,所需的處理器馬力要比解碼MP3文件所需馬力高3個數量級以上。這種處理能力不對等的另一個例子則是照相手機和攝像機的比較。手機所拍的圖像視頻為QCIF(176x144)格式,而目前的攝像機的視頻格式則為HD MPEG-2。這些格式對設備的視頻子系統的處理能力的需求差別極大。
對于SoC設計師來說,如果能夠保持處理器基礎架構不變將是非常有益的。否則,如果需要重新設計來滿足如此寬的應用范圍中的每項設計應用需求,必將導致更高的設計成本及更長的上市時間。
消費者可能想在不同設備上播放和共享內容。絕大多數人已經擁有多套多媒體設備,如電視機、機頂盒、DVD機、手機、電腦、PMP等。未來設備的一個重要能力就是能夠在這些設備之間傳輸和/或轉移內容。在這些極其不同的設備之間需要具有互操作性。由于所用的音視頻編碼標準有很多,互操作性要求基礎多媒體處理架構具有可編程性。然后在軟件中編入編碼標準,從而使得終端設備靈活并能實現升級。
可編程性同時也意味著可以對影響音頻和圖像質量的關鍵算法進行升級——即通過升級使其具有所需的功能,這是因為工程師不斷地研發用來提高音頻和圖像質量的新方法,事實上也正是這些語音和圖像質量使得其產品具備與競爭產品之間的差異化。可編程性同樣也使得器件制造商進一步實現產品差異化,可以為用戶提供不同的SoC使用方法,降低流片風險,并延長產品的市場壽命。
結果,多媒體處理器架構必須覆蓋很大范圍的復雜度并能夠軟件可編程。ARC Vraptor采用了特殊的多核方案:多個高性能處理器被連接到多個SIMD處理器和多個DMA引擎,還采用了面向不同域的加速器。所有這些都帶有低開銷,低延遲的通信信道和本地寬帶數據總線。
并行多媒體處理
對于可提供的實際時鐘頻率來說,當需要比一個單處理器的能力還高的性能時,并行處理是加速的方法。但是,Amdahl定律告訴我們,只有算法的一部分可以并行,而有些部分是不能并行的,因而終的加速系數,并非并行處理器的數量。極少應用可以容易地實現全并行,通過增加處理器就可以實現系統性能的線性加速。
而現實中的多媒體應用的并行處理可以涉及到全過程:并行得到的好處不但非微不足道,而且肯定可以大大地增加效率并改善性能,如果并行處理得好的話。在為所運行的應用設計一個好的子系統之前,設計師應該仔細地分析這些應用的性質,看一看如何將這些應用分配到各個處理單元中。
視頻和圖像算法通常容易實現并行處理;一幅圖像的左上角的像素與一幅圖像的右下角的像素關聯很少,故可以獨立進行處理,因此處理可以并行。在一幅簡單圖像的獲取和顯示過程中,處理的情況是這樣的:從圖像獲取階段基本上都是并行處理,到視頻壓縮/解壓縮的信息墑編解碼階段變成完全串行處理,然后再返回到顯示器上像素的全并行處理。顯然,需要一個既擅長串行處理又擅長并行處理的混合處理器架構。
像MPEG-2這類視頻編碼標準處理的數據塊為8x8,而更新的一些標準,像H.264和VC-1,則采用顆粒更細的4x4數據塊。另一個例子是H.264的許多預測模式,這些模式利用某像素數據與相鄰4x4數據塊之間的關聯性并引入相關性。靠近鏡頭和顯示器兩側的處理趨勢是追求更細的顆粒度。自適應算法被廣泛采用,算法中濾波器的選擇取決于周邊像素值,等于又一次引入相關性。
精細的粒度意味著通信事件之間需要的計算量較小,這使得有效的通信機制至關重要。ARC公司VRaptor架構的SIMD引擎設計用于自動實現超細粒度,而VRaptor架構的工作信道為處理引擎中的同步和通信提供一個有效的手段。
除并行之外,還有另外一個軸,沿著這個軸能夠使操作得到優化和加速。除了將應用分配到一系列處理引擎上,與此同時還可以將每個處理或數據轉移單元配置到適用于并行任務。VRaptor架構沒有采用通常的方案,即一個處理器可以適用于所有任務的方案。而是采用了與通常不一樣的方案:其處理架構由一組處理引擎和數據轉移引擎組成,每個都只適用于特定的任務,故對其進行配置使其完成所適合的任務。這些引擎在一個數據流水線中一起工作。下面將繼續描述VRaptor架構中每個處理引擎的具體功能,但要首先快速地看一下位于配置核心的配置工具——ARChitect。
ARChitect處理器配置
使用ARChitect時,設計師可以通過ARChitect工具的拖放式GUI來加入應用中所需要的功能,并去掉應用中不需要的功能。在ARChitect中有20000多個處理器內核配置選項,包括內核周邊的功能選項,例如高速緩存的類型和容量、緊耦合的存儲器、存儲器管理單元、中斷、DSP子系統、計時器和調試部件等;也包括核內部的功能選項,例如寄存器的類型和容量、地址寬度、系統接口、指令集選擇和客戶定制擴展。性能和芯片尺寸之間的折衷很容易實現,從而導致一個方案。終的結果是比固定架構的內核體積更小,功耗更低。在ARChitect中,設計師也可以為系統設計來選擇、增加和配置所需的軟件編解碼,硬線加速器,以及DMA引擎。
在部件被選定并配置好后,輕輕一點就可以產生RTL,軟件工具(仿真器,編譯器,代碼連接器等)以及EDA工具腳本。ARChitect一開始被設計用來配置ARC自己的IP,不過現在也被其他半導體生產商用來配置他們的IP。
可配置的RISC處理器
ARChitect架構基于ARC700可配置處理器核系列。這些核比較節省硅片,性能好,并能定制和擴展以適合所需的特定應用。ARChitect架構有很多等級,從一個單ARC710D CPU到多個可配置的ARC750D CPU,每個CPU都帶有多個多媒體處理器,多個加速器和多個I/O設備。
小的配置小于0.5mm2,采用90nm工藝,存儲器除外。每個處理器從一個ARC750 CPU架構的基本配置上擴展,確保與ARCompact ISA的指令級兼容性,并允許采用與支持其它ARC子系統和處理器相同的工具集,包括MetaWare,,Green Hills和GNU工具,所有這些工具都提供廣泛的建模(profiling),調試和匯編支持。通過平衡往ARC700 CPU增加客戶指令擴展的能力,ARC客戶可以利用其深入的應用經驗對VRaptor架構的部件進一步優化,并進一步實現其產品的差異化。
SIMD引擎
與ARC視頻子系統類似,VRaptor架構利用一個單指令、工作在128位數據向量上的多路數據(SIMD)多媒體處理器來擴展ARC700 CPU系列。操作數來自一個專用的向量寄存器文件,可以組織成4個32位單元,8個16位單元或16個8位單元。SIMD處理器通常采用與ARC700 CPU相同的時鐘頻率,并具有兩種工作方式:一個是只簡單地擴展ARC700 CPU系列流水線的緊耦合方式;另一個是松耦合方式。在松耦合方式中,SIMD處理器與ARC700 CPU架構并行,并高效率地獨立工作。
SIMD處理器利用跳轉和分支指令實現了全控制能力。精細的并行決策機制利用預測執行提升了代碼性能。利用一個進取型的正向數據網絡提升了流水線效率,從而減少了關鍵路徑和運算。SIMD指令集全正交,并具有從各個用于所有指令和額外的轉移指令的標量寄存器廣播數據的能力。先進的多媒體處理器功能允許ARC VRaptor架構的SIMD引擎通過從ARC700系列的CPU上卸載低級控制代碼來釋放ARC700系列處理器,使之用于系統管理和數據流管理。VRaptor架構允許用一個ARC700系列的控制處理器來控制多個多媒體處理器。
多媒體DMA處理器
VRaptor架構采用了一個多媒體增強型2D DMA控制器轉移數據出入系統。它們獨立地轉移數據,從而釋放了處理器,使得處理器能夠專注于計算任務。ARC以視頻為中心的DMA被優化來轉移視頻編碼應用中常見的2D數據塊。緊耦合的2D DMA引擎轉移以非常高效率的方式設置和運行,通常只需一個單指令。由于視頻數據轉移以較小的突發數據串進行,這對降低開銷來說非常重要。例如,H.264標準要求抓取許多4x4像素數據塊,因為要按這個粒度進行運動補償。多媒體DMA有許多通道以便允許參考幀輸入數據塊和被解碼的像素數據塊能并行設置和操作。處理器引擎也可以通過共享的寬帶存儲器來直接共享數據。DMA處理器被特別設計用于處理器和系統存儲器之間的數據轉移。
特定域擴展
VRaptor架構可以利用特定域加速器進行無縫擴展。典型地,這些擴展能夠實現大數據塊處理,以便在ARC700 CPU或SIMD處理器上運行,不過若以一個固定的硬件模塊來實現這些處理塊效率要高得多。VRaptor 架構包括多標準可變長度的解碼器和編碼器。由于數據的相關性,這些信息代碼塊不能并行,又由于大量的查找信息在一個小表里,所以符號的編碼和解碼按硬連接擴展的方式來實現將效率更高,不過為了滿足多視頻編碼標準,編碼和解碼應保持足夠的靈活性。
運動估計是另外一個領域,這里,差運算的重復簡單求和需要大量的數據重組和轉移,并執行大量的數據。盡管在一個VRaptor架構SIMD引擎上能夠高效率地實現這類的運動補償算法,但仔細的設計探索和折衷證明了按硬連接擴展的方式來實現視頻編碼的運動估計具有明顯的優勢。在探索硬連接擴展的設計空間與全部可編程塊的比較時,ARChitect自動地配置軟件和編譯工具,使得他們與所選的系統架構相匹配。這就使得系統設計師能夠在不需要調整或改變手頭上軟件的條件下快速地對性能和實現結果進行測試。
工作通信信道
32位工作通信信道是處理引擎通信的工具。工作通信信道開銷低,處理器間的通信延遲小,這些對于實現需要精細粒度通信的視頻和音頻應用來說都是至關重要的。處理器引擎之間的共享數據存儲器允許進行本地的、高速的、以及寬帶數據通信。正在申請專利的ARChitect多媒體架構中的工作通信信道技術是一套基于遠程調用的工作信道協議。它提供多個VRaptor核、VRaptor加速器以及VRaptor I/O單元之間的點對點硬件鏈路、承載命令以及變元(arguments)。對于增強性能,信道被緩沖而輸入進行排隊。
因此發送器和接收器在發送和接收信息時不需要“及時集中數據(rendezvous in time)”。工作通信信道能夠使發送器明白無誤地更新接收器中的寄存器。依賴于發送器能夠直接寫函數變量寄存器,然后再寫送往程序計數器的遠程函數入口點,這就允許非常高效的遠程方法調用(即一個遠程過程調用)。從接收器來看,該操作所用的時鐘周期與本地調用一樣多,故效率是非常高的。
工作通信信道技術受到ARC可配置ISA中的指令擴展的直接支持,從而省去了信息解釋開銷。它提供一個統一的編程模型,從而精簡了通常與多處理器架構相關的編程開銷。
基于VRaptor架構的系統
目前有兩個多媒體子系統,每個都包括絕大部分的VRaptor功能。ARC視頻子系統是一個用于標清分辨率的多標準視頻解碼解決方案。它包括一個ARC700類處理器,一個為視頻編碼應用優化的SIMD處理器,一個2D DMA控制器,外加一個信息解碼加速器。ARC語音先進子系統瞄準的是高保真的語音產品,例如汽車娛樂系統和高清光盤播放機。其配置與ARC視頻子系統相類似:一個ARC700類處理器,一個為語音編碼應用優化的SIMD處理器和一個DMA引擎。基于VRaptor其它子系統很快就會發布。
本文小結
ARC VRaptor多媒體架構正在用ARC的新一代多媒體子系統來實現。能夠全部利用所有架構功能的初期產品已在今年初向全球的SoC設計師提供。基于VRaptor架構的系統具有可升級性,低功耗,節省大眾市場產品所需硅片面積,同時保持了可編程性。具有工作通信信道的VRaptor的特殊混合方案,為ARC公司解決未來的從高保真到高清領域的音頻、視頻和圖形應用打下了堅實的基礎。
從MP3到高清電視的多媒體處理器架構
更新時間: 2007-06-21 13:40:05來源: 粵嵌教育瀏覽量:936