計算機系統之 cache (2)

cache一致性問題:

因爲cache中的內容是主存塊副本,當對cache的內容進行更新時,就存在cache和主存如何保持一致性問題。

cache操作:兩種情況 寫命中 write hit):要寫的單元已經在cache當中  

       兩種處理方式

     1.write through(直寫)

            同時寫cache和主存單元

             由於CPU寫數據到cache很快,但是cache寫到DRAM很慢,爲了解決這個問題所以我們加入了寫緩衝(write buffer)

  

     2.write back( 回寫)

        即寫cache時不管主存,直接在cache上面改就行,這個時候鎖死主存那塊數據(我想到了我們打開excel文件時,再修改桌面名字時發現一致性問題),

        我們加入dirty-bit髒位:即判斷cache裏面內容修改沒,沒修改就不改主存

2.寫不命中(write Miss):要寫的單元不在cache中

    有兩種處理方式

     1.write allocate(寫分配)

             將主存裝入Cache,然後更新相應單元

     2.no write allocate(非寫分配)

            直接寫主存單元,不裝入到cache,    與第一種相比沒有利用到空間局部性,因爲沒有裝入到cache中。

 

 

               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

實現虛擬存儲器需要解決的問題

1.塊大小應該多大?2到 64kb

2.主存與輔存的空間管理   採用全相連映射,主存只要有空,就放進去,原因,缺頁開銷比cache大得多,而訪問磁盤要幾百萬個時鐘週期

缺頁 使用軟件處理,cache缺失使用硬件處理

3.程序塊/存儲塊之間如何映像

4.邏輯地址與物理地址之間如何轉換,轉換速度提高

5.主存輔存之間如何讓進行替換

6.頁表如何實現,需啊要記錄啥信息   頁表項

7.加快頁表的訪問速度  引入TLB(快表)

8.要找的內容不在主存  

9.如何保護進程各自存儲區不被其他進程訪問   設定訪問權限

 

 

 

 

 

cpu 訪存過程:3個缺失處理,

TLB,Cache,頁框

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章