Book : 深入理解计算机系统
缓存命中和缓存不命中
高速缓存存储器L1, L2 和 L3
高速缓存组(总共S组, S=2^s),高速缓存行(每组E行),数据块(每行里有一个数据块,一数据块里有B个字节, B=2^b)
高速缓存块的大小C是指所有数据块之和,不包括有效位和标记位, C = S×E×B。
高速缓存确定一个请求是否命中,然后抽取被请求的字的过程: 1)组选择, 2)行匹配, 3)字抽取
为什么高速缓存用中间位做组索引呢?
如果用高位做索引,连续的存储器块会映射到相同的高速缓存块中,具有良好空间局部性的程序顺序扫描一个数组的元素时,高速缓存总保存着一个块大小的数组原内容,高速缓存使用的效率很低。用中间为作为组索引,相邻的块总是映射到不同的高速缓存行,提高高速缓存的效率。
直接映射高速缓存,组相联高速缓存,全相联高速缓存, 组选择,行匹配,字抽取,不命中时的行替换策略
本文介绍了计算机系统的高速缓存机制,包括L1、L2和L3缓存的工作原理,缓存块大小及其组成,以及如何通过组选择、行匹配和字抽取来实现缓存命中。还探讨了不同类型的缓存映射方式以及使用中间位作为组索引的原因。
1655

被折叠的 条评论
为什么被折叠?



