26考研——存儲系統(3)

408答疑


文章目錄

  • 一、存儲器概述
  • 二、主存儲器
  • 三、主存儲器與 CPU 的連接
  • 四、外部存儲器
  • 五、高速緩沖存儲器
  • 六、虛擬存儲器
  • 七、參考資料
    • 鮑魚科技課件
    • 26王道考研書
  • 八、總結
    • 復習提示
    • 思考題
    • 常見問題和易混淆知識點


一、存儲器概述

  • 文章鏈接: 點擊跳轉

二、主存儲器

  • 文章鏈接: 點擊跳轉

三、主存儲器與 CPU 的連接

  • 文章鏈接: 點擊跳轉

四、外部存儲器

  • 文章鏈接: 點擊跳轉

五、高速緩沖存儲器

  • 文章鏈接: 點擊跳轉

六、虛擬存儲器

  • 文章鏈接: 點擊跳轉

七、參考資料

鮑魚科技課件

b站免費王道課后題講解:
在這里插入圖片描述

網課全程班:
在這里插入圖片描述

26王道考研書


八、總結

復習提示

本章是歷年命題重點,特別是有關 Cache 和虛擬存儲器的考點容易出綜合題。此外,存儲器的特點、存儲器的擴展(芯片選擇、連接方式、地址范圍等)、交叉存儲器、Cache 的相關計算與替換算法、虛擬存儲器與 TLB 也容易出選擇題。讀者應在掌握基本原理的基礎上,多結合習題進行反復訓練,以加深鞏固。另外,讀者需掌握存在 Cache 和 TLB 的計算機中的地址翻譯與 Cache 映射問題,也建議結合 OS 復習。

思考題

  1. 存儲器系統為何要分這些層次?計算機如何管理這些層次?
    • Cache-主存層在存儲系統中主要對 CPU 訪存起加速作用,即從整體運行的效果看,CPU 訪存速度加快,接近于 Cache 的速度,而尋址空間和位價卻接近于主存。
    • 主存-輔存層在存儲系統中主要起擴容作用,即從程序員的角度看,他所使用的存儲器的容量和位價接近于輔存,而速度接近于主存。因此從整個存儲系統來看,就達到了速度快、容量大、位價低的效果。
    • 主存與 Cache 之間的信息調度全部由硬件自動完成。
    • 而主存與輔存的信息調度則采用虛擬存儲技術實現,即將主存與輔存的一部分通過軟/硬結合的技術組成虛擬存儲器,程序員可用這個比主存實際空間(物理地址空間)大得多的虛擬地址空間(邏輯地址空間)編程,當程序運行時,再由軟/硬件自動配合完成虛擬地址空間與主存實際物理空間的轉換。
  2. 影響 Cache 性能的因素有哪些?
    • 決定 Cache 系統訪存效率重要因素是命中率,它與很多因素有關:
      • 命中率與映射方式有關,全相聯映射方式的命中率最高,直接映射方式的命中率最低。
      • 命中率與 Cache 容量有關,顯然 Cache 容量越大,命中率就越高。
      • 命中率還與主存塊(或 Cache 行)的大小有關,主存塊的大小要適中。
    • 除上述因素外,系統是采用單級還是采用多級 Cache、數據 Cache 和指令 Cache 是分離還是合在一起、主存-總線-Cache-CPU 之間采用什么架構等,都會影響 Cache 的總體性能。
  3. 虛擬存儲系統的頁面是設置得大一些好還是設置得小一些好?
    • 頁面大小要適中。
    • 頁面大小時,平均頁內剩余空間較小,可節省存儲空間,但會使得頁表增大,頁面大小時也不能充分利用空間局部性來提高命中率;
    • 頁面太大時,可減少頁表空間,但平均頁內剩余空間較大,會浪費較多存儲空間,頁面太大還會使頁面調入/調出的時間較長。

常見問題和易混淆知識點

  1. Cache 行的大小和命中率之間有什么關系?
    • Cache 行的長度較大時,能充分利用程序訪問的空間局部性,使一個較大的局部空間被一起調到 Cache 中,因此可以增加命中機會。但是,行長也不能太大,主要原因有兩個:

      • 行長大使失效損失變大。也就是說,若未命中,則需花更多時間從主存讀塊。
      • 行長太大,Cache 項數變少,因此命中的可能性變小。
    • Cache 行的長度較小時,命中率會很低,但好處是存取塊的代價較小。

  2. 發生取指令 Cache 缺失的處理過程是什么?
    • 程序計數器恢復當前指令的值。
    • 對主存進行讀的操作。
    • 將讀入的指令寫入 Cache 中,更改有效位和標記位。
    • 重新執行當前指令。
  3. Cache 總容量與映射方式有何種關系?
    • C a c h e 總容量 = [ 每個 C a c h e 行標記項的容量(有效位、臟位、 L R U 替換位、標記位) + C a c h e 行長 ] × C a c h e 總行數 Cache 總容量 = [每個 Cache 行標記項的容量(有效位、臟位、LRU 替換位、標記位)+ Cache 行長] × Cache 總行數 Cache總容量=[每個Cache行標記項的容量(有效位、臟位、LRU替換位、標記位)+Cache行長]×Cache總行數

    • 其中,有效位和標記位是所有 Cache 所必需的;臟位只在 Cache 采用回寫法時才需要設置;LRU 替換位只在 Cache 采用 LRU 替換算法時才需要設置。

    • 有效位:占1位,用于說明 Cache 行中的數據是否有效。

    • 臟位(修改位):占 1 位,回寫法才需要設置,用以說明 Cache 行中的數據是否被修改過。

    • LRU 替換位:位數為 log ? 2 \log_2 log2?(組內塊數),用于 LRU 替換算法中的訪問計數。

    • 標記位 Tag:主存地址結構中的標記字段,其位數取決于所用的映射方式,用于匹配 Cache 行對應主存中的哪個塊。

    • Cache 容量與映射方式的具體關系如下圖所示。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903105.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903105.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903105.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

.NET 6 + Dapper + User-Defined Table Type

大家都知道,對于SQL Server IN是有限制條件的,如果IN里面的內容過多,在執行的時候會被自動截斷,因而導致查詢到的結果不是實際需要的結果。 select * from Payments where Id in (1,2,3,4,...) 為了解決上面的限制,可以…

MySQL 8(Ubuntu 18.04.6 LTS)安裝筆記

一、前言 其實之前已經寫過一篇筆記【MySQL 8.0.34(x64)安裝筆記】。機緣巧合,這次遇到的環境是Ubuntu 18.04 LTS,相比Windows平臺的安裝,對mysql的版本以及依賴的選擇,稍微要窄一些。特作筆記。 二、準備…

學習 Apache Kafka

學習 Apache Kafka 是一個很好的選擇,尤其是在實時數據流處理和大數據領域。以下是一個系統化的學習建議,幫助你從入門到進階掌握 Kafka: 1. 先決條件 在開始 Kafka 之前,確保你具備以下基礎: Java 基礎:K…

使用 binlog2sql 閃回 MySQL8 數據

【說明】 MySQL服務器版本 8.0.26 mysql> SELECT version(); ----------- | version() | ----------- | 8.0.26 | -----------Python 版本 Python 3.8.10 [infuq ~]# python -V Python 3.8.10【安裝】 binlog2sql 官方地址 1.安裝 binlog2sql [infuq ~]# git clone …

JavaScript 異步編程與請求取消全指南

JavaScript 異步編程與請求取消全指南 涵蓋:同步/異步、Promise、async/await、AbortController、前后端協作 一、同步與異步 1. 同步(Synchronous) 定義:代碼按順序執行,前一步完成才能執行下一步。特點&#xff1…

永久緩存 Git 憑證

永久緩存 Git 憑證 打開終端或命令行工具。 執行以下命令,設置 Git 使用 store 憑證幫助程序: bash git config --global credential.helper store第一次執行 git pull 時輸入賬號密碼。之后,所有需要憑證的操作都將自動使用存儲的憑證&…

力扣-48.旋轉圖像

題目描述 給定一個 n n 的二維矩陣 matrix 表示一個圖像。請你將圖像順時針旋轉 90 度。 你必須在 原地 旋轉圖像&#xff0c;這意味著你需要直接修改輸入的二維矩陣。請不要 使用另一個矩陣來旋轉圖像。 class Solution { public:void rotate(vector<vector<int>…

Qt ModbusSlave多線程實踐總結

最近項目中用到了ModbusSlave&#xff0c;也就是Modbus從設備的功能&#xff0c;之前用的基本都是master設備&#xff0c;所以讀取數據啥的用單線程就行了&#xff0c;用 void WaitHelper::WaitImplByEventloop(int msec) {QEventLoop loop;QTimer::singleShot(msec, &loop…

opencv--圖像

像素(像素點) 定義&#xff1a; Pixel 是 Picture Element&#xff08;圖像元素&#xff09;的縮寫&#xff0c;是數字圖像中最小的獨立單位。每個像素代表圖像中的一個點的顏色和亮度信息。 關鍵特性&#xff1a; 顏色&#xff1a;通過不同的色彩模型&#xff08;如RGB、CMYK…

記錄學習匯編語言02+各種寄存器分類

8086cpu是十六位的 然后寄存器能存八位 所以分為高八位低八位 高八位在下面低八位在上面 從下往上讀&#xff08;從地址小的地方開始讀&#xff09; 8086cpu種有兩個和棧相關的寄存器 棧段寄存器ss&#xff08;棧頂的段寄存器&#xff09; 棧頂指針寄存器sp&#xff08;…

OpenCV 圖形API(53)顏色空間轉換-----將 RGB 圖像轉換為灰度圖像函數RGB2Gray()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 將圖像從 RGB 色彩空間轉換為灰度。 R、G 和 B 通道值的常規范圍是 0 到 255。生成的灰度值計算方式如下&#xff1a; dst ( I ) 0.299 ? src…

(51單片機)LCD顯示數據存儲(DS1302時鐘模塊教學)(LCD1602教程)(獨立按鍵教程)(延時函數教程)(I2C總線認識)(AT24C02認識)

目錄 演示視頻&#xff1a; 源代碼 main.c LCD1602.c LCD1602.h AT24C02.c AT24C02.h Key.c Key.h I2C.c I2C.h Delay.c Delay.h 代碼解析與教程&#xff1a; Dealy模塊 LCD1602模塊 Key模塊 I2C總線模塊 AT24C02模塊 /E2PROM模塊 main模塊 演示視頻&#xff1a; E2…

電子病歷高質量語料庫構建方法與架構項目(數據遺忘篇)

引言 在人工智能與醫療健康的深度融合時代,醫療數據的價值與風險并存。跨機構和平臺的醫療數據共享對于推動醫學研究、提高診斷精度和實現個性化治療至關重要,但同時也帶來了前所未有的隱私挑戰。先進的AI技術可以從理論上去標識化的醫療掃描中重新識別個人身份,例如從MRI數…

CentOS創建swap內存

服務器版本為CentOS7 一、檢查現有 swap 空間 sudo swapon --show如果系統中沒有 swap 空間或者現有的 swap 空間不足&#xff0c;可以繼續后續步驟來創建 swap 空間。 二、創建 swap 文件&#xff08;推薦 2GB 作為示例&#xff09; sudo dd if/dev/zero of/swapfile bs1M …

在Android中如何使用Protobuf上傳協議

在 Android 中使用 Protobuf&#xff08;Protocol Buffers&#xff09;主要分為以下幾個步驟&#xff1a; ? 1. 添加 Protobuf 插件和依賴 在項目的 build.gradle&#xff08;Project 級&#xff09;文件中添加 Google 的 Maven 倉庫&#xff08;通常默認已有&#xff09;&am…

Android學習總結之ANR問題

一、ANR 基礎概念與核心原理&#xff08;必考題&#xff09; 1. 什么是 ANR&#xff1f;為什么會發生 ANR&#xff1f; 答案要點&#xff1a; 定義&#xff1a;ANR&#xff08;Application Not Responding&#xff09;即應用無響應&#xff0c;是 Android 系統檢測到主線程&…

視頻監控從安裝到優化的技術指南,視頻匯聚系統EasyCVR智能安防系統構建之道

在當今數字化安防時代&#xff0c;監控系統的安裝與配置對于保障各類場所的安全起著至關重要的作用。從前期規劃到實際安裝&#xff0c;再到后期的功能實現與維護&#xff0c;每一個環節都不容小覷。本文將詳細闡述監控安裝過程中的關鍵要點&#xff0c;并結合EasyCVR平臺功能&…

如何避免IDEA每次打開新項目都重復配置Maven?

每次打開新項目都要重新設置Maven路徑&#xff1f;每次導入工程都要手動調整settings.xml&#xff1f;如果你也受夠了IDEA這種“健忘”行為&#xff0c;那么這篇文章就是為你準備的&#xff01;今天我們就來徹底解決這個問題&#xff0c;讓IDEA記住你的Maven配置&#xff0c;一…

PostgesSQL外部數據封裝FDW

PostgesSQL外部數據封裝FDW 1. FDW外部數據配置&#xff08;單表&#xff09;1.1 遠端數據庫創建測試表1.2 安裝擴展postges\_fdw1.3 創建外部服務SERVER1.4 創建用戶映射USER MAPPING1.5 創建遠程表FOREIGN TABLE1.6 數據庫更新測試 2. FDW外部數據配置&#xff08;用戶&#…

策略模式(Strategy Pattern)詳解

文章目錄 1. 什么是策略模式&#xff1f;2. 為什么需要策略模式&#xff1f;3. 策略模式的核心概念3.1 策略&#xff08;Strategy&#xff09;3.2 具體策略&#xff08;Concrete Strategy&#xff09;3.3 上下文&#xff08;Context&#xff09; 4. 策略模式的結構5. 策略模式的…