局部性原理
局部性原理指的是计算机在执行程序时,倾向于使用最近使用的数据。
时间局部性:被引用过的存储器位置很有可能会被再次引用。
空间局部性:被引用过的存储器附近的数据很有可能将会被引用。
缓存与缓冲
缓冲通常在接收者和发送者速度差异较大的场合下使用。
缓存一般用于补偿不同存储器之间的读写速度差异。Cache。
缓存依赖于局部性原理,缓冲其实就是接下来要读取的数据就在缓冲区中。
缓存层次结构
寄存器>高速缓存>主存储器CPU>本地磁盘>远程文件系统
在上图中,上一层的存储器中保存着下一层的存储器中的部分数据的拷贝,上一层就是下一层的缓存。所以,如果想要找到从下往上数第K层的数据,就可以先在第K+1层中找,若找到,就称为是缓存命中(cache hit),没找到,就是缓存未命中(cache miss)
当缓存不命中时,需要从第k+1层拷贝需要的数据到第k层,这样就可能会需要替换第k层中已经缓存的某些数据,需要替换时通常会有个替换策略来指导替换哪些数据;