當(dāng)前位置:首頁(yè) > 百科知識(shí) > 電子工程 > 正文

ARM

ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類(lèi)多媒體、DSP和移動(dòng)式應(yīng)用等。

英國(guó)ARM公司介紹

國(guó)家:英國(guó)(歐洲)ARM行業(yè):電子 半導(dǎo)體 微處理器 智能手機(jī) 總部:英國(guó)劍橋 CEO:沃倫.伊斯特 競(jìng)爭(zhēng)對(duì)手:英特爾 市場(chǎng)份額 手機(jī)處理器90%的市場(chǎng)份額 上網(wǎng)本處理器30%的市場(chǎng)份額

使用ARM處理器手機(jī)

歐洲諾基亞

諾基亞 N86 諾基亞 N97 諾基亞 N8 諾基亞 N96 諾基亞 N95 諾基亞 N900 諾基亞 N81 諾基亞 N85 諾基亞 X6 諾基亞 E72 諾基亞 E71 諾基亞 E66 諾基亞 E63 諾基亞 E52 諾基亞 E5 諾基亞 5530XM 諾基亞 5800XM 諾基亞 5320XM 諾基亞 5730XM 諾基亞 5230等

美國(guó)摩托羅拉

摩托羅拉 XT800 摩托羅拉 XT702 摩托羅拉 XT701 摩托羅拉 ME600 摩托羅拉 ME501 摩托羅拉ME500 摩托羅拉 Milestone 摩托羅拉 RAZR V8 摩托羅拉 VE66 摩托羅拉 A1200E 摩托羅拉 A1210 摩托羅拉 A1600 摩托羅拉 A1800 摩托羅拉 A1890 摩托羅拉 U9 摩托羅拉 A810 摩托羅拉 ROKR EM30 摩托羅拉 EM35 摩托羅拉 ROKR E6

英國(guó)索愛(ài)

索愛(ài) X1 索愛(ài) X2 索愛(ài) M1i 索愛(ài) X10 索愛(ài) Satio 索愛(ài) U8i等

美國(guó)蘋(píng)果

iPhone iPhone 3GS

韓國(guó)三星

三星 i8910 三星 i8510等

ARM公司

ARM將其技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,每個(gè)廠商得到的都是一套獨(dú)一無(wú)二的ARM相關(guān)技術(shù)及服務(wù)。利用這種合伙關(guān)系,ARM很快成為許多全球性RISC標(biāo)準(zhǔn)的締造者。目前,總共有30家半導(dǎo)體公司與ARM簽訂了硬件技術(shù)使用許可協(xié)議,其中包括Intel、IBM、LG半導(dǎo)體、NEC、SONY、菲利浦和國(guó)民半導(dǎo)體這樣的大公司。至于軟件系統(tǒng)的合伙人,則包括微軟、升陽(yáng)和MRI等一系列知名公司。ARM架構(gòu)是面向低預(yù)算市場(chǎng)設(shè)計(jì)的第一款RISC微處理器。ARM 即Advanced RISC Machines的縮寫(xiě),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類(lèi)微處理器的通稱(chēng),還可以認(rèn)為是一種技術(shù)的名字。1985年4月26日,第一個(gè)ARM原型在英國(guó)劍橋的Acorn計(jì)算機(jī)有限公司誕生,由美國(guó)加州SanJoseVLSI技術(shù)公司制造。20世紀(jì)80年代后期,ARM很快開(kāi)發(fā)成Acorn的臺(tái)式機(jī)產(chǎn)品,形成英國(guó)的計(jì)算機(jī)教育基礎(chǔ)。1990年成立了Advanced RISC Machines Limited(后來(lái)簡(jiǎn)稱(chēng)為ARM Limited,ARM公司)。20世紀(jì)90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)處理器擴(kuò)展到世界范圍,占據(jù)了低功耗、低成本和高性能的嵌入式系統(tǒng)應(yīng)用領(lǐng)域的領(lǐng)先地位。ARM公司既不生產(chǎn)芯片也不銷(xiāo)售芯片,它只出售芯片技術(shù)授權(quán)。

ARM的學(xué)習(xí)和開(kāi)發(fā)都需要學(xué)習(xí)哪些軟件

總結(jié)起來(lái)最主要的有以下幾個(gè)吧 1 ADS調(diào)試用 確切的說(shuō)是ADS+AXD。ADS里包含AXD。原來(lái)都用SDT后來(lái)ARM公司停止對(duì)SDT支持了,改支持ADS了,還是用ADS吧。有的人的程序發(fā)布的仍然是SDT版本的,但基本都可以找到相應(yīng)ADS的,新人在這里不要發(fā)蒙。ADS是編譯器,AXD是調(diào)試器。編譯成AXF以后再在ARM的RAM里調(diào)試。2 FLASHPGM FLASH燒寫(xiě)的軟件。AXF在RAM里調(diào)試,掉電就沒(méi)有了,方便程序修改。調(diào)試好的程序再下到FLASH里,上電直接運(yùn)行。同類(lèi)的軟件還有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問(wèn)FLASH不支持BIN格式文件的問(wèn)題就要看我寫(xiě)的FLASHPGM使用了。3 BANYANT調(diào)試代理(不知道名對(duì)不,起這么個(gè)難記的,我一般都叫它“半羊”因?yàn)橹浪菐滋靹偝粤丝狙颍┱{(diào)試代理就是用它幫你使用更簡(jiǎn)單的JTAG(便宜啊)來(lái)實(shí)現(xiàn)原本1K才賣(mài)的JTAG仿真器的大部分功能。JTAG調(diào)試原理看我另一篇筆記。簡(jiǎn)單的就可以把他理解為你自己做的JTAG的驅(qū)動(dòng)就行了。調(diào)試代理還有很多種,什么H-JTAG了、ARM7了(不知道具體叫什么,就記得可執(zhí)行文件叫ARM7.EXE)都是,BANYANT比較好。需要注意的是,每種調(diào)試代理安裝方法雖然都簡(jiǎn)單但都不一樣,需要看說(shuō)明。而且AXD調(diào)試之前都要運(yùn)行。省錢(qián)了,就別怕麻煩了。4 ARM-ELF-TOOLS工具鏈 里面是UCLINUX開(kāi)發(fā)用的工具比如ARM-ELF-GCC只類(lèi)的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開(kāi)發(fā)的東西。具體安裝方法看我另一篇筆記。另外如果你開(kāi)發(fā)LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。5 U-BOOT 大名鼎鼎的BOOTLOADER生成工具,同類(lèi)的好象還有VIVI(名字很曖昧~~)生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載 燒寫(xiě)其他了 有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當(dāng)然UCOS的不用這個(gè),用什么我不知道:)最新版本是1.1.4 具體使用方法看我另一篇筆記吧。6 UCLINUX包 UCLINUX的源碼包,不用多說(shuō)了吧?建議大家用現(xiàn)成的先體會(huì)一下,然后再自己編譯,裁剪。因?yàn)閱为?dú)UCLINUX的編輯技術(shù)上比較簡(jiǎn)單,但涉及的方面還是比較廣的。7 VMWARE 老牌的虛擬機(jī)軟件,在一個(gè)機(jī)器上虛擬出一個(gè)機(jī)器裝LINUX(PC上用的),省得你來(lái)回開(kāi)關(guān)機(jī)了。記得裝VMWARE-TOOLS。8 source insight 代碼編輯工具 linux下使用kscope

ARM公司簡(jiǎn)介

1991 年 ARM 公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用 ARM技術(shù)知識(shí)產(chǎn)權(quán)( IP )核的微處理器,即我們通常所說(shuō)的 ARM 微處理器,已遍及工業(yè)控制、消費(fèi)類(lèi)電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無(wú)線系統(tǒng)等各類(lèi)產(chǎn)品市場(chǎng),基于 ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了 32 位 RISC 微處理器 75 %以上的市場(chǎng)份額, ARM 技術(shù)正在逐步滲入到我們生活的各個(gè)方面。ARM 公司是專(zhuān)門(mén)從事基于 RISC 技術(shù)芯片設(shè)計(jì)開(kāi)發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購(gòu)買(mǎi)其設(shè)計(jì)的 ARM 微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己?ARM 微處理器芯片進(jìn)入市場(chǎng)。目前,全世界有幾十家大的半導(dǎo)體公司都使用 ARM 公司的授權(quán),因此既使得 ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場(chǎng)被消費(fèi)者所接受,更具有競(jìng)爭(zhēng)力。ARM處理器的三大特點(diǎn)是:耗電少功能強(qiáng)、16位/32位雙指令集和眾多合作伙伴。ARM商品模式的強(qiáng)大之處在于它在世界范圍有超過(guò)100個(gè)的合作伙伴(Partners)。ARM 是設(shè)計(jì)公司,本身不生產(chǎn)芯片。采用轉(zhuǎn)讓許可證制度,由合作伙伴生產(chǎn)芯片。當(dāng)前ARM體系結(jié)構(gòu)的擴(kuò)充包括:Thumb 16位指令集,為了改善代碼密度;DSP DSP應(yīng)用的算術(shù)運(yùn)算指令集;Jazeller 允許直接執(zhí)行Java字節(jié)碼。ARM處理器系列提供的解決方案有:無(wú)線、消費(fèi)類(lèi)電子和圖像應(yīng)用的開(kāi)放平臺(tái); 存儲(chǔ)、自動(dòng)化、工業(yè)和網(wǎng)絡(luò)應(yīng)用的嵌入式實(shí)時(shí)系統(tǒng);智能卡和SIM卡的安全應(yīng)用。ARM處理器本身是32位設(shè)計(jì),但也配備16位指令集。一般來(lái)講存儲(chǔ)器比等價(jià)32位代碼節(jié)省達(dá)35%,然而保留了32位系統(tǒng)的所有優(yōu)勢(shì)。ARM的Jazelle技術(shù)使Java加速得到比基于軟件的Java虛擬機(jī)(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增強(qiáng)的16位和32位算術(shù)運(yùn)算能力,提高了性能和靈活性。ARM還提供兩個(gè)前沿特性來(lái)輔助帶深嵌入處理器的高集成SoC器件的調(diào)試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。

設(shè)計(jì)文件

設(shè)計(jì)文件講求精簡(jiǎn)又快速的設(shè)計(jì)方式,整體電路化卻又不采用微碼,就像早期使用在Acorn微電腦的8位6502處理器。ARM架構(gòu)包含了下述RISC特性:讀?。瘍?chǔ)存 架構(gòu)不支援地址不對(duì)齊內(nèi)存存取(ARMv6內(nèi)核現(xiàn)已支援)正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)大量的16 × 32-bit 寄存器陣列(register file)固定的32 bits 操作碼(opcode)長(zhǎng)度,降低編碼數(shù)量所產(chǎn)生的耗費(fèi),減輕解碼和流水線化的負(fù)擔(dān)。大多均為一個(gè)CPU周期執(zhí)行。為了補(bǔ)強(qiáng)這種簡(jiǎn)單的設(shè)計(jì)方式,相較于同時(shí)期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設(shè)計(jì):大部分指令可以條件式地執(zhí)行,降低在分支時(shí)產(chǎn)生的負(fù)重,彌補(bǔ)分支預(yù)測(cè)器(branch predictor)的不足。算數(shù)指令只會(huì)在要求時(shí)更改條件編碼(condition code)32-bit筒型位移器(barrel shifter)可用來(lái)執(zhí)行大部分的算數(shù)指令和尋址計(jì)算而不會(huì)損失效能強(qiáng)大的索引尋址模式(addressing mode)精簡(jiǎn)但快速的雙優(yōu)先級(jí)中斷子系統(tǒng),具有可切換的暫存器組有個(gè)附加在ARM設(shè)計(jì)中好玩的東西,就是使用一個(gè)4-bit&nbsp;條件編碼&nbsp;在每個(gè)指令前頭,表示每支指令的執(zhí)行是否為有條件式的   這大大的減低了在內(nèi)存存取指令時(shí)用到的編碼位,換句話說(shuō),它避免在對(duì)小型敘述如if做分支指令。有個(gè)標(biāo)準(zhǔn)的范例引用歐幾里德的最大公因子算法:在C編程語(yǔ)言中,循環(huán)為:int gcd (int i, int j) { while (i != j) if (i > j) i -= j; else j -= i; return i;} 在ARM匯編語(yǔ)言中,循環(huán)為:loop CMP Ri, Rj ; 設(shè)定條件為 "NE"(不等於) if (i != j) ; "GT"(大於) if (i > j), ; or "LT"(小於) if (i < j) SUBGT Ri, Ri, Rj ; 若 "GT"(大於), i = i-j; SUBLT Rj, Rj, Ri ; 若 "LT"(小於), j = j-i; BNE loop ; 若 "NE"(不等於),則繼續(xù)回圈這避開(kāi)了then和else子句之間的分支。另一項(xiàng)指令集的特色是,能將位移(shift)和回轉(zhuǎn)(rotate)等功能并成"資料處理"型的指令(算數(shù)、邏輯、和暫存器之間的搬移),因此舉例來(lái)說(shuō),一個(gè)C語(yǔ)言的敘述a += (j << 2);在ARM之下,可簡(jiǎn)化成只需一個(gè)word和一個(gè)cycle即可完成的指令A(yù)DD Ra, Ra, Rj, LSL #2這結(jié)果可讓一般的ARM程式變得更加緊密,而不需經(jīng)常使用內(nèi)存存取,流水線也可以更有效地使用。即使在ARM以一般認(rèn)定為慢速的速度下執(zhí)行,與更復(fù)雜的CPU設(shè)計(jì)相比它仍能執(zhí)行得不錯(cuò)。ARM處理器還有一些在其他RISC的架構(gòu)所不常見(jiàn)到的特色,例如PC-相對(duì)尋址(的確在ARM上PC為16個(gè)暫存器的其中一個(gè))以及 前遞加或后遞加的尋址模式。另外一些注意事項(xiàng)是 ARM 處理器會(huì)隨著時(shí)間,不斷地增加它的指令集。某些早期的 ARM 處理器(比ARM7TDMI更早),譬如可能并未具備指令可以讀取兩 Bytes 的數(shù)量,因此,嚴(yán)格來(lái)講,對(duì)這些處理器產(chǎn)生程式碼時(shí),就不可能處理如 C 語(yǔ)言物件中使用 "volatile short" 的資料型態(tài)。ARM7 和大多數(shù)較早的設(shè)計(jì)具備三階段的流水線化(Pipeline):提取指令、解碼,并執(zhí)行。較高效能的設(shè)計(jì),如 ARM9,則有五階段的流水線化。提高效能的額外方式,包含一顆較快的加法器,和更廣的分支預(yù)測(cè)邏輯線路。   這個(gè)架構(gòu)使用“協(xié)處理器”提供一種非侵入式的方法來(lái)延伸指令集,可透過(guò)軟件下 MCR、MRC、MRRC和MCRR 等指令來(lái)對(duì)協(xié)處理器尋址。協(xié)處理器空間邏輯上通常分成16個(gè)協(xié)處理器,編號(hào)分別從 0 至 15 ,而第15號(hào)協(xié)處理器(CP15)是保留用作某些常用的控制功能,像是使用高速緩存和記憶管理單元運(yùn)算(若包含于處理器時(shí))。   在 ARM 架構(gòu)的機(jī)器中,周邊裝置連接處理器的方式,通常透過(guò)將裝置的實(shí)體暫存器對(duì)應(yīng)到 ARM 的內(nèi)存空間、協(xié)處理器空間,或是連接到另外依序接上處理器的裝置(如總線)。協(xié)處理器的存取延遲較低,所以有些周邊裝置(例如&nbsp;XScale&nbsp;中斷控制器)會(huì)設(shè)計(jì)成可透過(guò)不同方式存?。ㄍ高^(guò)內(nèi)存和協(xié)處理器)。

Thumb

較新的ARM處理器有一種16-bit指令模式,叫做Thumb,也許跟每個(gè)條件式執(zhí)行指令均耗用4位的情形有關(guān)。在Thumb模式下,較小的opcode有更少的功能性。例如,只有分支可以是條件式的,且許多opcode無(wú)法存取所有CPU的暫存器。然而,較短的opcode提供整體更佳的編碼密度(注:意指程式碼在內(nèi)存中占的空間),即使有些運(yùn)算需要更多的指令。特別在內(nèi)存埠或總線寬度限制在32 以下的情形時(shí),更短的Thumb opcode能更有效地使用有限的內(nèi)存帶寬,因而提供比32位程式碼更佳的效能。典型的嵌入式硬件僅具有較小的32-bit datapath尋址范圍以及其他更窄的16 bits尋址(例如Game Boy Advance)。在這種情形下,通??尚械姆桨甘蔷幾g成 Thumb 程式碼,并自行最佳化一些使用(非Thumb)32位指令集的CPU相關(guān)程式區(qū),因而能將它們置入受限的32-bit總線寬度的內(nèi)存中。首顆具備 Thumb 技術(shù)的處理器是 ARM7TDMI。所有 ARM9 和后來(lái)的家族,包括&nbsp;XScale&nbsp;都納入了 Thumb 技術(shù)。

Jazelle

ARM 還開(kāi)發(fā)出一項(xiàng)技術(shù),Jazelle DBX&nbsp;(Direct Bytecode eXecution),允許它們?cè)谀承┘軜?gòu)的硬件上加速執(zhí)行Java bytecode,就如其他執(zhí)行模式般,當(dāng)呼叫一些無(wú)法支援bytecodes的特殊軟件時(shí),能提供某些bytecodes的加速執(zhí)行。它能在現(xiàn)存的ARM與Thumb模式之間互相執(zhí)行。首顆具備Jazelle技術(shù)的處理器是ARM926EJ-S:Jazelle以一個(gè)英文字母''J''標(biāo)示于CPU名稱(chēng)中。它用來(lái)讓手機(jī)制造商能夠加速執(zhí)行Java ME的游戲和應(yīng)用程式,也因此促使了這項(xiàng)技術(shù)不斷地開(kāi)發(fā)。

Thumb-2

Thumb-2&nbsp;技術(shù)首見(jiàn)于&nbsp;ARM1156 核心&nbsp;,并于2003年發(fā)表。Thumb-2 擴(kuò)充了受限的 16-bit Thumb 指令集,以額外的 32-bit 指令讓指令集的使用更廣泛。因此 Thumb-2 的預(yù)期目標(biāo)是要達(dá)到近乎 Thumb 的編碼密度,但能表現(xiàn)出近乎 ARM 指令集在 32-bit 內(nèi)存下的效能。Thumb-2 至今也從 ARM 和 Thumb 指令集中派生出多種指令,包含位欄(bit-field)操作、分支建表(table branches),和條件執(zhí)行等功能。

Thumb Execution Environment (ThumbEE)

ThumbEE,也就是所謂的Thumb-2EE,,業(yè)界稱(chēng)為Jazelle RCT技術(shù),于2005年發(fā)表,首見(jiàn)于&nbsp;Cortex-A8&nbsp;處理器。ThumbEE 提供從 Thumb-2 而來(lái)的一些擴(kuò)充性,在所處的執(zhí)行環(huán)境(Execution Environment)下,使得指令集能特別適用于執(zhí)行階段(Runtime)的編碼產(chǎn)生(例如即時(shí)編譯)。Thumb-2EE 是專(zhuān)為一些語(yǔ)言如&nbsp;Limbo、Java、C#、Perl&nbsp;和&nbsp;Python,并能讓&nbsp;即時(shí)編譯器&nbsp;能夠輸出更小的編譯碼卻不會(huì)影響到效能。ThumbEE 所提供的新功能,包括在每次存取指令時(shí)自動(dòng)檢查是否有無(wú)效指標(biāo),以及一種可以執(zhí)行陣列范圍檢查的指令,并能夠分支到分類(lèi)器(handlers),其包含一小部份經(jīng)常呼叫的編碼,通常用于高階語(yǔ)言功能的實(shí)作,例如對(duì)一個(gè)新物件做內(nèi)存配置。

進(jìn)階 SIMD (NEON)

進(jìn)階 SIMD 延伸集,業(yè)界稱(chēng)為NEON技術(shù),它是一個(gè)結(jié)合 64 和 128 bit 的&nbsp;SIMD(Single Instruction Multiple Data 單指令多重?cái)?shù)據(jù))指令集,其針對(duì)多媒體和訊號(hào)處理程式具備標(biāo)準(zhǔn)化加速的能力。NEON 可以在 10 MHz 的 CPU 上執(zhí)行 MP3 音效解碼,且可以執(zhí)行 13 MHz 頻率以下的&nbsp;GSM&nbsp;AMR (Adaptive Multi-Rate) 語(yǔ)音編碼。NEON具有一組廣泛的指令集、各自的寄存器陣列,以及獨(dú)立執(zhí)行的硬件。NEON 支援 8-, 16-, 32- 和 64-bit 的整數(shù)及單精度浮點(diǎn)數(shù)據(jù),并以SIMD&nbsp;的方式運(yùn)算,執(zhí)行圖形和游戲處理中關(guān)于語(yǔ)音/視訊的部分。SIMD 在&nbsp;向量超級(jí)處理機(jī)&nbsp;中是個(gè)決定性的要素,它具備同時(shí)多項(xiàng)處理功能。在 NEON 技術(shù)中,SIMD 最高可支援到同時(shí) 16 個(gè)運(yùn)算。

VFP

VFP&nbsp;是在協(xié)同處理器針對(duì)ARM架構(gòu)的衍生技術(shù)。它提供低成本的單精度和倍精度浮點(diǎn)運(yùn)算能力,并完全相容于ANSI/IEEE Std 754-1985 二進(jìn)制浮點(diǎn)算數(shù)標(biāo)準(zhǔn)。VFP 提供大多數(shù)適用于浮點(diǎn)運(yùn)算的應(yīng)用,例如PDA、智慧手機(jī)、語(yǔ)音壓縮與解壓、3D圖像以及數(shù)位音效、打印機(jī)、機(jī)上盒,和汽車(chē)應(yīng)用等。VFP 架構(gòu)也支援&nbsp;SIMD(單指令多重?cái)?shù)據(jù))平行化的短向量指令執(zhí)行。這在圖像和訊號(hào)處理等應(yīng)用上,非常有助于降低編碼大小并增加輸出效率。在ARM-based處理器中,其他可見(jiàn)的浮點(diǎn)、或 SIMD 的協(xié)同處理器還包括了 FPA, FPE,&nbsp;iwMMXt。他們提供類(lèi)似 VFP 的功能但在opcode層面上來(lái)說(shuō)并不具有相容性。

安全性擴(kuò)充 (TrustZone)

TrustZone(TM) 技術(shù)出現(xiàn)在 ARMv6KZ 以及較晚期的應(yīng)用核心架構(gòu)中。它提供了一種低成本的方案,針對(duì)系統(tǒng)單芯片(SoC)內(nèi)加入專(zhuān)屬的安全核心,由硬件建構(gòu)的存取控制方式支援兩顆虛擬的處理器。這個(gè)方式可使得應(yīng)用程式核心能夠在兩個(gè)狀態(tài)之間切換(通常改稱(chēng)為領(lǐng)域(worlds)以避免和其他功能領(lǐng)域的名稱(chēng)混淆),在此架構(gòu)下可以避免資訊從較可信的核心領(lǐng)域泄漏至較不安全的領(lǐng)域。這種內(nèi)核領(lǐng)域之間的切換通常是與處理器其他功能完全無(wú)關(guān)聯(lián)性(orthogonal),因此各個(gè)領(lǐng)域可以各自獨(dú)立運(yùn)作但卻仍能使用同一顆內(nèi)核。內(nèi)存和周邊裝置也可因此得知目前內(nèi)核運(yùn)作的領(lǐng)域?yàn)楹危⒛茚槍?duì)這個(gè)方式來(lái)提供對(duì)裝置的機(jī)密和編碼進(jìn)行存取控制。典型的 TrustZone 技術(shù)應(yīng)用是要能在一個(gè)缺乏安全性的環(huán)境下完整地執(zhí)行操作系統(tǒng),并在可信的環(huán)境下能有更少的安全性的編碼。

ARM 授權(quán)方

ARM 公司本身并不靠自有的設(shè)計(jì)來(lái)制造或出售 CPU ,而是將處理器架構(gòu)授權(quán)給有興趣的廠家。ARM 提供了多樣的授權(quán)條款,包括售價(jià)與散播性等項(xiàng)目。對(duì)于授權(quán)方來(lái)說(shuō),ARM 提供了 ARM 內(nèi)核的整合硬件敘述,包含完整的軟件開(kāi)發(fā)工具(編譯器、debugger、SDK),以及針對(duì)內(nèi)含 ARM CPU 硅芯片的銷(xiāo)售權(quán)。對(duì)于無(wú)晶圓廠的授權(quán)方來(lái)說(shuō),其希望能將 ARM 內(nèi)核整合到他們自行研發(fā)的芯片設(shè)計(jì)中,,通常就僅針對(duì)取得一份生產(chǎn)就緒的智財(cái)核心技術(shù)(IP Core)認(rèn)證。對(duì)這些客戶來(lái)說(shuō),ARM 會(huì)釋出所選的 ARM 核心的閘極電路圖,連同抽象模擬模型和測(cè)試程式,以協(xié)助設(shè)計(jì)整合和驗(yàn)證。需求更多的客戶,包括整合元件制造商(IDM)和晶圓廠家,就選擇可合成的RTL(暫存器轉(zhuǎn)移層級(jí),如&nbsp;Verilog)形式來(lái)取得處理器的智財(cái)權(quán)(IP)。藉著可整合的 RTL,客戶就有能力能進(jìn)行架構(gòu)上的最佳化與加強(qiáng)。這個(gè)方式能讓設(shè)計(jì)者完成額外的設(shè)計(jì)目標(biāo)(如高震蕩頻率、低能量耗損、指令集延伸等)而不會(huì)受限于無(wú)法更動(dòng)的電路圖。雖然 ARM 并不授予授權(quán)方再次出售 ARM 架構(gòu)本身,但授權(quán)方可以任意地出售制品(如芯片元件、評(píng)估板、完整系統(tǒng)等)。商用晶圓廠是特殊例子,因?yàn)樗麄儾粌H授予能出售包含 ARM 內(nèi)核的硅晶成品,對(duì)其它客戶來(lái)講,他們通常也保留重制 ARM 內(nèi)核的權(quán)利。就像大多數(shù) IP 出售方,ARM 依照使用價(jià)值來(lái)決定 IP 的售價(jià)。在架構(gòu)上而言,更低效能的 ARM 內(nèi)核比更高效能的內(nèi)核擁有較低的授權(quán)費(fèi)。以硅芯片實(shí)作而言,一顆可整合的內(nèi)核要比一顆硬件宏(黑箱)內(nèi)核要來(lái)得貴。更復(fù)雜的價(jià)位問(wèn)題來(lái)講,持有 ARM 授權(quán)的商用晶圓廠(例如韓國(guó)三星和日本富士通)可以提供更低的授權(quán)價(jià)格給他們的晶圓廠客戶。透過(guò)晶圓廠自有的設(shè)計(jì)技術(shù),客戶可以更低或是免費(fèi)的ARM預(yù)付授權(quán)費(fèi)來(lái)取得 ARM 內(nèi)核。相較于不具備自有設(shè)計(jì)技術(shù)的專(zhuān)門(mén)半導(dǎo)體晶圓廠(如臺(tái)積電和聯(lián)電),富士通/三星對(duì)每片晶圓多收取了兩至三倍的費(fèi)用。對(duì)中少量的應(yīng)用而言,具備設(shè)計(jì)部門(mén)的晶圓廠提供較低的整體價(jià)格(透過(guò)授權(quán)費(fèi)用的補(bǔ)助)。對(duì)于量產(chǎn)而言,由于長(zhǎng)期的成本縮減可借由更低的晶圓價(jià)格,減少ARM的NRE成本,使得專(zhuān)門(mén)的晶圓廠也成了一個(gè)更好的選擇。許多半導(dǎo)體公司持有 ARM 授權(quán):Atmel、Broadcom、Cirrus Logic、Freescale(于2004從摩托羅拉公司獨(dú)立出來(lái))、富士通、英特爾(借由和Digital的控訴調(diào)停)、IBM,英飛凌科技,任天堂,恩智浦半導(dǎo)體(于2006年從飛利浦獨(dú)立出來(lái))、OKI電氣工業(yè),三星電子,Sharp,STMicroelectronics,德州儀器&nbsp;和&nbsp;VLSI等許多這些公司均擁有各個(gè)不同形式的ARM授權(quán)。雖然ARM的授權(quán)項(xiàng)目由保密合約所涵蓋,在智慧財(cái)產(chǎn)權(quán)工業(yè),ARM是廣為人知最昂貴的CPU內(nèi)核之一。單一的客戶產(chǎn)品包含一個(gè)基本的 ARM 內(nèi)核可能就需索取一次高達(dá)美金20萬(wàn)的授權(quán)費(fèi)用。而若是牽涉到大量架構(gòu)上修改,則費(fèi)用就可能超過(guò)千萬(wàn)美元。ARM(Asynchronous Resbonse Mode)異步響應(yīng)方式異步響應(yīng)方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是,ARM下的傳輸過(guò)程由從站啟動(dòng)。從站主動(dòng)發(fā)送給主站的一個(gè)或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀。在這種操作方式下,由從站來(lái)控制超時(shí)和重發(fā)。該方式對(duì)采用輪詢方式的多站鏈路來(lái)說(shuō)是必不可少的。
 


內(nèi)容來(lái)自百科網(wǎng)