注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

易拉罐的博客

心静自然凉

 
 
 

日志

 
 

与32位的ARM指令集相比较,16位的Thumb指令集的优势  

2012-03-07 10:31:19|  分类: 嵌入式系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        Thumb指令集不是完整的指令集,它是ARM指令集的子集。但是Thumb指令具有更高的代码密度,即占用存储空间小,仅为ARM代码规格的65%,但其性能却下降的很少。所以,Thumb指令集使ARM处理器能应用到有限的存储带宽,并且,代码密度要求很高的嵌入式系统中去。

       Thumb指令与ARM指令的时间效率和空间效率关系为:
存储空间约为ARM代码的60%~70%
指令数比ARM代码多约30%~40%
存储器为32位时ARM代码比Thumb代码快约40%
存储器为16位时Thumb比ARM代码快约40~50%
使用Thumb代码,存储器的功耗会降低约30%


      ARMv4T和以上版本的处理器定义了一套16位指令集,称为Thumb指令集。大多数32位ARM指令的功能在Thumb中是可用的,但少数操作需要几条Thumb指令实现。Thumb 指令集提供了更好的代码密度,这在低端开发领域很重要。

     ARMv6T2 定义了Thumb?2,主要是对Thumb指令的增补。 Thumb?2提供于Thumb指令集几乎相同的功能。它有16位指令和32位指令,即用 与Thumb接近的代码密度来实现与ARM接近的功能。

     在 ARMv6和以上的版本中,所有的ARM和Thumb指令都是端口模式。 在ARMv6T2和以上版本中,所有的Thumb-2取指令都是端口模式。

       ARMv7定义了 Thumb?2 执行环境 (Thumb?2EE)。Thumb?2EE指令集是基于Thumb-2指令的,只是 又一些增补使得它适合动态产生的代码的对象,也就是,代码的编译是在执行前编译还是在执行时编译。

  评论这张
 
阅读(968)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017