6.3 The Memory Hierarchy

允我心安 提交于 2020-03-03 13:45:53

存储器的结构

最近在阅读GPU相关文献的时候看到cache相关的术语,上一次看到这些还是在学校里的时候,有些记不清了,翻了下CSAPP复习了下cache line,cache set相关的内容。

Cache的组织

cache分为很多个set,每个set里面有很多个cache line,每个Cache line包含了valid bit和tag bits,这样内存地址从高到低分为三个部分:

  1. tags,用来确定set中的哪个cache line
  2. set index,用来选择set
  3. block offset in cache line,用来在cache line定位内存偏移

三种不同cache layout

  1. direct mapped caches
    1. 最简单,每个set中只有一个cache line
    2. 缺点是当连续访问只有tag不同的多个内存地址时,会导致连续cache miss
  2. set associative caches
    1. 是两种方案的折中设计
  3. full associative caches
    1. 最复杂,只有一个set
    2. 缺点是一个set中有很多cache line,找到复合tag的时间复杂度很高,硬件不好设计
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!