谁将数据放入缓存?

时间:2016-12-26 08:39:35

标签: cpu-architecture

就像我们有引用的位置一样,这个数据被复制到缓存中,但谁负责这个。

是否有h / w或是否有任何s / f执行此操作?

1 个答案:

答案 0 :(得分:1)

当执行访问存储器的指令时,CPU将数据读/写到缓存中 因此,它是一种按需服务,数据根据请求进行移动 然后尝试将数据保留在缓存as long as possible中,直到没有更多空间,并使用replacement policy来驱逐一条线以支持新数据。
传输的最小数据单元称为line,它通常大于寄存器大小(以改善局部性)。

某些CPU有一个prefetcher,在识别出特定的内存访问模式后,尝试在实际请求程序之前自动将数据移动到缓存中。

某些体系结构的指令作为提示执行,以便CPU从特定地址预取数据。
这使得软件对预取电路的控制最小,但是如果软件想要将数据移动到高速缓存中,则只需读取数据(如果在该区域中启用了高速缓存,则CPU将对其进行高速缓存)。 p>