词条 | Thumb |
释义 | Thumb指令基本介绍Thumb是ARM体系结构中一种16位的指令集。 从ARMv4T之后的ARM处理器有一种16-bit指令模式,叫做Thumb,也许跟每个条件式执行指令均耗用4位元的情形有关。Thumb指令集可以看作是ARM指令压缩形式的子集,它是为减小代码量而提出,具有16bit的代码密度。Thumb指令体系并不完整,只支持通用功能,必要时仍需要使用ARM指令,如进入异常时。其指令的格式与使用方式与ARM指令集类似,而且使用并不频繁,Thumb指令集作一般了解。 在Thumb模式下,较小的指令码有更少的功能性。例如,只有分支可以是条件式的,且许多指令码无法存取所有CPU的暂存器。然而,较短的指令码提供整体更佳的编码密度,即使有些运算需要更多的指令。特别在内存埠或总线宽度限制在32以下的情形时,更短的Thumb 指令码能更有效地使用有限的内存带宽,因而提供比32位元程式码更佳的效能。典型的嵌入式硬件仅具有较小的32-bit datapath寻址范围以及其他更窄的16 bits寻址。 Thumb指令在分支指令中一部分可以在ARM指令集之间切换,Thumb的数据处理指令都能映射到相应的 ARM数据处理指令中。但是单寄存器和多寄存器的加载和存储指令是不能相互交换的。 最早应用Thumb 技术的处理器是 ARM7TDMI系列的内核。所有 ARM9 和后来的家族,包括 XScale 都纳入了 Thumb 技术。 在编写Thumb指令时,先要使用伪指令CODE16声明,编写ARM指令时,则可使用CODE32伪指令声明。 1、Thumb指令集没有协处理器指令、信号量指令、以及访问CPSR或SPSR的指令,没有乘加指令及64位乘法指令等,且指令的第二操作数受到限制; 2、大多数的Thumb数据处理指令采用2地址格式; 3、除了跳转指令B有条件执行功能之外,其他指令均为无条件执行,而且分支指令的跳转范围有更多限制; 4、数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果放入其中一个操作数寄存器中,而不是放入第3个寄存器中;访问寄存器R8~R15受到一定的限制,除MOV、ADD指令访问R8~R15外,其他数据处理指令总是更新CPSR中ALU状态标志,访问寄存器R8~R15的Thumb数据处理指令不能更新CPSR中的ALU状态指示。 5、Thumb状态下,单寄存器加载和存储指令只能访问寄存器R0~R7; 6、LDM、STM指令可以将任何范围为R0~R7的寄存器子集加载或存储; 7、PUSH、POP指令使用栈寄存器R13作为基址堆栈操作。 Thumb指令与ARM指令的区别1.分支指令:跳转的范围小,除B指令外,都是无条件跳转. 2.数据处理指令:Thumb指令只有2个操作数,而ARM指令是3个操作数. 3.单寄存器加载存储指令:Thumb指令只能访问R0~R7. 4.多寄存器加载存储指令:Thumb指令只能访问R0~R7的子集. 5.Thumb特有指令:PUSH和POP作用于R13. 英语单词基本释义n. 1. 拇指[C] 2. 一拇指的宽度[C] 3. (动物)第一指 vt. 1. 用拇指翻动 2. 笨拙地摆弄 3. 【口】(在路边)竖起拇指要求搭车;靠搭便车旅行 vi. 1. 用拇指翻书;迅速翻阅 2. 【口】竖起拇指要求搭车 常用短语rule of thumb n. 单凭经验的方法,凭感觉的方法; 单凭经验的方法;比较简单有效的方法;常规 thumb index n. 书边标目 green thumb n. 有特殊园艺才能 典型例句With thumb and forefinger she swept the dripping suds first from one arm and then from the other. 她叉开拇指和食指抹掉了一条胳膊上的肥皂沫,又抹了另一条。 I just do it by rule of thumb. 我凭经验做的。 To stick out like a sore thumb 使人侧目 superfluous growth;An extra thumb;sixth finger 骈拇枝指 Worthy to be called the thumb 允称巨擘 Rare is the person who can weigh the faults of others without putting his thumb on the scales. ——Byron J. Langenfield 很少有人在称别人的缺点时不把自己的拇指放在秤上。——兰根菲尔德 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。