摘 要:隨著芯片集成技術(shù)的不斷發(fā)展,目前,在集成電路設(shè)計方面已經(jīng)進入了一個新的時代,在設(shè)計時通常采用軟件硬件協(xié)同的方法。實時操作系統(tǒng)能夠顯著優(yōu)化芯片的性能特征,同時還能優(yōu)化設(shè)計的總體效益,降低其上市的時間,提高其可用性能。因此,本文對基于SOC的實時操作系統(tǒng)進行了分析。
關(guān)鍵詞:SOC 實時操作系統(tǒng) 分析
中圖分類號:TP316.2文獻標識碼:A文章編號:1672-3791(2012)09(a)-0013-01
實時操作系統(tǒng)(RTOS)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。RTOS根據(jù)各個任務(wù)的性質(zhì)和要求,進行資源(包括存儲器、外設(shè)等)管理、任務(wù)的通信和同步管理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中,通常每個任務(wù)都有優(yōu)先級RTOS根據(jù)各個任務(wù)的優(yōu)先級來動態(tài)的切換任務(wù),保證其對實時性的要求。這種體系結(jié)構(gòu)簡化了編程結(jié)構(gòu),比過去的循環(huán)控制的體系結(jié)構(gòu)有了很大的改進。與通常的嵌入式實時操作系統(tǒng)相比,基于SOC的RTOS既有共性,也有其特殊性。其共性表現(xiàn)在強調(diào)任務(wù)的實時性,采用實時調(diào)度算法以保證系統(tǒng)的多個任務(wù)能滿足實時性的要求;其特殊性源于SOC給RTOS的設(shè)計帶來新的課題。
1 基于SOC的實時操作系統(tǒng)設(shè)計的原理
普通的計算機系統(tǒng)當(dāng)中,一般是通過軟件來實現(xiàn)操作系統(tǒng)的設(shè)計的,對實時性也沒有較高的要求,沒有嚴格限制其所占用的內(nèi)存。但是基于SOC的實時操作系統(tǒng)在設(shè)計時對實時性有很嚴格的要求。同時也苛刻限制了代碼的長度。但是與此同時,進行這種實時系統(tǒng)的設(shè)計時,也有很強的靈活性,它主要體現(xiàn)在:為了保障系統(tǒng)功能的實現(xiàn),能夠在芯片上設(shè)計額外的硬件,將實時操作系統(tǒng)的尺寸縮小,使其運行時間變快。通常是利用新的算法和數(shù)據(jù)結(jié)構(gòu)來不斷提高操作系統(tǒng)的實時性能,而在基于SOC的操作系統(tǒng)當(dāng)中,進行軟硬件的協(xié)同設(shè)計,提供了一種創(chuàng)新的機制。在基于集成芯片RTOS設(shè)計當(dāng)中,本文主要是通過采用I/O管理來實現(xiàn)軟硬件的有效劃分??v線調(diào)度對于HDTV解碼芯片設(shè)計具有重要作用,它具有較強的非隨機性,在選擇算法時可以選用時間片這種調(diào)度方法。為了將整個操作系統(tǒng)在調(diào)度上的總開銷控制在一定范圍內(nèi),并提高操作系統(tǒng)中芯片吞吐的總量,采用硬件來實現(xiàn)對所有總線的管理。
2 基于SOC的實時操作系統(tǒng)的任務(wù)管理
第一,任務(wù)的調(diào)度。在實施操作系統(tǒng)當(dāng)中,對內(nèi)核進行調(diào)度時需要確立基本調(diào)度單位,任務(wù)作為基本單位,其驅(qū)動通常都是事件或者消息的基礎(chǔ)上形成的,也就是說,在設(shè)計任務(wù)時,需要根據(jù)對接收到的各項事件以及信息的處理來進行的,它具有循環(huán)性。任務(wù)的狀態(tài)在實時操作系統(tǒng)中表現(xiàn)出很多不同種類,任務(wù)的運行,任務(wù)的就緒以及掛起等等,但是一般來說,系統(tǒng)中在同一時間內(nèi)只可供一種任務(wù)狀態(tài)存在,不同的任務(wù)按照其級別的差異來通過各自的時間片,然后獲得訪問CPU的權(quán)利。對多重任務(wù)進行管理和調(diào)度是實時操作系統(tǒng)的重要功能之一。任務(wù)是整個操作系統(tǒng)中不可或缺的基本操作對象,包括激活以及休眠任務(wù)。任務(wù)調(diào)度分為三種,一種是時間輪詢;另一種是時間分片還有一種是優(yōu)先搶占,在這三種形式中,對于實時性能的支撐性最強的是最后一種,即優(yōu)先搶占式。
第二,任務(wù)的切換。實時操作系統(tǒng)中,任務(wù)的切換主要是由以下原因引起的:第一種情況是上一個任務(wù)在正常完成之后,就將自身對CPU的控制權(quán)利轉(zhuǎn)給實時操作系統(tǒng),操作系統(tǒng)對列表中全部任務(wù)進行判斷和檢查,確定優(yōu)先級別最高的任務(wù),使其優(yōu)先運行。第二種情況是當(dāng)其中一個任務(wù)正在運行的過程中,優(yōu)先級別更高的另一個任務(wù)出現(xiàn)了中斷現(xiàn)象,系統(tǒng)根據(jù)目前任務(wù)狀況,保存其上下文,并對任務(wù)進行切換,使其處于中斷任務(wù)的狀態(tài)。系統(tǒng)通過對任務(wù)列表的整理和檢查,將一些運行完畢的任務(wù)刪除,然后不斷增加一些新的任務(wù),并根據(jù)其優(yōu)先級別的高低,來對其進行排序。以促進任務(wù)間系統(tǒng)資源的合理分配。
第三,任務(wù)同步和通信。實時操作系統(tǒng)當(dāng)中對任務(wù)通信、同步的實現(xiàn)一般是通過對消息、郵箱、信號燈等服務(wù)原語的定義來進行其中消息的確立是通過系統(tǒng)當(dāng)中一些公共的數(shù)據(jù)交換區(qū)域來將任務(wù)在通信過程中需要的各種信息進行交互。
3 基于SOC的實時操作系統(tǒng)的存儲管理
第一,對存儲區(qū)進行合理分配。實時操作系統(tǒng)當(dāng)中,需要對存儲的區(qū)域進行合理科學(xué)的分配,一般采用靜態(tài)或者動態(tài)的分配方式,同時,在分配時還可以根據(jù)硬件中分布的儲存管理單元自身擁有的特點來優(yōu)化存儲管理模塊的設(shè)計。
第二,應(yīng)該實現(xiàn)對堆的管理。對于任務(wù)來說,如果需要一定的存儲區(qū)域,則需要通過動態(tài)申請才能實現(xiàn),實時操作系統(tǒng)能夠通過對存儲空間中的堆來為任務(wù)在動態(tài)申請以及存儲塊的釋放過程中提供一個調(diào)用的接口,在進行動態(tài)分配的時候,應(yīng)該注意避免出現(xiàn)存儲區(qū)零碎化的現(xiàn)象。
4 I/O以及系統(tǒng)的中斷管理
實時操作系統(tǒng)為中斷管理提供了一種具有較高通用性能的設(shè)計模式,這種模式可以將中斷的時間控制在最短范圍內(nèi),并能最大化提高中斷的響應(yīng)程度。同時,系統(tǒng)內(nèi)核中的各種資源對象可以對實體或者虛擬的資源進行獨占式的訪問,資源在同時間內(nèi)只能被一個任務(wù)訪問,這樣有利于防止出現(xiàn)資源沖突的現(xiàn)象。在設(shè)計1/O系統(tǒng)時,應(yīng)確保其具有以下特性:能在多個用戶程序之間共享;借助中斷管理來實現(xiàn)和CPU的通信以及同步;實現(xiàn)對I/0設(shè)備的良好控制。
5 基于SOC的實時操作系統(tǒng)軟硬件協(xié)同設(shè)計的方法
軟硬件協(xié)同設(shè)計時,首先需要依據(jù)操作系統(tǒng)的實際需求以及說明,來劃分軟硬件,將系統(tǒng)的功能具體要由哪些軟件或者硬件來實現(xiàn)進行確定,Gupta等在很早之前就提出了一種算法,這種算法能夠?qū)崿F(xiàn)功能在硬件軟件之間的遷移,而也有人提出了另一種較為先進的算法,這種算法可以通過將關(guān)鍵功能在指令流中確定下來,并把它們映射成相應(yīng)的硬件。其次,需要對功能進行定位。因為軟件當(dāng)中所承載的功能有時候會因為時間或性能因素,而被硬件取代,基于這種可能,可以通過對開發(fā)時間的考慮以及性能等方面的適應(yīng)性,來將原本在硬件中執(zhí)行的各種功能,轉(zhuǎn)移到軟件上來,由軟件中的處理器來執(zhí)行。再者,應(yīng)該進行良好調(diào)度。實時操作系統(tǒng)在任務(wù)中進行調(diào)度,主要依據(jù)是任務(wù)的不同,對實時響應(yīng)的具體要求也不同。在硬件上,應(yīng)該根據(jù)資源的總量和數(shù)據(jù)總線來對任務(wù)中的時間片進行合理分配。最后,還應(yīng)該完成映射。在硬件中利用固核來生成硬核,并把軟件編譯成一串串可以正常運行的代碼。
參考文獻
[1]姚慶棟,張朝陽,劉鵬,等.系統(tǒng)集成芯片綜述[J].計算機自動測量與控制,2000,9(3):1-4.
[2]半導(dǎo)體集成化芯片系統(tǒng)基礎(chǔ)研究科學(xué)論壇紀要[J].國家自然科學(xué)基金委員會21世紀,2001,33(3):380-382.
[3]James C.McKinney etc.著,嚴靜蘭樂陶譯,“美國高級電視制式委員會(ATSC)數(shù)字音頻壓縮標準(AC-3)(ATSC A/52)”,電子部電視電聲研究所,1979,9(48):13-15.
[4]毛訊.高速視頻解碼器的設(shè)計研究[D].浙江大學(xué)博士學(xué)位論文,2001,9(3):267-26