ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统——笔记day7

2022-02-05 10:02:18  阅读:140  来源: 互联网

标签:操作系统 day7 Cache 笔记 MESI 内存 一致性 数据 CPU


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无效

标签:操作系统,day7,Cache,笔记,MESI,内存,一致性,数据,CPU
来源: https://blog.csdn.net/m0_57005796/article/details/122788235

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有