1. 計算機系統概述

1. 計算機系統概述

文章目錄

  • 1. 計算機系統概述
    • 1.1 計算機的發展
      • 硬件的發展
      • 軟件的發展
    • 1.2.1 計算機硬件的基本組成
      • 早期馮諾依曼的結構
      • 現代計算機的結構
    • 1.2.2 各個硬件的工作原理
      • 主存儲器
      • 運算器
      • 控制器
      • 計算機工作過程
    • 1.2.3 計算機系統的多級層次結構
    • 1.3 計算機的性能指標
      • 存儲器的性能指標
          • 總容量
      • CPU的性能指標
          • CPU主頻
          • 平均CPI
          • IPS
      • 系統整體的性能指標
        • 數據通路帶寬
        • 吞吐量
        • 響應時間
      • 系統整體的性能指標(動態測試)
      • 常用數量單位

計算機組成(硬件)-> 操作系統 -> 數據結構(軟件)<—計算機網絡—> 其他計算機

例子:買電腦的時候會關注CPU型號(圖像處理速度)、運行內存(同時開多個應用程序)、機身存儲(外存)(可以存的容量大小)、顯卡(顯卡是由GPU、顯存等組成的)

計算機硬件唯一能識別的數據:二進制0/1,用低/高電平分別表示0/1

硬件上的金屬針腳是用來接受高/低電平的電信號的,主板上的印刷電路是導電用的

待解決問題:數字、文字、圖像如何用二進制表示?CPU如何對二進制數進行加減乘除?二進制數如何存儲?如何從內存中取出想要的數據?CPU如何識別和執行我們寫的程序?

軟件:系統軟件(用來管理整個計算機系統,例如操作系統、數據庫管理系統DBMS、標準程序庫、網絡軟件、語言處理程序、服務程序) + 應用軟件

1.1 計算機的發展

硬件的發展

計算機邏輯元件的發展:電子管(機器語言,紙袋機,馮諾依曼),晶體管(面向過程設計語言,操作系統雛形,貝爾實驗室),中小規模集成電路(高級語言,分時操作系統),大規模、超大規模集成電路(微處理器CPU,微型計算機,個人計算機,操作系統)

微處理器發展:機器字長增加?

機器字長:計算機(CPU)一次整數運算所能處理的二進制位數

摩爾定律:在集成電路上,可以容納的晶體管數目每隔18個月會增加一倍,(CPU)整體性能也將提升一倍。主存(內存)的發展也符合摩爾定律。

軟件的發展

軟件的發展就是編程語言的發展:機器語言,匯編語言,高級編程語言

操作系統的發展:DOS命令行,圖形化界面

目前的兩極分化:微型計算機向更微型化、網絡化、高性能、多用途方向發展;巨型機向更巨型化、超高速、并行處理、智能化方向發展

1.2.1 計算機硬件的基本組成

早期馮諾依曼的結構

存儲程序的概念:將指令以二進制代碼的形式事先輸入計算機的主存儲器(內存),計算機按順序執行指令,直到程序結束

硬件結構:

1

運算器:進行算術運算、邏輯運算

控制器:指揮程序運行

馮諾依曼計算機的特點:計算機由五大部件組成;指令和數據以同等地位存于存儲器,可按地址尋訪;指令和數據用二進制表示;指令由操作碼和地址碼組成;存儲程序;以運算器為中心

現代計算機的結構

是馮諾依曼結構的優化,以存儲器為中心

2

CPU = 運算器 + 控制器

3

現代計算機結構:主機(CPU(運算器+控制器)+存儲器)+IO設備(輸入設備+輸出設備)

存儲器:存放數據和程序

運算器:算術運算、邏輯運算

控制器:指揮各部件,使程序運行

1.2.2 各個硬件的工作原理

主存儲器

主存儲器 = 存儲體 + MAR + MDR, 數據在存儲體內按地址存儲

主存儲器的工作流程:CPU->MAR 存儲地址寄存器->存儲體->MDR 存儲數據寄存器->CPU

CPU可以往主存儲器讀寫數據,流程是一樣的

4

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

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

存儲字長:存儲單元中二進制代碼的位數,通常為8 bit 的整數倍

4

MAR位數反應存儲單元的個數,MDR位數=存儲字長

例子:MAR = 4位 ->總共有24個存儲單元

? MDR = 16位 ->每個存儲單元可存放16bit, 1個字(word) = 16bit

易混淆:1個字節(Byte) 1B = 8bit ; 1b = 1bit

? 和字不一樣,字的大小看計算機硬件怎么設計的

運算器

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

運算器 = ACC +MQ+X+ALU

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

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

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

ALU:算術邏輯單元,通過內部復雜的電路實現算術運算、邏輯運算

控制器

控制器 = CU+IR+PC

CU:(最核心)控制單元,分析指令,給出控制信號

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

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

完成指令:取指令(PC),分析指令(IR),執行指令(CU)

計算機工作過程

控制器PC?主存儲器MAR?主存儲體?MDR?控制器IR //取指令

?CU //分析指令

?主存儲器 //執行取或存數指令

(?運算器)

?控制器PC自動加一

(執行停機指令)

1.2.3 計算機系統的多級層次結構

高級語言(C++為例)->(編譯器:編譯程序)-> 匯編語言:助記符 -> (匯編器:匯編程序)-> 機器語言:二進制代碼

編譯程序:將高級語言編寫的源程序全部語句一次全部翻譯成機器語言程序

解釋程序:將源程序一條語句翻譯成對應于機器語言的語句,并立刻執行

1.3 計算機的性能指標

存儲器的性能指標

總容量

總容量= 存儲單元個數 * 存儲字長 bit = 存儲單元個數 * 存儲字長/8 Byte

例:MAR為32位(存儲單元個數為232),MDR為8位(存儲字長位8),則總容量為232 * 8 = 4GB

MAR位數反應存儲單元的個數(最多支持多少個)

CPU的性能指標

CPU主頻

**CPU主頻:**CPU內數組脈沖信號振蕩的頻率。

每個脈沖信號的時間 -> CPU時鐘周期

CPU主頻(時間頻率) = 1 / CPU時鐘周期 Hz

平均CPI

CPI: 執行一條指令所需要的時鐘周期數

CPU執行一條指令的耗時 = CPI * CPU時鐘周期

CPU執行時間 = 指令條數 * 平均CPI * CPU時鐘周期

IPS

IPS: 每秒執行多少條指令 = 主頻/平均CPI

系統整體的性能指標

數據通路帶寬

數據總線一次所能并行傳送信息的位數

吞吐量

系統在單位時間內處理請求(一條指令、一個完整的程序運行)的數量

響應時間

從用戶向計算機發送一個請求,到系統對該請求做出相應并得到他所需要的結果的等待時間

系統整體的性能指標(動態測試)

基準程序:用來測量計算機處理速度的一種實用程序,以便于被測量的計算機性能可以與運行相同程序的其他計算機性能進行比較

基準程序中的語句存在頻度差異,運行結果不能完全說明問題

常用數量單位

描述存儲容量、文件大小時:

K = 2^10,

M = 2^20,

G = 2^30,

T = 2^40

描述頻率、速度時:

K = 10^3,

M = 10^6,

G = 10^9,

T = 10^12

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

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

相關文章

GD32如何配置中斷優先級分組以及中斷優先級

使用GD32 MCU的過程中&#xff0c;大家可能會有以下疑問&#xff1a;中斷優先級如何配置和使用&#xff1f; 本文將會為大家解析中斷優先級分組以及中斷優先級的配置使用&#xff1a; 中斷優先級分組配置 一個GD32 MCU系統需要大家明確系統中使用的中斷優先級分組&#xff0…

代駕公司在市場競爭中如何保持優勢?

在競爭激烈的市場中&#xff0c;代駕公司可以通過多種策略保持其競爭優勢&#xff0c;包括利用市場潛力、創新服務模式、提高服務效率以及加強品牌建設等。以下是具體的策略&#xff1a; 利用市場潛力 汽車產業空間巨大&#xff1a;隨著汽車保有量的增加&#xff0c;代駕行業…

掃地機器人:卷價格,不如卷技術

掃地機器人內卷的終點是技術和價值&#xff0c;價格只是附屬品。 一路上漲的價格&#xff0c;一路下跌的銷量 從價格飆升&#xff0c;到重新卷回價格&#xff0c;尷尬的背后是掃地機器人在骨感現實下的無奈抉擇。 根據數據顯示&#xff0c;2020中國掃地機器人線上市場零售均價…

通過可識別性和深度學習重建大腦功能網絡

摘要 本研究提出了一種新的方法來重建代表大腦動力學的功能網絡&#xff0c;該方法基于兩個腦區在同一認知任務中的共同參與會導致其可識別性或其動力學特性降低的觀點。這種可識別性是通過深度學習模型在監督分類任務中獲得的分數來估計的&#xff0c;因此不需要對這種協同參…

零、測試開發前置知識

文章目錄 1、什么是冒煙測試、回歸測試&#xff1f;2、設計測試用例的方法有哪些&#xff1f;3、對于404或500&#xff0c;你會如何分析定位&#xff1f;4、什么是敏捷開發&#xff1f;敏捷開發流程是怎么樣的&#xff1f;5、做接口測試過程中&#xff0c;下游接口需要上游數據…

Flink端到端的精確一次(Exactly-Once)

目錄 狀態一致性 端到端的狀態一致性 端到端精確一次&#xff08;End-To-End Exactly-Once&#xff09; Flink內部的Exactly-Once 輸入端保證 輸出端保證 冪等寫入 事務寫入 Flink和Kafka連接時的精確一次保證 整體介紹 需要的配置 案例 狀態一致性 流式計算本身就…

Java工作學習筆記

1、ConfigurationProperties注解是什么意思&#xff1f; ConfigurationProperties 可以將屬性文件與一個Java類綁定&#xff0c;將屬性文件中的變量值注入到該Java類的成員變量中 示例代碼&#xff1a; /*** SSP配置** author mua*/ Component Data ConfigurationProperties…

如何提高接口響應速度

在非大數據&#xff08;幾萬以上記錄&#xff09;的情況下&#xff0c;影響接口響應速度的因素中最大的是查詢數據庫的次數&#xff0c;其次才是數組遍歷和簡單數據處理&#xff08;如根據已有字段增加新的屬性&#xff0c;或計算值&#xff09;。 一般一次數據庫查詢需要50毫秒…

Java Web應用,IPv6問題解決

在Java Web程序中&#xff0c;如果使用Tomcat并遇到了IPv6相關的問題&#xff0c;可以通過以下幾種方式來解決&#xff1a; 1. 配置Tomcat以使用IPv4 默認情況下&#xff0c;Java可能會優先使用IPv6。如果你希望Tomcat使用IPv4&#xff0c;最簡單的方法是通過設置系統屬性來強…

無線麥克風哪個牌子性價比高?一文告訴你無線領夾麥克風怎么挑選

?當我們談論到演講、表演或者錄制視頻時&#xff0c;一個高質量的無線麥克風能夠使得整個體驗提升至一個全新的水平。它不僅能夠保證聲音的清晰度和真實度&#xff0c;還能夠讓使用者在演講或者表演時更加自信和舒適。基于對市場的深入研究和用戶體驗的考量&#xff0c;我挑選…

TypeScript 中的 tsconfig.json

什么是 tsconfig.json&#xff1f; tsconfig.json 是 TypeScript 編譯器的配置文件&#xff0c;用于指導編譯器如何編譯 TypeScript 代碼。在 TypeScript 項目中&#xff0c;如果存在這個文件&#xff0c;那么在執行 tsc 命令時&#xff0c;編譯器將會使用該文件中定義的配置選…

【Java】解決Java報錯:IllegalArgumentException

文章目錄 引言1. 錯誤詳解2. 常見的出錯場景2.1 非法的參數值2.2 空值或 null 參數2.3 非法的數組索引 3. 解決方案3.1 參數驗證3.2 使用自定義異常3.3 使用Java標準庫中的 Objects 類 4. 預防措施4.1 編寫防御性代碼4.2 使用注解和檢查工具4.3 單元測試 結語 引言 在Java編程…

【NPS】微軟NPS配置802.1x,驗證域賬號,動態分配VLAN(有線網絡續篇)

繼上一篇文章中成功實施了有線802.1x驗證域賬號并動態分配VLAN的策略之后&#xff0c;我們迎來了一個新的目標&#xff1a;在用戶驗證失敗時&#xff0c;自動分配一個Guest VLAN&#xff0c;以確保用戶至少能夠訪問基本的網絡服務。這一改進將顯著提升網絡的靈活性和用戶的上網…

書籍數字字符串轉換為字母組合的種數(4)0607

題目&#xff1a; 給定一個字符串str&#xff0c;str全部由數字字符組成&#xff0c;如果str中某一個或某相鄰兩個字符組成的子串值在1~26之間&#xff0c;則這個子串可以轉換為一個字母。規定“1”轉換為“A”&#xff0c;“2”轉換為“B”&#xff0c;“3”轉換成“C”……“…

Kafka的分區副本機制

目錄 生產者的分區寫入策略 輪詢策略 隨機策略 按key分配策略 亂序分區 自定義分區策略 實現步驟&#xff1a; 消費者組Rebalance機制 Rebalance觸發時機 Rebalance的不良影響 消費者分區分配策略 Range范圍分配策略 RoundRobin輪詢策略 Stricky粘性分配策略 生產…

計算機網絡-NAT配置與ACL

目錄 一、ACL 1、ACL概述 2、ACL的作用 3、ACL的分類 4、ACL的配置格式 二、NAT 1、NAT概述 2、NAT分類 2.1 、 靜態NAT 2.2 、 動態NAT 3、NAT的功能 4、NAT的工作原理 三、NAT配置 1、靜態NAT配置 2、動態NAT配置 四、總結 一、ACL 1、ACL概述 ACL&#xff…

讓編程變得更加直觀與高效 “JAVA圖形化編程”官網上線!

公測預約開啟 我們歷經了長達三年的時光&#xff0c;執著地堅守并潛心地進行探索&#xff0c;始終懷著一顆敬畏的心&#xff0c;最終極為謹慎地推出了這款圖形化編程桌面。它能夠使得業務與程序清晰明了地呈現&#xff0c;而且還能與傳統的低零代碼平臺實現緊密…

新品發布 | 飛凌嵌入式RK3576核心板,為AIoT應用賦能

為了充分滿足AIoT市場對高性能、高算力和低功耗主控日益增長的需求&#xff0c;飛凌嵌入式全新推出基于Rockchip RK3576處理器開發設計的FET3576-C核心板&#xff01; 集成4個ARM Cortex-A72和4個ARM Cortex-A53高性能核&#xff0c;內置6TOPS超強算力NPU&#xff0c;為您的AI…

LeetCode 兩數之和 + 三數之和

兩數之和 簡單題 思路&#xff1a;一個Map&#xff0c;key是數值&#xff0c;value是該數值對應的下標&#xff0c;遍歷的時候判斷一下當前數組下標對應的值在map里有沒有可組合成target的&#xff08;具體體現為在map里找target-nums【i】)&#xff0c;如果有&#xff0c;直接…

IDEA使用阿里通義靈碼插件

在這個AI火熱的時代&#xff0c;純手工寫代碼已經有點out了&#xff0c;使用AI插件可以幫我們快速寫代碼&#xff0c;起碼能省去寫那些簡單、重復性的代碼&#xff0c;大大提高編碼效率&#xff0c;在這里我推薦使用阿里的通義靈碼 注冊安裝 安裝注冊好后&#xff0c;打開我們…