電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>硬件實時操作系統(tǒng)信號量管理的設計解析

硬件實時操作系統(tǒng)信號量管理的設計解析

2017-10-31 | rar | 0.8 MB | 次下載 | 1積分

資料介紹

隨著嵌入式技術的發(fā)展,實時操作系統(tǒng)RTOS(Real Time Operating System)被越來越多地應用在嵌入式系統(tǒng)中,但是對現(xiàn)有基于軟件實現(xiàn)的RTOS,單純依靠改進調度算法已經(jīng)不能使系統(tǒng)的實時性有很大提高。為提高系統(tǒng)的響應能力,國內外一些研究機構提出RTOS硬化的方法,并開始做這方面的研究工作[1]。目前,軟件硬化常用的有兩種方法:(1)微程序方式,特點是成本較低,方便靈活;(2)組合邏輯方式,特點是速度快、可靠性高,隨著大規(guī)模集成電路的發(fā)展,這種方式逐漸顯示出優(yōu)越性[2]。信號量管理是RTOS中頻繁運行的程序段之一,如果將這一部分用硬件實現(xiàn),對提高機器的速度將有很明顯的效果。本文采用組合邏輯方式參照μC/OS-II將信號量管理及ECB管理硬化到一片芯片上,作為獨立的模塊與處理器并行工作。
  1 信號量管理的工作原理
  μC/OS-II中信號量主要數(shù)據(jù)結構由兩部分組成:(1)信號量的計數(shù)值Cnt。當數(shù)值為正時用于記錄可使用的資源數(shù),當數(shù)值為負,其絕對值表示等待當前信號量的任務個數(shù);(2)等待該信號量的任務列表。信號量的基本數(shù)據(jù)結構需要申請一個ECB來存儲。一個任務或ISR可以通過ECB向另外的任務發(fā)信號,一個任務可以等待另一個任務或中斷服務子程序給它發(fā)送信號,多個任務可同時等待同一個事件的發(fā)生[3]。當事件發(fā)生后,等待該事件的優(yōu)先級最高的任務進入就緒狀態(tài),觸發(fā)一次任務調度[3]。任務或者中斷服務子程序都可以給ECB發(fā)信號,對ECB進行操作。
  信號量管理的工作原理框圖如圖1所示。信號量管理模塊以及事件控制塊管理都是獨立于CPU的邏輯結構,都可以直接從數(shù)據(jù)總線上獲得數(shù)據(jù)信息進行處理,在信號量管理模塊與ECB的存儲模塊間建立一條數(shù)據(jù)通路,在不增加總線負擔的情況下加快二者間的通信。這些硬件邏輯獨立于CPU工作,減少了CPU的工作,從而提高系統(tǒng)的響應能力。
  硬件實時操作系統(tǒng)信號量管理的設計解析
  2 信號量管理的硬件設計與實現(xiàn)
  2.1 ECB的設計與實現(xiàn)
  ECB是實現(xiàn)信號量管理的基本數(shù)據(jù)結構,因此在設計實現(xiàn)信號量管理之前,要先完成ECB管理的設計與實現(xiàn)。本系統(tǒng)中ECB的結構參照μC/OS-II中ECB的結構設計。每個ECB存儲單元包含一個EventType(事件類型),用于標記當前ECB被分配給信號量、互斥型信號量、郵箱還是消息隊列;當一個ECB被分配給信號量時,Cnt做為信號量的計數(shù)器;ECB中的等待表lut用于存儲等待當前信號量任務的優(yōu)先級(μC/OS-II中沒有兩個任務有相同的優(yōu)先級)[3]。
  ECB中等待表硬件實現(xiàn)的結構示意圖如圖2所示。等待表的結構類似一個8行8列的矩陣,存儲單元編號從00~77。當一個任務在申請當前信號量而沒有獲得時,應將當前任務設置為等待狀態(tài),令Wr有效,以申請該信號量任務的優(yōu)先級為地址,進行譯碼,選通相應單元后再進行寫1操作。例如,申請該信號量的任務優(yōu)先級Sid為111111時,對其進行譯碼,高三位行地址譯碼為10000000,低三位列地址譯碼為10000000,選中77單元向其寫入1,則優(yōu)先級為111111的任務進入等待狀態(tài)。若要將一個處于等待表中的任務刪除,令De有效,同樣,根據(jù)地址線選通某一存儲單元,向單元內寫0,從而刪除某一處于等待狀態(tài)的任務。在控制電路中設置EventGrp 8位寄存器,用于記錄當前各行中是否有等待任務;如圖2所示,第i行中某一位置為1,EventGrp(i)=1,圖中狀態(tài)EventGrp(7)=1、EventGrp(6)=1、EventGrp(0)=0。Rd有效時,控制電路根據(jù)EventGrp采用一定算法生成優(yōu)先級的高三位;根據(jù)EventGrp讀出某行后生成優(yōu)先級低三位;下一時鐘送出最高優(yōu)先級。以上為對等待表進行基本讀寫操作的過程。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1489次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  3次下載  |  免費
  15. 8基于單片機的紅外風扇遙控
  16. 0.23 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費