女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何基于時間片論法的任務調度模式充分利用MCU的資源

strongerHuang ? 來源:大橙子瘋嵌入式 ? 作者:大橙子瘋嵌入式 ? 2022-12-14 09:52 ? 次閱讀

本文介紹如何基于時間片論法的任務調度模式充分利用MCU的資源,姑且先稱這種方式為時間片差分調度法。

充分利用MCU的資源指的是在不影響原有的函數調度情況下合理進行分配,避免MCU大部分時間處于空跑狀態(即大部分時間沒有調度任何的功能函數,只是在不停地判斷時間狀態,從而造成的資源浪費),同時提高每個任務的調度周期的命中率(按時準點執行)

背景

時間片論法不比操作系統,操作系統可以通過任務優先級搶占當前正在執行的低優先級任務,或者高優先級任務主動睡眠釋放MCU資源以便低優先級的任務可以正常執行;時間片論法必須等待當前任務執行完成后才能執行下一個任務(中斷除外)。


因此,由于時間片論法的特性,很難保證某些任務能夠及時得到調度運行,特別是所需要的調度任務多的情況下,常常出現不能及時調度的問題(雖然整體調度周期不變),從而影響所需要的功能,常見的做法可能通過定時中斷觸發的方式去執行,可是碰到一些任務函數執行時間稍微長的就會影響中斷的響應等。


可以看下面的函數調度時長圖,每個刻度為200us(以下稱節拍),調度單位為1ms,只以200us以上的任務舉例,方便進行理解

152885c0-7b4e-11ed-8abf-dac502259ad0.png

從上述圖中可知以下信息:

圖中一共有五個任務函數,每個任務函數的執行時間不定

任務1(黃色)周期為5ms

任務2(紅色)周期為6ms

任務5(紫色)周期為5ms

任務4(藍色)周期為12ms

任務5(綠色)周期為15ms

同一時刻觸發任務調度的執行時的順序(調度函數的順序即可任務默認優先級):1>2>3>4>5

第25ms時任務1的調度慢了一個節拍,原因是任務2和4的調度總時長超過了調度單位時長

除了任務1大部分時間都能及時被調度,其他任務并不能被及時調度,雖然周期不變,但命中率不高(甚至等于0)

其中存在周期性的幾個調度單位大部分時間處于空跑狀態

…等其他仔細觀察的可知信息,這里就不多說了

從獲取的信息可知,大部分任務雖然整體周期沒變,但是幾乎很少有低優先級的任務有較高的命中率,這樣就導致某些功能需要較高的命中率同時執行時間相對較長(不能放在中斷中的任務函數)就不能正常工作。

如何優化

在優化之前,首先看下面這個有一定規律的函數調度時長圖

153f5660-7b4e-11ed-8abf-dac502259ad0.png

還是五個任務,而規律就是函數任務公約數=最小調度周期任務,即5ms(假設小于5ms的任務大都執行時間非常短,在此可忽略不計)

任務1(黃色)周期為5ms

任務2(紅色)周期為10ms

任務5(紫色)周期為20ms

任務4(藍色)周期為10ms

任務5(綠色)周期為20ms

圖中所展示的任務調度命中率也不高,也存在周期性的幾個調度單位大部分時間處于空跑狀態

看一下優化前后的對比圖,雖然還是存在大部分時間處于空跑狀態,但是命中率提高到了100%

只要保證每個任務函數耗時小于調度單位,那么就能做到命中率 100%

184bbe7a-7b4e-11ed-8abf-dac502259ad0.png

如何實現的?
從優化后的圖中可以了解到,第一個時刻調度的時候只有任務1,第二個時間調度只有任務2,以此類推,就可以在一定程度上避開同一時刻多個任務需要同時等待調度,從而引發的擁堵。

可以通過每個任務計時器的倒計時初值進行調整,從而達到每個時間調度只運行一個任務的目的,提高任務的命中率。

那么接下來按照上面提到的規律去優化剛開始的那個,主要有兩點:

在可接受范圍內調整任務的周期,盡量保證任務函數任務公約數=最小調度周期任務

可以理解稱任務公約數等于多少就代表可以在初值上類推多少個任務進行錯開初次執行;可以忽略部分函數耗時特別短的任務

調整每個任務倒計時器的初值,盡量錯開擁堵時刻

任務多的情況下只能夠盡量避免,從而提高命中率,通過每個任務調度周期和執行時長進行推算,得到每個任務的最佳的初值

根據以上兩點對上述調度任務進行優化如下:

五個任務函數在可接受范圍內調整任務周期后,同時調整初值
- 任務1(黃色)周期為5ms
- 任務2(紅色)周期為5ms
- 任務5(紫色)周期為5ms
- 任務4(藍色)周期為10ms
- 任務5(綠色)周期為15ms

得到對比圖:

185b6fa0-7b4e-11ed-8abf-dac502259ad0.png

此次優化將充分地利用了每個時間片的資源,雖然某一段時間內的空跑時間總和一樣,但是實際上將空跑的時間進行了分散,提高了資源的使用率,從而讓每個任務的命中率提高到100%。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17841

    瀏覽量

    360461
  • 函數
    +關注

    關注

    3

    文章

    4371

    瀏覽量

    64204

原文標題:時間片論法-優化方案

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    MCU上Flash

    ? ? MCU上Flash是微控制器內部集成的非易失性存儲器,主要用于存儲程序代碼、常量數據及系統配置信息。其核心特性與功能如下: 一、定義與類型? 上Flash采用浮柵晶體管技術,具備斷電數據
    的頭像 發表于 05-06 14:26 ?192次閱讀

    如何利用MES系統進行產能分析呢?

    利用MES系統進行產能分析是一個涉及數據收集、處理、分析和結果呈現的全過程。對生產過程加以監控,充分利用MES數據采集分析,實現監控生產全階段,消除生產過程不可控問題。
    的頭像 發表于 02-21 12:10 ?326次閱讀
    如何<b class='flag-5'>利用</b>MES系統進行產能分析呢?

    Amphitrite借助NVIDIA Earth-2平臺優化船舶航線

    作為 NVIDIA 初創加速計劃的成員,這家初創公司幫助船舶充分利用洋流和 AI 的力量,通過 NVIDIA Earth-2 平臺縮短航行時間并減少碳排放。
    的頭像 發表于 02-14 10:04 ?427次閱讀

    基于Flexus X加速MySQL鏡像搭建XXL-JOB任務調度平臺

    平臺,展示如何利用 Flexus X 的高性能特性提升任務調度的效率和穩定性。通過詳細的步驟和配置,幫助大家可以快速掌握在 Flexus X 上部署和運行 XXL-JOB 的方法,并將其應用于實際項目中。
    的頭像 發表于 12-29 15:45 ?393次閱讀
    基于Flexus X加速MySQL鏡像搭建XXL-JOB<b class='flag-5'>任務</b><b class='flag-5'>調度</b>平臺

    基于恩智浦 MCX N947 MCU 通過 NPU 實現 AI 咖啡膠囊識別方案

    本方案充分利用了恩智浦(NXP)高性能微控制器(MCU)MCX N947 集成的神經網絡處理單元(NPU)的強大性能,旨在開發一款具有真正智能化識別能力的 AI 咖啡膠囊識別的咖啡機。 通過
    的頭像 發表于 12-18 13:43 ?649次閱讀
    基于恩智浦 MCX N947 <b class='flag-5'>MCU</b> 通過 NPU 實現 AI 咖啡膠囊識別方案

    智慧實驗室管理平臺

    不清晰的挑戰,導致無法充分利用現有資源,增加了測試成本和時間消耗。因此,經緯恒潤基于多年測試管理經驗,推出了智慧實驗室管理平臺,旨在解決汽車行業測試業務中現存的諸多痛點。
    的頭像 發表于 12-16 16:15 ?879次閱讀
    智慧實驗室管理平臺

    充分利用Spectrum AWG運行模式:序列模式引領波形輸出新高度

    任意波形發生器(AWG)的一個重要功能點是,它們可以生成幾乎無限數量種的波形形狀,而AWG的運行模式控制了這些波形輸出的方式。 在這篇應用筆記中,我們將探討如何高效利用TS-M4i.66xx系列
    的頭像 發表于 12-03 11:10 ?582次閱讀
    <b class='flag-5'>充分利用</b>Spectrum AWG運行<b class='flag-5'>模式</b>:序列<b class='flag-5'>模式</b>引領波形輸出新高度

    安川電機充分利用NVIDIA Isaac推進自動化

    豐田、安川電機、7&I 控股和 Rikei 引入數字孿生與工業 AI,掀起新一輪數字化浪潮。
    的頭像 發表于 11-19 14:19 ?668次閱讀

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統

    開發板支持的 AMP 方案如下: 該方案能夠同時滿足實時應用和非實時應用的需求。某些任務可以運行在 Linux 分區,充分利用 Linux 豐富的社區資源和驅動支持。而對于那些對系統實時性和穩定性要求更高
    發表于 11-01 10:31

    【「大模型時代的基礎架構」閱讀體驗】+ 未知領域的感受

    ?如何構建無限擴展的算力平臺?如何運維運營AI算力平臺,讓平臺資源得到充分利用變成利潤中心?我非常想知道這些問題的答案,好奇之心再次點燃,帶著這份好奇去學習一定會有更多的收獲。
    發表于 10-08 10:40

    混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統

    支持的 AMP 方案如下: 該方案能夠同時滿足實時應用和非實時應用的需求。某些任務可以運行在 Linux 分區,充分利用 Linux 豐富的社區資源和驅動支持。而對于那些對系統實時性和穩定性要求更高
    發表于 09-18 10:54

    INA199如何解讀和利用電流感應放大器的輸出擺幅規格,以便我能夠充分利用電流測量結果?

    INA199如何解讀和利用電流感應放大器的輸出擺幅規格,以便我能夠充分利用電流測量結果?
    發表于 08-07 07:07

    如何利用AI進行提升自我呢?

    利用AI進行學習是一個高效且富有創新性的過程。以下是一些建議,幫助你充分利用AI進行學習: 選擇適合的AI學習工具 : 深度學習框架 :如飛槳(PaddlePaddle)框架,它提供了豐富的API
    的頭像 發表于 07-19 10:46 ?1056次閱讀

    異構混訓整合不同架構芯片資源,提高算力利用

    的解決方案。通過混合使用多種異構芯片,可以充分利用不同芯片的優勢,提高算力利用率,降低算力成本,并推動AI技術的廣泛應用。 ? 異構混訓能夠整合不同架構芯片資源 ? 在2024年世界人工智能大會AI基礎設施論壇上,無問芯穹聯合創
    的頭像 發表于 07-18 00:11 ?4063次閱讀

    充分利用東芝 TB67H450FNG 實現電機控制需求

    在當今快速發展的技術環境中,高效且可靠的電機控制對于各種應用來說都是至關重要的,無論是工業機械還是消費電子產品。東芝的 TB67H450FNG,一款PWM斬波型直流有刷電機驅動器,以其高電壓和大電流驅動能力脫穎而出,能夠滿足這些需求。本文將深入探討 TB67H450FNG 的特點、優勢和實際應用,旨在吸引潛在客戶,并說明為何該電機驅動器應成為您電機控制的首選。 ? 主要特點和優勢 高電壓和電流處理能力TB67H450FNG 設計用于處理高達 50V 的輸出電壓和
    的頭像 發表于 07-05 13:15 ?1511次閱讀
    <b class='flag-5'>充分利用</b>東芝 TB67H450FNG 實現電機控制需求