[发明专利]面向嵌入式片上异构存储器的细粒度数据分配方法无效
申请号: | 201310042340.6 | 申请日: | 2013-02-04 |
公开(公告)号: | CN103150265A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 鞠雷;贾智平;王冠华;李阳 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/50 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250101 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 嵌入式 片上异构 存储器 细粒度 数据 分配 方法 | ||
技术领域:
本发明属于嵌入式实时系统领域,尤其涉及一种面向嵌入式片上异构存储器的细粒度数据分配方法。
背景技术:
在计算机技术的发展过程中,主存储器的发展速度一直比中央处理器速度慢很多,主存和中央处理器的速度不匹配的矛盾造成了整个系统的瓶颈,随着高速片上存储器的使用,这种矛盾有所改善。在嵌入式系统中,便笺式存储器(SPM,Scratch Pad Memory)和高速缓存(Cache)是两种常见的片上异构存储器。在IBM公司的CellBroadband Engine系列和ARM公司的ARM9系列等处理器芯片上都集成了这两种片上异构存储器部件。SPM和Cache本质上都是一种静态随机存储器(SRAM,Static Random Access Memory),速度接近与CPU速度。Cache基于程序执行时的局部性原理:程序正在使用的主存某一单元附近的那些存储单元被用到的可能性很大。但在只有Cache的系统中,当程序中的数据量大于Cache的容量时,会造成Cache的数据冲突,在数据冲突时,Cache中的内容被替换,需要重新由主存加载数据到Cache,这样不但使程序的执行速度减慢,而且由于这种替换由硬件完成,是随机的,难以预测,所以很难对系统进行准确的实时性分析,这就降低了系统的实时性。而SPM的引入有利于有效缓解这种问题。
SPM由于不需要地址比较电路,所以体积较小、功耗比较低、访问速度比Cache快,而且由于SPM和主存统一编址,程序员可以灵活控制SPM中的内容。为了充分利用SPM带来的优势,需要分析系统中代码块和数据块的执行频率等信息,在有SPM和Cache同时存在的系统中,还需要通过对程序执行轨迹的跟踪获取代码块和数据块加载到Cache时的冲突关系。
现在针对SPM的研究比较多,有些研究目的是为了减少系统的能量消耗,有些研究是为了优化程序的执行时间,一般通过编译期代码(或数据)选取和重新布局,静态或者动态的改变SPM中的内容,但现在的研究主要集中在仅有SPM的系统,对使用SPM+Cache(如图1)存储体系的研究相对较少。现仅有的针对SPM+Cache系统程序数据段的优化算法中,算法把数组当成一个不可拆分的整体,如果某个数组的长度大于SPM的容量,这个数组就没有机会放入SPM中,从而无法通过SPM对数组数据进行优化。我们通过对多个数据密集型程序的执行过程跟踪研究,发现有些程序执行过程中,数据Cache的冲突都基本集中在数组固定的局部某些块中(如图2,X轴为数据块编号,Y轴为Cache未命中的次数),如果能精确的找 出这些潜在的Cache冲突严重的块,把他们重新布局到SPM中,就可以减少Cache冲突,以提高SPM利用率从而提升系统的性能。
发明内容:
本发明要解决的问题就是:(1)在SPM空间一定的情况下精确的查找这种潜在的局部冲突率高的数据块;(2)通过数据的分割和重新布局,高效的利用有限的SPM空间,本发明通过提供一种面向嵌入式片上异构存储器的细粒度数据分配方法,充分利用SPM的优势来优化程序的数据段,改善程序的执行速度,提高系统性能;通过对程序中数据进行细粒度分割、精确选取和数据重新布局来提高便笺式存储器(SPM,Scratch Pad Memory)的利用效率,从而最大限度的减少Cache的冲突,最终提高程序的执行效率、减少平均执行时间。
为实现上述目的,本发明采用如下技术方案:
一种面向嵌入式片上异构存储器的细粒度数据分配方法,它的步骤为:
(1)对程序数据段进行预分析,获取数据的在内存中的首地址和数据类型和数据长度,将程序的数据段分割成细粒度的内存数据块,使其成为基本块,每块的大小取决于Cache每行的长度;
(2)对执行期间的内存数据块访问序列进行跟踪,获取内存数据块的访问次数和Cache未命中信息,在Cache未命中时统计和记录内存数据块的时空冲突集;
(3)使用线性规划算法求得数据分割和选取的最佳方案,进行数据分割的最小单位是内存数据块,其大小和所使用Cache的行存储单元的大小相同;
(4)生成数据布局分散加载文件,对程序数据段的重新映射和布局,在程序中插入地址转换宏,重新编译代码。
所述步骤(2)中,在给定输入的情况下获取到程序访问数据的序列,只统计Cache未命中到上次访问之间不重复的内存块序列,生成时空冲突集合TCS,TCS用于下一步中通过0-1整数线性规划算法精确计算由于内存数据块被选取到SPM中后造成miss减少数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310042340.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:体育减震地板
- 下一篇:带除铁器的电厂用输煤转运机构