System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种缓存访问方法、缓存控制模块和相关设备技术_技高网

一种缓存访问方法、缓存控制模块和相关设备技术

技术编号:40595337 阅读:4 留言:0更新日期:2024-03-12 21:57
本发明专利技术公开了一种缓存访问方法、缓存控制模块和相关设备,缓存包括n个第一存储器,n个第一存储器包括n个缓存组,每个缓存组都包括n个缓存单元,n个缓存单元分别位于n个第一存储器中,缓存访问方法包括:接收第一缓存访问请求,第一缓存访问请求用于将第一数据写入至第一缓存组,第一数据的宽度等于m×n个内存块的数据的宽度,响应于第一缓存访问请求,将第一数据划分成字节段各不相同的n个第一子数据,将n个第一子数据分别写入至第一缓存组的n个缓存单元中,其中,不同的第一数据存储在不同的缓存组的缓存单元中,且不同的第一数据的相同字节段的第一子数据存储在不同第一存储器的缓存单元中,以提高缓存的数据处理速率。

【技术实现步骤摘要】

本专利技术涉及处理器,具体涉及一种缓存访问方法、缓存控制模块和相关设备


技术介绍

1、因为处理器(central processing unit,cpu)的性能提升速度远远快于内存(memory)的性能提升速度,所以,导致内存的数据读写速度远远跟不上处理器的运算速度。虽然可以通过数据缓存来解决这一问题,数据缓存是指将内存中的数据暂时存储在处理器内部的高速缓冲存储器即缓存(cache)中,并通过使处理器访问缓存来获取内存中的数据,但是,目前的缓存的数据处理速率有待进一步提高。


技术实现思路

1、本专利技术公开一种缓存访问方法、缓存控制模块和相关设备,以提高缓存的数据处理速率。

2、第一方面,本专利技术公开了一种缓存访问方法,应用于处理器,所述处理器包括缓存控制模块和缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存访问方法包括由所述缓存控制模块执行的以下操作:接收第一缓存访问请求,所述第一缓存访问请求用于将第一数据写入至第一缓存组,所述第一缓存组为所述n个缓存组中的任意一个,所述第一数据的宽度等于m×n个内存块的数据的宽度;响应于所述第一缓存访问请求,将所述第一数据划分成字节段各不相同的n个第一子数据,每个所述第一子数据的宽度都等于m个内存块的数据的宽度,将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中,其中,不同的第一数据存储在不同的缓存组的缓存单元中,并且,不同的第一数据的相同字节段的第一子数据存储在不同第一存储器的缓存单元中。

3、在一些可选示例中,所述第一缓存组的n个缓存单元的地址各不相同;或者,所述第一缓存组的n个缓存单元的地址相同。

4、在一些可选示例中,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,假设所述第一缓存组的缓存单元在任一第一存储器中的地址为第i个地址,i为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若i-1>0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址。

5、在一些可选示例中,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设第一缓存组为第j个缓存组,所述第j个缓存组的缓存单元在任一第一存储器中的地址为第i个地址,j、i均为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若j为偶数,且若i-1>0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址;若j为奇数,且若i+1>n,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第1个地址,若i+1≤n,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第i+1个地址,若i-1>0,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第n个地址。

6、在一些可选示例中,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设所述第一缓存组为第j个缓存组,则在所述第一缓存组的n个缓存单元的地址相同的情况下,所述第j个缓存组的缓存单元在任一第一存储器中的地址均为第j个地址,j为1~n之间的任一整数。

7、在一些可选示例中,所述第一缓存访问请求携带有写地址和所述第一缓存组的标识,所述将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中包括:根据所述第一缓存组的标识,从所述n个缓存组中选出所述第一缓存组;根据所述写地址,对所述第一缓存组的n个缓存单元进行地址编码,并使所述第一缓存组的n个缓存单元的地址各不相同或相同;根据编码获得的所述第一缓存组的n个缓存单元的地址,将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中。

8、在一些可选示例中,还包括:接收第二缓存访问请求,所述第二缓存访问请求用于读出第二缓存组的第二数据,所述第二缓存组为所述n个缓存组中的任意一个,所述第二数据的宽度等于m个内存块的数据的宽度;响应于所述第二缓存访问请求,根据所述第二缓存访问请求携带的读地址,从所述n个第一存储器中分别读出与所述读地址对应的字节段相同的n个缓存单元的数据,所述字节段相同的n个缓存单元的数据分别为所述n个缓存组的数据,从所述字节段相同的n个缓存单元的数据中选出所述第二缓存组的缓存单元的数据来得到所述第二数据。

9、在一些可选示例中,所述第二缓存访问请求携带有所述第二缓存组的标识,所述从所述字节段相同的n个缓存单元的数据中选出所述第二缓存组的缓存单元的数据包括:根据所述第二缓存组的标识,从所述字节段相同的n个缓存单元的数据中选出所述第二缓存组的缓存单元的数据来得到所述第二数据。

10、在一些可选示例中,数据字节段相同的n个缓存单元的地址相同,或者,数据字节段相同的n个缓存单元的地址各不相同。

11、第二方面,本专利技术公开了一种缓存控制模块,应用于处理器,所述处理器包括缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存控制模块包括第一地址编码单元;所述第一地址编码单元用于接收第一缓存访问请求,所述第一缓存访问请求用于将第一数据写入至第一缓存组,所述第一缓存组为所述n个缓存组中的任意一个,所述第一数据的宽度等于m×n个内存块的数据的宽度,响应于所述第一缓存访问请求,将所述第一数据划分成字节段各不相同的n个第一子数据,每个所述第一子数据的宽度都等于m个内存块的数据的宽度,将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中,其中,不同的第一数据存储在不同的缓存组的缓存单元中,并且,不同的第一数据的相同字节段的第一子数据存储在不同第一存储器的缓存单元中。

12、在一些可选示例中,所述第一缓存组的n个缓存单元的地址各不相同;或者,所述第一缓存组的n个缓存单元的地址相同。

13、在一些可选示例中,所述本文档来自技高网...

【技术保护点】

1.一种缓存访问方法,其特征在于,应用于处理器,所述处理器包括缓存控制模块和缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存访问方法包括由所述缓存控制模块执行的以下操作:

2.根据权利要求1所述的缓存访问方法,其特征在于,所述第一缓存组的n个缓存单元的地址各不相同;

3.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,假设所述第一缓存组的缓存单元在任一第一存储器中的地址为第i个地址,i为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若i-1>0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址。

4.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设所述第一缓存组为第j个缓存组,所述第j个缓存组的缓存单元在任一第一存储器中的地址为第i个地址,j、i均为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若j为偶数,且若i-1>0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址;

5.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设所述第一缓存组为第j个缓存组,则在所述第一缓存组的n个缓存单元的地址相同的情况下,所述第j个缓存组的缓存单元在任一第一存储器中的地址均为第j个地址,j为1~n之间的任一整数。

6.根据权利要求2所述的缓存访问方法,其特征在于,所述第一缓存访问请求携带有写地址和所述第一缓存组的标识,所述将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中包括:

7.根据权利要求1所述的缓存访问方法,其特征在于,还包括:

8.根据权利要求7所述的缓存访问方法,其特征在于,所述第二缓存访问请求携带有所述第二缓存组的标识,所述从所述字节段相同的n个缓存单元的数据中选出所述第二缓存组的缓存单元的数据包括:

9.根据权利要求7或8所述的缓存访问方法,其特征在于,数据字节段相同的n个缓存单元的地址相同,或者,数据字节段相同的n个缓存单元的地址各不相同。

10.一种缓存控制模块,其特征在于,应用于处理器,所述处理器包括缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存控制模块包括第一地址编码单元;

11.根据权利要求10所述的缓存控制模块,其特征在于,所述第一缓存组的n个缓存单元的地址各不相同;

12.根据权利要求11所述的缓存控制模块,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,假设所述第一缓存组的缓存单元在任一第一存储器中的地址为第i个地址,i为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若i-1>0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址。

13.根据权利要求11所述的缓存控制模块,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假...

【技术特征摘要】

1.一种缓存访问方法,其特征在于,应用于处理器,所述处理器包括缓存控制模块和缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存访问方法包括由所述缓存控制模块执行的以下操作:

2.根据权利要求1所述的缓存访问方法,其特征在于,所述第一缓存组的n个缓存单元的地址各不相同;

3.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,假设所述第一缓存组的缓存单元在任一第一存储器中的地址为第i个地址,i为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若i-1>0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第一缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第一缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址。

4.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设所述第一缓存组为第j个缓存组,所述第j个缓存组的缓存单元在任一第一存储器中的地址为第i个地址,j、i均为1~n之间的任一整数,在所述第一缓存组的n个缓存单元的地址各不相同的情况下,若j为偶数,且若i-1>0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第i-1个地址,若i-1≤0,则所述第j个缓存组的缓存单元在下一个第一存储器的地址为第n个地址,若i+1>n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第1个地址,若i+1≤n,则所述第j个缓存组的缓存单元在上一个第一存储器的地址为第i+1个地址;

5.根据权利要求2所述的缓存访问方法,其特征在于,所述第一存储器的n个缓存单元的地址分别为第1个地址至第n个地址,所述n个缓存组分别为第1个缓存组至第n个缓存组,假设所述第一缓存组为第j个缓存组,则在所述第一缓存组的n个缓存单元的地址相同的情况下,所述第j个缓存组的缓存单元在任一第一存储器中的地址均为第j个地址,j为1~n之间的任一整数。

6.根据权利要求2所述的缓存访问方法,其特征在于,所述第一缓存访问请求携带有写地址和所述第一缓存组的标识,所述将所述n个第一子数据分别写入至所述第一缓存组的n个缓存单元中包括:

7.根据权利要求1所述的缓存访问方法,其特征在于,还包括:

8.根据权利要求7所述的缓存访问方法,其特征在于,所述第二缓存访问请求携带有所述第二缓存组的标识,所述从所述字节段相同的n个缓存单元的数据中选出所述第二缓存组的缓存单元的数据包括:

9.根据权利要求7或8所述的缓存访问方法,其特征在于,数据字节段相同的n个缓存单元的地址相同,或者,数据字节段相同的n个缓存单元的地址各不相同。

10.一种缓存控制模块,其特征在于,应用于处理器,所述处理器包括缓存,所述缓存包括n个第一存储器,所述n个第一存储器包括n个缓存组,每个所述缓存组都包括n个缓存单元,所述n个缓存单元分别位于所述n个第一存储器中,且每个所述缓存单元都用于存储m个内存块的数据,n为大于或等于2的整数,m为大于或等于1的整数,所述缓存控制模块包括第一地址编码单元;

11.根据权利要求10...

【专利技术属性】
技术研发人员:高军冯明鹤赵天磊赵宏阳
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

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

1