嵌入式系統(tǒng)基礎(chǔ)之:ARM處理器硬件開發(fā)平臺
4.2ARM處理器硬件開發(fā)平臺
4.2.1ARM處理器簡介
ARM是一類嵌入式微處理器,同時(shí)也是一個(gè)公司的名字。ARM公司于1990年11月成立于英國劍橋,它是一家專門從事16/32位RISC微處理器知識產(chǎn)權(quán)設(shè)計(jì)的供應(yīng)商。ARM公司本身不直接從事芯片生產(chǎn),而只是授權(quán)ARM內(nèi)核,再給生產(chǎn)和銷售半導(dǎo)體的合作伙伴,同時(shí)也提供基于ARM架構(gòu)的開發(fā)設(shè)計(jì)技術(shù)。世界各大半導(dǎo)體生產(chǎn)商從ARM公司處購買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM微處理器芯片進(jìn)入市場。
ARM公司從成立至今,在短短幾十年的時(shí)間就占據(jù)了75%的市場份額,如今,ARM微處理器及技術(shù)的應(yīng)用幾乎已經(jīng)深入到各個(gè)領(lǐng)域。采用ARM技術(shù)的微處理器現(xiàn)在已經(jīng)遍及各類電子產(chǎn)品,汽車、消費(fèi)娛樂、影像、工業(yè)控制、海量存儲、網(wǎng)絡(luò)、安保和無線等市場。到2001年就幾乎已經(jīng)壟斷了全球RISC芯片市場,成為業(yè)界實(shí)際的RISC芯片標(biāo)準(zhǔn)。圖4.3列舉了使用ARM微處理器的公司名稱。
圖4.3ARMIP核用戶
ARM的成功,一方面得益于它獨(dú)特的公司運(yùn)作模式,另一方面,當(dāng)然來自于ARM處理器自身的優(yōu)良性能。ARM處理器有如下特點(diǎn)。
n 體積小、低功耗、低成本、高性能。
n 支持ARM(32位)/Thumb(16位)/Thumb2(16/32位混合)指令集,能很好地兼容8位/16位器件。
n 大量使用寄存器,指令執(zhí)行速度更快。
n 大多數(shù)數(shù)據(jù)操作都在寄存器中完成。
n 尋址方式靈活簡單,執(zhí)行效率高。
n 指令長度固定。
小知識 | 常見的CPU指令集分為CISC和RISC兩種。 CISC(ComplexInstructionSetComputer)是“復(fù)雜指令集”。自PC機(jī)誕生以來,32位以前的處理器都采用CISC指令集方式。由于這種指令系統(tǒng)的指令不等長,因此指令的數(shù)目非常多,編程和設(shè)計(jì)處理器時(shí)都較為麻煩。但由于基于CISC指令架構(gòu)系統(tǒng)設(shè)計(jì)的軟件已經(jīng)非常普遍了,所以包括Intel、AMD等眾多廠商至今使用的仍為CISC。 RISC(ReducedInstructionSetComputing)是“精簡指令集”。研究人員在對CISC指令集進(jìn)行測試時(shí)發(fā)現(xiàn),各種指令的使用頻度相當(dāng)懸殊,其中最常使用的是一些比較簡單的指令,它們僅占指令總數(shù)的20%,但在程序中出現(xiàn)的頻度卻占80%。RISC正是基于這種思想提出的。采用RISC指令集的微處理器處理能力強(qiáng),并且還通過采用超標(biāo)量和超流水線結(jié)構(gòu),大大增強(qiáng)并行處理能力。 |
4.2.2ARM體系結(jié)構(gòu)簡介
1.ARM微處理器工作狀態(tài)
ARM微處理器的工作狀態(tài)一般有三種,并可來回切換。
n 第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對齊的ARM指令。
n 第二種為Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對齊的Thumb指令。
n 第三種為Thumb2狀態(tài),此時(shí)處理執(zhí)行16/32位混合的、多類型對齊的指令。
2.ARM體系結(jié)構(gòu)的存儲格式
n 大端格式:在這種格式中,字?jǐn)?shù)據(jù)的高字節(jié)存儲在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。
n 小端格式:與大端存儲格式相反,在小端存儲格式中,低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。
3.ARM處理器模式
ARM微處理器支持7種運(yùn)行模式,分別如下。
n 用戶模式(usr):應(yīng)用程序執(zhí)行狀態(tài)。
n 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理等快速中斷處理。
n 外部中斷模式(irq):用于通用的中斷處理。
n 管理模式(svc):特權(quán)模式,操作系統(tǒng)使用的保護(hù)模式。
n 數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲及存儲保護(hù)。
n 系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。
4.2.3ARM9體系結(jié)構(gòu)
1.ARM微處理器系列簡介
ARM微處理器系列主要特點(diǎn)如表4.2所示。
表4.2 ARM微處理器系列
ARM核 | 主要特點(diǎn) |
ARM7TDMI | •使用v4T體系結(jié)構(gòu) •最普通的低端ARM核 •3級流水線 •馮·諾依曼體系結(jié)構(gòu) •CPI約為1.9 T表示支持Thumb指令集(ARM指令是32位的;Thumb指令是16位的) DI表示“EmbeddedICELogic”,支持JTAG調(diào)試 M表示內(nèi)嵌硬件乘法器 ARM720T是具有cache、MMU(內(nèi)存管理單元)和寫緩沖的一種ARM7TDMI |
ARM9TDMI | •使用v4T體系結(jié)構(gòu) •5級流水線:CPI被提高到1.5,提高了最高主頻 •哈佛體系結(jié)構(gòu):增加了存儲器有效帶寬(指令存儲器接口和數(shù)據(jù)存儲器接口),實(shí)現(xiàn)了同時(shí)訪問指令存儲器和數(shù)據(jù)存儲器的功能。 •一般提供附帶的cache:ARM922T有2X8KB的cache、MMU和寫緩沖;ARM920T除了有2×16KB的cache之外,其他的與ARM922t相同;ARM940T有一個(gè)MPU(內(nèi)存保護(hù)單元) |
ARM9E | •ARM9E是在ARM9TDMI的基礎(chǔ)上,增加了一些功能:支持V5TE版本的體系結(jié)構(gòu),實(shí)現(xiàn)了單周期32×16乘法器和EmbeddedICELogicRT •ARM926EJ-S/ARM946E-S:有可配置的指令和數(shù)據(jù)cache、指令和數(shù)據(jù)TCM接口以及AHB總線接口。ARM926EJ-S有MMU,ARM946E-S有MPU •ARM966E-S:有指令和數(shù)據(jù)TCM接口,沒有cache、MPU/MMU |
ARM11系列 | •ARM1136JF-S:使用ARMV6體系結(jié)構(gòu),性能強(qiáng)大(8級流水線,有靜態(tài)/動態(tài)分支預(yù)測器和返回堆棧),有低延遲中斷模式,有MMU,有支持物理標(biāo)記的4-64k指令和數(shù)據(jù)cache,有一些內(nèi)嵌的可配置的TCM,有4個(gè)主存端口(64位存儲器接口),可以集成VFP協(xié)處理器(可選)。 •ARM1156T2(F)-S:有MPU,支持Thumb2ISA。 •ARM1176JZ(F)-S:在ARM1136JF-S基礎(chǔ)上實(shí)現(xiàn)了TrustZone技術(shù)。 |
Cortex系列 | •Cortex-A8:使用v7A體系結(jié)構(gòu),支持MMU、AXI、VFP和NEON。 •Cortex-R4:使用v7R體系結(jié)構(gòu),支持MPU(可選)、AXI和DualIssue技術(shù)。 •Cortex-M3:使用v7M體系結(jié)構(gòu),支持MPU(可選)、AHBLite和APB |
因?yàn)楸緯捎玫腇S2410開發(fā)板的S3C2410X是一款A(yù)RM9核處理器,所以下面重點(diǎn)學(xué)習(xí)ARM9核處理器。
評論