ARM Cortex-M

ARM Cortex-M是ARM架构处理器核心中，低阶系列的统称，由安谋控股所授权。这组核心的特点为低成本以及高能源效率的微处理器而最佳化设计，已有上千万个消费性设备中有此系列的微处理器。此系列核心包括Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7、Cortex-M23、Cortex-M33、Cortex-M35P和Cortex-M55。其中Cortex-M4 / M7 / M33 / M35P / M55 核心有浮点运算器的选项，若有浮点运算器的选项，会在型号后面说明，例如Cortex-Mx with FPU或Cortex-MxF，其中x是核心编号。
简介.
ARM Cortex-M系列是为了单片机、特殊应用积体电路（ASIC）、应用专门标准产品（ASSP）、现场可编程逻辑门阵列（FPGA）及单片系统（SoC）设计的ARM微处理器核心。Cortex-M核心常用在
专用微控制器晶片中，但也会藏在SoC晶片中，例如电源管理制器、输入／输出控制器、系统控制器、触碰萤幕控制器、智慧电池控制器以及感测器控制器。
以往8位元的微控制器相当流行，但低阶的Cortex-M晶片已经降价，占据了一些8位元微控制器的市场。在取代8位元微控制器时，Cortex-M是常出现的选项，因为有32位元数学运算上的优势，也会用来替换一些较旧的ARM核心 ，例如ARM7及ARM9。
授权.
安谋控股不会以其自身的技术生产CPU或贩售CPU，而是其将处理器的架构授权给其他有意愿开发的公司。安谋有许多不同的授权条款，差异在成本以及可交付成果。对于所有的授权，安谋都会提出一份可整合的ARM核心硬体描述，也包括完整的软体开发工具组，以及贩售包括ARM CPU在内的积体电路的权利。
矽定制.
整合元件制造厂（IDM）收到的ARM处理器知识产权，是可逻辑综合的寄存器传输级（用Verilog所写）。以此型式，整合元件制造商可以进行架构层级的最佳化以及延伸，可以让制造商达成其客户的设计目的，例如高时脉速度、非常低的能耗、指令集延伸（包括浮点数）、针对大小的最佳化、除错器的支援等。若要确认特定的ARM CPU晶片中已有那些功能，则需确认制造商的资料表以及相关文件。
Cortex-M核心的部份选配机能如下：
额外的矽智财选项：
指令集.
Cortex-M0 / M0+ / M1实现的是ARMv6-M架构，Cortex-M3实现的是ARMv7-M架构，Cortex-M4 / Cortex-M7实现的是ARMv7E-M架构。Cortex-M23 / M33 / M35P实现的是ARMv8-M架构，Cortex-M55实现的是ARMv8.1-M架构。这些架构是二进制的指令码，可以和ARMv6-M、 ARMv7-M、ARMv7E-M向上相容。Cortex-M0 / Cortex-M0+ / Cortex-M1的指令码不用修改就可以在Cortex-M3 / Cortex-M4 / Cortex-M7上执行。Cortex-M3上可以执行的二进制程式码不需修改就可以在Cortex-M4 / Cortex-M7 / Cortex-M33 / Cortex-M35P上执行。Cortex-M架构中支援Thumb-1和Thumb-2的指令集，不支援早期的32-bit ARM指令集。
所有Cortex-M的核心都有一个共通的指令子集，包括大部份Thumb-1指令、一些Thumb-2指令，以及结果为32位元的乘法。Cortex-M0 / Cortex-M0+ / Cortex-M1 / Cortex-M23设计目的就是希望让矽晶面积最小，因此其指令集也是Cortex-M家族中最少的。
Cortex-M0 / M0+ / M1中有Thumb-1指令，不过没有ARMv7-M架构才加入的指令（CBZ, CBNZ, IT）。Cortex-M0 / M0+ / M1包括一小部份的Thumb-2指令（BL, DMB, DSB, ISB, MRS, MSR）。Cortex-M3 / M4 / M7 / M33 / M35P 有所有基本的Thumb-1和Thumb-2指令。Cortex-M3加上了三个Thumb-1指令、所有的Thumb-2指令、硬体的整体除法、以及饱和运算指令。Cortex-M4加上了数位讯号处理（DSP）指令，以及可选的单精度浮点运算器（VFPv4-SP）。Cortex-M7加上了可选的双精度浮点运算器（VFPv5）。Cortex-M23 / M33加上了TrustZone指令。
停用机能.
ARM Cortex-M系列的ARM架构，已停用一些早期核心的穖能：
32位元ARM指令的能力和Thumb-1和Thumb-2指令集有很多地方重叠了，不过有些ARM的特征找不到类似的特性。
16位元Thumb-1指令集最早是出现在早期ARMv4T架构的ARM7T核心，随著时代而演进。在ARMv5 / ARMv6 / ARMv6T2　架构问世时，Thumb-1指令集也有扩充。不过也有移除一些Thumb-1指令。
Cortex-M0.
Cortex-M0核心是依小矽晶元面积以及最低价晶片进行最佳化的核心。
Cortex-M0核心的主要特点有：
矽智财选项：
Cortex-M0+.
Cortex-M0+是以Cortex-M0再进行优化的版本。Cortex-M0+支援所有Cortex-M0的指令，因此可以用相同的编译器以及除错工具。Cortex-M0+的管线由三层变成二层，因此耗能较少。除了Cortex-M0已有的除错功能外，Cortex-M0+增加了称为微追踪缓冲区（Micro Trace Buffer、MTB）的选项，有简易的指令追踪缓冲区。Cortex-M0+也有加入Cortex-M3和Cortex-M4的一些特点，是以矽智财选项的方式加入，例如记忆体保护单元（MPU），以及中断向量表重新定位。
Cortex-M0+核心的主要特点有：
矽智财选项：
Cortex-M1.
The Cortex-M1是特别设计可以放入FPGA晶片的内核。
Cortex-M1内核的主要特点有：
矽智财选项：
Cortex-M3.
Cortex-M3内核的主要特点有 
矽智财选项：
Cortex-M4.
在概念上，Cortex-M4是Cortex-M3加上数位信号处理（DSP）指令、可选的浮点运算器。若有浮点运算器，会称为Cortex-M4F。
Cortex-M4内核的主要特点有：
矽智财选项：
Cortex-M7.
Cortex-M7是高性能的内核，其运算效能是Cortex-M4的二倍。其中包括六层的超纯量管线有分支预测，有可选的单精度浮点运算器或双精度浮点运算器。指令集以及资料汇流排已由32-bit宽度增加到64-bit宽度。若内核中有FPU，会称为Cortex-M7F，不然会称为Cortex-M7。
Cortex-M7内核的主要特点有：
矽智财选项：
Cortex-M23.
Cortex-M23内核在2016年10月上市，以2015年11月发布的ARMv8-M架构为基础。在概念上Cortex-M23类似Cortex-M0+，加上整数除法指令、TrustZone安全特性、也是二层管线。
Cortex-M23核心的主要特点有：
矽智财选项：
Cortex-M33.
Cortex-M33内核是在2016年10月发布，是以2015年11月发布的ARMv8-M架构为基础。概念上类似Cortex-M4和Cortex-M23的交集，也有三阶的指令管道。
Cortex-M33核心的主要特点有
矽智财选项：
Cortex-M35P.
Cortex-M35P内核是在2018年5月发布的，在概念上是Cortex-M33内核加上新的指令集，以及来自ARM SecurCore系列，新的防篡改硬体、可选的同位元以及ECC功能。
目前此晶片的公开资料不多，只有技术参考手册。到2020年2月为止，尚未看到各厂商推出此系列的微处理器。
Cortex-M55.
Cortex-M55是在2020年2月发布，是以2019年2月发布的Armv8.1-M架构为基础，有四阶指令管道。
Cortex-M55核心的主要特点有：
矽智财选项：
文件.
ARM晶片的文件很多。 过去八位元的微处理器只有一份文件，不过随著微处理器的进步，许多功能都需要支援。ARM晶片的文件包一般会包括IC制造商以及CPU内核供应商（Arm）的文件。
典型的文件结构如下：
IC制造商可能会有其他资料，例如开发板使用手册、应用指南、快速手册、软体函式库文件、已知问题等。