培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)_第1頁(yè)
培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)_第2頁(yè)
培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)_第3頁(yè)
培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)_第4頁(yè)
培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩143頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1培訓(xùn)培訓(xùn)ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)概述統(tǒng)概述ARM體系結(jié)構(gòu)與指令系統(tǒng)體系結(jié)構(gòu)與指令系統(tǒng)2教材參考書參考書 ARM嵌入式系統(tǒng)開發(fā)嵌入式系統(tǒng)開發(fā):軟件設(shè)計(jì)與優(yōu)化軟件設(shè)計(jì)與優(yōu)化 ,作者:作者:Andrew N.Sloss 北京航空航天大學(xué)出版社北京航空航天大學(xué)出版社 ARM嵌入式系統(tǒng)基礎(chǔ)教程嵌入式系統(tǒng)基礎(chǔ)教程周立功周立功 等編著等編著北京航空航天大學(xué)出版社北京航空航天大學(xué)出版社3 ARM嵌入式系統(tǒng)實(shí)驗(yàn)指導(dǎo)嵌入式系統(tǒng)實(shí)驗(yàn)指導(dǎo)周立功周立功 等編等編寫(北京航空航天大學(xué)出版社,)寫(北京航空航天大學(xué)出版社,) 實(shí)驗(yàn)地點(diǎn):計(jì)算機(jī)系嵌入式實(shí)驗(yàn)室實(shí)驗(yàn)地點(diǎn):計(jì)算機(jī)系嵌入式

2、實(shí)驗(yàn)室 (2#實(shí)驗(yàn)樓實(shí)驗(yàn)樓3層)層)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)指導(dǎo)計(jì)劃學(xué)時(shí):計(jì)劃學(xué)時(shí):48學(xué)時(shí)學(xué)時(shí)其中:授課其中:授課40學(xué)時(shí):實(shí)驗(yàn)學(xué)時(shí):實(shí)驗(yàn)8學(xué)時(shí),學(xué)時(shí),實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)內(nèi)容,ADS環(huán)境環(huán)境2學(xué)時(shí),學(xué)時(shí),ARM匯編匯編2學(xué)時(shí),學(xué)時(shí),GPIO、定時(shí)器等、定時(shí)器等4 學(xué)時(shí)學(xué)時(shí)課內(nèi)外比例:課內(nèi)課內(nèi)外比例:課內(nèi)1:課外:課外1課程安課程安排排451.1. 預(yù)備鈴響后必須進(jìn)教室;預(yù)備鈴響后必須進(jìn)教室;2.2. 遲到的學(xué)生坐在第一排;遲到的學(xué)生坐在第一排; 3.3. 曠課曠課4次平時(shí)分扣為零分;次平時(shí)分扣為零分; 4.4. 著裝得體,不得穿拖鞋、背心進(jìn)教室;著裝得體,不得穿拖鞋、背心進(jìn)教室; 5.5. 不準(zhǔn)在教室吃東西

3、,值日生要擦黑板。不準(zhǔn)在教室吃東西,值日生要擦黑板。 6.6. 按時(shí)完成作業(yè)。按時(shí)完成作業(yè)。 課堂要求課堂要求6嵌入式嵌入式:ARM系列的體系結(jié)構(gòu)系列的體系結(jié)構(gòu)ARM7ARM7指令集及匯編程序設(shè)計(jì)指令集及匯編程序設(shè)計(jì)硬件接口電路原理硬件接口電路原理軟件接口編程方法軟件接口編程方法接口技術(shù)接口技術(shù):78910ARM嵌入式系統(tǒng)基礎(chǔ)教程理論教材:ARM嵌入式系統(tǒng)基礎(chǔ)教程(第2版)實(shí)驗(yàn)教材: ARM嵌入式系統(tǒng)實(shí)驗(yàn)教程軟件:ADS1.2、 C/OS-II等本課程主要內(nèi)容:第1章:嵌入式系統(tǒng)概述,概念、組成、處理器以及OS第2章:ARM7體系結(jié)構(gòu)與指令系統(tǒng),RISC、ARM系列、寄存器、中斷以及存儲(chǔ)系統(tǒng),

4、第3章:尋址方式,ARM指令集,嵌入式程序設(shè)計(jì)第4章: ARM硬件結(jié)構(gòu)與接口技術(shù),引腳、存儲(chǔ)器、控制模塊、GPIO、中斷、定時(shí)器及各種接口,總線接口1112嵌入式系統(tǒng)的應(yīng)用:工業(yè)自動(dòng)化、國(guó)防、運(yùn)輸和航天領(lǐng)域嵌入式系統(tǒng)的應(yīng)用:工業(yè)自動(dòng)化、國(guó)防、運(yùn)輸和航天領(lǐng)域。 例如例如神州飛船和長(zhǎng)征火箭中嵌入式系統(tǒng),導(dǎo)彈的制導(dǎo)系統(tǒng)中的嵌入式系統(tǒng),高檔汽車中也有多達(dá)幾十個(gè)嵌入式系統(tǒng)。 在日常生活在日常生活中,幾乎所有帶有一點(diǎn)“智能”的家電(全自動(dòng)洗衣機(jī)、電腦電飯煲)都是嵌入式系統(tǒng)。 嵌入式系統(tǒng)廣泛的適應(yīng)能力和多樣性適應(yīng)能力和多樣性,使得視聽、工作場(chǎng)所甚至健身設(shè)備中到處都有嵌入式系統(tǒng)。 嵌入式系統(tǒng)的誕生于微型計(jì)算機(jī)

5、時(shí)代,隨其誕生現(xiàn)代計(jì)算機(jī)嵌入式系統(tǒng)的誕生于微型計(jì)算機(jī)時(shí)代,隨其誕生現(xiàn)代計(jì)算機(jī)領(lǐng)域中出現(xiàn)了領(lǐng)域中出現(xiàn)了通用計(jì)算機(jī)通用計(jì)算機(jī)與與嵌入式計(jì)算機(jī)嵌入式計(jì)算機(jī)的兩大分支。的兩大分支。 通用計(jì)算機(jī):通用計(jì)算機(jī):按照高速、海量的技術(shù)發(fā)展;按照高速、海量的技術(shù)發(fā)展; 嵌入式計(jì)算機(jī)系統(tǒng):嵌入式計(jì)算機(jī)系統(tǒng):則為滿足對(duì)象系統(tǒng)嵌入式智能化控制則為滿足對(duì)象系統(tǒng)嵌入式智能化控制要求發(fā)展。要求發(fā)展。13l現(xiàn)實(shí)中的嵌入式系統(tǒng)14 q嵌入式技術(shù)的電子產(chǎn)品嵌入式技術(shù)的電子產(chǎn)品,如:,如:MP3、PDA、手機(jī)、手機(jī)、智能玩具,網(wǎng)絡(luò)家電、智能家電、車載電子設(shè)、智能玩具,網(wǎng)絡(luò)家電、智能家電、車載電子設(shè)備等備等q在工業(yè)和服務(wù)領(lǐng)域中在工業(yè)

6、和服務(wù)領(lǐng)域中,大量嵌入式技術(shù)也已經(jīng)應(yīng),大量嵌入式技術(shù)也已經(jīng)應(yīng)用于工業(yè)控制、數(shù)控機(jī)床、智能工具、工業(yè)機(jī)器用于工業(yè)控制、數(shù)控機(jī)床、智能工具、工業(yè)機(jī)器人、服務(wù)機(jī)器人等各個(gè)行業(yè),正在逐漸改變著傳人、服務(wù)機(jī)器人等各個(gè)行業(yè),正在逐漸改變著傳統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式統(tǒng)的工業(yè)生產(chǎn)和服務(wù)方式15l嵌入式系統(tǒng)示例汽車控制系統(tǒng)16馬達(dá)控制器車燈l嵌入式系統(tǒng)示例汽車控制系統(tǒng)尾燈控制系統(tǒng)后車門控制系統(tǒng)前車門控制系統(tǒng)座椅控制系統(tǒng)發(fā)動(dòng)器控制系統(tǒng)所有的控制系統(tǒng)都是一個(gè)完整的嵌入式系統(tǒng)17消費(fèi)電子消費(fèi)電子嵌入式應(yīng)用嵌入式應(yīng)用信息家電信息家電智能玩具智能玩具軍事電子軍事電子通信設(shè)備通信設(shè)備移動(dòng)存貯移動(dòng)存貯工控設(shè)備工控設(shè)備智能儀表智

7、能儀表汽車電子汽車電子網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備工業(yè)工業(yè)軍事國(guó)防軍事國(guó)防電子商務(wù)電子商務(wù)網(wǎng)絡(luò)網(wǎng)絡(luò)嵌入式系統(tǒng)的應(yīng)用領(lǐng)域18 q隨著技術(shù)發(fā)展,目前許多設(shè)備除了進(jìn)行實(shí)時(shí)控制,還須將設(shè)備狀態(tài),傳感器的信息等在顯示屏上實(shí)時(shí)顯示。 需要性能更高的控制系統(tǒng)。19q只有按鈕、開關(guān)的電器顯然已經(jīng)不能滿足只有按鈕、開關(guān)的電器顯然已經(jīng)不能滿足人們的日常需求。人們的日常需求。q具有用戶界面,能遠(yuǎn)程控制,智能管理的具有用戶界面,能遠(yuǎn)程控制,智能管理的電器是未來(lái)的發(fā)展趨勢(shì),如冰箱、空調(diào)等電器是未來(lái)的發(fā)展趨勢(shì),如冰箱、空調(diào)等的網(wǎng)絡(luò)化、智能化等。的網(wǎng)絡(luò)化、智能化等。20嵌入式系統(tǒng)應(yīng)用領(lǐng)域消費(fèi)類電子212223q水文資料實(shí)時(shí)監(jiān)測(cè),防洪體

8、系及水土質(zhì)量監(jiān)測(cè)、堤壩安全,地震監(jiān)測(cè)網(wǎng),實(shí)時(shí)氣象信息網(wǎng),水源和空氣污染監(jiān)測(cè)。q加油站、停車場(chǎng)管理24252627嵌入性嵌入性:嵌入到對(duì)象體系中,有對(duì)象環(huán)境要求:嵌入到對(duì)象體系中,有對(duì)象環(huán)境要求專用性專用性:軟、硬件按對(duì)象要求裁減:軟、硬件按對(duì)象要求裁減計(jì)算機(jī)計(jì)算機(jī):實(shí)現(xiàn)對(duì)象的智能化功能:實(shí)現(xiàn)對(duì)象的智能化功能q三要素:三要素:嵌入、專用、計(jì)算機(jī)嵌入、專用、計(jì)算機(jī)q嵌入式系統(tǒng)的特點(diǎn)嵌入式系統(tǒng)的特點(diǎn):由三要素引出由三要素引出1.1.2 嵌入式系統(tǒng)的定義及特點(diǎn)根據(jù)根據(jù)IEEE(國(guó)際電氣和電子工程師協(xié)會(huì))的定義國(guó)際電氣和電子工程師協(xié)會(huì))的定義:嵌入式系統(tǒng)是嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)用于控

9、制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置器和設(shè)備的裝置”(原文為(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。)。簡(jiǎn)單講,就是嵌入到對(duì)象體中的專用計(jì)算機(jī)系統(tǒng)。簡(jiǎn)單講,就是嵌入到對(duì)象體中的專用計(jì)算機(jī)系統(tǒng)。28l嵌入式系統(tǒng)的概念 目前,對(duì)嵌入式系統(tǒng)的定義多種多樣,但沒(méi)有一種定義是全面的。下面給出兩種比較合理定義: 從技術(shù)的角度定義從技術(shù)的角度定義:以應(yīng)用為中心、以計(jì)算機(jī)以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)技術(shù)為基礎(chǔ)、軟件硬件可裁

10、剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。用計(jì)算機(jī)系統(tǒng)。從系統(tǒng)的角度定義從系統(tǒng)的角度定義:嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)嵌入式系統(tǒng)是設(shè)計(jì)完成復(fù)雜功能的硬件和軟件,并使其緊密耦合在一起的雜功能的硬件和軟件,并使其緊密耦合在一起的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)。2930l嵌入式系統(tǒng)的相關(guān)技術(shù)與發(fā)展趨勢(shì)相關(guān)技術(shù):多學(xué)科交叉, 計(jì)算機(jī)、電子技術(shù)、微電子技術(shù)、集成電路設(shè)計(jì)等31未來(lái)嵌入式系統(tǒng)的發(fā)展趨勢(shì)323334外圍硬件外圍硬件: 嵌入式系統(tǒng)處理器以外的硬件,為系統(tǒng)提供運(yùn)行嵌入式系統(tǒng)處理器以外的硬件,為系統(tǒng)提供運(yùn)行條件條件(時(shí)鐘和電源部件時(shí)鐘和電

11、源部件)和部分功能和部分功能(內(nèi)存、各種通訊端口等內(nèi)存、各種通訊端口等)。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)::為應(yīng)用程序提供必要運(yùn)行環(huán)境(任務(wù)調(diào)為應(yīng)用程序提供必要運(yùn)行環(huán)境(任務(wù)調(diào)度),附加任務(wù)通訊、內(nèi)存管理等功能。度),附加任務(wù)通訊、內(nèi)存管理等功能。需移植和配置方可需移植和配置方可使用。使用。嵌入式應(yīng)用程序:嵌入式應(yīng)用程序:在沒(méi)有操作系統(tǒng)的情況下,嵌入式的應(yīng)用在沒(méi)有操作系統(tǒng)的情況下,嵌入式的應(yīng)用程序需要直接訪問(wèn)寄存器或者設(shè)備的地址來(lái)操作硬件。程序需要直接訪問(wèn)寄存器或者設(shè)備的地址來(lái)操作硬件。開發(fā)環(huán)境:開發(fā)環(huán)境:開發(fā)過(guò)程中起著至關(guān)重要的作用,并不是嵌入式開發(fā)過(guò)程中起著至關(guān)重要的作用,并不是嵌入式系統(tǒng)產(chǎn)

12、品系統(tǒng)產(chǎn)品的一部分,不同嵌入式系統(tǒng)開發(fā)環(huán)境不同。的一部分,不同嵌入式系統(tǒng)開發(fā)環(huán)境不同。35 嵌入式處理器分為以下幾大類:嵌入式微處理器;嵌入式微控制器;嵌入式DSP處理器;嵌入式片上系統(tǒng)(SOC)。嵌入式處理器按應(yīng)用分:注重嵌入式處理器的尺寸、能耗和價(jià)格。應(yīng)用于PDA等不注重計(jì)算的設(shè)備;注重嵌入式處理器的性能。應(yīng)用于路由器等計(jì)算密集型的設(shè)備;注重嵌入式處理器的性能、尺寸、能耗和價(jià)格。應(yīng)用于蜂窩電話等設(shè)備;36l嵌入式微處理器(EMPU) Embeded Microprocessor Unit(EMPU) ,在應(yīng)用中,為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基本是一

13、樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。 嵌入式微處理器優(yōu)點(diǎn)嵌入式微處理器優(yōu)點(diǎn):體積小、重量輕、成本低、可靠性高,但是在電路板上必須包括ROM、RAM、總線接口、各種外設(shè)等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也較差。嵌入式微處理器及其存儲(chǔ)器、總線、外設(shè)等安裝在一塊電路板上,稱為單板計(jì)算機(jī)。CPUROMRAM外設(shè)1外設(shè)2單板計(jì)算機(jī)單板計(jì)算機(jī)37l嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式微控制器又稱,一般以某一種微處理器內(nèi)核為核心,芯片內(nèi)部集成ROM/EPROM、RAM、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、WatchDog、I/O、串行口、

14、脈寬調(diào)制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能和外設(shè)。 微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè)資源一般比較豐富,適合于控制,因此稱。 嵌入式微控制器種類多,括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、數(shù)目眾多ARM芯片等。目前MCU占嵌入式系統(tǒng)約70的市場(chǎng)份額。復(fù)位部件看門狗部件晶振部件I/O部件中斷部件ROM部件SRAM部件定時(shí)器部件CPU核38l嵌入式DSP處理器(數(shù)字信號(hào)處理) DSP處理器對(duì)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其適合于執(zhí)行DSP算法,編譯

15、效率較高,指令執(zhí)行速度也較高。在數(shù)字濾波、FFT、譜分析等方面DSP算法正在大量進(jìn)入嵌入式領(lǐng)域,DSP應(yīng)用正從在通用單片機(jī)中以普通指令實(shí)現(xiàn)DSP功能,過(guò)渡到采用嵌入式DSP處理器。 嵌入式DSP處理器比較有代表性的產(chǎn)品是Texas ,如DSP56000,DSP56100,DSP56200和DSP56300等。PHILIPS公司近年也推出了基于可重置嵌入式DSP結(jié)構(gòu)低成本、低功耗技術(shù)上制造的R. E. A. L DSP處理器,39l嵌入式片上系統(tǒng)(System On Chip, SOC )隨著EDA的推廣和VLSI設(shè)計(jì)的普及化及半導(dǎo)體工藝的迅速發(fā)展,在一個(gè)硅片上實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng)的時(shí)代已來(lái)臨

16、,即SOC,除個(gè)別無(wú)法集成的器件以外,整個(gè)嵌入式系統(tǒng)大部分均可集成到一塊或幾塊芯片中去。應(yīng)用系統(tǒng)變得簡(jiǎn)潔,對(duì)于減小體積和功耗、提高可靠性非常有利。 SoC可以分為通用和專用兩類。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件等。專用SoC一般專用于某個(gè)或某類系統(tǒng)中,不為一般用戶所知。一個(gè)有代表性的產(chǎn)品是Philips的Smart XA,它將XA單片機(jī)內(nèi)核和支持超過(guò)2048 位復(fù)雜RSA算法的CCU單元制作在一塊硅片上,形成一個(gè)可加載JAVA或C語(yǔ)言的專用的SOC,可用于公眾互聯(lián)網(wǎng)如Internet安全方面。SOC 下一步向片上網(wǎng)絡(luò)(片上網(wǎng)絡(luò)(N

17、etwork on Chip,NoC)發(fā)展 4041 計(jì)算機(jī)系統(tǒng)由硬件和軟件組成,初期初期沒(méi)有操作系統(tǒng)這個(gè)概念,用戶使用監(jiān)控程序來(lái)使用計(jì)算機(jī)。 隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)的硬件、軟件資源也愈來(lái)愈豐富,監(jiān)控程序監(jiān)控程序已不能適應(yīng)計(jì)算機(jī)應(yīng)用的要求。 于是在六十年代中期監(jiān)控程序又進(jìn)一步發(fā)展形成了操作系統(tǒng)(Operating System)。發(fā)展到現(xiàn)在,廣泛使用的有三種操作系統(tǒng)三種操作系統(tǒng):多道批處理操作系統(tǒng)分時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)42監(jiān)監(jiān)控控程程序序操操作作系系統(tǒng)統(tǒng)實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)分時(shí)操作系統(tǒng)分時(shí)操作系統(tǒng)多道批處理操作系統(tǒng)多道批處理操作系統(tǒng) 時(shí)時(shí) 間間 先先 后后 適用于多個(gè)用戶共享系

18、統(tǒng)資源適用于多個(gè)用戶共享系統(tǒng)資源適用于計(jì)算中心等較大的計(jì)算適用于計(jì)算中心等較大的計(jì)算機(jī)系統(tǒng)機(jī)系統(tǒng)適用于嵌入式設(shè)備和有實(shí)時(shí)性適用于嵌入式設(shè)備和有實(shí)時(shí)性要求的系統(tǒng)中要求的系統(tǒng)中實(shí)時(shí)操作系統(tǒng)是我們實(shí)時(shí)操作系統(tǒng)是我們介紹的重點(diǎn)介紹的重點(diǎn)43 IEEE 的實(shí)時(shí)UNIX分委會(huì)認(rèn)為實(shí)時(shí)操作系統(tǒng)應(yīng)具備以下的幾點(diǎn): 異步的事件響應(yīng) (隨機(jī)性)切換時(shí)間和中斷延遲時(shí)間確定 優(yōu)先級(jí)中斷和調(diào)度 搶占式調(diào)度 (高優(yōu)先級(jí)任務(wù)可搶占CPU)內(nèi)存鎖定 (將程序或部分程序鎖定在內(nèi)存)連續(xù)文件 (把數(shù)據(jù)存儲(chǔ)在連續(xù)的文件上)同步 (協(xié)調(diào)執(zhí)行)444546對(duì)基于芯片的開發(fā)來(lái)說(shuō),應(yīng)用程序一般是一個(gè)無(wú)限的循環(huán),可稱為前后臺(tái)系統(tǒng)或超循環(huán)系統(tǒng)

19、。后臺(tái)系統(tǒng):后臺(tái)系統(tǒng):循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,屬于任務(wù)級(jí);前臺(tái)系統(tǒng):前臺(tái)系統(tǒng):中斷或異步事件,屬于中斷級(jí); 很多基于微處理器的產(chǎn)品采用前后臺(tái)系統(tǒng)設(shè)計(jì),例如微波爐、電話機(jī)、玩具等。在另外一些基于微處理器應(yīng)用中,從省電的角度出發(fā),平時(shí)微處理器處在停機(jī)狀態(tài),所有事都靠中斷服務(wù)來(lái)完成。前后臺(tái)系統(tǒng)前后臺(tái)系統(tǒng)47l基本概念 中斷服務(wù)程序中斷服務(wù)程序處理異步事件,這處理異步事件,這部分可以看成部分可以看成前臺(tái)前臺(tái)行為行為,前臺(tái)也叫中,前臺(tái)也叫中斷級(jí)。時(shí)間相關(guān)性斷級(jí)。時(shí)間相關(guān)性很強(qiáng)的關(guān)鍵操作一很強(qiáng)的關(guān)鍵操作一定是靠中斷服務(wù)程定是靠中斷服務(wù)程序來(lái)保證的。序來(lái)保證的。 循環(huán)中調(diào)用相循環(huán)中調(diào)用相應(yīng)的函數(shù)

20、完成相應(yīng)應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可的操作,這部分可以看成以看成后臺(tái)行為后臺(tái)行為,后臺(tái)也可以叫做任后臺(tái)也可以叫做任務(wù)級(jí)。這種系統(tǒng)在務(wù)級(jí)。這種系統(tǒng)在處理的及時(shí)性上比處理的及時(shí)性上比實(shí)際可以做到的要實(shí)際可以做到的要差。差。 ISRISRISRISR后臺(tái)后臺(tái)前臺(tái)前臺(tái)中斷服務(wù)程序中斷服務(wù)程序時(shí)時(shí)間間前后臺(tái)系統(tǒng)48操作系統(tǒng)是計(jì)算機(jī)中最基本的程序。操作系統(tǒng)負(fù)責(zé)計(jì)算機(jī)系統(tǒng)中全部軟硬資源的分配與回收、控制與協(xié)調(diào)等并發(fā)的活動(dòng),提高資源利用率;提高資源利用率;操作系統(tǒng)提供用戶接口,方便用戶使用;方便用戶使用;操作系統(tǒng)為用戶擴(kuò)展新的系統(tǒng)功能提供軟件平臺(tái)。 操作系統(tǒng)硬件硬件驅(qū)動(dòng)操作系統(tǒng)用戶程序49實(shí)時(shí)操作系統(tǒng)是一

21、段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運(yùn)行于RTOS之上的各個(gè)任務(wù),RTOS根據(jù)各個(gè)任務(wù)的要求,進(jìn)進(jìn)行資源管理行資源管理(包括包括CPU、存儲(chǔ)器、外設(shè)等、存儲(chǔ)器、外設(shè)等) 、消息管、消息管理、任務(wù)調(diào)度、異常處理等工作。理、任務(wù)調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中, 每個(gè)任務(wù)均有一個(gè)優(yōu)先級(jí),RTOS根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)地切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要求。 實(shí)時(shí)操作系統(tǒng)(實(shí)時(shí)操作系統(tǒng)(Real Time Operating System, RTOS)50多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信。內(nèi)核提

22、供的基本服務(wù)是任務(wù)切換。使用實(shí)時(shí)內(nèi)核可以大大簡(jiǎn)化應(yīng)用系統(tǒng)的設(shè)計(jì),是因?yàn)閷?shí)時(shí)內(nèi)核允許將應(yīng)用分成若干個(gè)任務(wù),由實(shí)時(shí)內(nèi)核來(lái)管理它們。內(nèi)核需要消耗一定的系統(tǒng)資源,比如25的CPU運(yùn)行時(shí)間、RAM和ROM等。 內(nèi)核提供必不可少的系統(tǒng)服務(wù),如信號(hào)量、消息隊(duì)列、延時(shí)等。內(nèi)核51調(diào)度是內(nèi)核的主要職責(zé)之一。調(diào)度就是決定該輪到哪個(gè)任務(wù)運(yùn)行了。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。每個(gè)任務(wù)根據(jù)其重要程序的不同被賦予一定的優(yōu)先級(jí)?;趦?yōu)先級(jí)的調(diào)度法基于優(yōu)先級(jí)的調(diào)度法指CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。然而究竟何時(shí)讓高優(yōu)先級(jí)任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的

23、是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核。 調(diào)度52非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄非占先式內(nèi)核要求每個(gè)任務(wù)自我放棄CPU 的的所有權(quán)。所有權(quán)。非占先式調(diào)度法也稱作合作型多任務(wù),各個(gè)任務(wù)彼此合作共享一個(gè)CPU。不按優(yōu)先級(jí)安排。非占先式內(nèi)核當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式內(nèi)核。因此絕大多數(shù)商業(yè)上銷售的實(shí)時(shí)內(nèi)核都是占先式內(nèi)核。最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。按優(yōu)先級(jí)安排。占先式內(nèi)核53任務(wù)的優(yōu)先級(jí)是表示任務(wù)被調(diào)度的優(yōu)先程度。每個(gè)任務(wù)都具有優(yōu)先級(jí)。任務(wù)越重要,賦予的優(yōu)先級(jí)應(yīng)越高,越容易被調(diào)度而進(jìn)入運(yùn)行態(tài)。 任務(wù)優(yōu)先級(jí)中斷是一種硬件機(jī)制,用于通知CPU有個(gè)異步事件發(fā)生了。中

24、斷一旦被識(shí)別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務(wù)子程序(ISR)。中斷服務(wù)子程序做事件處理,處理完成后,程序回到:1. 在前后臺(tái)系統(tǒng)中,程序回到后臺(tái)程序;2. 對(duì)非占先式內(nèi)核而言,程序回到被中斷了的任務(wù);3. 對(duì)占先式內(nèi)核而言,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開始運(yùn)行。中斷54前后臺(tái)系統(tǒng)中斷ISR任務(wù)ISR非占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)CISR占先操作系統(tǒng)任務(wù)A任務(wù)B任務(wù)C55時(shí)鐘節(jié)拍是特定的周期性中斷??煽醋魇窍到y(tǒng)心臟的脈動(dòng)。中斷之間的時(shí)間間隔取決于不同應(yīng)用,一般在10ms到200ms之間。時(shí)鐘節(jié)拍率越快,系統(tǒng)的額外開銷就越大。時(shí)鐘節(jié)拍嵌入式

25、實(shí)時(shí)操作系統(tǒng)在功能復(fù)雜、系統(tǒng)龐大的應(yīng)用中顯得愈來(lái)愈重要。在嵌入式應(yīng)用中,只有把CPU嵌入到系統(tǒng)中,同時(shí)又把操作系統(tǒng)嵌入進(jìn)去,才是真正的計(jì)算機(jī)嵌入式應(yīng)用。使用實(shí)時(shí)操作系統(tǒng)主要有以下幾個(gè)因素:嵌入式實(shí)時(shí)操作系統(tǒng)提高了系統(tǒng)的可靠性。 提高了開發(fā)效率,縮短了開發(fā)周期。 嵌入式實(shí)時(shí)操作系統(tǒng)發(fā)揮了32位CPU的多任務(wù)潛力。 56:在嵌入式實(shí)時(shí)操作系統(tǒng)環(huán)境下開發(fā)實(shí)時(shí)應(yīng)用程序使程序的設(shè)計(jì)和擴(kuò)展變得容易,不需要大的改動(dòng)就可以增加新的功能。通過(guò)將應(yīng)用程序分割成若干獨(dú)立的任務(wù)模塊,簡(jiǎn)化了設(shè)計(jì);對(duì)實(shí)時(shí)性要求苛刻的事件都得到了快速、可靠的處理。通過(guò)有效的系統(tǒng)服務(wù),嵌入式實(shí)時(shí)操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。:但是,使

26、用嵌入式實(shí)時(shí)操作系統(tǒng)還需要額外的ROM/RAM開銷,25%的CPU額外負(fù)荷,以及內(nèi)核的費(fèi)用。 57 uClinux是一個(gè)完全符合GNU/GPL公約的操作系統(tǒng),完全開放代碼。uClinux從Linux 2.0/2.4內(nèi)核派生而來(lái),沿襲了主流Linux的絕大部分特性。它是專門針對(duì)沒(méi)有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。適用于沒(méi)有虛擬內(nèi)存或內(nèi)存管理單元(Memory Manage Unit, MMU)的處理器,例如ARM7TDMI。它通常用于具有很少內(nèi)存或Flash的嵌入式系統(tǒng)。它保留了Linux的大部分優(yōu)點(diǎn):。 嵌入式Linux58 是微軟開發(fā)的一個(gè)開放的、可升級(jí)的32位嵌入式操

27、作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作,它是精簡(jiǎn)的Windows 95。Windows CE的圖形用戶界面相當(dāng)出色。Win CE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口以及與處理器無(wú)關(guān)等特點(diǎn)。Win CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Win CE平臺(tái)上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C+等)、 Win CE59VxWorks VxWorks操作系統(tǒng)是美國(guó) 公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),是嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實(shí)

28、時(shí)操作系統(tǒng)領(lǐng)域占據(jù)一席之地。它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等,甚至在1997年4月登陸火星表面的火星探測(cè)器上也使用到了VxWorks。該系統(tǒng)價(jià)格較貴。60 C/OS-II是一個(gè)源碼公開、可移植、可固化、源碼公開、可移植、可固化、可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源碼是用ANSI C寫的,使其可以方便的移植并支持大多數(shù)類型的處理器。C/OS-II通過(guò)了聯(lián)邦航空局(FAA)商用航行器認(rèn)證。自1992年問(wèn)世以來(lái),C/OS-II已經(jīng)被應(yīng)用到

29、數(shù)以百計(jì)的產(chǎn)品中。C/OS-II占用很少的系統(tǒng)資源,并且在高校教學(xué)使用是不需要申請(qǐng)?jiān)S可證。C/OS-II作業(yè):第一章 思考與練習(xí) 2,3,461應(yīng)用程序?qū)崟r(shí)操作系統(tǒng)(RTOS)輸入輸出接口處理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮點(diǎn)運(yùn)算協(xié)處理器DMA電源管理 典型的嵌入式系統(tǒng)組成典型的嵌入式系統(tǒng)組成人機(jī)交互接口LCD/觸摸屏、鍵盤、鼠標(biāo)設(shè)備驅(qū)動(dòng)程序、HAL、BSP文件系統(tǒng)/圖形用戶應(yīng)用程序接口驅(qū)動(dòng)層OS層應(yīng)用層軟件硬件以太網(wǎng)看門狗及復(fù)位電路Timer/RTCCANFlashEEPROMSDRAMSRA

30、M內(nèi)存返回返回62lComputer systeml硬件lIntelAMDl硬盤l內(nèi)存l顯示器鍵盤聲卡顯卡lSoftwarelBIOSlWindowsLunixl應(yīng)用軟件(如office)63646.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)65馮馮諾依曼體系結(jié)構(gòu)模型諾依曼體系結(jié)構(gòu)模型指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器存儲(chǔ)器存儲(chǔ)器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 266哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)指令寄

31、存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器程序存儲(chǔ)器程序存儲(chǔ)器指令指令0指令指令1指令指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2地址地址指令指令地址地址數(shù)據(jù)數(shù)據(jù)67CISC和和RISCCISCCISC:復(fù)雜指令集(:復(fù)雜指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和尋址方式具有大量的指令和尋址方式8/28/2原則:原則:80%80%的程序只使用的程序只使用20%20%的指令的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。大多數(shù)程序只使用少量的

32、指令就能夠運(yùn)行。RISCRISC:精簡(jiǎn)指令集(:精簡(jiǎn)指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使使CPUCPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單 68 ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC 處理器。ARM公司的特點(diǎn)是只設(shè)計(jì)芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體

33、、軟件和OEM(Original Equipment Manufacturer,原始設(shè)備生產(chǎn)商)廠商,并提供服務(wù)。OEM:定牌生產(chǎn)合作,俗稱“貼牌”。 這種委托他人生產(chǎn)的合作方式即為OEM,承接這加工任務(wù)的制造商就被稱為OEM廠商,其生產(chǎn)的產(chǎn)品就是OEM產(chǎn)品。 69ARM授權(quán)費(fèi)IPARM 創(chuàng)造和設(shè)計(jì)IPPartner產(chǎn)品,例如:芯片Partner把ARM IP 和其他 IP 集成進(jìn)產(chǎn)品OEM Customer版權(quán)費(fèi)單價(jià)OEM 用來(lái)自ARM Partner的芯片設(shè)計(jì)制造最終用戶產(chǎn)品業(yè)務(wù)拓展 / 市場(chǎng)格局70將技術(shù)授權(quán)給其它芯片廠商形成各具特色的形成各具特色的ARMARM芯片芯片. . .71兩種

34、體系結(jié)構(gòu):CISC (Complex Instruction Set Computer),即“復(fù)雜指令系統(tǒng)計(jì)算機(jī) PC機(jī)系列; RISCRISC (reduced instruction set computer)是精簡(jiǎn)指令集計(jì)算機(jī)的縮寫,其目標(biāo)是設(shè)計(jì)出在高時(shí)鐘頻率下設(shè)計(jì)出在高時(shí)鐘頻率下單周期執(zhí)行,簡(jiǎn)單而有效的指令集單周期執(zhí)行,簡(jiǎn)單而有效的指令集。ARM內(nèi)核采用RISC體系結(jié)構(gòu),因此具有RISC的結(jié)構(gòu)特點(diǎn):具有大量的通用存儲(chǔ)器;具有大量的通用存儲(chǔ)器;獨(dú)特的裝載獨(dú)特的裝載/ /保存(保存(load-storeload-store)結(jié)構(gòu);)結(jié)構(gòu);簡(jiǎn)單的尋址模式簡(jiǎn)單的尋址模式; ;統(tǒng)一和固定長(zhǎng)度的指

35、令格式。統(tǒng)一和固定長(zhǎng)度的指令格式。72 為了使ARM能夠更好地滿足嵌入式應(yīng)用的需要,ARM體系結(jié)構(gòu)還有以下特點(diǎn):每條數(shù)據(jù)處理指令可同時(shí)包含算術(shù)邏輯單元(ALU)的運(yùn)算和移位處理,實(shí)現(xiàn)ALU和移位器的最大利用;使用地址自增和自減地址自增和自減的尋址方式優(yōu)化程序循環(huán);裝載裝載/ /保存保存指令對(duì)數(shù)據(jù)的批量傳輸,實(shí)現(xiàn)最大數(shù)據(jù)吞吐量;多數(shù)指令的依條件執(zhí)行,實(shí)現(xiàn)最快速的代碼執(zhí)行。73 ARM公司開發(fā)了很多系列的ARM處理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已經(jīng)很罕見了。當(dāng)前應(yīng)用比較多的ARM處理器核系列有:ARM7ARM9ARM10EXscaleARM11CortexARM9E

36、本課程主要介紹ARM7系列。741994-2004年發(fā)布的年發(fā)布的ARM內(nèi)核內(nèi)核75處理器內(nèi)核處理器內(nèi)核 內(nèi)核分類內(nèi)核分類ARM7 ARM7DMI(-S) ARM720T ARM7EJ-SARM9 ARM920T ARM922TARM9E ARM926EJ-S ARM946E-S ARM966E-S ARM968E-SARM10E ARM1020E ARM1022E ARM1026EJ-S處理器內(nèi)核處理器內(nèi)核內(nèi)核分類內(nèi)核分類ARM11 ARM1136J(F)-S ARM1156T2(F)-S ARM1176JZ(F)-SSecurCore SC100 SC110 SC200 SC210Stro

37、ng ARMXscale76 基于ARMv7版本的ARM Cortex系列產(chǎn)品由A、R、M三個(gè)系列組成,具體分類延續(xù)了一直以來(lái)ARM面向具體應(yīng)用設(shè)計(jì)CPU的思路。 ARM CortexA應(yīng)用處理器(Application Processor)系列 R實(shí)時(shí)控制處理(Real Time Control )系列M微控制器(Micro Controller )系列77 該處理器是首款基于ARMv7-M架構(gòu)的處理器,采用了純Thumb2指令的執(zhí)行方式,具有極高的運(yùn)算能力和中斷相應(yīng)能力。 Cortex-M3主要應(yīng)用于汽車車身系統(tǒng),工業(yè)控制系統(tǒng)和無(wú)線網(wǎng)絡(luò)等對(duì)功耗和成本敏感的嵌入式應(yīng)用領(lǐng)域。lCortexTM

38、-R4處理器簡(jiǎn)介 該處理器是首款基于ARMv7架構(gòu)的高級(jí)嵌入式處理器,其主要目標(biāo)為產(chǎn)量巨大的高級(jí)嵌入式應(yīng)用系統(tǒng),如硬盤,噴墨式打印機(jī),以及汽車安全系統(tǒng)等等。lCortexTM-R4F處理器簡(jiǎn)介 該處理器在CortexTM-R4處理器的基礎(chǔ)上加入了代碼錯(cuò)誤校正(ECC)技術(shù),浮點(diǎn)運(yùn)算單元(FPU)以及DMA綜合配置的能力,增強(qiáng)了處理器在存儲(chǔ)器保護(hù)單元、緩存、緊密耦合存儲(chǔ)器、DMA訪問(wèn)以及調(diào)試方面的能力。78 該處理器是ARM公司所開發(fā)的基于基于ARMv7ARMv7架構(gòu)架構(gòu)的首款應(yīng)用級(jí)處理器,其特色是運(yùn)用了可增加代碼密度和加強(qiáng)性能的技術(shù)、可支持多媒體以及信號(hào)處理能力的NEONTM技術(shù)、以及能夠支持

39、Java和其他文字代碼語(yǔ)言的提前和即時(shí)編譯的JazelleRTC技術(shù)。眾多先進(jìn)的技術(shù)使其適用于家電以及電子行業(yè)等各種高端的應(yīng)用領(lǐng)域。lARM7系列簡(jiǎn)介 該系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T和擴(kuò)充了Jazelle(Java加速器)的ARM7EJ-S。該系列處理器提供Thumb 16位壓縮指令集和EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SoC設(shè)計(jì)中。ARM7系列廣泛應(yīng)用于多媒體和嵌入式設(shè)備,包括Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備,以及移動(dòng)電話、PDA等無(wú)線設(shè)備。79 該系列包括ARM9TDMI、ARM920T和帶有高速緩存處理

40、器宏單元的ARM940T。除了兼容ARM7系列,而且能夠更加靈活的設(shè)計(jì)。ARM9系列主要應(yīng)用于引擎管理、儀器儀表、安全系統(tǒng)和機(jī)頂盒等領(lǐng)域。 該系列為含有DSP指令集的綜合處理器,包括ARM926EJ-S、帶有高速緩存處理器宏單元的ARM966E-S/ARM946E-S。其內(nèi)核在ARM7處理器內(nèi)核的基礎(chǔ)上使用了Jazelle增強(qiáng)技術(shù),該技術(shù)支持一種新的Java操作狀態(tài),允許在硬件中執(zhí)行Java字節(jié)碼。ARM9E系列主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。lARM9E系列簡(jiǎn)介80 該系列包括ARM1020E和ARM1020E處理器核,其核心在于使用向量浮

41、點(diǎn)(VFP)單元VFP10提供高性能的浮點(diǎn)解決方案,從而極大提高了處理器的整型和浮點(diǎn)運(yùn)算性能。 可以用于視頻游戲機(jī)和高性能打印機(jī)等場(chǎng)合。lXscale簡(jiǎn)介 Intel Xscale微控制器則提供全性能、高性價(jià)比、低功耗的解決方案,支持16位Thumb指令并集成數(shù)字信號(hào)處理(DSP)指令。 主要應(yīng)用于手提式通訊和消費(fèi)電子類設(shè)備。816.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)82 ARM7TDMI是基于ARM體系結(jié)構(gòu)V4版本的低端ARM核。 其彌補(bǔ)了ARM6很難在低于5V電壓下穩(wěn)定工作的不足,還增加了后綴所對(duì)應(yīng)的功能:注意:“ARM核”并

42、非芯片,ARM核與其它部件如RAM、ROM、片內(nèi)外設(shè)組合在一起才能構(gòu)成現(xiàn)實(shí)的芯片。ARM7TDMI-S支持高密度16位的Thumb指令集;支持片上調(diào)試;支持64位乘法;支持EmbededICE觀察硬件;ARM7TDMI 的可綜合(synthesizable)版本(軟核),對(duì)應(yīng)用工程師來(lái)說(shuō)其編程模型與ARM7TDMI 一致;83標(biāo)志含義說(shuō)明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上調(diào)試M支持長(zhǎng)乘法32位乘32位得到64位,32位的乘加得到64位IEmbedded ICEEDSP指令增加了DSP算法處理器指令:1

43、6位乘加指令,飽和的帶符號(hào)數(shù)的加減法,雙字?jǐn)?shù)據(jù)操作,cache預(yù)取指令JJava加速器Jazelle提高java代碼的運(yùn)行速度S可綜合提供VHDL或Verilog語(yǔ)言設(shè)計(jì)文件84從偶數(shù)地址開始的連續(xù)2個(gè)字節(jié)構(gòu)成一個(gè)半字;以能被4整除的地址開始的連續(xù)4個(gè)字節(jié)構(gòu)成一個(gè)字;ARM指令的長(zhǎng)度剛好是一個(gè)字,Thumb指令的長(zhǎng)度剛好是一個(gè)半字。85 如果一個(gè)數(shù)據(jù)是從偶地址開始的連續(xù)存儲(chǔ),那么它就是半字對(duì)齊,否則就是非半字對(duì)齊; 如果一個(gè)數(shù)據(jù)是以能被4整除的地址開始的連續(xù)存儲(chǔ),那么它就是字對(duì)齊,否則就是非字對(duì)齊。方式方式半字對(duì)齊半字對(duì)齊字對(duì)齊字對(duì)齊地址地址0 x40020 x40020 x40040 x40

44、040 x40040 x40040 x40080 x4008特征特征Bit0=0Bit0=0其他位為任意值其他位為任意值Bit1=0,Bit0=0Bit1=0,Bit0=0其他位為任意值其他位為任意值86 ARM處理器使用流水線來(lái)增加處理器指令流的速度,這樣可使幾個(gè)操作同時(shí)進(jìn)行,并使處理和存儲(chǔ)器系統(tǒng)連續(xù)操作,能提供0.9MIPS/MHz的指令執(zhí)行速度。 ARM7TDMI的流水線分3級(jí),分別為:取指譯碼執(zhí)行取指譯碼執(zhí)行處理指令并將結(jié)果寫回寄存器識(shí)別將要被執(zhí)行的指令從寄存器裝載一條指令正常操作過(guò)程中,在執(zhí)行一條指令的同時(shí)對(duì)下一條(第二條)指令進(jìn)行譯碼,并將第三條指令從存儲(chǔ)器中取出。 在ARM狀態(tài)下

45、,流水線上各指令的地址為: 在Thumb狀態(tài)下,流水線上各指令的地址為:PCPC-4PC-8PCPC-2PC-487PC指令1指令2指令3指令4程序存儲(chǔ)器PC-4PC-8PC+4周期1周期2周期3周期4周期5周期6取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行取指 譯碼 執(zhí)行周期周期2周期周期1周期周期3周期周期4 在第1個(gè)周期,PC指向指令1,此時(shí)指令1進(jìn)入三級(jí)流水線的取指階段。1 在第2個(gè)周期,PC指向指令2,此時(shí)指令1進(jìn)入三級(jí)流水線的譯碼階段,同時(shí)取出指令2。2 在第3個(gè)周期,PC指向指令3,此時(shí)指令1進(jìn)入三級(jí)流水線的執(zhí)行階段,指令2進(jìn)入譯碼階段,取出指令3。3 在第4個(gè)周期,指令1執(zhí)

46、行完成,指令2和指令3流水線推進(jìn)一級(jí),同時(shí)開始指令4的取指處理。4處理器執(zhí)行一條指令的三個(gè)階段88 執(zhí)行ADD PC,PC,#4指令后,PC的值為多少?ADD PC,PC,#40 x40000 x40040 x40080 x400C地址指令PC取指譯碼執(zhí)行PCPC-4PC-8ARM7的3級(jí)流水線ADD 程序計(jì)數(shù)器R15(PC)總是指向“正在取指”的指令,而不是指向“正在執(zhí)行”的指令或“正在譯碼”的指令。 一般來(lái)說(shuō),人們習(xí)慣性約定將“正在執(zhí)行”的指令作為參考點(diǎn),則:PC值當(dāng)前程序執(zhí)行位置8 注:ARM狀態(tài)時(shí),每條指令為4字節(jié)長(zhǎng)。 PC指向0 x4000地址,取指ADD指令。 PC指向0 x400

47、4地址,譯碼ADD指令。 PC指向0 x4008地址,執(zhí)行ADD指令,所以指令執(zhí)行的結(jié)果為: PC=PC+40 x400840 x400C。896.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)90CPU掃描鏈1掃描鏈1數(shù)據(jù)總線數(shù)據(jù)總線掃描鏈1掃描鏈2協(xié)處理器信號(hào)接口EmbeddedICE-RTTAP 控制器EmbeddedICE-RT宏單元DBGTCKENDBGTMSDBGnTRSTDBGTDIDBGTDORDATA31:0WDATA31:0ADDR31:0TRANS1:0PROT1:0SIZE1:0WRITELOCKDBGRNG(0)DB

48、GRNG(1)DBGEXT(1)DBGEXT(0)CPU協(xié)處理接口信號(hào)EmbedICE硬件仿真功能模塊片上調(diào)試系統(tǒng)讀寫總線91地址寄存器寄存器組31*32位寄存器(6個(gè)狀態(tài)寄存器)地址增加器乘法器桶形移位器32位ALU寫數(shù)據(jù)寄存器指令管線讀數(shù)據(jù)寄存器Thumb指令譯碼器指令譯碼和控制邏輯ADDR31:0CLKCLENCFGBIGENDnIRQnFIQnRESETABORTLOCKWRITESIZE1:0PROT1:0TRANS1:0DBG輸出DBG輸入CP控制CP握手WDATA31:0RDATA31:0掃描調(diào)試控制92ARM7TDMI-S處理器LOCKCLKCLKENnIRQnFIQnRESE

49、TCFGBIGENDDBGRQDMOREDBGINSTRVAILDDBGBREAKDBGACKDBGnEXECDBGEXT1DBGEXT0DBGENDBGCOMMTXDBGCOMMRXDBGRNG0DBGRNG1DBGTCKENDBGTMSDBGTDIDBGnTRSTDBGTDODBGnTDOENADDR31:0WDATA31:0RDATA31:0ABORTWRITESIZE1:0PROT1:0TRANS1:0CPnTRANSCPnOPCCPnMREQCPSEQCPTBITCPnICPACPB同步的掃描調(diào)試訪問(wèn)接口存儲(chǔ)器接口存儲(chǔ)器管理接口協(xié)處理器接口時(shí)鐘中斷總線控制仲裁調(diào)試936.ARM內(nèi)部寄

50、存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)94 ARM7TDMI處理器內(nèi)核包含2套指令系統(tǒng),分別為ARM指令集和Thumb指令,并且各自對(duì)應(yīng)1種處理器的狀態(tài):ARM狀態(tài):32位,處理器執(zhí)行字方式的ARM指令,處理器默認(rèn)為此狀態(tài);Thumb狀態(tài):16位,處理器執(zhí)行半字方式的Thumb指令。注意:注意:兩個(gè)狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容。95地址最低位為0,表示切換到ARM狀態(tài) 使用BX指令將ARM內(nèi)核的操作狀態(tài)在ARM狀態(tài)和Thumb狀態(tài)之間進(jìn)行切換。ARM指令集Thumb指令集CODE32LDRR0, =Lable+1BX R0CODE

51、16Lable MOV R1, #12CODE16LDR R0, =LableBX R0CODE32LableMOV R1, #10地址最低位為1,表示切換到Thumb狀態(tài)跳轉(zhuǎn)地址標(biāo)號(hào)執(zhí)行完BX指令,處理器切換到Thumb狀態(tài),開始執(zhí)行Thumb指令程序代碼指令集關(guān)系 從ARM狀態(tài)切換到Thumb狀態(tài)的程序代碼如下: 從Thumb狀態(tài)切換到ARM狀態(tài)的程序代碼如下:執(zhí)行完BX指令,處理器切換到ARM狀態(tài),開始執(zhí)行ARM指令966.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)972.5 ARM處理器模式l簡(jiǎn)介ARM體系結(jié)構(gòu)支持7種處理器模式,

52、分別為:用戶模式、快中斷模式、中斷模式、管理模式、用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。中止模式、未定義模式和系統(tǒng)模式。這樣的好處是可以更好的支持操作系統(tǒng)并提高工作效率。ARM7TDMI完全支持這七種模式。98 除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問(wèn)。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。處理器模式處理器模式說(shuō)明說(shuō)明備注備注 用戶(usr)正常程序運(yùn)行的工作模式不能直接從用戶模式切換到其它模式特權(quán)模式系統(tǒng)(sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與

53、用戶模式類似,但具有可以直接切換到其它模式等特權(quán)異常模式快中斷(fiq)快速中斷請(qǐng)求處理只有在FIQ異常響應(yīng)時(shí),才進(jìn)入此模式中斷(irq)中斷請(qǐng)求處理只有在IRQ異常響應(yīng)時(shí),才進(jìn)入此模式管理(svc)供操作系統(tǒng)使用的一種保護(hù)模式只有在系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí),才進(jìn)入此模式中止(abt)用于虛擬內(nèi)存和/或存儲(chǔ)器保護(hù)在ARM7內(nèi)核中沒(méi)有多大用處未定義(und) 支持軟件仿真的硬件協(xié)處理器只有在未定義指令異常響應(yīng)時(shí),才進(jìn)入此模式l處理器模式 這兩種模式都不能由異常進(jìn)入,想要進(jìn)入必須修改CPSR,而且它們使用完全相同的寄存器組。系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。操作系統(tǒng)在該模式下訪問(wèn)用戶模式的寄

54、存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個(gè)模式訪問(wèn)一些受控的資源。 這五種模式稱為異常模式。它們除了可以通過(guò)程序切換進(jìn)入外,也可以由特定的異常進(jìn)入。當(dāng)特定的異常出現(xiàn)時(shí),處理器進(jìn)入相應(yīng)的模式。每種異常模式都有一些獨(dú)立的寄存器,以避免異常退出時(shí)用戶模式的狀態(tài)不可靠。何時(shí)進(jìn)入異常模式,具體規(guī)定如下:處理器復(fù)位之后進(jìn)入管理模式,操作系統(tǒng)內(nèi)核通常處于管理模式;當(dāng)處理器訪問(wèn)存儲(chǔ)器失敗時(shí),進(jìn)入數(shù)據(jù)訪問(wèn)中止模式;當(dāng)處理器遇到?jīng)]有定義或不支持的指令時(shí),進(jìn)入未定義模式;中斷模式與快速中斷模式分別對(duì)ARM處理器2種不同級(jí)別的中斷作出響應(yīng)。996.ARM內(nèi)部寄存器7.當(dāng)前程序狀態(tài)寄存器8.ARM體系的異常

55、、中斷及其向量表9.ARM體系的存儲(chǔ)系統(tǒng)100 在ARM處理器內(nèi)部共有37個(gè)用戶可訪問(wèn)的寄存器,分別為31個(gè)通用32位寄存器和6個(gè)狀態(tài)寄存器。 ARM處理器共有7種不同的處理器模式,每種模式都有一組相應(yīng)的寄存器組,最多可以18個(gè)活動(dòng)的寄存器。SPSR:普通模式 和系統(tǒng)模式下是看不見SPSR這個(gè)寄存器的!只有當(dāng)進(jìn)入異常模式的時(shí)候,SPSR就會(huì)保存當(dāng)前CPSR的狀態(tài),便于退出異常時(shí)恢復(fù)使用。101ARM狀態(tài)各模式下的寄存器寄存器寄存器類別類別寄存器在匯寄存器在匯編中的名稱編中的名稱各模式下實(shí)際訪問(wèn)的寄存器各模式下實(shí)際訪問(wèn)的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通通用

56、用寄寄存存器器和和程程序序計(jì)計(jì)數(shù)數(shù)器器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR13_irqR14_fiqR15(PC)R15狀態(tài)狀態(tài)寄存器寄存器CPSRCPSRSPSRSPSR_sv

57、cSPSR_abtSPSR_undSPSR_irqSPSR_fiq 所有的37個(gè)寄存器,分成兩大類:31個(gè)通用32位寄存器;6個(gè)狀態(tài)寄存器。102ARM狀態(tài)各模式下可以訪問(wèn)的寄存器寄存器寄存器類別類別寄存器在匯寄存器在匯編中的名稱編中的名稱各模式下實(shí)際訪問(wèn)的寄存器各模式下實(shí)際訪問(wèn)的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義中斷中斷快中斷快中斷通通用用寄寄存存器器和和程程序序計(jì)計(jì)數(shù)數(shù)器器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,

58、v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)狀態(tài)寄存器寄存器CPSRCPSRSPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq103未分組的通用寄存器寄存器寄存器類別類別寄存器在匯寄存器在匯編中的名稱編中的名稱各模式下實(shí)際訪問(wèn)的寄存器各模式下實(shí)際訪問(wèn)的寄存器用戶用戶系統(tǒng)系統(tǒng)管理管理中止中止未定義未定義

59、中斷中斷快中斷快中斷通通用用寄寄存存器器和和程程序序計(jì)計(jì)數(shù)數(shù)器器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR13_irqR14_fiqR15(PC)R15狀態(tài)狀態(tài)寄存器寄存器CPSRCP

60、SRSPSRSPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq寄存器R0R7為未分組的通用寄存器,它們?cè)谌魏翁幚砥髂J蕉紝?duì)應(yīng)于相同的32位物理寄存器。第一類分組的通用寄存器寄存器R8R12有兩個(gè)分組的物理寄存器。一個(gè)用于除FIQ模式之外的所有寄存器模式,另一個(gè)用于FIQ模式。在發(fā)生FIQ中斷后,處理器不必為保護(hù)寄存器而浪費(fèi)時(shí)間,從而加速了FIQ的處理速度。第二類分組的通用寄存器寄存器R13、R14分別有6個(gè)分組的物理寄存器。1個(gè)用于用戶和系統(tǒng)模式,其余5個(gè)分別用于5種異常模式。寄存器R13通常作為堆棧指針(SP),用于保存待使用的寄存器的內(nèi)容。寄存器R14稱為鏈接

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論