chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何基于時(shí)間片論法的任務(wù)調(diào)度模式充分利用MCU的資源

strongerHuang ? 來源:大橙子瘋嵌入式 ? 作者:大橙子瘋嵌入式 ? 2022-12-14 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

背景

時(shí)間片論法不比操作系統(tǒng),操作系統(tǒng)可以通過任務(wù)優(yōu)先級(jí)搶占當(dāng)前正在執(zhí)行的低優(yōu)先級(jí)任務(wù),或者高優(yōu)先級(jí)任務(wù)主動(dòng)睡眠釋放MCU資源以便低優(yōu)先級(jí)的任務(wù)可以正常執(zhí)行;時(shí)間片論法必須等待當(dāng)前任務(wù)執(zhí)行完成后才能執(zhí)行下一個(gè)任務(wù)(中斷除外)。


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


可以看下面的函數(shù)調(diào)度時(shí)長(zhǎng)圖,每個(gè)刻度為200us(以下稱節(jié)拍),調(diào)度單位為1ms,只以200us以上的任務(wù)舉例,方便進(jìn)行理解

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

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

圖中一共有五個(gè)任務(wù)函數(shù),每個(gè)任務(wù)函數(shù)的執(zhí)行時(shí)間不定

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

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

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

任務(wù)4(藍(lán)色)周期為12ms

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

同一時(shí)刻觸發(fā)任務(wù)調(diào)度的執(zhí)行時(shí)的順序(調(diào)度函數(shù)的順序即可任務(wù)默認(rèn)優(yōu)先級(jí)):1>2>3>4>5

第25ms時(shí)任務(wù)1的調(diào)度慢了一個(gè)節(jié)拍,原因是任務(wù)2和4的調(diào)度總時(shí)長(zhǎng)超過了調(diào)度單位時(shí)長(zhǎng)

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

其中存在周期性的幾個(gè)調(diào)度單位大部分時(shí)間處于空跑狀態(tài)

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

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

如何優(yōu)化

在優(yōu)化之前,首先看下面這個(gè)有一定規(guī)律的函數(shù)調(diào)度時(shí)長(zhǎng)圖

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

還是五個(gè)任務(wù),而規(guī)律就是函數(shù)任務(wù)公約數(shù)=最小調(diào)度周期任務(wù),即5ms(假設(shè)小于5ms的任務(wù)大都執(zhí)行時(shí)間非常短,在此可忽略不計(jì))

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

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

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

任務(wù)4(藍(lán)色)周期為10ms

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

圖中所展示的任務(wù)調(diào)度命中率也不高,也存在周期性的幾個(gè)調(diào)度單位大部分時(shí)間處于空跑狀態(tài)

看一下優(yōu)化前后的對(duì)比圖,雖然還是存在大部分時(shí)間處于空跑狀態(tài),但是命中率提高到了100%

只要保證每個(gè)任務(wù)函數(shù)耗時(shí)小于調(diào)度單位,那么就能做到命中率 100%

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

如何實(shí)現(xiàn)的?
從優(yōu)化后的圖中可以了解到,第一個(gè)時(shí)刻調(diào)度的時(shí)候只有任務(wù)1,第二個(gè)時(shí)間調(diào)度只有任務(wù)2,以此類推,就可以在一定程度上避開同一時(shí)刻多個(gè)任務(wù)需要同時(shí)等待調(diào)度,從而引發(fā)的擁堵。

可以通過每個(gè)任務(wù)計(jì)時(shí)器的倒計(jì)時(shí)初值進(jìn)行調(diào)整,從而達(dá)到每個(gè)時(shí)間調(diào)度只運(yùn)行一個(gè)任務(wù)的目的,提高任務(wù)的命中率。

那么接下來按照上面提到的規(guī)律去優(yōu)化剛開始的那個(gè),主要有兩點(diǎn):

在可接受范圍內(nèi)調(diào)整任務(wù)的周期,盡量保證任務(wù)函數(shù)任務(wù)公約數(shù)=最小調(diào)度周期任務(wù)

可以理解稱任務(wù)公約數(shù)等于多少就代表可以在初值上類推多少個(gè)任務(wù)進(jìn)行錯(cuò)開初次執(zhí)行;可以忽略部分函數(shù)耗時(shí)特別短的任務(wù)

調(diào)整每個(gè)任務(wù)倒計(jì)時(shí)器的初值,盡量錯(cuò)開擁堵時(shí)刻

任務(wù)多的情況下只能夠盡量避免,從而提高命中率,通過每個(gè)任務(wù)調(diào)度周期和執(zhí)行時(shí)長(zhǎng)進(jìn)行推算,得到每個(gè)任務(wù)的最佳的初值

根據(jù)以上兩點(diǎn)對(duì)上述調(diào)度任務(wù)進(jìn)行優(yōu)化如下:

五個(gè)任務(wù)函數(shù)在可接受范圍內(nèi)調(diào)整任務(wù)周期后,同時(shí)調(diào)整初值
- 任務(wù)1(黃色)周期為5ms
- 任務(wù)2(紅色)周期為5ms
- 任務(wù)5(紫色)周期為5ms
- 任務(wù)4(藍(lán)色)周期為10ms
- 任務(wù)5(綠色)周期為15ms

得到對(duì)比圖:

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

此次優(yōu)化將充分地利用了每個(gè)時(shí)間片的資源,雖然某一段時(shí)間內(nèi)的空跑時(shí)間總和一樣,但是實(shí)際上將空跑的時(shí)間進(jìn)行了分散,提高了資源的使用率,從而讓每個(gè)任務(wù)的命中率提高到100%。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18948

    瀏覽量

    398805
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67566

原文標(biāo)題:時(shí)間片論法-優(yōu)化方案

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AN5289 使用 STM32WB 系列微控制器構(gòu)建射頻應(yīng)用筆記

    本文檔一步一步地指導(dǎo)設(shè)計(jì)人員基于 STM32WB 系列微控制器構(gòu)建特定 Bluetooth低功耗或802.15.4 應(yīng)用。它匯集了最重要的信息,并且列出了需要處理的方面。為了充分利用本文檔中的信息
    發(fā)表于 01-09 14:13 ?0次下載

    一文說透了如何實(shí)現(xiàn)單片機(jī)的多任務(wù)并發(fā)!

    任務(wù)并發(fā)。 一、任務(wù)調(diào)度 任務(wù)調(diào)度是多任務(wù)并發(fā)中一個(gè)非常重要的概念。它指的是如何在系統(tǒng)中組織和
    發(fā)表于 01-06 06:46

    基于大模型的發(fā)射任務(wù)調(diào)度與過程保障分系統(tǒng)平臺(tái)的應(yīng)用與未來發(fā)展

    ? ? 基于大模型的發(fā)射任務(wù)調(diào)度與過程保障分系統(tǒng)航天智能化升級(jí)核心方案 ? ?北京華盛恒輝大模型的發(fā)射任務(wù)調(diào)度與過程保障分系統(tǒng),是航天領(lǐng)域智能化升級(jí)的核心支撐。該系統(tǒng)憑借多源數(shù)據(jù)融合、
    的頭像 發(fā)表于 12-24 10:36 ?271次閱讀

    深入Linux內(nèi)核:進(jìn)程調(diào)度的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)

    在Linux系統(tǒng)中,進(jìn)程調(diào)度就像一位精明的“CPU管理員”——它決定著哪個(gè)進(jìn)程能優(yōu)先使用CPU,多久切換一次進(jìn)程,如何平衡系統(tǒng)響應(yīng)速度與資源利用率。小到桌面應(yīng)用的流暢點(diǎn)擊,大到服務(wù)器的多任務(wù)
    的頭像 發(fā)表于 12-24 07:05 ?4331次閱讀
    深入Linux內(nèi)核:進(jìn)程<b class='flag-5'>調(diào)度</b>的核心邏輯與實(shí)現(xiàn)細(xì)節(jié)

    大模型驅(qū)動(dòng)的發(fā)射任務(wù)智能調(diào)度分系統(tǒng)軟件平臺(tái)的應(yīng)用與未來發(fā)展

    大模型驅(qū)動(dòng)的發(fā)射任務(wù)智能調(diào)度分系統(tǒng)平臺(tái) ? ?作為航天智能化轉(zhuǎn)型的關(guān)鍵支撐,該平臺(tái)融合多源數(shù)據(jù)、動(dòng)態(tài)資源調(diào)度與大模型智能決策能力,顯著提升發(fā)射任務(wù)
    的頭像 發(fā)表于 12-19 14:50 ?310次閱讀

    嵌入式基礎(chǔ)知識(shí)-系統(tǒng)調(diào)度

    等待的事件發(fā)生。 4、RTOS任務(wù)切換 RTOS(Real Time Operating System),實(shí)時(shí)操作系統(tǒng),指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,調(diào)度一切可利用
    發(fā)表于 12-16 08:15

    后勤資源大模型智能調(diào)度系統(tǒng):功能特點(diǎn)與平臺(tái)架構(gòu)解析

    配置與高效利用,全面提升后勤保障響應(yīng)速度與能力,具體解析如下: ? ?應(yīng)用案例 ? ?目前,已有多個(gè)后勤資源大模型智能調(diào)度系統(tǒng)在實(shí)際應(yīng)用中取得了顯著成效。例如,北京華盛恒輝和北京五木恒潤(rùn)后勤
    的頭像 發(fā)表于 12-15 16:35 ?331次閱讀

    如何在 RTOS 中處理微控制器的低功耗特性

    ,更詳細(xì)的設(shè)計(jì),需要查閱所使用的 RTOS 相關(guān)文檔資料。RTOS 一般采用基于時(shí)間輪轉(zhuǎn)的搶占式任務(wù)調(diào)度機(jī)制,在實(shí)際應(yīng)用過程中,一般的低功耗設(shè)計(jì)思路如下: 當(dāng) Idle
    發(fā)表于 12-12 07:07

    在多任務(wù)系統(tǒng)中,如何平衡任務(wù)調(diào)度以防止因高負(fù)載導(dǎo)致的再次進(jìn)入低功耗模式的延遲?

    在多任務(wù)系統(tǒng)中,如何平衡任務(wù)調(diào)度以防止因高負(fù)載導(dǎo)致的再次進(jìn)入低功耗模式的延遲?
    發(fā)表于 12-04 06:37

    利用DMA如何降低MCU功耗?

    利用DMA(直接內(nèi)存訪問)降低MCU功耗的核心在于最小化CPU介入,通過硬件自動(dòng)完成數(shù)據(jù)傳輸任務(wù),使CPU能盡可能長(zhǎng)時(shí)間處于休眠狀態(tài)。 CPU休眠
    發(fā)表于 11-18 07:34

    freertos關(guān)閉任務(wù)調(diào)度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 關(guān)閉任務(wù)調(diào)度 */ void
    發(fā)表于 11-17 06:47

    通過優(yōu)化代碼來提高MCU運(yùn)行效率

    。 內(nèi)存訪問優(yōu)化 充分利用緩存:如果MCU有Cache,盡量保證代碼和數(shù)據(jù)的局部性,即讓相關(guān)的數(shù)據(jù)在內(nèi)存中連續(xù)存放。 避免內(nèi)存碎片:在動(dòng)態(tài)內(nèi)存分配受限的系統(tǒng)中,盡量使用靜態(tài)分配。 對(duì)齊訪問:保證數(shù)據(jù)在內(nèi)
    發(fā)表于 11-12 08:21

    FreeRTOS任務(wù)調(diào)度及優(yōu)先級(jí)問題

    大家好,最近本人在學(xué)習(xí)FreeRTOS ,之前有過一些裸機(jī)開發(fā)的經(jīng)驗(yàn),目前知道了FreeRTOS的任務(wù)是基于時(shí)間輪轉(zhuǎn)來調(diào)度,也就是知道了任務(wù)
    發(fā)表于 11-06 02:18

    充分利用小型化布線系統(tǒng),實(shí)現(xiàn)空間受限型設(shè)計(jì)

    作者:Kenton Williston 投稿人:DigiKey 北美編輯 隨著電子系統(tǒng)體積的不斷縮小和功能越來越密集,設(shè)計(jì)人員面臨著確保可靠互連的挑戰(zhàn)。這一點(diǎn)在工業(yè)、醫(yī)療、軍事以及航空航天領(lǐng)域尤為突出。在這些領(lǐng)域,不僅要求連接器結(jié)構(gòu)緊湊,而且能夠承受振動(dòng)、熱循環(huán)和其他應(yīng)力。為應(yīng)對(duì)這些挑戰(zhàn),設(shè)計(jì)人員需要那種兼具可靠性和空間效率的緊湊型互連解決方案。 本文將探討此類互連的關(guān)鍵要求,包括端子密度、可靠的配接機(jī)制、耐熱性以及信號(hào)和功率大小。然
    的頭像 發(fā)表于 10-04 18:20 ?1547次閱讀
    <b class='flag-5'>充分利用</b>小型化布線系統(tǒng),實(shí)現(xiàn)空間受限型設(shè)計(jì)

    利用MCU/SoC的工作范圍實(shí)現(xiàn)低功耗

    想進(jìn)一步降低功耗!但又不想犧牲產(chǎn)品性能……特瑞仕針對(duì)此問題的解決方案是“充分利用MCU/SoC的工作范圍進(jìn)行功耗優(yōu)化”。
    的頭像 發(fā)表于 08-04 11:22 ?1160次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>MCU</b>/SoC的工作范圍實(shí)現(xiàn)低功耗