TLB就是Translation Lookaside Buffer ,很多文章翻譯成“旁路轉(zhuǎn)換緩沖”
老實(shí)說,不知所云,不如不去翻譯,就當(dāng)個專有名詞,理解它的含義就好了。
Translation Lookaside Buffer (TLB) 是 MMU 中的cache,其緩存的內(nèi)容就是頁表項(xiàng)(某個VA-PA的映射關(guān)系)。
在內(nèi)存需要進(jìn)行VA-PA轉(zhuǎn)換時,MMU首先會在TLB中檢查是否有頁表項(xiàng)被緩存。如果TLB hit,那么TLB就能立即完成VA-PA的轉(zhuǎn)換。如果TLB miss,即TLB中沒有該VA對應(yīng)的VA-PA映射關(guān)系,所以就需要到外部主存獲取這個VA-PA轉(zhuǎn)換關(guān)系,并將這個轉(zhuǎn)換關(guān)系緩存到TLB中以加速下一次VA-PA轉(zhuǎn)換。
micro-TLB
類似于L1 cache和L2 cache的層次結(jié)構(gòu),一般還有micro-TLB和TLB。如果頁表訪問在micro-TLB中hit,那么就不需要訪問外面的內(nèi)存。但是,micro-TLB能夠緩存的頁表映射有限,所以其后級往往有一個更大的main TLB。
TLB與其他cache類似,只不過其他cache緩存的是指令或者數(shù)據(jù),而TLB緩存的是VA-PA映射關(guān)系,當(dāng)TLB hit即可完成VA-PA轉(zhuǎn)換。
軟件異常
一般TLB只會緩存有效的VA-PA映射關(guān)系,如果這個映射關(guān)系是無效的,就需要上報異常讓軟件處理。
TLB一致性 & invalid
TLB一致性,同樣類似于cache的一致性。
當(dāng)操作系統(tǒng)更改頁表時,TLB中就可能包含舊的無效映射關(guān)系。操作系統(tǒng)必須采取措施invalid TLB中的緩存的頁表項(xiàng)。
不同的結(jié)構(gòu)實(shí)現(xiàn)可能會專門地去invalid特性的cacheline,比如特定ASID或者特定VA。
審核編輯:劉清
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6801瀏覽量
123283 -
MMU
+關(guān)注
關(guān)注
0文章
91瀏覽量
18283
發(fā)布評論請先 登錄
相關(guān)推薦
評論