ARM的發展史以及架構解析

    本文從ARM的發展歷史着手,以S3C2440爲例與51單片機進行對比分析,詳細解析了ARM架構。架構

    先來談一下ARM的發展史:1978年12月5日,物理學家Hermann Hauser和工程師Chris Curry,在英國劍橋創辦了CPU公司(Cambridge Processing Unit),主要業務是爲當地市場供應電子設備。1979年,CPU公司更名爲Acorn計算機公司。編碼

    80年代中期,Acorn的一個小團隊要爲他們的下一代計算機挑選合適的處理器,根據他們提供的技術需求,在當時的市場上沒法找到合適的處理器,因而Acorn決定本身設計一個處理器。一個小團隊僅僅用了18個月就完成了從設計到實現的全過程,這是一臺RISC指令集的計算機,叫作Acorn RISC Machine(簡稱ARM)。後來Acorn公司沒落了,而處理器設計部門被分了出來,組成了一家新公司。設計

    ARM公司主要設計ARM系列AISC處理器內核,它不生產芯片,只提供IP核。先以一個例子解釋一下架構、核、處理器和芯片:S3C2440,這是一款SoC芯片,注意,它不是cpu,2440和咱們熟知的51單片機有點相似,都屬於嵌入式,嵌入式的發展到目前經歷了三個階段,分別是SCM、MCU、SoC。51屬於SCM或MCU,而2440就屬於SoC了,先來看看51單片機的內部結構調試

  ARM的發展史以及架構解析

    其內部結構能夠簡單的分紅兩部分:cpu和外設。再來看2440的:code

  ARM的發展史以及架構解析

  中間的那個arm920t就是它的處理器,處理器和核在我看來在這裏是一個概念,只不過一個是硬概念,一個是軟概念。這裏的920t就既是處理器又是核。而三星作的就是除了這個cpu外其餘的東西。blog

  那架構呢?再來看一張圖。ip

  ARM的發展史以及架構解析

  其中左側的就是架構,右側的是處理器,也能夠叫核。arm首個最成功的cpu是ARM7TDMI,是基於ARMv4的。ARM架構包含了下述RISC特性:內存

  讀取/儲存 架構產品

  不支援地址不對齊內存存取(ARMv6內核現已支援)it

  正交指令集(任意存取指令能夠任意的尋址方式存取數據Orthogonal instruction set)

  大量的16 × 32-bit 寄存器陣列(register file)

  固定的32 bits 操做碼(opcode)長度,下降編碼數量所產生的耗費,減輕解碼和流水線化的負擔。

  大多均爲一個CPU週期執行。

  不一樣版本的架構會有所調整。

  和三星相同的其餘和arm合做的各大廠商一般會把它的CPU和各種外圍IP都放到一塊兒,而後本身拿着圖紙去流片,生產出來的也是一個正方形,下面有不少引腳,這個東西不只包含了CPU,還包含了其餘的控制器,這個東西就叫作SOC(system on chip)。從英文來看,所謂的四核SOC什麼的,本意就不是單指CPU,而是四核系統。

  因此目前各大廠商所作的事情,就是買來ARM的受權,獲得ARM處理器的源代碼,然後本身搞一些外圍IP(或者買或者本身設計),組成一個SOC後,去流片。不一樣的SOC,架構不一樣(就是CPU如何和IP聯繫起來,有的以總線爲核心,有的以DDR爲核心),因此,海思是擁有自主產權的SOC架構。但是,不管任何廠商,再怎麼折騰,都沒有怎麼動過CPU,ARM核心就好好的呆在那裏,那就是中央處理器。

  目前ARM的產品天梯:

  ARM的發展史以及架構解析

  ARM命名規則:

  第一個數字:系列名稱:eg.ARM七、ARM9

  第二個數字:Memory system

  2:帶有MMU

  4:帶有MPU

  6:無MMU與MPU

  第三個數字:Memory size

  0:標準Cache(4-128k)

  2:減少的Cache

  6:可變的Cache

  第四個字符:T:表示支持Thumb指令集

  D:表示支持片上調試(Debug)

  M:表示內嵌硬件乘法器(Multiplier)

  I :支持片上斷點和調試點

  E:表示支持加強型DSP功能

  J :表示支持Jazelle技術,即Java加速器

  S:表示全合成式

相關文章
相關標籤/搜索