美文网首页
为什么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

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