[发明专利]共享片上缓存划分装置有效
申请号: | 201510113193.6 | 申请日: | 2015-03-16 |
公开(公告)号: | CN104699630B | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 刘雷波;杨晨;罗凯;李兆石;尹首一;魏少军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F12/123 | 分类号: | G06F12/123 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 100084 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 缓存 划分 装置 | ||
技术领域
本发明涉及动态可重构技术领域,特别涉及一种共享片上缓存划分装置。
背景技术
目前,由多个可重构阵列组成的计算系统面临的挑战之一是:不断增加的内存带宽需求和有限的片外存储器访问速度之间日益增大的差距。而片上缓存已经作为一种非常有效的方法来减少片外存储器的带宽要求。如图1所示,图中显示了多个可重构阵列共享片上缓存的一种通用的体系结构,该结构类似于片上多处理器(chip multiprocessor)架构,其中,每个可重构阵列相当于一个处理器。其中,通过共享片上缓存获得高性能的关键之一是有效地管理共享缓存,从而减少对片外存储器的访问次数。片上缓存通常采用LRU(Least Recently Used,最近最少使用页面置换算法)替换方法,该方法并不区分不同处理器的访存请求。因此,共享缓存中一个处理器将要用到的数据可能被别的处理器的数据替换掉,导致降低共享缓存的效率。
相关技术中,共享缓存划分已经被证明是一种可以有效地使用共享缓存的方法,其为每个处理器在共享缓存中动态地分配独享的空间。目前主要的共享缓存划分方法包括UCP方法、PIPP方法和Vantage方法。举例而言,如图2所示,图中给出了一个使用UCP方法划分两个处理器共享的8路缓存的例子,其使用硬件计数器(UMON)实时在线监视每一路缓存的命中和缺失状态,以此计数器收集的状态信息为基础,UCP方法以总的缓存命中最多为目标来决定分配给每个处理器的缓存资源数量,可以得出,当处理器0分配5路缓存,处理器1分配3路缓存的情况下,总的缓存命中数最多。
为了对运算进行加速,多个可重构阵列往往并行地完成同一个应用程序。在这种并行执行的模式下,每个可重构阵列上都执行同样的应用程序,但是每个可重构阵列进行运算的输入数据只是全部输入数据的一部分。因此,多个可重构阵列可能使用相同的一部分输入数据,也就是说,多个可重构阵列之间的输入数据发生了交叠。在这种情况下,使用现有的共享缓存划分方法会存在以下问题:
1、现有的共享缓存划分方法独立地监控每个可重构阵列对共享缓存的资源利用率,而没有区分可重构阵列之间交叠的数据。
2、对于交叠的数据,现有的共享缓存划分方法会重复地为每个使用交叠数据的可重构阵列收集交叠数据的缓存利用率信息。
3、当存在数据交叠时,现有的共享缓存划分方法等效于增加了应用程序的总数据量,这会降低共享缓存的利用率,导致系统整体性能的下降。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的目的在于提出一种能够减少系统总的缓存缺失,提高缓存利用率,并且结构简单,操作方便的共享片上缓存划分装置。
为达到上述目的,本发明的实施例提出了一种共享片上缓存划分装置,包括:片上缓存模块;与所述片上缓存模块相连的多个可重构阵列,其中,每个可重构阵列包括多个处理单元;多个第一监测模块,所述多个第一监测模块一一对应地与所述多个可重构阵列相连,用于跟踪所述多个可重构阵列上执行应用程序的缓存利用率信息;多个第二监测模块,所述多个第二监测模块一一对应地与所述多个可重构阵列相连,用于监控所述多个可重构阵列之间交叠的数据量;划分模块,所述划分模块分别与所述多个第一监测模块、所述多个第二监测模块和所述片上缓存模块相连,用于根据所述缓存利用率信息和多个可重构阵列之间交叠的数据量,确定分配给每个可重构阵列的共享缓存路数。
根据本发明实施例的共享片上缓存划分装置,通过实时监控多个可重构阵列上执行应用程序的缓存利用率信息以及多个可重构阵列之间交叠的数据量,并据此确定分配给每个可重构阵列的共享缓存路数,实现片外存储器的访问。因此,该装置消除了多个可重构阵列之间的交叠数据对缓存利用率的降低问题,可以得到不同划分情况下更加准确的缓存利用率,有利于减少总的缓存缺失,提高缓存利用率,进而提高系统性能,另外,该装置结构简单,操作方便。
另外,根据本发明上述实施例的共享片上缓存划分装置还可以具有如下附加的技术特征:
在一些示例中,所述第二监测模块为硬件计数器,当所述多个可重构阵列之间存在数据交叠时,所述硬件计数器的值加1,否则所述硬件计数器的值不变。
在一些示例中,所述划分模块在分配共享缓存路数时遵循的原则为:使总缓存利用率Utotal最大,其中,所述总缓存利用率Utotal的计算公式为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510113193.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:内存访问方法和内存访问装置
- 下一篇:缓存预存储的方法及装置