Cache的数据锁定方法、装置和计算机设备制造方法及图纸

技术编号:21453816 阅读:32 留言:0更新日期:2019-06-26 04:44
本申请涉及一种Cache的数据锁定方法、装置、计算机设备和存储介质。所述方法包括:接收CPU的数据锁定指令;数据锁定指令携带待锁定数据的请求地址;根据待锁定数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;将查询到的请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。采用本方法能够充分利用每个路每一条Cache行的存储空间,有效提升了Cache存储器的内存使用效率。

【技术实现步骤摘要】
Cache的数据锁定方法、装置和计算机设备
本申请涉及高速缓存存储器
,特别是涉及一种Cache的数据锁定方法、装置、计算机设备和存储介质。
技术介绍
Cache是一种高速缓存存储器,位于中央处理器(CentralProcessingUnit,CPU)和主存储器之间,具有容量小速度快的特点。由于CPU设计的速度远高于内存,当CPU直接从内存中存取数据时要等待一定的时间,而Cache保存着CPU刚用过的或频繁使用的数据(例如可以包括代码或其它类型的数据),如果CPU需要再次使用该部分数据时,CPU可以从Cache中直接调用,这样避免了直接从内存中重新读取数据所带来的CPU等待时间,从而提高了CPU的运行效率。由于Cache存储器的容量是有限的,在使用的过程中,Cache会很快被填满,一旦被填满,Cache控制器就会频繁地从Cache存储器中移出原来的数据,并存储进新的数据。这种替换操作一般是随机发生的,在任何时刻,某个数据可能存在Cache中,也可能不在Cache中。当该数据存在Cache中时,数据的加载时间短;当该数据不在Cache中时,CPU需要去内存重新取值,数据加载时间长。因此一个程序每次执行所需时间就会有差别。在实际应用中,以Cache中存储的数据为代码为例,有时候需要执行一些对时间要求很苛刻的代码,而Cache中对存储代码的替换操作会带来代码执行时间不确定的问题,对这些代码运行带来很大的影响。为了尽量避免这些特定代码替换和加载带来的时间不确定性,避免Cache失效所造成的负面效果,Cache的锁定技术能很好的解决上述问题。Cache锁定指的是将这部分特殊代码在特定时间内锁定在Cache中,被锁定的代码一直存在Cache中,避免被主存储器的其他内容所替换。这样被锁定的代码和数据有更快的系统反映能力,由于一直存在Cache中,所以相应的执行时间是确定的。然而,现有的Cache的数据锁定方法,一般是通过路(Way)锁定的方法锁定某一个或多个Cache路(CacheWay)中的数据,被锁定的Cache路中的所有Cache行(CacheLine)直到被解锁之后才能被替换。这种Cache的锁定方式,使系统代码可以单独选择锁定和解锁Cache每一路,锁定和解锁步骤简单,但是使用时,常常出现一个Cache路被锁定,但是实际上被锁定的数据只占用了该Cache路中一少部分空间,其余大量空间被浪费的情况,导致Cache存储器的存储空间利用率低下。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提升Cache存储器的存储空间利用率的Cache的数据锁定方法、装置、计算机设备和存储介质。一种Cache的数据锁定方法,所述方法包括:接收CPU的数据锁定指令;数据锁定指令携带待锁定数据的请求地址;根据待锁定数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;将查询到的请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。在一个实施例中,Cache的数据锁定方法还包括:若查询出Cache存储器中不存在请求地址命中的Cache行,则发送与数据锁定指令对应的数据读取请求至主存储器,并接收主存储器返回的与数据读取请求对应的数据;将数据写入Cache存储器中,并将写入了数据的Cache行中的状态信息段中的行锁定位设置为锁定状态。在一个实施例中,Cache的数据锁定方法,还包括:获取待写入Cache存储器中的数据,以及数据对应的请求地址;读取与请求地址对应的各个Cache行中的状态信息段中的行锁定位;排除行锁定位设置为锁定状态的Cache行,在剩余的行锁定位设置为未锁定状态的Cache行中,选择一个Cache行;将主存储器返回的数据替换写入选择的Cache行中。在一个实施例中,排除行锁定位设置为锁定状态的Cache行,在剩余的行锁定位设置为未锁定状态的Cache行中,选择一个Cache行,包括:排除行锁定位设置为锁定状态的Cache行,得到剩余的行锁定位设置为未锁定状态的Cache行形成的多路组相联结构;根据多路组相联结构,获取剩余的Cache行的替换策略;根据替换策略,从剩余的Cache行中选择一个Cache行。在一个实施例中,Cache的数据锁定方法,还包括:接收CPU的数据解锁指令;数据解锁指令携带待解锁数据的请求地址;根据待解锁数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;将请求地址命中的Cache行中的状态信息段中的行锁定位设置为解锁状态。在一个实施例中,Cache的数据锁定方法,还包括:接收CPU的数据读取请求;数据读取请求携带待读取数据的请求地址;根据待读取数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;若查询出所有Cache行均未被请求地址命中,则发送数据读取请求至主存储器,并接收主存储器返回的与数据读取请求对应的数据,将数据写入Cache存储器中,并返回数据至CPU。在一个实施例中,Cache的数据锁定方法,还包括:根据待读取数据的请求地址,在Cache存储器中查询请求地址命中的Cache行之后,还包括:若查询出任意一个Cache行被请求地址命中,则将Cache行中存储的数据读出,并返回读出的数据至CPU。在一个实施例中,在Cache存储器中查询请求地址命中的Cache行,包括:获取Cache存储器中的各个Cache路中与请求地址的组索引匹配的Cache行;分别将请求地址的标签与各个对应的Cache行中的Cache标签进行比对;若比较出任意一个Cache行中的Cache标签与请求地址中的标签匹配,且该Cache行中的有效位处于有效状态,则确定该Cache行为请求地址命中的Cache行。在一个实施例中,当Cache行中的状态信息段中的行锁定位设置为锁定状态时,Cache行中存储的数据不可被替换且不可被清除。在一个实施例中,当Cache行中的状态信息段中的行锁定位设置为解锁状态时,Cache行中存储的数据可以被替换或者被清除。一种Cache的数据锁定装置,所述装置包括:锁定指令接收模块,用于接收CPU的数据锁定指令;数据锁定指令携带待锁定数据的请求地址;Cache行查询模块,用于根据待锁定数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;第一数据锁定模块,用于将查询到的请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收CPU的数据锁定指令;数据锁定指令携带待锁定数据的请求地址;根据待锁定数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;将查询到的请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收CPU的数据锁定指令;数据锁定指令携带待锁定数据的请求地址;根据待锁定数据的请求地址,在Cache存储器中查询请求地址命中的Cache行;将查询到的请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。上述Cache的数据锁定方法、装置、计算机设本文档来自技高网
...

【技术保护点】
1.一种Cache的数据锁定方法,所述方法包括:接收CPU的数据锁定指令;所述数据锁定指令携带待锁定数据的请求地址;根据所述待锁定数据的请求地址,在Cache存储器中查询所述请求地址命中的Cache行;将查询到的所述请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。

【技术特征摘要】
1.一种Cache的数据锁定方法,所述方法包括:接收CPU的数据锁定指令;所述数据锁定指令携带待锁定数据的请求地址;根据所述待锁定数据的请求地址,在Cache存储器中查询所述请求地址命中的Cache行;将查询到的所述请求地址命中的Cache行中的状态信息段中的行锁定位设置为锁定状态。2.根据权利要求1所述的方法,其特征在于,还包括:若查询出Cache存储器中不存在所述请求地址命中的Cache行,则发送与所述数据锁定指令对应的数据读取请求至主存储器,并接收主存储器返回的与所述数据读取请求对应的数据;将所述数据写入Cache存储器中,并将写入了所述数据的Cache行中的状态信息段中的行锁定位设置为锁定状态。3.根据权利要求1所述的方法,其特征在于,还包括:获取待写入Cache存储器中的数据,以及所述数据对应的请求地址;读取与所述请求地址对应的各个Cache行中的状态信息段中的行锁定位;排除行锁定位设置为锁定状态的Cache行,在剩余的行锁定位设置为未锁定状态的Cache行中,选择一个Cache行;将主存储器返回的所述数据替换写入选择的所述Cache行中。4.根据权利要求3所述的方法,其特征在于,所述排除行锁定位设置为锁定状态的Cache行,在剩余的行锁定位设置为未锁定状态的Cache行中,选择一个Cache行,包括:排除行锁定位设置为锁定状态的Cache行,得到剩余的行锁定位设置为未锁定状态的Cache行形成的多路组相联结构;根据所述多路组相联结构,获取剩余的Cache行的替换策略;根据所述替换策略,从剩余的Cache行中选择一个Cache行。5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:接收CPU的数据解锁指令;所述数据解锁指令携带待解锁数据的请求地址;根据所述待解锁数据的请求地址,在Cache存储器中查询所述请求地址命中的Cache行;将所述请求地址命中的Cache行中的状态信息段中的行锁定位设置为解锁状态。6.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:接收CPU的数据读取请求;所述数据读取请求携带待读取数据的请求地...

【专利技术属性】
技术研发人员:刘泽权
申请(专利权)人:珠海市杰理科技股份有限公司
类型:发明
国别省市:广东,44

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

1