轉(zhuǎn)載自http://blog.csdn.net/qqliyunpeng/article/details/48791487一、偽指令 的含義: 偽指令是編譯器支持的指令,不是硬件芯片支持的指令。 編譯器在編譯時(shí),會把偽指令轉(zhuǎn)化對應(yīng)的芯片支持的指令。
一、簡介:定義: ARM 指令集:ARM處理器能夠運(yùn)行的命令的集合。特點(diǎn):所有ARM指令均為32-bits長大部分為單周期指令 1T所有指令都可以條件執(zhí)行采用 Load/Store 架構(gòu) --- load/store指令 mov r1
繼今年4月高通大規(guī)模裁員影響,引發(fā)了一波人才流失論,作為美國半導(dǎo)體巨頭的高通公司因此走到了風(fēng)口浪尖。近日高通總裁表示,該公司不準(zhǔn)備放棄為數(shù)據(jù)中心開發(fā)處理器的計(jì)劃。
用戶選用ARM處理器開發(fā)嵌入式產(chǎn)品時(shí),選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,節(jié)省開發(fā)成本。根據(jù)功能不同,ARM應(yīng)用軟件的開發(fā)工具分別有編譯軟件、匯編軟件、連接軟件、調(diào)試軟件、評估板、JTAG仿真器和在線仿真器等,目前世界上大約有四十多家公司提供以上不同種類的開發(fā)產(chǎn)品。
ARM(Advanced RISC Machines)有三種含義,它是一個(gè)公司的名稱,是一類微處理器的通稱,還是一種技術(shù)的名稱。
ARM體系結(jié)構(gòu)是CPU產(chǎn)品所使用的一種體系結(jié)構(gòu),ARM公司開發(fā)了一套擁有知識產(chǎn)權(quán)的RISC體系結(jié)構(gòu)的指令集。每個(gè)ARM處理器都有一個(gè)特定的指令集架構(gòu),而一個(gè)特定的指令集架構(gòu)又可以由多種處理器實(shí)現(xiàn)。
ARM處理器當(dāng)前有6個(gè)產(chǎn)品系列:ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore,其中ARM11為最近推出的產(chǎn)品。進(jìn)一步的產(chǎn)品來自于合作伙伴,例如Intel Xscale ARM7、ARM9、ARM9E、ARM10E是4個(gè)通用處理器系列。每個(gè)系列提供一套特定的性能來滿足設(shè)計(jì)者對功耗、性能、體積的需求。
表1.3顯示了ARM7、ARM9、ARM10及ARM11內(nèi)核之間屬性的比較。有些屬性依賴于生產(chǎn)過程和工藝,具體芯片需參閱其芯片手冊。
并不是所有的指令都需要上述每一個(gè)步驟,但是,多數(shù)指令需要其中的多個(gè)步驟。這些步驟往往使用不同的硬件功能,例如,ALU可能只在第4步中用到。因此,如果一條指令不是在前一條指令結(jié)束之前就開始,那么在每一步驟內(nèi)處理器只有少部分的硬件在使用。
ARM7系列處理器主要應(yīng)用于下面一些場合:個(gè)人音頻設(shè)備(MP3播放器、WMA播放器、AAC播放器); 接入級的無線設(shè)備;噴墨打印機(jī);數(shù)碼照相機(jī)
ARM內(nèi)核采用精簡指令集結(jié)構(gòu)(RISC,Reduced Instruction Set Computer)體系結(jié)構(gòu)。RISC技術(shù)產(chǎn)生于上世紀(jì)70年代。其目標(biāo)是設(shè)計(jì)出一套能在高時(shí)鐘頻率下單周期執(zhí)行、簡單而有效的指令集,RISC的設(shè)計(jì)重點(diǎn)在于降低硬件執(zhí)行指令的復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能。
根據(jù)內(nèi)存訪問指令的分類,內(nèi)存訪問指令的尋址方式可以分為以下幾種。 ① 字及無符號字節(jié)的Load/Store指令的尋址方式。 ② 雜類Load/Store指令的尋址方式。 ③ 批量Load/Store指令的尋址方式。 ④ 協(xié)處理器Load/Store指令的尋址方式。
ARM處理器內(nèi)核廣泛應(yīng)用于嵌入式系統(tǒng)和其他行業(yè)應(yīng)用中。為了適應(yīng)不同系統(tǒng)的需要,ARM采用了靈活多樣的存儲管理體系。從平板式內(nèi)存映射到靈活方便的MMU內(nèi)存管理單元,用戶可以根據(jù)自己的需要使用不同的存儲管理策略。
ARM系統(tǒng)完成I/O功能的標(biāo)準(zhǔn)方法是使用存儲器映射I/O。這種方法使用特定的存儲器地址。當(dāng)從這些地址加載或向這些地址存儲時(shí),它們提供I/O功能。某些ARM系統(tǒng)也可能有直接存儲器訪問(DMA,Direct Memory Access)硬件。
Load/Store內(nèi)存訪問指令在ARM寄存器和存儲器之間傳送數(shù)據(jù)。ARM指令中有3種基本的數(shù)據(jù)傳送指令。
異常或中斷是用戶程序中最基本的一種執(zhí)行流程和形態(tài)。這部分主要對ARM架構(gòu)下的異常中斷做詳細(xì)說明。
用戶選用ARM處理器開發(fā)嵌入式系統(tǒng)時(shí),選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,節(jié)省開發(fā)成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫的集成開發(fā)環(huán)境(IDE)一般來說是必不可少的,如ARM公司的RealView開發(fā)環(huán)境。
ARM采用的是32位架構(gòu),ARM的基本數(shù)據(jù)類型有以下3種。 Byte:字節(jié),8bit。Halfword:半字,16bit。 Word:字,32bit。
數(shù)據(jù)處理指令是在算術(shù)邏輯單元ALU中完成。ARM處理器一個(gè)顯著特征就是可以在操作數(shù)進(jìn)入ALU之前,對操作數(shù)進(jìn)行指定位數(shù)的左移或右移操作。這種功能明顯增強(qiáng)了數(shù)據(jù)處理操作的靈活性。
大多數(shù)的用戶程序運(yùn)行在用戶模式下。當(dāng)處理器工作在用戶模式時(shí),應(yīng)用程序不能夠訪問受操作系統(tǒng)保護(hù)的一些系統(tǒng)資源,應(yīng)用程序也不能直接進(jìn)行處理器模式切換。當(dāng)需要進(jìn)行處理器模式切換時(shí),應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過程中進(jìn)行處理器模式切換。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個(gè)系統(tǒng)資源的使用。