向DRAM发出读取请求时,为什么要读取标签和数据,而不是只读取数据?
When making read request to DRAM, why we need to read tag and data, not data only?
我正在阅读 David Patterson 和 John Hennessy 的计算机体系结构书籍。在chapter2中提到,如果我们将标签存储在DRAM中,我们可能需要在两个周期内分别发出两次读取标签和数据的请求。我的问题是为什么我们需要请求标签?标签不就是地址的高位吗?
哇 - 很久很久以前我在研究生院读过 Patterson 和 Hennessy ;) 感谢你的回忆之旅 ;)
这是正在发生的事情:
https://www.webopedia.com/TERM/T/tag_RAM.html
The area in an L2 cache that identifies which data from main memory is
currently stored in each cache line. The actual data is stored in a
different part of the cache, called the data store. The values stored
in the tag RAM determine whether a cache lookup results in a hit or a
miss.
换句话说,在两个不同的"places"(缓存行和数据存储)中有两个不同的"things"(标签和数据)。如果是 "hit",你只需要查找一次(到缓存行)。
那么为什么要 "tag" 呢?因为内存的不同区域可能映射到一个块中,所以使用标签来区分它们。
我正在阅读 David Patterson 和 John Hennessy 的计算机体系结构书籍。在chapter2中提到,如果我们将标签存储在DRAM中,我们可能需要在两个周期内分别发出两次读取标签和数据的请求。我的问题是为什么我们需要请求标签?标签不就是地址的高位吗?
哇 - 很久很久以前我在研究生院读过 Patterson 和 Hennessy ;) 感谢你的回忆之旅 ;)
这是正在发生的事情:
https://www.webopedia.com/TERM/T/tag_RAM.html
The area in an L2 cache that identifies which data from main memory is currently stored in each cache line. The actual data is stored in a different part of the cache, called the data store. The values stored in the tag RAM determine whether a cache lookup results in a hit or a miss.
换句话说,在两个不同的"places"(缓存行和数据存储)中有两个不同的"things"(标签和数据)。如果是 "hit",你只需要查找一次(到缓存行)。
那么为什么要 "tag" 呢?因为内存的不同区域可能映射到一个块中,所以使用标签来区分它们。