【发布时间】:2014-07-06 17:09:16
【问题描述】:
这是计算机体系结构课程中的一个问题,给我带来了一些麻烦:
你有一个应用程序,它的内存访问模式是一个流,它的整个数据集是 128kB。您机器中的数据缓存容量为 64kB。它是字可寻址的,并与 32B 线直接映射。它能够一次获取一行。
给定访问模式:0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, ..., 32768,其中每个访问都是一个 4B 字。
- 未命中率是多少?
- 可以通过使用更大的缓存来降低未命中率吗?
- 如果减少数据集的大小,是否可以降低未命中率?
我认为是这样的:缓存最初是空的,这意味着每次访问都会导致强制未命中。那么这是否意味着未命中率为 100%,因为最初没有加载数据并且模式没有两次命中任何地址?
任何理解这一点的帮助将不胜感激!
【问题讨论】:
-
这个问题在计算机科学中得到了回答:cs.stackexchange.com/questions/28248/…
标签: caching computer-architecture