网站大量收购独家精品文档,联系QQ:2885784924

第二讲Thumb技术介绍讲解.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲Thumb技术介绍讲解

第二讲 Thumb技术介绍 Thumb技术介绍 Thumb技术产生的原因 Thumb的技术概述 Thumb的技术实现 Thumb技术的特点 Thumb技术产生的原因 在ARM技术发展的历程中,尤其是ARM7体系结构被广泛接受和使用时,嵌入式控制器的市场仍然大都由8位、16位的处理器占领。 而这些产品却不能满足高端应用如移动电话、磁盘驱动器、调制解调器等设备对处理器性能的要求。 这些高端消费类产品需要32位RISC处理器性能和更优于16位的CISC处理器的代码密度。 这就要求要以更低的成本取得更好的性能和更优于16位的CISC处理器的代码密度。 Thumb技术产生的原因 为了满足嵌入式技术不断发展的要求,ARM的RISC体系结构的发展中已经提供了低功耗、小体积、高性能的方案。 而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集。 Thumb技术是ARM技术的一大特色,本节以第一个支持Thumb的核-ARM7TDMI为例对Thumb技术进行介绍。 Thumb的技术概述 Thumb是ARM体系结构的扩展。它有从标准32位ARM指令集抽出来的36条指令格式,可以重新编成16位的操作码。 这能带来很高的代码密度,因为Thumb指令的宽度只有ARM指令宽度的一半。 在运行时,这些16位的Thumb指令又由处理器解压成32位的ARM指令。 Thumb的技术概述 ARM7TDMI是第一个支持Thumb的核,支持Thumb的核仅仅是ARM体系结构的一种发展的扩展; 所以编译器既可以编译Thumb代码,又可以编译ARM代码; 更高性能的未来的ARM核,也都能够支持Thumb。 Thumb的技术概述 支持Thumb的ARM体系结构的处理器状态可以方便的切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集。 Thumb可以满足它们的要求,它在当时的要求16位和未来需要的32位系统之间搭起了一座桥梁。 更优越的性能,而不需要付出额外的代价,这点对那些目前使用着8或16位处理器,却一直在寻找着更优越的性能的用户来说,提供了解决方案。 Thumb的技术实现 ARM7TDMI正是利用了这个特点,考虑流水线各级间的平衡,利用译码阶段的一个未用的时钟相位,将Thumb指令解压还原为32位相应的ARM指令来完成对Thumb指令的解压缩。 这些16位的Thumb指令可以由处理器在译码级解压成32位的ARM指令,在ARM核里运行。 这样,不需要再附加时间费用和单独的解码周期,就可以维持指令的执行。图2-1为ARM7TDMI中ARM7和ARM7T取指令、解压缩与执行的过程。 Thumb的技术实现 Thumb的技术实现 图2-2为Thumb指令的解压缩和解码过程: 从流水的取指令阶段得到的ARM指令,经过ARM译 码,并且激活主副操作码控制信号。 主操作码描述了要执行指令的类型, 副操作码说明了指令的细节,诸如存储器、操作数 等。 在Thumb状态,多路复用器指导指令经过Thumb解压缩逻辑,转换为相应的ARM指令,然后执行。 Thumb技术的特点 支持Thumb的核有2套独立的指令集,它使设计者得到ARM32位指令的性能,又能享有Thumb指令集产生的代码方面的优势。可以在性能和代码大小之间取得平衡, 在需要较低的存储代码时采用Thumb指令系统,但有比纯粹的16位系统有较高的实现性能,因为实际执行的是32位指令,用Thumb指令编写最小代码量的程序,却取得以ARM代码执行的最好性能。 Thumb技术的特点 与ARM指令集相比,Thumb指令集具有以下局限: 完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合ARM指令集更为适合; Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。 Thumb技术的特点 独立的两套指令集也使得解码逻辑极其的简单,从而维持了较小的硅片面积,保证了领先的“低功耗、高性能、小体积”的技术要求,满足了对嵌入式系统的设计需求。 ARM与THUMB * THUMB指令是ARM指令的子集 可以相互调用,只要遵循一定的调用规则 Thumb指令与ARM指令的时间效率和空间效率关系为: 存储空间约为ARM代码的60%~70% 指令数比ARM代码多约30%~40% 存储器为32位时ARM代码比Thumb代码快约40% 存储器为16位时Thumb比ARM代码快约40~50% 使用Thumb代码,存储器的功耗会降低约30%

文档评论(0)

4477704 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档