999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

優化的μC/OS-III實時內核中斷管理機制

2021-09-02 00:23:42吳堯輝吳昊珍
電子科技 2021年9期
關鍵詞:優化

馮 沖,吳堯輝,吳昊珍

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

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

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

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

μC/OS-III實時操作系統具有源代碼公開、可裁剪、可固化等優點,其第三代內核的優點更為突出,不僅無任務數量限制,還可以直接向任務發送消息并支持時間片輪轉調度[4-6]。

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

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

圖1 直接發布模式Figure 1. Direct release mode

圖2 延遲發布模式Figure 2. Delayed release mode

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

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

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

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

2 優化μC/OS-III中斷管理機制

針對章節1.2提出的μC/OS-III中斷模式缺點,本研究優化了μC/OS-III中斷管理機制,優化后的中斷管理機制能夠實現高優先級IRQ的快速響應并縮短緊急任務的截止期。本文以任務的最大響應時間來比較優化前后μC/OS-III中斷管理機制的性能。

2.1 完全優先級剝奪原則

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

在系統任務設計時,將每一個IRQ分別對應ISR和IST。該IRQ以ISR或IST方式執行取決于當前正在執行任務優先級是否高于中斷任務。

情況1中斷任務低于當前執行任務的優先級則以IST方式執行。IRQ調用ISR并向對應的IST發送信號量,在IST得到信號量后處于就緒態,等待高優先級的當前執行任務結束后,再根據該IST任務和其他任務的優先級剝奪CPU使用權;

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

2.2 優化后中斷處理過程

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

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

3 中斷模式理論分析

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

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

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

圖4 直接發布模式時任務調度Figure 4. Task scheduling in direct release mode

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

(1)

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

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

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

圖5 延遲發布模式時任務調度Figure 5. Task scheduling in delayed release mode

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

(2)

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

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

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

圖6 改進模式時任務調度Figure 6. Task scheduling in improved mode

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

(3)

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

(4)

(5)

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

4 實驗與結果分析

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

通過設計定時器任務和時鐘節拍任務,可以得到周期性的中斷信號。定時器任務優先級高于時鐘節拍任務,一般都將時鐘節拍任務設置成中等優先級。設置定時器任務執行周期為100 ms,任務執行期間可發生多個時鐘節拍中斷。

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

圖7 系統運行檢測Figure 7. System operation detection diagram

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

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

5 結束語

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

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 久久精品aⅴ无码中文字幕| 日本三级精品| 另类综合视频| 成人一级免费视频| 激情网址在线观看| 免费观看亚洲人成网站| 国产在线观看一区精品| 四虎永久在线精品国产免费| 国产不卡在线看| 午夜啪啪福利| h视频在线观看网站| 好吊日免费视频| www.国产福利| 久久伊伊香蕉综合精品| 国产精品福利一区二区久久| 久久国产精品国产自线拍| 91麻豆国产视频| 日本午夜三级| 日韩高清中文字幕| 国产二级毛片| 99久久国产自偷自偷免费一区| 97人妻精品专区久久久久| 欧美成人精品一级在线观看| 国产成人麻豆精品| 丁香婷婷综合激情| 波多野结衣爽到高潮漏水大喷| 亚洲,国产,日韩,综合一区| 高清无码手机在线观看| 亚洲一级色| 狼友视频一区二区三区| 91精品人妻一区二区| 欧美亚洲一区二区三区导航| 久久久精品国产亚洲AV日韩| 国产高颜值露脸在线观看| 高清亚洲欧美在线看| 日本久久网站| 中文字幕va| 免费观看无遮挡www的小视频| 99视频有精品视频免费观看| 日韩123欧美字幕| 极品私人尤物在线精品首页| 亚洲无码A视频在线| 中文字幕在线不卡视频| 成人在线观看不卡| 亚洲性日韩精品一区二区| 国产97色在线| 国产a网站| 日本AⅤ精品一区二区三区日| 福利视频一区| 在线99视频| 国产97视频在线观看| 免费国产小视频在线观看 | 另类专区亚洲| 高潮爽到爆的喷水女主播视频 | 亚洲精品无码在线播放网站| 亚洲码在线中文在线观看| 久久久久免费精品国产| 国产人成午夜免费看| 一级黄色欧美| jizz国产视频| 国产呦视频免费视频在线观看 | 久久久久久高潮白浆| 丁香五月激情图片| 天堂成人在线| 国产精品极品美女自在线看免费一区二区| 996免费视频国产在线播放| 少妇被粗大的猛烈进出免费视频| av在线手机播放| 欧美日韩亚洲国产主播第一区| 在线观看亚洲精品福利片| 国产丝袜精品| 亚洲无码高清免费视频亚洲| 91精品专区| 亚洲精品动漫在线观看| 欧美国产在线精品17p| 国产精品成人AⅤ在线一二三四| 亚洲欧美人成人让影院| 91小视频在线观看| 亚洲色图另类| 无码福利视频| 免费国产高清精品一区在线| 一级一毛片a级毛片|