缓存预载方法、装置、处理器芯片及服务器制造方法及图纸

技术编号:27410337 阅读:19 留言:0更新日期:2021-02-21 14:25
本发明专利技术实施例公开了一种缓存预载方法、装置、处理器芯片及服务器,其中,缓存预载方法包括:确定处理器中待进行缓存预载的目标缓存;选定目标缓存中的目标组索引;确定目标缓存中可用于存放目标组索引对应的缓存行的资源的总数;根据目标缓存中可用于存放目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出目标缓存在目标组索引下的缓存状态分布;继续依次确定目标缓存在除目标组索引之外的其他组索引下目标缓存的缓存状态分布,直至确定出在目标缓存的所有组索引下目标缓存的缓存状态分布;将在目标缓存的所有组索引下目标缓存的缓存状态分布加载至目标缓存中,该方法可提高缓存验证的效率。验证的效率。验证的效率。

【技术实现步骤摘要】
缓存预载方法、装置、处理器芯片及服务器


[0001]本专利技术涉及计算机
,尤其涉及一种缓存预载方法、装置、处理器芯片及服务器。

技术介绍

[0002]随着集成电路技术的发展,微处理器的规模不断增大,RTL(Register Transfer Level,寄存器传输级电路)的代码量也大幅增加,导致一些潜在风险存在,也增加了验证难度,以及验证耗时。缓存是微处理器的关键部件,用于缓解主存与处理器之间速度的不匹配。各种复杂场景下,缓存数据的冲突可能引发潜在的错误,且该类错误极难排查和验证。另外缓存的验证存在着样本空间巨大的特质,验证所需要的时间和用例远远大于CPU的其他部件,可能会严重延长整体设计进度,这些问题导致缓存验证成为微处理器芯片验证的重要瓶颈。
[0003]目前,利用面向对象的验证语言SV(SystemVerilog,系统硬件描述语言)以及UVM(Universal Verification Methodology,验证方法学)提供的库功能,开发者可以快速高效搭建大规模集成电路验证平台并编写测试用例。在含有Cache结构的数字集成电路验证方面,缓存预载是缓存验证中常用的一种技术,是指在进行指令级的仿真验证之前,根据需要将缓存预先加载成特定的状态,从而提高验证效率。为了更快地实现对各种验证场景的全覆盖,快速验证一些边角错误,不可避免地要对缓存进行多种形式的预载,甚至预载满整个缓存,因此如何方便高效地进行缓存预载十分重要。目前的缓存预载技术大多以缓存状态为基础,先做好状态随机化,再根据状态去决定缓存行在缓存中的位置。但这种方式可复用性低,不便于维护和移植,每次只支持某种特定形式的缓存预载,同时,缓存状态的随机化效率比较低,难以高效覆盖各种缓存状态分布的场景。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种缓存预载方法、装置、处理器芯片及服务器,能够有效提高缓存验证的效率。
[0005]本专利技术一个或多个实施例提供了一种缓存预载方法,包括:确定处理器中待进行缓存预载的目标缓存;选定所述目标缓存中的目标组索引;确定所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;根据所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出所述目标缓存在所述目标组索引下的缓存状态分布;继续依次确定所述目标缓存在除所述目标组索引之外的其他组索引下所述目标缓存的缓存状态分布,直至确定出在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布;将在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布加载至所述目标缓存中。
[0006]可选的,所述每种缓存行对应的缓存分配约束条件至少包括以下一种:预先设置的每种缓存行分配到的资源数目的约束条件、缓存行状态与缓存行被分配的资源之间的约
束条件以及缓存行位置与所述目标缓存的路数之间的约束条件。
[0007]可选的,每种缓存行分配到的资源数目的约束条件包括:为每种缓存行分配的资源的总数量等于所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;为每种缓存行分配的资源的数目不小于1不大于待进行缓存预载的缓存的总数;缓存行状态与缓存行被分配的资源之间的约束条件包括:为缓存行分配的资源的数目等于1时,该缓存行处于独占状态;
[0008]为缓存行分配的资源的数据大于1时,该缓存行处于非独占状态;缓存行位置与目标缓存的路数之间的约束条件包括:待所述目标缓存的组索引中分配的缓存行的数目不大于该缓存中组的路数。
[0009]可选的,所述每种缓存行对应的缓存分配约束条件通过系统硬件描述语言SV约束描述,根据所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出所述目标缓存在所述目标组索引下的缓存状态分布,包括:基于通过SV约束描述的每种缓存行对应的缓存分配约束条件,求解所述目标组索引下目标缓存的缓存状态分布。
[0010]可选的,确定所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数,包括:根据所述目标缓存的路数以及所述目标缓存的个数确定所述目标缓存中可用于存放所述目标组索引对应的缓存的资源的总数。
[0011]本专利技术一个或多个实施例还提供了一种缓存预载装置,包括:第一确定模块,被配置为确定处理器中待进行缓存预载的目标缓存;选定模块,被配置为选定所述目标缓存中的目标组索引;第二确定模块,被配置为确定所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;第三确定模块,被配置为根据所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出所述目标缓存在所述目标组索引下的缓存状态分布;第四确定模块,被配置为继续依次确定所述目标缓存在除所述目标组索引之外的其他组索引下所述目标缓存的缓存状态分布,直至确定出在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布;加载模块,被配置为将在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布加载至所述目标缓存中。
[0012]可选的,所述每种缓存行对应的缓存分配约束条件至少包括以下一种:预先设置的每种缓存行分配到的资源数目的约束条件、缓存行状态与缓存行被分配的资源之间的约束条件以及缓存行位置与所述目标缓存的路数之间的约束条件。
[0013]可选的,每种缓存行分配到的资源数目的约束条件包括:为每种缓存行分配的资源的总数量等于所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;为每种缓存行分配的资源的数目不小于1不大于待进行缓存预载的缓存的总数;缓存行状态与缓存行被分配的资源之间的约束条件包括:为缓存行分配的资源的数目等于1时,该缓存行处于独占状态;
[0014]为缓存行分配的资源的数据大于1时,该缓存行处于非独占状态;缓存行位置与目标缓存的路数之间的约束条件包括:待所述目标缓存的组索引中分配的缓存行的数目不大于该缓存中组的路数。
[0015]可选的,所述每种缓存行对应的缓存分配约束条件通过系统硬件描述语言SV约束
描述,所述第四确定模块具体被配置为:基于通过SV约束描述的每种缓存行对应的缓存分配约束条件,求解所述目标组索引下目标缓存的缓存状态分布。
[0016]可选的,所述第二确定模块具体被配置为:根据所述目标缓存的路数以及所述目标缓存的个数确定所述目标缓存中可用于存放所述目标组索引对应的缓存的资源的总数。
[0017]本专利技术一个或多个实施例提供了一种处理器芯片,包括:至少一个处理器核、缓存;所述处理器核,用于执行上述任意一种缓存预载方法。
[0018]本专利技术一个或多个实施例提供了一种服务器,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;所述处理器通过读取存储器中存储的可执行程序代码来运行与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存预载方法,其特征在于,包括:确定处理器中待进行缓存预载的目标缓存;选定所述目标缓存中的目标组索引;确定所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;根据所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出所述目标缓存在所述目标组索引下的缓存状态分布;继续依次确定所述目标缓存在除所述目标组索引之外的其他组索引下所述目标缓存的缓存状态分布,直至确定出在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布;将在所述目标缓存的所有组索引下所述目标缓存的缓存状态分布加载至所述目标缓存中。2.根据权利要求1所述的方法,其特征在于,所述每种缓存行对应的缓存分配约束条件至少包括以下一种:预先设置的每种缓存行分配到的资源数目的约束条件、缓存行状态与缓存行被分配的资源之间的约束条件以及缓存行位置与所述目标缓存的路数之间的约束条件。3.根据权利要求2所述的方法,其特征在于,每种缓存行分配到的资源数目的约束条件包括:为每种缓存行分配的资源的总数量等于所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数;为每种缓存行分配的资源的数目不小于1不大于待进行缓存预载的缓存的总数;缓存行状态与缓存行被分配的资源之间的约束条件包括:为缓存行分配的资源的数目等于1时,该缓存行处于独占状态;为缓存行分配的资源的数据大于1时,该缓存行处于非独占状态;缓存行位置与目标缓存的路数之间的约束条件包括:待所述目标缓存的组索引中分配的缓存行的数目不大于该缓存中组的路数。4.根据权利要求2或3所述的方法,其特征在于,所述每种缓存行对应的缓存分配约束条件通过系统硬件描述语言SV约束描述,根据所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数以及预先设置的每种缓存行对应的缓存分配约束条件确定出所述目标缓存在所述目标组索引下的缓存状态分布,包括:基于通过SV约束描述的每种缓存行对应的缓存分配约束条件,求解所述目标组索引下目标缓存的缓存状态分布。5.根据权利要求1至3中任一项所述的方法,其特征在于,确定所述目标缓存中可用于存放所述目标组索引对应的缓存行的资源的总数,包括:根据所述目标缓存的路数以及所述目标缓存的个数确定所述目标缓存中可用于存放所述目标组索引对应的缓存的资源的总数。6.一种缓存预载装置,其特征在于,包括:第一确定模块,被配置为确定处理器中待进行缓存预载的目标缓存;选定模块,被配置为选定所述目标缓存中的目标组索引;
第二确定模块,被配置为确定所述目标缓存中可用于存放所述目标组索引对应...

【专利技术属性】
技术研发人员:尚铮卢林谢波实姚真平
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1