第3章ARM處理器_第1頁
第3章ARM處理器_第2頁
第3章ARM處理器_第3頁
第3章ARM處理器_第4頁
第3章ARM處理器_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3 3章章 ARMARM處理器處理器ARM既是一種嵌入式處理器體系結(jié)構(gòu)的縮寫,也是一既是一種嵌入式處理器體系結(jié)構(gòu)的縮寫,也是一家公司的名字。目前有數(shù)十家公司使用家公司的名字。目前有數(shù)十家公司使用ARM體系結(jié)構(gòu)開發(fā)體系結(jié)構(gòu)開發(fā)自己的芯片,支持的外部設(shè)備和功能豐富多樣。自己的芯片,支持的外部設(shè)備和功能豐富多樣。ARM體系體系相比其他的體系具有結(jié)構(gòu)簡單、入門快等特點。使用相比其他的體系具有結(jié)構(gòu)簡單、入門快等特點。使用ARM核心的處理器雖然眾多,但是核心都是相同的。因此,掌握核心的處理器雖然眾多,但是核心都是相同的。因此,掌握了了ARM的體系結(jié)構(gòu),用不同的處理器只要是基于的體系結(jié)構(gòu),用不同的處理器

2、只要是基于ARM核心核心都能很快上手。本章的主要內(nèi)容包括:都能很快上手。本章的主要內(nèi)容包括:微處理器和微控制器的關(guān)系微處理器和微控制器的關(guān)系A(chǔ)RM處理器介紹處理器介紹ARM體系結(jié)構(gòu)體系結(jié)構(gòu)ARM的功能選型的功能選型3.1 3.1 微處理器和微控制器微處理器和微控制器微處理器可以根據(jù)應(yīng)用領(lǐng)域大致分成通用微處理器、微處理器可以根據(jù)應(yīng)用領(lǐng)域大致分成通用微處理器、嵌入式微處理器和微控制器。通用微處理器主要用于高性能嵌入式微處理器和微控制器。通用微處理器主要用于高性能計算,如常用的計算,如常用的PC機的機的CPU就是一個通用微處理器;嵌入就是一個通用微處理器;嵌入式微處理器是針對某種特定應(yīng)用的高能力計算

3、,如式微處理器是針對某種特定應(yīng)用的高能力計算,如MP3的解的解碼、移動電話的控制等;微控制器主要用于控制某種設(shè)備,碼、移動電話的控制等;微控制器主要用于控制某種設(shè)備,通常集成了多種外部設(shè)備控制器,處理指令的能力一般不是通常集成了多種外部設(shè)備控制器,處理指令的能力一般不是很強,但是價格低廉,多用在汽車、空調(diào)等設(shè)備上。很強,但是價格低廉,多用在汽車、空調(diào)等設(shè)備上。微控制器除了針對專門設(shè)備設(shè)計以外,還具備微處理微控制器除了針對專門設(shè)備設(shè)計以外,還具備微處理器不具備的特點。如很好的環(huán)境適應(yīng)性,可以在特殊的高溫器不具備的特點。如很好的環(huán)境適應(yīng)性,可以在特殊的高溫或者低溫環(huán)境工作。這些特點一般的微處理器是

4、不具備的。或者低溫環(huán)境工作。這些特點一般的微處理器是不具備的。目前的嵌入式微處理器大多集成了外部設(shè)備控制器,功能不目前的嵌入式微處理器大多集成了外部設(shè)備控制器,功能不斷增強,價格也在下降。使用嵌入式微處理器替代微控制器斷增強,價格也在下降。使用嵌入式微處理器替代微控制器俏蠢捶俏蠢捶溝那魘啤溝那魘啤3.2 ARM3.2 ARM處理器介紹處理器介紹ARM是英文是英文Advanced RISC Machines的縮寫,中文譯的縮寫,中文譯為高性能為高性能RISC機器。從名稱可以看出,機器。從名稱可以看出,ARM是一種基于是一種基于RISC架構(gòu)的高性能處理器。實際上架構(gòu)的高性能處理器。實際上ARM同時

5、也是它的設(shè)計同時也是它的設(shè)計公司的名字。與其他的嵌入式芯片不同,公司的名字。與其他的嵌入式芯片不同,ARM是由是由ARM公公司設(shè)計的一種體系結(jié)構(gòu),主要用于出售技術(shù)授權(quán),并不生產(chǎn)司設(shè)計的一種體系結(jié)構(gòu),主要用于出售技術(shù)授權(quán),并不生產(chǎn)芯片。其他芯片設(shè)計公司可以通過購買芯片。其他芯片設(shè)計公司可以通過購買ARM的授權(quán),設(shè)計的授權(quán),設(shè)計和生產(chǎn)基于和生產(chǎn)基于ARM體系的芯片。體系的芯片。3.2.1 ARM3.2.1 ARM微處理器的應(yīng)用領(lǐng)域微處理器的應(yīng)用領(lǐng)域在前面提到在前面提到ARM已經(jīng)滲透到許多的應(yīng)用領(lǐng)域。已經(jīng)滲透到許多的應(yīng)用領(lǐng)域。1工業(yè)控制工業(yè)控制2無線通信無線通信3網(wǎng)絡(luò)應(yīng)用網(wǎng)絡(luò)應(yīng)用4消費電子產(chǎn)品消費電

6、子產(chǎn)品3.2.2 ARM3.2.2 ARM的功能特點的功能特點ARM核心的處理器采用核心的處理器采用RISC體系結(jié)構(gòu),具有以下優(yōu)點體系結(jié)構(gòu),具有以下優(yōu)點:芯片體積小,功耗低,制造成本低,性能優(yōu)異芯片體積小,功耗低,制造成本低,性能優(yōu)異支持支持Thumb(16位)和位)和ARM(32位)兩種指令集,位)兩種指令集,8位和位和16位設(shè)備兼容性好位設(shè)備兼容性好由于采用由于采用RISC架構(gòu),在內(nèi)部大量使用寄存器,執(zhí)行指架構(gòu),在內(nèi)部大量使用寄存器,執(zhí)行指令速度快令速度快大部分的指令都是操作寄存器,只有很少指令會訪問大部分的指令都是操作寄存器,只有很少指令會訪問外部內(nèi)存外部內(nèi)存采用多級流水線結(jié)構(gòu)處理速度快

7、采用多級流水線結(jié)構(gòu)處理速度快支持多種尋址方式,數(shù)據(jù)存取方式靈活支持多種尋址方式,數(shù)據(jù)存取方式靈活指令長度固定,便于編譯器操作以及執(zhí)行指令指令長度固定,便于編譯器操作以及執(zhí)行指令3.3 ARM3.3 ARM指令集指令集指令集指一個微處理器所有指令的集合,每種微處理指令集指一個微處理器所有指令的集合,每種微處理器都有自己的指令集。在第器都有自己的指令集。在第2章講過處理器的指令集可以分章講過處理器的指令集可以分成成CISC(復(fù)雜指令集)和(復(fù)雜指令集)和RISC(精簡指令集)兩種,(精簡指令集)兩種,ARM處理器使用處理器使用RISC(精簡指令集)。(精簡指令集)。精簡指令集的最大特點是所有的指令

8、占用相同的存儲精簡指令集的最大特點是所有的指令占用相同的存儲空間。空間。ARM處理器支持處理器支持ARM和和Thumb兩種指令集:兩種指令集:ARM指令集工作在指令集工作在32位模式下,指令長度都是位模式下,指令長度都是32比特;比特;Thumb指指令集工作在令集工作在16位模式下,指令長度都是位模式下,指令長度都是16比特。比特。ARM指令集按照功能可以分為算術(shù)運算指令、邏輯運指令集按照功能可以分為算術(shù)運算指令、邏輯運算指令、分支指令、軟件中斷指令和程序數(shù)據(jù)裝載指令等。算指令、分支指令、軟件中斷指令和程序數(shù)據(jù)裝載指令等。3.3.1 3.3.1 算術(shù)運算指令算術(shù)運算指令算術(shù)運算指令用于普通數(shù)據(jù)

9、計算。常見的指令有算術(shù)運算指令用于普通數(shù)據(jù)計算。常見的指令有ADD、ADC、SUB和和SBC。1ADD指令指令2ADC指令指令3SUB指令指令4SBC指令指令3.3.2 3.3.2 邏輯運算指令邏輯運算指令邏輯運算不同與算術(shù)運算。邏輯運算按照邏輯代數(shù)的邏輯運算不同與算術(shù)運算。邏輯運算按照邏輯代數(shù)的運算法則操作數(shù)據(jù),得到邏輯結(jié)果。運算法則操作數(shù)據(jù),得到邏輯結(jié)果。1AND指令指令2EOR指令指令3MOV指令指令3.2.3 3.2.3 分支指令分支指令在匯編語言中,代碼的跳轉(zhuǎn)都是通過分支指令完成了在匯編語言中,代碼的跳轉(zhuǎn)都是通過分支指令完成了,ARM的分支指令比較簡單,本書介紹最基本的分支指令的分支

10、指令比較簡單,本書介紹最基本的分支指令B指令。指令。B指令可以根據(jù)設(shè)置的條件跳轉(zhuǎn)到指定的代碼地址。指令可以根據(jù)設(shè)置的條件跳轉(zhuǎn)到指定的代碼地址。格式:格式:B條件條件 B指令是分支跳轉(zhuǎn)指令。程序中遇到指令是分支跳轉(zhuǎn)指令。程序中遇到B指令會立即跳轉(zhuǎn)指令會立即跳轉(zhuǎn)到指定地址,然后繼續(xù)從新的地址開始運行程序。高級語言到指定地址,然后繼續(xù)從新的地址開始運行程序。高級語言(例如(例如C語言)的語言)的goto語句常被翻譯成語句常被翻譯成B指令。指令。3.2.4 3.2.4 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令用于數(shù)據(jù)傳送指令用于CPU和存儲器之間的數(shù)據(jù)傳送,是和存儲器之間的數(shù)據(jù)傳送,是ARM處理器唯一能與

11、外部存儲器交換數(shù)據(jù)的一類指令。處理器唯一能與外部存儲器交換數(shù)據(jù)的一類指令。1單一數(shù)據(jù)傳送指令單一數(shù)據(jù)傳送指令2多數(shù)據(jù)傳送指令多數(shù)據(jù)傳送指令3.4 ARM3.4 ARM的結(jié)構(gòu)的結(jié)構(gòu)基于基于ARM的芯片有許多,功能結(jié)構(gòu)也不同,但是最基的芯片有許多,功能結(jié)構(gòu)也不同,但是最基本的是本的是ARM核。無論學(xué)習(xí)哪種核。無論學(xué)習(xí)哪種ARM類型的處理器,基本的類型的處理器,基本的內(nèi)容都是一樣的。本節(jié)介紹內(nèi)容都是一樣的。本節(jié)介紹ARM體系結(jié)構(gòu)。內(nèi)容相對比較體系結(jié)構(gòu)。內(nèi)容相對比較抽象,讀者可以在后面的開發(fā)過程中結(jié)合本節(jié)知識深入體會抽象,讀者可以在后面的開發(fā)過程中結(jié)合本節(jié)知識深入體會。3.4.1 ARM3.4.1 A

12、RM體系結(jié)構(gòu)的命名方法體系結(jié)構(gòu)的命名方法ARM體系結(jié)構(gòu)的命名可以分成兩部分,一部分是體系結(jié)構(gòu)的命名可以分成兩部分,一部分是ARM體系體系版本的命名,另一部分是版本的命名,另一部分是ARM體系版本的處理器命名。體系版本的處理器命名。ARM體系體系到目前一共發(fā)布了到目前一共發(fā)布了9個系列的版本,每種版本都可以支持不同的指個系列的版本,每種版本都可以支持不同的指令集和特殊功能。令集和特殊功能。ARMv(版本號)x1(指令集)x2(指令集)指令集縮寫指令集縮寫含義含義TThumb指令集M長乘法指令集E增強DSP指令集J支持Java加速器SIMD多媒體功能擴展指令集3.4.2 3.4.2 處理器系列劃分

13、處理器系列劃分在確定了一種在確定了一種ARM體系結(jié)構(gòu)后,可以形成一系列處理器。不體系結(jié)構(gòu)后,可以形成一系列處理器。不過,處理器的命名主要是功能上的一些細(xì)小差別,基本的核心是相過,處理器的命名主要是功能上的一些細(xì)小差別,基本的核心是相同的。同的。ARMx y zm功能縮功能縮寫寫含義含義T支持Thumb指令集D支持片上調(diào)試M支持快速乘法器I支持嵌入式ICE調(diào)試E支持增強DSP指令J支持Java程序加速F支持浮點運算單元-S綜合版本,支持所有功能3.4.3 3.4.3 處理器工作模式處理器工作模式ARM微處理器可以在工作中隨時切換狀態(tài)。切換工作微處理器可以在工作中隨時切換狀態(tài)。切換工作狀態(tài)不會影響

14、工作模式和寄存器的內(nèi)容。但是狀態(tài)不會影響工作模式和寄存器的內(nèi)容。但是ARM體系要體系要求在處理器啟動的時候應(yīng)該處于求在處理器啟動的時候應(yīng)該處于ARM狀態(tài)。狀態(tài)。ARM處理器使處理器使用操作寄存器的用操作寄存器的0位表示工作狀態(tài),取值是位表示工作狀態(tài),取值是1時代表時代表Thumb狀狀態(tài),取值是態(tài),取值是0時是時是ARM狀態(tài)。可以使用狀態(tài)。可以使用BX指令可以切換狀指令可以切換狀態(tài)。當(dāng)處理器啟動的時候操作寄存器取值為態(tài)。當(dāng)處理器啟動的時候操作寄存器取值為0,保證了默認(rèn),保證了默認(rèn)進入進入ARM狀態(tài)。狀態(tài)。ARM處理器支持處理器支持7種工作模式,這對一些通用處理器來種工作模式,這對一些通用處理器來

15、說確實有點多。不過,通過分析可以發(fā)現(xiàn),說確實有點多。不過,通過分析可以發(fā)現(xiàn),ARM的工作模的工作模式大多都是處理外部中斷和異常的,只不過是對異常和中斷式大多都是處理外部中斷和異常的,只不過是對異常和中斷的分類比較詳細(xì)。的分類比較詳細(xì)。7種工作模式定義請參考。種工作模式定義請參考。3.4.3 3.4.3 處理器工作模式處理器工作模式功能縮寫功能縮寫含義含義T支持Thumb指令集D支持片上調(diào)試M支持快速乘法器I支持嵌入式ICE調(diào)試E支持增強DSP指令J支持Java程序加速F支持浮點運算單元-S綜合版本,支持所有功能3.4.4 3.4.4 存儲系統(tǒng)存儲系統(tǒng)嵌入式微處理器大多采用一種線性的存儲管理模式

16、,嵌入式微處理器大多采用一種線性的存儲管理模式,ARM也是如此。這種管理模式的特點是,系統(tǒng)內(nèi)所有的存也是如此。這種管理模式的特點是,系統(tǒng)內(nèi)所有的存儲器和外部設(shè)備都被安排到一個統(tǒng)一的地址空間,通過地址儲器和外部設(shè)備都被安排到一個統(tǒng)一的地址空間,通過地址映射到不同的設(shè)備,訪問某個設(shè)備只需要訪問該設(shè)備映射的映射到不同的設(shè)備,訪問某個設(shè)備只需要訪問該設(shè)備映射的內(nèi)存地址即可。線性地址空間便于處理器的管理和用戶操作內(nèi)存地址即可。線性地址空間便于處理器的管理和用戶操作。在操作超過在操作超過8位的數(shù)據(jù)時,存在兩種不同的訪問方法:位的數(shù)據(jù)時,存在兩種不同的訪問方法:大字端模式和小字端模式。大字端模式和小字端模式

17、。3.4.4 3.4.4 存儲系統(tǒng)存儲系統(tǒng)字節(jié)n字節(jié)n+1字節(jié)n+2字節(jié)n+3032字節(jié)n+3字節(jié)n+2字節(jié)n+1字節(jié)n032大字端模式小字端模式3.4.5 3.4.5 尋址方式尋址方式尋址就是根據(jù)指令中的地址碼找出操作數(shù)地址的過程尋址就是根據(jù)指令中的地址碼找出操作數(shù)地址的過程,是計算機中很重要的一個部分。對編寫程序來說,不同的,是計算機中很重要的一個部分。對編寫程序來說,不同的尋址方式是存取速度和存取空間權(quán)衡的一個考慮因素。本書尋址方式是存取速度和存取空間權(quán)衡的一個考慮因素。本書介紹介紹7種常見的種常見的ARM處理器尋址模式。處理器尋址模式。1立即尋址立即尋址2寄存器尋址方式寄存器尋址方式3

18、寄存器偏移尋址寄存器偏移尋址4寄存器間接尋址寄存器間接尋址5基址尋址基址尋址6多寄存器尋址多寄存器尋址7棧尋址棧尋址3.4.5 3.4.5 尋址方式尋址方式操作名稱操作名稱功能功能LSL(Logical Shift Left)邏輯左移寄存器的二進制位從右往左移動,空出的位補0LSR(Logical Shift Right)邏輯右移寄存器的二進制位從左往右移動,空出的位補0ASR(Arithmetic Shift Right)算術(shù)右移移位過程中保持符號位不變,即如果源操作數(shù)為正數(shù),則字的高端空出的位補0,否則補1ROR(Rotate Right)循環(huán)右移寄存器的低端移出的位填入字的高端空出的位R

19、RX(Rotate Right eXtended by 1 place)帶擴展的循環(huán)右移操作數(shù)右移一位,高端空出的位用原C標(biāo)志值填充3.5 ARM3.5 ARM的功能選型的功能選型隨著嵌入式應(yīng)用的發(fā)展,隨著嵌入式應(yīng)用的發(fā)展,ARM芯片的使用也不斷增多芯片的使用也不斷增多。但是,由于。但是,由于ARM公司的技術(shù)授權(quán),許多廠商都在生產(chǎn)基公司的技術(shù)授權(quán),許多廠商都在生產(chǎn)基于于ARM核的芯片,給用戶的選擇帶來一定困難。本節(jié)從核的芯片,給用戶的選擇帶來一定困難。本節(jié)從ARM芯片的結(jié)構(gòu)和功能出發(fā),介紹在芯片的結(jié)構(gòu)和功能出發(fā),介紹在ARM芯片的選型過程芯片的選型過程中需要注意的問題,并且在最后給出幾種中需要

20、注意的問題,并且在最后給出幾種ARM芯片介紹。芯片介紹。3.5.1 ARM3.5.1 ARM的選型原則的選型原則基于基于ARM核的處理器眾多,功能相差也很大。選型核的處理器眾多,功能相差也很大。選型主要從應(yīng)用角度出發(fā),根據(jù)功能的需求,是否有升級要求主要從應(yīng)用角度出發(fā),根據(jù)功能的需求,是否有升級要求以及成本等多方面考慮。下面從技術(shù)角度介紹一下以及成本等多方面考慮。下面從技術(shù)角度介紹一下ARM選選型考慮的因素。型考慮的因素。1ARM核心核心2時鐘控制器時鐘控制器3內(nèi)部存儲器內(nèi)部存儲器4中斷控制器中斷控制器5GPIO6實時鐘實時鐘RTC7串行控制器串行控制器8WatchDog9電源管理功能電源管理功能10DMA控制器控制器11I2C接口接口12ADC和和DAC

溫馨提示

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

最新文檔

評論

0/150

提交評論