通過率:內(nèi)部資料,通過率高,不通過下期免費再學(xué)。
證書頒發(fā):考試通過后,獲得由硅谷芯微統(tǒng)一發(fā)放的嵌入式認(rèn)證證書,行內(nèi)認(rèn)可,含金量高。
考試范圍:ARM Linux相關(guān)知識
AAE考點:硅谷芯微深圳科技園中心。2100433B
通過率:內(nèi)部資料,通過率高,不通過下期免費再學(xué)。
考試范圍:ARM相關(guān)處理器知識,面比較廣。
AAE考點:硅谷芯微深圳區(qū)域,未定。
ATC考試大綱:
第一階段:Linux相關(guān)知識輔導(dǎo)
Linux基礎(chǔ)知識,X-Windows基礎(chǔ),Ubuntu環(huán)境,Shell環(huán)境,Vi/Vim,文件管理與權(quán)限,用戶管理。
第二階段:ARM相關(guān)知識輔導(dǎo)
ARM系列處理器,ARM體系結(jié)構(gòu),指令及編程技術(shù),映像文件與分散加載,gpio,MMU,常見Flash原理與設(shè)計。
第三階段:Linux內(nèi)核相關(guān)知識輔導(dǎo)
嵌入式開發(fā)環(huán)境建立,Linux內(nèi)核基礎(chǔ),字符設(shè)備,中斷原理與應(yīng)用,調(diào)試技術(shù),U-Boot移植及內(nèi)核移植。
ATC考點:硅谷芯微科技園南區(qū)中心
考取選礦工程師的基本條件為:1、礦業(yè)、冶金、地質(zhì)等相關(guān)專業(yè)大專及以上學(xué)歷。2、考生具有選金技術(shù)知識/技能,熟悉冶金分析和試驗方法。3、身體健康,能適應(yīng)并勝任野外勘查或礦山企業(yè)比較艱苦的工作生活環(huán)境。4...
申報條件:(具備下列條件之一)一、助理選礦工程師:1、本科以上或同等學(xué)力學(xué)生;2、大專以上或同等學(xué)力應(yīng)屆畢業(yè)生并有相關(guān)實踐經(jīng)驗者;二、選礦工程師:1、已通過助理選礦工程師資格認(rèn)證者;2、研究生以上或同...
根據(jù)往年的情況來看,造價工程師合格證書開放領(lǐng)取時間都在合格標(biāo)準(zhǔn)公布3至4個月后陸續(xù)公布,預(yù)計2018年4月份左右開始領(lǐng)取。各省市地區(qū)工作進度不同,所以請大家持續(xù)關(guān)注當(dāng)?shù)厝耸驴荚囍行募跋嚓P(guān)網(wǎng)站,及時獲取...
格式:pdf
大小:1.4MB
頁數(shù): 4頁
評分: 4.4
嵌入式工程師證書, ARM 工程師證書, Linux 工程師證書 嵌入式技術(shù)工程師證書考試是根據(jù)中華人民共和國職業(yè)教育法、中華人民共和國勞動法和國務(wù)院關(guān) 于深化教育改革全面推進素質(zhì)教育的決定精神而設(shè)立的,滿足國家發(fā)展中對新型人才的需求,面向各個行 業(yè)提供應(yīng)用型、職業(yè)型、技能型高素質(zhì)的嵌入式專業(yè)人才,注重能力和實踐技能的培養(yǎng),通過實際操作、 案例教學(xué)達(dá)到理論和實際相結(jié) 合,在總體上與 全日制普 通高等院校相應(yīng)專業(yè)的 水平相一致,可全面促進我 國嵌入式 產(chǎn)業(yè)的健康發(fā)展。 嵌入式技術(shù)工程師證書考試 旨在培養(yǎng)掌握嵌入式專業(yè)技術(shù)人才, 解決行業(yè) 快速發(fā)展中新型 復(fù)合人才 短缺的問題,培養(yǎng) 德、智、體全面發(fā)展, 具有良好 的知識結(jié)構(gòu),較高的素質(zhì)和 較強的創(chuàng)新精神,能 獨立從 事新技術(shù)應(yīng)用的專業(yè)人才 。培養(yǎng)重 點在于掌握最 新的國際 水平及 推動產(chǎn)業(yè)發(fā)展的嵌入式應(yīng)用技術(shù), 同時掌 握全球行業(yè)發(fā)展 方向、
格式:pdf
大?。?span id="0q43l2b" class="single-tag-height">1.4MB
頁數(shù): 2頁
評分: 4.4
第 1 頁 共 2 頁 關(guān)于 2011 年上半年全國嵌入式(助理)工程師 資格認(rèn)證考試工作安排的通知 認(rèn)考辦【 2011】1 號 各考試中心: 2011年上半年嵌入式(助理)工程師資格認(rèn)證考試將于 2011年 6月 25日 (周六)進行,現(xiàn)將嵌入式(助理)工程師資格認(rèn)證考試時間安排如下。請各 考試中心認(rèn)真組織教材征訂、培訓(xùn)、報考等工作。加強考務(wù)管理,確保嵌入式 工程師資格認(rèn)證考試的順利進行。 一、申請資格 1、本科在校大三、大四學(xué)生 2、高職高專應(yīng)屆畢業(yè)生 3、社會嵌入式技術(shù)從業(yè)人員 二、報考方向 1、嵌入式軟件方向( Linux 為主) 2、嵌入式硬件方向( ARM為主) 三、考試中心(附件 1) 四、考試形式及時間 1、全國統(tǒng)一認(rèn)證標(biāo)準(zhǔn)、統(tǒng)一評審、統(tǒng)一考評管理,由認(rèn)證考試辦公室具體負(fù) 責(zé)組織實施; 2、報名時間: 2011年 4月 8日-6 月 16日報名 3、考試時間: 2011年
---
有同學(xué)反映,我們視頻一上來就講干貨,希望適當(dāng)普及一下相關(guān)概念,這篇就是。
ARM處理器解析
ARM9、ARM11是哈佛5級流水線結(jié)構(gòu),所以性能要高一點。ARM9和ARM11大多帶內(nèi)存管理器,跑操作系統(tǒng)好一點,ARM7適合裸奔。我們慣稱的 ARM9系列中又存在ARM9與ARM9E兩個系列,其中ARM9 屬于ARM v4T架構(gòu),典型處理器如ARM9TDMI和ARM922T;
而ARM9E屬于ARM v5TE架構(gòu),典型處理器如ARM926EJ和ARM946E。因為后者的芯片數(shù)量和應(yīng)用更為廣泛,所以我們提到ARM9的時候更多地是特指ARM9E系列處理器(主要就是ARM926EJ和ARM946E這兩款處理器)。
下面關(guān)于ARM9的介紹也是更多地集中于ARM9E。
2
ARM7處理器和ARM9E處理器的流水線差別
對嵌入式系統(tǒng)設(shè)計者來說,硬件通常是第一考慮的因素。針對處理器來說,流水線則是硬件差別的最明顯標(biāo)志,不同的流水線設(shè)計會產(chǎn)生一系列硬件差異。
讓我們來比較一下ARM7和ARM9E的流水線,ARM9E從ARM7的3級流水線增加到了5級,ARM9E的流水線中容納了更多的邏輯操作,但是每一級的邏輯操作卻變得更為簡單。
比如原來 ARM7的第三級流水,需要先內(nèi)部讀取寄存器、然后進行相關(guān)的邏輯和算術(shù)運算,接著處理結(jié)果回寫,完成的動作非常復(fù)雜;
而在ARM9E的5級流水中,寄存器讀取、邏輯運算、結(jié)果回寫分散在不同的流水當(dāng)中,使得每一級流水處理的動作非常簡潔。這就使得處理器的主頻可以大幅度地提高。因為每一級流水都對應(yīng) CPU的一個時鐘周期,如果一級流水中的邏輯過于復(fù)雜,使得執(zhí)行時間居高不下,必然導(dǎo)致所需的時鐘周期變長,造成CPU的主頻不能提升。所以流水線的拉長,有利于CPU主頻的提高。
在常用的芯片生產(chǎn)工藝下,ARM7一般運行在100MHz左右,而ARM9E則至少在200MHz以上。
3
ARM9E處理器的存儲器子系統(tǒng)
像ARM926EJ 和ARM946E這兩個最常見的ARM9E處理器中,都帶有一套存儲器子系統(tǒng),以提高系統(tǒng)性能和支持大型操作系統(tǒng)。如圖2所示,一個存儲器子系統(tǒng)包含一個 MMU(存儲器管理單元)或MPU(存儲器保護單元)、高速緩存(Cache)和寫緩沖(Write Buffer);CPU通過該子系統(tǒng)與系統(tǒng)存儲器系統(tǒng)相連。
高速緩存和寫緩存的引入是基于如下事實,即處理器速度遠(yuǎn)遠(yuǎn)高于存儲器訪問速度;如果存儲器訪問成為系統(tǒng)性能的瓶頸,則處理器再快也是浪費,因為處理器需要耗費大量的時間在等待存儲器上面。
高速緩存正是用來解決這個問題,它可以存儲最近常用的代碼和數(shù)據(jù),以最快的速度提供給CPU處理(CPU訪問Cache不需要等待)。
4
復(fù)雜處理器內(nèi)部的存儲器子系統(tǒng)
MMU則是用來支持存儲器管理的硬件單元,滿足現(xiàn)代平臺操作系統(tǒng)內(nèi)存管理的需要;它主要包括兩個功能:一是支持虛擬/物理地址映射,二是提供不同存儲器地址空間的保護機制。
一個簡單的例子可以幫助我們理解MMU的功能,在一個操作系統(tǒng)下,程序開發(fā)人員都是在操作系統(tǒng)給定的API和編程模型下開發(fā)程序;操作系統(tǒng)通常只開放一個確定的存儲器地址空間給用戶。這樣就帶來 一個直接的問題,所有的應(yīng)用程序都使用了相同的存儲器地址空間,如果這些程序同時啟動的話(在現(xiàn)在的多任務(wù)系統(tǒng)中這是非常常見的),就會產(chǎn)生存儲器訪問沖 突。那操作系統(tǒng)是如何來避免這個問題的呢?
操作系統(tǒng)會利用MMU硬件單元完成存儲器訪問虛擬地址到物理地址的轉(zhuǎn)換。所謂虛擬地址就是程序員在程序中使用的邏輯地址,而物理地址則是真實存儲器單元的空間地址。MMU通過一定的規(guī)則, 可以把相同的虛擬地址映射到不同的物理地址上去。這樣,即使有多個使用相同虛擬地址的程序進程啟動,也可以通過MMU調(diào)度把它們映射到不同的物理地址上 去,不會造成系統(tǒng)錯誤。
5
MMU的功能和作用
MMU 處理地址映射功能之外,還能給不同的地址空間設(shè)置不同的訪問屬性。比如操作系統(tǒng)把自己的內(nèi)核程序地址空間設(shè)置為用戶模式下不可訪問,這樣的話用戶應(yīng)用程序就無法訪問到該空間,從而保證操作系統(tǒng)內(nèi)核的安全性。
MPU與MMU的區(qū)別在于它只有給地址空間設(shè)置訪問屬性的功能而沒有地址映射功能。Cache以及MMU等硬件單元的引入,給系統(tǒng)程序員的編程模型帶來了許多全新的變化。
除了需要掌握基本的概念和使用方法之外,下面幾個針對系統(tǒng)優(yōu)化的點既有趣又重要:
1.系統(tǒng)實時性考慮因素
為保存地址映射規(guī)則的頁表(Page Table)非常龐大,通常MMU中只是存儲器了常用的一小段頁表內(nèi)容,大部分頁表內(nèi)容都存儲于主存儲器里面;當(dāng)調(diào)用新的地址映射規(guī)則時,MMU可能需要讀取主存儲器來更新頁表。
這在某些情況下會造成系統(tǒng)實時性的丟失。比如當(dāng)需要執(zhí)行一段關(guān)鍵的程序代碼時,如果不巧這段代碼使用的地址空間不在當(dāng)前MMU的頁表處理范圍里面,則MMU首先需要更新頁表,然后完成地址映射,接著才能相應(yīng)存儲器訪問;
整個地址譯碼過程非常長,給實時性帶來非常大的不利影響。所以一般來說帶MMU和Cache的系統(tǒng)在實時性上不如一些簡單的處理器;不過也有一些辦法能夠幫助提高這些系統(tǒng)的實時效率。
一個簡單的辦法是在需要的時候關(guān)閉MMU和Cache,這樣就變成一個簡單處理器了,可以馬上提高系統(tǒng)實時性。當(dāng)然很多情況下這不可行;
在ARM的MMU和 Cache設(shè)計中,有一個鎖定的功能,就是說你可以指定某一塊頁表在MMU中不會被更新掉,某一段代碼或數(shù)據(jù)可以在Cache中鎖定而不會被刷新掉;程序員可以利用這個功能來支持那些實時性要求最高的代碼,保證這些代碼始終能夠得到最快的響應(yīng)和支持。
2.系統(tǒng)軟件優(yōu)化
在嵌入式系統(tǒng)開發(fā)中,很多系統(tǒng)軟件優(yōu)化的方法都是相同和通用的,多數(shù)情況下這種規(guī)則也適用于ARM9E架構(gòu)上。如果你已經(jīng)是一個ARM7的編程高手,那么恭喜你,以前你掌握的優(yōu)化方法完全可以用在新的ARM9E平臺上,但是會有一些新的特性需要你加倍注意。最重要的便是Cache的作用,Cache本身并不 帶來編程模型和接口的變化,但是如果我們考察Cache的行為,就能夠發(fā)現(xiàn)對于軟件優(yōu)化,Cache是有比較大的影響的。
Cache在物理上就是一塊高速SRAM,ARM9E的Cache組織寬度(cache line)都是4個word(也就是32個字節(jié));Cache的行為受系統(tǒng)控制器控制而不是程序員,系統(tǒng)控制器會把最近訪問存儲器地址附近的內(nèi)容復(fù)制到Cache中去,這樣,當(dāng)CPU訪問下一個存儲器單元的時候(這個訪問既可能是取指,也可能是數(shù)據(jù)),可能這個存儲器單元的內(nèi)容已經(jīng)在Cache里了,所以CPU不需要真的到主存儲器上去讀取內(nèi)容,而直接讀取Cache高速緩存上面的內(nèi)容就可以了,從而加快了訪問的速度。
從Cache的工作原理我們可以看 到,其實Cache的調(diào)度是基于概率的,CPU要訪問的數(shù)據(jù)既可能在Cache中已經(jīng)存在(Cache hit),也可能沒有存在(Cache miss)。在Cache miss的情況下,CPU訪問存儲器的速度會比沒有Cache的情況更壞,因為CPU除了要從存儲器訪問數(shù)據(jù)以外,還需要處理Cache hit或miss的判斷,以及Cache內(nèi)容的刷新等動作。
只有當(dāng)Cache hit帶來的好處超過Cache miss帶來的犧牲的時候,系統(tǒng)的整體性能才能得到提高,所以Cache的命中率成為一個非常重要的優(yōu)化指標(biāo)。
根據(jù)Cache行為的特點,我們可以直觀地得到提高Cache命中率的一些方法,如盡可能把功能相關(guān)的代碼和數(shù)據(jù)放置在一起,減少跳轉(zhuǎn)次數(shù);跳轉(zhuǎn)經(jīng)常會引起 Cache miss。保持合適的函數(shù)大小,不要書寫太多過小的函數(shù)體,因為線性的程序執(zhí)行流程是最為Cache友好的。
循環(huán)體最好放置在4個word對齊的地址,這 樣就能保證循環(huán)體在Cache中是行對齊的,并且占用最少的Cache行數(shù),使得被多次調(diào)用的循環(huán)體得到更好的執(zhí)行效率。
6
性能和效率的提升
前面介紹了ARM9E相比于ARM7性能上的提高,這不僅表現(xiàn)在ARM9E有更快的主頻、更多的硬件特性上面,還體現(xiàn)在某些指令的執(zhí)行效率上面。執(zhí)行效率我 們可以用CPU的時鐘周期數(shù)(Cycle)來衡量;
運行同一段程序,ARM9E的處理器可以比ARM7節(jié)省大約30%左右的時鐘周期。
效率的提高主要來自于ARM9E對于Load-Store指令執(zhí)行效率的增強。我們知道在RISC架構(gòu)的處理器中,程序中大約有30%的指令是Load- Store指令,這些指令的效率對系統(tǒng)效率的貢獻是最明顯的。
ARM9E中有兩個因素幫助提高Load-Store指令的效率:
1)ARM9內(nèi)核是哈佛架構(gòu),擁有獨立的指令和數(shù)據(jù)總線;相對應(yīng),ARM7內(nèi)核的指令和數(shù)據(jù)總線復(fù)用的馮諾依曼架構(gòu)。
2)ARM9的5級流水線設(shè)計把存儲器訪問和寄存器寫回放在不同的流水上面。
兩者結(jié)合,使得在指令流的執(zhí)行過程中每個CPU時鐘周期都可以完成一個Load或Store指令。
下面的表格比較了ARM7和ARM9處理器之間的Load -Store指令。
從中可以看出所有的Store指令A(yù)RM9比ARM7省1個周期,Load指令可以省2個周期(在沒有互鎖的情況下,編譯工具能夠通過 編譯優(yōu)化消除大多數(shù)的互鎖可能)。
綜合各種因素,ARM9E處理器擁有非常強大的性能。但是在實際的系統(tǒng)設(shè)計中,設(shè)計人員并不總是把處理器性能開到最大,理想情況是把處理器和系統(tǒng)運行頻率降低,使得性能剛好能滿足應(yīng)用需求; 達(dá)到節(jié)省功耗和成本的目的。
在評估系統(tǒng)能夠提供的處理器能力過程中,DMIPS指標(biāo)被很多人采用; 同時它也被廣泛應(yīng)用于不同處理器間的性能比較。
但是用DMIPS來衡量處理器性能存在很大的缺陷。 DMIPS并非字面上每秒百萬條指令的意思,它是一個測量CPU運行一個叫Dhrystone的測試程序時表現(xiàn)出來的相對性能高低的一個單位(很多場合人們也習(xí)慣用MIPS作為這個性能指標(biāo)的單位)。因為基于程序的測試容易受到惡意優(yōu)化的干擾,并且DMIPS指標(biāo)值的發(fā)布不受任何機構(gòu)的監(jiān)督,所以使用DMIPS進行評估時要慎重。
例如對Dhrystone測試程序進行不同的編譯處理,在同一個處理器上運行也可以得出差別很大的結(jié)果。
DMIPS另外一個缺點是不能測量處理器的數(shù)字信號處理能力和Cache/MMU子系統(tǒng)的性能。因為Dhrystone測試程序不包含DSP表達(dá)式,只包含一些整型運算和字符串處理,并且測試程序偏小,幾乎可以完整地放在Cache里面運行而無需與外部存儲器進行交互。這樣就難以反映處理器在一個真實系統(tǒng)中的真正性 能。
一種值得鼓勵的評估方法是站在系統(tǒng)的角度看問題,而不僅僅拘泥于CPU本身;而系統(tǒng)性能評估最好的測試向量就是用戶應(yīng)用程序或相近的測試程序,這是用戶所需的最真實的結(jié)果。
7
ARM9E處理器的DSP運算能力
伴隨應(yīng)用程序的多樣化和復(fù)雜化,諸如多媒體、音視頻功能在嵌入式系統(tǒng)里面也是全面開花。這些應(yīng)用需要相當(dāng)?shù)腄SP處理能力;如果是在傳統(tǒng)的RISC架構(gòu)上實 現(xiàn)這些算法,所需的資源(頻率和存儲器等)會非常不經(jīng)濟。
ARM9E處理器一個非常重要的優(yōu)勢就是擁有輕量級的DSP處理能力,以非常小的成本(CPU增 加功能需要增加硬件)換來了非常實用的DSP性能。
因為CPU的DSP能力并不直接反映在像DMIPS這樣的評測指標(biāo)中,同時像以前的ARM7處理器中也沒有類似的概念;所以這一點對所有使用ARM9E處理器進行開發(fā)的人來說,都是需要注意的一個要點。
ARM9E的DSP擴展指令,主要包括三個類型:
1)單周期的16x16和32x16 MAC操作,因為數(shù)字信號處理中甚少32位寬的操作數(shù),在32位寄存器中可以對操作數(shù)分段運算顯得非常有用。
2)對原有的算術(shù)運算指令增加了飽和處理擴展,所謂飽和運算,就是當(dāng)運算結(jié)果大于一個上限或小于一個下限時,結(jié)果就等于上限或是下限;
飽和處理在音頻數(shù)據(jù)和視頻像素處理中普遍使用,現(xiàn)在一條單周期飽和運算指令就能夠完成普通RISC指令“運算-判斷-取值”這一系列操作。
3)前導(dǎo)零(CLZ)運算指令,提高了歸一化和浮點運算以及除法操作的性能。
以流行的MP3解碼程序為例。整個解碼過程中前端的三個步驟是運算量最大的,包括比特流的讀入(解包)、霍夫曼譯碼還有反量化采樣(逆變換)。
ARM9E的 DSP指令正好可以高效地完成這些運算。以44.1 KHz@128 kbps碼率的MP3音樂文件為例,ARM7TDMI需要占用20MHz以上的資源,
而ARM926EJ則只要小于10MHz的資源在從ARM7到ARM9的平臺轉(zhuǎn)變過程中,有一件事情是非常值得慶幸的,即ARM9E能夠完全地向后兼容ARM7上的軟件;并且開發(fā)人員面對的編程模型和架構(gòu)基礎(chǔ)也保持一致。
但是畢竟ARM9E中增加了很多新的特性,為了充分利用這些新的資源,把系統(tǒng)性能優(yōu)化好,需要我們對ARM9E做更多深入地了解。
---end--
6月中旬來了,有同學(xué)詢問我們的淘寶店鋪是否搞降價活動,這里統(tǒng)一回復(fù):產(chǎn)品定價已經(jīng)很親民,我們不打價格戰(zhàn),和往年一樣,不參加618大促,目前只有現(xiàn)金獎勵活動(點擊下面標(biāo)題了解詳情):
【有獎活動】完成課后作業(yè):裸機測試界面, 贏取獎金2000元人民幣,
按要求完成最高可獲得2000元現(xiàn)金獎勵~,適合時間充裕還可以賺外快補貼生活費的在校生,何樂而不為?
41人加群,據(jù)小編了解目前已有好幾個人正在寫代碼...你還在等什么?
免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載,有改動,版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我們聯(lián)系,我們將根據(jù)您提供的版權(quán)證明材料確認(rèn)版權(quán)并支付稿酬或者刪除內(nèi)容。
ARM7簡介
ARM7系列處理器是英國ARM公司設(shè)計的主流嵌入式處理器ARM7內(nèi)核是0.9MIPS/MHz的三級流水線和馮·諾伊曼結(jié)構(gòu);ARM9內(nèi)核是5級流水線,提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。ARM7沒有MMU。
ARM7系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T。該系列處理器提供Thumb16位壓縮指令集和EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SoC設(shè)計中。ARM7TDMI基于ARM體系結(jié)構(gòu)V4版本,是目前低端的ARM核。
ARM7TDMI處理器是ARM通用32位微處理器家族的成員之一。它具有優(yōu)異的性能,但功耗卻很低,使用門的數(shù)量也很少。它屬于精簡指令集計算機(RISC),比復(fù)雜指令集計算機(CISC)要簡單得多。這樣的簡化實現(xiàn)了:高的指令吞吐量;出色的實時中斷響應(yīng);小的、高性價比的處理器宏單元。三級流水線:ARM7TDMI處理器使用流水線來增加處理器指令流的速度。這樣可使幾個操作同時進行,并使處理和存儲器系統(tǒng)連續(xù)操作,能提供0.9MIPS/MHz的指令執(zhí)行速度。ARM7TDMI的流水線分3級,分別為:取指、?譯碼、?執(zhí)行。正常操作過程中,在執(zhí)行一條指令的同時對下一條指令進行譯碼,并將第三條指令從存儲器中取出。內(nèi)同時有5個指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍。
ARM9簡介
ARM9系列處理器是英國ARM公司設(shè)計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。
ARM9采用哈佛體系結(jié)構(gòu),指令和數(shù)據(jù)分屬不同的總線,可以并行處理。在流水線上,ARM7是三級流水線,ARM9是五級流水線。由于結(jié)構(gòu)不同,ARM7的執(zhí)行效率低于ARM9。平時所說的ARM7、ARM9實際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運行諸如linux這樣的嵌入式操作系統(tǒng)。而ARM公司對這種架構(gòu)進行了擴展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內(nèi)核。
ARM9處理能力
(1)時鐘頻率的提高
ARM7處理器采用3級流水線,而ARM9采用5級流水線。增加的流水線設(shè)計提高了時鐘頻率和并行處理能力。5級流水線能夠?qū)⒚恳粋€指令處理分配到5個時鐘周期內(nèi),在每一個時鐘周期內(nèi)同時有5個指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍。
(2)指令周期的改進
指令周期的改進對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時指令的重疊,這實際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在30%左右。
UCOS簡介
μC/OS II(Micro-Controller OperaTIng System Two)是一個可以基于ROM運行的、可裁剪的、搶占式、實時多任務(wù)內(nèi)核,具有高度可移植性,特別適合于微處理器和控制器,適合很多商業(yè)操作系統(tǒng)性能相當(dāng)?shù)膶崟r操作系統(tǒng)(RTOS)。為了提供最好的移植性能,μC/OS II最大程度上使用ANSI C語言進行開發(fā),并且已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。 μC/OS II可以簡單的視為一個多任務(wù)調(diào)度器,在這個任務(wù)調(diào)度器之上完善并添加了和多任務(wù)操作系統(tǒng)相關(guān)的系統(tǒng)服務(wù),如信號量、郵箱等。其主要特點有公開源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式,最多可以管理60個任務(wù)。從1992年開始,由于高度可靠性、魯棒性和安全性,μC/OS II已經(jīng)廣泛使用在從照相機到航空電子產(chǎn)品的各種應(yīng)用中。
μC/OS-II實時多任務(wù)操作系統(tǒng)內(nèi)核。它被廣泛應(yīng)用于微處理器、微控制器和數(shù)字信號處理器。 μC/OS-II 的前身是μC/OS,最早出自于1992 年美國嵌入式系統(tǒng)專家Jean J.Labrosse 在《嵌入式系統(tǒng)編程》雜志的5 月和6 月刊上刊登的文章連載,并把μC/OS 的源碼發(fā)布在該雜志的B B S 上。
UCOS應(yīng)用情況
1) 高優(yōu)先級的任務(wù)因為需要某種臨界資源,主動請求掛起,讓出處理器,此時將調(diào)度就緒狀態(tài)的低優(yōu)先級任務(wù)獲得執(zhí)行,這種調(diào)度也稱為任務(wù)級的上下文切換。
2) 高優(yōu)先級的任務(wù)因為時鐘節(jié)拍到來,在時鐘中斷的處理程序中,內(nèi)核發(fā)現(xiàn)高優(yōu)先級任務(wù)獲得了執(zhí)行條件(如休眠的時鐘到時),則在中斷態(tài)直接切換到高優(yōu)先級任務(wù)執(zhí)行。這種調(diào)度也稱為中斷級的上下文切換。 這兩種調(diào)度方式在μC/OS-II的執(zhí)行過程中非常普遍,一般來說前者發(fā)生在系統(tǒng)服務(wù)中,后者發(fā)生在時鐘中斷的服務(wù)程序中。 調(diào)度工作的內(nèi)容可以分為兩部分:最高優(yōu)先級任務(wù)的尋找和任務(wù)切換。其最高優(yōu)先級任務(wù)的尋找是通過建立就緒任務(wù)表來實現(xiàn)的。μ C / O S 中的每一個任務(wù)都有獨立的堆棧空間,并有一個稱為任務(wù)控制塊TCB(Task Control Block)的數(shù)據(jù)結(jié)構(gòu),其中第一個成員變量就是保存的任務(wù)堆棧指針。任務(wù)調(diào)度模塊首先用變量OSTCBHighRdy 記錄當(dāng)前最高級就緒任務(wù)的TCB 地址,然后調(diào)用OS_TASK_SW函數(shù)來進行任務(wù)切換。
ARM9系列處理器是英國ARM公司設(shè)計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。