论文部分内容阅读
近年来,随着物联网的迅速发展,许多新型的智能嵌入式设备应运而生,像智能可穿戴设备,人体植入医疗传感器等等逐渐进入人们的视线,不断影响着人们的生活。传统上,这些嵌入式设备大都采用电池供电的方式,但由于传统电池普遍存在体积和重量大,需要频繁充电等缺陷,给这些新型的嵌入式设备的发展带来了诸多挑战。为此,研究人员都在积极寻求更加合适的供电方式,来替代传统的电池供电,在所有可能的解决方案中,能量采集是满足这些新型的嵌入式设备的尺寸和功率要求的最有前途的技术之一。能量采集技术是从周围的环境中获得能量(比如太阳能、电磁辐射、热能等),并通过使用一些能量转换技术对自身设备的电容进行充电,或在某些情况下对电子器件进行直接供电的技术[2]。这种供电方式,通常称之为自供能。它不仅解决了以可穿戴智能设备为代表的嵌入式系统需要频繁更换电池的问题,而且更加环保,因此能够提供更好的用户体验。但是,这种自供能供电方式也存在一个很大的缺点,就是能源的不稳定性[3]。这容易导致系统中的程序会被频繁中断。如果使用基于CMOS的易失性处理器,断电就会导致结果丢失,使得被中断的程序必须重新从头开始执行,这会带来巨大的能量开销,更有可能使得大型的任务永远不能完成。非易失性存储器(Non-volatile Memory,简称NVM)[11]是指当电源关掉后,所存储的数据不会消失的存储器,那么,基于NVM的非易失性处理器(Nonvolatile Processors,简称NVP)[6],就能够解决自供能嵌入式设备中,每次掉电任务必须重新从头开始执行的问题[4][5]。因为,当程序运行在非易失性处理器(NVP)上时,若发生掉电,处理器中的内容,将会保存到NVM中做好备份;当下次供电恢复时,系统会恢复程序中断前的状态,使程序接着继续执行下去。目前许多研究人员都在研究NVP系统的备份优化问题,但他们都没有充分考虑Cache行为对NVP系统备份的影响。所以,本文提供了一种基于Cache感知的自供能NVP系统的备份方案,目标是,当系统中发生能量警告时,保证实现程序向前执行步长的最大化,使程序在频繁断电的情况下尽快完成,提升整个系统的性能,及能量利用率。主要思想是,通过对程序指令进行Cache分析,记录每条指令的Cache行为信息,在此基础上,当系统发生断电时,在保证能够成功备份的前提下,利用剩余的可用能量,找一个最远的备份位置,以实现程序向前执行步长的最大化。本文最后评估了所提方案的有效性。结果显示,本文提出的方案中程序向前执行步长比无Cache感知的备份方案平均提升了 45.6%;与立即备份和无Cache感知的备份方案相比,本文提出的备份方案使整个NVP系统的性能分别提高了40.2%和 12.7%。