1.3 ARM处理器版本命名解析
ARM处理器有众多的版本,初学者刚接触这些版本的时候会很容易混淆,并且会在各个处理器的发布时间和应用方面有很多疑惑,接下来我们进行逐一解释。
1.3.1 如何描述ARM处理器的版本号
ARM处理器的众多版本号按照其定义的含义可以分成以下3类。
第1类:ARM公司根据处理器的系统架构来定义处理器,即处理器的内核是按照这个架构来设计和运行的。其命名规则为“ARM+v+数字”,如ARMv7是ARM公司发布的ARMv7架构。系统架构可以被ARM公司授权给半导体生产厂商来设计处理器。
从ARM公司成立之初发布的ARMv1到ARMv8,这种版本号都是ARM公司自己定义的。
第2类:ARM公司根据处理器的内核版本来定义处理器,即处理器的内部电路是按照ARM的系统架构来设计的,最终的处理器实物是依据这个内核来生产的。这个内核是ARM公司授权给半导体厂商的知识产权(Intellectual Property,IP)核(也称IP内核),半导体厂商通过“裁剪”内核可以生产出自己的处理器实物。内核版本有以下2种命名规则。
第1种命名规则为“ARM+数字”,是ARM公司成立之初就沿用至今的内核命名规则,它一直按照数字顺序沿用到ARM11,如ARM7即ARM公司发布的ARM7内核。ARM7内核是依据ARMv4架构来设计的。
第2种命名规则为“Cortex+字母+数字”,这种命名规则是为了应对处理器在功能、种类上繁多的衍生发展。它结束了“ARM+数字”的内核命名规则,按照处理器的功能和应用方向分出了3个系列的处理器,即“Cortex-A+数字”“Cortex-R+数字”“Cortex-M+数字”。这3个系列的处理器都有各自的细化命名规则,如Cortex-A8、Cortex-A9等都属于“Cortex-A+数字”系列,Cortex-M3、Cortex-M4等都属于“Cortex-M+数字”系列。这种版本号是ARM公司自己定义的。
第3类:半导体生产厂商根据处理器型号来定义,即处理器的不同型号。它没有统一的命名规则,是生产厂商按照自己的规则来定义的。这个处理器是按照ARM公司授权的IP内核来生产的。我们选择使用的S5PV210是三星公司购买了ARM公司的Cortex-A8内核之后,基于Cortex-A8内核进行修改再生产出来的处理器。
1.3.2 ARM处理器版本的发展历程
ARM处理器发展过程中出现的各型号如表1-1所示。
表1-1
ARMv1架构的处理器原型机是ARM1,并且没有经过商用。ARMv2架构是ARMv1架构的升级版。ARMv3架构的内核版本是ARM6,这是ARM公司的第一款微处理器。基于ARM7、ARM9、ARM11内核生产出来的三星S3C44B0、S3C2440、S3C6410处理器有很广泛的应用。
ARMv7架构和之后的版本架构的内核版本改为以Cortex命名,并且分为M、A、R这3类,以便在各个领域中都能发挥更好的功效。
Cortex-M(又称M系列处理器,M即Microcontroller)。M系列处理器的定位是32位单片机系列处理器,其依次推出了M3、M0、M4、M7版本的处理器,这些处理器在功能和功耗上各有优势,在嵌入式的各个领域都有非常广泛的应用,尤其是在对低功耗要求很高的物联网领域。典型处理器有M3系列中的STM32F103和M4系列中的STM32F407。
Cortex-A(又称A系列处理器,A即Application)。A系列处理器的定位是高性能处理器,该处理器可以为需要运行复杂操作系统和复杂应用程序的设备提供全方位的解决方案。从手机、平板计算机等移动设备到数字电视、机顶盒等家用电器,再到工业产品中的控制核心,都离不开A系列处理器。A系列处理器先后推出了Cortex-A8、Cortex-A9、Cortex-A7、Cortex-A15等版本的内核,它们在性能和功耗上各有优势。具有Cortex-A8内核的S5PV210就是一种典型的处理器,苹果手机和平板计算机中的处理器很多都是基于Cortex-A系列的ARM架构生产的。
Cortex-R(又称R系列处理器,R即Real-time)。R系列处理器的定位是高响应速度、高可靠性、低容错率。R系列处理器一般用于需要实时控制、高可靠性、易于维护的系统上。