嵌入式开发ARM Cortex-M23全新ARMv8-M基线指令-阿里云开发者社区

开发者社区> 安全> 正文

嵌入式开发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架构打造,设计师使用起来非常方便。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

云安全开发者的大本营

其他文章