Q
爲什麼有多層緩存
1
A
回答
4
模具尺寸。 L1通常處於死亡狀態;不存在大容量高速緩存的空間。 L2/3獲得自己的死亡,可以更大,處理方式也不同。
也速度; L1建立在最大速度的權衡之上,而L2/3則不必如此積極加速。
也是多核心。現代多核處理器爲每個內核提供自己的L1速度,但它們共享部分或全部其他緩存以實現一致性。
也就是說,PA-RISC處理器有是用「讓我們做一個大的L1緩存」的方法構建的。他們很貴。
3
爲什麼處理器不能處理一個大的L1緩存?
處理器緩存越大,延遲時間越長。還有實際和成本方面的考慮,因爲更大的緩存在芯片上佔用更多的物理空間。在達到一定的大小後,您將失去太多的緩存加速,使其值得進一步增加緩存大小。因此,最終大緩存變得不可取。
仍需要大型緩存的處理器設計可以通過具有多個緩存級別進行權衡。您從一個小而快的緩存開始,並逐漸回落到連續未命中時較大,較慢的緩存。
相關問題
- 1. 什麼是多層緩存?
- 2. shell別名有緩存嗎?爲什麼?
- 3. 爲什麼AJAX有緩存問題?
- 4. 二級緩存 - 爲什麼不緩存所有實體?
- 5. 爲什麼不緩存?
- 6. 爲什麼window.name被緩存?
- 7. 這爲什麼不緩存?
- 8. 爲什麼CSS被緩存?
- 9. 爲什麼CoreAnimation似乎在緩存表示層副本?
- 10. cpu緩存和內存緩存有什麼區別
- 11. 爲什麼我的緩存片段沒有存儲?
- 12. 爲什麼不緩存:: clear()清除我的(查看)緩存? (CakePHP)
- 13. 爲什麼鉻請求時,我有/緩存清單= '緩存清單'
- 14. 引發緩存和空緩存之間有什麼區別?
- 15. l1緩存和l2緩存有什麼區別?
- 16. 休眠緩存和Spring遠程緩存有什麼區別?
- 17. 客戶端緩存和服務器緩存有什麼區別
- 18. SQLite爲什麼適合模板緩存?
- 19. 爲什麼動作結果被緩存?
- 20. 爲什麼要緩存jQuery對象?
- 21. Grails爲什麼我的緩存無效?
- 22. 爲什麼cefsharp中的緩存太大?
- 23. 爲什麼String的hashCode()緩存0?
- 24. 爲什麼我的圖片緩存?
- 25. 爲什麼favicons緩存時間更長?
- 26. 爲什麼要使用緩存
- 27. 爲什麼Webservice緩存令牌
- 28. 爲什麼autoconf緩存我的宏?
- 29. 什麼樣的Django具有緩存
- 30. executeUpdate()對JPA緩存有什麼影響?
OT。但簡單的答案是,我們不能像'L1'緩存那樣將* fast *與'L3'緩存的* size *一起構建。換句話說,如果我們可以實現所有的大小/速度平衡,那麼我們根本不需要緩存 - 主內存將與「L1」緩存一樣快。 – 2012-03-10 16:38:48