當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]采用Linux與DSP/BIOS RTOS實(shí)施雙OS信號(hào)處理技術(shù)

在系統(tǒng)性能與編程簡(jiǎn)易性之間的權(quán)衡折中是通用操作系統(tǒng)與實(shí)時(shí)操作系統(tǒng)之間的主要區(qū)分點(diǎn)之一。

  GPOS(通用操作系統(tǒng))傾向于提供較高程度的資源抽象,這不僅可通過(guò)支持軟件模塊與資源隔離來(lái)提高應(yīng)用的便攜性、簡(jiǎn)化開(kāi)發(fā)流程,同時(shí)還能增強(qiáng)系統(tǒng)的穩(wěn)健性,這使 GPOS 成為諸如網(wǎng)絡(luò)、用戶(hù)界面以及顯示管理等通用系統(tǒng)組件的理想選擇。

  然而,該抽象需要以系統(tǒng)資源的精細(xì)粒度控制作為代價(jià),以滿(mǎn)足信號(hào)處理代碼等高強(qiáng)度算法的計(jì)算性能要求。對(duì)于實(shí)現(xiàn)這種高級(jí)別的控制,開(kāi)發(fā)人員通常需要采用實(shí)時(shí)操作系統(tǒng) (RTOS)。

  從嵌入式信號(hào)處理角度上講,我們通常要考慮兩種類(lèi)型的操作系統(tǒng),即通用操作系統(tǒng) Linux 與實(shí)時(shí)操作系統(tǒng) DSP(數(shù)字信號(hào)處理器)/BIOS(基本輸入輸出系統(tǒng))。Linux 可支持更高水平的抽象技術(shù),而 DSP/BIOS 則可提供更精細(xì)的控制。

  為了充分發(fā)揮這兩種操作系統(tǒng)的優(yōu)勢(shì),開(kāi)發(fā)人員可采用系統(tǒng)虛擬機(jī),這就使編程人員可在同一 DSP 處理器上同時(shí)運(yùn)行 Linux 與 DSP/BIOS 系統(tǒng)。

  然而,我們要提出一個(gè)重要的問(wèn)題:為什么不使用分別運(yùn)行 Linux 與 DSP/BIOS 系統(tǒng)的 CPU+DSP 組合器件呢?畢竟,CPU 在運(yùn)行用戶(hù)接口控制代碼等方面具有更高的效率。此外,不同的內(nèi)核可避免虛擬化帶來(lái)的開(kāi)銷(xiāo)。不過(guò),在同一顆芯片上集成所有功能還是很有吸引力的,原因如下:

  其一,當(dāng)今高性能 DSP 比前代 DSP 要強(qiáng)大得多,這樣可減少控制處理周期數(shù)。其二,大多數(shù)高性能 DSP 的通用性能均比前代產(chǎn)品更強(qiáng),從而可實(shí)現(xiàn)更高效的控制代碼處理工作。

  如果所有功能都可集成在 DSP 上,那么其優(yōu)勢(shì)將更加出眾。更少的芯片數(shù)量可實(shí)現(xiàn)更低的成本與更小的占用空間。此外,由于不再需要在耗費(fèi)大量電力的處理器間數(shù)據(jù)傳輸,因此還可降低能耗。

  進(jìn)度安排

  操作系統(tǒng)最常見(jiàn)也是最有利的一個(gè)特性就是能同時(shí)執(zhí)行多個(gè)任務(wù)或多個(gè)線(xiàn)程。操作系統(tǒng)通過(guò)時(shí)間表管理內(nèi)核處理,以連續(xù)執(zhí)行相關(guān)任務(wù)。

  以往,嵌入式編程人員在使用 Linux 時(shí)會(huì)擔(dān)心實(shí)時(shí)性能較低的問(wèn)題。不過(guò),對(duì) Linux 內(nèi)核的最新增強(qiáng)顯著提高了其對(duì)系統(tǒng)事件的響應(yīng)能力,從而使其可滿(mǎn)足各種企業(yè)與個(gè)人以及嵌入式產(chǎn)品的需求。

  Linux 可實(shí)現(xiàn)線(xiàn)程的時(shí)間切片以及優(yōu)先次序的時(shí)間安排。時(shí)間切片技術(shù)是指在所有線(xiàn)程之間共享處理工作周期,以確保無(wú)封鎖線(xiàn)程。這種方法通常適用于用戶(hù)接口功能,以確保在系統(tǒng)超載、響應(yīng)較慢的情況下也不至于完全丟失用戶(hù)功能。

  與此形成對(duì)比的是,優(yōu)先次序線(xiàn)程時(shí)間安排技術(shù)則可確保系統(tǒng)中最高優(yōu)先級(jí)線(xiàn)程的執(zhí)行,直至該線(xiàn)程放棄控制為止,這時(shí)下一個(gè)最高優(yōu)先級(jí)的線(xiàn)程即開(kāi)始執(zhí)行。

  Linux 內(nèi)核在每次從內(nèi)核到用戶(hù)模式的轉(zhuǎn)換時(shí)都會(huì)對(duì)可用線(xiàn)程的優(yōu)先級(jí)進(jìn)行重新評(píng)估,這就意味著內(nèi)核最新評(píng)估的任何事件(如驅(qū)動(dòng)程序上數(shù)據(jù)的可用性)都能立即觸發(fā)新線(xiàn)程(調(diào)度器的時(shí)延響應(yīng)時(shí)間內(nèi))的轉(zhuǎn)換。由于確定了基于優(yōu)先級(jí)的線(xiàn)程,其通常用于必須滿(mǎn)足實(shí)時(shí)要求的信號(hào)處理應(yīng)用。

  在推出 Linux 內(nèi)核 2.6 版本之前,制約實(shí)時(shí)性能的主要因素是 Linux 內(nèi)核會(huì)禁用中斷,且禁用時(shí)間有時(shí)會(huì)長(zhǎng)達(dá)數(shù)百毫秒。

  就此而言,我們可以提高內(nèi)核實(shí)施的效率。因?yàn)樵诮弥袛鄷r(shí),代碼的某些部分無(wú)需重新進(jìn)入,而這會(huì)增加中斷響應(yīng)的時(shí)延。

  目前的 2.6 版本提供了構(gòu)建選項(xiàng),可在整個(gè)內(nèi)核代碼中以更高的頻率插入中斷再啟用指令。Linux 社區(qū)通常將該特性稱(chēng)作先占內(nèi)核 (preempt kernel),盡管這會(huì)讓內(nèi)核性能略有下降,但卻能夠顯著提高實(shí)時(shí)性能。對(duì)于眾多系統(tǒng)任務(wù)而言,在先占性 Linux 2.6 內(nèi)核與實(shí)時(shí)線(xiàn)程結(jié)合使用時(shí),將能提供足夠的性能來(lái)滿(mǎn)足實(shí)時(shí)需求。

  例如,德州儀器 (TI) 的 DSP/BIOS 以軟件中斷和任務(wù)的形式僅支持優(yōu)先級(jí)調(diào)度。與 Linux 調(diào)度器一樣,軟件中斷和任務(wù)都屬于先占型的。但是,DSP/BIOS 也為應(yīng)用編程人員提供了直接存取硬件中斷的條件,該資源僅適用于 Linux 內(nèi)核模式。

  直接存取硬件中斷使應(yīng)用編程人員可在理論上實(shí)現(xiàn)底層硬件所支持的最短時(shí)延響應(yīng)。對(duì)控制環(huán)路等需要絕對(duì)最低時(shí)延的應(yīng)用而言,這種精細(xì)粒度的硬件中斷控制機(jī)制通常是一種非常重要的特性。

  受保護(hù)的資源訪問(wèn)

  Linux 與大多數(shù)通用操作系統(tǒng)的一個(gè)基本屬性就是用戶(hù)空間程序與所用的底層系統(tǒng)資源相分離。僅在工作處于監(jiān)控(如內(nèi)核)模式下時(shí)才允許直接訪問(wèn)存儲(chǔ)器和設(shè)備外設(shè)。

  如果用戶(hù)程序希望訪問(wèn)系統(tǒng)資源,那么它必須通過(guò)稱(chēng)作驅(qū)動(dòng)器的內(nèi)核模塊從內(nèi)核發(fā)出請(qǐng)求。該應(yīng)用位于用戶(hù)存儲(chǔ)器空間,并將通過(guò)虛擬文件訪問(wèn)驅(qū)動(dòng)程序。然后,虛擬文件將應(yīng)用的請(qǐng)求轉(zhuǎn)至驅(qū)動(dòng)器執(zhí)行的內(nèi)核存儲(chǔ)器空間。

  Linux 可提供特性極為豐富的驅(qū)動(dòng)器模型,其中包括標(biāo)準(zhǔn)流媒體外設(shè)、模塊存儲(chǔ)設(shè)備以及文件系統(tǒng),甚至還包括網(wǎng)絡(luò)與基于網(wǎng)絡(luò)的文件系統(tǒng)。

  驅(qū)動(dòng)器與用戶(hù)空間應(yīng)用的分離可實(shí)現(xiàn)高度的穩(wěn)健性。此外,通用驅(qū)動(dòng)器接口上的抽象水平使其便于將數(shù)據(jù)流傳輸給串行端口、閃存文件系統(tǒng)或網(wǎng)絡(luò)共享文件夾,且僅需對(duì)底層應(yīng)用代碼稍作更改。

  然而,實(shí)現(xiàn)這種靈活性需要付出代價(jià)。應(yīng)用與物理資源的嚴(yán)格分離會(huì)加大開(kāi)銷(xiāo)。如果用戶(hù)空間程序要訪問(wèn)設(shè)備外設(shè),則內(nèi)核模式必須進(jìn)行環(huán)境交換才能處理該請(qǐng)求。

  由于數(shù)據(jù)是成塊訪問(wèn),而非逐個(gè)樣本 (sample-by-sample) 訪問(wèn),因此通常來(lái)說(shuō)這不會(huì)造成太大的局限性。這樣,內(nèi)核模式下每次塊訪問(wèn)僅需進(jìn)行一次環(huán)境交換即可。

  但是,在某些情況下,應(yīng)用代碼需與物理硬件嚴(yán)格匹配。如果使用 DSP 等對(duì)數(shù)據(jù)吞吐量要求較高且不能容忍停頓的高性能處理器時(shí),通常就會(huì)出現(xiàn)此類(lèi)情況。這時(shí),內(nèi)核空間的物理資源與用戶(hù)空間的應(yīng)用相分離的做法就可能會(huì)嚴(yán)重影響系統(tǒng)性能。

  應(yīng)用與硬件的匹配

  我們不妨使用 TMS320DM643x 處理器架構(gòu)來(lái)研究在執(zhí)行塊視頻處理時(shí)會(huì)遇到的典型情況,該架構(gòu)采用一個(gè) 600 MHz / 4800 MIPS DSP 處理內(nèi)核以及諸如功能豐富的視頻端口子系統(tǒng)等各種多媒體外設(shè)。這種硬件通常用于將輸入視頻流進(jìn)行 H.264 格式壓縮。

  為了充分發(fā)揮 DSP 內(nèi)核的處理能力,處理的數(shù)據(jù)應(yīng)從周期操作內(nèi)部存儲(chǔ)器讀取,而不是從速度較慢的外部存儲(chǔ)器讀取。盡管在技術(shù)上可以讓具有足夠快的片上存儲(chǔ)器的處理器存儲(chǔ)一個(gè)或多個(gè)完整的視頻幀,但這種技術(shù)對(duì)大多數(shù)目標(biāo)市場(chǎng)來(lái)說(shuō)成本太高。因此,采用可提供 80kB 的單周期操作片上數(shù)據(jù)存儲(chǔ)器的處理器取而代之。

  80kB 雖然小,不能存儲(chǔ)完整的視頻幀,但 TI 通過(guò)模擬檢測(cè)認(rèn)為,這樣的存儲(chǔ)量足夠?yàn)?H.264與其它視頻處理算法提供最佳的面積/性能綜合比。

  DSP通過(guò)直接存儲(chǔ)器存取(DMA)控制器為該存儲(chǔ)器提供數(shù)據(jù),這種控制器還可用于內(nèi)外部存儲(chǔ)器之間高效傳輸數(shù)據(jù)子塊,而不會(huì)占用處理器內(nèi)核的周期操作(見(jiàn)圖 1)。

  從整體系統(tǒng)的角度來(lái)說(shuō),這種方法可提供幾乎相當(dāng)于具有整個(gè)視頻緩沖器的芯片所提供的性能,但成本卻非常低。不過(guò),為了實(shí)現(xiàn)這樣的高性能,就需要應(yīng)用、操作系統(tǒng)以及底層存儲(chǔ)器與 DMA 硬件之間的緊密配合。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉