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