ARM7系列處理器主要應(yīng)用于下面一些場(chǎng)合:個(gè)人音頻設(shè)備(MP3播放器、WMA播放器、AAC播放器); 接入級(jí)的無(wú)線設(shè)備;噴墨打印機(jī);數(shù)碼照相機(jī)
ARM內(nèi)核采用精簡(jiǎn)指令集結(jié)構(gòu)(RISC,Reduced Instruction Set Computer)體系結(jié)構(gòu)。RISC技術(shù)產(chǎn)生于上世紀(jì)70年代。其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡(jiǎn)單而有效的指令集,RISC的設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能。
根據(jù)內(nèi)存訪問(wèn)指令的分類(lèi),內(nèi)存訪問(wèn)指令的尋址方式可以分為以下幾種。 ① 字及無(wú)符號(hào)字節(jié)的Load/Store指令的尋址方式。 ② 雜類(lèi)Load/Store指令的尋址方式。 ③ 批量Load/Store指令的尋址方式。 ④ 協(xié)處理器Load/Store指令的尋址方式。
ARM處理器內(nèi)核廣泛應(yīng)用于嵌入式系統(tǒng)和其他行業(yè)應(yīng)用中。為了適應(yīng)不同系統(tǒng)的需要,ARM采用了靈活多樣的存儲(chǔ)管理體系。從平板式內(nèi)存映射到靈活方便的MMU內(nèi)存管理單元,用戶可以根據(jù)自己的需要使用不同的存儲(chǔ)管理策略。
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲(chǔ)器映射I/O。這種方法使用特定的存儲(chǔ)器地址。當(dāng)從這些地址加載或向這些地址存儲(chǔ)時(shí),它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲(chǔ)器訪問(wèn)(DMA,Direct Memory Access)硬件。
Load/Store內(nèi)存訪問(wèn)指令在ARM寄存器和存儲(chǔ)器之間傳送數(shù)據(jù)。ARM指令中有3種基本的數(shù)據(jù)傳送指令。
異?;蛑袛嗍怯脩舫绦蛑凶罨镜囊环N執(zhí)行流程和形態(tài)。這部分主要對(duì)ARM架構(gòu)下的異常中斷做詳細(xì)說(shuō)明。
用戶選用ARM處理器開(kāi)發(fā)嵌入式系統(tǒng)時(shí),選擇合適的開(kāi)發(fā)工具可以加快開(kāi)發(fā)進(jìn)度,節(jié)省開(kāi)發(fā)成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫(kù)的集成開(kāi)發(fā)環(huán)境(IDE)一般來(lái)說(shuō)是必不可少的,如ARM公司的RealView開(kāi)發(fā)環(huán)境。
ARM采用的是32位架構(gòu),ARM的基本數(shù)據(jù)類(lèi)型有以下3種。 Byte:字節(jié),8bit。Halfword:半字,16bit。 Word:字,32bit。
數(shù)據(jù)處理指令是在算術(shù)邏輯單元ALU中完成。ARM處理器一個(gè)顯著特征就是可以在操作數(shù)進(jìn)入ALU之前,對(duì)操作數(shù)進(jìn)行指定位數(shù)的左移或右移操作。這種功能明顯增強(qiáng)了數(shù)據(jù)處理操作的靈活性。
大多數(shù)的用戶程序運(yùn)行在用戶模式下。當(dāng)處理器工作在用戶模式時(shí),應(yīng)用程序不能夠訪問(wèn)受操作系統(tǒng)保護(hù)的一些系統(tǒng)資源,應(yīng)用程序也不能直接進(jìn)行處理器模式切換。當(dāng)需要進(jìn)行處理器模式切換時(shí),應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過(guò)程中進(jìn)行處理器模式切換。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個(gè)系統(tǒng)資源的使用。
ARM處理器共有7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器組。表3.2顯示了ARM的寄存器組織概要。
多寄存器Load/Store內(nèi)存訪問(wèn)指令也叫批量加載/存儲(chǔ)指令,它可以實(shí)現(xiàn)在一組寄存器和一塊連續(xù)的內(nèi)存單元之間傳送數(shù)據(jù)。LDM用于加載多個(gè)寄存器,STM用于存儲(chǔ)多個(gè)寄存器。多寄存器Load/Store內(nèi)存訪問(wèn)指令允許一條指令傳送16個(gè)寄存器的任何子集或所有寄存器。
MOV指令是最簡(jiǎn)單的ARM指令,執(zhí)行的結(jié)果就是把一個(gè)數(shù)N送到目標(biāo)寄存器Rd,其中N可以是寄存器,也可以是立即數(shù)。
MVN是反相傳送(Move Negative)指令。它將操作數(shù)的反碼傳送到目的寄存器。MVN指令多用于向寄存器傳送一個(gè)負(fù)數(shù)或生成位掩碼。
學(xué)吧
夜是打火機(jī)
18713271819cxy
賈仁明
bu一樣的煙火
mikeniu
chris527
LBSEric
21CI2133
洛奇ing
SIASGUOJIe
逮到一只程序猿
zx66
zhaoyuan
建志的智
sdwfywl
cgyyds
云城a
shaolw
ti-funs
劉劍君
帶偷子
shaoniany
陳震偉
2334599288
helloyyll
怪打野題
liqinglong1023
cxk1998