我讀,以簡單的方式,怎樣的TLB工作,我不明白的地方:TLB物理尋址沒有任何意義,我
的TLB引用物理內存地址在其表。它可能位於CPU和CPU高速緩存之間,CPU高速緩存和主存儲器之間或多級高速緩存的級別之間。 放置確定緩存是使用物理還是虛擬 尋址。如果緩存虛擬尋址,請求將直接從CPU發送到緩存,並且僅在 緩存未命中時訪問TLB。如果高速緩存是物理地址,則CPU會對每個內存操作執行TLB 查找,並將生成的物理地址 發送到高速緩存。
總結: 當TLB是CPU和CPU高速緩存之間,它使用物理尋址和CPU確實在每個存儲器操作的TLB查找,然後將所得的物理地址發送到所述高速緩存。
我的問題:由於CPU處理虛擬地址,這個查詢是如何執行的?
我不明白:CPU遇到一個虛擬地址 - > CPU觸點TLB這是用物理地址尋址 - > ?? - > TLB吐出另一個物理地址
TLB:
| Physical Address | Another Physical Address |
這完全沒有意義,我
你的觀點對我來說很有意義,那就是「虛擬尋址」方法。但我的問題是在物理尋址方法上,我認爲這是毫無意義的。 – 2013-03-14 11:25:41
ohh我的壞..在一個更相關的主題.. 至於我知道... 如果一個CPU使用物理尋址那麼不會有任何TLB目前.. 處理器將直接從該地址獲取數據。 – tanmayub 2013-03-14 11:34:12
而且這也很有意義!我同意你的意見,我只是想知道爲什麼維基百科引用TLB「物理地址」。咩.. – 2013-03-14 11:39:24