實時操作系統(tǒng)軟件調(diào)度器/硬件調(diào)度器的設(shè)計與實現(xiàn)
3.硬件調(diào)度器模型實現(xiàn)
硬件調(diào)度器模型將調(diào)度的功能完全用專用的硬件IP核實現(xiàn)。見圖3,整個系統(tǒng)包含圖3中去除協(xié)處理器的所有部分。調(diào)度模塊具有與協(xié)處理器相同的功能,但是調(diào)度模塊完全由時序以及邏輯模塊組成,不具有協(xié)處理器智能化的特性,其開發(fā)難度也相對較大。但是正是由于調(diào)度模塊采用的時序以及邏輯模塊組合的結(jié)構(gòu),其實現(xiàn)無需程序控制,故調(diào)度速度要高于協(xié)處理器調(diào)度模式。
整個調(diào)度模塊由三部分組成,見圖4:調(diào)度核、任務(wù)管理、通信接口。通信接口將CPU傳送過來以及調(diào)度核的指令進(jìn)行翻譯轉(zhuǎn)換,實現(xiàn)CPU與調(diào)度核之間的通信。調(diào)度核控制任務(wù)管理,將等待掛起的任務(wù)以及最高就緒態(tài)的任務(wù)號發(fā)送給任務(wù)管理器,同時與CPU交互信息,從CPU獲取系統(tǒng)時間等各種有用信息。任務(wù)管理則負(fù)責(zé)各種任務(wù)狀態(tài)的切換,將調(diào)度核發(fā)送過來的等待掛起的任務(wù)置入等待隊列,而將最高優(yōu)先級的任務(wù)標(biāo)志為運行態(tài),交由調(diào)度核并發(fā)送給CPU。
性能測試及結(jié)論
為了驗證三種調(diào)度模型的性能,采用了如下的測試方法。應(yīng)用程序由10個相同功能的任務(wù)組成,任務(wù)的序號分別為1到10,每個任務(wù)運行確定時間之后,掛起自身而運行任務(wù)號加1的任務(wù)。異步中斷通過外部按鍵人為觸發(fā),一個始終處于掛起態(tài)的任務(wù)用于接收按鍵消息,并處理。按鍵消息處理之后,任務(wù)將自身掛起。圖5為主機(jī)通過串口獲取的任務(wù)切換信息,并通過matlab繪制的圖形。從圖可以看出,三種調(diào)度器性能由低到高分別為軟件調(diào)度模型、協(xié)處理器調(diào)度模型、硬件調(diào)度模型。
結(jié)語
本文介紹了三種RTOS的調(diào)度器實現(xiàn)模型,軟件調(diào)度模型為當(dāng)前最常用的也最穩(wěn)定的調(diào)度模型,其實現(xiàn)簡單,且硬件成本低;協(xié)處理器調(diào)度模型具有較高的性能,但是由于采用協(xié)處理器的支持,無疑增加了硬件成本,RTOS的調(diào)度由協(xié)處理器完成,減輕了主CPU的負(fù)擔(dān),但是協(xié)處理器的調(diào)度過程實際上也由軟件實現(xiàn),其整體的調(diào)度速度不是很高,其性能提升只是在減小主CPU的調(diào)度次數(shù)以及避免進(jìn)入內(nèi)核態(tài)上;硬件調(diào)度模型具有最高的效率,雖然模塊開發(fā)調(diào)試復(fù)雜繁瑣,但是與協(xié)處理器調(diào)度模式相比,占用更少的硬件資源,而且效率高于協(xié)處理器方式,必將極大地提高系統(tǒng)性能。綜上所述,三種RTOS各具有自身特點,在具體的實現(xiàn)過程中,需要考慮系統(tǒng)的特性折中選擇實現(xiàn)方式。與當(dāng)前流行的調(diào)度模式相比,硬件調(diào)度模型具有更高的性能,必將成為今后RTOS發(fā)展的一個方向。
評論