【技术实现步骤摘要】
写分配方法、缓存系统、片上系统、电子组件及电子设备
[0001]本公开涉及缓存(Cache)
,尤其涉及一种写分配方法、缓存系统、片上系统、电子组件及电子设备。
技术介绍
[0002]CPU(Central Processing Unit,中央处理器)或其它计算核心,例如GPU(Graphics Processing Unit,图形处理器)的处理速度明显快于作为主存的DDR(包括DDR、GDDR、LPDDR等)的处理速度。为了平衡速度差异,一般会在芯片内部使用一级或多级Cache(缓存)。其中,越靠近CPU或其它计算核心,Cache面积越小、速度越快;越远离CPU或其它计算核心,Cache面积越大、速度越慢。
[0003]基于上述缓存架构,一般在针对写操作执行Cache替换策略时,会先在Cache里进行检索,如果命中(hit)Cacheline(缓存行),则直接在该缓存行内进行写操作,即将写操作对应的数据写到命中的缓存行中;如果未命中(miss)缓存行,则基于LRU策略执行写分配,即使用LRU策略选择一个最近最 ...
【技术保护点】
【技术特征摘要】
1.一种写分配方法,包括:对于未命中缓存行的写请求,判断由所述写请求确定出的缓存组对应的第二链表是否指示有第二缓存行;若是,从所述第二链表指示的第二缓存行中选择目标缓存行分配给所述写请求;否则从与所述缓存组对应的第一链表指示的第一缓存行中选择目标缓存行,并对所述目标缓存行执行冲刷flush操作后分配给所述写请求;所述第一链表指示的第一缓存行表示:所述缓存组包括的所有缓存行中处于已使用且未被flush的缓存行;所述第二链表指示的第二缓存行表示:在下游总线处于空闲状态下,对所述第一缓存行执行flush操作且未执行分配操作后的缓存行。2.根据权利要求1所述的写分配方法,所述第一链表与所述第二链表均包括多个条目entry,且每个链表的尾部entry指示的缓存行表示该链表所指示的所有缓存行中最近最少使用的缓存行;所述从所述第二链表指示的第二缓存行中选择目标缓存行,包括:选择所述第二链表的尾部entry保存的信息所指示的第二缓存行,所述选择的第二缓存行为所述目标缓存行;以及;从与所述缓存组对应的第一链表指示的第一缓存行中选择目标缓存行,包括:选择所述第一链表的尾部entry保存的信息所指示的第一缓存行,所述选择的第一缓存行为所述目标缓存行。3.根据权利要求2所述的写分配方法,每个链表的头部entry指示的缓存行表示该链表所指示的所有缓存行中距当前最近时刻使用过的缓存行,在所述分配给所述写请求后,所述方法还包括:在确定所述目标缓存行内写入与所述写请求对应的数据后,将用于指示所述目标缓存行的信息插入所述第一链表的头部entry。4.根据权利要求2所述的写分配方法,所述方法还包括:在每个时钟周期监测下游总线的负载情况;在所述负载情况表示所述下游总线处于所述空闲状态时,对保存在所述第一链表的尾部entry内的信息所指示的第一缓存行执行所述flush操作;将执行完所述flush操作后的第一缓存行的信息从所述第一链表的尾部entry中删除,并将执行完所述flush操作后的第一缓存行的信息插入所述第二链表的头部entry,指示新的第二缓存行。5.根据权利要求1
‑
4任一所述的写分配方法,每个缓存行存在对应的数据有效标识,所述数据有效标识使能时表示对应缓存行中保存的数据有效;对所述缓存行执行所述flush操作后,位于所述缓存行内的数据保持不变;所述方法还包括:将每个未被分配的所述第二缓存行的数据有效标识置为使能。6.根据权利要求5所述的写分配方法,所述方法还包括:在确定读请求命中所述第二缓存行的情况下,将命中的第二缓存行中保存的数据返回给所述读请求的发起者,并将用于指示所述命中的第二缓存行的信息挪动到所述第二链表的头部entry。7.根据权利要求4所述的写分配方法,所述监测下游总线的负载情况,包括:
监测主存控制器内的命令队列内的命令个数;在所述命令个数小于命令个数阈值的情况下,确定所述下游总线处于所述空闲状态。8.根据权利要求4所述的写分配方法,所述监测下游总线的负载情况,包括:监测AXI总线的有效信号;在所述有效信号在预设时间内持续为低的情况下,确定所述下游总线处于所述空闲状态。9.一种缓存系统,包括缓存控制器以及缓存...
【专利技术属性】
技术研发人员:李健,王克行,
申请(专利权)人:北京象帝先计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。