新四季網

面向嵌入式實時作業系統的功耗控制方法及系統的製作方法

2023-10-23 09:23:12 1

專利名稱:面向嵌入式實時作業系統的功耗控制方法及系統的製作方法
技術領域:
本發明涉及嵌入式作業系統設計與實現技術領域,更具體地說,涉及一種面向嵌 入式實時作業系統的功耗控制方法及系統。
背景技術:
隨著計算機技術的迅猛發展和網際網路技術的廣泛應用,嵌入式系統(Embedded System)發揮著越來越重要的作用,它被廣泛應用於製造工業、過程控制、通信、儀器、儀表、 汽車、船舶、航空航天、軍事裝備、消費類產品等方面。嵌入式系統是一種專用計算機系統, 它以應用為中心,以計算機技術為基礎,軟體硬體可裁減,適應應用系統對功能、可靠性、成 本、體積、功耗等方面的嚴格要求。正因為嵌入式系統的應用領域日益擴大,功能需求也逐漸增長,促使人們在嵌入 式系統中引入嵌入式作業系統,而具有實時性的嵌入式作業系統就是嵌入式作業系統中的 一個分支。對於嵌入式實時作業系統來說,除了需要滿足實際應用功能需求外,更重要的是 還需要滿足實際應用對實時性的要求。對於作業系統來說,最重要的是要在一定時間限制 下,調動一切可利用的軟硬體資源來完成實時控制任務。嵌入式實時作業系統由於受到應 用的需要和硬體條件的限制,具有可固態化、體積小、高效、高可靠性、高實時性等特點。嵌入式實時作業系統的實時性和多任務能力在很大程度上取決於它的任務調度 算法。從調度方式上來講,可分為可搶佔式調度和不可搶佔式(即合作式)調度。在搶佔式(I^eemptive)調度中,目前正在運行的任務可以被別的更緊迫和更重 要的任務中斷。同時,被搶佔的任務在未來可以恢復運行,且不會影響到任務的整體時限約 束。搶佔式調度的優點是比較靈活,其任務級的響應時間得以最優化,資源的利用率比較 高,但由於經常出現的上下文切換(ContextSwitch)使得其系統開銷較大,可預測性比較 低。而非搶佔式調度,即合作式(Cooperative)調度,不允許正在運行的任務被別的 任務中斷,任務一旦佔有了處理器便會一直運行直至完成。比較適合於任務運行時間都比 較短的系統。其優點是省去了進行上下文切換的開銷,在任意時刻只有一個任務是活動的, 而且該任務運行直到完成,具有更好的可預測性,可靠性,更易於測試,但調度沒有搶佔式 調度那樣靈活,對資源的利用率也相對較低。而在很多情況下,嵌入式系統需要在有限的能量消耗下完成儘量多的任務,工作 儘量長的時間,因此對嵌入式系統採用一些低功耗節能的方法是十分有必要的。除了一些 硬體設計及代碼優化上的手段之外,在作業系統層面,通常是採用功率調節的方法。具體來 講,就是通過在作業系統執行過程中,根據執行的任務負載、截止時間等情況,在保證任務 及時完成的情況下,改變系統的執行頻率及工作電壓,達到節省能耗的目的。又因為硬體資源條件的限制,對嵌入式系統的工作頻率及電壓,不能夠做到線性 的調節,因此只能有針對性的設置一系列離散的電壓和頻率組合,滿足不同任務對處理速 度的需求。
大多數當前的作業系統低功耗策略往往都是通過與任務相關的一系列參數,採用 離線或者在線的方式,對就緒或者執行中的任務進行功耗的調節。這些基於實時作業系統的低功耗策略在任務調度上各有不同,但是都沒有在低功 耗調節的前提下,做到對任務時間的精確追蹤以及補償,使得執行任務的時間精確度有限。 如果在調度時採用低功耗的操作,就不可避免的引入時間漂移,導致實時作業系統的時間 精確程度下降。

發明內容
本發明要解決的技術問題在於,針對現有技術在低功耗調度任務時影響實時性的 缺陷,提供一種時間精確度高且功耗低的面向嵌入式實時作業系統的功耗控制方法及系 統。本發明解決其技術問題所採用的技術方案是提供一種面向嵌入式實時作業系統的功耗控制方法,包括任務調度前資源配置和 任務調度,所述任務調度包括Si、比較所有就緒任務的優先級,選擇優先級最高的任務作為將要執行的任務;S2、根據任務屬性判斷將要執行的所述任務是否可執行低功耗操作若是,按照低功耗模式執行所述任務,追蹤所述任務的實際執行時間;若否,根據用戶設置執行所述任務,追蹤所述任務的實際執行時間;S3、查找補償時間表,對產生的時間漂移進行補償。本發明面向嵌入式實時作業系統的功耗控制方法中,所述低功耗模式包括根據所述任務的最壞情況下的工作量、任務開始時間、任務截止時間以及與操作 系統相關的常數計算低功耗策略下的任務執行速度;將所述任務執行速度與預先設置的速度模式進行比較,選取在保證任務完成的前 提下,能夠實現最低執行速度的一組工作電壓和頻率的配對;根據所選工作電壓和頻率調節執行所述任務的速度。本發明面向嵌入式實時作業系統的功耗控制方法中,所述任務的最壞情況下的工 作量的計算方法包括根據執行速度計算任務最壞執行時間;通過預設的工作量估算模型,根據工作電壓、工作頻率、任務最壞執行時間以及與 作業系統相關的常數計算所述任務的工作量。本發明面向嵌入式實時作業系統的功耗控制方法中,步驟Sl還包括判斷任務類 型,若所述任務是合作式任務,則對所述任務進行中斷保護,即屏蔽所述任務執行過程中的 所有中斷。本發明面向嵌入式實時作業系統的功耗控制方法中,還包括有中斷產生時,判斷 正在執行的所述任務的類型若所述任務為合作式任務,繼續執行所述任務,並將所述中斷對應的中斷任務作 為就緒任務列入就緒表中;若所述任務為搶佔式任務,比較所述任務與所述中斷的優先級,若所述任務的優 先級較高,繼續執行所述任務,並將所述中斷任務作為就緒任務列入就緒表中。
5
本發明面向嵌入式實時作業系統的功耗控制方法中,當所述任務為搶佔式任務 時,若所述中斷的優先級較高保存當前執行的所述任務的上下文以及當前已經執行時間;切換所述中斷任務為將要執行的任務;判斷所述中斷任務是否可執行低功耗操作,若是,根據所述中斷任務的工作量、中 斷任務開始時間、中斷任務截止時間以及與作業系統相關的常數計算低功耗策略下的中斷 任務執行速度,並比較所述中斷任務執行速度和當前任務執行速度,判斷是否需要更改任 務執行速度,若否,則保持當前任務執行速度執行所述中斷任務,並追蹤所述中斷任務的執行 時間;若是,則將所述中斷任務執行速度與預先設置的速度模式進行比較,選取在保證 中斷任務完成的前提下,能夠實現最低執行速度的一組工作電壓和頻率的配對,根據所選 工作電壓和頻率調節執行所述中斷任務的速度,追蹤所述中斷任務的執行時間,並對所述 中斷任務進行時間補償;中斷任務執行完後,恢復被中斷任務的上下文,繼續執行被中斷任務,並追蹤隨後 所述被中斷任務的執行時間。本發明面向嵌入式實時作業系統的功耗控制方法中,所述繼續執行被中斷任務包 括根據被打斷前所述被中斷任務已經被執行的時間計算任務剩餘的工作量;根據所述中斷任務的實際執行完畢時間和所述被中斷任務的截止時間計算所述 被中斷任務的實際可用時間;根據所述被中斷任務的剩餘工作量和實際可用時間判斷並調節任務執行速度,繼 續執行所述被中斷任務。本發明面向嵌入式實時作業系統的功耗控制方法中,所述任務調度前資源配置具 體包括創建任務;根據預設的分類方式將任務進行分類,所述分類方式包括基於關鍵程度和/或基 於執行時間需求;建立並初始化就緒表;建立並初始化優先級判定表;建立並初始化中斷優先級表;安裝時鐘節拍中斷。本發明面向嵌入式實時作業系統的功耗控制方法中,還包括任務執行完畢後,更新所述任務的執行時間,並根據所述任務的截止時間和實際 執行時間計算任務空閒時間。本發明還提供一種面向嵌入式實時作業系統的功耗控制系統,包括任務結構體,用於存儲與任務相關的信息,所述信息包括任務類型、任務執行時 間、任務空閒時間、任務優先級、任務執行模式;就緒表,用於存儲當前就緒的任務;
任務選擇模塊,用於根據所述任務結構體中存儲的任務相關信息在所述就緒表中 選擇將要執行的任務;執行模式選擇模塊,用於根據所述任務結構體中存儲的任務相關信息為將要執行 的任務選擇執行模式,所述執行模式包括低功耗模式、高速模式和常規模式;任務執行模塊,用於利用所述執行模式選擇模塊所選的執行模式並根據所述任務 結構體中存儲的任務相關信息選擇執行速度來執行所述任務;定時器,用於在所述任務執行模塊執行所述任務時追蹤任務執行時間;時間補償模塊,用於根據補償時間表對任務執行模塊切換執行速度時產生的時間 漂移進行補償。本發明面向嵌入式實時作業系統的功耗控制方法及系統的有益效果為通過選擇 性利用低功耗操作以及實時追蹤並更新任務執行時間,不僅實現了對任務執行過程中的功 耗控制,節省了能量資源,還提高了時間精度。


下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是根據本發明一個實施例的面向嵌入式實時作業系統的功耗控制方法的流 程圖;圖2是根據本發明另一個實施例的面向嵌入式實時作業系統的調度前資源配置 方法的流程圖;圖3是根據本發明第一實施例的單一搶佔式任務低功耗處理示意圖;圖4是根據本發明第二實施例的包含中斷任務的低功耗處理示意圖;圖5是根據本發明第三實施例的包含分支任務的低功耗處理示意圖;圖6是根據本發明第四實施例的同等優先級輪轉調度的低功耗處理示意圖;圖7是根據本發明一個實施例的面向嵌入式實時作業系統的功耗控制系統的結 構示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並 不用於限定本發明。本發明的各種實施例提供了一種面向嵌入式實時作業系統的功耗控制方法。該方 法包括任務調度前資源配置和任務調度。其中,任務調度前資源配置包括創建任務;根據 預設的分類方式將任務進行分類,分類方式包括基於關鍵程度和/或基於執行時間需求; 建立並初始化就緒表;建立並初始化優先級判定表;建立並初始化中斷優先級表;安裝時 鍾節拍中斷。開始任務調度時,首先比較所有就緒任務的優先級,選擇優先級最高的任務作為 將要執行的任務。然後根據任務屬性判斷將要執行的任務是否可執行低功耗操作,若是, 按照低功耗模式執行該任務,追蹤該任務的實際執行時間並實時更新該任務的任務執行時 間;若否,根據用戶設置執行該任務,追蹤該任務的實際執行時間並實時更新該任務的任務執行時間。調節任務執行速度後,查找補償時間表,對產生的時間漂移進行補償。圖1是根據本發明一個實施例的面向嵌入式實時作業系統的功耗控制方法的流 程圖。在本實施例中,面向嵌入式實時作業系統的功耗控制方法開始於步驟Si。在步驟Sl中,比較所有就緒任務的優先級,選擇優先級最高的任務作為將要執行 的任務。其中,每個就緒任務的優先級都可以記錄在優先級判定表中以便於比較它們的優 先級。在步驟S2中,根據任務結構體中存儲的相關參數判斷將要執行的任務是否可執 行低功耗操作,若是,按照低功耗模式執行該任務,追蹤該任務的實際執行時間並實時更新 該任務的任務執行時間;若否,根據用戶設置執行該任務,追蹤該任務的實際執行時間並實 時更新該任務的任務執行時間。例如,若該任務為緊急任務或必須立即完成的關鍵任務,則 該任務不可執行低功耗操作,根據用戶設置,可以按照高速模式(最快速度)或常規模式 (常規速度)執行該任務。又例如,可以先估算該任務的工作量,判定以低功耗操作時是否 可以在截止時間前完成該任務,若是,就可以對該任務執行低功耗操作。其中,執行低功耗操作可以包括如下步驟根據任務的最壞情況下的工作量、任務 開始時間、任務截止時間以及與作業系統相關的常數計算低功耗策略下的任務執行速度; 將任務執行速度與預先設置的速度模式進行比較,選取在保證任務完成的前提下,能夠實 現最低執行速度的一組工作電壓和頻率的配對;根據所選工作電壓和頻率調節執行該任務 的速度。但是,執行低功耗操作的方法並不受限於此,而可以包括任意合適的降低功耗來執 行任務的方法,例如預先設置至少一個低功耗速度,根據該任務的工作量、開始時間和截止 時間判斷按照哪個低功耗速度執行。另外,該任務的工作量的計算可以在任務調度前的資源配置時進行,也可以在步 驟S2中進行。計算該任務在最壞情況下的工作量的方法可以包括如下步驟根據執行速度 計算任務最壞執行時間;通過預設的工作量估算模型,根據工作電壓、工作頻率、任務最壞 執行時間以及與系統相關的常數計算該任務的工作量。但是,計算工作量的方法並不受限 於此,而可以包括任意合適的表示工作內容多少的方法,例如可以根據一定執行速度下的 執行時間來表示該任務的工作量。在步驟S3中,調節任務執行速度後,查找補償時間表,對產生的時間漂移進行補 償。例如,補償時間表可以是一個二維數組,預先根據作業系統不同的操作,通過示波器等 測量工具對操作過程中所消耗的時間的值進行外部測量,並將數據保存在補償時間表中, 這些時間值在系統的運行過程中是不便於進行實時統計與計算的,但是不進行統計的話, 會使後續任務產生時間上的誤差累積,影響任務調度時的時間精確度。例如在任務執行速 度切換的操作過程中,系統需要採取變頻變壓操作,此時系統時鐘是處於停止狀態,這個狀 態下,定時器是無法正常工作的,因此無從得知該操作所消耗的精確時間。所以當任務的執 行速度切換完畢後,按照任務操作過程的不同,通過查找二維數組對應項所預先保存的值, 就可以找到系統時鐘停止時消耗的具體時間,並在後續任務執行中對這部分時間進行時間 補償,達到減小時間誤差的目的。在實際情況中,不同頻率下的速度切換,因為涉及到不同 的電壓和頻率變化,因此系統時鐘在期間的停止時間是不同的,因此按照切換前後不同的 任務執行速度,就從補償時間表中獲得對應的時間。本發明一種面向嵌入式實時作業系統的功耗控制方法,不僅實現了對各種任務的低功耗混合調度,節省了能量,還利用時間補償提高了實時作業系統的時間精確度。圖2是根據本發明一個實施例的任務調度前資源配置方法的流程圖。在本實施例 中,對任務進行資源配置的方法開始於步驟201。在步驟201中,創建任務,包括創建任務 結構體。任務結構體用於存儲任務屬性,例如任務執行時間、任務的最壞工作量、任務類型 等。每執行一個任務後,需要根據定時器的計數對該任務的執行時間進行更新以提高時間 精度。在步驟202中,將任務歸類,即確定任務所屬任務類型。根據任務建立時的任務狀 態及優先級的定義,按照任務是否屏蔽中斷,是否可以進行低功耗操作等不同執行方式進 行分類。首先在建立任務時,根據任務的關鍵程度,及任務執行時間長度等等,將任務分為 執行時間短,不可被打斷的關鍵任務;執行時間長度不確定,可以被打斷的任務;執行時間 長度不確定,不可以被打斷的任務;執行時間長,不需要嚴格在截止時間前執行完畢的任務 等。其中關鍵任務也可能是由應用程式的關鍵段代碼構成,這樣將應用程式拆分為不同環 節,方便任務調度與任務管理。然後離線對需要執行的任務進行工作量的估算,任務執行時 間長度以任務的最壞執行時間長度為準。將任務分類可以方便此後的任務調度。例如,根據 任務分類情況,在作業系統進行任務調度時,可以對關鍵的短期任務採用中斷保護的方式, 使其不響應中斷,同時按預先設置的最高運行速度執行該任務,而中斷會等到該任務執行 完畢,中斷屏蔽打開後,再同任務就緒表中的任務進行優先級比較判定,確定下一個待執行 的任務,這樣保證了在執行關鍵的合作式任務時,有較高的時間精確度和可靠性。又例如, 可以在有中斷產生時判斷正在執行的任務的類型,以確定是否可以打斷該程序的執行。在步驟203中,建立並初始化就緒表、優先級判定表、中斷優先級表。就緒表中列 有所有就緒的、待執行的任務,優先級判定表中按順序列有所有任務的優先級,中斷優先級 表中列有所有中斷的優先級。每執行或創建一次任務後,都需要更新這些列表,例如刪除已 執行任務,添加已創建任務。當然,這些列表並不是必須的,還可以將就緒信息、優先級信息 等保存在每個任務的任務結構體中,每次執行任務前均進行比較。在步驟204中,安裝時鐘節拍中斷。本發明採用的作業系統任務調度主要是通過 時鐘節拍中斷程序進行,每次時鐘節拍中斷程序的運行都是重新進行任務調度的時機,而 低功耗的調度主要是在任務調度的基礎之上判定進行。圖3是根據本發明第一實施例的單一搶佔式任務低功耗處理示意圖。如圖3所 示,Cl為合作式任務,P2為搶佔式任務,其中一般將合作式任務設置為不能被打斷的關鍵 任務。在本實施例中,執行完合作式任務Cl後,比較所有就緒任務的優先級,選出優先級最 高的就緒任務P2作為將要執行的任務。然後,離線估算該任務的工作量。工作量的估算標準可以由用戶或供應商預先設 置,這些估算標準可以包括基於最壞執行時間(即截止時間內完成任務的最長時間)的標 準、基於一定執行速度的標準等。在圖3所示的實施例中,是基於執行Cl時的速度(即當 前執行速度)來估算任務P2的工作量(P2的工作量如圖3中虛線框所示)。在估算工作量之前或估算工作量之後,還可以判斷將要執行的任務的類型。任務 類型可以包括搶佔式任務、合作式任務、有分支任務、無分支任務、關鍵任務、非關鍵任務和 /或其任意組合。其中,搶佔式任務指可以被中斷打斷的任務,合作式任務指不能被中斷打 斷的任務,有分支任務指包含條件判斷語句的任務(根據條件判斷得到的不同情況,執行不同的語句,因此這類具有分支條件的任務其完成時間是不確定的),無分支條件的任務指 不包含條件判斷語句的任務(即該任務的完成時間是確定的),關鍵任務指必須以高速模 式(最高執行速度)執行的任務,非關鍵任務指可以執行低功耗操作的任務。對於合作式 任務,可以採用中斷屏蔽的方式對該任務進行中斷保護(即在執行該任務的過程中,對任 何中斷均不予處理),再執行速度判斷,選擇執行模式(例如低功耗模式、高速模式或常規 模式)。對於不採用低功耗操作的關鍵任務,就可以直接跳過任務執行速度判定的步驟,直 接進行任務調度。在本實施例中,將要執行的任務P2為搶佔式任務,即當有中斷產生時,該 任務可能會被打斷。接下來,對任務P2進行執行速度判定,即判斷是否可以對該任務進行低功耗操 作。例如,根據工作量、任務類型等進行判斷。若不能執行低功耗操作,則根據用戶設置選擇 執行模式,例如高速模式(最高執行速度)、常規模式(一般執行速度)或不變速模式(延 續上一任務的執行速度)等。若可以執行低功耗操作,則進入低功耗模式(如圖3中P2的 實線框所示)。執行低功耗操作的過程如下通過任務結構體,找到任務所對應的任務最壞 情況下的工作量m,結合任務開始時刻t,以及截至時刻t』,配合參數常量c,得到低功耗策 略下任務執行速度ν = cm/(t』-t)。將任務執行速度與預先設置的幾個速度模式進行比較, 選取在保證任務完成的前提下,所能實現最低執行速度的一組電壓與頻率的配對。之後嵌 入式系統根據選取的電壓與頻率進行任務執行速度的調節。不論採用哪種工作模式,在開 始執行任務時,立即啟動定時器追蹤任務的執行時間,並在調節執行速度後查找補償時間 表,在隨後的操作中對產生的時間漂移進行時間補償。在本實施例中,執行P2的過程中沒有中斷產生或中斷的優先級沒有P2的優先級 高,因此P2順利執行完畢。執行完P2後,停止定時器的計時,利用定時器的計數更新P2的 任務結構體中存儲的P2的執行時間。在就緒表中刪除P2,並進入下一任務的執行周期。圖4是根據本發明第二實施例的包含中斷任務的低功耗處理示意圖。如圖4所示, Cl為合作式任務,P2為搶佔式任務,Pl為中斷任務。在本實施例中,執行完合作式任務Cl 後,比較所有就緒任務的優先級,選出優先級最高的就緒任務P2作為將要執行的任務。然後,離線估算該任務的工作量。在圖4所示的實施例中,是基於執行Cl時的速 度(即當前執行速度)來估算任務P2的工作量(P2的工作量如圖4中P2的虛線框所示)。在估算工作量之前或估算工作量之後,還可以判斷將要執行的任務的類型。在本 實施例中,將要執行的任務P2為搶佔式任務,即當有中斷產生時,該任務可能會被打斷。接下來,對任務P2進行執行速度判定,即判斷是否可以對該任務進行低功耗操 作。在本實施例中,任務P2可以執行低功耗操作,因此進入低功耗模式(如圖4中P2的實 線框所示)。在開始執行任務時,立即啟動定時器追蹤任務的執行時間,並在調節執行速度 後查找補償時間表,在隨後的操作中對產生的時間漂移進行時間補償。在執行過程中,產生中斷P1,判斷中斷Pl的中斷優先級是否高於任務P2的優先 級,根據情況選擇是否進入中斷流程。若否,繼續按如圖3所示的過程執行任務P2,並將該 中斷列入就緒表以便執行完任務P2後繼續判斷是否執行中斷任務P1。若是,保存任務P2 當前執行情況的上下文(例如當前執行速度、當前執行時間、已執行時間等),並切換中斷 任務Pl作為將要執行的任務。對於中斷任務P1,同樣按照上述任務調度過程來執行。即估 算Pl的工作量或根據預先估算的工作量判斷是否進行執行速度調節和/或是否執行低功耗操作。例如,判斷中斷Pl是否可執行低功耗操作,若是,根據中斷Pl對應的中斷任務的 工作量、中斷任務開始時間、中斷任務截止時間以及與作業系統相關的常數計算低功耗策 略下的中斷任務執行速度;若否則根據用戶設置選擇執行模式(例如高速模式、常規模式 等)。無論採用哪種執行模式,都要比較該中斷任務執行速度和當前任務執行速度,判斷是 否需要更改任務執行速度,若否則保持當前任務執行速度執行中斷任務P1,若是則根據所 選執行模式中預設的速度進行速度切換,執行該中斷P1。執行中斷Pi前,定時器清零後重 新開始計時,切換速度後採用查找補償時間表的方法對產生的時間漂移進行補償。Pl執行完畢後,恢復被中斷任務P2的上下文,根據被打斷前被中斷任務P2已經被 執行的時間計算任務剩餘的工作量。然後根據中斷任務Pi的實際執行完畢時間和被中斷 任務P2的截止時間計算被中斷任務P2的實際可用時間。再根據被中斷任務P2的剩餘工 作量和實際可用時間判斷並調節任務執行速度,繼續執行被中斷任務P2。繼續執行P2時, 定時器清零並重新開始計時,執行完P2後,停止定時器的計時,利用打斷前和打斷後定時 器的計數和更新P2的任務結構體中存儲的P2的執行時間。在就緒表中刪除P2,並進入下 一任務的執行周期。圖5是根據本發明第三實施例的包含分支任務的低功耗處理示意圖。如圖5所 示,Cl為合作式任務,P2為搶佔式任務,Pl為中斷任務,其中中斷Pl又屬於包含分支的任 務。包含分支條件的任務是指任務中包含條件判斷語句,根據條件判斷得到的不同情況,執 行不同的語句,因此這類具有分支條件的任務其完成時間是不確定的。在本實施例中,執行 完合作式任務Cl後,比較所有就緒任務的優先級,選出優先級最高的就緒任務P2作為將要 執行的任務。然後,離線估算該任務的工作量。在估算工作量之前或估算工作量之後,還可以判 斷將要執行的任務的類型。在本實施例中,將要執行的任務P2為搶佔式任務,即當有中斷 產生時,該任務可能會被打斷。接下來,對任務P2進行執行速度判定,即判斷是否可以對該任務進行低功耗操 作。在本實施例中,任務P2可以執行低功耗操作,因此進入低功耗模式(如圖5中P2的 實線框所示),使其在任務截至時間之前,能夠以低功耗的方式執行任務。在開始執行任務 時,立即啟動定時器追蹤任務的執行時間,並在調節執行速度後查找補償時間表,在隨後的 操作中對產生的時間漂移進行時間補償。在P2執行的過程中,搶佔式任務Pl產生了中斷,通過比較兩個任務的優先級情 況,選擇Pl優先執行。此時對任務Pl的工作量(以最壞完成情況來計算)以及任務P2的 剩餘工作量進行預估,看是否能夠滿足截止時間前完成調度,如果不能,則優先級較低的任 務P2不能進行調度,須等待高優先級任務Pl執行完畢後,再對P2採用放棄操作或者重新 安排就緒等方式進行新的調度。如圖5所示,任務PI、P2均滿足調度的情況,按照Pl的最壞執行時間WCET對Pl 的任務工作量進行預估,如圖5中斜槓虛框任務就是預估後PI、P2任務的執行情況。但是 由於Pl是具有分支語句的任務,則任務Pl可能提前完成,此時刻到任務P2的截止時刻的 時間遠遠多於之前的預估,因此需要對任務P2所剩餘工作量的執行速度重新進行估算及 調整執行速度,實線框中的Pl及P2就是任務根據實際完成情況最終所採取的任務執行速 度。
在圖5所示的實施例中,其它處理過程與圖4類似。圖6是根據本發明第四實施例的同等優先級輪轉調度的低功耗處理示意圖。如圖 6所示,P1、P2為同等優先級的任務。在本實施例中,對於同等優先級的任務多個任務(例 如Pl和P2),根據這些任務截止時間上的不同,在保證截止時間優先的任務完成的前提下, 首先將同等優先級下的多個任務合併工作量,然後進行任務合併後的任務速度判定,選擇 合適的時間片進行同等優先級輪轉調度。當截止時間優先的任務完成後,再根據任務的屬 性,判斷是否需要再次執行任務執行速度判定,然後對同等優先級下的下一個即將到達截 止時間的任務進行類似處理,直至分別在每個任務的截止時間前完成所有任務。進行任務 調度的其它處理過程與圖3所示方法類似。圖3-6分別描述了本發明的一些實施例,但這僅僅用於解釋本發明,而不用於限 制本發明。在本發明的各種實施例中,可以包含上述各種實施例的變化和/或其組合。例 如,任務執行完畢後,可以更新該任務的執行時間,並根據該任務的截止時間和實際執行時 間計算任務空閒時間,為下一個可以進行低功耗調度的任務執行速度提供比較準確的判斷 依據。圖7是根據本發明一個實施例的面向嵌入式實時作業系統的功耗控制系統的結 構示意圖。在本實施例中,混合調度系統包括任務結構體710、就緒表720、任務選擇模塊 730、執行模式選擇模塊740、任務執行模塊750、定時器760和時間補償模塊770。任務結構體710用於存儲與任務相關的信息。這些信息可以包括任務類型、任務 執行時間、任務空閒時間、任務優先級、任務執行模式等。就緒表720用於存儲當前就緒的任務,每次執行完一次任務或創建一個新任務 後,都要對就緒表720進行更新,即就緒表將刪除已執行完的任務,添加新創建的已就緒任 務。任務選擇模塊730用於根據任務結構體中存儲的任務相關信息選擇將要執行的 任務,例如根據任務結構體中存儲的優先級信息。執行模式選擇模塊740用於根據任務結構體中存儲的任務相關信息為將要執行 的任務選擇執行模式。執行模式包括低功耗模式、高速模式和常規模式。在低功耗模式中, 以預設的較低速度執行該任務。在高速模式中,以硬體許可的最高速度執行該任務。在常 規模式中,以常規速度(即低於高速模式且高於低速模式的速度)執行該任務。任務執行模塊750用於根據所選執行模式並根據任務結構體中存儲的任務相關 信息選擇合適的執行速度執行所選任務。例如選擇低功耗模式後,任務執行模塊750可以 根據任務的最壞情況下的工作量、任務開始時間、任務截止時間以及與作業系統相關的常 數計算低功耗策略下的任務執行速度,將任務執行速度與預先設置的速度模式進行比較, 選取在保證任務完成的前提下,能夠實現最低執行速度的一組工作電壓和頻率的配對,最 後根據所選工作電壓和頻率調節執行該任務的速度。任務執行模塊750還可以對合作式任 務採用中斷保護措施,例如進行中斷屏蔽。任務執行模塊750還可以在中斷產生並打斷正 在執行的搶佔式任務時保存正在執行任務的上下文,並執行中斷。定時器760用於在任務執行模塊750執行任務時追蹤任務執行時間。任務的執行 時間由定時器進行追蹤。這裡定時器所追蹤到的執行時間以任務實際完成時間為準。這個 實際的完成時間為後續低功耗操作提供了比任務工作量估算更為準確的參考依據。在執行任務時,首先採用使能的定時器在任務的開始時刻計數,在任務的結束時刻將計數信息保 存在任務的結構體中,供後續調度判斷使用。同時對於任務執行時間長度不確定的任務,在 每次任務執行完成之後,對於該任務的執行時間進行更新,並根據其截至時間和實際完成 時間之差,得到實際的任務空閒時間。下一個就緒任務則根據這個任務空閒時間及任務本 身的截止時間,在之後的調度判斷操作中選擇合適的執行速度運行任務。時間補償模塊770用於根據補償時間表對任務執行模塊切換執行速度時產生的 時間漂移進行補償。任務在執行速度調節的過程中,因為涉及到電壓和頻率的變動,系統時 鍾會與時鐘源斷開,等待鎖相環穩定後才重新連接,此過程中系統時鐘是處於停止狀態,因 此需要在後續調度中對損失的時間進行補償。為了保證作業系統進行調度操作時有足夠的 精確度,任務在進行電壓頻率調節等操作後,會對這些操作所消耗的時間進行一個精確的 補償。補償的時間根據操作的不同從補償時間表中查找而得。本發明對於沒有分支條件的任務,可以有效的進行估算,避免實時工作量估算時 造成的系統資源佔用和動態誤差。對於一些有分支條件存在或者需要知道任務實時完成的 情況,採用定時器跟蹤的方式,對任務的實際執行時間進行參數更新。還根據任務完成的最 後期限,以及任務的實際執行情況,計算出任務執行後的空餘情況,為下一個可以進行低功 耗調度的任務執行速度提供比較準確的判斷依據。另外,本發明在系統進行電壓和頻率切 換等操作後,對產生的時間漂移採用查表法進行補償。本發明對於每個新建立的任務,根據 任務建立時的任務狀態及優先級的定義,按照任務是否屏蔽中斷,是否可以進行低功耗操 作等不同執行方式進行分類。本發明還離線對任務按照任務最壞執行時間、在一定的工作 電壓和頻率下以及一些和系統相關的常數,通過建立的工作量估算的模型,得到任務工作 量。本發明的任務執行時間由定時器進行追蹤。這裡定時器所追蹤到的執行時間以任務實 際完成時間為準。這個實際的完成時間為後續低功耗操作提供了比任務工作量估算更為準 確的參考依據。本發明通過將任務分類與低功耗操作結合起來,對混合調度作業系統的不同種類 任務採取不同的策略,得到一種低功耗調度方法。該低功耗調度方法既保留了系統的高可 預測性和可靠性,也滿足了一定的實時響應能力,在保證關鍵任務高速完成的條件下,有效 控制了系統開銷,達到了充分利用系統資源的目的。雖然本發明是通過具體實施例進行說明的,本領域技術人員應當明白,在不脫離 本發明範圍的情況下,還可以對本發明進行各種變換及等同替代。另外,針對特定情形或材 料,可以對本發明做各種修改,而不脫離本發明的範圍。因此,本發明不局限於所公開的具 體實施例,而應當包括落入本發明權利要求範圍內的全部實施方式。
權利要求
1.一種面向嵌入式實時作業系統的功耗控制方法,包括任務調度前資源配置和任務調 度,其特徵在於,所述任務調度包括S1、比較所有就緒任務的優先級,選擇優先級最高的任務作為將要執行的任務;S2、根據任務屬性判斷將要執行的所述任務是否可執行低功耗操作若是,按照低功耗模式執行所述任務,追蹤所述任務的實際執行時間;若否,根據用戶設置執行所述任務,追蹤所述任務的實際執行時間;S3、查找補償時間表,對產生的時間漂移進行補償。
2.根據權利要求1所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,所 述低功耗模式包括根據所述任務的最壞情況下的工作量、任務開始時間、任務截止時間以及與作業系統 相關的常數計算低功耗策略下的任務執行速度;將所述任務執行速度與預先設置的速度模式進行比較,選取在保證任務完成的前提 下,能夠實現最低執行速度的一組工作電壓和頻率的配對;根據所選工作電壓和頻率調節執行所述任務的速度。
3.根據權利要求2所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,所 述任務的最壞情況下的工作量的計算方法包括根據執行速度計算任務最壞執行時間;通過預設的工作量估算模型,根據工作電壓、工作頻率、任務最壞執行時間以及與操作 系統相關的常數計算所述任務的工作量。
4.根據權利要求1所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,步 驟Sl還包括判斷任務類型,若所述任務是合作式任務,則對所述任務進行中斷保護,即屏 蔽所述任務執行過程中的所有中斷。
5.根據權利要求1所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,還 包括有中斷產生時,判斷正在執行的所述任務的類型若所述任務為合作式任務,繼續執行所述任務,並將所述中斷對應的中斷任務作為就 緒任務列入就緒表中;若所述任務為搶佔式任務,比較所述任務與所述中斷的優先級,若所述任務的優先級 較高,繼續執行所述任務,並將所述中斷任務作為就緒任務列入就緒表中。
6.根據權利要求5所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,當 所述任務為搶佔式任務時,若所述中斷的優先級較高保存當前執行的所述任務的上下文以及當前已經執行時間;切換所述中斷任務為將要執行的任務;判斷所述中斷任務是否可執行低功耗操作,若是,根據所述中斷任務的工作量、中斷任 務開始時間、中斷任務截止時間以及與作業系統相關的常數計算低功耗策略下的中斷任務 執行速度,並比較所述中斷任務執行速度和當前任務執行速度,判斷是否需要更改任務執 行速度,若否,則保持當前任務執行速度執行所述中斷任務,並追蹤所述中斷任務的執行時間;若是,則將所述中斷任務執行速度與預先設置的速度模式進行比較,選取在保證中斷任務完成的前提下,能夠實現最低執行速度的一組工作電壓和頻率的配對,根據所選工作 電壓和頻率調節執行所述中斷任務的速度,追蹤所述中斷任務的執行時間,並對所述中斷 任務進行時間補償;中斷任務執行完後,恢復被中斷任務的上下文,繼續執行被中斷任務,並追蹤隨後所述 被中斷任務的執行時間。
7.根據權利要求6所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,所 述繼續執行被中斷任務包括根據被打斷前所述被中斷任務已經被執行的時間計算任務剩餘的工作量; 根據所述中斷任務的實際執行完畢時間和所述被中斷任務的截止時間計算所述被中 斷任務的實際可用時間;根據所述被中斷任務的剩餘工作量和實際可用時間判斷並調節任務執行速度,繼續執 行所述被中斷任務。
8.根據權利要求1所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,所 述任務調度前資源配置具體包括創建任務;根據預設的分類方式將任務進行分類,所述分類方式包括基於關鍵程度和/或基於執 行時間需求;建立並初始化就緒表; 建立並初始化優先級判定表; 建立並初始化中斷優先級表; 安裝時鐘節拍中斷。
9.根據權利要求1所述的面向嵌入式實時作業系統的功耗控制方法,其特徵在於,還 包括任務執行完畢後,更新所述任務的執行時間,並根據所述任務的截止時間和實際執行 時間計算任務空閒時間。
10.一種面向嵌入式實時作業系統的功耗控制系統,其特徵在於,包括任務結構體,用於存儲與任務相關的信息,所述信息包括任務類型、任務執行時間、任 務空閒時間、任務優先級、任務執行模式; 就緒表,用於存儲當前就緒的任務;任務選擇模塊,用於根據所述任務結構體中存儲的任務相關信息在所述就緒表中選擇 將要執行的任務;執行模式選擇模塊,用於根據所述任務結構體中存儲的任務相關信息為將要執行的任 務選擇執行模式,所述執行模式包括低功耗模式、高速模式和常規模式;任務執行模塊,用於利用所述執行模式選擇模塊所選的執行模式並根據所述任務結構 體中存儲的任務相關信息選擇執行速度來執行所述任務;定時器,用於在所述任務執行模塊執行所述任務時追蹤任務執行時間; 時間補償模塊,用於根據補償時間表對任務執行模塊切換執行速度時產生的時間漂移 進行補償。
全文摘要
本發明公開了一種面向嵌入式實時作業系統的功耗控制方法及系統。所述方法包括任務調度前資源配置和任務調度,所述任務調度包括S1、比較所有就緒任務的優先級,選擇優先級最高的任務作為將要執行的任務;S2、根據任務屬性判斷將要執行的所述任務是否可執行低功耗操作若是,按照低功耗模式執行所述任務,追蹤所述任務的實際執行時間;若否,根據用戶設置執行所述任務,追蹤所述任務的實際執行時間;S3、查找補償時間表,對產生的時間漂移進行補償。本發明通過選擇性利用低功耗操作以及實時追蹤並更新任務執行時間,不僅控制了任務調度過程中的功耗,節省了能量資源,還提高了時間精度。
文檔編號G06F1/32GK102135906SQ20111006647
公開日2011年7月27日 申請日期2011年3月18日 優先權日2011年3月18日
發明者馮然, 黃強 申請人:深圳市民德電子科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀