[電網備考]計算機組成與原理

計算機系統概述

計算機發展歷程

從數據表示:
計算機可以分為數字計算機與模擬計算機

1946 第一臺電子數字計算機 ENIAC 在賓夕法尼亞大學誕生,標志進入電子計算機時代

時間計算機發展階段
1946-1958電子管計算機時代
1958-1964晶體管計算機時代
1964-1971集成電路計算機時代
1971-至今超大規模集成電路計算機時代

摩爾定律

當價格不變,集成電路上可以容納的晶體管數量大約18-24個月翻一番,性能提升一杯

計算機系統的組成

在這里插入圖片描述

計算機 = 軟件+硬件
固件: 固化的軟件,兼備軟件與硬件的特性
計算機硬件系統: 構成計算機系統的電子線路與電子元件等物理設備總稱
硬件是構成計算機的物質基礎,是計算機系統的核心

馮諾依曼體系結構
二進制作為數字計算機數制基礎的理論
主要思想: 存儲程序,程序控制

計算機硬件 = 運算器 + 控制器 + 存儲器+ 輸入設備 + 輸出設備
計算機軟件 = 應用軟件+系統軟件
cpu = 運算器+控制器
在這里插入圖片描述

計算機系統的層次結構

在這里插入圖片描述

軟件
高級語言:高級語言
匯編語言 :匯編語言
操作系統:匯編語言
硬件
指令集架構層:通過解釋到微代碼層,機器語言
微代碼層:微程序
邏輯門層:硬件工程師看到的

在抽象的較高層,使用問題環境的語言,以概述的方式解決問題,在抽象的較低層,采用過程化的方式
計算機的層次結構是1960 之后引入計算機領域的概念,是計算機中使用抽象方法的具體實例

計算機性能指標與評價

基本性能指標

  • 字長: cpu一次處理的數據位數,用二進制的位數表示
  • 主存容量;主存能存儲的最大信息量,一般用M*N,M代表存儲單元數,N表示每個存儲單元的存儲的二進制位數

時間性能指標

  • 時間周期:計算機中最基本,最小的時間單位,一個時間周期,cpu只能完成一個動作
  • CPI:執行每條指令所需要的平均時間周期數量
  • IPC:cpi的倒數,每個時間周期cpu執行的指令數量
  • MIPS:每秒百萬條指令,更大的單位GIPS
  • MFLOPS:計算機每秒執行的浮點運算的位數

數據的機器級表示與運算

數據表示的作用

數據表示的作用給是將數據按照某種方式組織起來,以便計算機硬件能直接識別與使用
在設計與選擇計算機數據表示方式的時候需要考慮的因素

  1. 數據類型
  2. 表示范圍與精度
  3. 存儲與處理的代價
  4. 軟件的可移植性

二進制由于編碼最少,容易與簡單的物理狀態對應,算術邏輯運算電路更容易實現等優勢成為現代計算機中數據表示的必然選擇,采用二進制可以表示任何的數據信息

數值數據的表示

機器數/機器碼: 符號+數值一起編碼表示的二進制數
定點數的機器碼: 原碼,反碼,補碼,移碼

  1. 原碼
    最高位:符號位,0正,1負數
    數值:絕對值
    與真值最接近的一種表示方法
  2. 反碼
    符號位同原碼
    真值為負數的時候: 數值位取反
  3. 補碼
    真值為負數的時候: 數值位取反+1
  4. 移碼
    只表示定點整數,常用于表示浮點數的階碼

正數:原碼反碼補碼同
0:

定點數表示

  1. 無符號數的表示
    指的是正整數的表示,表示的是數的絕對值
    機器字長的全部位數來表示數值的大小,
    若字長n+1位,則無符號數的表示范圍:0~2(n+1) -1
  2. 帶符號數的表示
    最高位符號位,0正1負

浮點數表示

浮點數: 小數點可以移動的數據
符號位+階碼+尾數
階碼部分用移碼表示
在這里插入圖片描述

定點數運算

  1. 移位運算:
    算術移位:帶符號數移位
    邏輯移位:無符號數移位
  2. 原碼定點數的加/減運算
  3. 補碼定點數的加/減運算
  4. 定點數的乘/除運算

浮點數加/減運算

對階
尾數加減
規格化
舍入
檢查溢出

進位計數制及其相互轉換

信息計算機數據表示
整數定點數
實數浮點數
布爾數邏輯數
字符
字符串
無符號數在計算機中的表示
  1. 位數不等的二進制碼
  2. BCD碼,分為壓縮BCD 和 非壓縮BCD
  3. ASCLL碼 ,包含128個編碼
    52個大小寫字母
    10個十進制數字字符
    32個標點符號,運算符號,特殊號
    34個不可以顯示打印的控制字符編碼

數據校驗

數據校驗碼
加進一些冗余碼,使得合法編碼出現某些錯誤的時候,就成為錯誤編碼
碼距
根據任意兩個合法碼之間至少有幾個二進制位不相同確定,僅有1位不同稱之為碼距為1

奇偶校驗碼

原理:
使碼距由1增加到2
如果編碼中由1位二進制數出錯了,這樣的出錯的編碼就成為非法編碼,就可以知道出現了錯誤
在原有的編碼上再增加1位校驗位,原編碼n位,形成新的編碼n+1位,增加的方式有兩種

  1. 奇校驗
    增加的0/1使得整個編碼中1的個數為奇數個
  2. 偶校驗
    增加的0/1使得整個編碼中1的個數為偶數個

海明校驗碼

原理:
在數據中加入幾個校驗位,并把數據中的每一個二進制位分配到幾個奇偶校驗組中,當某一位出錯引起相關的校驗組發生錯誤
這樣可以定位發生錯誤的是哪一位,還給自動糾錯提供保障
只有k=2?-1-r能用于糾正被傳送數據的位數

CRC校驗碼

原理:
在k位信息后拼接r位校驗碼
如何從k位信息得到r位校驗碼?

指令系統

指令系統

指令系統

計算機的工作是反復執行指令
指令是用戶使用計算機與計算機運行的基本單位
高級語言指令與匯編語言指令屬于軟件層次
機器語言指令與微指令則屬于硬件層次

軟件層次的指令 翻譯 層機器語言指令 才能被計算機硬件識別并執行
機器指令是計算機硬件與軟件的界面,是用戶操作與使用計算機硬件的接口
指令系統是計算機系統性能的集中體現,是計算機軟,硬件系統的設計基礎

指令格式

操作碼+地址碼

  • 操作碼:
  • 操作數的地址
  • 操作結果的存儲地址
  • 下一條指令的地址

指令尋址方式

根據存儲程序的概念,計算機在運行之前必須把指令與數據存放在主存的相應地質單元
運行程序的時候,不斷從主存取指令與數據
主存是基于地址訪問的,只有獲取指令與數據在主存中的地址(有效地址EA),CPU才能訪問指令與數據
尋址方式就是尋找指令或操作數有效地址的方式

尋址方式分類
數據尋址立即/直接/間接/寄存器/寄存器間接/相對/變址/基址/堆棧 尋址
指令尋址順序/跳躍 尋址

CISC 與 RISC

名字內容
CICS復雜指令集計算機隨著VLSI技術發展,指令系統復雜龐大,
大多數采用微程序控制器
縮短高級語言與指令系統的差別
源代碼長度短
RISC簡單指令集計算機IBM公司的John提出,指令簡單長度固定
硬布線控制邏輯為主,一般用高級語言編程
優化編譯,源代碼長度長

中央處理器

CPU 功能和組成

cpu 功能

  1. 程序控制
    程序中指令執行順序控制
  2. 操作控制
    機器指令翻譯成執行部件所需要的操作控制信號
  3. 時序控制
    控制操作信號的產生,持續時間
  4. 數據加工
    對數據進行算術,邏輯運算,或將數據在相關部件之間傳送
  5. 中斷處理
    cpu及時響應內部異常與外部中斷請求

cpu組成

運算器+控制器

控制器功能

取指令,分析指令,執行指令

控制器組成
  1. 程序計數器 PC
  2. 指令寄存器 IR
  3. 存儲器地址寄存器AR 存儲器數據寄存器 DR
  4. 指令譯碼器或操作碼譯碼器
  5. 脈沖源及啟停線路
  6. 時序控制信號形成部件

指令執行過程

???

數據通路的功能與基本結構

cpu 的數據通路是連接cpu內部各個部件與cpu外部的各個部件之間的數據與控制信號的連接關系圖

控制器的功能與工作原理

硬布線控制器

1.時序與節拍
每一步由一個機器周期來完成,假設采取4個機器周期,需要4個不同的信號輸出來表示
2.操作碼譯碼器
指令的操作碼部分指出本指令將執行什么指令,對于不同的指令采用不同的代碼表示
3.操作控制信號的產生

微程序控制器

計算機中一條指令的功能是通過按照一定的次序執行一系列基本的操作完成的
這些基本操作稱為微操作
實現微操作的控制命令就是微命令
1.微程序,微指令,微命令

  1. 微指令:一組微操作就是微指令,一條指令可以被分為若干條微指令
  2. 微程序:計算機每條指令都是由微指令序列解釋完成,這些序列的集合叫做微程序
    2.微指令的編碼方式
  • 直接控制法
  • 字段直接編譯法
  • 字段間接編譯法

存儲器分層體系結構

存儲器體系結構

在這里插入圖片描述

隨機訪問存儲器

隨機存儲器可以按照地址隨機讀寫數據存儲單元,且存儲訪問時間與存儲單元的位置無關
半導體存儲器 分為 隨機存儲器與只讀存儲器

存儲器特點
SRAM隨機訪問存儲器,易失性存儲器,可以作為高速緩存存儲器,也可以用在CPU上面
DRAM隨機訪問存儲器,易失性存儲器,常用于主存
PROM只能被編程一次
EPROM可以編程多次
閃存非易失性存儲器,基于EEPROM

訪問主存
數據通過總線在處理器與DRAM之間來來回回
每次cpu與主存之間的數據傳送都是通過一系列步驟完成的,這些步驟稱為總線事務
讀事務:主存傳送數據到CPU
寫事務:CPU傳送數據到主存
IO橋: 將系統總線的電子信號翻譯成為存儲器總線的電子信號

磁盤存儲

磁盤由多個疊放在一起的盤片組成,整體稱為磁盤驅動器,簡稱磁盤
SSD 沒有移動的部分

高速緩存

互連與輸入輸出系統

I/O系統概念

I/O系統主要用于實現CPU與外部設備,外部設備與主存之間的信息交換
包括 I/O設備.I/O接口,總線,I/O管理部件等硬件設備
驅動程序,軟件訪問接口,用戶程序等軟件設備

輸入輸出設備的發展

  1. 早期:分散連接,CPU 與I/O設備串行工作,程序查詢方式
  2. 接口模塊和DMA階段:總線連接,CPU與I/O設備并行工作,中斷方式和DMA方式
  3. 具有通道機構的階段
  4. 具有I/O處理機的階段

I/O接口的功能

接口

  • 總線接口:標準的
  • 內部接口:因設備而異,非標準的
    功能
  1. 設備尋址:接收來自總線的地址信息,經過譯碼電路,選擇對應外部設備的寄存器與存儲器
  2. 數據交互:實現外部設備,主存,cpu之間的數據交換
  3. 設備控制:傳送cpu命令
  4. 狀態檢測:反應外部設備的工作狀態
  5. 數據緩沖:匹配cpu與外部設備的速度差距
  6. 格式轉換:實現數據格式轉化或邏輯電平信號轉換
    還應該有中斷,時序控制,數據檢錯,糾錯的功能

外部設備

輸入設備

  1. 鍵盤
    常見的ASCLL字符
    功能鍵盤
    光標控制鍵
    編輯鍵
  2. 鼠標
    機械式:金屬球電位器
    光電式:光電轉換器

輸出設備

  1. 顯示器
    按器件分類:CRT顯示器,LED顯示器,等離子體顯示器
    按顯示內容分類:字符發生器(CRT),圖形顯示器(主觀圖像),圖像顯示器(客觀圖像)
  2. 打印機
    按印字原理分類:
    • 打擊式:點陣式打印機
    • 非打擊式:激光,靜電,噴墨等
      按照工作方式分類:
    • 串行打印機,逐字打印
    • 行式打印機,逐行打印

外存儲器

  1. 硬盤存儲器
  2. 磁盤陣列
    RAID 采用低成本的小溫盤,使得多臺磁盤構成同步化的磁盤陣列
    分類:RAID0~RAID6
    RAID6能支持兩塊磁盤同時出錯
  3. 光盤存儲器
    只讀光盤
    寫一次/多次讀光盤
    可重寫光盤

I/O接口(IO控制器)

基本功能

  1. 實現設備的選擇
  2. 實現數據緩沖達到速度匹配
  3. 實現數據串并格式轉換
  4. 實現電平轉換
  5. 傳送控制命令
  6. 反映設備的狀態

基本組成

在這里插入圖片描述

功能組成
選址設備選擇電路
傳送命令命令寄存器,命令譯碼器
傳送數據數據緩沖寄存器
反映設備狀態設備狀態標記

I/O端口及其編址

cpu采用兩種方式訪問I/O設備,也稱I/O端口編址方式

  1. 專門的io指令
    由相應的控制信號來區分CPU執行的什么指令
  2. 利用訪問存儲器命令完成io功能
    從主存地址空間分一部分作為io的設備代碼
    沒有控制信號區分存儲器還是端口

I/O方式

cpu與外部設備進行信息交換,根據外部設備不同采取不同的控制方式

  1. 程序查詢方式
    cpu不斷的詢問外部設備是否準備好
  2. 程序中斷方式
    進程進入等待隊列,當外設準備好后向cpu發送中斷請求,cpu響應中斷請求,展廳當前執行的程序,調用中斷服務程序,由中斷服務程序喚醒正在等待的進程
    CPU與外設可以并行工作
  3. DMA方式
    IO設備與主存之間由硬件組成的數據通路
  4. 通道方式

總線

分類

方式分類
傳送信息的方式串行/并行/復合傳送(先傳地址,再傳送數據)
傳送信息的類型數據總線DB/地址總線AB/控制總線CB/復合總線AD
按照連接的距離與對象分類片內總線/系統總線/外總線

總線協議

總線傳輸的周期

  1. 總線請求
  2. 總線仲裁
  3. 尋址階段
  4. 傳輸階段
  5. 結束階段

四種方式:

  • 同步通信
  • 異步通信
  • 半同步通信
  • 分離式通信

并行處理系統

多核處理器

是在超線程,多處理器,超標量的基礎上發展的

GPU

GPU是適合做大量重復運算的處理器

集群

由完整的計算機和獨立的可以擴展的網絡構建的

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

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

相關文章

8.c語言指針

內存管理C語言中,棧內存(局部變量)自動分配/釋放,靜態區(全局、靜態變量)編譯時分配;堆內存需手動分配/釋放,核心函數有3個:malloc函數原型:void* malloc(siz…

使用GPU訓練模型

本文代碼詳解參考: 模型訓練基礎流程-CSDN博客 目錄 為什么要用GPU訓練模型 什么是CUDA 利用GPU訓練—方式一(.cuda()) 利用GPU訓練—方式二 (.to()) Google Colaboratory 為什么要用GPU訓練模型 用 GPU 訓練模型的核心原因是GPU 的硬件架構和計算特性&#…

Matlab學習筆記:自定義函數

MATLAB 學習筆記:自定義函數自定義函數是MATLAB編程的基礎,它允許你將重復代碼封裝成可重用的模塊,提高代碼的可讀性和效率。本筆記將覆蓋所有重點知識點,包括語法細節、輸入輸出處理、函數文件管理、錯誤處理等。我會用自然易懂的…

【數學建模 | Matlab】二維繪圖 和 三維繪圖

- 第 115 篇 - Date: 2025 - 07 - 23 Author: 鄭龍浩(仟墨) 續寫上一篇,如下文章: 【數學建模|Matlab】Matlab「基礎知識」和「基礎操作」 五 二維繪圖 1 舉例 % 二維平面繪圖(擴展至 -2π 到 2π) x …

MCP (Model Context Protocol) 與 HTTP API:大模型時代的通信新范式

MCP (Model Context Protocol) 與 HTTP API:大模型時代的通信新范式在數字世界的兩端,API 扮演著不可或缺的橋梁角色。我們熟知的 HTTP API 是 Web 互聯互通的基石,驅動著無數應用程序的交互。然而,隨著大型語言模型(L…

CentOS 搭建 Docker 私有鏡像倉庫

CentOS 搭建 Docker 私有鏡像倉庫 搭建 Docker 私有鏡像倉庫能為團隊提供高效、安全的鏡像管理方案。下面將詳細介紹每個步驟的操作細節,其中命令部分均用代碼塊展示。 一、環境準備 要搭建 Docker 私有鏡像倉庫,首先得確保服務器環境符合要求&#xff0…

Zookeeper的簡單了解

Zookeeper的簡單了解 Zookeeper是一個為分布式應用程序提供協調服務的中間件。 主要作用有三點:分布式鎖、注冊中心、配置管理、。 特點有讀寫速度快(內存存儲)、有監聽機制(用于發布訂閱)、保證了順序一致性&#xff…

Android Fragment 全解析

在 Android 開發中,Fragment 是構建靈活界面的核心組件 —— 它既能像 “迷你 Activity” 一樣包含布局和邏輯,又能靈活地嵌入到不同 Activity 中復用。無論是平板的多面板布局,還是手機的單頁切換,Fragment 都能讓界面適配更高效…

0-1BFS(雙端隊列,洛谷P4667 [BalticOI 2011] Switch the Lamp On 電路維修 (Day1)題解)

對于權重為0或1的路徑搜索中&#xff0c;使用雙端隊列可以對最短路問題進行時間復雜度的優化&#xff0c;由于優先隊列的O(longn)級別的插入時間&#xff0c;對于雙端隊列O(1)插入可以將時間復雜度減少至O(M); https://www.luogu.com.cn/problem/P4667 #include<bits/stdc…

基于LNMP架構的分布式個人博客搭建

1.運行環境主機主機名系統服務192.168.75.154Server-WebLinuxWeb192.168.75.155Server-NFS-DNSLinuxNFS/DNS2.基礎配置配置主機名&#xff0c;靜態IP地址開啟防火墻并配置部分開啟SElinux并配置服務器之間使用同ntp.aliyun.com進行時間同步服務器之間使用用ntp.aliyun.com進行時…

基于開源AI智能名片鏈動2+1模式S2B2C商城小程序的人格品牌化實現路徑研究

摘要&#xff1a;在數字化消費時代&#xff0c;人格品牌化已成為企業突破同質化競爭的核心策略。本文以開源AI智能名片、鏈動21模式與S2B2C商城小程序的融合為切入點&#xff0c;構建“技術賦能-關系重構-價值共生”的人格品牌化理論框架。通過分析用戶觸達、信任裂變與價值沉淀…

設計模式十一:享元模式(Flyweight Pattern)

享元模式是一種結構型設計模式&#xff0c;它通過共享對象來最小化內存使用或計算開銷。這種模式適用于大量相似對象的情況&#xff0c;通過共享這些對象的公共部分來減少資源消耗。基本概念享元模式的核心思想是將對象的內在狀態&#xff08;不變的部分&#xff09;和外在狀態…

Webpack/Vite 終極指南:前端開發的“渦輪增壓引擎“

開篇:當你的項目變成"俄羅斯套娃" "我的index.js怎么引入了87個文件?!" —— 這是每個前端開發者第一次面對復雜項目依賴時的真實反應。別擔心,今天我要帶你認識兩位"打包俠":老牌勁旅Webpack和新銳黑馬Vite 一、構建工具:前端世界的&qu…

Windows 下配置 GPU 用于深度學習(PyTorch)的完整流程

1. 安裝 NVIDIA 顯卡驅動 前往 NVIDIA官網 下載并安裝適合你顯卡型號&#xff08;如 5070Ti&#xff09;的最新版驅動。下載 NVIDIA 官方驅動 | NVIDIA安裝完成后建議重啟電腦。 2. 安裝 CUDA Toolkit 前往 CUDA Toolkit 下載頁。 選擇 Windows、x86_64、你的系統版本&#…

詳解力扣高頻SQL50題之180. 連續出現的數字【困難】

傳送門&#xff1a;180. 連續出現的數字 題目 表&#xff1a;Logs -------------------- | Column Name | Type | -------------------- | id | int | | num | varchar | -------------------- 在 SQL 中&#xff0c;id 是該表的主鍵。 id 是一個自增列。 找出所有至少連續…

VSCode 報錯 Error: listen EACCES: permission denied 0.0.0.0:2288

使用 npm run dev 啟動項目時報錯&#xff1a;error when starting dev server: Error: listen EACCES: permission denied 0.0.0.0:2288at Server.setupListenHandle [as _listen2] (node:net:1881:21)at listenInCluster (node:net:1946:12)at Server.listen (node:net:2044:…

[2025CVPR-圖象超分辨方向]DORNet:面向退化的正則化網絡,用于盲深度超分辨率

1. ?問題背景與挑戰? 盲深度超分辨率&#xff08;Blind Depth Super-Resolution, DSR&#xff09;的目標是從低分辨率&#xff08;LR&#xff09;深度圖中恢復高分辨率&#xff08;HR&#xff09;深度圖&#xff0c;但現有方法在真實場景下面臨顯著挑戰&#xff1a; ?已知…

關系與邏輯運算 —— 寄存器操作的 “入門鑰匙”

前言 哈嘍大家好&#xff0c;這里是 Hello_Embed 的新一篇學習筆記。在前文中&#xff0c;我們學習了如何用結構體指針操作硬件寄存器&#xff0c;而寄存器的配置往往離不開位運算和條件判斷 —— 比如通過邏輯運算精準修改某幾位的值&#xff0c;通過關系運算判斷硬件狀態。這…

使用 Python 將 CSV 文件轉換為帶格式的 Excel 文件

在日常的數據處理和報表生成工作中&#xff0c;CSV 格式因其簡潔性而被廣泛采用。但在展示數據時&#xff0c;CSV 文件往往缺乏格式和結構化樣式&#xff0c;不利于閱讀與分析。相比之下&#xff0c;Excel 格式&#xff08;如 .xlsx&#xff09;不僅支持豐富的樣式設置&#xf…

每天讀本書-《如何度過每天的24小時》

全景式書籍探索框架 1. “這本書是關于什么的&#xff1f;”——核心定位 一句話核心思想&#xff1a;這本書的核心并非教你如何高效地工作&#xff0c;而是倡導你將工作之外的“自由時間”視為一個“內在的另一天”&#xff0c;并投入智力與熱情去經營它&#xff0c;從而獲得精…