Memory 访问同一缓存线中的内存位置所需的时间

Memory 访问同一缓存线中的内存位置所需的时间,memory,cpu-architecture,cpu-cache,Memory,Cpu Architecture,Cpu Cache,将下图中的大框视为缓存,将块视为缓存内的单个缓存线 CPU将数据(数组A的前4个元素)从RAM提取到缓存块中 现在,我的问题是,在缓存块中的所有4个内存位置(A[0]、A[1]、A[2]和A[3])上执行读/写操作所需的时间是完全相同的还是大致相同的 PS:我期待一个理想情况的答案,在这种情况下,在任何内存位置上执行任何读/写操作的运行时都不会受到用户进程或应用程序上操作系统抖动的影响。缓存中的线路已经很热,访问缓存中任何对齐字的时间是恒定的。处理地址行部分内偏移量的硬件不必迭代到正确的位置或

将下图中的大框视为缓存,将块视为缓存内的单个缓存线

CPU将数据(数组A的前4个元素)从RAM提取到缓存块中

现在,我的问题是,在缓存块中的所有4个内存位置(
A[0]
A[1]
A[2]
A[3]
)上执行读/写操作所需的时间是完全相同的还是大致相同的


PS:我期待一个理想情况的答案,在这种情况下,在任何内存位置上执行任何读/写操作的运行时都不会受到用户进程或应用程序上操作系统抖动的影响。

缓存中的线路已经很热,访问缓存中任何对齐字的时间是恒定的。处理地址行部分内偏移量的硬件不必迭代到正确的位置或任何东西,它只是将这些字节多路复用到输出

如果缓存中的行尚未处于热状态,则取决于缓存的设计。如果CPU不能在宽总线上一次传输整条线路,那么线路中的一个/一些字将在其他字之前到达。支持早期重新启动的缓存可以让所需的字一到达就完成加载

关键字first bus和内存允许该字成为请求未命中传输的第一个字。否则,它们将以固定的顺序到达,缓存线最后一个字的缓存丢失可能需要额外的几个周期

相关的: