這里概述的都是一些傳統(tǒng)意義上ARM處理器的一些方面,提醒自己看了之后會想起相關(guān)知識,或是對ARM有一個總體上的概念,其實都是些簡述性的總結(jié),很多都來自網(wǎng)上資料或教學(xué)課件,貼在這里,方便以后隨時隨地的復(fù)習(xí)!
ARM微處理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Intel的StrongARM、XScale和其它廠商基于ARM體系結(jié)構(gòu)的處理器,除了具有ARM體系結(jié)構(gòu)的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應(yīng)用領(lǐng)域。
一、總的來說ARM處理器的一些特點:
1、采用RISC架構(gòu)的ARM微處理器一般具有如下特點:
支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。Thumb指令集比通常的8位和16位CISC/RISC處理器具有更好的代碼密度;
●????????指令執(zhí)行采用3級流水線/5級流水線技術(shù);
●????????帶有指令Cache和數(shù)據(jù)Cache,大量使用寄存器,指令執(zhí)行速度更快。大多數(shù)數(shù)據(jù)操作都在寄存器中完成。尋址方式靈活簡單,執(zhí)行效率高。指令長度固定(在ARM狀態(tài)下是32位,在Thumb狀態(tài)下是16位);
●????????支持大端格式和小端格式兩種方法存儲字數(shù)據(jù);
●????????支持Byte(字節(jié),8位)、Halfword(半字,16位)和Word(字,32位)三種數(shù)據(jù)類型。
●????????支持用戶、快中斷、中斷、管理、中止、系統(tǒng)和未定義等7種處理器模式,除了用戶模式外,其余的均為特權(quán)模式;
●????????處理器芯片上都嵌入了在線仿真ICE-RT邏輯,便于通過JTAG來仿真調(diào)試ARM體系結(jié)構(gòu)芯片,可以避免使用昂貴的在線仿真器。另外,在處理器核中還可以嵌入跟蹤宏單元ETM,用于監(jiān)控內(nèi)部總線,實時跟蹤指令和數(shù)據(jù)的執(zhí)行;
●????????具有片上總線AMBA(Advanced Micro-controller Bus Architecture)。?AMBA定義了3組總線:先進高性能總線AHB(Advanced High performance Bus);先進系統(tǒng)總線ASB(Advanced System Bus);先進外圍總線APB(Advanced Peripheral Bus)。通過AMBA可以方便地擴充各種處理器及I/O,可以把DSP、其他處理器和I/O(如UART、定時器和接口等)都集成在一塊芯片中;
●????????采用存儲器映像I/O的方式,即把I/O端口地址作為特殊的存儲器地址;
●????????具有協(xié)處理器接口。ARM允許接16個協(xié)處理器,如CP15用于系統(tǒng)控制,CP14用于調(diào)試控制器;
●????????采用了降低電源電壓,可工作在3.0V以下;減少門的翻轉(zhuǎn)次數(shù),當(dāng)某個功能電路不需要時禁止門翻轉(zhuǎn);減少門的數(shù)目,即降低芯片的集成度;降低時鐘頻率等一些措施降低功耗;
●????????體積小、低成本、高性能。
2、一個典型的ARM體系結(jié)構(gòu):
包含有32位ALU、31個32位通用寄存器及6位狀態(tài)寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令譯碼及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器等。
1).ALU
ARM體系結(jié)構(gòu)的ALU與常用的ALU邏輯結(jié)構(gòu)基本相同,由兩個操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果及零檢測邏輯構(gòu)成。ALU的最小數(shù)據(jù)通路周期包含寄存器讀時間、移位器延遲、ALU延遲、寄存器寫建立時間、雙相時鐘間非重疊時間等幾部分。
2).桶形移位寄存器
ARM采用了32×32位桶形移位寄存器,左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成,可以有效的減少移位的延遲時間。在桶形移位寄存器中,所有的輸入端通過交叉開關(guān)(Crossbar)與所有的輸出端相連。交叉開關(guān)采用NMOS晶體管來實現(xiàn)。
3).高速乘法器
ARM為了提高運算速度,采用兩位乘法的方法,2位乘法可根據(jù)乘數(shù)的2位來實現(xiàn)“加-移位”運算。ARM的高速乘法器采用32×8位的結(jié)構(gòu),完成32×2位乘法也只需5個時鐘周期。
4).浮點部件
在ARM體系結(jié)構(gòu)中,浮點部件作為選件可根據(jù)需要選用,F(xiàn)PA10浮點加速器以協(xié)處理器方式與ARM相連,并通過協(xié)處理器指令的解釋來執(zhí)行。
浮點的Load/Store指令使用頻度要達到67%,故FPA10內(nèi)部也采用Load/Store結(jié)構(gòu),有8個80位浮點寄存器組,指令執(zhí)行也采用流水線結(jié)構(gòu)。
5).控制器
ARM的控制器采用硬接線的可編程邏輯陣列PLA,其輸入端有14根、輸出端有40根,分散控制Load/Store多路、乘法器、協(xié)處理器以及地址、寄存器ALU和移位器。
6).寄存器
ARM內(nèi)含37個寄存器,包括31個通用32位寄存器和6個狀態(tài)寄存器。
3、ARM7系列微處理器:
包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ幾種類型。其中,ARM7TDMI是目前使用最廣泛的32位嵌入式RISC處理器,主頻最高可達130MIPS,采用能夠提供0.9MIPS/MHz的三級流水線結(jié)構(gòu),內(nèi)嵌硬件乘法器(Multiplier),支持16為壓縮指令集Thumb,嵌入式ICE,支持片上Debug,支持片上斷點和調(diào)試點。指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,支持Windows CE、Linux、Palm OS等操作系統(tǒng)。典型產(chǎn)品如Samsung公司的S< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />3C4510B。
ARM7TDMI處理器內(nèi)核:
n???????ARM7TDMI還提供了存儲器接口、MMU接口、協(xié)處理器接口和調(diào)試接口,以及時鐘與總線等控制信號,如圖2.2.2所示。
n???????存儲器接口包括了32位地址A[31:0]、雙向32位數(shù)據(jù)總線D[31:0]、單向32位數(shù)據(jù)總線DIN[31:0]與DOUT[31:0]、以及存儲器訪問請求MREQ、地址順序SEQ、存儲器訪問控制MAS[1:0和數(shù)據(jù)鎖存控制BL[3:0]等控制信號。
n???????ARM7TDMI處理器內(nèi)核也可以ARM7TDMI-S軟核(Softcore)形式向用戶提供。同時,提供多種組合選擇,例如可以省去嵌入式ICE單元等。
n???????2.ARM720T/ARM740T處理器內(nèi)核
n???????ARM720T處理器內(nèi)核是在ARM7TDMI處理器內(nèi)核基礎(chǔ)上,增加8KB的數(shù)據(jù)與指令Cache,支持段式和頁式存儲的MMU(Memory Management Unit)、寫緩沖器及AMBA(Advanced Microcontroller Bus Architecture)接口而構(gòu)成,如圖2.2.3所示。
n???????ARM740T處理器內(nèi)核與ARM720T處理器內(nèi)核相比,結(jié)構(gòu)基本相同,ARM740T處理器核沒有存儲器管理單元MMU,不支持虛擬存儲器尋址,而是用存儲器保護單元來提供基本保護和Cache的控制。合適低價格低功耗的嵌入式應(yīng)用。
4、ARM9微處理器
ARM9系列微處理器包含ARM920T、ARM922T和ARM940T幾種類型,可以在高性能和低功耗特性方面提供最佳的性能。采用5級整數(shù)流水線,指令執(zhí)行效率更高。提供1.1MIPS/MHz的哈佛結(jié)構(gòu)。支持數(shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。?支持32位ARM指令集和16位Thumb指令集。支持32位的高速AMBA總線接口。全性能的MMU,支持Windows CE、Linux、Palm OS等多種主流嵌入式操作系統(tǒng)。MPU支持實時操作系統(tǒng)。
ARM920T處理器核在ARM9TDMI處理器內(nèi)核基礎(chǔ)上,增加了分離式的指令Cache和數(shù)據(jù)Cache,并帶有相應(yīng)的存儲器管理單元I-MMU和D-MMU、寫緩沖器及AMBA接口等。
ARM9系列微處理器主要應(yīng)用于無線通信設(shè)備、儀器儀表、安全系統(tǒng)、機頂盒、高端打印機、數(shù)字照相機和數(shù)字攝像機等。典型產(chǎn)品如Samsung公司的S3C2410A。
二、ARM體系結(jié)構(gòu)的五個方面:
ARM的體系結(jié)構(gòu)或處理器結(jié)構(gòu)主要體現(xiàn)在:ARM微處理器的寄存器結(jié)構(gòu)、異常處理、存儲器結(jié)構(gòu)、指令系統(tǒng)、接口等方面。
1、寄存器結(jié)構(gòu):
ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄器包括:
●??31個通用寄存器,包括程序計數(shù)器(PC指針),均為32位的寄存器。
●??6個狀態(tài)寄存器,用以標(biāo)識CPU的工作狀態(tài)及程序的運行狀態(tài),均為32位,目前只使用了其中的一部分。
(1)處理器運行模式:
ARM微處理器支持7種運行模式,分別為:
●??usr(用戶模式):ARM處理器正常程序執(zhí)行模式。
●??fiq(快速中斷模式):用于高速數(shù)據(jù)傳輸或通道處理
●??irq(外部中斷模式):用于通用的中斷處理
●??svc(管理模式):操作系統(tǒng)使用的保護模式
●????????abt (數(shù)據(jù)訪問終止模式):?當(dāng)數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬存儲及存儲保護。
●??sys(系統(tǒng)模式):?運行具有特權(quán)的操作系統(tǒng)任務(wù)。
●??und(未定義指令中止模式):當(dāng)未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。
ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。
大多數(shù)的應(yīng)用程序運行在用戶模式下,當(dāng)處理器運行在用戶模式下時,某些被保護的系統(tǒng)資源是不能被訪問的。
除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。
評論