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

相关推荐
zhangjw344 分钟前
1-5 PostgreSQL 数据类型全集:基础类型、字符串、数值、时间类型
数据库·postgresql
王中阳Go18 分钟前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
cnskylee43 分钟前
【MySQL】麒麟V10 SP3系统安装MySQL-Commercial-8.0.46
数据库·mysql·adb
梦幻通灵44 分钟前
修改MySQL数据库递增序列【持续更新】
数据库·mysql
IT规划师1 小时前
Redis 数据类型全解 - String 不只是 get set:90% 开发者忽略的 8 个高阶用法与内存陷阱(一)
redis·.net core
liminla!1 小时前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
tongyiixiaohuang1 小时前
供应商主数据同步实战:从易快报到金蝶云星空的单一策略落地
java·网络·数据库
大侠归来2 小时前
常用 MySQL 分库分表方案详解
数据库·mysql
Flynn Liang2 小时前
内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表
redis·elasticsearch·milvus·rag·springai·pgvector·向量库