摘要: 本文主要对Armv7-M架构进行介绍。
关键字:Armv7-M架构、Thumb指令
1.Armv7架构简介
Armv7是一组体系结构:
Armv7-A支持Arm和Thumb指令集的应用系统,以及要求内存管理支持中的拟地址。
Armv7-R支持Arm和Thumb指令集的实时系统,以及要求内存管理仅支持物理地址。
Armv7-M仅支持Thumb指令集的微控制系统,总体代码量和确定性比性能更重要。
2.Armv7-M架构
Armv7基于市场的多样性定义一组针对不同需求的架构。这组架构在应用层面是一致的,大部分变化是系统基本的。
在Armv6 T2中引入Thumb-2技术为Arm和Thumb指令集提供了平衡,并为Arm架构扩展到新市场,特别是微控制器市场提供了机会。
为了充分利用这一机会,Arm引入了Armv7-M架构,以补充其在高性能和实时嵌入式市场中的优势。Armv7-M是一个只支持Thumb,具有新的系统级程序员模型的架构。
2.1 Armv7-M架构的设计原则:
启用具有知名能力、性能和区域限制的实现:
--为简单的流水线设计提供可能,在广泛应用中提供知名的系统性能水平。
高度确定的操作
--单次或低周期计数。
--最小的中断延迟,最短的流水线。
--无缓存操作。
兼容C/C++:
--异常处理程序是标准的C/C++函数。
专为深度嵌入式系统设计:
--少引脚设备。
--为Arm架构提供新的入门级机会。
为事件驱动系统提供调试和软件分析支持。
2.2 Armv7-M 指令集
Armv7-M只支持执行Thumb指令。同时将浮点指令和数字信号处理(DSP)指令添加到Thumb指令集。
更详细的指令介绍请持续关注后续更新。