凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Thumb技术介绍

已有 1583 次阅读| 2015-11-26 17:20

CISC复杂指令系统的核已到达了其性能极限,它需要大量的晶体管,体积大,功耗高,又比较难以集成,导致整个系统要付出高昂的代价。RISC精简指令系统的核虽然为这些问题提供了很有潜力的解决方案,但由于RISC代码密度低的问题,在RISC处理器的发展初期,RISC处理器的性能还是要逊色于CISC处理器,成本、价格上也不占优势。

ARM技术发展的历程中,尤其是ARM7体系结构被广泛接受和使用时,嵌入式控制器的市场仍然大都由8位、16位的处理器占领。然而,这些产品却不能满足告高端应用如移动电话、磁盘驱动器、调制解调器等设备对处理器性能的要求。这些高端消费类产品需要32位的RISC处理器的性能和更优于16位的CISC处理器的代码密度。这就要求以更低的成本取得更好的性能,以及更优于16位的CISC处理器的代码密度。

为了满足嵌入式技术不断发展的要求,ARMRISC体系结构的发展中已提供了低功耗、小体积、高性能的方案、而为了解决代码长度的问题,ARM体系结构又增加了T变种,开发了一种新的指令体系,这就是Thumb指令集。Thumb技术是ARM技术的一大特色。

Thumb的技术概述

ThumbARM体系结构的扩展。它有从标准32ARM指令集抽出来的36条指令格式,可重新编成16位的操作码。这能带来很高的代码密度,因为Thumb指令的宽度只有ARM指令宽度的一半。在运行时,这些16位的Thumb指令又由处理器解压成32位的ARM指令。

ARM7TDMI是第一个支持Thumb的核,支持Thumb的核仅仅是ARM体系结构的一种拓展,所以编译器既可编译Thumb代码,又可编译ARM代码。更优越性能的未来的ARM核,也能够支持Thumb

支持ThumbARM体系结构的处理器状态可方便地切换、运行到Thumb状态,在该状态下指令集是16位的Thumb指令集。Thumb可满足它们的要求,它在当时要求的16位和未来需要的32位系统之间搭起了一座桥梁。具有更优越的性能,而不需要付出额外的代价,这一点对那些目前正在使用8位或16位处理器,却一直寻找着更优越的性能的用户来说,正好提供了解决方案。

Thumb的技术实现

在早期的ARM7TDMI3级流水线的体系结构中,为了支持Thumb指令集,ARM指令体系需要增加Thumb解压缩器。ARM7TDMI是第一个应用此技术的核。ARM7ARM7T核完成单周期的执行都是需要3个阶段:取指令、译码、执行。指令经过各个阶段是由时钟相位的高低来控制的。ARM7TDMI正是利用了这个特点,考虑流水线各级间的平衡,利用译码器的一个未用的时钟相位,将Thumb指令解压还原为32位相应的ARM指令来完成对Thumb指令的解压缩。这些16位的Thumb指令可由处理器在译码级解压成32位的ARM指令,在ARM核里运行。这样,无须再附加时间费用和单独的解码周期,就可维持指令的执行。

Thumb的技术特点

支持Thumb即可执行这些标准的ARM指令,又可执行Thumb指令。Thumb不仅仅是另一个混合指令集的概念,因为支持Thumb的核有2套独立的指令集,它使设计者得到ARM32位指令的性能,又能享有Thumb指令集产生的代码方面的优势,可在性能和代码大小之间取得平衡。在需要较低的存储代码时,采用Thumb指令系统,但有比纯粹的16位系统有较高的实现性能,因为实际执行的32位指令,用Thumb指令编写最小代码量的程序,却取得以ARM代码执行的最好性能。

ARM指令集相比,Thumb指令集具有以下局限:

完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的应用场合,ARM指令集更为合适;

Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要与ARM指令配合使用。‘

一般统计发现,同样的程序运行在16Thumb状态下运行比在ARM下代码的60%-70%,也就是说,同样的程序在Thumb状态下运行比在ARM状态下运行少了30%-40%的代码。与使用32ARM代码比较,使用16Thumb代码,系统存储器功耗约降低30%

独立的2套指令集也使得解码逻辑及其简单,从而维持了较小的硅片面积,保证了领先的“低功耗、高性能、小体积”的技术要求,满足了对嵌入式系统的设计需求。

更多嵌入式学习资料,请点击www.sunplusedu.com来获得更多资料下载。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 07:23 , Processed in 0.036647 second(s), 13 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部