計算機體系結構和指令系統

1.計算機體系結構 - 五大部件

?- 馮 諾依曼 計算機的特點

1.計算機有五大部件組成

2.指令和數據以同等地位存儲于存儲器,可按照地址訪問

3.指令和數據用二進制表示

4.指令由操作碼和地址碼組成

5。存儲程序

6.以計算器為中心(輸入、輸出設備與存儲器之前的數據傳送通過計算器完成)

計算機體系結構 - 主存儲器

1.存儲單元:每個存儲單元存放一串二進制代碼

2.存儲字(word):存儲單元中二進制代碼的組合

3.存儲字長:存儲單元中二進制代碼的位數(拓展:指令字長:計算機接收指令的二進制長度,機器字長:計算機在一次整數運算中能處理的最大二進制位數)

4.存儲元:即存儲二進制的電子元件,每個存儲元可存儲 1 bit

5.MAR:地址寄存器(可以用地址寄存器的長度來計算出存儲單元的個數,例如:當MAR為 4 位時,那么存儲單元的個數就有 2*2*2*2 (也就是2的4次方)個存儲單元,)

6.MDR:數據寄存器(指的是每個存儲單元能存放的最大二進制位數,例如:MDR = 16 那么一個存儲單元最大就能存放 16 位二進制數)

易混淆:1個字節 =?1個Byte = 1B =?8bit = 8b

計算機體系結構 - CPU

1.運算器:用于實現算數運算(如:加減乘除)、邏輯運算(如與或非)

2.ACC:累加器,用于存放操作數,或運算結果

3.MQ:乘商寄存器,在乘、除運算時,用于存放操作數或運算結果

4.X:通用的操作數寄存器,用于存放操作數

5.ALU(很重要):算數邏輯單元,通過內部復雜的電路實現算數運算、邏輯運算

6.DR:數據緩存寄存器

7.PSW:狀態條件寄存器,用來保存指令運行標志(例如有些游戲打到一半關機了,下次打開的時候依舊可以接著上次的進度)

計算機體系結構 - CPU

1.CU:控制單元,分析指令,給出控制信號

2.IR:指令寄存器,存放當前執行的指令

3.PC:程序計數器,存放下一條指令地址,有自動加 1 的功能

4.AR:地址寄存器,保存當前CPU所訪問的內存單元地址

5.ID:指令譯碼器,對操作碼進行分析

6.完成一條指令的過程:取指令 -> 分析指令 -> 執行指令(之前說過:指令和數據以同等地位存儲在存儲器中,所以我們該如何區分此次取出來的指令還是數據呢?通過階段來區分,例如:在取指令階段那么從存儲器中取出來的二進制數就一定表示指令)

計算機體系結構 - Flynn分類

體系結構類型結構????????關鍵特性代表
單指令流單數據流SISD

控制部分:一個

處理器:一個

主存模塊:一個

????????單處理器系統
單指令流多數據流SIMD

控制部分:一個

處理器:多個

主存模塊:多個

各處理器以異步的形式執行同一條指令

1.并行處理機

2.陳列處理機

3.超級向量處理機

多指令流單數據流MISD

控制部分:多個

處理器:一個

主存模塊:多個

被證明不可能,至少以目前的技術無法實現,只是理論上存在目前沒有,有文獻稱流水線計算機為此類
多指令流多數據流MIMD

控制部分:多個

處理器:多個

主存模塊:多個

能夠實現作業、任務、指令等各級全面并行

多處理機系統

多計算機

Single:單一的

Multiple:倍數、多種多樣的

指令系統 - 指令

1.指令(又稱為機器指令):是指令計算機執行某種操作的命令,是計算機運行的最小功能單位;

2.一臺計算機的所有指令的集合構成該 計算機的指令系統,也稱為指令集;

指令系統 - 指令格式

1.一條指令就是機器語言的一個語句,他是一組有意義的二進制代碼;

2.一條指令通常要包括 操作碼字段地址碼字段 兩部分;

重要考點:指令系統 - 尋址方式

指令系統 - 尋址方式(數據尋址)以下尋址方式從上至下 尋址效率依次降低 ->

1..立即尋址:此操作數作為指令的一部分直接寫在指令中,這中操作數成為立即數

2寄存器尋址:指令所要的操作數已存儲在某寄存器中,或把目標操作數存入寄存器

3.直接尋址:指令所要的操作數存放在內存中,在指令中直接給出該操作數的有效地址

4.寄存器間接尋址:操作數在存儲器中,操作數的有效地址用 SI 、DI、Bx 、BP 四個寄存器之一來指定

5.基址加變址尋址方式:操作數在寄存器中,其有效地址是一個基址寄存器( BX? 、?BP )和一個變址寄存器 ( SI 、DI ) 的內容之和

6.相對基址加變址尋址:操作數在寄存器中,其有效地址是一個基址寄存器(BX 、 BP)的值,一個變址寄存器 (SI 、 DI)的值和指令中的 8位/16位偏移量之和?

指令系統 - CISC 和 RISC

CISC(Complex)RISC(Reduced)
指令系統復雜,龐大簡單,精簡
指令數目一般大于 200 條一般小于 100 條
指令字長不固定定長
可訪存指令不加限制只有Load/Store指令
各種指令執行時間相差較大? ? ? ??絕大多數一個周期內完成
各種指令使用頻度相差較大都比較常用
通用寄存器數量較少
控制方式絕大多數為微程序控制絕大多數為組合邏輯控制
指令流水線可以通過一定方式實現必須實現

指令系統 - 指令的流水處理

1.指令控制方式有 順序方式、重疊方式 和 流水方式三種

2.流水方式:是指 并行性或并發性 嵌入計算機系統里的一種形式,他把重復的順序處理過程分解為若干子過程,每個子過程能在專用的獨立模塊上有效的并發工作

3.在概念上," 流水 "可以看成是 "重疊" 的延伸;差別僅在于 " 一次重疊?" 只是把一條指令解釋分解為兩個子過程,而 " 流水 " 則是分解為更多的子過程。

指令系統 - 流水線的計算

例題:若指令流水線把一條指令分為 :取指令、分析指令、執行指令三部分,且三部分的時間分別是 -> 取指令:2ns? ?分析指令:2ns? ?執行指令:1ns ,那么流水線周期是多少?100條指令全部執行完畢需要的時間是多少?

1.流水線周期為執行時間最長的一段:上述中?取指令:2ns? ?分析指令:2ns? ?執行指令:1ns 三個發過程中執行時間最長的顯然是 2ns,所以流水線周期為 2ns

2.流水線計算公式為: 1條指令執行時間 +(指令條數 - 1)* 流水線周期 ;所以計算結果如下所示 ->?

100條指令執行完的時間為:2 + 2 + 1 +(100 -1)* 2 =? 203

那么如果不使用流水線處理的話100條指令執行完的時間就是:( 2 + 2 + 1 )*100 = 500

3.拓展:流水線的吞吐率(Though Put rate ,TP):是指在單位時間內流水線所完成的任務數量或輸出的結果數量;

4.計算流水線吞吐率的最基本的公式如下:TP = 指令條數 / 流水線執行時間

5.依照上面例題計算流水線吞吐率的話就是:100 /?203 ≈ 0.5

6.流水線開始工作后,需經過一定時間才能達到最大吞吐率,這就是 建立時間;若 m 個子過程所用時間一樣,均為 t ,則建立時間 T = m * t

7.完成同一批任務,不使用流水線所用的時間與使用流水線所用的時間之比成為 流水線的加速比 ,計算流水線加速比的基本公式如下:S = 不使用流水線執行時間 / 使用流水線執行時間

還是用上面例題的來計算 -> S = 500 / 203 ≈ 2.46

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

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

相關文章

2024年【湖北省安全員-C證】新版試題及湖北省安全員-C證試題及解析

題庫來源:安全生產模擬考試一點通公眾號小程序 湖北省安全員-C證新版試題參考答案及湖北省安全員-C證考試試題解析是安全生產模擬考試一點通題庫老師及湖北省安全員-C證操作證已考過的學員匯總,相對有效幫助湖北省安全員-C證試題及解析學員順利通過考試…

WIN10系統自帶錄屏軟件怎么用?

WIN10系統自帶錄屏軟件怎么用? WIN10系統錄屏軟件怎么用? 第一步:WING 快捷打開系統自帶錄屏軟件,如下: 第二步:點擊錄屏軟件區域“開始錄制”按鈕進入屏幕錄制狀態,如下: 第三步…

基于SpringBoot的財務管理系統

根據您提供的論文內容和模板要求,以下是定制化的文章輸出: 你好呀,我是計算機學姐碼農小野!如果有相關需求,可以私信聯系我。 開發語言: Java 數據庫: MySQL 技術: SpringBoot…

某度,網盤免費加速,復活!

哈嘍,各位小伙伴們好,我是給大家帶來各類黑科技與前沿資訊的小武。 有小伙伴反饋之前如下夸克網盤腳本的加速方法失效,小武今天測試,依舊正常使用! 百度/迅雷/夸克,網盤免費加速,已破&#xf…

pytest測試框架pytest-cov插件生成代碼覆蓋率

Pytest提供了豐富的插件來擴展其功能,本章介紹下pytest-cov插件,用于生成測試覆蓋率報告,幫助開發者了解哪些部分的代碼被測試覆蓋,哪些部分還需要進一步的測試。 pytest-cov 支持多種報告格式,包括純文本、HTML、XML …

node中使用mysql

在nodeJs中mysq的基礎用法 mysql基礎 增刪改查 const mysql require(mysql)const connection mysql.createConnection({host: localhost, // 數據庫的IP地址port: 3306, // 端口號user: root, // 登錄數據庫的賬號password: 123456, // 登錄數據庫的密碼database: test, // 指…

JavaScript高級程序設計(第四版)--學習記錄之迭代器與生成器(下)

生成器 生成器是 ECMAScript 6 新增的一個極為靈活的結構,擁有在一個函數塊內暫停和恢復代碼執行的能力。 生成器基礎 生成器的形式是一個函數,函數名稱前面加一個星號表示它是一個生成器。 //生成器函數聲明 function* generatorFn(){} //生成器函數表…

網站頁面源碼,前端頁面的最基本組成形式,網頁到底是什么? 網站開發教程...

演示網站:gofly.v1kf.com -----------【視頻原文案】:現在給大家介紹一下網站上的頁面到底是什么。對于我們很多的普通用戶來說,他可能不知道一個網站一個頁面到底是什么東西。我們來從最基本的開始:如果想新建一個頁面&#xff0…

vue3+ts+vite項目中使用spreadjs,通過script標簽引入spreadjs可以提高打包速度

https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/quickstart/quickstart-js 右鍵另存這個官方的示例頁面可以下載全部js文件 https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html spread.html: <!DOCTYPE html> <html lang"zh">…

共識機制深度解析:PoW、PoS、DPoS和PBFT

區塊鏈的世界里&#xff0c;有一個非常重要的概念叫做“共識機制”。它就像是區塊鏈的心臟&#xff0c;保證大家在這條鏈上的信息是可靠的、不可篡改的。今天&#xff0c;我們就來通俗易懂地聊聊區塊鏈里的四大共識機制&#xff1a;工作量證明&#xff08;PoW&#xff09;、權益…

數據產品經理知識庫構建

概述 數據產品經理是企業中負責管理和推動數據產品的專業人員。他們利用數據來輔助決策&#xff0c;優化產品&#xff0c;提升用戶體驗。用STAR法則&#xff08;Situation, Task, Action, Result&#xff09;來介紹數據產品經理的角色&#xff0c;應該學習的數據產品&#…

Rust-11-錯誤處理

Rust 將錯誤分為兩大類&#xff1a;可恢復的&#xff08;recoverable&#xff09;和 不可恢復的&#xff08;unrecoverable&#xff09;錯誤。對于一個可恢復的錯誤&#xff0c;比如文件未找到的錯誤&#xff0c;我們很可能只想向用戶報告問題并重試操作。不可恢復的錯誤總是 b…

Labview_網絡流

網絡流的介紹 網絡流是一種易于配置、緊密集成的動態通信方法&#xff0c;用于將數據從一個應用程序傳輸到另一個應用程序&#xff0c;其吞吐量和延遲特性可與 TCP 相媲美。但是&#xff0c;與 TCP 不同的是&#xff0c;網絡流直接支持任意數據類型的傳輸&#xff0c;而無需先…

Java虛擬機調優技巧及性能監控

Java虛擬機調優技巧及性能監控 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 引言 Java虛擬機&#xff08;JVM&#xff09;作為Java程序的核心執行環境&…

忙忙碌碌的混沌之中差點撲了個空而錯過年中這條線

文章目錄 前言初見端倪混沌初始力不從心心力交瘁拾遺補缺總結 前言 突然意識到過完這個周末已經7月份了&#xff0c;他預示著我的2024年已經過半了&#xff0c;過年回家仿佛還是昨天的事情&#xff0c;怎么轉眼間已經到了年中了。心里還是不愿承認這件事&#xff0c;翻開自己2…

cpu,緩存,輔存,主存之間的關系及特點

關系圖 示意圖&#xff1a; ------------------- | CPU | | ------------- | | | 寄存器 | | | ------------- | | | L1緩存 | | | ------------- | | | L2緩存 | | | ------------- | | | L3緩存 | | | ------------- | ----…

每日一題——Python實現PAT乙級1073 多選題常見計分法(舉一反三+思想解讀+逐步優化)9千字好文

一個認為一切根源都是“自己不夠強”的INTJ 個人主頁&#xff1a;用哲學編程-CSDN博客專欄&#xff1a;每日一題——舉一反三Python編程學習Python內置函數 Python-3.12.0文檔解讀 目錄 初次嘗試 再次嘗試 有何不同 版本一&#xff08;原始版本&#xff09;&#xff1a;…

ISO 19110全局要求類中的/req/global/binding-constraints詳細解釋

/req/global/binding-constraints 要求: 如果模型中包含對綁定實體的約束&#xff0c;則這些約束必須由一個具有字符串值的描述屬性的約束實體&#xff08;Constraints entity&#xff09;表示。綁定實體必須通過“constrainedBy”角色鏈接到這個約束實體。 具體解釋 定義 …

修復vcruntime140.dll方法分享

修復vcruntime140.dll方法分享 最近在破解typora的時候出現了缺失vcruntime140.dll文件的報錯導致軟件啟動失敗。所以找了一番資料發現都不是很方便的處理&#xff0c;甚至有的dll處理工具還需要花錢&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff0c;我本來就是為…

python實現網頁自動化(自動登錄需要驗證的網頁)

引言: python作為實現網頁自動化的一個重要工具,其強大的各種封裝的庫使得程序運行更加簡潔,只需要下載相應的庫,然后調用庫中的函數就可以簡便的實現我們想要的網頁相關操作。 正文: 我的前幾篇文章寫了關于初學爬蟲中比較容易上手的功能,例如爬取靜態網頁的數據、動…