64 字节 CPU 缓存行读取是否与 64 字节边界对齐?

问题描述 投票:0回答:1

CPU 缓存线通常为 64 字节。当 CPU(例如现代 Intel 处理器)从内存读取高速缓存行时,CPU 是从 64 字节对齐的内存块还是从任何连续的 64 字节块读取?什么是对齐行为?

换句话说,CPU是否只读取从低6位为零的地址开始的块?或者其他/任何对齐方式?

caching cpu memory-alignment cpu-cache
1个回答
0
投票

如果地址映射到地址空间中的可缓存位置(例如普通 RAM),则当读取该块内的任何位置时,处理器的内存子系统将加载整个缓存对齐的内存块。 如果读取的数据超过一个字节并跨越高速缓存行边界,则可以从外部存储器读取多个高速缓存行。例如,从缓存行中的最后一个字节开始读取 16 位短整型将导致从外部存储器读取两个完整的缓存行。

© www.soinside.com 2019 - 2024. All rights reserved.