先來談一下ARM的發展史:1978年12月5日,物理學家Hermann Hauser和工程師Chris Curry,在英國劍橋創辦了CPU公司(Cambridge Processing Unit),主要業(ye) 務是為(wei) 當地市場供應電子設備。1979年,CPU公司改名為(wei) Acorn計算機公司。
80年代中期,Acorn的一個(ge) 小團隊要為(wei) 他們(men) 的下一代計算機挑選合適的處理器,根據他們(men) 提供的技術需求,在當時的市場上無法找到合適的處理器,於(yu) 是Acorn決(jue) 定自己設計一個(ge) 處理器。一個(ge) 小團隊僅(jin) 僅(jin) 用了18個(ge) 月就完成了從(cong) 設計到實現的全過程,這是一台RISC指令集的計算機,叫做Acorn RISC Machine(簡稱ARM)。後來Acorn公司沒落了,而處理器設計部門被分了出來,組成了一家新公司。
ARM公司主要設計ARM係列AISC處理器內(nei) 核,它不生產(chan) 芯片,隻提供IP核。先以一個(ge) 例子解釋一下架構、核、處理器和芯片:S3C2440,這是一款SoC芯片,注意,它不是cpu,2440和我們(men) 熟知的51單片機有點類似,都屬於(yu) 嵌入式,嵌入式的發展到目前經曆了三個(ge) 階段,分別是SCM、MCU、SoC。51屬於(yu) SCM或MCU,而2440就屬於(yu) SoC了,先來看看51單片機的內(nei) 部結構

其內(nei) 部結構可以簡單的分成兩(liang) 部分:cpu和外設。再來看2440的:

中間的那個(ge) arm920t就是它的處理器,處理器和核在我看來在這裏是一個(ge) 概念,隻不過一個(ge) 是硬概念,一個(ge) 是軟概念。這裏的920t就既是處理器又是核。而三星做的就是除了這個(ge) cpu外其他的東(dong) 西。
那架構呢?再來看一張圖。

其中左側(ce) 的就是架構,右側(ce) 的是處理器,也可以叫核。arm首個(ge) 最成功的cpu是ARM7TDMI,是基於(yu) ARMv4的。ARM架構包含了下述RISC特性:
讀取/儲(chu) 存 架構
不支援地址不對齊內(nei) 存存取(ARMv6內(nei) 核現已支援)
正交指令集(任意存取指令可以任意的尋址方式存取數據Orthogonal instruction set)
大量的16 × 32-bit 寄存器陣列(register file)
固定的32 bits 操作碼(opcode)長度,降低編碼數量所產(chan) 生的耗費,減輕解碼和流水線化的負擔。
大多均為(wei) 一個(ge) CPU周期執行。
不同版本的架構會(hui) 有所調整。
和三星相同的其他和arm合作的各大廠商通常會(hui) 把它的CPU和各類外圍IP都放到一起,然後自己拿著圖紙去流片,生產(chan) 出來的也是一個(ge) 正方形,下麵有很多引腳,這個(ge) 東(dong) 西不僅(jin) 包含了CPU,還包含了其他的控製器,這個(ge) 東(dong) 西就叫做SOC(system on chip)。從(cong) 英文來看,所謂的四核SOC什麽(me) 的,本意就不是單指CPU,而是四核係統。
所以目前各大廠商所做的事情,就是買(mai) 來ARM的授權,得到ARM處理器的源代碼,而後自己搞一些外圍IP(或者買(mai) 或者自己設計),組成一個(ge) SOC後,去流片。不同的SOC,架構不同(就是CPU如何和IP聯係起來,有的以總線為(wei) 核心,有的以DDR為(wei) 核心),所以,海思是擁有自主產(chan) 權的SOC架構。可是,無論任何廠商,再怎麽(me) 折騰,都沒有怎麽(me) 動過CPU,ARM核心就好好的呆在那裏,那就是中央處理器。
目前ARM的產(chan) 品天梯:

ARM命名規則:
第一個(ge) 數字:係列名稱:eg.ARM7、ARM9
第二個(ge) 數字:Memory system
2:帶有MMU
4:帶有MPU
6:無MMU與(yu) MPU
第三個(ge) 數字:Memory size
0:標準Cache(4-128k)
2:減小的Cache
6:可變的Cache
第四個(ge) 字符:T:表示支持Thumb指令集
D:表示支持片上調試(Debug)
M:表示內(nei) 嵌硬件乘法器(Multiplier)
I :支持片上斷點和調試點
E:表示支持增強型DSP功能
J :表示支持Jazelle技術,即Java加速器
S:表示全合成式