第1章 計算機系統概述

SXWisON發表於2024-08-21

注意:
本文更偏向於考試複習,如果初學,建議配合教材,謝謝!

概述

計算機系統層次結構

  • 計算機系統的基本組成
  • 計算機硬體的基本組成
  • 計算機軟體和硬體的關係
  • 計算機系統的工作原理
    計算機效能指標
    吞吐量;響應時間;CPU時鐘週期;主頻;CPI;CPU執行時間;MIPS;MFLOPS

計算機系統層次結構

計算機系統的組成


  1. 硬體系統軟體系統共同構成了一個完整的計算機系統。硬體是指有形的物理裝置,是計算機系統中實際物理裝置的總稱。軟體是指在硬體上執行的程式和相關的資料及文件。
  2. 對某一功能來說,若既可以用軟體實現,又可以用硬體實現,則稱為軟/硬體在邏輯功能上是等價的
  3. 一個功能若使用較為頻繁且用硬體實現的成本較為理想,則使用硬體解決可以提高效率

馮·諾伊曼機


“儲存程式”的思想奠定了現代計算機的基本結構,以此概念為基礎的各類計算機統稱馮·諾伊曼機,其特點如下:

  1. 採用“儲存程式”的工作方式。
  2. 計算機硬體系統由運算器儲存器控制器輸入裝置輸出裝置5大部件組成。
  3. 指令和資料以同等地位儲存在儲存器中,形式上沒有區別,但計算機應能區分它們。
  4. 指令和資料均用二進位制程式碼表示。
  5. 指令由操作碼和地址碼組成,操作碼指出操作的型別,地址碼指出運算元的地址。

計算機的功能部件

輸入裝置/輸出裝置:略

儲存器

  1. 儲存器分為主儲存器(也稱主存)和輔助儲存器(也稱外存)。
  2. CPU能夠直接訪問的儲存器是主儲存器。
  3. 輔助儲存器用於幫助主儲存器儲存更多的資訊。
  4. 儲存器的工作方式是按儲存單元的地址進行存取,這種存取方式稱為按地址存取方式

儲存器組成

  1. 儲存體:存放二進位制資訊
  2. 儲存器地址暫存器(MAR):存放訪存地址。
  3. 儲存器資料暫存器(MDR):用於暫存要從儲存器中讀或寫的資訊。
  4. 時序控制邏輯:產生儲存器操作所需的時序訊號。

MAR & MDR

  • MAR用於定址,其位數反映最多可定址的儲存單元個數。MAR長度與PC長度相等。
  • MDR的位數通常等於儲存字長。
  • 現代計算機中,MAR、MDR和Cache(快取記憶體)均存在於CPU中,而非儲存器。

運算器

  1. 運算器是計算機的執行部件,用於進行算術運算和邏輯運算。
  2. 算術運算:加、減、乘、除等。
  3. 邏輯運算:與、或、非、異或、比較、移位等。
  4. 核心:算術邏輯單元(ALU)
  5. 運算器包含若干通用暫存器,用於暫存運算元和中間結果,如:累加器(ACC)、乘商暫存器(MQ)、運算元暫存器(X)、變址暫存器(IX)、基址暫存器(BR)等,其中前三個暫存器是必須具備的。
  6. 程式狀態暫存器(PSW),也稱標誌暫存器,用於存放ALU運算得到的一些標誌資訊或處理機的狀態資訊。

控制器

  1. 控制器由程式計數器(PC)、指令暫存器(IR)和控制單元(CU)組成。
  2. 程式計數器(PC):存放當前欲執行的指令的地址,可自動形成下一條指令的地址,它與貯存期的MAR之間有一條直接通路。
  3. 指令暫存器(IR):存放當前的指令,其內容來源於主儲存器的MDR。指令中的操作碼OP(IR)送至CU,用以分析指令併發出各種微操作命令序列;地址碼Ad(IR)送至MAR,用以取運算元。
  4. 一般將運算器和控制器整合到一個晶片上,稱為中央處理器(CPU)。CPU和主儲存器共同構成主機,除主機之外的其它硬體裝置統稱外部裝置,簡稱外設

計算機軟體


系統軟體和應用軟體

1.軟體根據功能分類,可分為系統軟體和應用軟體。
2. 系統軟體:保證計算機系統高效、正確執行的基礎軟體。主要有:作業系統(OS)資料庫管理系統(DBMS)等。
3. 應用軟體:為解決某個應用領域中的各類問題而編制的程式。

語言

  1. 機器語言:也稱二級制程式碼語言。是計算機唯一可以識別和執行的語言。
  2. 組合語言:用英文單詞或其縮寫代替二進位制的指令的指令程式碼。
  3. 高階語言:方便程式設計人員寫出解決問題的處理方案和解題過程的程式。

翻譯程式

  1. 彙編程式(彙編器):將彙編程式翻譯為機器語言程式。
  2. 解釋程式(直譯器):將源程式中的語句按執行順序逐條翻譯成機器指令並立即執行。
  3. 編譯程式(編譯器):將高階語言程式翻譯成組合語言或機器語言程式。

速度上:編譯>解釋。Python採用解釋,而C++採用編譯。

計算機的層次結構


  • ⑤高階語言層->④組合語言層->③作業系統層->②傳統機器語言層->①微程式機器層。
  • 沒有配備軟體的純硬體系統稱為裸機;3~5層稱為虛擬機器
  • 軟體和硬體之間的介面是指令集體系結構(ISA),其定義了一臺計算機可以執行的所有指令。ISA是軟體能感知到的部分,也稱軟體可見部分

計算機系統的工作原理


“儲存程式”工作方式
“儲存程式”工作方式規定:程式執行前,需要將程式所含的指令和資料送入主儲存器,一旦程式被啟動執行,就無須操作人員的干預,自動逐條完成指令的取出和執行任務。

從源程式到可執行程式

  1. 預處理階段前處理器(cpp)對源程式中以字元#開頭的命令進行處理。hello.c -> hello.i
  2. 編譯階段編譯器(ccl)對預處理後的源程式進行編譯,生成組合語言源程式hello.s
  3. 彙編階段彙編器(as)將其翻譯成機器語言指令,並打包成可重定位目標檔案hello.o
  4. 連結階段連結器(ld)將多個可重定位目標檔案和標準庫函式合併為一個可執行目標檔案,簡稱可執行檔案。

hello.c 源程式 -> hello.i 預處理後的源程式 -> hello.s 彙編程式 -> hello.o 可重定位目標程式 -> hello 可執行目標程式

指令執行過程

  1. 取指令:PC->MAR->M->MDR->IR
    根據PC取指令到IR。將PC的內容送至MAR,MAR中的內容送至地址線,同時控制器將訊號送至I/O訊號線,主儲存器根據地址線上的地址讀訊號,從指定儲存單元讀出指令,送至資料線上,MDR從資料線接受指令資訊,送至IR。

  2. 分析指令:OP(IR)->CU
    指令譯碼並送出控制訊號。控制器根據IR中指令的操作碼,生成相應的控制訊號,送到不同的執行部件。OP(IR)為取數指令,此時控制訊號送至匯流排的控制線上。

  3. 執行指令:Ad(IR)->MAR->M->MDR->ACC
    取數操作:將IR中的指令的地址碼送至MAR,MAR中的內容送至地址線,同時控制器將讀訊號送至I/O訊號線,從主儲存器中讀出運算元,並透過資料線送至MDR,再送到ACC中。

  4. 每取完一條指令,計算下條指令位置,即:(PC)+1->PC

計算機的主要效能指標


機器字長
機器字長,簡稱字長,指計算機進行一次整數運算(即定點整數運算)所能處理的二級制資料的位數,通常與CPU的暫存器位數、ALU有關。字長一般等於通用暫存器的位數或ALU的寬度,字長越長,數的表示範圍越大,計算精度越高。

資料通路頻寬
指資料匯流排一次所能並行傳送資訊的位數。指代外部資料匯流排的寬度,與CPU內部資料匯流排寬度(內部暫存器大小)可能不同。

主存容量
主儲存器所能儲存資訊的最大容量,通常以位元組來衡量。也可用字數×字長(512K×16位)來表示儲存容量。MAR的位數反映了儲存單元的個數,MDR的位數反映了儲存單元的字長。

運算速度

  1. 吞吐量:指系統在單位時間內處理請求的數量。
  2. 響應時間:從使用者向計算機傳送一個請求,到系統對該請求做出響應並獲得所需結果的等待時間。
  3. CPU時鐘週期:機器內部主時鐘脈衝訊號的寬度,是CPU工作的最小時間單位。
  4. 主頻(CPU時脈頻率):機器內部主時鐘的頻率,即時鐘週期的倒數。
  5. CPI:執行一條指令所需的時鐘週期數。注意CPI是一個平均數。
  6. IPS:每秒執行多少條指令,IPS=主頻/CPI。
  7. CPU執行時間:執行一個程式所花費的時間。
  8. MIPS:每秒執行多少百萬條指令。
  9. FLOPS:每秒執行多少次浮點運算。

其它術語

  1. 基準程式:專門用來進行效能評價的一組程式,能夠很好地反應機器在執行實際負載時的效能。
  2. 系列機:具有相同的體系結構,使用相同基本指令系統的多個不同型號的計算機。
  3. 相容:指軟體和硬體的通用性。
  4. 韌體:將程式固化在ROM中組成的部件稱為韌體。

相關文章