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字节)
相关推荐
程序员夏洛7 小时前
Redis 的 Red Lock 是什么?你了解吗?
数据库·redis·缓存
智购科技智能售货柜18 小时前
2026自动售货机设备能耗计量系统:从功率监测到能效分析的工程实践~YH
数据库·人工智能·redis·缓存·架构·perl·symfony
潘正翔1 天前
Memcached构建缓存服务器
运维·服务器·数据库·缓存·云原生·memcached
Jul1en_1 天前
【Java 脚手架】封装通用工具类-3
java·开发语言·redis·缓存·ai·bootstrap·rabbitmq
李昊哲小课1 天前
Spring Boot 4 旅游主题实战教程 阶段四:缓存与底层进阶
spring boot·redis·缓存·性能优化·log4j·旅游·性能
杨运交1 天前
[065][缓存模块]Hibernate二级缓存自定义实现:基于Spring Cache的多级缓存适配器
spring·缓存·hibernate
上火的金鱼妹1 天前
redis集群部署与连接
数据库·redis·缓存
Demons_kirit1 天前
PortSwigger网络缓存欺骗(4)
网络安全·缓存
yandong6341 天前
redis添加到win服务
数据库·redis·缓存
一抓掉一大把1 天前
基于 MQTT 的异步请求-响应模式
缓存