在计算机层次中,cache是除了寄存器之外,访问速度最快的层次。
使用cache改善系统性能的依据是程序的局部性原理,即时间局部性和空间局部性。
平均存取时间
假定用h代表访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,平均周期是使用Cache+主存储器的系统平均周期,用t3表示。
t3=h*t1+(1-h)*t2
地址相联映像
直接相联映像:电路设计简单,但冲突率高。
比如说,内存容量是1G,划分2048页,cache是8m,划分为16页,每页512kb,每页是0-15编号。
内存分为128组,每组为16页,每个页都是0-15的编号。内存中每个组的0页只能映射到cache的0页,1页映射到cache的1页,依次类推。如果其他组0页要映射到cache,如果已经存在0页映射,就会冲突。
全相联映像,就是内存每一页都能映射到cache任何一页,冲突率低。但是电路难于设计和实现。
组相联映像,直接相连和全相联的折中。
还按上面的例子,内存每个区分为8组,每组编号是0-7,cache也是两个一组,也是编号为0-7,内存0组只能与cache0组映射,组与组之间是全相联。
软设之Cache
于 2024-04-22 17:20:37 首次发布