每部無線手機都包含兩種基本組件:數據機以及應用軟體的處理支援系統。數據機專門與網路溝通,並透過一個無線界面來傳送和接收資料;應用軟體組件則提供使用者期望多媒體家電功能,例如語音、音樂播放、影像再生與分流視訊、傳真、電子郵件、網際網路連線、電玩遊戲、個人資訊理器(personal organizer)等功能。
應用軟體組件也處理使用者界面功能,例如語音辨識(語音命令)、鍵盤及手寫辨識;除了使用者界面功能之外,其它應用都必須依賴無線通信界面,但它們的頻寬卻相當有限。語音、音訊、影像或視訊應用都必須處理龐大資料量,但要在有限頻寬內管理這麼多資料,就必須在傳送資料前把信號壓縮,然後由接收器將資料解碼或信號還原。
在許多第二代(2G)無線手機中,數據機組件會利用DSP提供無線界面功能,並執行雜訊抑制與迴音消除等重要演算法;另一方面,應用軟體組件卻必須依賴一顆通用處理器,通常是一顆RISC處理器,由它提供應用系統層級的信號處理、使用者界面及整個系統的命令與控制功能,但在2G無線手機中,資料傳輸能力極為有限。
2.5G與3G家電卻大不相同,它們必須提供全動畫視訊或高傳真音訊播放之類的功能,所以目前這種把運算工作分配給兩顆處理器的常見做法已不再適用,因為它無法同時提供穩定可靠的工作效能以及令消費者滿意的電池使用時間。
下一代家電產品必須支援許多應用功能,它們都需要很高的資料傳輸速率和即時信號處理能力,因此這些產品仍會使用一顆DSP與一顆通用處理器。DSP的功率消耗極低,又可提供強大的即時信號處理能力,它們將成為數據機與應用軟體組件的主要處理器,通用處理器則轉而扮演一個輔助角色,負責系統的管理、命令、控制與某些使用者界面功能。
OMAP架構可以協調這兩顆處理器的運算資源,把它們適當分配給無線家電的兩個基本組件,讓DSP與通用處理器能發揮自己的最大長處。包括諾基亞、易利信、新力與Handspring在內,許多廠商已選擇OMAP硬體與軟體架構做為他們的無線家電發展平台,第一套採用OMAP晶片組的樣品也於2000第四季出現。
《圖一 OMAP硬體架構》 - BigPic:709x433 |
|
OMAP架構同時結合TI最先進的TMS320C55x DSP核心與高效能的ARM925T中央處理器,類似於ARM925T的RISC架構最適合控制型態的程式碼,例如作業系統、使用者界面及作業系統應用軟體;DSP則適合信號處理應用,例如MPEG-4視訊、語音辨識及音訊播放。OMAP架構把這兩種處理器組合起來,以便充份發揮二者的最大優點。
表一 演算法的執行比較
|
ARM9E |
StrongARM 1100 |
TMS320C5510 |
單位 |
迴音消除16位元
(32 ms - 8 kHz)
|
24 |
39 |
4 |
百萬周期/秒 |
迴音消除16位元
(32 ms - 8 kHz) |
37 |
41 |
15 |
百萬周期/秒 |
MPEG4/H263解碼
QCIF @ 15 fps |
33 |
34 |
17 |
百萬周期/秒 |
MPEG4/H263編碼
QCIF @ 15 fps |
179 |
153 |
41 |
百萬周期/秒 |
JPEG解碼 (QCIF)
MP3解螞 |
2.1
19 |
2.06
20 |
1.2
17 |
百萬周期/秒 |
與C5510的平均周期比率 |
3.1 |
3 |
1 |
百萬周期/秒 |
根據廠商已公開資料,TI最近進行一項運算效能比較測試,從測試結果可以發現,若在最新RISC機器(StrongARM或ARM9E)上執行典型的信號處理工作,所須時脈週期將是C55x DSP執行相同工作的三倍,(表一)詳細列出此項測試的結果。在功率消耗方面,若在RISC機器上執行信號處理工作,電力消耗值將是C55x DSP架構執行同樣工作的兩倍以上;因此若由DSP來執行這類工作,電池使用時間將會大幅延長,這對行動應用產品非常重要。透過對這兩種處理器的最佳利用,OMAP架構不但能提供前述的省電優點,DSP也可以獲得RISC處理器的支援。
架構的工作方式如(圖一)所示,OMAP硬體架構(包括C55x DSP核心與ARM925T處理器)的設計目標是讓3G終端裝置發揮最大系統效能,同時將電力消耗減到最少。這兩種處理器都會透過指令快取單元來減少指令記憶體的平均存取時間,同時避免會消耗大量電力的外部記憶體存取動作;此外,兩種核心也都包含一個「記憶體管理單元」(MMU;Memory Management Unit),支援虛擬位址到實體位址的轉換以及個別工作的記憶體保護功能。
OMAP核心包含兩個外部記憶體界面和一個內部記憶體埠,外部記憶體界面可直接連線至同步DRAM晶片,其時脈頻率最高可達100 MHz,另外它們還能搭配標準的非同步記憶體,例如SRAM、快閃記憶體或是支援爆發傳送模式的快閃記憶體,這個界面通常是用來儲存程式碼,它的寬度可設定為16或32位元。
內部記憶體埠可直接連線至晶片內建的記憶體,例如SRAM,也可用來存取使用頻率較高的資料,例如重要的作業系統常式或液晶顯示器的圖框緩衝區;這不但能減少資料存取時間,還可以避免耗時耗電的外部存取動作。這三個界面彼此完全獨立,也可以由兩顆處理器或DMA單元同時存取。
表二 視訊硬體加速器特色
多媒體延伸功能種類 |
速率提升倍數 |
移動估算 |
*5.2 |
離散餘弦轉換/反離散餘弦轉換 |
*4.1 |
像素內插 |
*7.3 |
OMAP核心也包含多個界面,使DSP或通用處理器能連線至週邊電路或其它裝置,而且為了增加系統效率,這些界面還支援兩顆處理器的DMA功能。本地匯流排界面則是一種高速雙向的「多主裝置」(multimaster)匯流排,可用來連線至外部週邊或多核心產品內的其它OMAP架構元件;此外,OMAP架構還有一個高速匯流排,讓外部裝置得以共享OMAP主系統記憶體(SDRAM、快閃記憶體、內部記憶體)。這個界面還提供一個有效的資料通信機制,可減少系統所須的外部記憶體數目,使設計工程師進一步降低系統成本。
為支援常見的作業系統需求,OMAP架構還包含許多種週邊功能,例如計時器、通用輸入/輸出界面、一個UART連接埠與監控計時器,這些是系統最起碼的週邊要求;其它週邊可以透過「TI週邊匯流排」(TIPB)增加至系統中。OMAP架構也有一個彩色液晶顯示控制器,讓系統能夠直接連線到液晶顯示面板。ARM的DMA引擎則有一個專用通道,可將資料從圖框緩衝區送至液晶顯示控制器,這個圖框緩衝區可位於SDRAM或內部記憶體中。
C55x DSP與多媒體延伸功能
C55x DSP不但為無線數據機及語音編碼應用提供一個高度最佳化架構,也在系統階層提供最小的程式碼長度與功率消耗。TI DSP硬體核心架構很有彈性,可擴大核心功能以支援多媒體運算,C55x家族是第一批在核心階層提供多媒體擴充能力的DSP元件,可滿足多媒體市場對分流視訊與音訊的低功率即時處理要求。
許多應用可擴大無線終端裝置的功能,視訊處理就是其中之一,例如移動估算(motion estimation)、離散餘弦轉換(Discrete Cosine Transform)與反離散餘弦轉換以及像素內插計算;若C55x DSP以純軟體方式執行這些運算,必然會用掉絕大部份的處理器時脈週期,因此這三種應用就成為C55x DSP首批支援的多媒體延伸功能。(表二)總結了這些延伸功能的特色。
利用多媒體延伸功能,視訊編碼與解碼的運算速度會比傳統軟體實作方式快一倍;由於只須更少的時脈週期,DSP即時工作頻率就可降低,電力消耗也會隨之減少。請參考(表三)。
OMAP軟體架構
OMAP架構包含一套開放式軟體基礎設施,可支援應用軟體發展,提供軟體動態升級能力,讓廠商完成包含多顆不同處理器的系統設計。這套基礎設施包含一個協助系統設計的軟體發展架構,另外還有一組應用程式界面,使應用軟體能在目標系統上執行。
2.5G與3G無線系統結合了傳統「語音為主」(voice-centric)的電話模型以及個人數位助理的資料功能,因此包括MPEG視訊與MP3音樂在內,非語音多媒體應用未來也可下載至電話平台;這些系統還支援常見的各種作業系統,例如WinCE、EPO或是其它。這類應用都具有動態及多工的特性,必須由DSP執行某些作業系統功能。
OMAP架構要求軟體必須具備充份彈性,才能輕易的調整結構或擴充功能,以支援未來技術的需求;此外,它的輸入/輸出及運算效能也必須很接近目標架構的工作效能。
還有一項重要的要求,就是把DSP軟體架構的實作從通用處理器環境內切割出來;為達成這個目標,OMAP架構特別定義了一種界面機制,使通用處理器可成為系統的主裝置,這個界面機制稱為DSP/BIOS Bridge,它是由多個應用程式界面組成,包括裝置驅動程式的界面。
在通用處理器應用軟體與DSP工作之間提供一個通信機制,是DSP/BIOS Bridge最重要的功能;DSP/BIOS Bridge的應用程式界面包含一組動態函式庫和驅動程式,是由高階應用軟體發展人員規劃制訂,做為OMAP平台發展工具提供給軟體工程師,使他們能順利發展應用軟體,就好像只使用一顆RISC處理器一樣。這個發展環境還允許軟體設計人員呼叫「本地化」(localized)的視訊、音訊、語音或其它函式,並在個人電腦之類平台上採用傳統的軟體開發技術,高階應用軟體發展人員不必知道DSP或者DSP/BIOS Bridge應用程式界面的技術細節。
表三 MPEG-4視訊編碼與解碼運算的電力消耗
格式與速率 |
mA @1.5 V (15C035) |
mA @ 0.9 V (15C035) |
QCIF, 10 fps |
12 |
7 |
QCIF, 15 fps |
19 |
11 |
QCIF, 30 fps |
37 |
22 |
CIF, 10 fps |
49 |
29 |
CIF, 15 fps |
74 |
44 |
OMAP多媒體應用
1. 視訊
視訊應用包括雙向視訊電話通信以及單向編碼與解碼,可用於娛樂、保全監控或是含有視訊內容的訊息傳送。第二代通信產品僅支援語音應用,資料傳輸速率也只有8到13 kbps;另一方面,就算是動作變化不大的視訊,而且只顯示在一個小螢幕上,所須的資料速率至少也為20 kbps。為支援更複雜的視訊應用,需要3G無線標準提供的更高位元速率。
TI為OMAP架構開發的MPEG-4視訊軟體是以一套C語言參考軟體為基礎,它先被轉換使用ETSI C函式庫,然後再移植為C55x DSP組合語言程式碼。ETSI C函式庫包含許多常式,代表所有常見的DSP指令,這些常式會執行設計人員所要的功能,同時評估運算過程的時脈周期、進行「數值飽和」(saturation)的檢查以及其它工作;因此雖然ETSI C常被用於語音編碼與解碼的測試,但也可做為程式執行效能的量測工具,協助將C語言程式移植為組合語言。
視訊軟體在OMAP架構上的執行很有效率,能在每秒15個圖框的速度下,同時對QCIF(176 ( 144像素)影像進行編碼與解碼;此外,就算同時執行編碼與解碼工作,中央處理器負擔也只佔DSP總效能的15%,這表示還有85%的中央處理器運算能力可用於其它工作,例如圖形強化、音訊播放(MP3)或是語音辨識。
OMAP架構不僅提供運算資源,還包括視訊應用所須的資料傳輸能力;舉例來說,若把色差訊號的取樣降低為4:2:0格式,再將未壓縮資料從攝影機送出或是送至顯示器,那麼一個QCIF圖框就需要38,016位元組。視訊解碼器與編碼器必須同時存取目前的圖框以及前一個已解碼圖框,才能執行移動補償及估算;此外,無線應用的支援速率也必須達到每秒10至15個圖框。
利用第三代無線通信標準,再加上最新的MPEG-4視訊標準以及OMAP架構之類的省電型平台,許多新視訊應用才可能付諸實現。
2. 語音應用
典型的嵌入式系統會受到許多限制,例如電力消耗很少、記憶體容量很小、磁碟儲存容量也很小或完全沒有,因此為無線電話之類的嵌入式系統設計語音辨識演算法時,不但必須提供客戶所能接受的辨識能力,系統資源的使用量也必須減到最少。
TI提供一種動態字彙語音辨識器,將運算工作分配給C55x DSP及ARM處理器,其中資料量很小而運算量很大的語音辨識引擎會在DSP上執行,運算量不多但資料量龐大的文法、字典及語音模型產生工作則交給ARM處理器。如(圖二)所示,模型產生與辨識模組之間的互動會減到最少,其執行則是透過一組階層式的應用程式界面,此架構優點在於應用系統可處理多個(理論上可達無限多個)辨識情境的新字彙,不必預先編譯或儲存文法及語音模型。
針對每一個新辨識情境,ARM處理器會動態產生文法及語音模型,然後送給DSP執行的辨識器;對於資源有限的無線裝置,語音辨識器的動態字彙產生能力非常重要。舉例來說,若一部電話提供語音操作的網路瀏灠器,就可處理數個不同網站,而且每個網站都擁有一組不同字彙,不必事先編譯或儲存字彙及語音文法;同樣的,如果一套股票報價與查詢系統也採用語音操作方式,公司名稱也可動態的加入或刪除。在特定的時間點上,使用中的字彙數目會受到DSP資源的限制,例如辨識搜尋功能可以使用的記憶體容量;另一方面,隨著辨識情境的改變,不同字彙可隨時載入或載出,於是就能對應用系統做特別設計,讓使用者覺得系統可辨識無限多個字彙。
同樣的,無線裝置的語音合成系統也可分配給ARM處理器及DSP,例如把文字分析和語言處理模組以及「音素資料庫」(phonetic database)交給ARM處理器,單元選擇和波形產生模組則由DSP負責;和語音辨識器一樣,ARM處理器與DSP模組之間的互動會減到最少,其執行也是透過一組階層式的應用程式界面。
結論
本文說明OMAP硬體與軟體架構如何把多媒體應用帶給3G無線終端裝置,它的多處理器架構也經過最佳化設計,支援運算負擔沉重的多媒體應用,例如3G終端裝置的視訊及語音功能。雖然這個架構非常複雜,包括兩顆完全不同的處理器(RISC與DSP)、多種作業系統以及在DSP與ARM上執行的應用軟體,但透過DSP/BIOS Bridge的協助,應用系統發展人員仍能輕易使用它的所有功能特色;此外,無論在產品成本或是電力消耗方面,這種雙處理器架構都優於一般的單處理器解決方案。