一問一答學習計算機組成與設計(三)高速緩衝儲存器

2021-10-12 07:43:54 字數 2619 閱讀 9743

3 替換演算法

為什麼計算機需要高速儲存器?

(1)避免cpu「空等」現象;

(2)cpu和主存(dram)的速度差異。

試解釋程式訪問的區域性性原理。

時間區域性性原理:當前正在使用的指令和資料,在不久的將來,還會被使用到;故應該將它們放到cache中儲存起來。

空間區域性性原理:當前正在使用的指令和資料,在不久的將來,相鄰的指令和資料也會被使用到,故應該將其相鄰的指令和資料放到cache儲存起來。

這樣當前正在使用的指令和資料和其相鄰的指令和資料都將被放到cache當中,這樣cache和主存之間資料交換的單位是塊。

另外需注意的是,主存與快取按塊儲存,塊的大小相同,塊內位址相同。

試解釋cache的中的命中與未命中、命中率、主存系統的效率等重要概念。

命中:主存塊調入快取,主存塊和快取塊建立了對應關係;

用標記記錄與某快取塊建立了對應關係的 主存塊號。

未命中:主存塊未調入快取,主存塊與快取塊未建立對應關係。

命中率:cpu 欲訪問的資訊在 cache 中的 比率;

命中率與cache的容量塊長有關。(⭐️)

一般每塊可取4~8個字。

訪問效率e與命中率有關:

e的最小值是tc/tm;最大值是1。

試解釋cache的基本結構。

cpu要訪問主存,通過位址匯流排獲取主存的塊號和塊內位址,由於cache和主存之間是以塊為單位進行傳輸的,因此主存中的塊內位址可以直接傳到cache中。然後塊號通過主存cache位址對映變換機構,確認是否命中。

若命中,則形成cache的塊號;否則查詢cache中是否還有空間進行裝入。

若有空間,則訪問主存,把主存塊裝入cache中;否則啟動cache替換機構,根據替換演算法決定cache當中哪乙個塊要從cache中退出(退出的塊寫回主存或直接作廢),並且把主存的塊要用的塊寫入到cache中。換言之,當新的主存塊需要調入快取中,而它的可用位置又被占用時,需根據替換演算法解決調入問題。

上述過程中,位址對映和變換這一概念也相當重要,位址對映實際上給出了乙個規則:主存當中的乙個塊如果要放到cache當中的話,它可以被放到cache中的哪乙個塊。主存的塊號或位址轉換成cache的塊號或位址。簡而言之,將主存位址對映到快取中定位稱為位址對映,將主存位址變換成快取位址稱為位址變換。

試解釋cache的讀操作和寫操作。

讀:

寫:寫操作要解決cache和主存的一致性:

寫操作時只把資料寫入 cache 而不寫入主存,當 cache 資料被替換出去時才寫回主存

優點:寫操作時間就是訪問 cache 的時間。

缺點:cache塊退出時,被替換的塊需寫回主存,增加了cache 的複雜性。

定義:主存當中任意乙個給定的塊,只能裝載到cache指定的塊當中。

每個快取塊 i 可以和 若干個 主存塊 對應

每個主存塊 j 只能和乙個 快取塊 對應

將cache儲存體當作乙個尺子,來度量主儲存體。

定義:主存 中的 任一塊 可以對映到 快取 中的 任一塊

這樣的位址對映的標記位分為:主存字塊標記位(m)+字塊內位址。

某一主存塊 j 按模 q 對映到 快取 的第i組中的 任一塊

如果組相聯中全部的組變為一組,則組相聯對映變為了全相聯對映;如果組相聯對映中每一組中的兩個字塊變為了乙個,則組相聯變為了直接相聯。

靠近cpu的cache要求高速的,可以採用路數比較少的組相聯或者直接相聯的方式;中間的cache可以組相聯的方式,如兩路組相聯、四路組相聯、八路組相聯等;距離cpu較遠的cache可以採用全相聯的方式,因為對速度沒有那麼高的要求。

小結:直接

某一 主存塊 只能固定 對映到 某一 快取塊\

全相聯某一 主存塊 能 對映到 任一 快取塊

組相聯某一 主存塊 只能 對映到 某一 快取 組 中的 任一塊

最先放入的塊一共最先被替換出去。

這種方法不能很好地體現程式區域性性原理。

我們希望替換出去的塊恰好是cpu近期最少使用塊,因此這種演算法能很好地體現程式的區域性性原理。

《數字邏輯設計與計算機組成》一 1 3 計算機組成

邏輯設計要解決的是關於電路描述 綜合 最小化和 的相關問題,而計算機組成則研究電路部件及其物理關係,這些部件構成處理核心 cpu 處理器 儲存器 i o裝置控制器和介面,這些模組相互連線就構成計算機。例如,圖1 1中的暫存器檔案 加法器 乘法器和選擇器組成乙個資料通路。控制單元和資料通路 通過一系列...

計算機組成原理一

馮,諾依曼計算機 運算器為核心 運算器 控制器 儲存器 輸入裝置 輸出裝置 現代計算機 儲存器為核心 1.cpu central processing unit 核心裝置 alu 邏輯運算單元,cu control unit 控制單元 2.i o裝置受cu控制 3.主儲存器 main memory,...

計算機組成與設計1

第一講 1 計算機的總體層次結構 硬體 指令系統 軟體 系統軟體 作業系統 彙編器 編譯器 應用軟體 2 計算機程式執行過程 高階語言程式首先預處理,然後通過編譯器生成組合語言程式,組合語言程式經過彙編器生成可重定位的目標檔案,可重定位的目標檔案通過鏈結器連線到一起形成可執行的目標檔案。第二講 3 ...