- ARM
英國ARM公司介紹
國家:英國(歐洲)ARM行業(yè):電子 半導體 微處理器 智能手機 總部:英國劍橋 CEO:沃倫.伊斯特 競爭對手:英特爾 市場份額 手機處理器90%的市場份額 上網(wǎng)本處理器30%的市場份額
使用ARM處理器手機
歐洲諾基亞
諾基亞 N86 諾基亞 N97 諾基亞 N8 諾基亞 N96 諾基亞 N95 諾基亞 N900 諾基亞 N81 諾基亞 N85 諾基亞 X6 諾基亞 E72 諾基亞 E71 諾基亞 E66 諾基亞 E63 諾基亞 E52 諾基亞 E5 諾基亞 5530XM 諾基亞 5800XM 諾基亞 5320XM 諾基亞 5730XM 諾基亞 5230等
美國摩托羅拉
摩托羅拉 XT800 摩托羅拉 XT702 摩托羅拉 XT701 摩托羅拉 ME600 摩托羅拉 ME501 摩托羅拉ME500 摩托羅拉 Milestone 摩托羅拉 RAZR V8 摩托羅拉 VE66 摩托羅拉 A1200E 摩托羅拉 A1210 摩托羅拉 A1600 摩托羅拉 A1800 摩托羅拉 A1890 摩托羅拉 U9 摩托羅拉 A810 摩托羅拉 ROKR EM30 摩托羅拉 EM35 摩托羅拉 ROKR E6
英國索愛
索愛 X1 索愛 X2 索愛 M1i 索愛 X10 索愛 Satio 索愛 U8i等
美國蘋果
iPhone iPhone 3GS
韓國三星
三星 i8910 三星 i8510等
ARM公司
ARM將其技術授權給世界上許多著名的半導體、軟件和OEM廠商,每個廠商得到的都是一套獨一無二的ARM相關技術及服務。利用這種合伙關系,ARM很快成為許多全球性RISC標準的締造者。目前,總共有30家半導體公司與ARM簽訂了硬件技術使用許可協(xié)議,其中包括Intel、IBM、LG半導體、NEC、SONY、菲利浦和國民半導體這樣的大公司。至于軟件系統(tǒng)的合伙人,則包括微軟、升陽和MRI等一系列知名公司。ARM架構是面向低預算市場設計的第一款RISC微處理器。ARM 即Advanced RISC Machines的縮寫,既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。1985年4月26日,第一個ARM原型在英國劍橋的Acorn計算機有限公司誕生,由美國加州SanJoseVLSI技術公司制造。20世紀80年代后期,ARM很快開發(fā)成Acorn的臺式機產(chǎn)品,形成英國的計算機教育基礎。1990年成立了Advanced RISC Machines Limited(后來簡稱為ARM Limited,ARM公司)。20世紀90年代,ARM 32位嵌入式RISC(Reduced lnstruction Set Computer)處理器擴展到世界范圍,占據(jù)了低功耗、低成本和高性能的嵌入式系統(tǒng)應用領域的領先地位。ARM公司既不生產(chǎn)芯片也不銷售芯片,它只出售芯片技術授權。
ARM的學習和開發(fā)都需要學習哪些軟件
總結起來最主要的有以下幾個吧 1 ADS調(diào)試用 確切的說是ADS+AXD。ADS里包含AXD。原來都用SDT后來ARM公司停止對SDT支持了,改支持ADS了,還是用ADS吧。有的人的程序發(fā)布的仍然是SDT版本的,但基本都可以找到相應ADS的,新人在這里不要發(fā)蒙。ADS是編譯器,AXD是調(diào)試器。編譯成AXF以后再在ARM的RAM里調(diào)試。2 FLASHPGM FLASH燒寫的軟件。AXF在RAM里調(diào)試,掉電就沒有了,方便程序修改。調(diào)試好的程序再下到FLASH里,上電直接運行。同類的軟件還有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問FLASH不支持BIN格式文件的問題就要看我寫的FLASHPGM使用了。3 BANYANT調(diào)試代理(不知道名對不,起這么個難記的,我一般都叫它“半羊”因為知道它那幾天剛吃了烤羊)調(diào)試代理就是用它幫你使用更簡單的JTAG(便宜?。﹣韺崿F(xiàn)原本1K才賣的JTAG仿真器的大部分功能。JTAG調(diào)試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的JTAG的驅(qū)動就行了。調(diào)試代理還有很多種,什么H-JTAG了、ARM7了(不知道具體叫什么,就記得可執(zhí)行文件叫ARM7.EXE)都是,BANYANT比較好。需要注意的是,每種調(diào)試代理安裝方法雖然都簡單但都不一樣,需要看說明。而且AXD調(diào)試之前都要運行。省錢了,就別怕麻煩了。4 ARM-ELF-TOOLS工具鏈 里面是UCLINUX開發(fā)用的工具比如ARM-ELF-GCC只類的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開發(fā)的東西。具體安裝方法看我另一篇筆記。另外如果你開發(fā)LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。5 U-BOOT 大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載 燒寫其他了 有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當然UCOS的不用這個,用什么我不知道:)最新版本是1.1.4 具體使用方法看我另一篇筆記吧。6 UCLINUX包 UCLINUX的源碼包,不用多說了吧?建議大家用現(xiàn)成的先體會一下,然后再自己編譯,裁剪。因為單獨UCLINUX的編輯技術上比較簡單,但涉及的方面還是比較廣的。7 VMWARE 老牌的虛擬機軟件,在一個機器上虛擬出一個機器裝LINUX(PC上用的),省得你來回開關機了。記得裝VMWARE-TOOLS。8 source insight 代碼編輯工具 linux下使用kscope
ARM公司簡介
1991 年 ARM 公司成立于英國劍橋,主要出售芯片設計技術的授權。目前,采用 ARM技術知識產(chǎn)權( IP )核的微處理器,即我們通常所說的 ARM 微處理器,已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于 ARM 技術的微處理器應用約占據(jù)了 32 位 RISC 微處理器 75 %以上的市場份額, ARM 技術正在逐步滲入到我們生活的各個方面。ARM 公司是專門從事基于 RISC 技術芯片設計開發(fā)的公司,作為知識產(chǎn)權供應商,本身不直接從事芯片生產(chǎn),靠轉讓設計許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導體生產(chǎn)商從ARM公司購買其設計的 ARM 微處理器核,根據(jù)各自不同的應用領域,加入適當?shù)耐鈬娐?,從而形成自己?ARM 微處理器芯片進入市場。目前,全世界有幾十家大的半導體公司都使用 ARM 公司的授權,因此既使得 ARM 技術獲得更多的第三方工具、制造、軟件的支持,又使整個系統(tǒng)成本降低,使產(chǎn)品更容易進入市場被消費者所接受,更具有競爭力。ARM處理器的三大特點是:耗電少功能強、16位/32位雙指令集和眾多合作伙伴。ARM商品模式的強大之處在于它在世界范圍有超過100個的合作伙伴(Partners)。ARM 是設計公司,本身不生產(chǎn)芯片。采用轉讓許可證制度,由合作伙伴生產(chǎn)芯片。當前ARM體系結構的擴充包括:Thumb 16位指令集,為了改善代碼密度;DSP DSP應用的算術運算指令集;Jazeller 允許直接執(zhí)行Java字節(jié)碼。ARM處理器系列提供的解決方案有:無線、消費類電子和圖像應用的開放平臺; 存儲、自動化、工業(yè)和網(wǎng)絡應用的嵌入式實時系統(tǒng);智能卡和SIM卡的安全應用。ARM處理器本身是32位設計,但也配備16位指令集。一般來講存儲器比等價32位代碼節(jié)省達35%,然而保留了32位系統(tǒng)的所有優(yōu)勢。ARM的Jazelle技術使Java加速得到比基于軟件的Java虛擬機(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增強的16位和32位算術運算能力,提高了性能和靈活性。ARM還提供兩個前沿特性來輔助帶深嵌入處理器的高集成SoC器件的調(diào)試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。
設計文件
設計文件講求精簡又快速的設計方式,整體電路化卻又不采用微碼,就像早期使用在Acorn微電腦的8位6502處理器。ARM架構包含了下述RISC特性:讀?。瘍Υ?架構不支援地址不對齊內(nèi)存存?。ˋRMv6內(nèi)核現(xiàn)已支援)正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)大量的16 × 32-bit 寄存器陣列(register file)固定的32 bits 操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費,減輕解碼和流水線化的負擔。大多均為一個CPU周期執(zhí)行。為了補強這種簡單的設計方式,相較于同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設計:大部分指令可以條件式地執(zhí)行,降低在分支時產(chǎn)生的負重,彌補分支預測器(branch predictor)的不足。算數(shù)指令只會在要求時更改條件編碼(condition code)32-bit筒型位移器(barrel shifter)可用來執(zhí)行大部分的算數(shù)指令和尋址計算而不會損失效能強大的索引尋址模式(addressing mode)精簡但快速的雙優(yōu)先級中斷子系統(tǒng),具有可切換的暫存器組有個附加在ARM設計中好玩的東西,就是使用一個4-bit 條件編碼 在每個指令前頭,表示每支指令的執(zhí)行是否為有條件式的 這大大的減低了在內(nèi)存存取指令時用到的編碼位,換句話說,它避免在對小型敘述如if做分支指令。有個標準的范例引用歐幾里德的最大公因子算法:在C編程語言中,循環(huán)為:int gcd (int i, int j) { while (i != j) if (i > j) i -= j; else j -= i; return i;} 在ARM匯編語言中,循環(huán)為:loop CMP Ri, Rj ; 設定條件為 "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ù)回圈這避開了then和else子句之間的分支。另一項指令集的特色是,能將位移(shift)和回轉(rotate)等功能并成"資料處理"型的指令(算數(shù)、邏輯、和暫存器之間的搬移),因此舉例來說,一個C語言的敘述a += (j << 2);在ARM之下,可簡化成只需一個word和一個cycle即可完成的指令ADD Ra, Ra, Rj, LSL #2這結果可讓一般的ARM程式變得更加緊密,而不需經(jīng)常使用內(nèi)存存取,流水線也可以更有效地使用。即使在ARM以一般認定為慢速的速度下執(zhí)行,與更復雜的CPU設計相比它仍能執(zhí)行得不錯。ARM處理器還有一些在其他RISC的架構所不常見到的特色,例如PC-相對尋址(的確在ARM上PC為16個暫存器的其中一個)以及 前遞加或后遞加的尋址模式。另外一些注意事項是 ARM 處理器會隨著時間,不斷地增加它的指令集。某些早期的 ARM 處理器(比ARM7TDMI更早),譬如可能并未具備指令可以讀取兩 Bytes 的數(shù)量,因此,嚴格來講,對這些處理器產(chǎn)生程式碼時,就不可能處理如 C 語言物件中使用 "volatile short" 的資料型態(tài)。ARM7 和大多數(shù)較早的設計具備三階段的流水線化(Pipeline):提取指令、解碼,并執(zhí)行。較高效能的設計,如 ARM9,則有五階段的流水線化。提高效能的額外方式,包含一顆較快的加法器,和更廣的分支預測邏輯線路。 這個架構使用“協(xié)處理器”提供一種非侵入式的方法來延伸指令集,可透過軟件下 MCR、MRC、MRRC和MCRR 等指令來對協(xié)處理器尋址。協(xié)處理器空間邏輯上通常分成16個協(xié)處理器,編號分別從 0 至 15 ,而第15號協(xié)處理器(CP15)是保留用作某些常用的控制功能,像是使用高速緩存和記憶管理單元運算(若包含于處理器時)。 在 ARM 架構的機器中,周邊裝置連接處理器的方式,通常透過將裝置的實體暫存器對應到 ARM 的內(nèi)存空間、協(xié)處理器空間,或是連接到另外依序接上處理器的裝置(如總線)。協(xié)處理器的存取延遲較低,所以有些周邊裝置(例如 XScale 中斷控制器)會設計成可透過不同方式存取(透過內(nèi)存和協(xié)處理器)。
Thumb
較新的ARM處理器有一種16-bit指令模式,叫做Thumb,也許跟每個條件式執(zhí)行指令均耗用4位的情形有關。在Thumb模式下,較小的opcode有更少的功能性。例如,只有分支可以是條件式的,且許多opcode無法存取所有CPU的暫存器。然而,較短的opcode提供整體更佳的編碼密度(注:意指程式碼在內(nèi)存中占的空間),即使有些運算需要更多的指令。特別在內(nèi)存埠或總線寬度限制在32 以下的情形時,更短的Thumb opcode能更有效地使用有限的內(nèi)存帶寬,因而提供比32位程式碼更佳的效能。典型的嵌入式硬件僅具有較小的32-bit datapath尋址范圍以及其他更窄的16 bits尋址(例如Game Boy Advance)。在這種情形下,通??尚械姆桨甘蔷幾g成 Thumb 程式碼,并自行最佳化一些使用(非Thumb)32位指令集的CPU相關程式區(qū),因而能將它們置入受限的32-bit總線寬度的內(nèi)存中。首顆具備 Thumb 技術的處理器是 ARM7TDMI。所有 ARM9 和后來的家族,包括 XScale 都納入了 Thumb 技術。
Jazelle
ARM 還開發(fā)出一項技術,Jazelle DBX (Direct Bytecode eXecution),允許它們在某些架構的硬件上加速執(zhí)行Java bytecode,就如其他執(zhí)行模式般,當呼叫一些無法支援bytecodes的特殊軟件時,能提供某些bytecodes的加速執(zhí)行。它能在現(xiàn)存的ARM與Thumb模式之間互相執(zhí)行。首顆具備Jazelle技術的處理器是ARM926EJ-S:Jazelle以一個英文字母''J''標示于CPU名稱中。它用來讓手機制造商能夠加速執(zhí)行Java ME的游戲和應用程式,也因此促使了這項技術不斷地開發(fā)。
Thumb-2
Thumb-2 技術首見于 ARM1156 核心 ,并于2003年發(fā)表。Thumb-2 擴充了受限的 16-bit Thumb 指令集,以額外的 32-bit 指令讓指令集的使用更廣泛。因此 Thumb-2 的預期目標是要達到近乎 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è)界稱為Jazelle RCT技術,于2005年發(fā)表,首見于 Cortex-A8 處理器。ThumbEE 提供從 Thumb-2 而來的一些擴充性,在所處的執(zhí)行環(huán)境(Execution Environment)下,使得指令集能特別適用于執(zhí)行階段(Runtime)的編碼產(chǎn)生(例如即時編譯)。Thumb-2EE 是專為一些語言如 Limbo、Java、C#、Perl 和 Python,并能讓 即時編譯器 能夠輸出更小的編譯碼卻不會影響到效能。ThumbEE 所提供的新功能,包括在每次存取指令時自動檢查是否有無效指標,以及一種可以執(zhí)行陣列范圍檢查的指令,并能夠分支到分類器(handlers),其包含一小部份經(jīng)常呼叫的編碼,通常用于高階語言功能的實作,例如對一個新物件做內(nèi)存配置。
進階 SIMD (NEON)
進階 SIMD 延伸集,業(yè)界稱為NEON技術,它是一個結合 64 和 128 bit 的 SIMD(Single Instruction Multiple Data 單指令多重數(shù)據(jù))指令集,其針對多媒體和訊號處理程式具備標準化加速的能力。NEON 可以在 10 MHz 的 CPU 上執(zhí)行 MP3 音效解碼,且可以執(zhí)行 13 MHz 頻率以下的 GSM AMR (Adaptive Multi-Rate) 語音編碼。NEON具有一組廣泛的指令集、各自的寄存器陣列,以及獨立執(zhí)行的硬件。NEON 支援 8-, 16-, 32- 和 64-bit 的整數(shù)及單精度浮點數(shù)據(jù),并以SIMD 的方式運算,執(zhí)行圖形和游戲處理中關于語音/視訊的部分。SIMD 在 向量超級處理機 中是個決定性的要素,它具備同時多項處理功能。在 NEON 技術中,SIMD 最高可支援到同時 16 個運算。
VFP
VFP 是在協(xié)同處理器針對ARM架構的衍生技術。它提供低成本的單精度和倍精度浮點運算能力,并完全相容于ANSI/IEEE Std 754-1985 二進制浮點算數(shù)標準。VFP 提供大多數(shù)適用于浮點運算的應用,例如PDA、智慧手機、語音壓縮與解壓、3D圖像以及數(shù)位音效、打印機、機上盒,和汽車應用等。VFP 架構也支援 SIMD(單指令多重數(shù)據(jù))平行化的短向量指令執(zhí)行。這在圖像和訊號處理等應用上,非常有助于降低編碼大小并增加輸出效率。在ARM-based處理器中,其他可見的浮點、或 SIMD 的協(xié)同處理器還包括了 FPA, FPE, iwMMXt。他們提供類似 VFP 的功能但在opcode層面上來說并不具有相容性。
安全性擴充 (TrustZone)
TrustZone(TM) 技術出現(xiàn)在 ARMv6KZ 以及較晚期的應用核心架構中。它提供了一種低成本的方案,針對系統(tǒng)單芯片(SoC)內(nèi)加入專屬的安全核心,由硬件建構的存取控制方式支援兩顆虛擬的處理器。這個方式可使得應用程式核心能夠在兩個狀態(tài)之間切換(通常改稱為領域(worlds)以避免和其他功能領域的名稱混淆),在此架構下可以避免資訊從較可信的核心領域泄漏至較不安全的領域。這種內(nèi)核領域之間的切換通常是與處理器其他功能完全無關聯(lián)性(orthogonal),因此各個領域可以各自獨立運作但卻仍能使用同一顆內(nèi)核。內(nèi)存和周邊裝置也可因此得知目前內(nèi)核運作的領域為何,并能針對這個方式來提供對裝置的機密和編碼進行存取控制。典型的 TrustZone 技術應用是要能在一個缺乏安全性的環(huán)境下完整地執(zhí)行操作系統(tǒng),并在可信的環(huán)境下能有更少的安全性的編碼。
ARM 授權方
ARM 公司本身并不靠自有的設計來制造或出售 CPU ,而是將處理器架構授權給有興趣的廠家。ARM 提供了多樣的授權條款,包括售價與散播性等項目。對于授權方來說,ARM 提供了 ARM 內(nèi)核的整合硬件敘述,包含完整的軟件開發(fā)工具(編譯器、debugger、SDK),以及針對內(nèi)含 ARM CPU 硅芯片的銷售權。對于無晶圓廠的授權方來說,其希望能將 ARM 內(nèi)核整合到他們自行研發(fā)的芯片設計中,,通常就僅針對取得一份生產(chǎn)就緒的智財核心技術(IP Core)認證。對這些客戶來說,ARM 會釋出所選的 ARM 核心的閘極電路圖,連同抽象模擬模型和測試程式,以協(xié)助設計整合和驗證。需求更多的客戶,包括整合元件制造商(IDM)和晶圓廠家,就選擇可合成的RTL(暫存器轉移層級,如 Verilog)形式來取得處理器的智財權(IP)。藉著可整合的 RTL,客戶就有能力能進行架構上的最佳化與加強。這個方式能讓設計者完成額外的設計目標(如高震蕩頻率、低能量耗損、指令集延伸等)而不會受限于無法更動的電路圖。雖然 ARM 并不授予授權方再次出售 ARM 架構本身,但授權方可以任意地出售制品(如芯片元件、評估板、完整系統(tǒng)等)。商用晶圓廠是特殊例子,因為他們不僅授予能出售包含 ARM 內(nèi)核的硅晶成品,對其它客戶來講,他們通常也保留重制 ARM 內(nèi)核的權利。就像大多數(shù) IP 出售方,ARM 依照使用價值來決定 IP 的售價。在架構上而言,更低效能的 ARM 內(nèi)核比更高效能的內(nèi)核擁有較低的授權費。以硅芯片實作而言,一顆可整合的內(nèi)核要比一顆硬件宏(黑箱)內(nèi)核要來得貴。更復雜的價位問題來講,持有 ARM 授權的商用晶圓廠(例如韓國三星和日本富士通)可以提供更低的授權價格給他們的晶圓廠客戶。透過晶圓廠自有的設計技術,客戶可以更低或是免費的ARM預付授權費來取得 ARM 內(nèi)核。相較于不具備自有設計技術的專門半導體晶圓廠(如臺積電和聯(lián)電),富士通/三星對每片晶圓多收取了兩至三倍的費用。對中少量的應用而言,具備設計部門的晶圓廠提供較低的整體價格(透過授權費用的補助)。對于量產(chǎn)而言,由于長期的成本縮減可借由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。許多半導體公司持有 ARM 授權:Atmel、Broadcom、Cirrus Logic、Freescale(于2004從摩托羅拉公司獨立出來)、富士通、英特爾(借由和Digital的控訴調(diào)停)、IBM,英飛凌科技,任天堂,恩智浦半導體(于2006年從飛利浦獨立出來)、OKI電氣工業(yè),三星電子,Sharp,STMicroelectronics,德州儀器 和 VLSI等許多這些公司均擁有各個不同形式的ARM授權。雖然ARM的授權項目由保密合約所涵蓋,在智慧財產(chǎn)權工業(yè),ARM是廣為人知最昂貴的CPU內(nèi)核之一。單一的客戶產(chǎn)品包含一個基本的 ARM 內(nèi)核可能就需索取一次高達美金20萬的授權費用。而若是牽涉到大量架構上修改,則費用就可能超過千萬美元。ARM(Asynchronous Resbonse Mode)異步響應方式異步響應方式ARM(Asynchronous Responses Mode)也是一種非平衡數(shù)據(jù)鏈路操作方式,與NRM不同的是,ARM下的傳輸過程由從站啟動。從站主動發(fā)送給主站的一個或一組幀中可包含有信息,也可以是僅以控制為目的而發(fā)的幀。在這種操作方式下,由從站來控制超時和重發(fā)。該方式對采用輪詢方式的多站鏈路來說是必不可少的。
內(nèi)容來自百科網(wǎng)