System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及缓存控制,尤其涉及一种缓存器、集成电路系统、电子组件、电子设备及缓存控制方法。
技术介绍
1、在计算机系统中,高速缓存(cache)利用时间局部性和空间局部性的原理将少量内存数据临时存放在距离cpu(central processing unit,中央处理器)或gpu(graphicsprocessing unit,图形处理器)等处理部件更近的位置上,降低访存延迟并增大访存带宽,对计算机系统性能提升的作用明显。
2、cache包括多个缓存行(ways),每个缓存行对应有标志域、状态域和数据域等。其中,标志域用于索引、定位缓存行,状态域用于指示缓存行当前的状态,数据域用于存放数据。
3、cache容量有限,当有新的数据需要存入cache,但没有可用的缓存行,需要按照预定的替换策略进行数据替换。常见的替换策略包括lru(least recently used,即最近最少使用)替换策略、nru(not recent used)替换策略、srrip替换策略等。现有的替换策略思路是运行时动态调整各缓存行的age,并选择age相对最老的缓存行进行数据替换。
4、这类策略在一般情况下运行良好,性能也有保证。
5、但在某些情况下,特别是异构系统中,数据提供方向数据使用方提供的数据会暂存在cache中,数据使用方并不会立即读取该数据。当数据使用方需要读取该数据时,可能这笔数据刚刚在不久前被替换,这种情况会导致延迟的增加和访存带宽的浪费,从而影响性能。
技术实现思
1、本公开的目的是提供一种缓存器、集成电路系统、电子组件、电子设备及缓存控制方法,以提高缓存性能。
2、根据本公开的一个方面,提供一种缓存器,该缓存器包括缓存控制模块和缓存模块。其中,缓存控制模块被配置为:响应于特定写请求,将该特定写请求指示的数据写入缓存模块的目标缓存行,并将目标缓存行的第二状态置为有效;响应于上述数据的特定读请求,从目标缓存行读取该数据,并将目标缓存行的第二状态置为无效;在目标缓存行的第二状态有效期间,目标缓存行中的数据不被移出。
3、可选的,缓存控制模块根据特定写请求中携带的第二状态置位信息,将目标缓存行的第二状态置为有效。
4、在上述任一实施例的基础上,可选的,特定读请求包括:第n次缓存命中的读请求,n为不小于1的整数;或者,指定对象发送的读请求;或者,目标缓存行的第二状态为有效时收到的读请求。
5、在上述任一实施例的基础上,可选的,在目标缓存行的第二状态有效的情况下,对目标缓存行的写操作不触发目标缓存行的第二状态的改变。
6、在上述任一实施例的基础上,可选的,缓存控制模块还被配置为:响应于特定写请求,将目标缓存行的第三状态置为有效;在目标缓存行的第三状态有效期间,响应于目标缓存行第m次读命中,将目标缓存行的第一状态置为无效,第一状态为无效的缓存行允许被写入数据,m为不小于1的整数。
7、在此基础上,可选的,缓存控制模块根据特定写请求中携带的第三状态置位信息,将目标缓存行的第三状态置为有效。
8、在上述任一缓存器实施例的基础上,缓存器为系统级缓存器。
9、根据本公开的另一方面,提供一种集成电路系统,包括上述任一实施例所述的缓存器。
10、根据本公开的另一方面,提供一种电子组件,包括上述实施例所述的集成电路系统。
11、根据本公开的另一方面,提供一种电子设备,包括上述任一实施例所述的电子组件。
12、根据本公开的另一个方面,提供一种缓存控制方法,该方法包括:
13、响应于特定写请求,将特定写请求指示的数据写入缓存模块的目标缓存行,并将目标缓存行的第二状态置为有效;
14、响应于上述数据的特定读请求,从目标缓存行读取该数据,并将目标缓存行的第二状态置为无效;在目标缓存行的第二状态有效期间,目标缓存行中的数据不被移出。
15、可选的,将目标缓存行的第二状态置为有效,其实现方式可以包括:根据特定写请求中携带的第二状态置位信息,将目标缓存行的第二状态置为有效。
16、在上述任一方法实施例的基础上,特定读请求包括:第n次缓存命中的读请求,n为不小于1的整数;或者,指定对象发送的读请求;或者,目标缓存行的第二状态为有效时收到的读请求。
17、在上述任一方法实施例的基础上,可选的,在目标缓存行的第二状态有效的情况下,对目标缓存行的写操作不触发目标缓存行的第二状态的改变。
18、在上述任一方法实施例的基础上,可选的,响应于特定写请求,将目标缓存行的第三状态置为有效;在目标缓存行的第三状态有效期间,响应于目标缓存行第m次读命中,将目标缓存行的第一状态置为无效,第一状态为无效的缓存行允许被写入数据,m为不小于1的整数。
19、在此基础上,可选的,将目标缓存行的第三状态置为有效的具体实现方式可以包括:根据特定写请求中携带的第三状态置位信息,将目标缓存行的第三状态置为有效。
本文档来自技高网...【技术保护点】
1.一种缓存器,所述缓存器包括缓存控制模块和缓存模块;
2.根据权利要求1所述的缓存器,所述缓存控制模块被配置为:根据所述特定写请求中携带的第二状态置位信息,将所述目标缓存行的第二状态置为有效。
3.根据权利要求1或2所述的缓存器,所述特定读请求包括:第N次缓存命中的读请求,N为不小于1的整数;或者,指定对象发送的读请求;或者,所述目标缓存行的第二状态为有效时收到的读请求。
4.根据权利要求1或2所述的缓存器,在所述目标缓存行的第二状态有效的情况下,对所述目标缓存行的写操作不触发所述目标缓存行的第二状态的改变。
5.根据权利要求1或2所述的缓存器,所述缓存控制模块还被配置为:响应于所述特定写请求,将所述目标缓存行的第三状态置为有效;在所述目标缓存行的第三状态有效期间,响应于所述目标缓存行第M次读命中,将所述目标缓存行的第一状态置为无效,第一状态为无效的缓存行允许被写入数据,M为不小于1的整数。
6.根据权利要求5所述的缓存器,所述缓存控制模块被配置为:根据所述特定写请求中携带的第三状态置位信息,将所述目标缓存行的第三状态
7.根据权利要求1所述的缓存器,所述缓存器为系统级缓存器。
8.一种集成电路系统,包括权利要求1至7任一项所述的缓存器。
9.一种电子组件,包括权利要求8所述的集成电路系统。
10.一种电子设备,包括权利要求9所述的电子组件。
11.一种缓存控制方法,包括:
12.根据权利要求11所述的方法,所述将所述目标缓存行的第二状态置为有效,包括:
13.根据权利要求11或12所述的方法,所述特定读请求包括:第N次缓存命中的读请求,N为不小于1的整数;或者,指定对象发送的读请求;或者,所述目标缓存行的第二状态为有效时收到的读请求。
14.根据权利要求11或12所述的方法,在所述目标缓存行的第二状态有效的情况下,对所述目标缓存行的写操作不触发所述目标缓存行的第二状态的改变。
15.根据权利要求11或12所述的方法,所述方法还包括:
16.根据权利要求15所述的方法,所述将所述目标缓存行的第三状态置为有效,包括:
...【技术特征摘要】
1.一种缓存器,所述缓存器包括缓存控制模块和缓存模块;
2.根据权利要求1所述的缓存器,所述缓存控制模块被配置为:根据所述特定写请求中携带的第二状态置位信息,将所述目标缓存行的第二状态置为有效。
3.根据权利要求1或2所述的缓存器,所述特定读请求包括:第n次缓存命中的读请求,n为不小于1的整数;或者,指定对象发送的读请求;或者,所述目标缓存行的第二状态为有效时收到的读请求。
4.根据权利要求1或2所述的缓存器,在所述目标缓存行的第二状态有效的情况下,对所述目标缓存行的写操作不触发所述目标缓存行的第二状态的改变。
5.根据权利要求1或2所述的缓存器,所述缓存控制模块还被配置为:响应于所述特定写请求,将所述目标缓存行的第三状态置为有效;在所述目标缓存行的第三状态有效期间,响应于所述目标缓存行第m次读命中,将所述目标缓存行的第一状态置为无效,第一状态为无效的缓存行允许被写入数据,m为不小于1的整数。
6.根据权利要求5所述的缓存器,所述缓存控制模块被配置为:根据所述特定写请求中携带的第三状态置位信息,...
【专利技术属性】
技术研发人员:武杨,
申请(专利权)人:北京象帝先计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。