第二讲 Thumb技术介绍_第1页
第二讲 Thumb技术介绍_第2页
第二讲 Thumb技术介绍_第3页
第二讲 Thumb技术介绍_第4页
第二讲 Thumb技术介绍_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲

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与THUMBTHUMB指令是ARM指令的子集可以相互调用,只要遵循一定的调用规则Thumb指令与ARM指令的时间效率和空间效率关系为:存储空间约为ARM代码的60%~70%指令数比ARM代码多约30

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论