整理出:Huanggong参考:Wikipedia参考地址:https://zh.wikipedia.org/wiki/ARM体系结构每个人都应该知道STM32,Cortex-M3,ARMv8-M与ARM相关,但是它们可能无法区分它们是什么关系,或者究竟是什么。
1.概述ARMv8-M:它是一种ARM体系结构。
ARM体系结构分为:ARMv1,ARMv2……ARMv8。
而ARMv8分为:ARMv8-A,ARMv8-R,ARMv8-M。
Cortex-M3:它是ARM处理器核心,也可以理解为ARM处理器家族的成员。
ARM处理器核心分为:经典核心和Cortex核心。
传统核心:ARM7,ARM9等。
Cortex核心:Cortex-A,Cortex-R,Cortex-M等。
STM32:是ARM核心处理器芯片。
STM32的大多数是Cortex-M内核,少数包含Cortex-A7(例如STM32MP)。
如图所示:实际上,有许多内容可以细分。
除了这些,还有一些通用的内容,例如ARM指令集,Thumb-2指令集等。
以上是一般内容,下面将进一步描述一些细节。
2.体系结构自1995年以来,“ ARM体系结构参考手册”已被提出。
是ARM文档的主要来源,提供有关ARM处理器体系结构和指令集,不同接口以及所有ARM处理器支持的实现(例如指令语义)的信息。
详细信息可能有所不同。
该架构随着时间的推移而发展,并始于Cortex系列的核心。
存在三种“配置”。
定义如下:配置:Cortex-A系列“嵌入式”配置:Cortex-R系列“微处理器”配置:ARM Cortex-M系列。
每种配置都允许体系结构的子集。
例如,用于ARMv6-M配置(使用Cortex M0 / M0 + / M1)的ARMv7-M体系结构的子集(支持更少的指令)。
3. CPU模式在任何时候,CPU只能处于特定模式,但是由于外部事件(中断)或编程,可以切换模式。
用户模式:仅非特权模式。
系统模式:只能进入特权模式,无例外。
它只能通过执行一条显式写入CPSR的模式位的指令来输入。
(Svc)模式:复位CPU或执行SWI指令时进入的特权模式。
中止模式:发生预读中断或数据中断异常时进入的特权模式。
未定义模式:发生未定义指令异常时进入的特权模式。
干预模式:处理器接受IRQ干预时进入的特权模式。
快速干预模式:处理器接受IRQ干预时进入的特权模式。
Hyp模式:armv-7a提供了由硬件虚拟化为cortex-A15处理器引入的管理模式。
4. ARM授权方法ARM不依赖于自己的设计来制造或销售CPU,而是将处理器体系结构许可给有兴趣的制造商。
标题中的STM32是由ARM生产的处理器,该处理器由Cortex-M内核授权给ST。
ARM提供了各种许可条款,包括价格和发布等项目。
对于许可方,ARM提供了ARM内核的集成硬件描述,包括完整的软件开发工具(编译器,调试器,SDK),以及销售包含ARM CPU的硅芯片的权利。
许多半导体公司持有ARM许可证:Atmel,ST,NXP,TI,IBM等。
在知识产权行业,ARM被公认为是最昂贵的CPU内核之一。
包含基本ARM内核的单个客户产品可能需要最高200,000美元的许可费。
而且,如果涉及大量的结构变更,成本可能会超过数千万美元。
5. ARM核心时间表早在1993年,经典的ARM7出现了,而现在每个人都看到了Cortex-A系列处理器。
实际上,在ARM7之前,还有一些相关的处理器,有兴趣的朋友可以在线了解它。
-结尾-