ARM概念梳理:Architecture, Core, CPU,SOC

作者:wowo 发布于:2014-12-9 22:54 分类:ARMv8A Arch

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的列表,共大家参考:

http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures

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的资料可以从下面链接下载

http://infocenter.arm.com/help/topic/com.arm.doc.ddi0488g/DDI0488G_cortex_a57_mpcore_trm.pdf

3)ARM Cortex-A57 Core又是基于ARMv8-A architecture,该结构的资料可以通过如下方式获取:

Go to ARM Infocenter and navigate through ARM architecture / Reference Manuals

注2:ARM Infocenter中资料是非常全面的,没事时可以多逛逛。

原创文章,转发请注明出处。蜗窝科技,www.wowotech.net

标签: Architecture ARM core soc

评论:

Tech_fan
2015-12-10 07:26
ARM architecture,是指ARM公司开发的、基于精简指令集架构(RISC, Reduced Instruction Set Computing architecture)的指令集架构(Instruction set architecture)

其实ARM构架不仅仅包括指令集,还包括异常模式,寄存器集,内存管理等
wowo
2015-12-10 09:11
@Tech_fan:确实如此,多谢指正~~
superm
2015-10-30 11:08
高通会修改ARM IP的内部RTL代码吗?
wowo
2015-10-30 13:50
@superm:抱歉,我也不是很懂RTL,可以的话,您可以给大家普及一下这个概念。
superm
2015-10-30 17:19
@wowo:其实我就是觉得高通可能会自己修改了ARM的IP,优化和个性化IP,就好像你说的高通买的是IP core的授权,而不是ARM core的授权,这个是不是说明高通自己在修改ARM IP?
二国内大部分都是直接集成了。
wowo
2015-10-30 21:33
@superm:高通和苹果应该会自己设计、修改ARM IP的,不然比其它厂家就没有优势了。
tigger
2014-12-10 13:05
所以高通的芯片是高通拿到ARM的IP core lincense然后自己做出来的一个ARM Core,指令集跟拿到的那IP core的指令集兼容。但是有自己的独特的东东
其他的公司比如国内的芯片公司,都是拿的完整的ARM core,然后自己封装出来一个ARM CPU.所谓的CPU就是ARM CORE+其他总线啊,外设啊。等等。
tigger
2014-12-10 13:06
@tigger:当然对于高通比如8916,光有ARM core还不行,还是要有外设组成一个CPU.这个8916应该是个ARM CPU.
tigger
2014-12-10 13:19
@tigger:这里cpu 跟soc的区别我有点搞不懂了。。。
wowo
2014-12-10 14:05
@tigger:是的,你看维基上给出来的那个表格,高通比较有技术含量,买的是IP core的授权,而不是ARM core的授权。
对于CPU和SOC,其实界限不是特别明显,这取决于厂商怎么定义。如果严格定义,CPU应该只负责取指、执行、存储、读取。从这个角度看,主流CPU都是SOC,因为里面包了很多之外的东西,但厂商却不那么叫。
另外,有一些很明显的chip,它可以包含1个ARM core和1个DSP,这一定是SOC了。
tigger
2014-12-10 16:36
@wowo:领教了。

发表评论:

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog