层次结构存储系统
存儲器分類:
按存儲元件分類
半導體存儲器
磁表面存儲器
光盤存儲器
按讀取方式
隨機存取存儲器
順序存取存儲器
直接存取存儲器
相聯存儲器
按信息可更改性
只讀存儲器
讀寫存儲器
按斷電后可保存性
非易失性
易失性
按功能分類
高速緩存
主存
輔存
后備存儲器
主存的組成及操作
組成:
地址寄存器
地址譯碼器
記憶單元
地址譯碼器將地址寄存器中的地址在記憶單元中找到,根據讀寫控制信號和Memory data register中的在指定記憶單元中數據讀寫
存儲器的主要性能指標
讀出時間
寫入時間
存儲周期
各類存儲器元件特點
只讀芯片ROM
讀寫芯片RAM
靜態讀取SRAM 成本高速度快,無需刷新和讀后再生 6個晶體管控制實現一個二進位
動態讀取DRAM 成本低速度較慢 要刷新和讀后再生, 1個晶體管實現一個二進位
FLASH存儲器 比如U盤,可讀可寫
存儲器的層次結構
從上到下 速度越來越慢 容量越來越大 價格越來越低
寄存器
高速緩存
主存
輔存
海量后備存儲
數據的交換只能在相連的兩層之間交換
這種設定的原因:
程序運行的時間局部性和空間局部性
高速緩存cache
引入cache的出發點
指令的時間局部性和空間局部性如下右圖展示
循環具有時間局部性,
數組具有空間局部性
程序的局部性對程序性能的影響舉例
對于一個二維數組,按照行優先還是列優先索引,會產生是否能利用cache的問題,按照行可以,按照列不可以
cache和主存的關系
主存的內容都是按照塊分割,cache將主存的塊復制形成映像,但是當復制新的塊時會將舊的塊沖掉
cache操作過程
cpu直接給的是虛擬地址,并不是主存地址
實現cache需要解決的問題
直接映射主存地址劃分
主存標記位是最后被剩下來的
首先根據地址的中間四位確定槽號
根據曹的標記和主存標記是否相同確定是否在cache中命中
直接映射方式的特點
cache容量的計算
直接映射方式的特點
直接映射最大的缺點在于不能充分利用cache,效率低
全相聯映射
在cahce中的查找時間特別長。
只能遍歷的對比標記位
用時間效率的下降換取空間效率的提高
組相聯映射方式
中和了直接映射和全相聯映射,時間效率和空間效率的平衡
組內按照全相聯
組間按照直接映射
cache命中率
cache的關聯度
cache替換算法
先進先出算法
最近最少用算法
最近最少用算法可能出現顛簸現象,就是總是訪問剛剛淘汰的塊
需要一個計算記錄塊最近使用的次數
計算器兩位就可以
cache舉例
寫策略概述
寫策略問題
cache實現的幾個因素
L1 cache 指令和數據分開
時間更重要
L2 L3一般位聯合cache
命中率更重要
cache實現舉例
cache綜合計算舉例
總結
- 上一篇: LSTM 和 GRU
- 下一篇: 操作系统 哈工大 李治军