用于控制对缓存结构的访问的装置制造方法

文档序号:6511486阅读:240来源:国知局
用于控制对缓存结构的访问的装置制造方法
【专利摘要】本发明涉及在执行至少一个计算机程序时控制对缓存结构的访问的装置,该缓存结构包括多个缓存组,该装置包括:在执行至少一个计算机程序时生成种子值的模块;以及参数散列函数模块,用于生成访问缓存结构的缓存组标识符,该标识符通过结合由用于生成种子值的模块生成的种子值和访问与缓存结构关联的主存取器的地址的预定位生成。
【专利说明】用于控制对缓存结构的访问的装置
【技术领域】
[0001]本发明涉及在执行至少一个计算机程序时控制对缓存结构的访问的方法,该缓存结构包括多个缓存组。更具体地,本发明涉及保证由计算机程序访问的每个地址都能够以真实概率被分配给缓存结构的任何具体缓存组的方法。
[0002]另外,本发明还涉及适合实现该方法的用于控制对缓存结构的访问的装置和计算机程序产品。
[0003]本发明可以应用于实时系统,例如飞行控制系统等的安全关键实时系统。
【背景技术】
[0004]缓存通常是小且块的储存缓冲器,其能够用于储存代码或数据等信息,以使在处理装置中运行的程序执行得更快。一般地,处理装置读取缓存比读取主存储器快。而且,随着深度计算要求的快速增加,它们在计算机系统中的重要性只会增加。
[0005]缓存结构在概念上是排列为S组(概念上是行)和W路(概念上是列)的S*W缓存线(概念上是单元)的矩阵。在缓存中放入一段数据的组(也就是行)由配置策略(placementpolicy)决定。配置策略执行散列函数(hash function),该散列函数使用存储了数据段的存储器地址的一些位将该数据段映射到特殊的缓存组(行)。从缓存的角度看,不同的数据段可以被分组为缓存线或简单地分组为线。因为不同的存储器线可以在相同的缓存组中冲突,所以缓存组包含给定数量的缓存线,该缓存线称为路(也就是列)。所有组具有相同数量的路,这些路决定缓存关联性。因此,W路组关联性缓存每个组包括W路。对于给定的组,放置有存储器线的路(缓存线)由替换策略决定。在所产生的缓存访问是错误时,替换策略在给定组(行)中的所有路(列)之中选择存储器线,该存储器线被消除以给新存储器线腾出空间。然后,新的存储线被存储进刚刚消除了内容(存储器线)的缓存中。每条线可以由I个或几个字构成。字的大小通常由字节衡量(例如1、2或4字节)。
[0006]缓存的时序行为主要由配置策略和替换策略决定。线尺寸、字尺寸和其他缓存参数也影响缓存的时序行为。对于一个给定的缓存配置,线尺寸和字尺寸都是固定的。
[0007]高性能处理器中的随机化缓存已经被提出以通过使用伪随机散列函数消除缓存冲突° [A.Gonzalez 等人的 Eliminating cache conflict misses through XOR-basedplacement functions (通过基于XOR的配置函数消除缓存冲突错误).In ICS, 1997.][A.Seznec 和 F.Bodin.Skewed-associative caches (偏向相联缓存).1n PARLE.1993.][Nigel Topham 和 Antonio Gonzalez.Randomized cache placement for eliminatingconflicts (用于消除冲突的随机化缓存配置).1EEE Trans.Comput.,48, Februaryl999]。但是所有这些缓存设计的行为是完全确定的。这就是说,每当程序的给定数据输入组使该程序生成有问题的访问模式,这个模式会在程序的整个运行中针对该输入组系统地重复。因此,尽管有问题情况的频率降低了,但是由于无法证明它们的概率有界,因此可能仍然系统地出现。在实时域概率时序分析(PTA)(例如[F.J.Cazorla等A.Proartis:Probabilistically analysable real-time systems (概率可分析实时系统).Technical Report7869(http://hal.1nria.fr/hal-00663329),INRIA,2012],[D.Griffin 和 A.Burns.Realism in Statistical Analysis of Worst Case ExecutionTimes (最坏条件下执行时间的统计分析中的实时性).1n thelOth InternationalWorkshop on Worst-Case Execution Time Analysis (WCET2011),pages44_53,2010]或者[J.Hansen,S.Hissam 和 G.A.Moren0.Statistical-based WCET estimation andvalidation (基于统计的 WCET 估计和验证).1n the9th International Workshop onWorst-Case Execution Time (WCET) Analysis,2009])是目前 WCET 分析技术(即,静态时序分析和基于测量的时序分析问题)的有前途且有效的解决方案。
[0008]PTA对硬件设计具有的新的要求。更具体地,在缓存设计上,PTA技术要求存储器访问的时序行为可以由向量对定义:
【权利要求】
1.一种在执行至少一个计算机程序期间控制对缓存结构的访问的装置,所述缓存结构包括多个缓存组,所述装置包括: 在执行所述至少一个计算机程序期间生成种子值的模块;以及 参数散列函数模块,用于生成访问所述缓存结构的缓存组标识符,所述标识符通过结合由所述生成种子值的模块生成的种子值和访问与所述缓存结构关联的主存取器的地址的预定位生成。
2.根据权利要求1所述的装置,其中,所述缓存结构包括2η组,并且所生成的缓存组标识符包括η位。
3.根据权利要求1或2所述的装置,其中,给定地址包括一连串位,所述一连串位的一部分对应于偏移量,所述地址的预定位包括去掉所述偏移量的所述一连串位。
4.根据权利要求1至3中的任一项所述的装置,其中,所述缓存结构每组包括至少一个缓存线。
5.根据权利要求1至4中的任一项所述的装置,其中,所述生成种子值的模块包括伪随机数发生器。
6.根据权利要求1至5中的任一项所述的装置,还包括用于存储所生成的种子值的存储器模块。
7.一种在执行至少一个计算机程序期间控制对缓存结构的访问的方法,所述缓存结构包括多个缓存组,所述方法包括: 在执行所述至少一个计算机程序期间生成种子值; 接收访问与缓存结构关联的主存储器的地址; 生成访问所述缓存结构的缓存组标识符,所述标识符通过结合所生成的种子值和所接收的地址的预定位生成。
8.根据权利要求7所述的计算机程序产品,所述计算机程序产品包括使计算机执行控制访问包括多个缓存组的缓存结构的方法的程序指令。
9.根据权利要求8所述的计算机程序产品,体现在存储介质上。
10.根据权利要求8所述的计算机程序产品,被携带在载波信号上。
11.根据权利要求1至6中的任一项所述的缓存结构,包括多个缓存组和控制访问所述缓存结构的装置。
【文档编号】G06F12/08GK103823763SQ201310418254
【公开日】2014年5月28日 申请日期:2013年9月13日 优先权日:2012年9月14日
【发明者】海梅·阿韦利亚费雷尔, 爱德华多·基尼奥内斯莫雷诺, 弗朗西斯科·哈维尔·卡索拉阿尔梅达 申请人:巴塞罗纳超级计算机中心-国家超级计算机中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1