新聞中心

ARM架構(gòu)解析

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

先來談一下的發(fā)展史:1978年12月5日,物理學(xué)家Hermann Hauser和工程師Chris Curry,在英國劍橋創(chuàng)辦了CPU公司(Cambridge Processing Unit),主要業(yè)務(wù)是為當(dāng)?shù)厥袌龉?yīng)電子設(shè)備。1979年,CPU公司改名為Acorn計(jì)算機(jī)公司。

本文引用地址:http://butianyuan.cn/article/201609/303442.htm

80年代中期,Acorn的一個(gè)小團(tuán)隊(duì)要為他們的下一代計(jì)算機(jī)挑選合適的處理器,根據(jù)他們提供的技術(shù)需求,在當(dāng)時(shí)的市場上無法找到合適的處理器,于是Acorn決定自己設(shè)計(jì)一個(gè)處理器。一個(gè)小團(tuán)隊(duì)僅僅用了18個(gè)月就完成了從設(shè)計(jì)到實(shí)現(xiàn)的全過程,這是一臺RISC指令集的計(jì)算機(jī),叫做Acorn RISC Machine(簡稱)。后來Acorn公司沒落了,而處理器設(shè)計(jì)部門被分了出來,組成了一家新公司。

公司主要設(shè)計(jì)ARM系列AISC處理器內(nèi)核,它不生產(chǎn)芯片,只提供IP核。先以一個(gè)例子解釋一下、核、處理器和芯片:S3C2440,這是一款SoC芯片,注意,它不是cpu,2440和我們熟知的51單片機(jī)有點(diǎn)類似,都屬于嵌入式,嵌入式的發(fā)展到目前經(jīng)歷了三個(gè)階段,分別是SCM、MCU、SoC。51屬于SCM或MCU,而2440就屬于SoC了,先來看看51單片機(jī)的內(nèi)部結(jié)構(gòu)

其內(nèi)部結(jié)構(gòu)可以簡單的分成兩部分:cpu和外設(shè)。再來看2440的:

中間的那個(gè)arm920t就是它的處理器,處理器和核在我看來在這里是一個(gè)概念,只不過一個(gè)是硬概念,一個(gè)是軟概念。這里的920t就既是處理器又是核。而三星做的就是除了這個(gè)cpu外其他的東西。

呢?再來看一張圖。

其中左側(cè)的就是,右側(cè)的是處理器,也可以叫核。arm首個(gè)最成功的cpu是ARM7TDMI,是基于ARMv4的。ARM架構(gòu)包含了下述RISC特性:

讀取/儲(chǔ)存 架構(gòu)

不支援地址不對齊內(nèi)存存取(ARMv6內(nèi)核現(xiàn)已支援)

正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)

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

固定的32 bits 操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費(fèi),減輕解碼和流水線化的負(fù)擔(dān)。

大多均為一個(gè)CPU周期執(zhí)行。

不同版本的架構(gòu)會(huì)有所調(diào)整。

和三星相同的其他和arm合作的各大廠商通常會(huì)把它的CPU和各類外圍IP都放到一起,然后自己拿著圖紙去流片,生產(chǎn)出來的也是一個(gè)正方形,下面有很多引腳,這個(gè)東西不僅包含了CPU,還包含了其他的控制器,這個(gè)東西就叫做SOC(system on chip)。從英文來看,所謂的四核SOC什么的,本意就不是單指CPU,而是四核系統(tǒng)。

所以目前各大廠商所做的事情,就是買來ARM的授權(quán),得到ARM處理器的源代碼,而后自己搞一些外圍IP(或者買或者自己設(shè)計(jì)),組成一個(gè)SOC后,去流片。不同的SOC,架構(gòu)不同(就是CPU如何和IP聯(lián)系起來,有的以總線為核心,有的以DDR為核心),所以,海思是擁有自主產(chǎn)權(quán)的SOC架構(gòu)??墒?,無論任何廠商,再怎么折騰,都沒有怎么動(dòng)過CPU,ARM核心就好好的呆在那里,那就是中央處理器。

目前ARM的產(chǎn)品天梯:

ARM命名規(guī)則:

第一個(gè)數(shù)字:系列名稱:eg.ARM7、ARM9

第二個(gè)數(shù)字:Memory system

2:帶有MMU

4:帶有MPU

6:無MMU與MPU

第三個(gè)數(shù)字:Memory size

0:標(biāo)準(zhǔn)Cache(4-128k)

2:減小的Cache

6:可變的Cache

第四個(gè)字符:T:表示支持Thumb指令集

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

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

I :支持片上斷點(diǎn)和調(diào)試點(diǎn)

E:表示支持增強(qiáng)型DSP功能

J :表示支持Jazelle技術(shù),即Java加速器

S:表示全合成式



關(guān)鍵詞: ARM 架構(gòu)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉