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是
给一张图,大家应该更能理解:
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。
网址:
https://developer.arm.com/ip-products/processors/cortex-m
最早的Cortex-M0属于Armv6-M架构,而较新的Cortex-M55是Armv8-M架构,这些的架构经过了多年的发展,差异还是挺大。
这些Cortex-M内核都是目前流行的内核,存在于众多MCU之中,随着时间的推移,首先应该淘汰应该是Armv6-M架构的内核,然后还会发展更多的架构。
比如:现在M23就是在M0的基础之上发展而来,沿用了M0的优点,拓展了一些新特性。
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(一种安全技术)。
除了TrustZone技术,ARMv8-M还有更多相比老一代架构的新特性。
这里从大方向总结了一下关于ARM的内容,让大家有一个更深刻的认识。
总结来说,针对当下人工智能和物联网,增强计算能力,增加安全性等,ARM处理器在往这个方向增加新特性。
------------ END ------------