[計算機組成原理] 計算機系統概述

計算機發展歷程

從1946年第一代計算機ENIAC問世以來,計算機發展經歷四代。

計算機硬件發展

  1. 第一代計算機:電子管時代
  2. 第二代計算機:晶體管時代
  3. 第三代計算機:中小規模集成電路
  4. 第四代計算機:超大規模集成電路

計算機軟件發展

計算機語言的發展經歷了面向機器的機器語言和彙編語言、面相問題的高級語言。其中高級語言的發展促進了軟件的發展。從科學計算和工程計算的FORTRAN、結構化程序設計PASCAL到面向對象的C++和適應網絡環境的Java等等。

計算機指令和數據流分類

  • SISD(單指令流,單數據流):即傳統馮諾依曼體系計算機
  • SIMD(單指令流,多數據流):陣列處理器和向量處理器等
  • MISD(多指令流,單數據流):不存在,爲啥不存在,因爲指令是多個,數據流是一個,多個指令對同一個數據會有衝突
  • MIMD(多指令流,多數據流):當前的多處理器和多計算機系統

計算機系統層次結構

硬件組成

早期馮諾依曼體系計算機主要特點

  1. 硬件系統由運算器、控制器、存儲器、輸入設備、輸出設備組成
  2. 指令和數據以同等地位存儲在存儲器內,並可以按地址訪問
  3. 指令和數據用二進制表示
  4. 指令由操作碼和地址碼組成
  5. 指令在存儲器內順序存放
  6. 早起馮諾依曼體系計算機以計算器爲中心,IO設備通過運算器和存儲器傳送數據

現代計算機體系結構:以存儲器爲核心

計算機功能部件

  • 輸入設備:鍵盤、鼠標、掃描儀等
  • 輸出設備:顯示器、打印機等
  • 存儲器:包括主存、外存;主存由很多存儲單元組成,每個存儲單元可以存儲一串二進制代碼,代碼位數叫存儲字長,可以是一個字節。主存的工作方式是按照存儲單元的地址進行存取的。主存主要由存儲體、地址寄存器(MAR)和數據寄存器(MDR)組成。地址寄存器存地址,經過地址譯碼後找到對應的存儲單元;數據寄存器是主存和其他部件的中介機構,用於暫存要從存儲器中讀或寫的信息。所以MAR的位數決定存儲單元的個數,MDR的位數就是存儲字長的位數。
  • 運算器:對數據進行加工處理的,完成算數運算和邏輯運算。主要有算術邏輯單元(ALU)、通用寄存器組如累加器(ACC)、乘商寄存器(MQ)、操作數寄存器(X)等等,此外還有程序狀態寄存器(PSW),保存各類運算結果狀態信息。
  • 控制器:由程序計數器(PC)、指令寄存器(IR)和控制單元(CU)組成。PC存放要執行指令的地址,與主存的MAR有一條直接通路;IR存放當前的指令,內容來自於主存的MDR。

軟件分類

  • 系統軟件:操作系統、DBMS、語言處理程序、分佈式軟件系統、網絡軟件系統、標準庫程序、服務性程序等。
  • 應用軟件:爲解決某個應用領域編制的程序。

計算機性能指標

  • 機器字長:計算機進行一次整數運算所能處理的二進制位數,一般機器字長等於內部寄存器
  • 主存容量:MAR是16位,MDR是32位,則有2的16次方個存儲單元,一個存儲單元存32位,則存儲容量爲64K*32位。
  • 吞吐量:系統在單位時間內處理請求的數量。
  • CPI:一條指令需要幾個時鐘週期。
  • CPU執行時間:運行一個程序所花費的時間。
  • MIPS:一秒鐘能執行幾百萬條指令。等於主頻除以CPI
  • MFLOPS:一秒鐘能執行幾百萬次浮點數運算。

 

計算機工作過程

  1. 把程序和數據存儲到存儲器中
  2. 從程序的起始地址開始運行程序
  3. 從程序的首地址從內存中取出第一條指令,經過譯碼、執行步驟等控制計算機各功能部件協同工作,完成這條指令,並計算下一條指令的地址。
  4. 用新得到的指令地址繼續讀出第二條指令並執行,直到程序結束爲止,每一條指令都是取指令、譯碼、執行指令的過程

以取數指令(將指令地址碼中的數據取出送到ACC寄存器)的信息流程如下:

  • 取指令:PC-->MAR-->M-->MDR-->IR
  • 分析指令:IR-->CU
  • 執行指令:IR-->MDR-->M-->MDR-->ACC

 

舉個例子

存儲器的基本組成

運算器的基本組成和操作

控制器的基本組成

說明

  • 翻譯程序:將高級語言源程序翻譯成機器語言程序(目標代碼)的軟件
  • 編譯程序:是翻譯軟件的一種,將高級語言一次全部翻譯成目標程序,每次執行程序時,只要執行目標程序,因此只要源程序不變,就不需要重新編譯。
  • 解釋程序:是翻譯軟件的一種,將源程序的一條語句翻譯成對應的機器目標代碼,並立即執行,然後翻譯下一條源程序語句並執行,直至所有源程序語句全部被翻譯並執行完。所以解釋程序的執行過程是翻譯一句執行一句,並且不會生成目標程序。
  • 彙編程序:也是一種語言翻譯程序,它是把彙編語言源程序翻譯成機器語言程序。是一種面向機器語言的低級語言。
  • 機器字長:計算機能直接處理的二進制數據的位數,機器字長一般等於內部寄存器的大小,決定了計算機運算精度。
  • 指令字長:一個指令字中包含二進制代碼的位數。
  • 存儲字長:一個存儲單元存儲二進制代碼的長度。必須是字節的整數倍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章