美文网首页
为什么ARM 切换Thumb

为什么ARM 切换Thumb

作者: 珍惜Any | 来源:发表于2020-09-23 00:33 被阅读0次

与ARM指令集相比较,Thumb指令集中的数据处理指令的操作数仍然是32位,指令地址也为32位,但Thumb指令集为实现16位的指令长度,舍弃了ARM指令集的一些特性,如大多数的Thumb指令是无条件执行的,而几乎所有的ARM指令都是有条件执行的;大多数的Thumb数据处理指令的目的寄存器与其中一个源寄存器相同。

由于Thumb指令的长度为16位,即只用ARM指令一半的位数来实现同样的功能,所以,要实现特定的程序功能,所需的Thumb指令的条数较ARM指令多。在一般的情况下,Thumb指令与ARM指令的时间效率和空间效率关系为:

—      Thumb代码所需的存储空间约为ARM代码的60%~70%

—      Thumb代码使用的指令数比ARM代码多约30%~40%

—      若使用32位的存储器,ARM代码比Thumb代码快约40%

—      若使用16位的存储器,Thumb代码比ARM代码快约40%~50%

—      与ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30%

#显然,ARM指令集和Thumb指令集各有其优点,若对系统的性能有较高要求,应使用32位的存储系统和ARM指令集,若对系统的成本及功耗有较高要求,则应使用16位的存储系统和Thumb指令集。当然,若两者结合使用,充分发挥其各自的优点,会取得更好的效果。

相关文章

  • 为什么ARM 切换Thumb

    与ARM指令集相比较,Thumb指令集中的数据处理指令的操作数仍然是32位,指令地址也为32位,但Thumb指令集...

  • ARM汇编基础教程——ARM指令集

    ARM和Thumb ARM处理器有两种工作状态ARM和Thumb(Jazelle此处先不考虑)。这两种工作状态和运...

  • ARM和Thumb模式下的断点总结

    ARM和Thumb模式下的断点总结 ARM和Thumb模式下的断点总结 脱壳或者调试SO的时候,需要在恰当的时机让...

  • ARM7 指令集

    ARM指令长度概述 32 bits 长 (ARM状态下) 16 bits 长 (Thumb状态) ARM7TDM...

  • ARM课程-(NO.5 ARM体系)

    ARM 处理器状态 ARM状态:32位:ARM状态:该状态下是执行字方式的ARM指令16位:Thumb状态 ARM...

  • ARM-第五次

    ARM微处理器的工作状态 处理器状态 1.ARM状态:32位,这种状态下执行的是字方式的ARM指令2.Thumb状...

  • ARM汇编器的规则和预处理指令

    现在最新的32位的ARM/THUMB汇编语言叫做UAL(Unified Assembler Language,统一...

  • 嵌入式Lab2:Arm指令

    这个实验的目的是深入理解ARM和Thumb指令的特点,了解编译选项对代码产生的影响。 配合课程 ARM处理器 实验...

  • lldb 脚本 - lldb-capstone-arm 增强版

    该插件基于 使用Capstone增强lldb的 ARM/Thumb 代码反汇编能力。 插件使用方法 下载插件:ht...

  • ARM

    冯诺依曼结构: 哈佛结构: ARM处理器状态 设计了两套指令系统:ARM指令集和Thumb指令集。前者为32位(字...

网友评论

      本文标题:为什么ARM 切换Thumb

      本文链接:https://www.haomeiwen.com/subject/diqnyktx.html