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

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

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