主存和cache每一块相等_笔记:cpu中的cache(一)
前言:绝大部分内容来源于北京大学的慕课《计算机组成原理》,地址:
https://www.coursera.org/learn/jisuanji-zucheng
cache是为了解决cpu和内存速度不对等的问题。
一,cache的结构
当前较为普遍的cache配置是L1,L2,L3。
L1 Cache:指令和数据分离,各32KB 8路组相联,命中时间4个周期 。
L2 Cache:统一的指令和数据,共256KB 8路组相联,命中时间11个周期 。
L3 Cache:统一的指令和数据,多核共享,共8MB 16路组相联,命中时间30~40个周期。
局部性:
计算机程序从时间和空间都表现出“局部性” 。
时间局部性(Temporal Locality) :最近被访问的存储器单元(指令或数据)很快还会被访问 。
空间局部性(Spatial Locality):正在被访问的存储器单元附近的单元很快会被访问。
缓存行(Cache Line):根据局部性结论可以知道,CPU为了高效,在获取数据不是一个字节一个字节,而是一块一块(block),也即Cache Line(常见的有64Byte)。
二,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(一)相关推荐
- OS实战笔记(5)-- Cache和内存
最近工作忙,业余时间也基本投入到了Unity中,OS实战笔记看着要烂尾了,提醒自己要抽时间把这个专题补上,今天先更一篇关于Cache和内存的. 本篇笔记主要复习几个点: 1. 程序局部性原理 2. C ...
- 计算机组成原理_存储器及其子系统_笔记
技术指标 1)存储容量 = 单元数*每单元比特数 //字数*字长 2)速度 访问时间.存取周期.传输速率 3)体积功耗 4)可靠性 以 平均故障间隔时间衡量(MTBF) 分类 按介质 半导体:双极性 ...
- 一文带你完成ARMv8架构中的cache知识点
[摘要] 在最初开发ARM架构时,处理器的时钟速度和内存的访问速度大致相同.今天的处理器内核要复杂得多,其时钟速度可以快上几个数量级.但是,外部总线和内存设备的频率并没有扩大到同样的程度.有可能实现小 ...
- 主存和cache每一块相等_CPU中的Cache实现原理
本文翻译自:http://duartes.org/gustavo/blog/ 微信公众号:技术原理君 本文简要的展示了现代Intel处理器的CPU cache是如何组织的.有关cache的讨论往往缺乏 ...
- 深入浅出DPDK学习笔记(3)——— Cache和内存
深入浅出DPDK学习笔记(3)--- Cache和内存 系统架构的演进 Cache系统简介 Cache的种类 TLB Cache Cache地址映射和变换 全关联型Cache 直接关联型Cache 组 ...
- 自然语言语义分析研究进展_笔记
自然语言语义分析研究进展_笔记 词语语义分析:确定词语意义,衡量两个词之间的语义相似度或相关度; 句子语义分析:研究包含句义分析和句义相似度分析两方面; 文本语义分析:识别文本的意义.主题.类别等语义 ...
- Android Studio基础_学校课程案例_笔记
移动应用课程案例_笔记 开发环境搭建 Android Studio Genymotion 模拟器 案例 飞机大战三个控件 密码与用户登录 五个按钮 桌面台球-帧布局 用户登录-表格布局 图片-线性布局 ...
- 【微信_小游戏_canvas_基础_笔记1】
微信_小游戏_canvas_基础_笔记1 game.js文件 s_1.js文件 你好! 这是我第一次使用 Markdown编辑器 所展示的欢迎页. 第一次分享学习经历. 学习的是 joke_shi 教 ...
- 4路组相连cache设计_移动图形处理器的纹理Cache设计
随着手机.PAD等移动设备进一步普及,对3D图形绘制的需求也越来越大.桌面GPU相较于移动GPU,其渲染流程简单直接.数据吞吐率高,进而带宽需求高,功耗大.文献[1]指出相比于集成电路按照摩尔定律的发 ...
最新文章
- JavaScript高级程序设计(1)
- hdu 2516 FIB博弈模型
- 查看linux系统属性
- 初探EntityFramework——空EF设计器模型
- 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
- vb 软件时间限制_带时间限制的软件加密锁
- 在记事本++中删除重复的行
- Pivot与Center的区别
- FFmpeg总结(十一)用ffmpeg进行转格式,Android下播放网络音频流
- 爬虫之Beautiful Soup库入门
- 关于地理数据收集与处理的基本工具推荐(3)--最新30m的DEM与DSM数据免费下载
- 百度网盘目录搜索引擎上线了 百度网盘目录搭建系统
- 【业界思考】Sam Altman 山姆奥特曼:Idea Generation 创意产生——优秀的创始人对任何事情都有很多想法
- python画图小例(玫瑰、佩奇、哆啦A梦、美队盾牌)
- adb命令查看手机电量_使用adb命令查看电池电量信息
- 奥数-------i3*6528=3i*8256 让我们猜猜i的值
- QQ聊天对话框(Js实现,支持表情插入文本中间)
- 系统升级: PHP(5.1.6-5.4.7) CI(1.7.2-2.1.2)调查记录
- 计算机一直显示配置更新失败怎么办,win10电脑windows更新失败怎么办?更新失败却一直在更新...
- android power键测试,Android Framework层Power键关机流程(一,Power长按键操作处理)...
热门文章
- Magicodes.Sms短信库的封装和集成
- 扎心了,程序员2017到2019经历了什么?
- 在 .NET Core 3.0 中实现 JIT 编译的 JSON 序列化,及一些心得与随想
- 读再多书都没觉得自己变强?试试我这“5年陈”的方法
- Asp.Net Core 2.0 多角色权限认证
- IdentityServer4(OAuth2.0服务)折腾笔记
- Build 2017 | 一文看懂微软 Build 2017 大会:让 AI 走向边缘
- Jexus针对Asp.net core应用程序的六大不可替代的优势
- 开源Asp.Net Core小型社区系统
- ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换