缓存块如何从 RAM 中提取到 cpu 中?

问题描述

我正在更多地了解 cpu 的理论方面,并且我阅读了有关如何使用缓存将一行/内存块从 RAM 提取到更靠近 cpu 的区域,以便可以更快地访问(我认为它需要更少的时钟周期,因为 cpu 不需要将下一个字的整个地址移动到寄存器中,而且它在物理上更接近 cpu)。
但现在我不清楚具体的实施。 cpu 通过数据总线连接到 RAM,在现代机器中可以是 32 位或 64 位宽。但在某些情况下,L3 缓存的大小可能高达 32MB,而且我非常确信从 RAM 到 cpu 缓存的数据线不会有数百万条。即使是只有几 KB 的极小 L1 缓存也需要数百甚至数千个时钟周期才能仅通过那条微小的数据总线从 RAM 中获取数据。

所以我想了解的是,cpu 缓存究竟是如何实现以传输如此多的信息同时仍然高效的?是否有过去几十年的简单(相对)cpu 示例,我可以查看并了解它们如何实现该部分架构?

解决方法

事实证明,实际上有一个非常宽的总线来在缓存级别之间移动信息。感谢 Peter 在评论中向我指出并提供了有用的链接以供进一步阅读。