歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

《計算機組成原理》PPT課件.ppt

  • 資源ID:6346488       資源大?。?span id="7piyrkx" class="font-tahoma">2.93MB        全文頁數:117頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《計算機組成原理》PPT課件.ppt

計算機科學與技術專業(yè) 計算機組成原理武漢科技大學計算機科學與技術學院 第八章輸入輸出系統(tǒng) 本章內容3 1存儲器概述3 2隨機讀寫存儲器3 3只讀存儲器和閃速存儲器3 4高速存儲器3 5cache存儲器3 6虛擬存儲器3 7存儲保護 3 1存儲器概述 存儲器的作用用作計算機系統(tǒng)中的記憶設備 用來存放程序和數據 3 1 1存儲器分類存儲器中最小的存儲單位就是存儲元 它可存儲一個二進制代碼 由若干個存儲元組成一個存儲單元 然后再由許多存儲單元組成一個存儲器 根據存儲材料的性能及使用方法不同 存儲器有各種不同的分類方法 半導體器件磁性材料光材料 雙極型MOS型 磁盤 磁帶 1 按存儲介質分 光盤 為了解決對存儲器要求容量大 速度快 成本低三者之間的矛盾 目前通常采用多級存儲器體系結構 即使用高速緩沖存儲器 主存儲器和外存儲器 3 1 2存儲器的分級結構 表3 1存儲器的用途和特點 主存儲器的性能指標主要是存儲容量 存取時間 存儲周期和存儲器帶寬 字存儲單元即存放一個機器字的存儲單元 相應的地址稱為字地址 一個機器字可以包含數個字節(jié) 所以一個存儲單元也可包含數個能夠單獨編址的字節(jié)地址 下面列出主存儲器的主要幾項技術指標 表3 2主存儲器的主要幾項技術指標 3 1 3主存儲器的技術指標 3 2隨機讀寫存儲器 2 SRAM存儲器的組成下面我們對此SRAM存儲器的組成做一下具體介紹 存儲體 存儲單元的集合 通常用X選擇線 行線 和Y選擇線 列線 的交叉來選擇所需要的單元 地址譯碼器 將用二進制代碼表示的地址轉換成輸出端的高電位 用來驅動相應的讀寫電路 以便選擇所要訪問的存儲單元 地址譯碼有兩種方式 單譯碼 一個地址譯碼器 適用于小容量存儲器 單譯碼的輸出叫字選線 有效時 同時選中某一個字 存儲單元 的所有位 設地址線為12根時 譯碼輸出線有212 4096線雙譯碼 X向和Y向兩個譯碼器 適用于大容量存儲器 雙譯碼的輸出分為X向和Y向 形成字位結構 由兩者交叉選中相應的存儲單元 設地址線為12根時 X譯碼和Y譯碼各6根時 輸出線有2 26 128線 驅動器 雙譯碼結構中 在譯碼器輸出后加驅動器 驅動掛在各條X方向選擇線上的所有存儲元電路 I O電路 處于數據總線和被選用的單元之間 控制被選中的單元讀出或寫入 放大信息 片選 在地址選擇時 首先要選片 只有當片選信號有效時 此片所連的地址線才有效 輸出驅動電路 為了擴展存儲器的容量 常需要將幾個芯片的數據線并聯使用 另外存儲器的讀出數據或寫入數據都放在雙向的數據總線上 這就用到三態(tài)輸出緩沖器 3 SRAM存儲器芯片實例存儲容量 1K 4 共4096個存儲元存儲體 由4096個存儲元排成64 64的矩陣 地址線 A0 A9共10根數據線 I O1 I O4共4根地址譯碼 采用字位結構X向用A3A4A5A6A7A8共6根 產生64條行選擇線Y向用A0A1A2A9共4根 產生16條列選擇線 每一列線同時接 驅動器 連接線 地址線 數據線 控制線 存儲器芯片的容量是有限的 為了滿足實際存儲器的容量要求 需要對存儲器進行擴展 主要方法有 1 位擴展法 目的 只加大字長 使每一個存儲單元達到指定的位數 單元數不變例 用8K 1的RAM存儲器芯片 組成8K 8位的存儲器連接方法 CPU的地址線A0 A12共13根分別接到每一個芯片CPU的數據線D0 D7共8根分別接到8個芯片的I O端 4 存儲器與CPU連接 目的 用多個芯片擴大存儲單元數 每個存儲單元的位數已滿足使用要求 單元數為各芯片的單元數之和 例 用16K 8的RAM存儲器芯片 組成64K 8位的存儲器連接方法 CPU的數據線D0 D7共8根分別接到每一個芯片CPU的地址線A0 A13共14根分別接到每一個芯片CPU的地址線A14A15經2 4譯碼器產生4根片選信號線分別接到4個芯片的CE 或CS CPU的讀寫控制線WE分別接到每一個芯片 2 字擴展法 目的 既要擴大存儲單元數 又要擴大其位數 設存儲容量M N位 M個單元 每個單元N位 設芯片容量為L K位 則字位擴展所需芯片數為M N L K 其中 以N K個芯片為一組 進行位擴展 共需M L組 進行字擴展 例 用16K 4的RAM存儲器芯片 組成64K 8位的存儲器以8 2 2片為一組 共64 16 4組 CPU的數據線D0 D3和D4 D7共8根分別接到每組的2個芯片CPU的地址線A0 A13共14根分別接到每一個芯片組片選與讀寫控制線與字擴展同 不過每組的兩片需同時接通 3 字位同時擴展法 5 存儲器的讀 寫周期讀周期 讀周期與讀出時間是兩個不同的概念 讀出時間是從給出有效地址到外部數據總線上穩(wěn)定地出現所讀出的數據信息所經歷的時間 讀周期時間則是存儲片進行兩次連續(xù)讀操作時所必須間隔的時間 它總是大于或等于讀出時間 tA tRC 寫周期 要實現寫操作 要求片選CS和寫命令WE信號都為低 并且CS信號與WE信號相 與 的寬度至少應為tW tWC tW 例1 下圖是SRAM的寫入時序圖 其中R W是讀 寫命令控制線 當R W線為低電平時 存儲器按給定地址把數據線上的數據寫入存儲器 請指出下圖寫入時序中的錯誤 并畫出正確的寫入時序圖 解 寫入存儲器的時序信號必須同步 通常 當R W線加負脈沖時 地址線和數據線的電平必須是穩(wěn)定的 當R W線達到低電平時 數據立即被存儲 因此 當R W線處于低電平時 如果數據線改變了數值 那么存儲器將存儲新的數據 同樣 當R W線處于低電平時地址線如果發(fā)生了變化那么同樣數據將存儲到新的地址 或 正確的寫入時序圖見下圖 1 四管動態(tài)存儲元 四管的動態(tài)存儲電路是將六管靜態(tài)存儲元電路中的負載管T3 T4去掉而成的 寫操作 I O與I O加相反的電平 當T5 T6截止時 靠T1 T2管柵極電容的存儲作用 在一定時間內 如2ms 可保留所寫入的信息 讀操作 先給出預充信號 使T9 T10管導通 位線D和D上的電容都達到電源電壓 字選擇線使T5 T6管導通時 存儲的信息通過A B端向位線輸出 刷新操作 為防止存儲的信息電荷泄漏而丟失信息 由外界按一定規(guī)律不斷給柵極進行充電 補足柵極的信息電荷 2 單管動態(tài)存儲元 單管動態(tài)存儲元電路由一個管子T1和一個電容C構成 寫入 字選擇線為 1 T1管導通 寫入信息由位線 數據線 存入電容C中 讀出 字選擇線為 1 存儲在電容C上的電荷 通過T1輸出到數據線上 通過讀出放大器即可得到存儲信息 3 2 2DRAM存儲器 表3 4單管存儲元電路和四管存儲元電路對 DRAM存儲器芯片的結構大體與SRAM存儲器芯片相似 由存儲體與外圍電路構成 但它集成度要高 外圍電路更復雜 下圖是16K 1位的DRAM存儲器片2116的邏輯結構示意圖 圖3 1116K 1位DRAM芯片 3 DRAM存儲芯片實例 動態(tài)MOS存儲器采用 讀出 方式進行刷新 從上一次對整個存儲器刷新結束到下一次對整個存儲器全部刷新一遍為止 這一段時間間隔叫刷新周期 常用的刷新方式有三種 一種是集中式 另一種是分散式 第三種是異步式 集中式刷新 在整個刷新間隔內 前一段時間重復進行讀 寫周期或維持周期 等到需要進行刷新操作時 便暫停讀 寫或維持周期 而逐行刷新整個存儲器 它適用于高速存儲器 設讀寫周期為0 5us 刷新周期為2ms 則在4000周期的前3872個為正常讀 寫 而在最后128個周期完成刷新操作 問題 有64us的死時間 不能進行讀寫操作 4 DRAM的刷新 分散式刷新 把一個存儲系統(tǒng)周期tc分為兩半 周期前半段時間tm用來讀 寫操作或維持信息 周期后半段時間tr作為刷新操作時間 這樣 每經過128個系統(tǒng)周期時間 整個存儲器便全部刷新一遍 問題 雖然不存在死時間 但是存取周期由0 5us增至1us 降低了整個系統(tǒng)的速度 異步式刷新 該方式是前兩種方式的結合 例如2ms內分散刷新128行 則每隔2000 128 15 5 s刷新一行 例2 說明1M 1位DRAM片子的刷新方法 刷新周期定為8ms 解 如果選擇一個行地址進行刷新 刷新地址為A0 A8 因此這一行上的2048個存儲元同時進行刷新 即在8ms內進行512個周期的刷新 按照這個周期數 512 2048 1048567 即對1M位的存儲元全部進行刷新 刷新方式可采用 在8ms中進行512次刷新操作的集中刷新方式 或按8ms 512 15 5 s刷新一次的 本小節(jié)以DRAM控制器W4006AF為例 說明80386中主存儲器的構成方法 下面是采用W4006AF構成的80386主存儲器簡圖 具體框圖參看教材 3 2 3主存儲器組成實例 1 EDRAM芯片 EDRAM芯片又稱增強型DRAM芯片 它在DRAM芯片上集成了一個SRAM實現的小容量高速緩沖存儲器 從而使DRAM芯片的性能得到顯著改進 1M 4位EDRAM芯片的結構框圖演示 3 2 4高性能的主存儲器 以SRAM保存一行內容的辦法 對成塊傳送非常有利 如果連續(xù)的地址高11位相同 意味著屬于同一行地址 那么連續(xù)變動的9位列地址就會使SRAM中相應位組連續(xù)讀出 這稱為猝發(fā)式讀取 EDRAM的這種結構還帶來另外兩個優(yōu)點 在SRAM讀出期間可同時對DRAM陣列進行刷新 芯片內的數據輸出路徑與輸入路徑是分開的 允許在寫操作完成的同時來啟動同一行的讀操作 2 EDRAM內存條 一片EDRAM的容量為1M 4位 8片這樣的芯片可組成M 32位的存儲模塊 8個芯片共用片選信號Sel 行選通信號RAS 刷新信號Ref和地址輸入信號A0 A10 當某模塊被選中 此模塊的8個EDRAM芯片同時動作 8個4位數據端口D3 D0同時與32位數據總線交換數據 完成一次32位字的存取 上述存儲模塊本身具有高速成塊存取能力 這種模塊內存儲字完全順序排放 以猝發(fā)式存取來完成高速成塊存取的方式 在當代微型機中獲得了廣泛應用 3 主存物理地址的存儲空間分布 下面以奔騰PC機主存為例 說明主存物理地址的存儲空間概念 奔騰PC機主存物理地址存儲空間分布情況演示最大可訪問主存空間為256MB 實際只安裝了16MB的DRAM 存儲空間分成基本內存 保留內存 擴展內存幾部分 3 3只讀存儲器和閃速存儲器 3 3 1只讀存儲器1 ROM的分類只讀存儲器簡稱ROM 它只能讀出 不能寫入 它的最大優(yōu)點是具有不易失性 根據編程方式不同 ROM通常分為三類 1 掩膜式只讀存儲器ROM 2 一次可編程只讀存儲器PROM 3 多次可擦除可編程只讀存儲器EPROM 1 基本存儲元電路P溝道EPROM的基本電路結構示意圖演示 在N型基片上生長了兩個高濃度的P型區(qū) 引出源極 S 和漏極 D 在S極與D極之間 有一個多晶硅做成的柵極 但它是浮空的 被絕緣物SiO2所包圍 做好后的管子因柵極上無電荷 故管內無導電道 D極和S極之間是不導電的 把EPROM管用于存儲矩陣時 其初態(tài)各位均為1 要寫入 0 時 在D和S極之間加上25V高壓 另加編程脈沖則可使D S之間被瞬間擊穿 于是有 2 光擦可編程只讀存儲器 EPROM 電子通過絕緣層注入硅柵 在高壓電源去除后硅柵中的電子被絕緣層包圍而無法泄漏 硅柵變負 形成導電溝 從而使EPROM存儲元導通 輸出為 0 芯片封裝于石英玻璃窗口內 當用紫外線照射該窗口時 浮空柵中的電子會形成光電流泄漏 從而使EPROM管恢復初態(tài) 2 EPROM實例 以2716為例容量 2K 8位 所以地址線11根A10 A0 7條X譯碼 4條Y譯碼數據線8根D7 D0 帶輸出緩沖器 例3 CPU的地址總線16根 A15 A0 A0為低位 雙向數據總線8根 D7 D0 控制總線中與主存有關的信號有MREQ 允許訪存 低電平有效 R W 高電平為讀命令 低電平為寫命令 主存地址空間分配如下 0000H 1FFFH 即0 8191為系統(tǒng)程序區(qū) 由ROM芯片組成 2000H 7FFFH 即8192 32767共24K為用戶程序區(qū) F800H FFFFH 即最后 最大地址 2K地址空間為系統(tǒng)程序工作區(qū) 上述地址為十進制 按字節(jié)編址 現有如下存儲器芯片 EPROM 8K 8位 控制端僅有CS SRAM 16K 1位 2K 8位 4K 8位 8K 8位 請從上述芯片中選擇適當芯片設計該計算機主存儲器 畫出主存儲器邏輯框圖 注意畫出選片邏輯 可選用門電路及3 8譯碼器74LS138 與CPU的連接 說明選哪些存儲器芯片 選多少片 解 根據給定條件 選用EPROM 8K 8位芯片1片 SRAM 8K 8位芯片3片 2K 8位芯片1片 3 8譯碼器僅用Y0 Y1 Y2 Y3和Y7輸出端 且對最后的2K 8位芯片還需加門電路譯碼 主存儲器的組成與CPU連接邏輯圖如圖所示 詳細框圖請參看教材 Y0 Y1 Y2 Y3 Y7 MREQ CS CS CS CS CS C W C W C W C W 1 什么是閃速存儲器 閃速存儲器是一種低功耗 高密度 大容量 具有ROM的非易失性 又具有電可擦除和可反復編程的一種新型存儲器 它突破了傳統(tǒng)的存儲器體系 改善了現有存儲器的特性 3 3 2閃速存儲器 2 閃速存儲器的邏輯結構 28F256A的邏輯方框圖 容量 32K 8位 3 閃速存儲器的工作原理 閃速存儲器是在EPROM功能基礎上增加了電路的電擦除和重新編程能力 28F256A引入一個指令寄存器來實現這種功能 其作用是 1 保證TTL電平的控制信號輸入 2 在擦除和編程過程中穩(wěn)定供電 3 最大限度的與EPROM兼容 當VPP引腳不加高電壓時 它只是一個只讀存儲器 當VPP引腳加上高電壓時 除實現EPROM通常操作外 通過指令寄存器 可以實現存儲器內容的變更 當VPP VPPL時 指令寄存器的內容為讀指令 使28F256A成為只讀存儲器 稱為寫保護 5 閃速存儲器與CPU的連接CPU與閃速存儲器進行連接的邏輯框圖 中間部分是接口電路 地址總線和控制總線由CPU發(fā)向存儲器和接口邏輯 數據總線為雙向總線 地址總線的寬度決定了存儲器的存儲容量 數據總線的寬度決定了存儲器的字長 具有閃速存儲器的系統(tǒng)存儲器結構 3 4高速存儲器 3 4 1雙端口存儲器 由于CPU和主存儲器在速度上不匹配 而且在一個CPU周期中可能需要用幾個存儲器字 這便限制了高速計算 為了使CPU不至因為等待存儲器讀寫操作的完成而無事可做 可以采取一些加速CPU和存儲器之間有效傳輸的特殊措施 1 雙端口存儲器的邏輯結構 雙端口存儲器是指同一個存儲器具有兩組相互獨立的讀寫控制線路 是一種高速工作的存儲器 2K 16位雙端口存儲器IDT7133的邏輯功能方框圖演示 表3 8無沖突讀寫控制 1 存儲器的模塊化組織 一個由若干個模塊組成的主存儲器是線性編址的 這些地址在各模塊有兩種安排方式 一種是順序方式 一種是交叉方式 順序方式 某個模塊進行存取時 其他模塊不工作 某一模塊出現故障時 其他模塊可以照常工作 通過增添模塊來擴充存儲器容量比較方便 但各模塊串行工作 存儲器的帶寬受到了限制 交叉方式 地址碼的低位字段經過譯碼選擇不同的模塊 而高位字段指向相應模塊內的存儲字 連續(xù)地址分布在相鄰的不同模塊內 同一個模塊內的地址都是不連續(xù)的 對連續(xù)字的成塊傳送可實現多模塊流水式并行存取 大大提高存儲器的帶寬 3 4 2多模塊交叉存儲器 2 多模塊交叉存儲器的基本結構 四模塊交叉存儲器結構框圖演示 每個模塊各自以等同的方式與CPU傳送信息 CPU同時訪問四個模塊 由存儲器控制部件控制它們分時使用數據總線進行信息傳遞 這是一種并行存儲器結構 下面做定量分析 我們認為模塊字長等于數據總線寬度 模塊存取一個字的存儲周期為T 總線傳送周期為 存儲器的交叉模塊數為m 為了實現流水線方式存取 應當滿足T m m T 稱為交叉存取度 交叉存儲器要求其模塊數必須大于或等于m 以保證啟動某模塊后經m 時間再次啟動該模塊時 它的上次存取操作已經完成 這樣 連續(xù)讀取m個字所需的時間為t1 T m 1 而順序方式存儲器連續(xù)讀取m個字所需時間為t2 mT 交叉存儲器的帶寬確實大大提高了 m 4的流水線方式存取示意圖如下 2001年程序員試題之一假設內存存取周期T 200ns 字長64位 數據總線寬度64位 總線傳送周期為50ns 現用4個模塊組成內存 并在連續(xù)4個地址中讀出數據 如用順序方式組織模塊 則數據帶寬為 59 如用交叉存儲方式組織內存 則數據帶寬可達約 60 59 A 80MbpsB 320MbpsC 640MbpsD 1280Mbps 60 A 300MbpsB 500MbpsC 700MbpsD 1200Mbps 例4 設存儲器容量為32字 字長64位 模塊數m 4 分別用順序方式和交叉方式進行組織 存儲周期T 200ns 數據總線寬度為64位 總線傳送周期 50ns 問順序存儲器和交叉存儲器的帶寬各是多少 解 順序存儲器和交叉存儲器連續(xù)讀出m 4個字的信息總量都是 q 64位 4 256位順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是 t2 mT 4 200ns 800ns 8 10 7s t1 T m 1 200ns 3 50ns 350ns 3 5 10 7s 順序存儲器和交叉存儲器的帶寬分別是 W2 q t2 256 8 10 7 32 107 位 s W1 q t1 256 3 5 10 7 73 107 位 s 3 二模塊交叉存儲器舉例 二模塊交叉存儲器方框圖演示 1 相聯存儲器的基本原理 相聯存儲器是指其中任一存儲項內容作為地址來存取的存儲器 選用來尋址存儲器的子段叫做關鍵字 存放在相聯存儲器中的項可以看成具有KEY DATA這樣的格式 其中KEY是地址 DATA是被讀寫信息 相聯存儲器的基本原理是把存儲單元所存內容的某一部分作為檢索項 即關鍵字項 去檢索該存儲器 并將存儲器中與該檢索項符合的存儲單元內容進行讀出或寫入 2 相聯存儲器的組成 相聯存儲器由存儲體 檢索寄存器 屏蔽寄存器 符合寄存器 比較線路 代碼寄存器 控制線路等組成 框圖請看演示 3 4 3相聯存儲器 CAM ContentAddressedMemory 檢索寄存器 用來存放檢索字 其位數和相聯存儲器的存儲單元位數相等 屏蔽寄存器 用來存放屏蔽碼 其位數和檢索寄存位數相同 符合寄存器 用來存放按檢索項內容檢索存儲體中與之符合的單元地址 其位數等于相聯存儲器的存儲單元位數 每一位對應一個存儲單元 位的序數即為相聯存儲器的單元地址 比較線路 把檢索項和從存儲體中讀出的所有單元內容的相應位進行比較 如果有某個存儲單元和檢索項符合 就把符合寄存器的相應位置 1 表示該字已被檢索 代碼寄存器 用來存放存儲體中讀出的代碼 或者存放向存儲體中寫入的代碼 存儲體 由高速半導體存儲器構成 以求快速存取 在計算機系統(tǒng)中 相聯存儲器主要用于虛擬存儲器中存放分段表 頁表和快表 在高速緩沖存儲器中 相聯存儲器作為存放cache的行地址之用 這是因為在這兩種應用中 都需要快速查找 3 5cache存儲器 3 5 1cache基本原理1 cache的功能cache是一種高速緩沖存儲器 是為了解決CPU和主存之間速度不匹配而采用的一項重要技術 Cache的位置 介于CPU和主存之間 Cache的工作速度 Cache是用高速半導體材料制成 其工作速度數倍速于主存 通常是5 10倍 但容量小 全部功能由硬件實現 對程序員而言是透明的 設置Cache的目的 在不增加太多成本的前提下 希望得到一個速度與Cache相當 而容量與主存相當的存儲器 Cache的理論基礎 程序的局部性原理 包括時間上的局部性和空間上的局部性 所謂時間上的局部性 是指如果某一地址空間的程序被訪問 則它可能還會被再次訪問 如循環(huán)結構的程序就是如此 所謂空間上的局部性 是指如果某一地址空間的程序被訪問 則它附近的程序有可能被訪問 如順序結構程序就是如此 3 cache的命中率 增加Cache的目的 就是在性能上使主存的平均讀出時間盡可能接近Cache的讀出時間 因此 Cache的命中率應接近于1 由于程序訪問的局部性 這是可能的 在一個程序執(zhí)行期間 設Nc表示Cache完成存取的總次數 Nm表示主存完成存取的總次數 h定義為命中率 則有 若tc表示命中時的Cache訪問時間 tm表示未命中時的主存訪問時間 1 h表示未命中率 則Cache 主存系統(tǒng)的平均訪問時間ta為 ta htc 1 h tm 3 5 設r tm tc表示主存慢于Cache的倍率 e表示訪問效率 則有 為提高訪問效率 命中率h越接近1越好 r值以5 10為宜 不宜太大 命中率h與程序的行為 Cache的容量 組織方式 塊的大小有關 例5 CPU執(zhí)行一段程序時 cache完成存取的次數為1900次 主存完成存取的次數為100次 已知cache存取周期為50ns 主存存取周期為250ns 求cache 主存系統(tǒng)的效率和平均訪問時間 解 命中率 h Nc Nc Nm 1900 1900 100 0 95主存存取時間與Cache存取時間比 r tm tc 250ns 50ns 5訪問效率 e 1 r 1 r h 1 5 1 5 0 95 83 3 平均訪問時間 ta tc e 50ns 0 833 60ns cache的容量很小 它保存的內容只是主存內容的一個子集 且cache與主存的數據交換是以塊為單位 地址映射即是應用某種方法把主存地址定位到cache中 址映射方式有全相聯方式 直接方式和組相聯方式三種 1 行 Cache的數據塊大小稱為行用Li表示 i 0 1 2 m 1 共有m 2r行 2 塊 主存的數據塊大小稱為塊用Bj表示 j 0 1 2 n 1 共有n 2s塊 3 行 塊 字的關系 1行 1塊 由k 2w個連續(xù)的字組成 字是CPU每次訪問存儲器時可存取的最小單位 3 5 2 主存與cache的地址映射 主存中一個塊的地址 塊號 與塊的內容一起存于Cache行中 其中塊地址存于Cache行的標記部分 設Cache為8行 主存為256塊 每塊 行 有同樣多的字 則 Cache的地址 主存的地址 行號3bit 塊號8bit 字地址 wbit 1 全相聯映射方式 映射方式 主存的一個塊直接拷貝到Cache中的任意一行上 CPU訪問一個指定的內存地址 包括主存和Cache 為了快速檢索 指令中的塊號與Cache中所有行的標記同時在比較器中進行比較 如果塊號命中 則按字地址從Cache中讀取一個字 如果未命中 則按內存地址從主存中讀取該字 并將此字所在的一個塊調入Cache 注意 其中全部標記用一個CAM來實現 而數據用RAM實現 優(yōu)點 由于這種方法可使主存的一個塊直接拷貝到Cache中的任意一行上 非常靈活 缺點 比較器電路難于設計和實現應用 只適合于小容量cache采用 這也是一種多對一的映射關系 但一個主存塊只能拷貝到Cache的一個特定行位置上去 Cache的行號i和主存的塊號j有如下函數關系 i jmodm其中 m為cache中的總行數 如右圖中m 8 2 直接映射方式 仍設Cache為8行 主存為256塊 每塊 行 有同樣多的字 則允許存于Cache第 L0B0 B8 B16 B248L1B1 B9 B17 B249L2的主存塊號是B2 B10 B18 B250 L7B7 B15 B23 B255 Cache的地址 主存的地址 行號 rbit 本例為3 塊號 sbit 本例為8 其中標記s rbit 本例為5 塊地址sbit 將s位的塊地址分成兩部分 r位的行號 s r位標記 標記與塊數據一起保存該行中 每一個Cache行只可映射主存中的固定32塊 32個塊 CPU以一個給定的內存地址訪問Cache時 首選用rbit行號找到Cache中的此一行 然后用地址中的s rbit標記部分與此行的標記在比較器做比較 若相符 即命中 在Cache中找到所要的塊 則可用地址的最低w位 字地址 讀取所需求的字 若不符 即未命中 由主存讀取所要求的字 并將此字所對應的一個塊調入Cache 優(yōu)點 硬件簡單 成本低 缺點 每個主存塊只有一個固定的行位置可存放 容易產生沖突 注意 對于塊號相距m整數倍的兩個塊 只能映射到Cache的同一行時 若發(fā)生新塊不在Cache中而對應行號又已占用時 就發(fā)生了沖突 只能用新的塊替代原已占Cache此行中的一塊 即使此時Cache還有其它空行 也不可利用 應用 適合大容量cache采用 這種方式是前兩種方式的折衷方案 它將Cache分成u組 每組v行 主存塊存放到哪個組是固定的 至于存到該組哪一行是靈活的 即有如下函數關系 m u v組號q jmodu組相聯映射方式中的每組行數v一般取值較小 這種規(guī)模的v路比較器容易設計和實現 而塊在組中的排放又有一定的靈活性 沖突減少 Cache共8行 分4組 每組2行 即8 4 2 組號用2bit 組內的行號用1bit 主存256塊 各塊分到Cache的哪個組是固定的 主存的塊號j與Cache的組號q的對應關系是 q jmod4 即 B0 B4 B8 B252共64個塊映射到Cache的s0組B1 B5 B9 B253共64個塊映射到Cache的s1組B2 B6 B10 B254共64個塊映射到Cache的s2組B3 B7 B11 B255共64個塊映射到Cache的s3組 主存的 3 組相聯映射方式 至于具體映射到一個組中的哪一行 則可以任意 即組間采用直接映射 而組內采用全相聯映射方式 s位的塊號可分成兩個部分 低d位為組號 而高s d位為標記 對于一個具體地址 首先將根據其標記與所在組的每一個行比較 查找是否在Cache中 若在 則命中 由低w位的塊內地址直接訪問Cache中的一個字 若不在 則訪問主存 同時更新Cache 注意 為了便于比較器實現 組相聯映射中的每組行數v一般取值較小 典型值為2 4 8 16 Cache工作原理要求它盡量保存最新數據 必然要產生替換 對直接映射的Cache來說 只要把此特定位置上的原主存塊換出cache即可 對全相聯和組相聯Cache來說 就要從允許存放新主存塊的若干特定行中選取一行換出 LFU算法將一段時間內被訪問次數最少的那行數據換出 每行設置一個計數器 從0開始計數 每訪問一次 被訪行的計數器增1 當需要替換時 將計數值最小的行換出 同時將這些行的計數器都清零 換出 替換 淘汰 哪一行 應有一定的策略 常用的算法有三種 1最不經常使用 LFU 算法 這種算法將計數周期限定在對這些特定行兩次替換之間的間隔時間內 不能嚴格反映近期訪問情況 問題 3 5 3 替換策略 2近期最少使用 LRU 算法LRU算法將近期內長久未被訪問過的行換出 每行也設置一個計數器 Cache每命中一次 命中行計數器清零 其它各行計數器增1 當需要替換時 將計數值最大的行換出 這種算法保護了剛拷貝到Cache中的新數據行 有較高的命中率 3隨機替換 隨機替換策略從特定的行位置中隨機地選取一行換出 在硬件上容易實現 且速度也比前兩種策略快 缺點是降低了命中率和Cache工作效率 CPU對cache的寫入更改了Cache的內容 可選用寫操作策略使cache內容和主存內容保持一致 1寫回法當CPU寫Cache命中時 只修改Cache的內容 而不立即寫入主存 只有當此行被換出時才寫回主存 這種方法減少了訪問主存的次數 但是存在不一致性的隱患 3 5 4Cache的寫操作策略 實現這種方法時 每個Cache行必須配置一個修改位 以反映此行是否被CPU修改過 2全寫法當寫Cache命中時 Cache與主存同時發(fā)生寫修改 因而較好地維護了Cache與主存的內容的一致性 當寫Cache未命中時 直接向主存進行寫入 Cache中每行無需設置一個修改位以及相應的判斷邏輯 缺點是降低了Cache的功效 3寫一次法基于寫回法并結合全寫法的寫策略 寫命中與寫未命中的處理方法與寫回法基本相同 只是第一次寫命中時要同時寫入主存 這便于維護系統(tǒng)全部Cache的一致性 奔騰PC機采用兩級Cache結構 安裝在主板上的2級Cache L2 采用2路組相聯映射方式 集成在CPU內的1級Cache L1 也采用2路組相聯映射方式 L1又是L2的子集 從而使L1未命中處理時間大大縮短 CPU中的L1分設成各8KB的指令Cache和數據Cache 有利于CPU高速執(zhí)行程序 數據Cache采用2路組相聯結構 采用LRU替換算法 一組兩行共用一個LRU二進制位 數據Cache的工作方式受CPU控制寄存器CR0中CD和NW位組合狀態(tài)控制 如下表3 8所示 3 5 5奔騰PC機的Cache 其中CD 1 NW 1時復位后狀態(tài) 而CD 0 NW 0時是最佳使用狀態(tài) 兩級Cache和主存之間的工作環(huán)境方框圖演示CPU與外部數據交換時 存儲器讀寫總線周期主要有兩類 一類是256位猝發(fā)式傳送 用于L1的行填入和行寫出 一次完成整行的填入或寫出 另一類是不經L1的64位傳送 此時CHACE 為高電平 稱為非超高速緩存式傳送 L2級Cache采用的是寫回法 L1級數據Cache采用的是寫一次法 為了維護Cache的一致性 L1和L2均采用MESI協(xié)議 即要求每個Cache行有兩個狀態(tài)位 用以描述該行當前是處于修改態(tài) 專有態(tài) 共享態(tài)或者無效態(tài)中的哪種狀態(tài) 從而決定對它的讀 寫操作行為 總之 L2級Cache的內容是主存的子集 而L1級Cache又是L2級Cache的子集 L2負責整個系統(tǒng)的Cache 主存一致性 L1負責響應L2 與L2一起維護L1 L2兩個Cache的一致性 保證三級存儲系統(tǒng)的一致性 3 6虛擬存儲器 3 6 1虛擬存儲器的基本概念1 什么是虛擬存儲器 虛擬存儲器只是一個容量非常大的存儲器的邏輯模型 不是任何實際的物理存儲器 它借助于磁盤等輔助存儲器來擴大主存容量 使之為更大或更多的程序所使用 它指的是主存 外存層次 以透明的方式給用戶提供了一個比實際主存空間大得多的程序地址空間 注意 物理地址由CPU地址引腳送出 用于訪問主存的地址 虛擬地址由編譯程序生成的 是程序的邏輯地址 其地址空間的大小受到輔助存儲器容量的限制 主存 外存層次和cache 主存層次用的地址變換映射方法和替換策略是相同的 都基于程序局部性原理 它們遵循的原則是 把程序中最近常用的部分駐留在高速的存儲器中 一旦這部分變得不常用了 把它們送回到低速的存儲器中 這種換入換出是由硬件或操作系統(tǒng)完成的 對用戶是透明的 力圖使存儲系統(tǒng)的性能接近高速存儲器 價格接近低速存儲器 兩種存儲系統(tǒng)的主要區(qū)別在于 在虛擬存儲器中未命中的性能損失要遠大于Cache系統(tǒng)中未命中的損失 2 主存 外存層次的基本信息傳送單位 主存 外存層次的基本信息傳送單位可采用幾種不同的方案 段 頁或段頁 段是按照程序的邏輯結構劃分成的多個相對獨立部分 作為獨立的邏輯單位 優(yōu)點是段的邏輯獨立性使它易于編譯 管理 修改和保護 也便于多道程序共享 某些類型的段具有動態(tài)可變長度 允許自由調度以便有效利用主存空間 缺點是因為段的長度各不相同 起點和終點不定 給主存空間分配帶來麻煩 而且容易在段間留下許多空余的零碎存儲空間 造成浪費 頁是主存物理空間中劃分出來的等長的固定區(qū)域 優(yōu)點是頁面的起點和終點地址是固定的 方便造頁表 新頁調入主存也很容易掌握 比段式空間浪費小 缺點是處理 保護和共享都不及段式來得方便 段頁式管理采用分段和分頁結合的方法 程序按模塊分段 段內再分頁 進入主存以頁為基本信息傳送單位 用段表和頁表進行兩級定位管理 1 分頁的方法頁式虛擬存儲系統(tǒng)中 虛擬空間分成頁 稱為邏輯頁 主存空間也分成同樣大小的頁 稱為物理頁 虛存地址分為兩個字段 實存地址也分兩個字段 2 建立頁表頁表中每一個虛存邏輯頁號有一個表目 表目內容包含該邏輯頁所在的主存頁面地址 物理頁號 及控制位 裝入位 修改位等 3 地址變換當程序被調入系統(tǒng)運行時 頁表調入內存 其首地址裝入頁表基地址寄存器 以一個虛存地址訪問存儲器時 首先根據邏輯頁號查頁表 若該頁已裝入 則可得其主存物理頁號 用它作為實存地址的高位字段 與虛存地址的頁內行地址字段相拼接 產生完整的實主存地址 據此來訪問主存 若該頁未裝入 則發(fā)生缺頁中斷 由OS調入該頁 并記入頁表中 4 速度影響 由于查表過程需要時間 所以運行速度變慢 邏輯頁號頁內行地址 物理頁號頁內行地址 3 6 2頁式虛擬存儲器 為了避免頁表已保存或已調入主存儲器時對主存訪問次數的增多 把頁表的最活躍部分存放在高速存儲器中組成快表 快表與慢表實現內部地址變換的方式演示 快表由硬件組成 比頁表小得多 查表時 由邏輯頁號同時去查快表和慢表 當在快表中有此邏輯頁號時 就能很快地找到對應的物理頁號送入實主存地址寄存器 從而做到雖采用虛擬存儲器但訪主存速度幾乎沒有下降 GC88 8某虛擬存儲器的用戶編程空間共32個頁面 每頁1KB 主存為16KB 假定某時刻該用戶頁表中已調入主存的頁面的虛頁號和物理頁號對照表為 虛頁號物理頁號051102487 則下表中與虛地址相對應的物理地址為 如果找不到 即為頁失效 虛擬地址物理地址0A5CH1A5CH 虛擬存儲器的功能是由完成的 在虛擬存儲系統(tǒng)中 采用提高的速度 A B 頁失效 1E5CH 2A5CH 165CH 125CH 1A5CHC 硬件 軟件 軟硬件結合D 高速輔助存儲器 高速光盤存儲器 快速通道 高速緩沖存儲器E 連接編輯 虛空間分配 動態(tài)地址翻譯 動態(tài)連接 A B C D E 頁式的不足需要對程序進行靜態(tài)鏈接 形成一個一維邏輯地址空間 不便于頁面的共享 因鏈接可能造成一頁有共享和不共享內容 分段的方法按程序的邏輯結構劃分 各個段的長度因程序而異 程序為二維地址結構 每個段均從0開始編址 建立段表每一個段有一個表目 內容包括 段號段內行地址 段起始地址裝入位段長 地址變換 程序運行時 段表裝入內存 段表首地址裝入段標基址寄存器 對于一個要訪問的邏輯地址 根據段號查段表 若裝入位為 1 則表示該段已裝入內存 由段表可取該段在內存中的段起始地址 由 段起始地址 段內地址 即可得所對應的物理地址 邏輯地址為 3 6 3段式虛擬存儲器 段表也是一個段 可以存在外存中 但一般是駐留在主存中 虛存地址向實存地址的變換過程演示 1 段式的問題因段長不等 容易造成存儲碎片 新入段只能 替換段 2 段頁式的實現段頁式虛擬存儲器是段式和頁式虛擬存儲器的結合 它把程序按邏輯單位分段以后 再把每段分成固定大小的頁 在段頁式虛擬存儲系統(tǒng)中 每道程序是通過一個段表和一組頁表來進行定位的 段表中的每個表目對應一個段 每個表目有一個指向該段的頁表起始地址及該段的控制保護信息 由頁表指明該段各頁在主存中的位置以及是否已裝入 已修改等狀態(tài)信息 如果有多個用戶在機器上運行 多道程序的每一道需要一個基號 由它指明該道程序的段表起始地址 虛擬地址格式如下 地址變換先查段表找到該段所對應的頁表 再查頁表轉換成物理地址 優(yōu)缺點優(yōu)點 程序對主存的調入調出是按頁面進行的 但它又可以按段 3 6 4段頁式虛擬存儲器 實現共享和保護 兼?zhèn)漤撌胶投问降膬?yōu)點 缺點 在映象過程中需要多次查表 降低了程序的運行速度 例6 假設有三道程序 用戶標志號為A B C 其基址寄存器內容分別為SA SB SC 邏輯地址到物理地址的變換過程見演示在主存中 每道程序都有一張段表 A程序有4段 C程序有3段 每段應有一張頁表 段表的每行就表示相應頁表的起始位置 而頁表內的每行即為相應的物理頁號 請說明虛實地址變換過程 解 地址變換過程如下 根據基號C執(zhí)行SC加1 段號 操作 得到段表相應行地址 其內容為頁表的起始地址 執(zhí)行b 2 頁號 得到物理頁號的地址 其內容即為物理頁10 物理頁號與頁內地址拼接即得物理地址 如計算機只有一個基址寄存器 基號可不要 多道程序切換時 操作系統(tǒng)修改基址寄存器內容 可以看出 段頁式虛擬存儲系統(tǒng)由虛擬地址向主存地址的變換至少需要查兩次表 虛擬存儲器中的頁面替換策略和cache中的行替換策略有很多相似之處 但有三點顯著不同 1 缺頁至少要涉及一次磁盤存取 讀取所缺的頁 缺頁使系統(tǒng)蒙受的損失要比cache未命中大得多 2 頁面替換是由操作系統(tǒng)軟件實現的 3 頁面替換的選擇余地很大 屬于一個進程的頁面都可替換 虛擬存儲器中的替換策略一般采用LRU算法 LFU算法 FIFO算法 或將兩種算法結合起來使用 對于將被替換出去的頁面 假如該頁調入主存后沒有被修改 就不必進行處理 否則就把該頁重新寫入外存 以保證外存中數據的正確性 為此 在頁表的每一行應設置一修改位 例7 假設主存只有a b c三個頁框 組成a進c出的FIFO隊列 進程訪問頁面的序列是0 1 2 4 2 3 0 2 1 3 2號 若采用 FIFO算法 FIFO算法 LRU算法 用列表法分別求兩種替換策略情況下的命中率 解 求解表格如下所示 3 6 5替換算法 1 奔騰PC的虛地址模式 奔騰PC的存儲管理部件MMU包括分段部件SU和分頁部件PU兩部份 可允許SU PU單獨工作或同時工作 3 6 6虛擬存儲器實例 分段不分頁模式 虛擬地址由一個16位的段參照和一個32位的偏移組成 分段部件SU將二維的分段虛擬地址轉換成一維的32位線性地址 優(yōu)點是無需訪問頁目錄和頁表 地址轉換速度快 對段提供的一些保護定義可以一直貫通到段的單個字節(jié)級 分段分頁模式 在分段基礎上增加分頁存儲管理的模式 即將SU部件轉換后的32位線性地址看成由頁目錄 頁表 頁內偏移三個字段組成 再由PU部件完成兩級頁表的查找 將其轉換成32位物理地址 兼顧了分段和分頁兩種方式的優(yōu)點 不分段分頁模式 這種模式下SU不工作 只是分頁部件PU工作 程序也不提供段參照 寄存器提供的32位地址被看成是由頁目錄 頁表 頁內偏移三個字段組成 由PU完成虛擬地址到物理地址的轉換 這種模式減少了虛擬空間 但能提供保護機制 比分段模式具有更大的靈活性 2 保護模式的分頁地址轉換奔騰機4MB分頁方式地址轉換演示 頁面 頁框 大小為4MB的分頁方式使用單級頁表 只進行一次主存訪問 地址轉換過程加快了 在此方式下 32位線性地址分為高10位的頁面和低22位的頁內偏移兩個字段 頁表項的I位指示頁面大小 P位為出現位 A位為訪問過位 D位為修改過位 RW位用于讀 寫控制 US位用于用戶 監(jiān)督控制 PCD位用于頁cache禁止的控制 PWT位用于頁全寫法的控制 3 7存儲保護 3 7 1存儲區(qū)域保護當多個用戶共享主存時 應防止由于一個用戶程序出錯而破壞其他用戶的程序和系統(tǒng)軟件 以及一個用戶程序不合法地訪問不是分配給它的主存區(qū)域 在虛擬存儲系統(tǒng)中 通常采用頁表保護 段表保護和鍵式保護方法 1 頁表保護和段表保護 每個程序的段表和頁表本身都有自己的保護功能 每個程序的虛頁號是固定的 經過虛地址向實地址變換后的實存頁號也就固定了 那么不論虛地址如何出錯 也只能影響到相對的幾個主存頁面 不會侵犯其他程序空間 段表和頁表的保護功能相同 但段表中除包括段表起點外 還包括段長 段表保護方式演示 2 鍵保護方式 這種方法是為主存的每一頁配一個鍵 稱為存儲鍵 就象一把鎖 每個用戶的實存頁面的鍵都相同 為了打開這個鎖 必須有鑰匙 稱為訪問鍵 訪問鍵賦予每道程序 并保存在該道程序的狀態(tài)寄存器中 當數據要寫入主存的某一頁時 訪問鍵要與存儲鍵相比較 若兩鍵相符 則允許訪問該頁 否則拒絕訪問 鍵保護方式演示 3 環(huán)保護方式 環(huán)保護方式可以做到對正在執(zhí)行的程序本身的核心部分或關鍵部分進行保護 它是按系統(tǒng)程序和用戶程序的重要性及對整個系統(tǒng)的正常運行的影響程度進行分層 每一層叫做一個環(huán) 在現行程序運行前由操作系統(tǒng)定好程序各頁的環(huán)號 并置入頁表中 然后把該道程序的開始環(huán)號送入CPU的現行環(huán)號寄存器 程序可以訪問任何 外層空間 訪問內層空間則需由操作系統(tǒng)的環(huán)控例行程序判斷這個向內訪問是否合法 環(huán)保護方式演示 對主存信息的使用可以有三種方式 讀 R 寫 W 和執(zhí)行 E 相應的訪問方式保護就有R W E三種方式形成的邏輯組合 這些訪問方式保護通常作為程序狀態(tài)寄存器的保護位 并且和區(qū)域保護結合起來實現 表3 11訪問方式保護的邏輯組合 3 7 2訪問方式保護 三級存儲存儲體系結構的含義及作用存儲器的技術指標 SRAM和DRAM的異同只讀存儲器的特點 種類和作用位擴展 字擴展及存儲器與CPU的連接提高存取速度的措施高速緩沖存儲器的作用虛擬存儲器的含義 作用不同虛擬存儲器管理模式及其地址轉換 本章要點

注意事項

本文(《計算機組成原理》PPT課件.ppt)為本站會員(za****8)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!