目录
- 一. Cache的工作原理
- 二. 局部性原理
- 三. 性能分析
- 四. 待解决的问题
\quad
一. Cache的工作原理
\quad
存储系统存在的问题
虽然双端口RAM、多模块存储器提高存储器的工作速度, 但是优化后的速度与CPU差距依然很大, 为了改善这个问题就出现了Cache, 来解决存储器与CPU速度不匹配问题
\quad
当我们启动微信的时候, 微信里面的数据就会从辅存复制到内存
在视频聊天的时候, "视频聊天"的相关代码会被频繁的访问
\quad
对于被频繁访问的数据就可以复制到Cache, CPU在调用Cache里的数据就不会有太大的速度矛盾
注:实际上,Cache被集成在CPU内部, Cache用SRAM实现,速度快,成本高, 由于SRAM集成度比较低, 注定不能做得很大, 所以Cache的容量一般都很小
\quad
二. 局部性原理
\quad
空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的(多出现在数组元素、顺序执行的指令代码)
时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息(多出现在循环结构的指令代码)
基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到cache中
\quad
三. 性能分析
\quad
t c t_c tc表示访问Cache的时间
t m t_m tm表示访问Memory(内存)的时间
\quad
那如果是同时访问Cache和内存, 在Cache中找到, 就立即停止对内存的访问
\quad
\quad
四. 待解决的问题
\quad
基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到cache中。如何界定“周围”?
将主存的存储空间“分块”
如:每1KB为一块。主存与Cache之间以“块”为单位遂行数据交换
注:操作系统中,通常将主存中的 "一个块”也称为 —个页/页面/页框”, Cache中的“块”也称为“行”
4MB=22 + 220 =222
1KB=210
222÷210=212=4096
\quad
敬请期待…
\quad
王道考研计算机组成原理