區域性性原理
映像規則
查詢演算法
替換演算法: random、lru、fifo
寫策略:寫直達與寫回, 按寫分配與不按寫分配
寫快取write buffer p219
平均訪存時間= 命中時間+不命中率*不命中開銷
程式執行時間
cache優化策略 p207 p225
cache不命中的三種原因:強制、容量與衝突 p209
虛存空間p232
頁表計算
tlb位址變換後備快取(快表)
常見的五級儲存結構:
暫存器->cache->主存->disk(輔存)-> tape(磁碟)
1.映像規則:當把乙個塊(頁),調入高一層儲存器時,可以放到哪些位置?
2.查詢演算法:當所要訪問的塊在高一層儲存器時,如何找到?
3.替換演算法:當發生不命中,且高一層儲存器已滿,應如何替換?
4.寫策略:當進行寫訪問向cache中寫入新資料時,如何操作?
區域性性原理:程式所訪問的指令和資料在位址上不是均勻分布的,而是相對聚簇的。 區域性性原理是程式能進行隨機性訪問的基礎。
時間區域性性:當前某項被訪問,那麼近期他可能還會被訪問。例如迴圈。
空間區域性性:當前某項被訪問,那麼他附近的項也可能被訪問。
直接映像候選位置1個,全相聯m個,n路組相聯n個。 查詢時只需比較標識tag,索引index 無需比較。
對於直接對映:位置唯一,缺失必須替換對應位置的頁。不需要替換演算法。
對於全相連和n塊組相連:隨機,lru,先入先出。具體方法見作業系統。
寫策略:寫訪問會導致cache與主存的內容不一致,為保證正確性,主存的內容也需要更新。
寫直達法:寫操作不僅把資料寫入cache中的塊,還直接寫入主存中。
寫回法:寫操作只寫cache,只當相應的塊要換出時才寫回主存中。
按寫分配:寫失效時,先把所寫單元所在的塊調入 cache,再行寫入。即要寫的資料在cache中。寫回法常用按寫分配的方法。
不按寫分配:寫失效時,只寫到主存中,不將相應 的塊調入cache。寫直達法常用不按寫分配的方法。
寫緩衝原因:在寫直達法中,因為速度較慢cpu必須等待,直到寫操作結束(cpu寫停頓)。因此通過buffer解決,cpu把資料寫入buffer就繼續執行。
為什麼不用reg:寫操作可能是爆發性的。
raw衝突是否會發生:會,記憶體與cache的資料不一致時buffer排空。
兩級cache: 為了解決cpu和儲存器之間效能差距越來越大的問題,當一級cache不能滿足要求時,可以在原有 cache和儲存器之間增設一級。
平均訪問時間= hit timel1+ miss ratel1x (hit timel2+ miss ratel2x miss penaltyl2)
相關結論:
1.相聯度越高,衝突不命中就越少;
2.強制性不命中和容量不命中不受相聯度的影響;
3.強制性不命中不受cache容量的影響,容量不命中隨著容量增加而減少,當cache總容量不變時, 衝突不命中隨著容量增加而增加(塊數減少)。
4.容量不命中除了增大cache以外別無他法。
5.三種衝突中,強制性不命中率最小,衝突不命中最容易解決(全相聯)。
更大的塊將導致更大的miss penalty例題
問題:虛存由主存和輔存構成,通過必須的軟體(頁表機制)和硬體(位址轉換)支援,使得cpu訪 問的儲存器可以有主存的速度和輔存的容量。 虛存分為頁式和段式。假定儲存系統在延遲20個時鐘週期後,每2個時鐘週期能送出16個位元組。即經過22個時鐘週期,可提供16位元組;經過 24個時鐘週期,可提供32位元組;依此類推。命中時間與塊大小無關,為1個時鐘週期,分別計算下列各種容量的cache的 平均訪問時間。
塊大小為32位元組,cache容量為1kb,不命中率為10%;
塊大小為64位元組,cache容量為4kb,不命中率為5%;
答案:1 + ((32/16)* 2 + 20)* 10% = 3.4個時鐘週期
1+((64/16)* 2 + 20)* 5% = 2.4個時鐘週期
2. 指令中的位址長度決定了虛存大小,cache大小與之沒有關係。
3. cache是為了緩解cpu和主存之間的速度問題, 虛存是為了緩解主存容量不足問題。
問題:tlb:是乙個專用的高速緩衝器,用於存放近期經常使用的頁表項。根據區域性性原理,可提公升對儲存器 的訪問速度。(傳統查詢頁表的方法需要對主存進行二次查詢)32位虛位址空間(按照位元組定址),每頁4kb,頁表每項4位元組(32bit),頁表大小是?
答案:頁表有 2^32b / 2^12b 個項,每項大小是4b。 所以頁表總大小為兩者積=4mb。 每個程序都要有自己的頁表,每個頁表要4mb,頁表可能太多無法裝入記憶體(頁表存在記憶體中 ),所以有了二級頁表。
項由兩部分構成:標識和資料。
計算機系統結構 計算機 計算機系統的基本結構
乙個完整的計算機系統是由計算機硬體系統和計算機軟體系統兩部分組成。硬體是計算機的實體,又稱為硬裝置,是所有固定裝置的總稱。它是計算機實現其功能的物質基礎,其基本配置可分為 主機 鍵盤 顯示器 光碟機 硬碟 軟盤驅動器 印表機 滑鼠等。軟體是指揮計算機執行的程式集,按功能分系統軟體和應用軟體。1 由運...
計算機系統結構
計算機體系結構就是指適當地組織在一起的一系列系統元素的集合,這些系統元素互相配合 相互協作,通過對資訊的處理而完成預先定義的目標。通常包含的系統元素有 計算機軟體 計算機硬體 人員 資料庫 文件和過程。其中,軟體是程式 資料庫和相關文件的集合,用於實現所需要的邏輯方法 過程或控制 硬體是提供計算能力...
計算機系統結構 計算機系統結構的分類 筆記
一 flynn分類法 1 指令流 機器執行的指令序列 2 資料流 指令呼叫的資料序列,包括輸入資料和中間結果 單指令單資料流 single instruction stream and single data stream,sisd 二 cisc與risc 1 cisc complex instru...