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



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

所以我想了解的是,CPU缓存究竟是如何实现的,以便在高效的同时传输这么多信息?在过去的几十年里,有没有简单(相对(的CPU的例子,我可以看看并了解它们是如何实现架构的这一部分的?

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

由于您想要CPU缓存和RAM(主内存(的实现,这里有一个有用的模拟链接,您可以在其中给出RAM和缓存的大小,并查看它们的工作方式。

https://www3.ntu.edu.sg/home/smitha/ParaCache/Paracache/dmc.html

最新更新