天天看点

嵌入式开发ARM Cortex-M23全新ARMv8-M基线指令

arm cortex-m23采用trustzone技术,是尺寸最小、能效最高的处理器。小型嵌入式应用对芯片的安全性能有严格要求,基于armv8-m基线架构的cortex-m23处理器则是最佳解决方案。

嵌入式应用开发.jpg

对比armv6-m,cortex-m23加入了许多全新指令,但丝毫没有折损cortex-m系列处理器的超高能效。大多数新指令(除用于安全拓展外)都继承自armv7-m的架构指令集,进一步拓展cortex-m23的功能,并与cortex-m0+ 处理器形成鲜明区分。

安全拓展

armv8-m采用的trustzone安全技术为基线指令集补充了全新指令,包括安全网关(sg)、非安全支路(bxns、blxns)以及测试目标(tt)指令。欲知详情,请参阅yiu撰写的《armv8-m 架构介绍》。

仅执行代码生成

对仅执行(execute-only)代码存储区的支持也获得改善,新增加的即时移动指令(从armv7-m继承的mov/movt)可以在仅执行代码中生成即时数据,让设计师仅凭2条指令便能生成32位值,且无需运行实际负载。

代码优化

条件比较和支路指令(从armv7-m继承的cbnz/cbz)可以提高多项条件控制代码序列的性能。长偏移即时支路(从armv7-m继承的)可以将支路指向遥远的目标地址;硬件整数划分指令(从armv7-m继承的sdiv/udiv)则可以减少除法运算的处理循环。

排斥存取

cortex-m23还从armv7-m继承了负载和储存的专用指令,提升cortex-m23在多核系统中的一贯性,确保多个处理器以同样的机制处理信号。此外,为了对c11/c++11提供稳定支持,cortex-m23还新增armv8-a(thumb 32版本)的负载获取与储存释放指令,并包括这些指令的排斥存取变种。

嵌入式开发技术提供者朗锐智科(www.lrist.com)工作人员介绍armv8-m基线指令集中还加入了多条新指令以提升条件运算、互斥访问、硬件划分运算和即时移动的效率。cortex-m23支持所有的armv6-m指令,以帮助设计师轻而易举地将代码从cortex-m0和cortex-m0+处理器转移至cortex-m23。cortex-m23还包括选配存储保护单元(mpu),基于全新pmsav8架构打造,设计师使用起来非常方便。

继续阅读