[發明專利]基于uC/OS-II的硬件任務管理器有效
| 申請號: | 201210399253.1 | 申請日: | 2012-10-19 |
| 公開(公告)號: | CN102929714A | 公開(公告)日: | 2013-02-13 |
| 發明(設計)人: | 姚艷松;陳靖公;雍太利;朱學海 | 申請(專利權)人: | 國電南京自動化股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 210009 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 uc os ii 硬件 任務 管理器 | ||
技術領域
本發明涉及一種硬件任務管理器,屬于嵌入式操作系統技術領域。
背景技術
uC/OS-II是一種應用廣泛的嵌入式實時操作系統,它采用基于優先級的可剝奪內核,體積小巧,運行效率高。通過進一步研究發現,uC/OS-II內部核心的任務管理系統還有改善的空間。
通過分析uC/OS-II內核源碼可發現,當時鐘中斷到來時,內核需要調用OSTimeTick()函數,進行任務掃描管理,主要過程如下:
1.關閉中斷;
2.如果任務處于阻塞態或延時態,將其延時計數器減1,如果延時計數器為0,則任務進入運行態;
3.開啟中斷。
每次調度時鐘中斷到來,內核需要處理64個任務信息,進行64次中斷關斷開啟操作,進行大量的任務狀態判斷,占用了大量CPU時間,需要數千個CPU處理周期。根據任務數和任務狀態不同,處理時間也不一樣,開啟的任務數量越多,消耗CPU時間也越多,這也增加了內核執行時間的不確定性。
uC/OS-II的任務優先級排序設計的非常精巧,采用一個8x8任務就緒表實現,每次通過查詢就緒表就可以快速找到正在運行的優先級最高的任務,比輪詢操作更方便快捷,但依然需要十幾個CPU處理時間,有改善的空間。
綜上所述,uC/OS-II為了通用性,采用了精巧的任務管理方式,對于特定的使用環境,可以對內核進行修改,以減小內核處理時間,增加內核調度時間確定性,實現更高的性能。
發明內容
本發明所要解決的技術問題是對嵌入式操作系統內核進行改進,以減小內核處理時間,增加內核調度時間確定性,實現更高的性能。
為解決上述技術問題,本發明提供一種基于uC/OS-II的硬件任務管理器,嵌入式操作系統包括CPU和FPGA,CPU與FPGA以總線方式相連,CPU通過地址空間訪問FPGA的寄存器接口,控制硬件任務管理器,其特征在于:在FPGA端設置有硬件任務管理器,硬件任務管理器包括全局管理模塊和任務管理模塊,所述全局管理模塊包括當前最高優先級任務ID寄存器和時鐘脈沖寄存器,所述任務管理模塊有64個,每個uC/OS-II任務對應一個任務管理模塊,每個任務管理模塊包含任務狀態寄存器、阻塞狀態寄存器、阻塞超時結果寄存器和延時計數寄存器,
當前優先級最高任務ID寄存器:讀取當前優先級最高任務ID寄存器可得到當前最高任務的ID,最高任務的ID是由各任務狀態同步編碼得到;
時鐘脈沖寄存器:時鐘脈沖寄存器用于管理各任務狀態,通知任務管理模塊有時鐘到來;
任務狀態寄存器:任務狀態寄存器如果是0,表明任務狀態是掛起態,否則是運行態,CPU直接設置該寄存器,如果延時計數寄存器由1變為0,任務狀態寄存器置為1,表明任務由掛起態進入運行態;
阻塞狀態寄存器:阻塞狀態寄存器為0表明任務進入運行態或延時態,為1為阻塞態,表明任務正在等待信號量或者消息隊列,如果延時計數寄存器由1變為0,阻塞狀態寄存器置為0,表明任務由阻塞態進入運行態;
阻塞超時結果寄存器:如果延時計數寄存器由1變為0,且阻塞狀態寄存器為1,則阻塞超時結果寄存器置為1,表明阻塞超時,否則為0;
延時計數寄存器:通過設置延時計數寄存器,可以在任務延時態時指定任務延時時間,在任務阻塞態時設置任務阻塞等待時間,如果延時計數寄存器不為0,當CPU向時鐘脈沖寄存器寫1時,該寄存器值自動減1。
本發明所達到的有益效果:本發明充分利用FPGA的并行優勢,當時鐘中斷到來時,只需要CPU向時鐘脈沖寄存器寫1,即可完成所有任務運行狀態管理,然后可以立即獲取當前最高優先級任務的ID,將需要耗費CPU數百甚至數千處理周期降低到只需要2個處理周期,與操作系統負載輕重無關,極大提高了操作系統的實時性。
附圖說明
圖1為本發明CPU與FPGA的連接示意圖。
具體實施方式
本發明通過分析uC/OS-II內核,提出了一種硬件任務管理器,以加快內核運行速度。目前大多嵌入式操作系統采用了CPU+FPGA模式,在FPGA端可以方便的實現uC/OS-II任務管理器功能。CPU與FPGA以總線方式相連,CPU通過地址空間訪問FPGA的寄存器接口,控制硬件任務管理器,如圖1所示。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國電南京自動化股份有限公司,未經國電南京自動化股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210399253.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:液力聯接裝置
- 下一篇:一種高鈮鈦鋁金屬間化合物的無污染定向凝固方法





