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