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