论文部分内容阅读
以智能手机和平板电脑为代表的移动设备,逐渐成为最主要的电子消费品,而且仍呈现出迅速发展的态势。从移动平台的角度来看,移动设备的硬件配置如处理器、内存、图像处理器、显示屏等都存在较多的选择。不同厂商生产的移动设备集成了不同的硬件部件,可以提供不同的硬件资源。从应用程序的角度来看,数以亿计多种类型且适用于不同移动操作系统的移动应用被广泛使用。不同移动操作系统如Android、iOS采用不同的编程语言,其运行模式存在较大的差异。并且,不同种类的应用如游戏、办公、娱乐等需要不同的硬件支持。也就是说,运行在不同操作系统上的不同种类的应用对硬件资源的需求不一样。总体而言,不同的硬件资源和多样的应用需求间可能存在不匹配的现象。此外,有限的电池容量限制着移动设备的续航能力,也约束着硬件资源的功耗。因此,移动设备需要优化,不仅要优化应用程序的代码,而且要优化硬件资源的管理。而优化的目的是既要满足应用程序的性能需求,也要尽量减少硬件平台消耗的功耗。 本文选择移动设备的体系结构作为出发点,结合移动应用程序的特征,对硬件平台进行优化,主要工作包括以下几个方面: 通过对多种移动应用程序的体系结构特征进行分析,总结出现有移动设备上因制约移动应用而需要优化的关键部件。分析表明,指令缓存、分支预测、二级缓存等部件存在较大的缺失率,且多核平台的处理器核利用率不高。 基于现有移动基准测试程序集不足的缺点,提出一个面向移动设备的基准测试程序集Moby,并详细地评测了Moby中各移动应用的固有特征,如指令特征、局部性特征及运行时特征等。Moby基准测试程序集收集9类共10个具有代表性的Android应用程序,覆盖了浏览器、邮件客户端、新闻、多媒体、地图、办公、游戏等类型的应用。Moby主要用于移动设备体系结构研究,其所有应用都已移植到体系结构模拟器中,并已开源。 针对现有移动设备显示系统的帧刷新机制消耗大量内存功耗的现象,提出一种智能帧刷新机制来减少不必要的帧刷新和帧缓存行读取操作。智能帧刷新机制通过消除帧刷新控制器和帧缓存区间的语义鸿沟,充分利用帧缓存区的信息来指导帧刷新。基于智能帧刷新机制框架,分别实现了帧切换感知的刷新策略和行粒度的刷新策略,来减少无用的帧刷新以及无用的访问帧缓存区的请求。实验结果表明,这两种策略能减少50%的访存请求,以及高达30%的内存功耗。 由于部分移动应用的L2 Cache访问请求的重用距离较大,提出一种Cache组相联度动态扩展的技术,可以在较低的硬件开销下扩大Cache的相联度。结合Cache组相联度动态扩展技术和浏览器不同阶段对Cache的需求特征,提出浏览器各处理阶段感知的L2 Cache管理框架,用来减少浏览器应用的Cache缺失率。该框架直接由浏览器将不同处理阶段的切换动作及各阶段对组相联度需求传递给L2Cache控制器,不需要L2 Cache来预测浏览器的阶段特征,可以减少L2 Cache预测的开销并提高Cache管理的精度。实验结果表明,对浏览器的HTML解析和渲染等阶段来说,Cache组相联度动态扩展技术最多能减少15%的L2 Cache缺失率。