Thumb‐2是一个突破性的指令集。它强大,它易用,它轻佻,它高效。Thumb‐2是16位Thumb指令集的一个超集,在Thumb‐2中,16位指令首次与32位指令并存,结果在Thumb状态下可以做的事情一下子丰富了许多,同样工作需要的指令周期数也明显下降。

MCU使用什么指令集主要由内核决定的,比如Cortex-M3使用的是Thumb-2指令集

ARM指令集:

编代码全部是 32bits 的,每条指令能承载更多的信息,因此使用最少的指令完成功能, 所以在相同频率下运行速度也是最快的, 但也因为每条指令是32bits 的而占用了最多的程序空间。

Thumb指令集:

编代码全部是 16bits 的,每条指令所能承载的信息少,因此它需要使用更多的指令才能完成功能, 因此运行速度慢, 但它也占用了最少的程序空间

Thumb-2指令集:
在前面两者之间取了一个平衡, 兼有二者的优势, 当一个 操作可以使用一条 32bits指令完成时就使用 32bits 的指令, 加快运行速度, 而当一次操作只需要一条16bits 指令完成时就使用16bits 的指令,节约存储空间。

ARM指令集、Thumb指令集、Thumb-2指令集相关推荐

  1. ARM内核,RISI(精简指令集),32位系统

    1.ARM ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器.全称为Advanced RISC Machine.ARM处理器本身是32位设计,但也配备16位指令集,一般来讲 ...

  2. arm el2与el3_armv8架构与指令集.整理.初稿.pdf

    目 录 第 1 章 ARMV8 简介 3 1.1 基础认识 3 1.2 相关专业名词解释 3 第 2 章 EXECUTION STATE 4 2.1 提供两种EXECUTION STATE 4 2.2 ...

  3. i基准指令集 mips_ARM/MIPS/PowerPC/RISC-V 指令集快速入门

    这里所介绍的指令集架构均属于 RISC,相比 CISC 更简单.但是 ARM 比较特殊,因为它作为一个 RISC 架构竟然有 push/pop 指令-- ARMv7 ARM 指令集从旧到新有 ARMv ...

  4. 汇编码转机器码万能转换工具(Intel 32/64、ARM 大小端、Thumb大小端、ARM V8大小端、Thumb V8大小端、AArch64)

    汇编码转机器码万能转换工具(Intel 32/64.ARM 大小端.Thumb大小端.ARM V8大小端.Thumb V8大小端.AArch64) 众所周知,计算机核心处理器就是CPU是计算机的重要组 ...

  5. 精简指令集的特点_精简指令集有哪些指令

    [推荐阅读] 浅谈linux 内核网络 sk_buff 之克隆与复制 深入linux内核架构--进程&线程 了解Docker 依赖的linux内核技术 精简指令集计算机RISC的特点是指令及其 ...

  6. ARM架构下使用NEON向量化指令集入门基础

    一.NEON简介         ARM NEON技术是基于SIMD的理念而设计出的,它是一种64位和128位混合的SIMD技术,主要应用场景是音视频处理,图像视觉计算,信号处理应用等需要密集计算的场 ...

  7. 通俗来理解 ARM芯片内核,架构,指令集,软核和硬核之间的关系

    1.单片微型计算机: 简称单片机,简单来说就是集CPU(运算.控制).RAM(数据存储-内存).ROM(程序存储).输入输出设备(串口.并口等)和中断系统处于同一芯片的器件,在我们自己的个人电脑中,C ...

  8. java 虚拟机指令集_jvm规范-jvm虚拟指令集及编译

    第六章:jvm虚拟指令集 6.1假定:"必须"的含义 对于jvm指令的一些"必须"的要求,在运行期要求javaclass的结构是满足约束的,对于不满足约束的情况 ...

  9. RISC-V指令集架构------RV32I基础整数指令集

    0. 基本整数指令集的分类 RISC-V指令集分为基础指令集和扩展指令集,此外又根据不同的处理器位宽分为32位.64位和128位指令集,比如RV32I就表示32位处理器的基本整数指令集,此外,为了进一 ...

  10. python指令集_Tensorflow不支持AVX2指令集的解决方法

    这几天研究了一下FCN(全卷积网络),由于电脑配置不够,用GPU训练直接报OOM(内存溢出)了, 于是转战CPU,当然,这样会很慢,之后会继续搞一下,减小一下网络的复杂度,对一些参数设置一波,看能不能 ...

最新文章

  1. 美多商城之购物车(购物车管理3)
  2. 根据id/类名/元素名称查找元素
  3. FreeBSD配置防火墙开启SSH服务
  4. 迪拜与IBM合作推出基于区块链的商业注册系统
  5. java ip加密如何访问_java代码中如何实现http访问
  6. boost::units模块实现测试显式和隐式单位转换
  7. xftp6设置默认打开文件的程序_xftp6如何使用?xftp6传输文件的使用详细方法--系统之家...
  8. 非客观书评(三)——《ARM Cortex-M3 权威指南》
  9. 银行代码就是银行行号吗?
  10. mybatis源码编译教程
  11. 函数的凹凸区间怎么求_函数凹凸区间怎么求
  12. Screw导出数据库表信息
  13. 适合学生党和上班族的祛痘方法
  14. 邮件签名html qq,QQ邮箱:域名邮箱/个性化签名
  15. Apache Log4j使用实例
  16. python 英文关键词提取_python TF-IDF算法实现文本关键词提取
  17. 怎样保护计算机桌面不被更改,Win7屏幕保护程序不能修改怎么办 win7无法设置电脑屏幕保护程序如何解决...
  18. Maxwell和Simplorer联合仿真设置注意事项
  19. scala学习笔记(十三):implicit 详解
  20. C语言-学生成绩链表处理

热门文章

  1. sqlserver字段选择参照
  2. WP8.1程序开发,可视树VisualTreeHelper类的使用
  3. leetcode之Divide Two Integers
  4. IOS开发学习记录第5天之C语言学习
  5. Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'
  6. 【转载】ceph作为OpenStack的后端存储解决方案
  7. ERP笔记2-善用SVN对系统环境进行配置和组织
  8. 基于 NodeGit 的周报生成工具
  9. 中国云计算市场加速发展 今年有望突破3000亿
  10. IFE-16 addEventHandler跨浏览器实现事件绑定