ARM基础教程 | ARM、Cortex-M与ARMv8-M什么关系?

目录

ARM架构

Cortex-M内核

ARMv8-M架构


我们使用的处理器都有一套架构,比如intel 酷睿 i5 属于X86架构,再比如STM32F0是Cortex-M0内核,属于ARMv6-M架构。

现在的技术一代比一代强,你对ARM处理器了解多少呢?


ARM架构

ARM的发展历程很长了,从最开始的ARMv1,逐渐发展到现在大家熟知的ARMv6、 ARMv7、 ARMv8。

在ARMv7的时候,将ARM架构进行了划分,针对不同类型的处理器分为Cortex-A、Cortex-R、Cortex-M三种不同类型的核心。

针对ARM架构,同样进行了划分ARMv8-A、ARMv8-R、 ARMv8-M

M是

给一张图,大家应该更能理解:

架构 arm架构 arm架构图解_单片机

Cortex-M3:是一款ARM处理器内核,也可以理解为ARM处理器家族之中的一个成员。

ARM处理器内核分为:经典核心和Cortex核心。

传统的核心:ARM7、ARM9等。

Cortex核心:Cortex-A、Cortex-R、Cortex-M等。

  • Cotex-M:主要指微处理器;
  • Cotex-R:主要指实时性处理器;
  • Cotex-A:主要指应用型处理器;

值得注意的是,Cortex-M下的处理器没有内存管理单元MMU。

STM32:是一款ARM内核的处理器芯片。

STM32绝大部分是Cortex-M内核,也有少部分包含Cortex-A7(比如:STM32MP1)。


Cortex-M内核

ARM的Cortex-M内核到现在(2022.03)有11款,包含:Cortex-M0、 M0+、 M1、 M3、 M4、 M7、 M23、 M33、 M35P、 M55。

架构 arm架构 arm架构图解_架构 arm架构_02

网址:

https://developer.arm.com/ip-products/processors/cortex-m

最早的Cortex-M0属于Armv6-M架构,而较新的Cortex-M55是Armv8-M架构,这些的架构经过了多年的发展,差异还是挺大。

架构 arm架构 arm架构图解_v8_03

这些Cortex-M内核都是目前流行的内核,存在于众多MCU之中,随着时间的推移,首先应该淘汰应该是Armv6-M架构的内核,然后还会发展更多的架构。

比如:现在M23就是在M0的基础之上发展而来,沿用了M0的优点,拓展了一些新特性。

架构 arm架构 arm架构图解_stm32_04


ARMv8-M架构

从上面的描述大家应该知道ARMv8-M的架构是从ARMv8一步一步发展而来。

ARM架构发展历程:ARMv1、 ARMv2 ··· ARMv8

而ARMv8分为:ARMv8-A、 ARMv8-R、 ARMv8-M。

不知道大家有没有关注新出来的Cortex-M处理器,都在趋向于ARMv8-M(当然,还有一种比较火的RISC-V,这里不讨论)。

比如:STM32L5系列使用M33内核,LPC55S系列使用M33内核,GD32E23系列使用M23内核,这些处理器都是基于ARMv8-M架构。

其实ARMv8-M架构早在2015年的时候ARM技术大会都已经发布了,在物联网快速发展的今天,信息技术也非常发达,因此安全技术就显得尤为重要,ARMv8-M有一项新的技术就是TrustZone(一种安全技术)。

架构 arm架构 arm架构图解_单片机_05

除了TrustZone技术,ARMv8-M还有更多相比老一代架构的新特性。

架构 arm架构 arm架构图解_v8_06

这里从大方向总结了一下关于ARM的内容,让大家有一个更深刻的认识。

总结来说,针对当下人工智能和物联网,增强计算能力,增加安全性等,ARM处理器在往这个方向增加新特性。

------------ END ------------