`
javababy1
  • 浏览: 1169165 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ARM、THUMB指令集

 
阅读更多

兼容数据总线宽度为 16 位的应用系统, ARM 体系结构除了支持执行效率很高的 32 位 ARM指令集以外,同时支持 16 位的Thumb 指令集。 Thumb 指令集是 ARM 指令集的一个子集,允许指令编码为 16 位的长度。与等价的 32 位代码相比较,Thumb 指令集在保留 32 代码优势的同时,大大的节省了系统的存储空间。所有的 Thumb 指令都有对应的 ARM 指令,而且 Thumb 的编程模型也对应于 ARM 的编程模型,在应用程序的编写过程中,只要遵循一定调用的规则, Thumb 子程序和 ARM 子程序就可以互相调用。当处理器在执行 ARM程序段时,称 ARM 处理器处于 ARM 工作状态,当处理器在执行 Thumb程序段时,称 ARM 处理器处于 Thumb 工作状态。 与 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指令集。当然,若两者结合使用,充分发挥其各自的优点,会取得更好的效果。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/HuangWei101/archive/2009/03/30/4036102.aspx

源文档 <http://hi.baidu.com/%B7%C9%CF%E8_%C6%D1%B9%AB%D3%A2/blog/item/a0e4fc3c3b2993e33d6d9788.html>

分享到:
评论

相关推荐

    arm Thumb指令集

    关于ARM里面的Thumb指令集 ARM可以使用兩套指令集 –標準32位元ARM指令集 –16位元的THUMB指令集 –兩套指令集可以交互編譯和連接

    arm thumb指令集

    1. ARM处理器寻址方式 2. ARM指令集介绍 3. Thumb指令集

    ARM_THUMB指令

    ARM Thumb 指令集 Thumb 指令可以看作是ARM 指令压缩形式的子集,是针对代码密度的问题而提出的,它具有16 位的代码密度。Thumb 不是一个完整的体系结构,不能指望处理只执行Thumb 指令而不支持ARM 指令集。因此,...

    arm和thumb指令集编码表.zip

    资源包括ARM和Thumb指令集(中文).pdf 、 arm指令编码表、thumb指令编码表、thumb2指令编码表

    ARM_THUMB指令集.

    ARM指令集, ARM_THUMB指令汇总

    ARM汇编指令集(包括所有的ARM指令和Thumb指令)

    该资源包括两个PDF文件,分别详细介绍了ARM处理器的所有ARM指令和Thumb指令。

    Thumb指令集 ARM的16位指令集

    Thumb指令集 ARM的16位指令集。 Thumb指令集 ARM的16位指令集。

    ARM及Thumb指令集练习.pptARM及Thumb指令集练习.ppt

    ARM及Thumb指令集练习.pptARM及Thumb指令集练习.ppt

    ARM指令集及Thumb指令集

    ARM指令集以及Thumb指令集 大神的经典教材中的光盘内容之一

    ARM及Thumb指令集练习

    ARM及Thumb指令集练习

    常用ARM指令集及汇编.pdf

    Thumb 指令集与 ARM 指令集的区别 39 Thumb 存储器访问指令 40 LDR 和 STR 41 PUSH 和 POP 43 LDMIA 和 STMIA 43 Thumb 数据处理指令 45 数据传送指令46 MOV 46 MVN 46 NEG47 算术逻辑运算指令47 ...

    [THUMB指令集]

    THUMB指令集是ARM指令集(32位格式)的一个16位版本。ARM指令集减少到16位的THUMB指令集,同时也减少了许多指令功能。THUMB指令可以通过嵌在ARM920T内核里的decompressor来转换成为ARM指令。 作为ARM指令的压缩形式...

    常用 ARM 指令集及汇编

    较为简单,ARM7TDMI(-S)具有 32位ARM 指令集和 16位Thumb 指令集,ARM 指令集效率 高,但是代码密度低,而Thumb 指令集具有更好的代码密度,却仍然保持ARM 的大多数 性能上的优势,它是ARM 指令集的子集。所有...

    常用ARM指令集及汇编 带目录 pdf

    ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代码密度低,而Thumb指令集具有更好的代码密度,却...

    ARM和 Thumb2 指令集.pdf

    学习arm时参考这个就可以很方便学习指令集了,汇编优化时很好的参考。

    ARM 指令集用户指南(ARM和THUMB指令)

    ARM指令集用户指南主要介绍RM7、ARM7TDMI、ARM9TDMI以及ARM9E设备的ARM和Thumb指令集。ARM指令集支持Keil AARM 宏汇编程序以及Keil CARM编译器的在线汇编。

    ARM&Thumb指令集个人笔记

    这是本人学习完ARM&Thumb指令集的一个个人总结,里面包含了几乎所有的 ARM7的ARM&Thumb指令,指令格式,指令用法,希望对您在ARM方面的学习有所帮助,欢迎下载。

    常用ARM指令集及汇编

    ARM处理器是基于精简指令集计算机(RISC)原理设计的,指令集和相关译码机制较为简单,ARM7TDMI(-S)具有32位ARM指令集和16位Thumb指令集,ARM指令集效率高,但是代码密度低,而Thumb指令集具有更好的代码密度,却...

Global site tag (gtag.js) - Google Analytics