1.缓存行
1.缓存行
CPU读取内存时, 并不是直接一个字节一个字节地读, 而是按照内存总线的位宽(比如64位, 即8字节)来传输数据; 但是CPU的
缓存系统(Cache)在从内存中加载数据时, 是以缓存行(Cache Line)为单位的
a.内存总线的传输单位: "每次内存读写操作通过总线传输的数据量, 通常是64位(8字节)或128位(16字节)"
b.缓存行的加载单位: "当CPU缓存未命中时, 会从内存中加载整个缓存行, 现代CPU的缓存行通常是64字节"
CPU需要读取一个字节时, 实际上会发生以下步骤:
a.检查该字节所在的缓存行是否在缓存中
b.如果在, 则直接从缓存中读取
c.如果不在, 则缓存系统会从内存中加载整个缓存行(比如: 64字节), 然后从缓存行中读取所需要的字节
例如: 对于64字节的缓存行, CPU通过总线每次传输的数据块可能是8字节, 但为了填充这个缓存行, 可能需要多次传输; 在
64位总线上需要8次传输(每次8字节)

480

被折叠的 条评论
为什么被折叠?



