论文部分内容阅读
近年来,随着科技的迅猛发展,智能手机、电脑、可穿戴设备、智能家居设备和无人机等电子产品已被广泛使用并将逐步普及,这给人们的生活带来了极大的便利。然而,这些产品续航能力不足的问题也渐渐的凸显出来。可见,以低功耗设计为优化目标的产品是当今绿色智能电子设备发展的必由之路。智能电子设备中最重要的组成部分是处理器和存储器,这两部分通常也是功耗开销的主要部分。随着半导体工艺的进步,处理器的运行速度越来越快,而主存的访问速度则相对缓慢,它们之间的性能差距逐渐增大,“存储墙”问题也日益严峻,片上缓存能在一定程度上缓解访问速度不匹配的问题,因而被广泛的使用在各种计算设备上。传统的片上缓存通常采用SRAM架构,因为它有访问速度快和使用寿命长等优点。然而,随着半导体特征尺寸的进一步降低,基于传统CMOS工艺的SRAM片上缓存的漏电功耗(静态功耗)将急剧增加,并逐渐占据主导地位。并且,对于大容量的缓存,SRAM存储单元将耗费大量的芯片面积。基于SRAM设计的片上缓存已经无法满足现代计算设备对低功耗和高性能的要求。新型非易失性存储器(Non-volatile memory,NVM)的出现为计算机存储技术提供了新的解决方案。NVM是很有希望替代传统存储技术的,因为它具有漏电功耗低、存储密度高和非易失性等优良特点。为了充分利用NVM的这些优点,近年来许多研究者提出使用NVM技术架构片上缓存。然而,新型存储器件的制造工艺和设计原理与SRAM不同,NVM通常都有相同的缺点,即写操作的功耗相对较高、写操作的延迟相对较长和存储单元的写寿命有限等。传统的缓存优化方法已不适应新技术的发展。那么运用新型非易失性存储技术架构片上缓存,需要在尽可能利用NVM的优点的同时克服其写操作代价大的问题。本文从存储体系结构的角度出发,分别采用分区技术、反馈学习、磨损均衡技术和数据分配技术等方法优化缓存的功耗。具体研究内容如下:1)基于分区技术的缓存功耗优化缓存分区技术是提升缓存管理机制中最有潜力的技术。为了探索和利用该技术的优势,近年来研究者们提出专注于性能提升的方法,或者专注于降低功耗的方法,这些方法仅适用于特定领域且因为优化目标单一而损失系统性能,使用效果受到限制。针对这个问题,本文提出了一种复用局部性感知的缓存分区方法。首先,根据应用程序对缓存数据的访问行为,将缓存分为活跃区域和非活跃区域。其次,设计了复用局部性算法管理缓存,将高复用局部性的缓存块保留在缓存活跃区域。最后,通过复用局部性指导缓存数据的分配,尽量使数据对象分配到最合适的位置,从而降低缓存的功耗并提升系统的整体性能。在单线程、多道程序和多线程等工作负载下的实验结果表明了该方法的有效性。2)基于反馈学习的非易失性缓存功耗优化通过观察最后一级缓存中的数据发现,存在大量的缓存数据从写入缓存到被替换出去再也未被访问过,这类数据块被称为死写(Dead write)缓存块,他们可以被清除掉而不会引起缓存的访问缺失。根据这个发现,本文提出了一种基于反馈学习的死写终止方法以减少缓存中的死写操作。首先,通过数据复用距离和数据访问频率两个指标记录缓存块的访问行为,然后建立缓存块的量化评估模型。其次,设计了缓存块分类算法,将缓存块分为活块和死块。最后,根据分类信息,如果缓存的写请求是死写,那么本次请求会被终止掉,并且对应的信息会反馈给评估模型。实验结果表明最后一级缓存中的死写块大幅度减少,进而改善了缓存功耗。3)基于磨损均衡技术的非易失性缓存功耗优化缓存上的写操作是非均匀分布的,存在缓存组间和组内的写波动,这一访问特点将导致缓存的每部分磨损不均衡,现有的缓存管理策略却不能感知缓存的写波动。为解决这一问题,考虑到SRAM的写性能要优于NVM,本文提出了一种用SRAM辅助非易失性缓存,通过磨损均衡技术指导缓存数据分配的方法。重点关注写波动大的缓存组和写强度高的缓存单元,着力减少这部分缓存单元的写压力。首先,设计了写波动感知的缓存块迁移算法,能感知缓存组间写波动并迁移写强度大的缓存组,用于减少缓存组间的写压力。其次,设计了阈值指导的缓存块迁移算法,用于迁移缓存组内写局部性高的缓存块来减少组内写压力。实验结果表明NVM上的写操作大量减少,达到了减少缓存功耗和提升缓存寿命的效果。4)基于数据分配技术的混合缓存功耗优化一些研究者提出了采用SRAM和NVM的混合缓存架构方式,以充分利用SRAM的写性能和NVM的低功耗和高存储密度等优点。然而,现有的混合缓存优化方法通常采用迁移机制动态的将写频繁的缓存块从NVM迁移到SRAM,从而减少NVM上的写操作。但是,迁移机制通常会带来迁移开销,并且缓存块在迁移前通常已经被访问多次,这些功耗和性能开销也不容忽视。针对这个问题,本文提出了一种通过缓存访问的统计行为指导混合缓存数据分配的方法。首先,根据缓存数据读写操作统计行为评估缓存块的访问特征。其次,记录这些特征并设计混合缓存的体系结构。最后,建立混合缓存功耗的理论分析模型,并使用该模型指导缓存数据的分配。实验结果表明缓存数据能够以低功耗的方式分配到合理的位置,从而更好地减少缓存的功耗并减少系统的执行时间。