嵌入式系统作业:简述Cortex指令集相比ARM指令集的优势
来源:互联网 发布:dual union mysql 编辑:程序博客网 时间:2024/05/01 19:37
优势一:支持的Thumb-2指令集
Cortex-M3支持的Thumb-2指令集,它是一种16/32位混合编码指令,兼容Thumb指令。对于一个应用程序编译生成的Thumb2代码,以接近Thumb编码的代码尺寸,达到了接近ARM编码的运行性能。Thumb2是一种紧凑、高效的新一代指令集。
Thumb2指令集是面向高级语言的指令集,适合于C语言编程,由编译器生成目标代码。
优势二:支持存储器非对齐访问
基于Cortex-M3的MCU,为提高性能,其内部存储器(Flash、RAM)都是32位编址的。这样当常量、变量是字节或半字类型时,如果处理器只支持对齐访问(以往的处理器都是如此),那么这些字节/半字类型的数据也必须被分配、占用一个32位的存储单元,这样就浪费了部分存储空间。
Cortex-M3支持存储器的非对齐访问,它可以访问存储在一个32位单元中的字节/半字类型数据,这样4个字节类型(或2个半字类型)数据可以被分配在一个32位的单元中,提高了存储器的利用率。这种技术可以节省SRAM使用量,从而可以选择SRAM较小、更廉价的MCU。
优势三:支持分支预测
ARM Cortex-M3与ARM7内核一样,采用适合于微控制器应用的三级流水线,但增加了分支预测功能。现代高性能流水线处理器中一般都加入了分支预测部件,就是在处理器从存储器预取指令时,当遇到分支指令时,能自动预测跳转是否会发生,再从预测的方向进行取指,从而提供给流水线连续的指令流,流水线就可以不断地执行有效指令,保证了其性能的发挥。
ARM Cortex-M3内核的预取部件具有分支预测功能,可以预取分支目标地址的指令,使分支延迟减少到一个时钟周期。
优势四:支持位绑定操作
以前的ARM内核不支持位操作,当需要对一个变量或端口的某一位操作时,先要用逻辑与/或指令屏蔽其他的位,使位操作需要较多的指令和时钟周期。ARM Cortex-M3采用了一种特殊的方法——位绑定:把一个地址单元的32位变量中的每一位,通过一个简单的地址转换算法,映射到另一个地址空间,每一位占用一个地址,对此地址空间的操作,只有数据的最低一位是有效的,其余高31位的值被忽略。这样对新的映射空间操作时,就可以不用屏蔽操作,优化了RAM和I/O寄存器的读写,提高了位操作的速度。
优势五:位硬件除法和单周期乘法
以往的ARM处理器没有除法指令,在某些除法密集型应用中性能不尽如意。Cortex-M3加入了32位除法指令,弥补了这一缺陷,使Cortex-M3可以和其他通用处理器一样,完成各种数学运算操作。
- 嵌入式系统作业:简述Cortex指令集相比ARM指令集的优势
- Cortex指令集相比ARM的优势
- 【Cortex-M0】4 ARM微微控制器的指令集
- 嵌入式系统-概述+ARM指令
- ARM 指令 CORTEX-M0
- Cortex-M0指令集
- Cortex-M0+指令集
- ARM 的指令集
- ARM的指令集
- ARM 嵌入式微处理器指令集(上)
- ARM 嵌入式微处理器指令集(下)
- ARM CORTEX-3指令小结
- ARM Cortex-M4 指令列表
- ARM指令集--移位指令
- ARM 指令集>>跳转指令
- ARM指令集 LDR指令
- ARM 指令集 比较指令
- arm指令集比较指令
- JVM加载机制--个人理解
- android studio gradle配置详解
- 虚拟内存和物理内存区别
- 安卓基础_13
- 嵌入式系统作业:CPU选型
- 嵌入式系统作业:简述Cortex指令集相比ARM指令集的优势
- 安卓基础_14
- servlet配置部署至Tomcat
- 朴素贝叶斯算法
- android studio gradle配置详解进阶篇
- hdoj 5015 233 Matrix(矩阵的构造)
- 安卓基础_15
- ERROR 1045 (28000): Access denied for user 'myuser'@'localhost' (using password: YES)
- Spark-SQL之DataFrame操作大全