缓存管理的方法、装置、系统及存储介质与流程

文档序号:34622465发布日期:2023-06-29 12:53阅读:19来源:国知局
缓存管理的方法、装置、系统及存储介质与流程

本技术涉及计算机领域,特别涉及一种缓存管理的方法、装置、系统及存储介质。


背景技术:

1、内存存储器是服务器中不可或缺的重要组件,处理器需要对内存存储器进行访问。内存存储器往往是大容量低成本的存储介质,内存存储器的读写时延往往较高,影响处理器的访问效率。

2、为了提高处理器的访问效率,目前在处理器与内存存储器之间设置读写时延比内存存储器的读写时延更低的缓存存储器。其中,缓存存储器用于预先缓存内存存储器中最近访问频率较高的数据,这样处理器从缓存存储器访问数据。虽然通过缓存存储器可以提高处理器的访问效率,但是目前的缓存存储器的利用率仍较低。


技术实现思路

1、本技术提供了一种缓存管理的方法、装置、系统及存储介质,以提高缓存存储器的利用率。所述技术方案如下:

2、第一方面,本技术提供了一种处理器系统,所述系统包括处理器和内存控制器,处理器和内存控制器之间通过第一通道和第二通道相连,第一通道用于执行内存读写操作,第二通道用于传输与内存读写操作对应的事件信息。处理器用于通过第二通道向内存控制器发送第一事件的事件信息,第一事件是处理器执行的且需要访问内存存储器的事件。内存控制器用于基于该事件信息管理缓存存储器,该缓存存储器用于缓存内存存储器中的部分数据。

3、由于处理器在执行第一事件时获取第一事件的事件信息,处理器通过第二通道向内存控制器发送第一事件的事件信息。内存控制器基于第二通道接收第一事件的事件信息,这样内存控制器基于第一事件的事件信息能够感知到处理器执行的第一事件,从而通过第一事件的事件信息管理缓存存储器,来提高缓存存储器的利用率。

4、在一种可能的实现方式中,第一事件包括如下一个或多个:线程切换事件、页表查找事件或缓存数据块剔除事件,线程切换事件用于将第一线程从运行状态切换为准备状态,第一线程是处理器运行的线程,页表查找事件用于查询处理器待访问的数据块在内存存储器中的物理地址,缓存数据块剔除事件用于从处理器的缓存中剔除数据块。

5、在另一种可能的实现方式中,第一事件包括线程切换事件,该事件信息包括第一线程的标识信息。

6、在另一种可能的实现方式中,缓存存储器包括第一缓存存储器和第二缓存存储器,第一缓存存储器用于缓存第二缓存存储器中的部分数据。内存控制器用于基于该标识信息释放第一存储空间,第一缓存存储器包括第一存储空间,第一存储空间用于保存第一线程的数据块。

7、由于处理器通过执行线程切换事件将第一线程的运行状态切换为准备状态,线程切换事件的事件信息包括第一线程的标识信息,这样内存控制器基于该标识信息,释放第一缓存存储器中第一线程的数据块占用的存储空间,该存储空间可用于存储处理器运行的线程的数据块或将要启动的线程的数据块,提高第一缓存存储器的利用率。

8、在另一种可能的实现方式中,内存控制器包括第一缓存存储器,内存控制器通过总线与第二缓存存储器相连。

9、在另一种可能的实现方式中,内存控制器用于基于该标识信息,获取第一缓存存储器中保存的第一数据块,第一数据块是第一线程的数据块。在第一数据块被修改时将第一数据块保存到第二缓存存储器或内存存储器中。将第一数据块所在的第一存储空间的状态标记为空闲状态。在第一存储空间的状态标记为空闲状态后,释放第一存储空间,第一存储空间可用于存储处理器运行的线程的数据块或将要启动的线程的数据块,提高第一缓存存储器的利用率。

10、在另一种可能的实现方式中,该事件信息还包括第二数据块在内存存储器中的物理地址,处理器的缓存包括第二数据块且第二数据块被修改,第二数据块是第一线程的数据块。内存控制器还用于基于该标识信息和第二数据块的物理地址,在第二缓存存储器中分配第二存储空间,第二存储空间用于保存第二数据块。这样内存控制器接收处理器发送的写请求,该写请求包括第二数据块,直接将第二数据块保存在第二存储空间中,提高写数据的效率,从而提高第二缓存存储器的利用率。

11、在另一种可能的实现方式中,第一事件包括页表查找事件,该事件信息包括第一内存页的地址,第一内存页是待访问的数据块所在的内存页。

12、在另一种可能的实现方式中,内存控制器用于从内存存储器中读取第一内存页包括的数据,并将第一内存页包括的数据存储在缓存存储器中。这样内存控制器在接收到用于读取待访问的数据块的读请求时,直接从缓存存储器中读取待访问的数据块并向处理器发送该读取的数据块,提高了读取效率,提高缓存存储器的利用率。

13、在另一种可能的实现方式中,第一事件包括缓存数据块剔除事件,该事件信息包括处理器待剔除的数据块的属性信息,该属性信息用于指示待剔除的数据块被访问情况。

14、在另一种可能的实现方式中,内存控制器还用于接收处理器发送的写请求,该写请求包括待剔除的数据块;将待剔除的数据块和该属性信息之间的对应关系保存在缓存存储器中。这样使第一缓存存储器中保存的待剔除的数据块的属性信息和处理器的缓存中保存的待剔除的数据块的属性信息相同,内存控制器基于该数据块的属性信息执行的操作和处理器基于该数据块的属性信息执行的操作一致,可以提高对缓存存储器的利用率。

15、第二方面,本技术提供了一种缓存管理的方法,所述方法应用于处理器系统,包括处理器和内存控制器,处理器和所述内存控制器之间通过第一通道和第二通道相连,第一通道用于执行内存读写操作,第二通道用于传输与该内存读写操作对应的事件信息。其中,在所述方法中,内存控制器通过第二通道接收处理器发送的第一事件的事件信息,第一事件是处理器执行的且需要访问内存存储器的事件。内存控制器基于该事件信息管理缓存存储器,缓存存储器用于缓存内存存储器中的部分数据。

16、由于处理器在执行第一事件时获取第一事件的事件信息,处理器通过第二通道向内存控制器发送第一事件的事件信息。内存控制器基于第二通道接收第一事件的事件信息,这样内存控制器基于第一事件的事件信息能够感知到处理器执行的第一事件,从而通过第一事件的事件信息管理缓存存储器,来提高缓存存储器的利用率。

17、在一种可能的实现方式中,第一事件包括如下一个或多个:线程切换事件、页表查找事件或缓存数据块剔除事件,线程切换事件用于将第一线程从运行状态切换为准备状态,第一线程是处理器运行的线程,页表查找事件用于查询处理器待访问的数据块在内存存储器中的物理地址,缓存数据块剔除事件用于从处理器的缓存中剔除数据块。

18、在另一种可能的实现方式中,第一事件包括线程切换事件,该事件信息包括第一线程的标识信息。

19、在另一种可能的实现方式中,缓存存储器包括第一缓存存储器和第二缓存存储器,第一缓存存储器用于缓存第二缓存存储器中的部分数据。内存控制器基于该标识信息释放第一存储空间,第一缓存存储器包括第一存储空间,第一存储空间用于保存第一线程的数据块。

20、由于处理器通过执行线程切换事件将第一线程的运行状态切换为准备状态,线程切换事件的事件信息包括第一线程的标识信息,这样内存控制器基于该标识信息,释放第一缓存存储器中第一线程的数据块占用的存储空间,该存储空间可用于存储处理器运行的线程的数据块或将要启动的线程的数据块,提高第一缓存存储器的利用率。

21、在另一种可能的实现方式中,内存控制器包括第一缓存存储器,内存控制器通过总线与第二缓存存储器相连。

22、在另一种可能的实现方式中,内存控制器基于该标识信息,获取第一缓存存储器中保存的第一数据块,第一数据块是第一线程的数据块。内存控制器在第一数据块被修改时将第一数据块保存到第二缓存存储器或内存存储器中。内存控制器将第一数据块所在的第一存储空间的状态标记为空闲状态。在第一存储空间的状态标记为空闲状态后,释放第一存储空间,第一存储空间可用于存储处理器运行的线程的数据块或将要启动的线程的数据块,提高第一缓存存储器的利用率。

23、在另一种可能的实现方式中,该事件信息还包括第二数据块在内存存储器中的物理地址,处理器的缓存包括第二数据块且第二数据块被修改,第二数据块是第一线程的数据块。内存控制器基于该标识信息和第二数据块的物理地址,在第二缓存存储器中分配第二存储空间,第二存储空间用于保存第二数据块。这样内存控制器接收处理器发送的写请求,该写请求包括第二数据块,直接将第二数据块保存在第二存储空间中,提高写数据的效率,从而提高第二缓存存储器的利用率。

24、在另一种可能的实现方式中,内存控制器接收处理器发送的写请求,该写请求包括第二数据块。内存控制器将第二数据块保存在第二存储空间中。由于内存控制器在接收写请求后,直接将第二数据块保存在第二存储空间中,从而可以使第一缓存存储器用于存储处理器运行的线程的数据块或将要启动的线程的数据块,提高第一缓存存储器的利用率。

25、在另一种可能的实现方式中,内存控制器通过第二通道接收处理器发送的切换完成消息,该关闭完成消息用于指示处理器将第一线程的运行状态切换为准备状态。内存控制器基于切换完成消息,在第二缓存存储器中释放第一线程对应的内存页占用的空间。在等待第一线程切换完成后,将第一线程对应的内存页占用的空间释放,这样可以避免每当内存页中的数据块有修改就向内存存储器写该内存页,可以在第一线程切换完成后,统一将该内存页写入内存存储器,提高写入内存的效率。

26、在另一种可能的实现方式中,第一事件包括页表查找事件,该事件信息包括第一内存页的地址,第一内存页是待访问的数据块所在的内存页。

27、在另一种可能的实现方式中,内存控制器从内存存储器中读取第一内存页包括的数据,并将第一内存页包括的数据存储在缓存存储器中。这样内存控制器在接收到用于读取待访问的数据块的读请求时,直接从缓存存储器中读取待访问的数据块并向处理器发送该读取的数据块,提高了读取效率,提高缓存存储器的利用率。

28、在另一种可能的实现方式中,第一事件包括缓存数据块剔除事件,该事件信息包括处理器待剔除的数据块的属性信息,该属性信息用于指示待剔除的数据块被访问情况。

29、在另一种可能的实现方式中,内存控制器接收处理器发送的写请求,写请求包括待剔除的数据块。内存控制器将待剔除的数据块和该属性信息之间的对应关系保存在缓存存储器中。。这样使第一缓存存储器中保存的待剔除的数据块的属性信息和处理器的缓存中保存的待剔除的数据块的属性信息相同,内存控制器基于该数据块的属性信息执行的操作和处理器基于该数据块的属性信息执行的操作一致,可以提高对缓存存储器的利用率。

30、第三方面,本技术提供了一种缓存管理的方法,所述方法应用于处理器系统,包括处理器和内存控制器,处理器和内存控制器之间通过第一通道和第二通道相连,第一通道用于执行内存读写操作,第二通道用于传输与该内存读写操作对应的事件信息。其中,在所述方法中,处理器执行第一事件,第一事件是需要访问内存存储器的事件。处理器通过第二通道向内存控制器发送第一事件的事件信息。

31、由于处理器在执行第一事件时获取第一事件的事件信息,处理器通过第二通道向内存控制器发送第一事件的事件信息。内存控制器基于第二通道接收第一事件的事件信息,这样内存控制器基于第一事件的事件信息能够感知到处理器执行的第一事件,从而通过第一事件的事件信息管理缓存存储器,来提高缓存存储器的利用率。

32、在一种可能的实现方式中,第一事件包括如下一个或多个:线程切换事件、页表查找事件或缓存数据块剔除事件,线程切换事件用于将第一线程从运行状态切换为准备状态,第一线程是处理器运行的线程,页表查找事件用于查询处理器待访问的数据块在内存存储器中的物理地址,缓存数据块剔除事件用于从处理器的缓存中剔除数据块。

33、在另一种可能的实现方式中,第一事件包括所述线程切换事件,该事件信息包括第一线程的标识信息。

34、在另一种可能的实现方式中,第一事件包括页表查找事件,该事件信息包括第一内存页的地址,第一内存页是待访问的数据块所在的内存页。

35、在另一种可能的实现方式中,第一事件包括缓存数据块剔除事件,该事件信息包括处理器待剔除的数据块的属性信息,该属性信息用于指示待剔除的数据块被访问情况。

36、第四方面,本技术提供了一种缓存管理的装置,用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。

37、第五方面,本技术提供了一种缓存管理的装置,用于执行第三方面或第三方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第三方面或第三方面的任意一种可能的实现方式中的方法的单元。

38、第六方面,本技术提供了一种内存控制器,包括至少一个控制器,所述至少一个控制器用于与存储器耦合,读取并执行所述存储器中的指令,以实现第二方面或第二方面的任意一种可能的实现方式中的方法。

39、第七方面,本技术提供了一种处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令,以实现第三方面或第三方面的任意一种可能的实现方式中的方法。

40、第八方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,并且所述计算程序通过计算机进行加载来实现上述第二方面、第三方面、第二方面任意可能的实现方式或第三方面任意可能的实现方式的方法。

41、第九方面,本技术提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序通过计算机进行加载来执行上述第二方面、第三方面、第二方面任意可能的实现方式或第三方面任意可能的实现方式的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1