亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        優(yōu)化的μC/OS-III實時內(nèi)核中斷管理機制

        2021-09-02 00:23:42吳堯輝吳昊珍
        電子科技 2021年9期
        關(guān)鍵詞:優(yōu)化

        馮 沖,吳堯輝,吳昊珍

        (1.河南理工大學 電氣工程與自動化學院,河南 焦作 454150;2.河南理工大學 許繼電氣股份有限公司煤礦井下智能供電系統(tǒng)實驗室,河南 焦作 454150;3.鄭州工商學院,河南 鄭州 451400)

        嵌入式實時系統(tǒng)具有時間約束性、可預測性、可靠性等特點,其中實時性是衡量系統(tǒng)優(yōu)劣的關(guān)鍵因素。嵌入式實時系統(tǒng)一般通過中斷的方式對外部異常事件進行處理,其實時性能關(guān)乎中斷的處理方式。

        傳統(tǒng)嵌入式實時系統(tǒng)外設(shè)中斷優(yōu)先級均高于操作系統(tǒng)內(nèi)部任務優(yōu)先級,在未關(guān)閉硬件中斷的情況下,外設(shè)中斷發(fā)生就立即響應并執(zhí)行ISR(Interrupt Service Routines)。μC/OS-III實時操作系統(tǒng)可以選擇以線程的方式處理中斷,中斷發(fā)生后僅在ISR中做簡單處理(例如向任務發(fā)布消息、信號量等),然后調(diào)用中斷服務并以任務的方式進行處理。兩種中斷執(zhí)行模式都有各自的優(yōu)缺點[1-3]。

        1 μC/OS-III中斷管理機制

        μC/OS-III實時操作系統(tǒng)具有源代碼公開、可裁剪、可固化等優(yōu)點,其第三代內(nèi)核的優(yōu)點更為突出,不僅無任務數(shù)量限制,還可以直接向任務發(fā)送消息并支持時間片輪轉(zhuǎn)調(diào)度[4-6]。

        1.1 μC/OS-III兩種中斷模式

        μC/OS-III實時操作系統(tǒng)提供兩種中斷模式,如圖1和圖2所示。通過OS_cfg.h文件,將OS_CFG_ISR_POST_DEFERRED_EN置0或1。置0時使用直接發(fā)布模式,在未關(guān)中斷情況下,外設(shè)只要產(chǎn)生IRQ(Interrupt Request)信號,無論此時IRQ信號優(yōu)先級處于何種級別,都會立即執(zhí)行該ISR。置1時使用延遲發(fā)布模式,當中斷發(fā)生后執(zhí)行ISR。但該模式僅僅是向中斷隊列OS_INT_Q發(fā)送信號,異常事件的處理仍需轉(zhuǎn)向IST中詳細處理[7-11]。

        圖1 直接發(fā)布模式Figure 1. Direct release mode

        圖2 延遲發(fā)布模式Figure 2. Delayed release mode

        μC/OS-III中斷直接發(fā)布模式如圖1所示,外設(shè)中斷產(chǎn)生IRQ并調(diào)用ISR,在ISR中詳細處理可能使某任務處于就緒態(tài),處理完成后由中斷退出調(diào)度。通過比較該任務和被中斷任務優(yōu)先級選擇執(zhí)行,從中斷退出調(diào)度到優(yōu)先性更高的任務執(zhí)行期間,μC/OS-III均以關(guān)中斷的方式對臨界段進行保護。

        μC/OS-III中斷延遲發(fā)布模式如圖2所示,外設(shè)中斷產(chǎn)生IRQ并調(diào)用ISR,但ISR只向中斷隊列OS_INT_Q發(fā)送信號,隨后中斷處理任務OS_IntQTask就緒。又由于該任務在系統(tǒng)中的任務優(yōu)先級為0(最高優(yōu)先級)立即運行,發(fā)布信號量或消息給對應任務。若發(fā)布的任務優(yōu)先級比被中斷的任務優(yōu)先級高,則立即搶占CPU執(zhí)行權(quán),反之則返回被中斷任務繼續(xù)執(zhí)行。關(guān)閉中斷時間段只在這一極短的過程中,大量的臨界段代碼處理過程則被放在了OS_IntQTask任務中,此處可開啟鎖定任務調(diào)度來確保臨界段代碼的完整執(zhí)行。中斷延遲發(fā)布模式將IRQ通過ISR處理轉(zhuǎn)為IST處理方式,縮短了中斷關(guān)閉時間。

        1.2 μC/OS-III中斷模式缺點

        雖然μC/OS-III增加中斷延遲發(fā)布模式可以將ISR(Interrupt Service Thread)轉(zhuǎn)為線程方式處理,減少中斷關(guān)閉時間,但是此種中斷處理方式也有不足之處。由于中斷隊列OS_IntQTask任務在系統(tǒng)中為最高優(yōu)先級任務,中斷以IST方式處理情況,并沒有細分,以至于處理粒度較粗,進而導致低優(yōu)先級的ISR仍會干擾緊急任務的執(zhí)行。μC/OS-III實時操作系統(tǒng)沒有完全基于優(yōu)先級剝奪CPU執(zhí)行,外設(shè)中斷任務始終高于系統(tǒng)管理任務的優(yōu)先級,這將會影響緊急任務的執(zhí)行。

        2 優(yōu)化μC/OS-III中斷管理機制

        針對章節(jié)1.2提出的μC/OS-III中斷模式缺點,本研究優(yōu)化了μC/OS-III中斷管理機制,優(yōu)化后的中斷管理機制能夠?qū)崿F(xiàn)高優(yōu)先級IRQ的快速響應并縮短緊急任務的截止期。本文以任務的最大響應時間來比較優(yōu)化前后μC/OS-III中斷管理機制的性能。

        2.1 完全優(yōu)先級剝奪原則

        無論是μC/OS-III中斷處理粒度較粗還是低優(yōu)先級外設(shè)中斷對緊急任務執(zhí)行造成的干擾,一定程度上是μC/OS-III實時操作系統(tǒng)對外設(shè)中斷的管理不到位造成的。因此,改進μC/OS-III中斷管理機制,使其完全基于μC/OS-III優(yōu)先級剝奪原則,可實現(xiàn)優(yōu)先級的統(tǒng)一分配。

        在系統(tǒng)任務設(shè)計時,將每一個IRQ分別對應ISR和IST。該IRQ以ISR或IST方式執(zhí)行取決于當前正在執(zhí)行任務優(yōu)先級是否高于中斷任務。

        情況1中斷任務低于當前執(zhí)行任務的優(yōu)先級則以IST方式執(zhí)行。IRQ調(diào)用ISR并向?qū)腎ST發(fā)送信號量,在IST得到信號量后處于就緒態(tài),等待高優(yōu)先級的當前執(zhí)行任務結(jié)束后,再根據(jù)該IST任務和其他任務的優(yōu)先級剝奪CPU使用權(quán);

        情況2中斷任務高于當前執(zhí)行任務的優(yōu)先級,則以ISR方式執(zhí)行。IRQ直接調(diào)用ISR并立即剝奪當前執(zhí)行任務的CPU使用權(quán)。雖然這種情況會出現(xiàn)中斷響應時間增加,以及緊急中斷不能及時響應等傳統(tǒng)中斷管理模式的缺點,但是該模式可以滿足高優(yōu)先級ISR及時響應并盡可能減少中斷任務對其他任務的干擾[12-15]。

        2.2 優(yōu)化后中斷處理過程

        在盡量不更改內(nèi)核代碼的情況下進行過程優(yōu)化,主要涉及正在執(zhí)行任務優(yōu)先級和中斷任務優(yōu)先級的獲取和比較。優(yōu)化后的中斷模式處理如圖3所示,具體過程為:(1)當中斷發(fā)生時,首先獲取此IRQ的ID,并通過此ID獲取中斷源。通過IRQ_Prio=INT_PRIO[ID]來獲得中斷任務優(yōu)先級;(2)獲取最高級別就緒任務的Prio,當中斷發(fā)生時讀取并賦值給Current_Prio;(3)比較判斷IRQ_Prio與Current_Prio的優(yōu)先級,優(yōu)先級值越低優(yōu)先級越高。中斷以ISR執(zhí)行還是以IST執(zhí)行并不是一成不變的,具體要與當前正在執(zhí)行的任務優(yōu)先級比較。若IRQ_Prio的值大,則中斷優(yōu)先級越低,給對應IST發(fā)送信號量使其處于就緒態(tài),反之則立即執(zhí)行對應的ISR;(4)獲取最高級別就緒任務Prio后賦值給Current_Prio并執(zhí)行此任務,該任務可能是普通任務也可能是IST。

        圖3 優(yōu)化后的中斷模式處理流程圖Figure 3. Flowchart of optimized interrupt mode processing

        3 中斷模式理論分析

        由于高優(yōu)先級IRQ比當前正在執(zhí)行任務的優(yōu)先級還高,產(chǎn)生后會立即執(zhí)行,改進中斷模式與μC/OS-III直接發(fā)布模式的任務響應時間一樣,所以本文不做討論。本文主要討論在μC/OS-III中斷管理模式下的低優(yōu)先級IRQ,對比直接發(fā)布模式、延遲發(fā)布模式和改進后模式中任務最大響應時間,進一步驗證改進后模式的優(yōu)化效果。

        3.1 直接發(fā)布模式中任務最大響應時間

        在μC/OS-III中選擇直接發(fā)布模式時的任務調(diào)度如圖4所示。優(yōu)先級較高的TASK2運行時發(fā)生IRQ1和IRQ2,并立即執(zhí)行對應ISR1和ISR2。在ISR2運行后使TASK1處于就緒態(tài),由于TASK2優(yōu)先級比TASK1優(yōu)先級高,執(zhí)行完TASK2后任務切換執(zhí)行TASK1任務。

        圖4 直接發(fā)布模式時任務調(diào)度Figure 4. Task scheduling in direct release mode

        在直接發(fā)布模式下,TASK2任務的最大響應時間為

        (1)

        式中,Ti=ti+δ。Ti為TASK2執(zhí)行時間總和,包括實際執(zhí)行時間ti和任務切換時間δ;tISRm是IRQ2執(zhí)行時間;α1是ISR2運行后使TASK1處于就緒態(tài)的時間;β1是進入和退出中斷進行現(xiàn)場保護時間;m是執(zhí)行任務過程中發(fā)生中斷數(shù)目。

        3.2 延遲發(fā)布模式中任務最大響應時間

        在μC/OS-III中選擇延遲發(fā)布模式時任務調(diào)度如圖5所示,高優(yōu)先級的TASK2運行時發(fā)生IRQ1,并立即執(zhí)行對應ISR1,ISR1只向中斷隊列OS_INT_Q發(fā)送信號。隨后中斷處理任務OS_IntQTask就緒并以最高優(yōu)先級立即運行,發(fā)布信號量或消息給對應任務TASK1使其處于就緒態(tài)。TASK2以較高優(yōu)先級執(zhí)行完后任務切換執(zhí)行TASK1任務。

        圖5 延遲發(fā)布模式時任務調(diào)度Figure 5. Task scheduling in delayed release mode

        在直接發(fā)布模式下,TASK2任務的最大響應時間為

        (2)

        式中,TISRm=tISRm+δ。α1是ISR1向中斷隊列OS_INT_Q發(fā)送信號時間;γ是中斷處理任務OS_IntQTask發(fā)送信號使TASK1處于就緒態(tài)的時間;其他變量和式(1)中的變量相同。

        3.3 改進模式對任務最大響應時間

        μC/OS-III改進模式的任務調(diào)度如圖6所示。在TASK1執(zhí)行過程中發(fā)生IRQ1,IRQ1仍會執(zhí)行ISR1,但是主要以IST方式處理,IST處理后向低優(yōu)先級的TASK1發(fā)送信號量或消息。

        圖6 改進模式時任務調(diào)度Figure 6. Task scheduling in improved mode

        在改進模式下,TASK2任務的最大響應時間為式(3)。

        (3)

        由于IRQ1以IST方式處理,并且優(yōu)先級低于TASK2,所以不會占用TASK2的執(zhí)行時間,因此消除了ISR消耗tISRm時間。

        (4)

        (5)

        式(4)和式(5)均大于0,驗證了優(yōu)化后的中斷模式能夠縮短高優(yōu)先級任務TASK2的任務截止時間,也可以看出在3種模式中,優(yōu)化后的μC/OS-III中斷模式對任務響應時間最少。

        4 實驗與結(jié)果分析

        仿真實驗使用帶有ARM的STM32處理器,MUC選擇高性能且低功耗,主頻為72 MHz的Cortex-M3作為主芯片[16-17]。硬件Systick定時器為μC/OS-III提供時鐘節(jié)拍任務,可根據(jù)應用任務要求更改時鐘節(jié)拍頻率,使頻率至少是50 Hz,另外將頻率設(shè)置為整數(shù)倍,此處為200 Hz。按照章節(jié)2.2對μC/OS-III部分內(nèi)核進行修改[18-19],實現(xiàn)具體功能。實驗主要討論低優(yōu)先級中斷對緊急任務截止期的影響。

        通過設(shè)計定時器任務和時鐘節(jié)拍任務,可以得到周期性的中斷信號。定時器任務優(yōu)先級高于時鐘節(jié)拍任務,一般都將時鐘節(jié)拍任務設(shè)置成中等優(yōu)先級。設(shè)置定時器任務執(zhí)行周期為100 ms,任務執(zhí)行期間可發(fā)生多個時鐘節(jié)拍中斷。

        通過μC/Probe對系統(tǒng)運行檢測,如圖7所示,圖中能夠顯示任務狀態(tài)、任務優(yōu)先級、切換頻率和任務堆棧等。由圖7可知,優(yōu)化后的μC/OS-III實時操作系統(tǒng)能夠穩(wěn)定運行。由于高優(yōu)先級中斷為ISR立即執(zhí)行方式,中斷的及時響應減輕了CPU負載能力,改進后CPU利用率為28.32%,相較于直接發(fā)布模式和延遲發(fā)布模式降低了約5%,且隨任務數(shù)量的增加優(yōu)化效果會更加明顯。定時器任務的切換次數(shù)和鎖任務調(diào)度器時間明顯減少,這是因為低優(yōu)先級中斷對高優(yōu)先級任務的干擾有所減少。但是,最大中斷關(guān)閉時間有所增加,也正是犧牲了低優(yōu)先級中斷任務的及時響應才換來了緊急任務的截止期縮短,不過對于一些特別緊急的任務,增加的時間是可被接受的。

        圖7 系統(tǒng)運行檢測Figure 7. System operation detection diagram

        通過如圖8所示的串口助手接收數(shù)據(jù)可知,對應3種中斷模式下定時器任務截止期數(shù)值。直接發(fā)布模式和延遲發(fā)布模式中定時器任務隨著中斷執(zhí)行時間的增加變化較大,這也要求中斷ISR盡可能短小簡單的原因。改進中斷模式中的低優(yōu)先級中斷以IST任務執(zhí)行,而IST任務優(yōu)先級較低不會剝奪CPU執(zhí)行權(quán),對緊急任務的截止期沒有影響,所以隨著中斷執(zhí)行時間的增加變化并不大。

        圖8 緊急任務截止期數(shù)值Figure 8. Urgent task deadline value

        5 結(jié)束語

        本文通過3種中斷模式理論分析以及實驗與結(jié)果表明,中斷任務和內(nèi)核管理的普通任務在基于完全優(yōu)先級剝奪原則下,可以使緊急任務的截止期縮短,降低優(yōu)先級中斷對緊急任務的干擾。雖然基于完全優(yōu)先級剝奪更加符合任務優(yōu)先運行的實際情況,但是改進中斷模式會導致中斷響應時間增加,并且可能造成中斷的丟失。因此,后續(xù)工作應該優(yōu)化中斷對任務的影響,并進一步縮短中斷響應的時間。

        猜你喜歡
        優(yōu)化
        超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
        PEMFC流道的多目標優(yōu)化
        能源工程(2022年1期)2022-03-29 01:06:28
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
        圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
        事業(yè)單位中固定資產(chǎn)會計處理的優(yōu)化
        消費導刊(2018年8期)2018-05-25 13:20:08
        4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
        幾種常見的負載均衡算法的優(yōu)化
        電子制作(2017年20期)2017-04-26 06:57:45
        台湾无码av一区二区三区| 亚洲成av人片极品少妇| 日韩亚洲精品中文字幕在线观看 | 好看的欧美熟妇www在线| 亚洲三级黄色| 丰满少妇高潮在线观看| 久久精品一区二区三区蜜桃| 亚洲精品tv久久久久久久久久| 久热在线播放中文字幕| 特级毛片全部免费播放a一级| 久久成人精品国产免费网站| 久久久噜噜噜久久中文福利| 亚洲粉嫩高潮的18p| 超碰观看| 久久日本视频在线观看| 精品国产性色无码av网站| 人妻人人澡人人添人人爽人人玩| 强d漂亮少妇高潮在线观看 | 国色天香社区视频在线| 欧美激情a∨在线视频播放| 91热国内精品永久免费观看| av网站免费观看入口| 精品久久久无码人妻中文字幕豆芽| 国产精品高潮呻吟av久久无吗| 一本久久精品久久综合桃色| 亚洲av熟女一区二区三区站| 色一情一区二区三区四区| 亚洲色婷婷免费视频高清在线观看| 日韩精品一区二区三区含羞含羞草| 成人自慰女黄网站免费大全| 午夜成人精品福利网站在线观看| 人妻av一区二区三区av免费| 久久久人妻精品一区bav| 欧美性猛交xxxx三人| 国产一区二区三区在线观看精品| 一区二区三区四区四色av| 人妻久久久一区二区三区蜜臀| 亚洲人成色777777老人头| 亚洲AV永久无码精品一区二国| 国产极品大奶在线视频| 日本中文字幕一区二区高清在线|