計算機系統結構1-3章節 期末背誦內容

Amdahl定律:
加快某部件執行速度所能獲得的系統性能加速比,受限于該部件的執行時間占系統中總執行時間的百分比。
加速比依賴于:
可改進比例:在改進前的系統中,可改進部分的執行時間在總的執行時間中所占的比例。
部件加速比:可改進部分改進以后性能提高的倍數。

CPU的性能取決于3個參數
時鐘周期時間:取決于硬件實現技術和計算機組成。
CPI:取決于計算機組成和指令集結構。
IC:取決于指令集結構和編譯技術。

并行性的含義:
計算機系統在同一時刻或者同一時間間隔內進行多種運算或操作。即只要在時間上相互重疊,就存在并行性。
同時性:兩個或兩個以上的事件在同一時刻發生。
并發性:兩個或兩個以上的事件在同一時間內發生。?
提高并行性的三種途徑:
時間重疊:引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。(單機系統:指令流水線(部件專用化) ;多機系統:任務流水線(處理機專用化))
資源重復:引入空間因素,以數量取勝。通過重復設置硬件資源,大幅度地提高計算機系統的性能。(單機系統:硬件冗余,多核CPU,多機系統:集群擴展,重復設置處理機)
資源共享:這是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套硬件設備。如,多道程序。 (單機系統:分時操作系統,虛擬內存: ;多機系統:分布式系統)

相關:兩條指令之間存在某種依賴關系。(靜態屬性)

數據相關:(也稱真數據相關)(RAW: read after write)
對于兩條指令i(在前,下同)和j(在后,下同),如果下述條件之一成立,則稱指令j與指令i數據相關:1,指令j使用指令i產生的結果;2,指令j與指令k數據相關,而指令k又與指令i數據相關。(存在數據流動) (可能需要的數據未產生)
名相關: ?如果兩條指令使用相同的名,但是它們之間并沒有數據流動,則稱這兩條指令存在名相關。(不順序執行可能引起沖突)
控制相關 : 是指由分支指令引起的相關。為了保證程序應有的執行順序,必須嚴格按控制相關確定的順序執行。(分支預測錯誤)

沖突:是指對于具體的流水線來說,由于相關的存在,使得指令流中的下一條指令不能在指定的時鐘周期執行。(動態屬性)

指令級并行主要特點:
是并行性由處理器硬件和編譯程序自動識別和利用,不需要程序員對順序程序作任何修改。( 硬件+軟件技術)

靜態調度 V.S. 動態調度:
靜態調度:是依靠編譯器對代碼進行調度,也就是在代碼被執行之前進行調度;通過把相關的指令拉開距離來減少可能產生的停頓。
動態調度:在程序的執行過程中,依靠專門硬件對代碼進行調度,減少數據相關導致的停頓。
指令順序執行 V.S. 指令亂序執行:
指令順序執行:指令放入流水線的順序和指令完成的順序一致;
指令亂序執行:指令放入流水線的順序和指令完成的順序不一致,也就是說有些指令進入流水線后被阻塞的,而在其后進入流水線的指令先完成了。

動態調度解決控制冒險
動態分支預測技術:通過硬件技術,在程序執行時根據每一條轉移指令過去的轉移歷史記錄來預測下一次轉移的方向。通過提前預測分支方向,減少或消除控制相關導致的流水線停頓。
優點:
根據程序的執行過程動態地改變轉移的預測方向,因此有更好的準確度和適應性。
程序每次執行時,可能預測的分支方向與前次相同或不同。更加靈活.
分支歷史表BHT : 用BHT來記錄分支指令最近一次或幾次的執行情況(成功或不成功),并據此進行預測。?
分支目標緩沖器BTB : 將分支成功的分支指令的地址和它的分支目標地址都放到一個緩沖區中保存起來,緩沖區以分支指令的地址作為標識。
基于硬件的前瞻執行 : 對分支指令的結果進行猜測,并假設這個猜測總是對的,然后按這個猜測結果繼續取、流出和執行后續的指令。只是執行指令的結果不是寫回到寄存器或存儲器,而是放到一個稱為ROB(ReOrder Buffer)的緩沖器中。等到相應的指令得到“確認”(commit)(即確實是應該執行的)之后,才將結果寫入寄存器或存儲器。?

動態調度解決數據冒險
Tomasulo算法 核心思想:
記錄和檢測指令相關,操作數一旦就緒就立即執行,把發生RAW沖突的可能性減少到最小;
通過寄存器換名來消除WAR沖突和WAW沖突。

cache的3C失效:
針對三種類型的不命中的直接方法
針對強制不命中 ?-- ?增加塊大小 (方法一) 缺點:會增加不命中開銷,塊過大會減少Cache中塊的數目,所以有可能會增加沖突不命中。
針對容量不命中 ?-- ?增加Cache容量 (方法二)缺點:增加成本 ; 可能增加命中時間
針對沖突不命中 ?-- ?提高相聯度 (方法三)缺點 : 提高相聯度是以增加命中時間為代價。?

2:1Cache經驗規則
容量為N的直接映像Cache的不命中率和容量為N/2的兩路組相聯Cache的不命中率差不多相同。

其他5個降低Cache不命中率的方法:
偽相聯Cache:在邏輯上把直接映像Cache的空間上下平分為兩個區。對于任何一次訪問,偽相聯Cache先按直接映像Cache的方式去處理。若命中,則其訪問過程與直接映像Cache的情況一樣。若不命中,則再到另一區相應的位置去查找。若找到,則發生了偽命中。否則就只好訪問下一級存儲器。

硬件預取:常由Cache之外的硬件完成指令or數據的預取
編譯器預取:在編譯時加入預取指令,在數據被用到之前發出預取請求。
編譯器優化:通過對軟件進行優化來降低不命中率。1,數組合并 2,內外循環交換 3,循環融合 4,分塊
犧牲cache:在Cache和它從下一級存儲器調數據的通路之間設置一個全相聯的小Cache,稱為“犧牲”Cache(Victim Cache)。用于存放被替換出去的塊(稱為犧牲者),以備重用。

5個降低cache不命中開銷的方法:
多級cache: ..
讓讀不命中優先于寫 : 在讀不命中時,所讀單元的最新值有可能還在寫緩沖器中,尚未寫入主存。我們可以: 推遲對讀不命中的處理,直到寫緩沖器清空 ; 檢查寫緩沖器中的內容,若無相同,且存儲器可用,繼續處理讀不命中
寫緩沖合并 : 如果寫緩沖器為空,就把數據和相應地址寫入該緩沖器。從CPU的角度來看,該寫操作就算是完成了。
如果寫緩沖器中已經有了待寫入的數據,就要把這次的寫入地址與寫緩沖器中已有的所有地址進行比較,看是否有匹配的項。如果有地址匹配而對應的位置又是空閑的,就把這次要寫入的數據與該項合并。這就叫寫緩沖合并。如果寫緩沖器滿且又沒有能進行寫合并的項,就必須等待。?
請求字處理技術 :1, 盡早重啟動:請求字沒有到達時,CPU處于等待狀態。一旦請求字到達,立即送給CPU,讓等待的CPU盡早重啟動,繼續執行。2,請求字優先:調塊時,讓存儲器首先提供CPU所要的請求字。請求字一旦到達,就立即送給CPU,讓CPU繼續執行,同時從存儲器調入該塊的其余部分。(如果:Cache塊較小 or 下一條指令正好訪問同一Cache塊的另一部分 用處不大)
非阻塞cache:采用記分牌或者Tomasulo類控制方式,允許指令亂序執行,CPU無需在Cache不命中時停頓

4個降低cache命中開銷的方法:
使用小容量、結構簡單的Cache
虛擬Cache
Cache訪問流水化
蹤跡cache

局部性原理
?程序執行時所訪問的存儲器地址分布不是隨機的,而是相對地簇聚。
常用的一個經驗規則
程序執行時間的90%都是在執行程序中10%的代碼。
程序的時間局部性
程序即將用到的信息很可能就是目前正在使用的信息。
程序的空間局部性
程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近。

馮諾依曼體系結構的特點:
計算機由五大部件組成:存儲器,運算器,控制器,輸入設備,輸出設備。
指令和數據以同等地位存于存儲器,可按地址順序訪問。
指令和數據用二進制表示。
指令由操作碼和地址碼組成。
存儲程序,程序在計算機中順序存放。
以運算器為中心。

計算機系統結構設計和分析中常用的3大原則:以經常性事件為重點,程序局部性原理和Amdahl定律


?

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

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

相關文章

JS實現直接下載PDF文件

pdf文件通過a標簽直接下載會打開頁面,所以,請求該文件的blob文件流數據,再通過window.URL.createObjectURL轉成鏈接,就可以直接下載了。 只需要替換url和文件名稱就行,文件名的后綴記得要寫上pdf,不然會變成…

深度解析Pytest中Fixture機制與實戰案例

一、為什么我們需要Fixture? 在某次金融系統重構項目中,我們的測試團隊曾遇到這樣的困境:隨著測試用例增長到500,使用unittest框架編寫的測試代碼出現了嚴重的維護問題——setup方法臃腫不堪,測試數據混亂&#xff0c…

文檔結構化專家:數字化轉型的核心力量

文檔結構化專家:定義、職責與行業應用的全方位解析 一、文檔結構化的定義與核心價值 文檔結構化是將非結構化或半結構化文檔(如文本、圖像、表格)轉換為計算機可處理的規范化數據形式的過程。其核心在于通過語義解析、信息單元劃分和標準化格式(如XML/JSON),實現信息的…

Linux系統管理與編程16番外篇:PXE自動化安裝部署OpenEuler24.03LTS

蘭生幽谷,不為莫服而不芳; 君子行義,不為莫知而止休。 Preboot Execution Environment 本機服務器操作系統:CentOS7.9.2207 目標服務器安裝系統:openEuler-24.03-LTS-SP1-everything-x86_64-dvd.iso 虛擬機&#xff1…

Enhanced RTMP H.265(HEVC)技術規格解析:流媒體協議的新突破

Enhanced RTMP H.265(HEVC)技術規格解析:流媒體協議的新突破 “每一幀畫面都是時間的映射,壓縮之后的靈魂,依然能栩栩如生。” 隨著流媒體技術的快速發展,視頻編碼標準不斷推陳出新。H.264/AVC雖然已經成為…

Visual Studio Code 改成中文模式(漢化)

1、打開工具軟件(雙擊打開) 2、軟件左邊圖標點開 3、在搜索框,搜索 chinese 出現的第一個 就是簡體中文 4、點擊第一個簡體中文,右邊會出來基本信息 點擊 install 就可以安裝了(記得聯網)。 5、安裝完右…

Linux--初識文件系統fd

01. C/系統調用文件操作 C/系統調用文件操作 02. 文件系統(ext2)結構 Linux ext2文件系統,上圖為磁盤文件系統圖(內核內存映像肯定有所不同),磁盤是典型的塊設備,硬盤分區被劃分為一個個的block。一個塊的大小(有1MB,…

算法中的數學:歐拉函數

1.相關定義 互質:a與b的最大公約數為1 歐拉函數:在1~n中,與n互質的數的個數就是歐拉函數的值 eg: n1時,歐拉函數的值為1,因為1和1是互質的 n2是,值為2,因為1和2都是互質的 積性函數&…

BaseDao指南

1. BaseDao類 import java.sql.*;/*** 通用的工具類 ,負責連接數據, 執行增刪改查的通用方法*/ public class BaseDao {private Connection connection;private PreparedStatement pstm;private ResultSet rs;/*** 建立數據庫連接** return*/public Boolean getCon…

SpringBoot JAR 啟動原理

文章目錄 版本概述JAR 包結構MANIFEST.MF 描述文件JarLauncherArchive 接口launch 方法Handlers.register() 方法getClassPathUrls 方法createClassLoader 方法 時序圖參考 版本 Java 17SpringBoot 3.2.4 概述 JAR 啟動原理可以簡單理解為“java -jar的啟動原理” SpringBo…

YOLO11解決方案之速度估算探索

概述 Ultralytics提供了一系列的解決方案,利用YOLO11解決現實世界的問題,包括物體計數、模糊處理、熱力圖、安防系統、速度估計、物體追蹤等多個方面的應用。 YOLO速度估算結合物體檢測和跟蹤技術,使用YOLO11 模型檢測每幀中的物體&#xf…

初識C++:模版

本篇博客主要講解C模版的相關內容。 目錄 1.泛型編程 2.函數模板 2.1 函數模版概念 2.2 函數模版格式 2.3 函數模版的原理 2.4 函數模版的實例化 1.隱式實例化&#xff1a;讓編譯器根據實參推演模板參數的實際類型 2. 顯式實例化&#xff1a;在函數名后的<>中指定模…

人工智能100問?第27問:神經網絡與貝葉斯網絡的關系?

神經網絡與貝葉斯網絡是兩種互補的智能模型:神經網絡通過多層非線性變換從數據中學習復雜模式,擅長大規模特征提取和預測,而貝葉斯網絡基于概率推理建模變量間的條件依賴關系,擅長處理不確定性和因果推斷。兩者的融合(如貝葉斯神經網絡)結合了深度學習的表征能力與概率建…

【node.js】入門基礎

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;node.js 文章目錄 1. Node.js簡介1.1 Node.js的核心特點1.2 Node.js適用場景 2. 第一個Node.js程序2.1 創建并運行Hello World2.2 創建簡單的HTTP服務器 3. Node.js核心概念3.1 模塊系統3.1.1 創建和導出模塊3.1.2 導入和使用模…

百度飛槳PaddleOCR 3.0開源發布 OCR精度躍升13%

百度飛槳 PaddleOCR 3.0 開源發布 2025 年 5 月 20 日&#xff0c;百度飛槳團隊正式發布了 PaddleOCR 3.0 版本&#xff0c;并將其開源。這一新版本在文字識別精度、多語種支持、手寫體識別以及高精度文檔解析等方面取得了顯著進展&#xff0c;進一步提升了 PaddleOCR 在 OCR …

Android 14 Binderized HAL開發實戰指南(AIDL版)

Android 14 Binderized HAL開發實戰指南&#xff08;AIDL版&#xff09; 環境要求 Android 14源碼編譯環境AOSP android-14.0.0_r7分支Soong build系統Java 17 & NDK r25c 項目結構 hardware/interfaces/myservice/ ├── 1.0 │ ├── IMyHalService.aidl # AID…

第九天的嘗試

目錄 一、每日一言 二、練習題 三、效果展示 四、下次題目 五、總結 一、每日一言 創造美好的代價是努力&#xff0c;失望以及毅力&#xff0c;首先是痛苦&#xff0c;然后才是歡樂。 時間是快的&#xff0c;看怎么利用&#xff0c;安排好一切事情&#xff0c;才能從容面對…

交安安全員:交通工程安全領域的關鍵角色

在交通工程這個龐大而復雜的領域中&#xff0c;交安安全員扮演著舉足輕重的角色&#xff0c;他們是安全的捍衛者&#xff0c;是交通工程順利推進的重要保障。? 交安安全員&#xff0c;專門從事公路水運工程施工企業安全生產管理工作。他們的專業身份由交通運輸部門頒發的交安…

實驗-設計一個應用系統(計算機組成原理)

目錄 一. 實驗內容 二. 實驗步驟 &#xff08;1&#xff09;七段數碼管顯示模塊 &#xff08;2&#xff09;指令模塊 &#xff08;3&#xff09;控制模塊 &#xff08;4&#xff09;ALU模塊 &#xff08;5&#xff09;CPU模塊 三. 實現效果 四. 實驗環境 五. 實驗小結…

【博客系統】博客系統第四彈:令牌技術

令牌機制 為什么不能使用 Session 實現登錄功能&#xff1f; 傳統思路&#xff1a; 登錄頁面把用戶名密碼提交給服務器。服務器端驗證用戶名密碼是否正確&#xff0c;并返回校驗結果給前端。如果密碼正確&#xff0c;則在服務器端創建 Session。通過 Cookie 把 sessionId 返回…