南大Mooc计算机体系基础--高速缓存cache
2017-10-27 22:47
211 查看
高速缓存cache
cpu<–>cache<–>内存(主存)<–>外存(辅存)计算机存储层次结构:金字塔型
空间、时间局部性:引入cache
例子:访问二维数组A[0][0]-A[0][1]。。。空间局部性好
了解cache才能写出高效程序
操作过程:
cpu通过地址需要一块主存数据
判断是否在cache中,hit直接从cache中取,miss加入到cache
疑问:如何从elf的虚存地址,转换成cpu需要的实际内存地址
cache映射方式:
直接映射:主存块 映射到mod之后的 cache块,cache需要一个标记来
确定是哪一个主存块(块群号)。
块群号+行号+块内号
特点:容易实现,命中时间很短(按地址找)。无需考虑淘汰问题。命中率低。
全相联映射:要标记11位块号。
特点:命中时间长(按内容找),比较器长。成本高,命中率高。
组相联映射:组间取模,组内任意。
cache替换算法(逻辑演示):
FIFO:先进先出,先进的在上面,淘汰最上面的
LRU:最近最少用,最近使用的提到最上面,淘汰最下面的。实际用计数值方式标记最近用。
cache一致性问题:
写命中(要写块的在cache中)
write through:直写,立即写入cache和二级cache,二级cache受存储器控制写回主存。
write back:回写,cache中标记一个‘脏’位来判断是否有更改,当cache块被淘汰时一次性写回。同时要锁定对应主存块,不能被io访问。
写未命中:
写分配:加到cache后在写
非写分配:直接在主存中写
直写:写分配/非写分配
回写:非写分配
相关文章推荐
- 南大Mooc计算机体系基础--重定位和动态链接
- 南大Mooc计算机体系基础--x32-86指令系统
- 南大Mooc计算机体系基础2--主存组织
- 南大Mooc计算机体系基础2--磁盘存储器
- 南大Mooc计算机体系基础--虚拟存储器
- 南大Mooc计算机体系基础--IA_32地址转换
- 南大Mooc计算机体系基础--符号及符号解析
- MMU 计算机体系结构基础(转载)
- linux系统编程之基础必备(一):计算机体系结构一点基础知识
- 计算机体系结构一点基础知识
- 计算机体系结构一点基础知识
- 计算机体系结构--Cache
- [我要考试]计算机体系结构_威斯康星_博士资格考试_Spring1988_Q2_Cache地址
- linux下的C语言快速学习—计算机体系结构基础简单了解
- 网易云课堂之计算机专业课程MOOC体系
- UNIX环境高级编程——计算机体系结构基础知识
- 第17章:计算机体系结构基础
- Linux网络编程基础_1_计算机网络体系结构
- 计算机体系结构基础
- 计算机网络体系基础知识