考研帮 > 数学 > 每日一练

3.7 高速缓冲存储器

3.7.3 Cache和主存之间的映像方式

  为了把信息放到Cache中,必须应用某种函数把主存地址映像到Cache中定位,称为地址映像(映射)。而将主存地址变换成Cache地址,称做地址变换,它们之间是密切相关的。常用的地址映像方式有三种,分别是全相联映像、直接映像和组相联映像。
  1.全相联映像
  全相联映像是指将内存和Cache按照固定的相同的大小进行分块。内存的块和Cache的块可以任意对应,即内存的任何一块都可以映像到Cache的任何一块。在Cache的存储空间被占满的情况下,也允许确实已被占满的Cache存储器中替换出任何一个旧块,具体如图3-14所示。
  2.直接映像
  直接映像先将Cache分成若干块,每个块的大小相同,并对每个块进行编号。同时根据Cache容量大小将内存分成若干区(页),每个区的容量都跟Cache的容量相同,然后对内存进行分块,每块的大小跟Cache块的大小相同,同样对区内的块进行编号。映像时,内存的某个区的块只能保存在与其块号相同的Cache块中。如图3-15所示,内存各区中的第0块只能映像到Cache的第0块,而不能映像到其他块。

  3.组相联映像
  组相联映像实际上是直接映像和全相联映像的折中方案。组相联映像方式先将Cache分成大小相同的若干区(组),对每个区按照直接映像的方式进行分块,并且编号,因此,Cache中有多个编号相同的块。对内存按照Cache区的大小进行分页,再对每页按照Cache块的大小进行分块,每个内存块可以对应不同Cache区中的相同块号的块。如图3-16中内存第0页的第0块,可以对应Cache的第0区的第0块,也可以对应第j区的第0块。
  在三种方式中,全相联映像方式比较灵活,Cache的块冲突概率最低、空间利用率最高,但是地址变换速度慢,而且成本高,实现起来比较困难;直接映像方式是最简单的地址映像方式,成本低,易实现,地址变换速度快,而且不涉及其他两种映像方式中的替换算法问题。但这种方式不够灵活,Cache的块冲突概率最高、空间利用率最低;组相联映像实际上是全相联映像和直接映像的折中方案,其优点和缺点介于全相联和直接映像方式的优缺点之间。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭