- 相關(guān)推薦
適應(yīng)實(shí)時(shí)多任務(wù)的微控制器高效指令支持
摘要:開(kāi)發(fā)高效的實(shí)時(shí)多任務(wù)微控制器系統(tǒng),除了采用高速器件之外,適當(dāng)?shù)闹噶钪С帜芎?jiǎn)化控制結(jié)構(gòu),減少程序代碼,增強(qiáng)實(shí)時(shí)響應(yīng)能力。本文提出了一些適應(yīng)實(shí)時(shí)多任務(wù)的微控制器高效指令功能設(shè)計(jì)。關(guān)鍵詞:微控制器 實(shí)時(shí)多任務(wù) 指令
微控制器系統(tǒng)即國(guó)內(nèi)通常所稱的單片機(jī)系統(tǒng),主要用于物理設(shè)備的接口和直接控制。雖然控制邏輯相對(duì)微處理機(jī)系統(tǒng)而言比較簡(jiǎn)單,但由于多數(shù)情況下需要實(shí)時(shí)響應(yīng),而且經(jīng)常要同時(shí)處理多個(gè)對(duì)象的協(xié)同工作,因此,不僅對(duì)程序的運(yùn)行效率有較高的要求,還要求微控制器具備較強(qiáng)的多任務(wù)處理能力。另一方面,由于量大面廣,以及具體應(yīng)用條件的限制,希望微控制器的成本要低;而這又只有在微控制器的硬件結(jié)構(gòu)相對(duì)簡(jiǎn)單的前提下才能實(shí)現(xiàn),這就限制了微控制器的指令、程序代碼空間以及數(shù)據(jù)存儲(chǔ)容量。在這樣的局面中,想要實(shí)現(xiàn)較高的運(yùn)行效率,就只有加強(qiáng)微控制器指令的功能和靈活性。
至今,絕大多數(shù)微控制器程序的編制仍使用匯編語(yǔ)言,其優(yōu)缺點(diǎn)已眾所周知。隨著硬件技術(shù)的發(fā)展,器件的性能價(jià)格比顯著提高,各種面向嵌入式應(yīng)用的微控制器系統(tǒng)模塊向商品化發(fā)展。微控制器系統(tǒng)的成本中,軟件比例不斷增加,使用高級(jí)語(yǔ)言編制微控制器應(yīng)用系統(tǒng)的軟件是必然的趨勢(shì);而且微控制器中能進(jìn)行算術(shù)運(yùn)行和邏輯運(yùn)算的運(yùn)算器結(jié)構(gòu)、可以直接與數(shù)據(jù)總線交換數(shù)據(jù)并進(jìn)行關(guān)系運(yùn)算的單元個(gè)數(shù)、間址訪問(wèn)的能力等因素,將直接影響高級(jí)語(yǔ)言生成機(jī)器代碼的難易程度。為完成某一運(yùn)算,不能只計(jì)算運(yùn)算本身所需的時(shí)間,還要考慮建立本處理環(huán)境所需的時(shí)間、取運(yùn)算對(duì)象與保存運(yùn)算結(jié)果的輔助操作時(shí)間、以及所占用的指令空間。簡(jiǎn)言之,要考慮所有影響6代碼效率和運(yùn)行效率的因素。
轉(zhuǎn)移控制指令是直接影響程序運(yùn)行的,但其前提是狀態(tài)檢測(cè)或者關(guān)系運(yùn)算的結(jié)果;而狀態(tài)檢測(cè)需要位尋址能力的支持,關(guān)系運(yùn)算又必須訪問(wèn)兩個(gè)對(duì)象,所以,位尋址能力、數(shù)據(jù)訪問(wèn)能力、數(shù)據(jù)訪問(wèn)方式都與程序的運(yùn)行效率有關(guān)。根據(jù)作者多年編制實(shí)時(shí)應(yīng)用程序的體會(huì),針對(duì)實(shí)時(shí)多任務(wù)應(yīng)用,就高效率的微控制器數(shù)據(jù)訪問(wèn)能力、方式與轉(zhuǎn)移控制指令設(shè)計(jì)而言,應(yīng)具備以下四方面性能。
1.指令的關(guān)系運(yùn)算能力
關(guān)系運(yùn)算是控制程序轉(zhuǎn)移的前提,其運(yùn)算能力由兩個(gè)方面組成:一是運(yùn)算功能;二是運(yùn)算單元數(shù)目。
在8位機(jī)系統(tǒng)中,運(yùn)算功能一般都支持無(wú)符號(hào)的大于、小于、等于、不等于比較;在16位機(jī)系統(tǒng)中,還應(yīng)支持有符號(hào)的比較,并且要求有多個(gè)運(yùn)算單元都支持關(guān)系運(yùn)算。如果常用的一些功能單元個(gè)數(shù)較少,則當(dāng)進(jìn)程切換時(shí),要花費(fèi)時(shí)間置換資源。假如微控制器中只有一個(gè)寄存器能進(jìn)行關(guān)系運(yùn)算,必須經(jīng)常進(jìn)行中間結(jié)果的換位存取。這些額外操作的代價(jià)是指令數(shù)目與運(yùn)行時(shí)間的增加,那將極大地影響程序運(yùn)行效率。例如,要根據(jù)兩個(gè)關(guān)系運(yùn)算的結(jié)果決定處理策略,首先,要將第一次關(guān)系運(yùn)算的邏輯結(jié)果保存起來(lái),可能還需要保留運(yùn)算后的數(shù)據(jù)結(jié)果,再裝入第二次需要的運(yùn)算對(duì)象。其最小代價(jià)是多中用一條指令的存儲(chǔ)空間和一次裝入所需的運(yùn)算時(shí)間,而且沒(méi)有任何的額外收益。此外,多任務(wù)運(yùn)行時(shí)將頻繁產(chǎn)生中斷,在中斷服務(wù)程序中,必須騰出運(yùn)算器,又要多占用一個(gè)堆?臻g來(lái)保存斷中數(shù)據(jù),以及一次進(jìn)棧、一次出棧的兩條指令的存儲(chǔ)空間和運(yùn)行時(shí)間。這些都是在微控制器應(yīng)用系統(tǒng)中的寶貴資源,因此,這樣的微控制器是不適應(yīng)實(shí)時(shí)多任務(wù)系統(tǒng)應(yīng)用的。現(xiàn)在,許多微控制器都采用寄存器組的結(jié)構(gòu),每一個(gè)寄
[1] [2] [3] [4]
【適應(yīng)實(shí)時(shí)多任務(wù)的微控制器高效指令支持】相關(guān)文章:
基于LabWindows的實(shí)時(shí)多任務(wù)加載總控臺(tái)軟件設(shè)計(jì)04-28
綜合化測(cè)井地面系統(tǒng)實(shí)時(shí)多任務(wù)采集軟件的設(shè)計(jì)與開(kāi)發(fā)04-28
智能槳葉的實(shí)時(shí)模型與復(fù)合自適應(yīng)振動(dòng)控制04-26
初中生的社會(huì)支持與學(xué)校適應(yīng)的關(guān)系04-26
自適應(yīng)指數(shù)平滑法預(yù)測(cè)遙測(cè)數(shù)據(jù)實(shí)時(shí)趨勢(shì)研究04-27
低齡留學(xué):孩子適應(yīng)異國(guó)文化需要家長(zhǎng)的支持04-28
聽(tīng)指令作文10-30
什么是微控制器類型04-26
小班語(yǔ)言聽(tīng)指令教案01-13
原型范疇與間接指令04-29