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

王道考研计算机组成原理

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值