第五章存儲體系5_2
阿新 • • 發佈:2019-04-20
機制 位置 計算 4.2 活性 因此 5.1 其中 數據交換
5.3主存儲器與CPU相連
現代微型計算機PC的主存儲器基本包括兩個部分:一個是ROM(只讀存儲器),就是不受電源影響,非易失性存儲器。一般存放的是生產廠家燒寫的固定指令和數據。另一個組成部分是RAM(隨機讀寫存儲器)
5.3.2存儲容量的擴展
- 位擴展:目的是增加同一個地址的存儲單元位數。
- 字擴展:是為了增加存儲器中字的數量,即容量擴展。
字位擴展:先位擴展再字擴展。
5.3.3主存儲器與CPU的連接
這是重點也是難點
5.4高速存儲器
提高存儲器速度有以下幾條有效途徑:- 主存采用更加高速的技術來縮短存取器的讀取時間,或者加長存儲器的字長,使CPU一次可存取的數據寬度加長。
- 采用並行操作的多端口存儲器。
- 在CPU和主存之間加入一個高速緩沖存儲器(Cache),以縮短讀取時間。
在每個存儲周期中存取幾個字。
5.4.1雙端口存儲器
是指同一個存儲器具有兩組相互獨立的讀/寫控制線,允許兩個獨立的CPU或控制器異步的訪問存儲單元。
5.4.2多交叉存儲器
- 多交叉存儲器可以在不改變每個存儲體存儲周期的情況下,提高存儲器的帶寬
- 采用M個存儲體流水式並行存取得方式,對CPU連續訪問的M個字成塊傳送,可以大大提高存儲器的帶寬。
- 每個存儲體的字長都等於數據總線寬度。
- 帶寬=信息量(N個字*字長)/單位時間(讀取分子字數所花的時間)
模塊數就是體數M,字長乘以字數就是信息總量,時間用T(存取周期)+(N-1)* t(總線傳送周期)
5.4.3相聯存儲器
相聯存儲器是一種隨機存取類的存儲器,在相聯存儲器中,一個字是通過他的部分內容而不是他的地址進行檢索的。
5.5高速緩沖存儲器
- 它由高速SRAM組成
Cache不是主存儲器容量的擴充,它保存的內容是主存儲其中某些單元的副本。
5.5.1Cache的基本原理
- CPU與Cache之間的數據交換以字節為單位,而Cache與主存儲器之間的數據交換以字塊為單位。
- 在Cache中數據塊的大小稱為行,在主存中的數據塊的大小稱為塊,塊與行是等長的。
- Cache除了包含存儲體系,還包含控制邏輯。
- 根據CPU訪問讀一個字的情況:
- 讀命中
- 讀不命中
- 解決讀不命中的方法:
- 將主存中的該字的數據塊復制到Cache,然後將這個字傳給CPU。
- 啟動常規的主存讀周期,把該字從主存中讀出並送到CPU,於此同時,把字的數據塊從主存中讀出送到Cache。
- 根據CPU寫一個字的情況:
- 寫不命中,直接寫入主存中,且不寫入Cache
- 寫命中,有兩種方式處理:
- 對主存寫操作也對Cache進行,稱為“寫貫穿策略”
- 只對Cache操作,僅當Cache的行被替換時,相應主存的內容才被修改,稱為“寫回策略”
Cache的命中率。
5.5.2主存儲器與Cache的地址映射方式
1.直接映射
- 直接映射是一種多對一的映射關系,主存的一塊只能復制到Cache的一個特定行位置上去。
- 主存地址被劃分成塊內地址b、字塊地址c和高位標記t(m-c)三個部分。
- CPU給出m+b為主存地址,Cache中的控制邏輯將中間的c位地址取出。
直接映射方式的缺點是機制不靈活,Cache命中率低。
2.全相聯映射
- 全相聯映射中,主存地址被劃分成塊內地址和高位標記地址兩部分。
- CPU給出了一個字m+b的主存地址,為了實現快速檢索,主存地址中的m位的塊號與Cache中所有行標記同時在比較器中比較。
- 優點是機制靈活、命中率高。
缺點是比較器電路難於設計和實現,因此只適合於小容量的Cache。
3.組相聯映射
- 組相聯的方式是將Cache分成2^(c-r)組,每組r行,主存中的字塊放Cache到哪個組是固定的,映射到哪一行是不確定的。有如下函數關系:j = (i mod 2^(c-r))乘以 2^r + k,其中,0 <= k <= z^r - 1
大大增加了映射的靈活性,提高了命中率。
第五章存儲體系5_2