【計組】高速緩衝存儲器Cache

一、出現原因
1、在多體並行系統中,I/O設備向主存請求的級別高於CPU訪存,出現了CPU等待I/O設備訪存的現象,致使CPU需要“等待”I/O設備訪問主存,從而降低了CPU的工作效率;
2、主存速度提高跟不上CPU的發展,需要解決主存與CPU速度的不匹配問題。
二、Cache工作原理
1、存儲基本結構
字節(B) → 字 → 字塊
補充:一個字節通常是八位; 一個字中通常包含16個字節;一個字塊中通常有4-8個字。
512KB與512K*16位:

主存和Cache中一個字塊由塊號和塊內地址組成,用來記錄將主存或cache分成了多少塊,分的塊數可以求出塊號的位數。
2、相關定義
命中率(與Cache容量有關)=訪問Cache的總命中次數/(訪問Cache的總命中次數+訪問主存的總命中次數)
平均訪問時間=命中率 * Cache訪問時間 + 未命中率 * 主存訪問時間
訪問效率=訪問Cache的時間 / 平均訪問時間
3、基本過程
首先,CPU通過地址總線向Cache和主存同時傳輸地址(高位爲主存塊號,低位爲塊內地址),進入Cache較快,Cache通過主存-Cache地址映射變換機構找到Cache塊號:
若找到,說明該數據在Cache中存在,Cache存儲體將數據通過數據總線傳回給CPU,主存查找停止,結束;
若未找到,說明該數據在Cache中不存在,沒有命中,在主存繼續查找,找到後,一通過數據總線傳回CPU,同時用Cache替換機構判斷Cache存儲是否還有剩餘,若有剩餘,將該數據寫入Cache中,否則,刪除Cache中原有部分數據(近期訪問最少 or 先進先出原則),再將該數據寫入Cache

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