前言:绝大部分内容来源于北京大学的慕课《计算机组成原理》,地址:

https://www.coursera.org/learn/jisuanji-zucheng

存储体系(《深入理解计算机系统》)

cache是为了解决cpu和内存速度不对等的问题。

一,cache的结构

当前较为普遍的cache配置是L1,L2,L3。

Core i7的多级高速缓存

L1 Cache:指令和数据分离,各32KB 8路组相联,命中时间4个周期 。

L2 Cache:统一的指令和数据,共256KB 8路组相联,命中时间11个周期 。

L3 Cache:统一的指令和数据,多核共享,共8MB 16路组相联,命中时间30~40个周期。

cache的结构

局部性:

计算机程序从时间和空间都表现出“局部性” 。

时间局部性(Temporal Locality) :最近被访问的存储器单元(指令或数据)很快还会被访问 。

空间局部性(Spatial Locality):正在被访问的存储器单元附近的单元很快会被访问。

缓存行(Cache Line):根据局部性结论可以知道,CPU为了高效,在获取数据不是一个字节一个字节,而是一块一块(block),也即Cache Line(常见的有64Byte)。

cache与内存的映射模型

二,cache访问流程

cache访问流程

Cache命中时的写策略:

① 写穿透(Write Through):数据同时写入Cache和主存 。

② 写返回(Write Back):数据只写入Cache,仅当该数据块被替换时 才将数据写回主存。

Cache失效”时的写策略 :

① 写不分配(Write Non-Allocate):直接将数据写入主存 。

② 写分配(Write Allocate):将该数据所在的块读入Cache后,再将数 据写入Cache。

参考:

https://www.coursera.org/learn/jisuanji-zucheng

https://coolshell.cn/articles/20793.html

https://www.stardog.com/blog/writing-cache-friendly-code/

https://dzone.com/articles/optimizing-memory-access-with-cpu-cache

https://coolshell.cn/articles/10249.html

https://max.book118.com/html/2017/1007/136335602.shtm

主存和cache每一块相等_笔记:cpu中的cache(一)相关推荐

  1. OS实战笔记(5)-- Cache和内存

    最近工作忙,业余时间也基本投入到了Unity中,OS实战笔记看着要烂尾了,提醒自己要抽时间把这个专题补上,今天先更一篇关于Cache和内存的. 本篇笔记主要复习几个点: 1. 程序局部性原理 2. C ...

  2. 计算机组成原理_存储器及其子系统_笔记

    技术指标 1)存储容量 = 单元数*每单元比特数  //字数*字长 2)速度 访问时间.存取周期.传输速率 3)体积功耗 4)可靠性 以 平均故障间隔时间衡量(MTBF) 分类 按介质 半导体:双极性 ...

  3. 一文带你完成ARMv8架构中的cache知识点

    [摘要] 在最初开发ARM架构时,处理器的时钟速度和内存的访问速度大致相同.今天的处理器内核要复杂得多,其时钟速度可以快上几个数量级.但是,外部总线和内存设备的频率并没有扩大到同样的程度.有可能实现小 ...

  4. 主存和cache每一块相等_CPU中的Cache实现原理

    本文翻译自:http://duartes.org/gustavo/blog/ 微信公众号:技术原理君 本文简要的展示了现代Intel处理器的CPU cache是如何组织的.有关cache的讨论往往缺乏 ...

  5. 深入浅出DPDK学习笔记(3)——— Cache和内存

    深入浅出DPDK学习笔记(3)--- Cache和内存 系统架构的演进 Cache系统简介 Cache的种类 TLB Cache Cache地址映射和变换 全关联型Cache 直接关联型Cache 组 ...

  6. 自然语言语义分析研究进展_笔记

    自然语言语义分析研究进展_笔记 词语语义分析:确定词语意义,衡量两个词之间的语义相似度或相关度; 句子语义分析:研究包含句义分析和句义相似度分析两方面; 文本语义分析:识别文本的意义.主题.类别等语义 ...

  7. Android Studio基础_学校课程案例_笔记

    移动应用课程案例_笔记 开发环境搭建 Android Studio Genymotion 模拟器 案例 飞机大战三个控件 密码与用户登录 五个按钮 桌面台球-帧布局 用户登录-表格布局 图片-线性布局 ...

  8. 【微信_小游戏_canvas_基础_笔记1】

    微信_小游戏_canvas_基础_笔记1 game.js文件 s_1.js文件 你好! 这是我第一次使用 Markdown编辑器 所展示的欢迎页. 第一次分享学习经历. 学习的是 joke_shi 教 ...

  9. 4路组相连cache设计_移动图形处理器的纹理Cache设计

    随着手机.PAD等移动设备进一步普及,对3D图形绘制的需求也越来越大.桌面GPU相较于移动GPU,其渲染流程简单直接.数据吞吐率高,进而带宽需求高,功耗大.文献[1]指出相比于集成电路按照摩尔定律的发 ...

最新文章

  1. JavaScript高级程序设计(1)
  2. hdu 2516 FIB博弈模型
  3. 查看linux系统属性
  4. 初探EntityFramework——空EF设计器模型
  5. 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
  6. vb 软件时间限制_带时间限制的软件加密锁
  7. 在记事本++中删除重复的行
  8. Pivot与Center的区别
  9. FFmpeg总结(十一)用ffmpeg进行转格式,Android下播放网络音频流
  10. 爬虫之Beautiful Soup库入门
  11. 关于地理数据收集与处理的基本工具推荐(3)--最新30m的DEM与DSM数据免费下载
  12. 百度网盘目录搜索引擎上线了 百度网盘目录搭建系统
  13. 【业界思考】Sam Altman 山姆奥特曼:Idea Generation 创意产生——优秀的创始人对任何事情都有很多想法
  14. python画图小例(玫瑰、佩奇、哆啦A梦、美队盾牌)
  15. adb命令查看手机电量_使用adb命令查看电池电量信息
  16. 奥数-------i3*6528=3i*8256 让我们猜猜i的值
  17. QQ聊天对话框(Js实现,支持表情插入文本中间)
  18. 系统升级: PHP(5.1.6-5.4.7) CI(1.7.2-2.1.2)调查记录
  19. 计算机一直显示配置更新失败怎么办,win10电脑windows更新失败怎么办?更新失败却一直在更新...
  20. android power键测试,Android Framework层Power键关机流程(一,Power长按键操作处理)...

热门文章

  1. Magicodes.Sms短信库的封装和集成
  2. 扎心了,程序员2017到2019经历了什么?
  3. 在 .NET Core 3.0 中实现 JIT 编译的 JSON 序列化,及一些心得与随想
  4. 读再多书都没觉得自己变强?试试我这“5年陈”的方法
  5. Asp.Net Core 2.0 多角色权限认证
  6. IdentityServer4(OAuth2.0服务)折腾笔记
  7. Build 2017 | 一文看懂微软 Build 2017 大会:让 AI 走向边缘
  8. Jexus针对Asp.net core应用程序的六大不可替代的优势
  9. 开源Asp.Net Core小型社区系统
  10. ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换