嵌入式系統(tǒng)中的處理器技術綜述
對于一些設計者來說,甚至這種靈活性還不夠用。他們可以找到某些公司,這些公司擁有可高度定制嵌入式微處理器內核的許可證。利用這類內核,可以開發(fā)出用于特殊目的的新機器級指令。 對于數(shù)字相機處理器而言,一條提高JPEG 圖像壓縮的指令具有很高的價值。 對于MP3音樂播放器來說,一條加速音頻解壓縮的指令具有同樣的用處。然后, 定制的設計被交給“鑄造廠”進行生產 和通用計算機不同,嵌入式系統(tǒng)的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能,這樣才能在具體應用對處理器的選擇面前更具有競爭力。嵌入式處理器要針對用戶的具體需求,對芯片配置進行裁剪和添加才能達到理想的性能;但同時還受用戶訂貨量的制約。因此不同的處理器面向的用戶是不一樣的,可能是一般用戶,行業(yè)用戶或單一用戶。
嵌入式處理器的發(fā)展也體現(xiàn)出穩(wěn)定性,一個體系一般要存在8-10年的時間。一個體系結構及其相關的片上外設、開發(fā)工具、庫函數(shù)、嵌入式應用產品是一套復雜的知識系統(tǒng),用戶和半導體廠商都不會輕易地放棄一種處理器。
2.2 基于嵌入式處理器的嵌入式系統(tǒng)的開發(fā)工具
嵌入式處理器是一個復雜的高技術系統(tǒng),要在短時間內掌握并開發(fā)出所有功能是很不容易的,而市場競爭則要求產品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容易掌握和使用的開發(fā)工具平臺。提高用戶和程序員的時間--投入回報率。面對成百上千種處理器,選擇是一個問題,學習掌握處理器結構及其應用更需要時間,因此以開發(fā)工具和技術咨詢?yōu)榛A的整體解決方案是迫切需要的。好的開發(fā)工具除能夠開發(fā)出處理器的全部功能以外,還應當是對用戶友好的。
目前嵌入式系統(tǒng)的開發(fā)工具平臺主要包括下面幾類:
① 實時在線仿真系統(tǒng)ICE(In-CircuitEmulator)
在計算機輔助設計非常發(fā)達的今天,實時在線仿真系統(tǒng)(ICE)仍是進行嵌入式應用系統(tǒng)調試最有效的開發(fā)工具。ICE首先可以通過實際執(zhí)行,對應用程序進行原理性檢驗,排除人的思維難以發(fā)現(xiàn)的設計邏輯錯誤。ICE的另一個主要功能是在應用系統(tǒng)中仿真微控制器的實時執(zhí)行,發(fā)現(xiàn)和排除由于硬件干擾等引起的異常執(zhí)行行為。此外,高級的ICE帶有完善的跟蹤功能,可以將應用系統(tǒng)的實際狀態(tài)變化、微控制器對狀態(tài)變化的反應、以及應用系統(tǒng)
對控制的響應等以一種錄像的方式連續(xù)記錄下來,以供分析,在分析中優(yōu)化控制過程。很多機電系統(tǒng)難以建立一個精確有效的數(shù)字模型,或是建立模型需要大量人力,這時采用ICE的跟蹤功能對系統(tǒng)進行記錄和分析是一個快而有效的方法。
嵌入式應用的特點是和現(xiàn)實世界中的硬件系統(tǒng)有關,存在各種異變和事先未知的變化,這就給微控制器的指令執(zhí)行帶來了各種不確定性,這種不確定性只有通過ICE的實時在線仿真器才能發(fā)現(xiàn),特別是在分析可靠性時要在同樣條件下多次仿真,以發(fā)現(xiàn)偶然出現(xiàn)的錯誤。
ICE不僅是軟件硬件排錯工具,同時也是提高和優(yōu)化系統(tǒng)性能指標的工具。高檔ICE工具(如美國NOHAU公司的產品)是可根據(jù)用戶投資裁剪功能的系統(tǒng), 亦可根據(jù)需要選擇配置各種檔次的實時邏輯跟蹤器(Trace)、實時映象存儲器(Shadow RAM)及程序效率實時分析功能(PPA)。
?、?高級語言編譯器(Compiler Tools)
C語言作為一種通用的高級語言,大幅度提高了嵌入式系統(tǒng)工程的工作效率,充分發(fā)揮出嵌入式處理器日益提高的性能,縮短產品進入市場時間。另外,C語言便于移植和修改,使產品的升級和繼承更迅速。更重要的是采用C語言編寫的程序易于在不同的開發(fā)者之間進行交流,從而促進了嵌入式系統(tǒng)開發(fā)的產業(yè)化。
區(qū)別于一般計算機中的C語言編譯器,嵌入式系統(tǒng)中的C語言編譯器要專門進行優(yōu)化,以提高編譯效率。優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時間僅比以匯編語言編寫的同樣功能程度長5-20%。編譯效率的不同,是區(qū)別嵌入式系統(tǒng)C編譯器之間性能差別的重要根據(jù)之一。而C編譯器殘余的5-10%效率差別,完全可以由現(xiàn)代微控制器的高速度、大存儲器空間以及產品提前進入市場來彌補。
新型的微控制器指令速度不斷提高,存儲器空間也相應加大,已經達到甚至超過了目前的通用計算機中的微處理器,為嵌入式系統(tǒng)工程采用過去一直不敢問津的C+ +語言創(chuàng)造了條件。C++語言強大的類、繼承等功能更便于實現(xiàn)復雜的程序功能。但是C++語言為了支持復雜的語法,在代碼生成效率方面不免有所下降。為此,1995年初在日本成立的Embedded C++技術委員會經過幾年的研究,針對嵌入式應用制訂了減小代碼尺寸的EC++標準。EC++保留了C++的主要優(yōu)點,提供對C++的向上兼容性,并滿足嵌入式系統(tǒng)設計的一些特殊要求。在嵌入式高級語言編譯器方面處于領先地位的Tasking公司,是EC++技術委員會成員之一,也是最先推出EC++產品的公司。
C/C++/EC++引入嵌入式系統(tǒng),使得嵌入式開發(fā)和個人計算機、小型機等之間在開發(fā)上的差別正在逐漸消除,軟件工程中的很多經驗、方法乃至庫函數(shù)可以移植到嵌入式系統(tǒng)。在嵌入式開發(fā)中采用高級語言,還使得硬件開發(fā)和軟件開發(fā)可以分工,從事嵌入式軟件開發(fā)不再必須精通系統(tǒng)硬件和相應的指令集匯編。
另一種高級語言JAVA的發(fā)展則具有戲劇性。JAVA本來是為設備獨立的嵌入式系統(tǒng)設計的、為了提高程序繼承性的語言,但是目前基于JAVA的嵌入式開發(fā)工具代碼生成長度要比嵌入式C編譯工具差10倍以上。因此EC++很可能在未來的一段時間內仍是嵌入式系統(tǒng)的主流。
?、?源程序模擬器(Simulator)
源程序模擬器是在廣泛使用的、人機接口完備的工作平臺上,如小型機和PC,通過軟件手段模擬執(zhí)行某種嵌入式處理器內核編寫的源程序測試工具。簡單的模擬器可以通過指令解釋方式逐條執(zhí)行源程序,分配虛擬存儲空間和外設,供程序員檢查;高級的模擬器可以利用計算機的外部接口模擬出處理器的I/O電氣信號。不同檔次和功能模擬器工具價格差距巨大。模擬器軟件獨立于處理器硬件,一般與編譯器集成在同一個環(huán)境中,是一種有效的源程序檢驗和測試工具。但值得注意的是, 模擬器畢竟是以一種處理器模擬另一種處理器的運行,在指令執(zhí)行時間、中斷響應、定時器等方面很可能與實際處理器有相當?shù)牟顒e。另外它無法和ICE一樣,仿真嵌入式系統(tǒng)在應用系統(tǒng)中的實際執(zhí)行情況。
3 結束語
嵌入式系統(tǒng)是將計算機直接嵌入到應用系統(tǒng)中,是信息技術的最終產品。嵌入式系統(tǒng)的核心就是嵌入式處理器。嵌入式系統(tǒng)是信息產業(yè)走向二十一世紀知識經濟時代的最重要的經濟增長點之一,這是一個不可壟斷的工業(yè),對中國的信息產業(yè)來說充滿了機遇和挑戰(zhàn)。世界這么廣大,充滿了多樣化,尤其是我們已經進入到后PC時代--無所不在的計算(nomadic computing)使嵌入式處理器將遍及我們能夠想象得到的各個角落,因此,每種處理器都有存在的理由,都有可伸展的方向。這一點應特別引起中國信息產業(yè)界的關注。
隨著我國的龍芯、北大眾志、方舟、星光、漢芯等處理器芯片的問世,中國無芯的時代已經過去。“軟件是大腦,芯片是心臟。”中國芯的意義不僅僅是中國有了自己的核心芯片,更重要的是中國也開始參與了世界半導體競技場的角逐,這樣更有利于我國在21世紀更加主動地、有利地、有效地分享嵌入式應用這塊大蛋糕。
但這個行業(yè)是一個充滿競爭的行業(yè),科技、工程技術人員應該面對世界技術市場的變遷,迎頭趕上,早日形成在通用處理器、嵌入式處理器領域及其相關的軟件IC領域的核心技術鏈和產業(yè)鏈,從而為我國的信息產業(yè)、為我國的早日的真正崛起做出應有的貢獻。
評論