當越來越多的應用要求音訊、視訊及通訊處理能力時,嵌入式處理器已經到了要提升效能和處理較高資料頻寬的時候。RISC微控制器(MCU)及DSP已提供這些應用。MCU在傳統架構中用於有效率的非同步控制程式流程,DSP則在同步、定速率的資料流(如音訊或視頻的應用)上的表現較好。
由於多種嵌入式應用要求控制與媒體處理,工程師一般的做法是將DSP及MCU以一種或不同形式一起微調。這種組合提供最佳處理引擎給各式各樣的多媒體應用及產品。各家MCU製造商結合了一些訊號處理動能,像是擴充指令集及乘法累加(MAC)單元等,但是這些方式對高級的媒體處理器而言,則缺少必備的結構基礎。
工程師會被多重處理器或多重核心設計技術所吸引的原因只有一個:沒有一個單一處理器具有他們所做的應用所要求的處理能力或指令特性。多重處理是在單一處理無法勝任下的唯一選擇 ──如果不是絕對必要,沒有人願意忍受多重處理的複雜度。對於功能強大、用於嵌入式媒體應用的「整合型」微處理器的需求就變得很明顯。
近來還沒有單一結構被最佳化,用在複雜、即時的媒體資料流,以及一般由RISC處理器來處理、以控制為導向的工作。其逐漸增加且富含媒體嵌入式應用空間的單一化方法,是一可合理取代不同DSP/MCU結合的解決方案。此新穎的方法是結合一個32位元RISC指令集、雙16位元乘法-累加(MAC)DSP功能與8位元視訊處理效能。
功能重心
由於DSP與微控制器個別針對不同的任務作最佳化,向來是獨立作業。DSP的應用通常聚焦在盡可能用最少的核心時脈週期,來執行最多的算術運算。為了達成這個目的,DSP常會使用複雜的VLIW(非常長指令字組)指令,如此一來會減損程式碼的密度,並增加程式碼記憶體的需求。更進一步,DSP應用是資料頻寬密集的,因此常常有大的記憶體資料匯流排寬度和DMA(直接記憶體存取)引擎以減少核心處理器的負荷。
另一方面,微控制器的運作主要是控制功能,需要許多條件運算,使得程式流程變換頻繁。這些程式最常以C或C++撰寫,程式碼密度是不可或缺的,使可變長度指令成為重要的架構特性。
對媒體處理應用與格式而言,DSP經常需要輔助處理器來補足彈性上的不足。但一顆嵌入式媒體處理器原本就可以支援8位元視訊資料,增強視訊指令與視訊ALU,而且其單一架構支援軟體,可以有效率地執行標準視訊與影像處理演算法,諸如MPEG2、MPEG4和JPEG。
在軟體環境下實現視訊演算法能讓OEM廠商適應不斷演進的標準與新增功能上的需求,而無須改變硬體。換言之,這也減少整體系統成本,加速上市時間。
《圖一 嵌入式媒體處理器架構方塊圖》 | 圖註:嵌入式媒體處理器不僅提供MCU型式的系統控制特性,亦具有高頻寬記憶體與I/O介面,以處理豐富的多媒體資訊流。 |
|
整合型的嵌入式媒體處理器架構,實現MCU與DSP設計方法上的優點,亦真正將媒體與微控制器功能最佳化。它的可變長度指令集可擴充至64位元運算碼,以用在DSP內部迴路中,該指令集經過最佳化,故16位元運算碼代表著最頻繁被用到的指令。因此,其編譯程式碼密度圖,足以與普及的微控制器相匹敵,而其架構也經由最佳化,可與C/C++編譯器一起使用。其完全連鎖的管線與代數語法組合語言使它以C/C++與組合語言方式都很容易開發。
企業級特性
因為具有系統級的任務,真正的嵌入式媒體處理器不能如同一顆只會做數位處理的DSP一樣,以同樣自顧自的方式來操作。它們反而必須有一全套企業級保全的特性,像記憶體管理能力,可定義個別且無限制可取得的應用發展空間,而又能保持與其他不同的程式碼區段的安全性,防止被過度寫入以及維持整體系統的完整性。
嵌入式媒體處理器,就像MCU支援全功能的嵌入式作業系統,具有被保護與無保護的作業模式。這些重要的保護特性,可防止使用者進入或侵害系統共享的部分。而這些類保全性與系統完整性的課題,傳統的DSP中既不需要,架構中也沒有。
就像微控制器一樣,嵌入式媒體處理器亦允許非同步中斷與同步例外。它們的可映射中斷的優先次序就像微控制器相同的特性,但通常DSP不具備這種特性。同樣地,它們的例外處理能力也是企業級特性,可防止系統避免無效或非法的程式設計。
具有媒體及資料流程的系統級週邊
具有整套豐富的周邊,這是以控制為導向MCU的典型特色,使嵌入式媒體處理器非常適合作為嵌入式應用的控制端。這些週邊可能包括一個即時時鐘、一個看門狗計時器、通用型計時器、雙向旗標/中斷腳、SPI相容埠與UART,以及像主流PC一樣的介面,如PCI和USB。
嵌入式媒體處理器也提供媒體串流的功能,經由一個並聯周邊介面,來連接高速的視訊與資料轉換器,還有同步串列埠,用以連接高解析度數位音效裝置與高速電信介面。
當嘗試應用MCU到媒體處理應用上時,許多開發廠商面臨到問題與提供記憶體頻寬的速度是否足以提供資料流有關。嵌入式媒體處理器必須具有威力強大的DMA能力,以便在晶片斷斷續續的取得資料區塊。在大多數媒體處理應用上,大量資料移動的前提是不能導致處理器的中斷,以免影響即時效能。而當核心處理器在資料移動中被纏住的情況下是沒有效率的。因此嵌入式媒體處理器勢將有許多高速的DMA通道以支援雙向媒體流在週邊與記憶體之間的傳輸,將資料移動的實際責任從處理器之下消除掉。
動態電源管理
控制功率散逸對專門設計在可攜式與對功率有限制環境的嵌入式應用相對重要。當這些嵌入式系統具有需要的DSP功能,選擇性就會減少。假如單獨的MCU和DSP核心都結合到一顆晶片上,功率控制就變得比較難控制。
一顆嵌入式媒體處理器需要固有的電源管理能力, 以因應嵌入式應用的種種需求。提供多重電源模式可簡化系統效能位準的範圍,另一方面,可選擇的時脈禁能對沒使用到的周邊與記憶體,可產生更大幅的功率降低。甚至,廣泛地可調整的處理器時脈頻率能在基於處理需求下,達到節省功率的功能,且有一個可編程的操作電壓也可以讓功率的消耗大幅節省。
《圖二 處理器具有可配置式頻率與電壓能力、可匹配處理器效能位準,以滿足系統的需求》 |
|
結語
使用一顆單一整合的核心以取代一顆單獨的微控制器與DSP,主要的優點是減少客戶的成本,加速上市時間。原因在這些優點可使用一套單一工具鏈,在單一整合的平台上來發展程式碼。單一的學習曲線代表在開發生產力上的大幅提昇,單在節省偵錯時間上就很可觀。不過使用一顆提供「二個世界之最」的整合型處理器,其最大優點就是它的應用可以達到先前所達不到的效能價格點。(作者任職於亞德諾媒體產品與服務事業群)