久久九九国产无码高清_人人做人人澡人人人爽_日本一区二区三区中文字幕_日韩无码性爱免费

適應實時多任務的微控制器高效指令支持

時間:2024-07-24 02:24:07 理工畢業(yè)論文 我要投稿
  • 相關推薦

適應實時多任務的微控制器高效指令支持

摘要:開發(fā)高效的實時多任務微控制器系統(tǒng),除了采用高速器件之外,適當?shù)闹噶钪С帜芎喕刂平Y構,減少程序代碼,增強實時響應能力。本文提出了一些適應實時多任務的微控制器高效指令功能設計。

微控制器系統(tǒng)即國內通常所稱的單片機系統(tǒng),主要用于物理設備的接口和直接控制。雖然控制邏輯相對微處理機系統(tǒng)而言比較簡單,但由于多數(shù)情況下需要實時響應,而且經常要同時處理多個對象的協(xié)同工作,因此,不僅對程序的運行效率有較高的要求,還要求微控制器具備較強的多任務處理能力。另一方面,由于量大面廣,以及具體應用條件的限制,希望微控制器的成本要低;而這又只有在微控制器的硬件結構相對簡單的前提下才能實現(xiàn),這就限制了微控制器的指令、程序代碼空間以及數(shù)據(jù)存儲容量。在這樣的局面中,想要實現(xiàn)較高的運行效率,就只有加強微控制器指令的功能和靈活性。

至今,絕大多數(shù)微控制器程序的編制仍使用匯編語言,其優(yōu)缺點已眾所周知。隨著硬件技術的發(fā)展,器件的性能價格比顯著提高,各種面向嵌入式應用的微控制器系統(tǒng)模塊向商品化發(fā)展。微控制器系統(tǒng)的成本中,軟件比例不斷增加,使用高級語言編制微控制器應用系統(tǒng)的軟件是必然的趨勢;而且微控制器中能進行算術運行和邏輯運算的運算器結構、可以直接與數(shù)據(jù)總線交換數(shù)據(jù)并進行關系運算的單元個數(shù)、間址訪問的能力等因素,將直接影響高級語言生成機器代碼的難易程度。為完成某一運算,不能只計算運算本身所需的時間,還要考慮建立本處理環(huán)境所需的時間、取運算對象與保存運算結果的輔助操作時間、以及所占用的指令空間。簡言之,要考慮所有影響6代碼效率和運行效率的因素。

轉移控制指令是直接影響程序運行的,但其前提是狀態(tài)檢測或者關系運算的結果;而狀態(tài)檢測需要位尋址能力的支持,關系運算又必須訪問兩個對象,所以,位尋址能力、數(shù)據(jù)訪問能力、數(shù)據(jù)訪問方式都與程序的運行效率有關。根據(jù)作者多年編制實時應用程序的體會,針對實時多任務應用,就高效率的微控制器數(shù)據(jù)訪問能力、方式與轉移控制指令設計而言,應具備以下四方面性能。

1.指令的關系運算能力

關系運算是控制程序轉移的前提,其運算能力由兩個方面組成:一是運算功能;二是運算單元數(shù)目。

在8位機系統(tǒng)中,運算功能一般都支持無符號的大于、小于、等于、不等于比較;在16位機系統(tǒng)中,還應支持有符號的比較,并且要求有多個運算單元都支持關系運算。如果常用的一些功能單元個數(shù)較少,則當進程切換時,要花費時間置換資源。假如微控制器中只有一個寄存器能進行關系運算,必須經常進行中間結果的換位存取。這些額外操作的代價是指令數(shù)目與運行時間的增加,那將極大地影響程序運行效率。例如,要根據(jù)兩個關系運算的結果決定處理策略,首先,要將第一次關系運算的邏輯結果保存起來,可能還需要保留運算后的數(shù)據(jù)結果,再裝入第二次需要的運算對象。其最小代價是多中用一條指令的存儲空間和一次裝入所需的運算時間,而且沒有任何的額外收益。此外,多任務運行時將頻繁產生中斷,在中斷服務程序中,必須騰出運算器,又要多占用一個堆?臻g來保存斷中數(shù)據(jù),以及一次進棧、一次出棧的兩條指令的存儲空間和運行時間。這些都是在微控制器應用系統(tǒng)中的寶貴資源,因此,這樣的微控制器是不適應實時多任務系統(tǒng)應用的,F(xiàn)在,許多微控制器都采用寄存器組的結構,每一個寄存器都可支持關系運算和簡單的算術運算功能,便于實現(xiàn)高級語言中“局部變量”的特性。其主要優(yōu)點是存儲器的利用率高,數(shù)據(jù)完全性好。這就大大緩解了運算能力的瓶頸。

2.指令的數(shù)據(jù)訪問能力

(1)運算對象的訪問方式

指令對運算對象的訪問方式非常重要。如果同類資源只能使用特定名稱區(qū)分訪問。則處理多進程時,功能相似的程序段必須書寫不同的代碼段。代碼重用性差,這就增加了總代碼長度。所以,間址訪問非常重要,它可以用同樣的程序處理不同的對象,在多任務處理環(huán)境中能顯著提高系統(tǒng)效益。

位信息是二進制中最基本的數(shù)據(jù)?刂葡到y(tǒng)中,經常需要檢測位信息,例如進程的標識、外設的狀態(tài)等。在多任務系統(tǒng)中,各進程將占用不同物理地址的系統(tǒng)資源。這時,指令能否支持間址的位訪問,就大大影響進程之間的切換。如果不支持間址的位訪問,假設有8位信息點,則必須編寫8句直接位檢測的語句來判別,增加了代碼的長度;如果各進程要使用同一個代碼段,必須為各進程置換重用的資源,浪費時間;而如果各進程使用不同的資源,則必須書寫代碼功能相同、僅僅資源不同的代碼,F(xiàn)在常用的微控制器,位間接尋址能力都比較差,編寫程序費時費力,代碼冗長,修改困難。

對于字節(jié)數(shù)據(jù),要求提供既可對數(shù)據(jù)代碼區(qū),又可對程序代碼區(qū)的間址訪問支持。當前常見的微控制器,雖然也提供對程序代碼區(qū)的間址訪問支持,但限于查表操作。應用程序要訪問存放于數(shù)據(jù)內的常數(shù),必須先調用查表程序獲取對象,再將它放入某個工作單元,然后才能開始處理。如果能通過間址直接訪問程序存儲器中的數(shù)據(jù)表,則節(jié)省了時間與空間的開銷。

(2)數(shù)據(jù)描述能力

隨著人工智能、自適應、自學習技術的發(fā)展,參與關系運算的兩個對象經常都是變量,微控制器指令系統(tǒng)的設計必須考慮這一因素。

關系運算的兩個對象,應該支持運算器與立即數(shù)、寄存器、直接尋址或者間接尋址對象的關系運算;而間接尋址對象可以放在數(shù)據(jù)存儲區(qū)中,也可以在程序存儲區(qū)中?紤]到數(shù)組、隊列的運算需要,比較理想的是間址寄存器支持指定次數(shù)循環(huán)或者支持循環(huán)隊列操作。

相對尋址能力;采用一個基指針,再與間址寄存器疊加形成訪問地址。既可訪問程序代碼空間。便于查表操作,用空間資源換取時間,提高非線性運算的處理速度;又可訪問數(shù)據(jù)存儲空間,便于計算機輔助開發(fā)應用程序生成運行代碼中數(shù)據(jù)間址訪問。

3.原子操作指令支持

同步與互斥是多進程必須處理的問題。多進程搶占系統(tǒng)資源時,要先判斷系統(tǒng)資源使用標識。一般用一個位標識,是空閑則占用。這是一種互斥行為,一旦資源被占用,其它進程不得使用。為了避免一個進程檢測到系統(tǒng)資源空閑之后,但在未改變標識位之間,另一個進程也檢測到該資源空閑,必須將檢測與改變標識設計為原子操作。一般,都通過禁止系統(tǒng)中斷來解決。在檢測之前關閉中斷,檢測之后再開啟中斷。如果指令提供對標志位以及對標識字節(jié)的原子操作支持,將減少程序并提高效率。

(1)標識位操作指令

要求對標識位的檢測、清除標識位以及轉移,在一條指令內完成。這在有些微控制器中已有指令支持。

(2)適應信號燈操作的指令

多進程并發(fā)運行時,經常用到信號燈技術。為了適應PV操作等同步與互斥操作,微控制器應提供減一等于某值轉移,以及增一等于某值轉移這樣的指令支持。這樣就可免去信號監(jiān)測前后的關閉、開啟中斷操作,而僅在需要保護臨界區(qū)時才關閉中斷。禁止中斷的時間減少了,相當于系統(tǒng)響應實時事件的能力

【適應實時多任務的微控制器高效指令支持】相關文章:

一種基于比特表的實時多任務新調度算法03-18

基于MSP430單片機的實時多任務操作系統(tǒng)03-18

實時混音的實現(xiàn)03-18

點對多點的多任務無線通信12-05

期貨交易指令的識別與責任確認03-18

微控制器的GPRS無線上網(wǎng)03-18

建立實時企業(yè)的策略分析03-20

遠程實時審計淺探03-24

MPC555微控制器與汽車電子03-18