02. 缓存行

1.缓存行


1.缓存行

csharp 复制代码
CPU读取内存时, 并不是直接一个字节一个字节地读, 而是按照内存总线的位宽(比如64位, 即8字节)来传输数据; 但是CPU的

缓存系统(Cache)在从内存中加载数据时, 是以缓存行(Cache Line)为单位的

a.内存总线的传输单位: "每次内存读写操作通过总线传输的数据量, 通常是64位(8字节)或128位(16字节)"

b.缓存行的加载单位: "当CPU缓存未命中时, 会从内存中加载整个缓存行, 现代CPU的缓存行通常是64字节"
csharp 复制代码
CPU需要读取一个字节时, 实际上会发生以下步骤:

a.检查该字节所在的缓存行是否在缓存中

b.如果在, 则直接从缓存中读取

c.如果不在, 则缓存系统会从内存中加载整个缓存行(比如: 64字节), 然后从缓存行中读取所需要的字节

例如: 对于64字节的缓存行, CPU通过总线每次传输的数据块可能是8字节, 但为了填充这个缓存行, 可能需要多次传输; 在

64位总线上需要8次传输(每次8字节)
相关推荐
QQ_4376643141 小时前
redis相关命令讲解及原理
数据库·redis·缓存
yuankunliu2 小时前
【redis】1、Redis的安装部署
数据库·redis·缓存
最贪吃的虎4 小时前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
OpsEye4 小时前
Redis 内存碎片的隐形消耗——如何用 memory purge 命令释放空间?
运维·网络·数据库·redis·缓存·内存·监控
optimistic_chen5 小时前
【Redis系列】事务特性
数据库·redis·笔记·缓存·事务
CodeCipher5 小时前
关于Redis单线程问题
数据库·redis·缓存
威风少侠5 小时前
Redis集群配置优化指南
数据库·redis·缓存
indexsunny8 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Redis缓存场景解析
java·spring boot·redis·缓存·微服务·消息队列·电商
起名时在学Aiifox14 小时前
Vue 3 响应式缓存策略:从页面状态追踪到智能数据管理
前端·vue.js·缓存
ChineHe16 小时前
Redis数据类型篇002_详解Strings核心命令与存储结构
数据库·redis·缓存