什麼是其中一個可以窺探一個使用給定物理地址的虛擬尋址L1的選項窺探幾乎尋址緩存?如何使用物理地址
如何使用物理地址
回答
至少有三種方法來窺探使用物理地址的虛擬地址L1緩存存在。
或許最明顯是用由大約哪一組和路的塊佔用(如果它是在L1)的物理地址,並且包括信息處理的一個包容L2高速緩存。包含屬性只需要應用於標籤,例如,提供的標籤關聯方式與存儲器中數據塊的關聯方式一樣多。當L2關聯性不足以處理映射到給定索引的L1中的所有塊時,這會導致L2中的丟失需要驅逐L1緩存線。考慮到典型的L2容量和相關性,這種驅逐通常很少見。 (給定4 KiB頁面,在32 KiB L1中,一個特定的物理地址可以使用簡單的模索引映射到8個不同的地方 - 偏斜的關聯會使事情複雜化 - 所以包含4路聯想的物理地址的L2不能保證這樣的後退失效不會發生,儘管8路L2可能會發生。由於空間局部性是常見的,並且L2緩存相對較大,因此衝突問題並不像人們對隨機訪問模式所期望的那樣普遍。將最大化這種衝突。)
的第二種方法是密切相關的,首先是複製的標籤的物理尋址結構。 (如果此結構與L2關聯,則它可能被認爲是包含標籤的L2的一個版本。)這允許處理器使用虛擬地址訪問緩存,而窺探使用物理地址。物理地址標記存儲可能需要具有相對較高的關聯性,但由於snoops不如處理器高速緩存訪問常見,所以可以更慢地進行探測以節省功耗(和麪積)。 (理論上,這個二級標籤存儲可以是過濾器,例如使用部分標籤,這通常會指示窺探未命中,並且通常將其限制爲一個.L1中只有一個虛擬標籤偶爾檢查,性能丟失偵聽訪問虛擬索引的L1標籤和使用TLB進行轉換可能是可以接受的,儘管偵聽原則上可以檢索與物理地址相匹配的所有可能的虛擬標籤並進行翻譯和檢查,但這通常是不可接受的開銷。對於不大於頁面大小的直接映射的L1,這可能是可以接受的,所以這可能被認爲是另一種方法。另外,可能會提出其他過濾機制。頁面着色可以減少要轉換爲關聯性的地址數量的L1)。
第三種方法是提供將物理地址轉換爲虛擬地址的反向TLB。 (我似乎記得讀到一個HP-RISC處理器使用這種方法。)反向TLB未命中將指示探測到的物理地址不在L1中。當新翻譯必須移除仍然具有L1中的塊的翻譯時,這可能會引入反向無效。
一個虛擬索引和物理標記 L1可以簡單地探測其他可能的方式在探聽。這可能會干擾處理器對L1的訪問,但在標量處理器中,如果只有一個或兩個虛擬地址索引位與物理地址位不匹配,則可能有足夠的數據高速緩存標籤帶寬來支持訪問和偵聽探測,將需要四個探針。 (爲snooping提供的額外標籤帶寬也可用於軟件預取,並允許在更多訪問準備好探測緩存時比用數據路徑支持的情況下節省標籤數據順序訪問。)
- 1. 如何使用C#獲取IP地址的物理(MAC)地址?
- 2. kmalloc如何返回大於物理地址大小的物理地址?
- 3. 物理地址與虛擬地址
- 4. 線性地址和物理地址
- 5. 物理地址到IP地址
- 6. 如何使用頁表來虛擬地址轉換爲物理地址
- 7. 使用段表將邏輯地址轉換爲物理地址
- 8. 如何將這些邏輯地址轉換爲物理地址?
- 9. 如何將此邏輯地址轉換爲物理地址?
- 10. 如何將elf中的地址轉換爲物理地址
- 11. 如何使用物理地址訪問GPIO?
- 12. 如何在MOV指令中使用物理地址?
- 13. JAVA中的物理地址
- 14. Jgroup獲得物理地址
- 15. 虛擬與物理地址
- 16. PAE(物理地址擴展)如何啓用大於4GB的地址空間?
- 17. 什麼是物理地址和虛擬地址?他們是如何工作的?
- 18. 如何計算給定基地址和內存的目標物理地址
- 19. 如何將物理地址映射到不同大小的虛擬地址?
- 20. 遠程IP地址和物理地址的區別
- 21. 將物理地址映射到虛擬地址linux
- 22. 將虛擬地址轉換爲物理地址。任務解決
- 23. 轉換邏輯(虛擬)地址到物理地址
- 24. 虛擬地址到物理地址的轉換
- 25. 從邏輯地址轉換爲物理地址
- 26. elf文件中段的虛擬地址和物理地址
- 27. 函數指針:物理地址或虛擬地址
- 28. 虛擬地址映射到物理地址
- 29. 將邏輯地址轉換爲物理地址
- 30. 虛擬地址和物理地址的區別?