帶有cache的cpu一般是先從cache中取出資料 而不是從記憶體裡取資料
而cpu是怎麼訪問cache的
cache訪問cache使用的類似的位址編碼方式。
處理器訪問儲存器時 會把位址傳遞給tlb和cache
cpu把虛擬位址
頁幀號傳遞給tlb 行索引(index)傳遞給cache匹配到相關的cache line
tlb裡是乙個用於儲存虛擬位址到實體地址轉換的小快取 處理器先使用epn在tlb中查詢出最終的rpn 如果這期間發生tlb miss 就要查詢頁表 如果tlb hit就很快獲得rpn 獲得相應的實體地址
然後去和cache line中的實體地址比較 如果比較不成功就會發生cache miss 這時需要去主儲存器中獲得最終的資料 然後填充在cache中 如果匹配成功就找到這個cache line的資料
cache 位址編碼:處理器訪問cache 時的位址編碼,分成3 個部分,分別是偏移域
(offset)、索引域(index)和標記域(tag)。
�� cache line:cache 中最小的訪問單元,包含一小段主儲存器中的資料,常見的cache
line 大小是32byte 或64byte 等。
�� 索引域(index):cache 位址編碼的一部分,用於索引和查詢是在cache 中的哪一行。
�� 組(set):相同索引域的cache line 組成乙個組。
�� 路(way):在組相聯的cache 中,cache 被分成大小相同的幾個塊。
�� 標記(tag):cache 位址編碼的一部分,用於判斷cache line 存放的資料是否和處
理器想要的
處理器訪問儲存器的時候 處理器訪問的位址可能是虛擬位址 也可能是實體地址
這個要看處理器 通常有三種格式
vivt(virtual index virtual tag):使用虛擬位址索引域和虛擬位址的標記域。
��vipt(virtual index physical tag):使用虛擬位址索引域和實體地址的標記域。
pipt(physical index physical tag):使用實體地址索引域和實體地址的標記域
比如arm9採用的就是vivt 這樣會出現快取記憶體別名的問題 系統效能下降 arm11採用的是vipt方式 也就是之前那個框架 傳送虛擬位址到tlb和cache
arm cortex-a 系列處理器的資料cache 開始採用pipt 的方式。對於pipt 方式,索引
域和標記域都採用實體地址,cache 中只有乙個cache 組與之對應,不會產生快取記憶體別名
的問題。pipt 的方式在晶元設計裡的邏輯比vipt 要複雜得多
工作方式問題
連續幾天的開發培訓終於結束了,明天開始就要實踐了。今天的活動是一團糟。離開公司之前將thunderbird的郵件備份,僅是把原來備份的資料夾複製到預設目錄下,但是卻生成了幾個帶亂碼的收件箱資料夾,非常亂,還不能刪除。後來看了下,是自己把這個資料夾儲存成唯讀的。刪了原來的帳戶,重新新增,結果更是麻煩。...
OKR工作方式
1.okr的定義 okr,英文全稱 objectives and key results 中文意為 目標和關鍵成果 okr是一種工作方式和工作系統,據說可以讓目標管理從上到下貫穿到基層。這套方法和系統是由英特爾的老總安迪 葛洛夫 andy grove,只有偏執狂才能成功 的作者 發明的。隨後被由約翰...
GPIO工作方式
1 浮空 顧名思義就是浮在空中,上面用繩子一拉就上去了,下面用繩子一拉就沉下去了.2 開漏 就等於輸出口接了個npn三極體,並且只接了e,b.c極 是開路的,你可以接乙個電阻到3.3v,也可以接乙個電阻到5v,這樣,在輸出1的時候,就可以是5v電壓,也可以是3.3v電壓了.但是不接電阻上拉的時候,這...