操作系统——笔记day7

Cache程序放在哪

程序局部性原理:CPU大多数时间在执行相同的指令或者与此相邻的指令

内存

动态随机存储器,DRAM,根据电容存储电荷的多少来代表0和1

与CPU数据吞吐量天差地别,内存是决定系统整体性能的瓶颈

Cache

可以通过一块小而快的存储器,放在CPU和内存之间,利用程序局部性原理,来缓解CPU和内存之间的性能问题,即Cache,高速缓存

Cache中存放了内存中一部分数据,CPU在访问内存时要先访问Cache,如果Cache中有需要的数据就直接从Cache中拿,没有就从内存中读取数据,并同时把这块数据放入Cache中

Cache构成:静态储存器,地址转换模式,Cache行替换

Cache把静态储存器和内存分成大小相同的行——Cache和内存交换数据的最小单位,多个行形成一组

Cache工作流程

1.CPU发出的地址由Cache的地址转换模块分成3段:组号,行号,行内偏移

2.Cache根据组号,行号查找静态存储器对应的行。如果命中,用行内偏移读取并返回数据给CPU,否则新分配一个新行并访问内存,把内存中对应的数据加载到Cache行并返回给CPU

3.没有新行,进入行替换逻辑,找出一个Cache行写回内存,腾出空间

Cache带来的问题

Cache一致性问题

1.一个CPU核心中的指令Cache和数据Cache的一致性问题

2.多个CPU核心各自的2级Cache的一致性问题

3.CPU的3级Cache与设备之间一致性问题

Cache的MESI协议

多核心Cache数据同步协议有MESI和MOESI

MESI协议定义了4种基本的状态:M(Modified 修改),E(Exclusive 独占),S(Shared 共享),I(Invalid 无效)

M修改(Modified):当前Cache的内容有效,数据已经被修改而且与内存中的数据不一致,数据只在当前Cache里存在

E独占(Exclusive):当前Cache中的内容有效,数据与内存中的数据一致,数据只在当前Cache里存在

S共享(Shared):当前Cache中的内容有效,Cache中的数据与内存中的数据一致,数据在多个CPU核心中的Cache里面存在

I无效(Invalid):当前Cache无效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直饿着肚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值