Skip to content

ESFJ-MoZhu/Cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSAPP第三次实验

复习一下Cache的相关知识吧~

三种映射方式

  • 直接映射(direct mapped)

  • 组相联

  • 全相联

标签(tag)的作用

由于每个cache块可以保存不同存储地址的内容,如何知道对应请求的数据字是否在cache中呢?标签就是用来解决这一问题。 标签只需要保存地址的高位部分,因为低位用来作为cache的索引了

有效位(valid bit)的作用

当机器启动时,cache中是没有有效数据的,我们用有效位来判断cache数据块中是否保存有效信息。如果该位未被置位,对应的数据块不能使用。

因此cache数据块的索引和标签唯一确定了应放于该块的数据字的存储地址

全相联,组相联,与直接映射

  • 直接映射采用以下来找到对应的数据块(块地址)mod(cache中的数据块数量),因此如果块数是2的幂次,就直接取地址的低N位即可。可以看到,每一个地址在cache中对应的位置都是唯一的

  • 全相连就是数据块可以存在cache的任意位置,在全相联cache中查找给定的数据块,所有的表项都要经过比对

  • 组相联介于两者之间,每个数据块有n个可以存放的位置叫n路组相联cache,一个n路组相联cache中有若干组(set),每一组有n个数据块,主存中的每个数据块通过索引位映射到cache中对应的组,数据块可以存放在该组的任意位置 提高相联度的好处通常是可以降低失效率

About

火速CSAPP实验

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages