本篇博客旨在梳理一些关于arm公司和arm芯片的概念,比如S3C2440是什么,它与arm的关系又是什么关系。
S3C2440和ARM公司的关系
ARM公司主要设计ARM系列AISC处理器内核,它不生产芯片,只提供IP核。先以一个例子解释一下架构、核、处理器和芯片:S3C2440,这是一款SoC芯片。注意,它不是cpu,2440和我们熟知的51单片机有点类似,都属于嵌入式。嵌入式的发展到目前经历了三个阶段,分别是SCM、MCU、SoC。51属于SCM或MCU,而2440就属于SoC。下面是2440的内部结构
中间的那个arm920t就是2440的处理器,处理器和核在我看来在这里是一个概念,只不过一个是硬概念,一个是软概念。这里的920t就既是处理器又是核。而三星做的就是除了这个cpu外其他的东西。也就是说ARM公司给了三星公司arm920t,三星公司基于这款处理器设计了S3C2440芯片。
ARM架构
现在我们来谈谈ARM架构,架构实际上是一种设计思想,基于这些设计思想,ARM公司设计了不同的处理器,请看下面这张表
架构 | 处理器家族 |
---|---|
ARMv1 | ARM1 |
ARMv2 | ARM2、ARM3 |
ARMv3 | ARM6、ARM7 |
ARMv4 | StrongARM、ARM7TDMI、ARM9TDMI |
ARMv5 | ARM7EJ、ARM9E、ARM10E、AScale |
ARMv6 | ARM11、ARM Cortex-M0 |
ARMv7 | ARM Cortex-A、ARM Cortex-M3、ARM Cortex-M4、ARM Cortex-R |
ARMv8 | ARM Cortex-A50 |
所以我们可以看出来S3C2440的架构是ARMv4。
ARM核心命名规则
- 第一个数字:系列名称:eg.ARM7、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:表示全合成式
例如:S3C2440基于的是ARM920T
核心。
综上所述:单个架构对应多个核心,单个核心对应多款芯片,由ARM公司提供核心给芯片厂商,如三星。
参考文章
[1]: 一文带你了解ARM的发展历程