thumb指令集是什么_thumb指令集与arm指令集的区别

  thumb指令集是arm指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。thumb不是一个完整的体系结构,不能指望处理器只执行thumb指令集而不支持arm指令集。

thumb指令集是什么_thumb指令集与arm指令集的区别

  thumb指令集分为:分支指令、数据传送指令、单寄存器加载和存储指令以及多寄存器加载和存储指令。thumb指令集没有协处理器指令、信号量(semaphore)指令以及访问cpsr或spsr的指令。

  thumb指令集与arm指令集的区别

thumb指令集是什么_thumb指令集与arm指令集的区别

  1、thumb指令继承了arm指令集的许多特点

  thumb指令也是采用load/store结构,有数据处理、数据传送及流控制指令等。

  2、thumb指令集丢弃了arm指令集一些特性

  大多数thumb指令是无条件执行的(除了转移指令b),而所有arm指令都是条件执行的。许多thumb数据处理指令采用2地址格式,即目的寄存器与一个源寄存器相同,而大多数arm数据处理指令采用的是3地址格式(除了64位乘法指令外)。

  3、thumb异常时表现的一些特点

  所有异常都会使微处理器返回到arm模式状态,并在arm的编程模式中处理。由于arm微处理器字传送地址必须可被4整除(即字对准),半字传送地址必须可被2整除(即半字对准)。而thumb指令是2个字节长,而不是4个字节,所以,由thumb执行状态进入异常时其自然偏移与arm不同。

技术专区

  • mybatis动态sql详解
  • 用VHDL语言设计数据传输系统中的HDB3编码器
  • 裸机程序如何驱动硬件?看前辈是怎么说的
  • 应用面向对象编程SoC原则的典型示例
  • 嵌入式开发之java常用开发工具介绍
  • thumb指令集是什么_thumb指令集与arm指令集的区别已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网