2012-03-10 42 views
1

有誰知道爲什麼在今天的大多數處理器中有幾層緩存。像L1 L2和L3一樣。爲什麼一個處理器無法處理一個大的L1緩存?爲什麼有多層緩存

沒有多層緩存增加了緩存協議的複雜性?

+2

OT。但簡單的答案是,我們不能像'L1'緩存那樣將* fast *與'L3'緩存的* size *一起構建。換句話說,如果我們可以實現所有的大小/速度平衡,那麼我們根本不需要緩存 - 主內存將與「L1」緩存一樣快。 – 2012-03-10 16:38:48

回答

4

模具尺寸。 L1通常處於死亡狀態;不存在大容量高速緩存的空間。 L2/3獲得自己的死亡,可以更大,處理方式也不同。

也速度; L1建立在最大速度的權衡之上,而L2/3則不必如此積極加速。

也是多核心。現代多核處理器爲每個內核提供自己的L1速度,但它們共享部分或全部其他緩存以實現一致性。

也就是說,PA-RISC處理器是用「讓我們做一個大的L1緩存」的方法構建的。他們很貴。

3

爲什麼處理器不能處理一個大的L1緩存?

處理器緩存越大,延遲時間越長。還有實際和成本方面的考慮,因爲更大的緩存在芯片上佔用更多的物理空間。在達到一定的大小後,您將失去太多的緩存加速,使其值得進一步增加緩存大小。因此,最終大緩存變得不可取。

仍需要大型緩存的處理器設計可以通過具有多個緩存級別進行權衡。您從一個小而快的緩存開始,並逐漸回落到連續未命中時較大,較慢的緩存。