论文部分内容阅读
便笺式存储器(Scratch-PadMemory,SPM)由于其低能耗、低延时等优势,已成为能代替高速缓存的片上系统的有效设计方法。并且在SPM上的数据可以通过软件进行精确控制,而Cache是由硬件直接控制的。如何有效的在含有便笺式存储器SPM的多核系统上对循环中数组数据和单个数据进行分配以减少延时和能耗成为了多核系统的关键问题之一。本研究将专注于改进现有动态规划算法,使其在多核系统上可以对程序中多类型数据同时进行分配,得到最优解。 针对多核系统上循环数据的分配问题,首先设计了一个执行模型,为在多核上并行执行多循环内数组数据和单个数据的分配提供架构基础。该执行模型跳出了传统多核系统中执行模型对数据类型、区间并行性和数据关联性等诸多限制,是一种适用于多种类型数据,同时考虑数据关联性和一致性问题,并能够并行执行的新型模型。然后,提出一种基于动态规划的高性能,低功耗的数据分配算法-含备份机制的可迭代循环数据最优分配算法。该算法是多项式时间内的数据分配算法,能够在含有SPM的多核系统中对循环中多类型数据进行分配并得到最优结果。此外,提出Duplication备份机制并将其应用到该数据分配算法中,进一步减少延时和能耗。 对所提出的数据分配算法,在实验中将使用Simple-Scalar和CACTI这两种工具,并在自研的模拟器上运行10个标准benchmark测试程序来进行验证。实验结果表明,本文所提出的含备份机制的可迭代循环数据最优分配算法在访存时间开销上相比于随机算法平均提高30.12%的性能,相比于贪婪算法性能平均提高14.52%的性能;而在能量开销上,本文算法相比于随机算法平均降低18.45%的能耗,相比于贪婪算法平均降低18.38%的能耗。