缓存:CPU的“随身小仓库“

缓存:CPU的“随身小仓库“ 缓存:CPU的"随身小仓库"你去图书馆自习,笔记本忘带了。情况A:跑回宿舍拿(很远,很慢)情况B:图书馆前台有备用笔记本(很近,很快)CPU的**缓存(Cache)**就是那个"图书馆前台备用笔记本"。一、为什么需要缓存?问题:CPU和内存速度不匹配 CPU执行一条指令:0.3纳秒 内存访问:100纳秒 差距:300倍! 如果CPU每次计算都要等内存: - 大部分时间在等待 - CPU利用率极低 解决方案: 在CPU和内存之间,加一层"缓存" 缓存速度更快,存放常用数据二、缓存的工作原理局部性原理程序的访问规律: 1. 时间局部性 - 今天访问的数据,很可能在接下来又被访问 - 比如:循环中的变量 2. 空间局部性 - 访问了地址A,很可能会访问地址A旁边的数据 - 比如:数组遍历 这就是缓存工作的理论基础!缓存命中缓存命中(Hit): - 需要的数据在缓存里 - 速度很快 缓存未命中(Miss): - 数据不在缓存里 - 需要去内存取 - 速度慢┌────────────────────────────────────────┐ │