資料介紹
隨著嵌入式技術(shù)的發(fā)展,實時操作系統(tǒng)RTOS(Real Time Operating System)被越來越多地應(yīng)用在嵌入式系統(tǒng)中,但是對現(xiàn)有基于軟件實現(xiàn)的RTOS,單純依靠改進調(diào)度算法已經(jīng)不能使系統(tǒng)的實時性有很大提高。為提高系統(tǒng)的響應(yīng)能力,國內(nèi)外一些研究機構(gòu)提出RTOS硬化的方法,并開始做這方面的研究工作[1]。目前,軟件硬化常用的有兩種方法:(1)微程序方式,特點是成本較低,方便靈活;(2)組合邏輯方式,特點是速度快、可靠性高,隨著大規(guī)模集成電路的發(fā)展,這種方式逐漸顯示出優(yōu)越性[2]。信號量管理是RTOS中頻繁運行的程序段之一,如果將這一部分用硬件實現(xiàn),對提高機器的速度將有很明顯的效果。本文采用組合邏輯方式參照μC/OS-II將信號量管理及ECB管理硬化到一片芯片上,作為獨立的模塊與處理器并行工作。
1 信號量管理的工作原理
μC/OS-II中信號量主要數(shù)據(jù)結(jié)構(gòu)由兩部分組成:(1)信號量的計數(shù)值Cnt。當(dāng)數(shù)值為正時用于記錄可使用的資源數(shù),當(dāng)數(shù)值為負,其絕對值表示等待當(dāng)前信號量的任務(wù)個數(shù);(2)等待該信號量的任務(wù)列表。信號量的基本數(shù)據(jù)結(jié)構(gòu)需要申請一個ECB來存儲。一個任務(wù)或ISR可以通過ECB向另外的任務(wù)發(fā)信號,一個任務(wù)可以等待另一個任務(wù)或中斷服務(wù)子程序給它發(fā)送信號,多個任務(wù)可同時等待同一個事件的發(fā)生[3]。當(dāng)事件發(fā)生后,等待該事件的優(yōu)先級最高的任務(wù)進入就緒狀態(tài),觸發(fā)一次任務(wù)調(diào)度[3]。任務(wù)或者中斷服務(wù)子程序都可以給ECB發(fā)信號,對ECB進行操作。
信號量管理的工作原理框圖如圖1所示。信號量管理模塊以及事件控制塊管理都是獨立于CPU的邏輯結(jié)構(gòu),都可以直接從數(shù)據(jù)總線上獲得數(shù)據(jù)信息進行處理,在信號量管理模塊與ECB的存儲模塊間建立一條數(shù)據(jù)通路,在不增加總線負擔(dān)的情況下加快二者間的通信。這些硬件邏輯獨立于CPU工作,減少了CPU的工作,從而提高系統(tǒng)的響應(yīng)能力。

2 信號量管理的硬件設(shè)計與實現(xiàn)
2.1 ECB的設(shè)計與實現(xiàn)
ECB是實現(xiàn)信號量管理的基本數(shù)據(jù)結(jié)構(gòu),因此在設(shè)計實現(xiàn)信號量管理之前,要先完成ECB管理的設(shè)計與實現(xiàn)。本系統(tǒng)中ECB的結(jié)構(gòu)參照μC/OS-II中ECB的結(jié)構(gòu)設(shè)計。每個ECB存儲單元包含一個EventType(事件類型),用于標記當(dāng)前ECB被分配給信號量、互斥型信號量、郵箱還是消息隊列;當(dāng)一個ECB被分配給信號量時,Cnt做為信號量的計數(shù)器;ECB中的等待表lut用于存儲等待當(dāng)前信號量任務(wù)的優(yōu)先級(μC/OS-II中沒有兩個任務(wù)有相同的優(yōu)先級)[3]。
ECB中等待表硬件實現(xiàn)的結(jié)構(gòu)示意圖如圖2所示。等待表的結(jié)構(gòu)類似一個8行8列的矩陣,存儲單元編號從00~77。當(dāng)一個任務(wù)在申請當(dāng)前信號量而沒有獲得時,應(yīng)將當(dāng)前任務(wù)設(shè)置為等待狀態(tài),令Wr有效,以申請該信號量任務(wù)的優(yōu)先級為地址,進行譯碼,選通相應(yīng)單元后再進行寫1操作。例如,申請該信號量的任務(wù)優(yōu)先級Sid為111111時,對其進行譯碼,高三位行地址譯碼為10000000,低三位列地址譯碼為10000000,選中77單元向其寫入1,則優(yōu)先級為111111的任務(wù)進入等待狀態(tài)。若要將一個處于等待表中的任務(wù)刪除,令De有效,同樣,根據(jù)地址線選通某一存儲單元,向單元內(nèi)寫0,從而刪除某一處于等待狀態(tài)的任務(wù)。在控制電路中設(shè)置EventGrp 8位寄存器,用于記錄當(dāng)前各行中是否有等待任務(wù);如圖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 信號量管理的工作原理
μC/OS-II中信號量主要數(shù)據(jù)結(jié)構(gòu)由兩部分組成:(1)信號量的計數(shù)值Cnt。當(dāng)數(shù)值為正時用于記錄可使用的資源數(shù),當(dāng)數(shù)值為負,其絕對值表示等待當(dāng)前信號量的任務(wù)個數(shù);(2)等待該信號量的任務(wù)列表。信號量的基本數(shù)據(jù)結(jié)構(gòu)需要申請一個ECB來存儲。一個任務(wù)或ISR可以通過ECB向另外的任務(wù)發(fā)信號,一個任務(wù)可以等待另一個任務(wù)或中斷服務(wù)子程序給它發(fā)送信號,多個任務(wù)可同時等待同一個事件的發(fā)生[3]。當(dāng)事件發(fā)生后,等待該事件的優(yōu)先級最高的任務(wù)進入就緒狀態(tài),觸發(fā)一次任務(wù)調(diào)度[3]。任務(wù)或者中斷服務(wù)子程序都可以給ECB發(fā)信號,對ECB進行操作。
信號量管理的工作原理框圖如圖1所示。信號量管理模塊以及事件控制塊管理都是獨立于CPU的邏輯結(jié)構(gòu),都可以直接從數(shù)據(jù)總線上獲得數(shù)據(jù)信息進行處理,在信號量管理模塊與ECB的存儲模塊間建立一條數(shù)據(jù)通路,在不增加總線負擔(dān)的情況下加快二者間的通信。這些硬件邏輯獨立于CPU工作,減少了CPU的工作,從而提高系統(tǒng)的響應(yīng)能力。

2 信號量管理的硬件設(shè)計與實現(xiàn)
2.1 ECB的設(shè)計與實現(xiàn)
ECB是實現(xiàn)信號量管理的基本數(shù)據(jù)結(jié)構(gòu),因此在設(shè)計實現(xiàn)信號量管理之前,要先完成ECB管理的設(shè)計與實現(xiàn)。本系統(tǒng)中ECB的結(jié)構(gòu)參照μC/OS-II中ECB的結(jié)構(gòu)設(shè)計。每個ECB存儲單元包含一個EventType(事件類型),用于標記當(dāng)前ECB被分配給信號量、互斥型信號量、郵箱還是消息隊列;當(dāng)一個ECB被分配給信號量時,Cnt做為信號量的計數(shù)器;ECB中的等待表lut用于存儲等待當(dāng)前信號量任務(wù)的優(yōu)先級(μC/OS-II中沒有兩個任務(wù)有相同的優(yōu)先級)[3]。
ECB中等待表硬件實現(xiàn)的結(jié)構(gòu)示意圖如圖2所示。等待表的結(jié)構(gòu)類似一個8行8列的矩陣,存儲單元編號從00~77。當(dāng)一個任務(wù)在申請當(dāng)前信號量而沒有獲得時,應(yīng)將當(dāng)前任務(wù)設(shè)置為等待狀態(tài),令Wr有效,以申請該信號量任務(wù)的優(yōu)先級為地址,進行譯碼,選通相應(yīng)單元后再進行寫1操作。例如,申請該信號量的任務(wù)優(yōu)先級Sid為111111時,對其進行譯碼,高三位行地址譯碼為10000000,低三位列地址譯碼為10000000,選中77單元向其寫入1,則優(yōu)先級為111111的任務(wù)進入等待狀態(tài)。若要將一個處于等待表中的任務(wù)刪除,令De有效,同樣,根據(jù)地址線選通某一存儲單元,向單元內(nèi)寫0,從而刪除某一處于等待狀態(tài)的任務(wù)。在控制電路中設(shè)置EventGrp 8位寄存器,用于記錄當(dāng)前各行中是否有等待任務(wù);如圖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)先級。以上為對等待表進行基本讀寫操作的過程。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 開源硬件信號量在行動
- ThreadX(六)------信號量semaphore
- FreeRTOS信號量 & ESP32實戰(zhàn)
- 嵌入式操作系統(tǒng)FreeRTOS的原理與移植實現(xiàn)
- 安全關(guān)鍵的嵌入式實時操作系統(tǒng)內(nèi)核 5次下載
- 解析操作系統(tǒng)的概念、結(jié)構(gòu)和機制 8次下載
- LINUX內(nèi)核的信號量設(shè)計與實現(xiàn) 18次下載
- LINUX內(nèi)核的信號量設(shè)計與實現(xiàn) 5次下載
- uCOS信號量源碼的詳細資料分析 7次下載
- 硬件實時操作系統(tǒng)的設(shè)計 1次下載
- 基于新信號量策略的實時提升技術(shù)分析 0次下載
- BenOS實時操作系統(tǒng)解密 5次下載
- Linux操作系統(tǒng)信號量機制的實時化改造 18次下載
- VXWORKS實時操作系統(tǒng)中信號量用于多任務(wù)同步與互斥的討論
- 嵌入式操作系統(tǒng)的內(nèi)核研究
- 深度解析全球操作系統(tǒng)格局 1268次閱讀
- 詳解實時操作系統(tǒng)和非實時操作系統(tǒng) 4957次閱讀
- FreeRTOS信號量的使用與實例 2696次閱讀
- 什么是實時操作系統(tǒng)(RTOS) 6149次閱讀
- FreeRTOS:一個迷你的實時操作系統(tǒng)內(nèi)核 1015次閱讀
- Free RTOS的互斥信號量 1217次閱讀
- Free RTOS的計數(shù)型信號量 1053次閱讀
- FreeRTOS的二值信號量 1529次閱讀
- freeRTOS中最常用到的信號量有哪些 2233次閱讀
- FreeRTOS信號量使用教程 3264次閱讀
- 淺談鴻蒙內(nèi)核源碼的信號量運作原理 1553次閱讀
- 嵌入式μC/OS-II系統(tǒng)中基于ECB基本存儲單元實現(xiàn)信號量管理的設(shè)計 1380次閱讀
- 對實時操作系統(tǒng)特性的討論 5189次閱讀
- 簡單介紹信號與信號量 9683次閱讀
- 如何安裝實時操作系統(tǒng)RTOS 6275次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關(guān)電源設(shè)計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論