采用 Linux 與 DSP/BIOS RTOS 實(shí)施雙 OS 信號處理
80 KB 雖然小,不能存儲完整的視頻幀,但 TI 通過(guò)模擬檢測認為,這樣的存儲量足夠為 H.264與其它視頻處理算法提供最佳的面積/性能綜合比。
DSP 通過(guò)直接存儲器存取 (DMA) 控制器為該存儲器提供數據,這種控制器還可用于內外部存儲器之間高效傳輸數據子塊,而不會(huì )占用處理器內核的周期操作(見(jiàn)以下圖 1)。
圖 1. DSP 處理器采用DMA 硬件將外部存儲器中較小的視頻幀子塊傳輸到內部存儲器中,以供 DSP內核進(jìn)行處理。

圖1. DSP 處理器采用 DMA 硬件將外部存儲器中較小的視頻幀子塊傳輸到內部存儲器中,以供 DSP內核進(jìn)行處理。
從整體系統的角度來(lái)說(shuō),這種方法可提供幾乎相當于具有整個(gè)視頻緩沖器的芯片所提供的性能,但成本卻非常低。不過(guò),為了實(shí)現這樣的高性能,就需要應用、操作系統以及底層存儲器與 DMA 硬件之間的緊密配合。
首先,應用必須能夠區別快速內部存儲器與大容量外部存儲器。其次,應用必須能夠執行許多時(shí)間精確的小型 DMA 操作。由于訪(fǎng)問(wèn) DMA 時(shí)發(fā)生的所有時(shí)延在 DMA 訪(fǎng)問(wèn)每個(gè)視頻幀時(shí)都會(huì )放大數百倍乃至數千倍,因而在 Linux 驅動(dòng)程序模型內高效實(shí)現 DMA 操作雖非不可能,但也極為困難。
這種方法的實(shí)際實(shí)施可通過(guò) DSP/BIOS 完成,并提供原生 API 來(lái)實(shí)現應用對內外部存儲器的請求,同時(shí)也使應用可直接訪(fǎng)問(wèn) DMA 寄存器,不會(huì )產(chǎn)生環(huán)境交換損失。
兩種操作系統的優(yōu)勢結合
盡管眾多多媒體應用的大部分處理器周期操作都用來(lái)進(jìn)行信號處理,但能滿(mǎn)足消費需求的產(chǎn)品同時(shí)還必須執行許多更高級的功能,如用戶(hù)界面、顯示功能、網(wǎng)絡(luò )以及文件處理等。
由于上述特性對時(shí)間要求不高,因此無(wú)需精確控制 DSP/BIOS。這時(shí),Linux驅動(dòng)程序模型所提供的資源提取功能就可更好地提高靈活性,縮短開(kāi)發(fā)時(shí)間,更不用說(shuō)可獲得 Linux 社區豐富的開(kāi)源應用代碼支持了。
可使 Linux 與 DSP BIOS 操作系統同時(shí)運行在同一設備上的解決方案,就是需要使用虛擬程序 (virtualizer) 為系統開(kāi)發(fā)或集成人員提供這兩種操作系統的優(yōu)勢(見(jiàn)圖 2)。

圖 2. Linux 和 DSP/BIOS 同時(shí)運行在 DM643x DSP 器件上
虛擬程序作為快速、可預測的交換機可在 Linux 與 DSP/BIOS 操作系統之間實(shí)現 DSP 資源。當接收到中斷時(shí)對 DSP/BIOS 操作系統環(huán)境做出推測性交換,從而確保 DSP/BIOS 線(xiàn)程的最佳性能。
如果新到達的中斷對應于 DSP/BIOS 環(huán)境中已識別的事件,那么將在已經(jīng)加載且準備運行的 DSP/BIOS 環(huán)境中對其進(jìn)行處理。
在虛擬程序支持 DSP/BIOS 的同時(shí),應用可直接訪(fǎng)問(wèn)所需的系統資源,且不會(huì )影響(掛起)Linux 環(huán)境中保持的用戶(hù)與內核空間。
一旦應用完成 DSP/BIOS 環(huán)境下的高性能信號處理計算,虛擬機就將強制轉回到 Linux環(huán)境,以便訪(fǎng)問(wèn)該環(huán)境下的更高級特性。
在虛擬程序的調節下,操作系統之間的交換時(shí)間不到 10 微秒,這使編程人員能達到實(shí)時(shí)性能要求,相對于只包含 DSP/BIOS 的原生系統而言,性能上也沒(méi)什么損失。該解決方案對典型多媒體設備的處理資源占用僅約 1.5%。
雙操作系統的更多優(yōu)勢
或許為了支持 DSP/BIOS 操作系統對基于 Linux 的產(chǎn)品進(jìn)行擴展的最明顯優(yōu)勢之一:無(wú)需移植就可使用成百上千種第三方的相關(guān)算法。由于符合 xDAIS 標準,因此可確保第三方算法無(wú)縫集成于 DSP/BIOS 環(huán)境中。
為了支持 DSP/BIOS 操作系統對基于 Linux 的系統進(jìn)行擴展的另一個(gè)優(yōu)勢:在 DSP/BIOS 環(huán)境下執行應用不受 Linux 內核 GNU 通用公共許可證 (GPL) 的限制。
在實(shí)施基于 Linux 的解決方案時(shí),我們有時(shí)不是很清楚開(kāi)發(fā)商推出的獨特軟件知識產(chǎn)權在許可證方面到底有哪些具體要求。通過(guò)在 DSP/BIOS 而非 Linux 操作環(huán)境下執行 IP,可以避免這方面的法律問(wèn)題。
結論
使用本文介紹的技術(shù),Linux 與 DSP BIOS 可同時(shí)運行在統一的 DSP 內核上,這既能夠提供 Linux 解決方案的全部功能,又可確保 DSP/BIOS 環(huán)境下的高精度與硬件控制。
編程人員可充分利用適用于 Linux 的應用代碼與適用于 DSP/BIOS的信號處理代碼,無(wú)需針對不同環(huán)境進(jìn)行移植。
對要在實(shí)時(shí)嵌入式應用中采用 Linux 特性的設計人員而言,通過(guò)虛擬程序升級、同時(shí)獲得 DSP BIOS 工具套件,將大幅提高信號處理性能,并可顯著(zhù)節省系統資源的成本。
評論