【发布时间】:2017-01-12 01:19:34
【问题描述】:
我找不到详细解释该政策如何运作的来源。有兴趣的人在Jouppi's Paper 中解释了写入策略的组合。我是这么理解的。
- 写请求从 cpu 发送到缓存。
- 请求导致缓存未命中。
- 在缓存中为此请求分配了一个缓存块。(Write-Allocate)
- 写入请求块从较低的内存中提取到分配的缓存块中。(Fetch-on-Write)
- 现在我们可以写入已分配和更新的 fetch 缓存块。
问题是在第 4 步和第 5 步之间发生了什么。(假设缓存是使用未命中状态处理寄存器的非阻塞缓存。)
CPU 是否必须重试缓存上的写入请求,直到发生写入命中? (取块到分配的缓存块后)
如果没有,同时写入请求数据保存在哪里?
编辑:我想我在 Implementation of Write Allocate in the K86™ Processors 中找到了答案。它被直接写入分配的缓存块,稍后与读取请求合并。
【问题讨论】:
标签: caching computer-science cpu-architecture cpu-cache