[发明专利]数组多引用访问的分块方法和装置有效
申请号: | 201210442053.X | 申请日: | 2012-11-06 |
公开(公告)号: | CN102929580A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 刘勇;文延华;方燕飞;权建校;何王全;王珊珊 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数组 引用 访问 分块 方法 装置 | ||
技术领域
本发明涉及编译方法和编译器,特别涉及数组多引用访问的分块方法和装置。
背景技术
在传统的处理器体系架构中,通常将大容量片上静态存储器(SRAM)存储器组织为硬件管理的高速缓冲存储器(Cache)。然而,随着容量的增大和工艺的发展,Cache与处理器之间的性能差距越来越大。大容量的Cache使得面积和功耗成为一个重要的问题,因为Cache通常消耗25%~50%的芯片面积和功耗,而且这个比例还在上升。此外,对于很多应用,Cache的最近最少使用(LRU:Least Recently Used)替换机制并不能有效捕获程序中的局部性。因此,在嵌入式系统和新兴的体系结构中,越来越多地将大容量片上SRAM组织为暂存器(SPM:Scratch-Pad Memory),采用软件管理。
在SPM和DRAM(动态随机存取存储器:Dynamic Random Access Memory)共用的存储架构中,SPM为片上存储器,容量有限;DRAM为主存,容量较大,大数组一般存储在DRAM中。对于程序核心段频繁访问的大数组,如果数组的访问具有空间局限性,往往需要结合循环分块进行数据的分块传输优化,即在SPM上预先分配一块缓冲空间,数组访问之前先通过异步块数据传输装置将DRAM中的数据传输至SPM上,然后将程序核心段频繁访问DRAM中数据转化为频繁访问SPM上的缓冲空间中的临时数据。而对于应用程序循环中多次引用同一个数组的情况,程序员在SPM上预先分配缓冲空间需要特别谨慎,防止出现导致程序语义错误的情况,例如,函数中多次引用一个数组的情况通常为:
如果在程序中给a数组分别开一个ra_buf[blk]用于优化数据的读,wa_buf[blk]用于优化数据的写,那么存在导致程序语义错误的隐患。请参考图1,在上述程序中,如果数组a两次引用之间距离d=q-p小于SPM上分配的缓冲大小blk时,将会导致写的数据还没更新到DRAM中,读的数据已经从DRAM中读出来了,从而导致程序语义错误。
现有技术中,对于SPM和DRAM共用的存储架构,存在根据数据分块结合循环分块的一些基本原理,主要考虑的是挖掘循环中的局部性,没有考虑程序中数据片上空间整体需求对数组分块大小的影响;另外,还有一种二叉树搜索最优分块大小的方法,着重于开发核心(Kernel)重用,该算法是一种启发式方法,没有建立详尽的参数模型以准确指导最优分块大小选择,也没有同时考虑预取和重用优化的折中。现有技术对于数组多引用访问,仅通过分析程序的行为来确定分块参数,但是由于数组的分块优化受限于硬件结构的制约,所以不能分析在SPM和DRAM共用的存储架构下的有效分块参数。
其他有关数组多引用访问的方法还可以参考公开号为CN1329302的中国发明专利申请,其公开了一种流水线微处理器的循环高速缓冲存储器及高速缓存控制器。
发明内容
本发明解决的问题是现有技术不能分析在SPM和DRAM共用的存储架构下的有效分块参数。
为解决上述问题,本发明技术方案提供了一种数组多引用访问的分块方法,包括:分析程序内各循环内的数组访问模式,根据所述数组访问模式进行各循环内数组访问的关联关系分析,所述关联关系包括关联类型和关联距离;根据数组访问的关联类型和关联距离,结合存储系统结构特征计算数组分块参数和缓冲大小参数;输出数组访问的数组分块参数和缓冲大小参数。
可选的,所述计算数组分块参数和缓冲大小参数包括:根据数组访问的关联类型和关联距离计算正确语义下的数组分块参数和缓冲大小参数;结合存储系统结构特征优化所述数组分块参数和缓冲大小参数。
可选的,所述的分析各循环内数组访问模式包括:先根据语法树确定数组的访问表达式,再根据数组的访问表达式判断数组访问模式。
可选的,所述数组访问的关联类型和关联距离保存在循环信息链表中。
可选的,所述循环信息链表为遍历应用程序控制图后为每个循环所创建,所述循环信息链表中还保存有分析所述循环后收集的变量访存信息。
可选的,所述数组访问的关联类型和关联距离与所述变量访存信息具有对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210442053.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种天然气热值计价供气装置
- 下一篇:交联型防水涂料丙烯酸乳液及其制备方法