我们知道,脏数据不会立即写回到RAM中,而是先存储在存储缓冲区中,稍后再根据时间的允许将其写回到RAM中。此外,如果在值被刷新到缓存/内存之前,在同一核心的相同位置进行后续LOAD操作,则可以使用存储转发技术,从存储缓冲区“转发”该值,并获取刚刚存储的值。这可以与缓存访问并行执行,因此不会影响速度。
我的问题是 - 在存储缓冲区和存储转发的帮助下,存储缺失不一定需要处理器(对应核心)停顿。因此,存储缺失不会对总缓存缺失延迟产生贡献,对吗?
谢谢。
我的问题是 - 在存储缓冲区和存储转发的帮助下,存储缺失不一定需要处理器(对应核心)停顿。因此,存储缺失不会对总缓存缺失延迟产生贡献,对吗?
谢谢。
连续存储到相同的高速缓存行中可以合并为一个缓冲区,让它们在数据从RAM(或拥有权的另一个内核)到达时一次性提交。有证据表明,在不违反内存排序规则的有限情况下,Intel CPU实际上会这样做。