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