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