CPU的三级缓存

CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先缓存中调用,从而加快读取速度。

CPU缓存有三类,一级缓存(一级缓存虽然速度最快,但容量最小,单位都是KB,不同CPU之间一级缓存没有差距,所以现在不怎么提了),二级缓存(二级缓存容量也不大,基本都是个位数MB,除了一些服务器CPU会有10几MB之外,现在CPU也不怎么提二级缓存),三级缓存。。常见的CPU的三级缓存只有10MB左右(现在AMD EPYC 的X系列已经达到768MB的三级缓存)。L3读写速度比内存快得多得多。CPU中缓存是为了加快CPU读取数据的速度,也是为了给内存一个缓冲期。因为CPU运算速度太快了,光靠内存读写完全跟不上,而CPU缓存的数据交换比内存快多了,大部分时候CPU可以直接从缓存读取数据,找不到的话再从内存读取,这样可以节省CPU读取内存数据时浪费的时间。CPU读取缓存时会先从一级缓存开始,然是二级缓存,而读取二级缓存有时候会出现数据未命中的情况,这时候就需要从三级缓存读取。

参考链接:https://zhuanlan.zhihu.com/p/558199980

相关推荐
wh_xia_jun44 分钟前
mybatis xml 配置中,jdbcType=VARCHAR 的作用
数据库·oracle·tomcat
程序猿小D2 小时前
第24节 Node.js 连接 MongoDB
数据库·mongodb·npm·node.js·编辑器·vim·express
果子⌂3 小时前
PostgreSQL --数据库操作
linux·数据库·postgresql
SeaTunnel3 小时前
如何将SeaTunnel MySQL-CDC与Databend 高效整合?格式与方案全解析
数据库·mysql·开源·数据集成·seatunnel·databend
在肯德基吃麻辣烫3 小时前
《Redis》持久化
数据库·redis·缓存
xiaolyuh1233 小时前
基于binlog恢复误删除MySQL数据
数据库·mysql
Gauss松鼠会4 小时前
GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南
数据库·分布式·sql·database·gaussdb
码海漫游者84 小时前
让Python成为你的网站引擎:Django全栈开发初体验!!!
数据库·python·其他·django
Databend4 小时前
玩转 Databend UDF
数据库
曼汐 .4 小时前
数据库管理与高可用-PostgreSQL日常维护
数据库