cache的概念在计算机中被广泛应用,包括TLB等都使用了它的理念,因此对其进行总结。
Cache——位于CPU上,处于寄存器和内存之间的存储单元。
Cache Hit & Miss
在写入cache的时候,有hit(命中)和miss(缺失)两种情形:
Write Hit——写入命中,即cache中存有待写入的内存块。写入缓存命中有以下三种不同的机制:
Write-back:只更新cache中的内容,当该block被从cache中清除的时候,再更新memory中的内容;
Write-through:同时更新cache和memory中的内容;
Write-around:只更新memory中的内容,将cache中对应的内存块设置为无效。
Write Miss——写入缺失,cache中不存在待写入的内存块。
Write-allocate:在cache中新增待写入的内存块;
No write-allocate:只更新memory,不更改cache中的内容。
三级缓存
在寄存器和内存之间有三层缓存的结构,缓存的容量随着层级的增加而增加,存储每个bit所需的成本也随之减少。和只有一层缓存的结构相比,三层缓存在Cache Miss的情形下所消耗的时间更少。