現今許多嵌入式系統設計皆同時運用微控制器技術及數位訊號處理(DSP)技術。控制應用需要有效率地處理位元層級的控制及狀態資訊,並且執行快速的中斷反應。行動通訊裝置倚賴DSP處理高速語音與影像處理作業,並運用微處理器管理使用者介面及其他一般處理作業。此類匯整型架構包括Freescale的DSP56800E及ARM的ARM11核心,其內部配備16位元加乘運算(MAC)指令及一套管線化微架構,其運作效能近似於傳統DSP的速度。
元件製造商為因應市場需求,將控制與資料面的處理功能整合至單一晶片。微控制器製造商進一步擴充其架構,並將之納入各種DSP功能,例如MAC加乘運算指令、多重匯流排與記憶體架構及特殊位址產生(special address generation)等。DSP製造商則在元件中加入各種功能,例如整合型週邊元件、中斷趨動的I/O、計時器及容量更大的外部記憶體,提供MCU所須具備的程式碼密度,為DSP帶來高效能與低耗電的效益。除了上述Freescale的DSP及ARM11等單核心方案外,德州儀器的OMAP系列元件也是雙處理器元件結合控制與訊號處理架構設計的最佳典範。
雖然處理架構不斷持續演變,但支援的即時作業系統(RTOS)在過去20年來卻始終不變。典型的即時作業系統以類似的模式運作,運用一套task-based執行模式,每個作業都有自己獨立的資源堆疊;先佔式多工、優先權限的作業排程;以一組服務用來管理事件、時序與記憶體、並於各作業流程之間移動資料以及處理中斷。
由於上述RTOS方案的靜態特性,許多嵌入式系統開發業者已將RTOS功能視為基本元件,唯一的市場區隔僅有市場價格以及內建的中介軟體,包括網路堆疊、BSP/趨動程式及檔案系統等。開發業者必須配合這些RTOS的架構與模型來調整本身的應用產品。
新的RTOS架構
有鑑於此,業界顯然需要一套新的RTOS架構,該架構需能支援日趨統合的處理模型、降低系統複雜度,並且能夠針對應用需求進行調整,以降低單位成本並加快研發時間。該架構可能需要具備下列功能:
- ●匯整型處理:有效率地進行資料流程處理及傳統的控制處理作業;
- ●多重核心:能透過一套統合模型建置多重核心,包括異質或同質的多處理器;
- ●記憶體擴充:嚴格控制記憶體元件尺寸,同時提供各種核心服務;
- ●應用便利性:能輕易調整並配合各種應用的特殊處理需求;
- ●可擴充平台:為因應未來需求,轉移至新處理器架構後仍能沿用原有程式碼。
接下來將針對上述RTOS功能作深入且詳盡的探討。
匯整型處理
針對匯整型處理所構建的RTOS模型能夠運用一套通用API來滿足訊號處理器、控制/即時處理以及一般處理作業的需求。
數位訊號處理具有資料流的特性,必須以不中斷的模式在一個區塊資料中(通常是一個迴路)執行演算法,同時將另一個區塊的資料傳遞到序列中的另一個階段。DSP處理作業通常涉及高頻率I/O,因此RTOS必須在最短延遲時間內回應各個中斷。由於每個區塊的資料代表一個新的運算環境,因此在每個執行階段間僅須儲存少量的資訊。在理想狀態下,RTOS會儲存與回復DSP作業週期間的最少量資訊傳輸流程,並在作業排程器與核心服務上耗用最低程度的資源。此外,RTOS亦允許調整層級較低的工作,並提高訊號處理工作的優先順序。
即時/控制作業能夠暫停並等候其他的同步作業。為支援此種的需求,控制應用通常會採用多工型RTOS,而RTOS內的排程器會根據工作的優先順序來決定CPU控制權的取得。不論是否有作業變更或狀態交換,RTOS都須儲存與回復處理作業的狀態。這些動作通常涉及儲存與大量位元資料的回復且會耗用許多處理器運算週期;此類動作使處理作業能根據系統目前的動態來終止或啟動作業,這對於即時處理作業而言相當有利,但對於處理作業本身卻是不願樂見的狀況。
一般的運算通常不需要像即時處理作業內所要求的排程機制等這類決定性或先佔式的排程(deterministic and preemptive scheduling)。在正常情況下,輪轉式排程(round-robin scheduling)已足以應付實際的需求。另外,此類處理作業亦時常運用另一種輪轉排程的衍生技術—時槽排程(time-slice scheduling)。就其性質而言,一般處理作業並不需要即時傳輸,因此對於作業排程的要求不會比即時/控制作業還要嚴苛。
多重核心
要運用現有的RTOS技術來支援一個多重核心系統的執行作業,就必須為每個處理器或核心配置不同的作業系統。為降低複雜度,研發業者必須採用相同的RTOS模組來區別處理模組,或構建一個抽象層,以便於不同作業系統間進行通訊,如(圖一)。
《圖一 針對每種運算模型所建置的多重核心與RTOS》 |
|
對於多重核心的應用而言,理想的RTOS應將系統視為單一處理器,並能在異質或同質性的多重核心環境中,透過多個處理器來執行程式碼。這種RTOS應能處理跨處理器通訊(IPC)),並支援各種匯流排與通訊架構,如(圖二)。
記憶體擴充
目前市面上簡易的RTOS都能以內建或外部模組,或是子系統的功能進行記憶體擴充。但由於大型模組大多採用內建或外接式的模式,無法選擇或排除底層的元件,因此這種模式的彈性相當有限。為了在不犧牲應用系統效能的前提下,達到最小的記憶體元件尺寸,研發業者必須全盤控制核心服務,且不編輯使用率低或不必要的程式碼。
理想的RTOS應協助使用者編輯分類定義以納入/排除各個屬性與服務,藉此調整元件核心的容量。運用這種定義模式所構建的核心元件能在更小容量、使用更少RAM的情況下,仍能提供豐富的核心服務。
可擴充平台
新型態的RTOS架構協助研發業者輕易地轉移至新硬體,並延用寶貴的程式碼與相同的API架構、語法及程式元件,支援各種獨立型、微控制器或多重核心/多處理器的元件。
雖然延用程式碼及支援未來設計環境的彈性優勢相當明確,但在實際環境中,研發業者的選擇卻顯得相對有限。在規劃下一個專案時,研發工程師須延續前任工程師的硬體/軟體決策,否則就須忍受開發新應用所衍生的昂貴成本與大量時間。甚至有時在為專案選擇作業系統時,完全是根據專案的需求來決定,而沒有考量未來移植程式碼所衍生的成本。
RTXC Quadros 即時作業系統
針對上述對新型態RTOS架構的期盼,許多開發人員及廠商都積極研究符合需求的RTOS。以Quadros最新發展的RTXC Quadros ROTS為例,它是新一代的RTOS,能支援傳統及匯整式處理環境。RTOS搭載兩個核心架構RTXC/ss與RTXC/ms,可分別單獨使用或同時運用。
RTXC/ss運用協同式多重執行緒架構,適合支援各種資料面應用。所有執行緒都在同一堆疊內運作,除了佔先模式外,不會儲存任何狀態。此種模組的延遲相當低,且通常在不到5Kbytes的記憶體內運作。RTXC/ms在控制面處理上運用傳統多工架構,每個工作都擁有自己的堆疊,是針對需要佔先式排程的優先式工作所設計。
《表一 RTXC Quadros內部兩種核心架構的比較》 |
|
結論
矽元件製造商不斷運用尖端的處理架構,整合微控制器與DSP功能。這些新矽元件架構需要新一代的RTOS,使應用程式能充份發揮這種新型態的處理技術。新一代RTOS必須能在單一處理器與多處理器環境中支援控制面與資料面的處理作業、提供可微調的記憶體擴充機制以管理記憶體元件的尺寸、並能輕易調整以配合程式的運算需求、運用通用的API協助系統從複雜度較低的環境輕易轉移至較複雜的環境,且延用舊有的程式碼。隨著新一代RTOS的發展,研發業者能更充份發揮匯整處理技術所帶來的利益。(作者為Quadros Systems行銷總監)
|
|
嵌入式系統一般定義為,一種設備被用於控制 (control) 、監視 (monitor) 或協助設施、機器、工廠之操作運轉。相關介紹請見「嵌入式DSP設計」一文。 |
|
入門專業門檻基本上需要有微電腦架構、資訊軟硬韌體、與即時性作業系統、 DSP 等背景知識,而高級設計更需要有感測器與人工智慧的專業知識。你可在「嵌入式系統發展聖經」一文中得到進一步的介紹。 |
|
TI 推出新世代纜線語音( VoCable )產品架構。這套單晶片 Puma IV 架構是以 TI 的 VoCable 產品為基礎,並輔以 TI 包括 DOCSIS 硬體和軟體、 DSP 技術以及專門支援 VoIP 應用的 Telogy Software 軟體,能幫助有線電視業者透過單一平台支援整合式語音和高速資料服務。在「TI推出整合應用處理器與DSP的最新VoCable架構」一文為你做了相關的評析。 |
|
|
|