1. 前言
本文簡單梳理一下ARM有關的概念,包括ARM architecture、ARM core、ARM CPU(或MCU)以及ARM Soc。我們這些以ARM平臺為主的嵌入式工程師,幾乎每天都會和這些概念打交道,也似乎非常理解它們。但仔細想想,卻有些說不清道不明的感覺,因而有必要整理一下思路,也就順手記錄下來了。
2. 概念梳理
1)ARM architecture
ARM architecture,是指ARM公司開發的、基于精簡指令集架構(RISC, Reduced Instruction Set Computing architecture)的指令集架構(Instruction set architecture)。我們常說的ARMv7、ARMv8、ARMv8-A,就是指ARM architecture。類似的基于RISC的architecture也有很多,例如MIPS、AVR、Blackfin等等,都是這個概念。
2)ARM core
ARM core是基于ARM architecture開發出來的IP core,它是介于architecture和最終的CPU(MCU)之間的中間產品,這也是ARM商業模式的獨特之處。
有兩種類型的ARM core:一種是ARM公司自己發布的,如我們耳熟能詳的ARM7、ARM9、ARM Cortex M3、ARM Cortex A57等等;另一種是ARM授權其它公司開發的Core,如蘋果的A6/A6X等等。下面鏈接是維基百科上的ARM core的列表,共大家參考:[url=]http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures[/url]
3)ARM CPU(MCU)
其它的芯片廠商,如Phillips、ST、TI等,會基于ARM公司發布的Core,開發自己的ARM處理器,這稱作ARM CPU(也可稱為MCU)。這些是我們工作過程中接觸最多的,如LPCxxxx、STM32xxx、OMAPxxxx、S3Cxxxx等等。
4)ARM Soc
對于一些比較專業的應用場景,如視頻、音頻等,為了追求更小的size、更低的功耗,廠商會在芯片上,集成除處理器之外的東西,如視頻編解碼器、DSP等。這些集成了其它功能的芯片,稱作片上系統(SOC),如TI的DM37x Video SOC。
注1:其實ARM的技術和商業模式,正體現了軟件工程中抽象和封裝的思想。
3. ARM 64bit
我們以一款64bit ARM CPU為例,反向闡述一下ARM處理的誕生過程,同時羅列一些學習、研究方向。
1)我們熟悉一個CPU(假設它的型號是WW9000)的第一手資料,是芯片廠家發布的Datasheet,例如WW9000_SPEC.pdf。
2)WW9000是基于ARM Cortex-A57 Core封裝而來的,該ARM core的資料可以從下面鏈接下載
[url=]http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488g/DDI0488G_corte...[/url]
3)ARM Cortex-A57 Core又是基于ARMv8-A architecture,該結構的資料可以通過如下方式獲取:
Go to ARM Infocenter and navigate through ARM architecture / Reference Manuals
注2:ARM Infocenter中資料是非常全面的,沒事時可以多逛逛。
|