有谁知道为什么在当今的大多数处理器中都有多层缓存。像 L1 L2 和 L3。为什么处理器不能使用一个大的 L1 缓存?
多层缓存不是增加了缓存协议(protocol)的复杂性吗?
最佳答案
模具尺寸。 L1 通常是片上的;片上没有大缓存的空间。 L2/3 有自己的芯片,可以更大,处理方式也不同。
还有速度; L1 是在权衡最大速度的基础上构建的,而 L2/3 不必如此激进地加速。
也是多核的。现代多核处理器为每个内核提供了自己的 L1 以提高速度,但它们共享部分或全部其他缓存以实现一致性。
也就是说,PA-RISC 处理器是用“让我们做一个大的 L1 缓存”的方法构建的。它们很贵。
关于caching - 为什么会有多层缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648107/