官术网_书友最值得收藏!

第2章 ARM處理器的編程結(jié)構(gòu)與工作方式

2.1 ARM嵌入式處理器概況及進(jìn)展

2.1.1 ARM公司及其產(chǎn)品簡(jiǎn)況

ARM公司是一家英國(guó)劍橋的半導(dǎo)體技術(shù)設(shè)計(jì)公司,全稱是Advanced RISC Machines Ltd.。ARM公司的前身是一家專門設(shè)計(jì)RISC處理器的設(shè)計(jì)公司,該公司相繼推出了自稱為v1和v2版本的RISC體系結(jié)構(gòu)微處理器核并且成功移植到一些應(yīng)用處理器中。1990年11月由蘋果電腦和VLSI Technology出資,Acorn Computer Group提供技術(shù)和12名工程師聯(lián)合成立了ARM公司。ARM是一家地道的設(shè)計(jì)公司,自己并不生產(chǎn)芯片,而是開(kāi)發(fā)和轉(zhuǎn)讓技術(shù)。其主要設(shè)計(jì)開(kāi)發(fā)的是在Acorn原有的v1和v2版本基礎(chǔ)上、內(nèi)部稱為v3~v7版本的RISC體系結(jié)構(gòu)嵌入式處理器核心結(jié)構(gòu)。目前的主流商品化應(yīng)用是v4,v5,v6,v7體系機(jī)構(gòu)下的各系列。ARM在不同的體系結(jié)構(gòu)版本下又設(shè)計(jì)了多款應(yīng)用內(nèi)核,并以ARM技術(shù)知識(shí)產(chǎn)權(quán)(Intelligence Property,IP)核的形式供給其他半導(dǎo)體廠家,各半導(dǎo)體廠家再以此為基礎(chǔ)進(jìn)行功能擴(kuò)展,最后生產(chǎn)出適用于各種應(yīng)用需要的ARM體系結(jié)構(gòu)微處理器芯片。部分體系結(jié)構(gòu)下的ARM應(yīng)用內(nèi)核見(jiàn)表2-1。

表2-1 ARM結(jié)構(gòu)版本及部分應(yīng)用內(nèi)核

采用ARM技術(shù)的微處理器具有性能高、體積小、功耗低,價(jià)格低等優(yōu)點(diǎn),適用于多種領(lǐng)域,比如軍事、實(shí)時(shí)控制、通信、醫(yī)療器具、汽車電子、消費(fèi)類產(chǎn)品,特別是各類手持移動(dòng)應(yīng)用產(chǎn)品,如手機(jī)、PDA等80%以上都采用了ARM技術(shù)。目前采用ARM技術(shù)IP核的微處理器應(yīng)用占據(jù)了32位RISC微處理器75%以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲入到我們生活的各個(gè)方面。

ARM通過(guò)將其技術(shù)以授權(quán)方式提供給世界上許多著名的半導(dǎo)體、軟件和OEM廠商。目前全世界有包括Intel、Motorola、IBM、三星、LG、NEC、SONY、菲利浦等幾乎所有知名的半導(dǎo)體廠家都使用ARM公司的授權(quán)生產(chǎn)多種多樣的應(yīng)用芯片,軟件系統(tǒng)的合伙人則包括微軟、Sun和MRI等一系列知名公司。其主要的合作伙伴見(jiàn)圖2-1。ARM很快成為許多全球性RISC標(biāo)準(zhǔn)的締造者,既使ARM技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場(chǎng)被消費(fèi)者所接受,更具有競(jìng)爭(zhēng)力。

圖2-1 ARM的合作伙伴

由表2-1可以大致看出ARM體系結(jié)構(gòu)的主要成員及發(fā)展趨向,其早期結(jié)構(gòu)版本v1~v3因已基本淘汰,故表中沒(méi)有列出。在這些系列內(nèi)核中,目前市場(chǎng)應(yīng)用量最大的是ARMv4T結(jié)構(gòu)下的各種應(yīng)用內(nèi)核,其中又以ARM7TDMI的衍生產(chǎn)品最多,如國(guó)內(nèi)市場(chǎng)廣泛使用的三星公司生產(chǎn)的S3C4510B、S3C44B0X,飛利浦公司生產(chǎn)的LPC2200系列,摩托羅拉公司生產(chǎn)的Dragenball系列,Cirrus Logic生產(chǎn)的EP9312,OKI生產(chǎn)的ML67100,SHARP生產(chǎn)的LH79531,ATMEL生產(chǎn)的AT91F系列等。由表2-1可以看到,這一體系結(jié)構(gòu)主要擴(kuò)展了四項(xiàng)技術(shù)及其相應(yīng)的指令集:Thumb指令(T)、DSP指令(E)、Java指令(J)、Media指令。其中的Thumb技術(shù)實(shí)際上是一種在ARM體系結(jié)構(gòu)中既支持32位指令系統(tǒng),又支持16位指令系統(tǒng)的技術(shù)。由于32位指令系統(tǒng)每條指令都要占用4B的存儲(chǔ)空間,而對(duì)于一些應(yīng)用要求不是很復(fù)雜的場(chǎng)合采用16位編碼的指令集就可以滿足要求,從而可以大大節(jié)省存儲(chǔ)空間。采用32位指令集和16位指令集的混合編程應(yīng)用是Thumb技術(shù)的創(chuàng)新所在。

表2-2列出了主要的ARM應(yīng)用內(nèi)核的結(jié)構(gòu)特征,表2-3列出了不同的ARM應(yīng)用內(nèi)核主要技術(shù)參數(shù),表2-4列出了一些高端ARM微處理器芯片的功能配置。

表2-2 主要ARM應(yīng)用內(nèi)核的結(jié)構(gòu)特征簡(jiǎn)表

表2-3 ARM應(yīng)用內(nèi)核的主要技術(shù)參數(shù)

2.1.2 ARM處理器中的新技術(shù)

不同的ARM體系機(jī)構(gòu)可支持的指令集不同,而更高的版本將會(huì)提供一些新的技術(shù)及其指令集。從ARMv6開(kāi)始,一些新的技術(shù)被不斷地引入ARM內(nèi)核中,對(duì)提高ARM處理器的性能發(fā)揮了重要的作用。下面是自v5版本之后所開(kāi)發(fā)的主要新技術(shù)的概況。

1.TrustZone

ARM TrustZone安全區(qū)技術(shù)提供了兩個(gè)獨(dú)立地址空間的硬件支持,因此非安全的程序代碼將無(wú)法訪問(wèn)標(biāo)記為安全區(qū)的存儲(chǔ)器空間,并且一種新的監(jiān)測(cè)模式可以進(jìn)行安全和非安全區(qū)的事務(wù)管理。這項(xiàng)技術(shù)將為開(kāi)放的操作系統(tǒng)提供密鑰或認(rèn)證機(jī)制的硬件實(shí)現(xiàn)條件,為手機(jī)銀行業(yè)務(wù),多媒體娛樂(lè)服務(wù)等提供可能和便利。

2.Thumb-2

Thumb-2為第二代Thumb體系結(jié)構(gòu)(Second Generation of the Thumb Architecture)。在之前的ARM處理器中,ARM和Thumb指令集運(yùn)行在各自的處理器狀態(tài)下,當(dāng)運(yùn)行各自的指令時(shí)必須先切換入各自的處理器狀態(tài)。當(dāng)程序中反復(fù)地出現(xiàn)指令混合運(yùn)用時(shí),就會(huì)因處理器工作狀態(tài)的頻繁切換帶來(lái)許多的時(shí)間開(kāi)銷。而Thumb-2技術(shù)增加了一種混合模式,定義了一組混合的16位和32位指令集,這樣可以減少或去除用于切換ARM和Thumb工作狀態(tài)的處理器開(kāi)銷,以Thumb的代碼密度提供ARM代碼的性能。主要優(yōu)點(diǎn)為:

  • 比Thumb指令快25%;
  • 比ARM指令小26%;
  • 同現(xiàn)有的Thumb代碼二進(jìn)制兼容;
  • 在保持代碼密度的同時(shí)提高性能;
  • 最佳的Cache和TCM的利用率;
  • 可以減少浮點(diǎn)處理和中斷時(shí)模式切換的開(kāi)銷。

3.NEON

NEON媒體加速技術(shù)是ARMv7A核中的一種結(jié)構(gòu)選項(xiàng),用于應(yīng)對(duì)下一代高性能、大數(shù)據(jù)量、低功耗無(wú)線手持設(shè)備的需要。NEON是一個(gè)64/128位混合的單指令流多數(shù)據(jù)流(SingleInstruction Multi-Data,SIMD)結(jié)構(gòu)體,用于包括視頻編/解碼、3D圖形加速、圖像處理、壓縮的音頻數(shù)據(jù)解碼、音頻合成等多媒體信息處理。其主要的實(shí)現(xiàn)措施是,優(yōu)化在寄存器中的數(shù)據(jù)表現(xiàn)形式,對(duì)可利用的存儲(chǔ)器帶寬實(shí)現(xiàn)最優(yōu)使用,減少數(shù)據(jù)放置的開(kāi)銷,在分離的寄存器中操作,將VFP的寄存器組擴(kuò)展為32×64bit寄存器,支持整型、定點(diǎn)和浮點(diǎn)數(shù)據(jù),提供簡(jiǎn)單的編程模式和面向C語(yǔ)言的編程模型。該技術(shù)在多媒體和數(shù)字信號(hào)處理上,性能將比ARM11提高2倍,比ARM9E提高3倍。

表2-4 部分典型的高端ARM芯片

4.VFP

向量浮點(diǎn)(Vector Floating Point,VFP)技術(shù)協(xié)處理器是ARMv7中的一個(gè)結(jié)構(gòu)選項(xiàng),VFP結(jié)構(gòu)支持單、雙精度浮點(diǎn)運(yùn)算,且支持與IEEE 754兼容的軟件庫(kù)。

5.IEM

智能化能耗管理器(Intelligent Energy Manager,IEM)實(shí)現(xiàn)了一種優(yōu)化工作負(fù)載和能耗的平衡算法,從而動(dòng)態(tài)地控制電壓和頻率,在最大滿足高端應(yīng)用性能要求的前提下,提供能量的硬件和軟件動(dòng)態(tài)管理。IEM軟件從操作系統(tǒng)中獲取數(shù)據(jù),采用多種策略對(duì)軟件工作負(fù)荷加以分類,并對(duì)未來(lái)的性能要求加以預(yù)測(cè),最終確定電壓和頻率的適當(dāng)工作點(diǎn)。在手機(jī)應(yīng)用中可以通過(guò)標(biāo)準(zhǔn)的程序模式實(shí)現(xiàn)與操作系統(tǒng)及應(yīng)用程序的協(xié)同工作,用于動(dòng)態(tài)地調(diào)整CPU所需要的性能級(jí)別,達(dá)到盡量降低功耗的目的。

6.ARM Cortex系列

Cortex是ARM公司最新的基于ARMv7架構(gòu)的產(chǎn)品系列,目前有A(Application)、R(Real time)、M(Microprocessor)等三個(gè)不同應(yīng)用目標(biāo)的產(chǎn)品線。Cortex-A是面向復(fù)雜應(yīng)用的高端產(chǎn)品線,目前推向市場(chǎng)的產(chǎn)品有Cortex-A8、Cortex-A9。Cortex-R是面向?qū)崟r(shí)嵌入式應(yīng)用的產(chǎn)品線,目前推向市場(chǎng)的產(chǎn)品有Cortex-R4。Cortex-M是面向低成本、低功耗應(yīng)用的產(chǎn)品線,目前推向市場(chǎng)的產(chǎn)品有Cortex-M1、Cortex-M3、Cortex-M0。

相比ARMV7之前的產(chǎn)品,Cortex系列的共同特點(diǎn)是采用了Thumb-2技術(shù),并且在保持對(duì)其他產(chǎn)品系列代碼兼容前提下實(shí)現(xiàn)了比純32位代碼少使用31%的內(nèi)存,比原有基于Thumb技術(shù)的解決方案高出38%的性能。而其中的Cortex-Ai系列又融合了NEON、VFP、IEM等新技術(shù),以應(yīng)對(duì)大型多任務(wù)操作系統(tǒng)以及3D圖形、圖像處理等復(fù)雜應(yīng)用場(chǎng)合。而Cortex-Ri產(chǎn)品線主要針對(duì)實(shí)時(shí)性強(qiáng)的應(yīng)用場(chǎng)合,但對(duì)于復(fù)雜操作系統(tǒng)的支持較弱。

Cortex-Mi產(chǎn)品線主要針對(duì)成本敏感的應(yīng)用場(chǎng)合,對(duì)大型多任務(wù)操作系統(tǒng)以及3D圖形、圖像處理等復(fù)雜應(yīng)用支持較弱。

主站蜘蛛池模板: 元朗区| 武强县| 泗洪县| 双流县| 象州县| 鹿邑县| 安龙县| 澄江县| 阿克| 个旧市| 泰顺县| 德钦县| 云梦县| 昔阳县| 康平县| 界首市| 石柱| 津南区| 定兴县| 曲周县| 乌什县| 边坝县| 六安市| 镇原县| 通渭县| 怀来县| 潢川县| 鄂托克旗| 专栏| 阿克陶县| 河北省| 西乌珠穆沁旗| 新绛县| 怀集县| 沙洋县| 延庆县| 顺昌县| 惠州市| 都安| 沙坪坝区| 木里|