- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
论Arm v7 thumb-2的性能介绍
论Arm v7 thumb-2的性能介绍 [论文关键词]arm thumb-2 指令集 代码密度 [论文摘要]主要是介绍ARM CPU中的THUMB-2功能的介绍,相对于THUMB的比较THUMB-2指令集的扩展,THUMB-2的新指令带来的好处,新指令对性能和代码密度的改进。 如今的嵌入式系统开发者要面对各种复杂的挑战,其中就包括了如何在代码性能和系统成本之间进行平衡。在这方面,ARM处理器可以提供给开发者领先的技术方案,在综合考虑性能和成本的情况下取得最优的设计方案。Thumbreg;-2是最近才加入ARM架构的一项新技术。它以现有的ARM技术为基础,目标是提供低功耗,高性能的最优设计。本文描述了Thumb-2技术是如何解决这些问题并优化系统设计的。 一、ARM和Thumb指令集 ARM指令集为32位指令集,可以实现ARM架构下所有功能。Thumb指令集是对32位ARM指令集的扩充,它的目标是为了实现更高的代码密度。Thumb指令集实现的功能只是32位A R M指令集的子集,它仅仅把常用的A R M指令压缩成16位的指令编码方式。在指令的执行阶段,16位的指令被重新解码,完成对等的32位指令所实现的功能。与全部用ARM指令集的方式相比,使用Thumb指令可以在代码密度方面改善大约30%。但是,这种改进是以代码的效率为代价的。尽管每个Thumb指令都有相对应的ARM指令,但是,相同的功能,需要更多的Thumb指令才能完成。因此,当指令预取需要的时间没有区别时,ARM指令相对Thumb指令具有更好的性能。 开发者在进行系统设计的时候需要综合考虑成本、性能和功耗等因素。如果在一个系统中综合使用ARM指令和Thumb指令,就能在成本、性能和功耗这些因素取得比较好的平衡。软件代码密度直接影响到嵌入式系统需要的存储器的大小。太大的存储器不仅会影响系统整体成本,还会增加系统的复杂度。因此,嵌入式系统一般都希望能够降低程序的存储器的需求。对嵌入式系统来说,功耗也是需要考虑的重要因素。对很多便携式产品,如何能够延长电池使用时间一直是一个重要的课题。使用ARM指令可以提供最优的性能。嵌入式系统中性能和功耗通常是紧密相关的。如果使用效率更高的ARM指令集,就有可能用更低的处理器主频完成相同的功能,并进而降低系统的整体功耗。同样,如果能够提前完成目标功能,也可以使系统进入低功耗的休眠状态,这样也可以降低系统的整体功耗。代码密度和功耗之间的关系就不是那么明显了。对于有些系统中不同的内存类型,不同内存的不同功耗指标的情况,改善代码密度可以影响到系统的整体功耗。相对片内存储器,任何对片外指令或数据的访问都会导致系统功耗的增加。这主要是因为访问片外存储器需要更多的逻辑和更多的时钟周期。但是,通常来说片内的存储器的容量都不会很大。如果使用Thumb指令集,提高软件的代码密度,就可以把更多的常用代码放到片内的存储器中。所以可以说更高的代码密度有助于降低系统的功耗。 二、ARM Thumb-2技术的代码密度和代码性能 Thumb-2技术是对ARM架构的非常重要的扩展,它可以改善Thumb指令集的性能。Thumb-2指令集在现有的Thumb指令的基础上做了如下的扩充:增加了一些新的16位Thumb指令来改进程序的执行流程,增加了一些新的32位Thumb指令以实现一些ARM指令的专有功能32位的ARM指令也得到了扩充,增加了一些新的指令来改善代码性能和数据处理的效率给Thumb指令集增加32位指令就解决了之前Thumb指令集不能访问协处理器、特权指令和特殊功能指令的局限。新的Thumb指令集现在可以实现所有的功能,这样就不需要在ARM/Thumb状态之间反复切换了,代码密度和性能得到的显著的提高。 新的Thumb-2技术可以带来很多好处: 可以实现ARM指令的所有功能 增加了12条新指令,可以改进代码性能和代码密度之间的平衡 代码性能达到了纯ARM代码性能的98% 相对ARM代码,Thumb-2代码的大小仅有其74% 代码密度比现有的Thumb指令集更高: 代码大小平均降低5% 代码速度平均提高2-3% 在Thumb-2技术之前,开发者会因为如何选择使用ARM/Thumb指令而感到困惑。Thumb-2的出现使开发者只需要使用一套唯一的指令集,不再需要在不同指令之间反复切换了。Thumb-2技术可以极大的简化开发流程,尤其是在性能、代码密度和功耗之间的关系并不清楚直接的情况下。并且,在Thumb-2技术下也不再像以往那样需要在ARM/Thumb两套指令之间切换。对于之前在ARM处理器上已经有长时间开发经验的开发者来说,使用Thumb-2技术是非常简单的。开发者只需要关注对整体性能影响最大的那部分代码,其他的部分可以使用缺省的
原创力文档


文档评论(0)