計算機組成原理(唐朔飛)--第一篇 概論

本篇主要介紹計算機系統的基本組成、應用與發展,並通過對該書結構的介紹,指出學習該書的思路。

第一章 計算機系統概論

下一篇計算機組成原理(唐朔飛)–第二篇 計算機系統的硬件結構之系統總線

1.1 計算機系統簡介

1.1.1 計算機的軟硬件概念

硬件:計算機的實體部分,看得見的電子元器件。
軟件:事先編制的具有各種特殊功能的程序組成,通常存放在計算機主存或輔存中。軟件的發展可以充分發揮計算機硬件的功能,提高計算機的工作效率,而且已經發展到可以局部模擬人的思維。
軟件通常分爲系統軟件和應用軟件。

  1. 系統軟件:主要用來管理整個計算機系統,監視服務,使系統資源得到合理調度,高效運行。包括:標準程序庫、語言處理程序、操作系統、服務程序、數據庫管理系統、網絡軟件。
  2. 應用軟件:主要是爲了滿足用戶任務需求所編制的各種程序,如科學計算程序、數據處理程序、過程控制程序、事務管理程序。

1.1.2 計算機系統的層次結構

計算機系統的層次結構是隨着計算機的發展逐步發展起來的。
在這裏插入圖片描述

  1. 早期只有機器語言,人們編寫機器語言後直接在實際機器M1上執行,因機器語言由01代碼組成,需要程序員對計算機硬件系統和指令系統特別熟悉,編寫難度較大。
  2. 20世紀50年代出現了彙編語言,人們先用匯編語言編寫程序,彙編語言通過虛擬機器M2翻譯成機器語言,在實際機器M1上運行,M1輸出結果。彙編語言使用符號表示指令或數據所在的存儲單元地址,使程序編寫難度降低。彙編語言的劣勢是,擺脫不了實際機器的指令系統,而且同樣需要程序員對計算機硬件系統和指令系統非常熟悉。
  3. 20世紀60年代出現了高級語言,高級語言把用戶編程與實際機器的操作分離開,人們在虛擬機器M3上進行高級語言編程,使用虛擬機將用戶編程代碼翻譯成彙編程序或機器語言。此時的計算機系統具有三層結構。
  4. 不僅在實際機器M1上有向上延伸的各級虛擬機,同理,機器M1內部向下延伸出現了微程序機器M0,M0是直接將M1中的機器指令變成一組微指令,構成一個微程序。M0每執行完一個微程序,再將M1的下一條指令放入M0生成下一組微指令,繼續執行。此時的計算機系統具有四層結構,M0,M1,M2,M3。
  5. 在傳統機器M1和虛擬機器M2之間還存在着一級虛擬機器,由操作系統軟件構成。操作系統向上,提供了在彙編語言和高級語言實現和使用過程中的基本操作,向下起到控制並管理計算機系統全部硬件和軟件資源的作用。

1.1.3 計算機組成和計算機體系結構

首先我們需要區分兩個概念,什麼是計算機組成?什麼是計算機體系結構?

  • 計算機體系結構是程序員可見的計算機系統的屬性,比如從傳統機器M1的層次看,有指令集、數據類型、存儲器尋址技術、I/O機理大都屬於抽象屬性。站在不同的計算機系統層次上看,計算機體系結構也是不同的。
  • 計算機組成是指如何實現計算機體系結構所體現的屬性。如指令的實現,即如何取指令、分析指令、取操作數、運算、送結果,這些都是計算機組成的問題。

1.2 計算機的基本組成

1.2.1 馮諾依曼計算機的特點

  1. 計算機由運算器、存儲器、控制器、輸入設備、輸出設備組成
  2. 數據和指令以同等地位存儲於存儲器內,並可按地址尋訪。
  3. 數據和指令以二進制形式存放。
  4. 指令由地址碼、操作碼構成,操作碼錶示操作的屬性,地址碼錶示操作數的存放地址。
  5. 指令在存儲器內按順序存放。通常指令是按順序執行,可根據運算結果或設定條件改變執行順序。
  6. 機器以運算器爲中心,輸入輸出設備與存儲器間的數據傳送通過運算器完成。

1.2.2 計算機的硬件框圖

馮諾依曼計算機結構框圖:

在這裏插入圖片描述
各部件功能如下:
運算器:用來完成計算機的數值運算、邏輯運算,並將中間結果暫存在運算器中。
存儲器:存放數據和指令。
控制器:控制指揮程序的執行、輸入數據,運行以及處理運算結果。
輸入設備:用來將人們熟悉的信息形式轉換爲機器能識別的形式。
輸出設備:將計算機運行結果轉換成人們熟悉的信息形式。

現代計算機硬件結構圖:

在這裏插入圖片描述
在這裏插入圖片描述

1.2.3 計算機的工作步驟

  • 上機前的準備
  1. 建立數學模型
  2. 確定計算方法
  3. 編制解題程序
  • 計算機的工作過程
  1. 主存儲器在這裏插入圖片描述
    主存的工作方式就是按照存儲單元的地址號實現對存儲字的存、取。這種存取方式稱爲按地址存取。
    下面分別介紹主存的構成部件:
    存儲體內部由一個個存儲單元構成,每個存儲單元又包含多個存儲元件,每個存儲元件能寄存一位二進制代碼0或1。存儲字是存在存儲單元中的二進制代碼,存儲字可以表示一串字符、二進制數、一條指令。存儲字長是存儲字的長度。
    MAR是存儲器地址寄存器,它的位數對應存儲單元的個數。
    MDR是存儲器數據寄存器,它的長度對應存儲字長。
    隨着硬件技術的發展,主存都製成大規模集成電路的芯片,而將MAR,MDR集成在CPU中。
    早期計算機的存儲字長與指令字長、數據字長相等,但隨着計算機的應用範圍不斷擴大,解題精度不斷提高,往往要求指令字長、數據字長是可變的。因此現在存儲字長、指令字長、數據字長三者可各不相同,但它們必須是字節的整數倍。

  2. 運算器
    在這裏插入圖片描述
    在這裏插入圖片描述
    加法操作過程在這裏插入圖片描述
    減法操作過程
    在這裏插入圖片描述
    乘法操作過程
    在這裏插入圖片描述
    除法操作過程
    在這裏插入圖片描述

  3. 控制器
    在這裏插入圖片描述
    控制器的主要作用指揮各部件自動協調的工作,具體步驟是讀取指令、分析指令、執行指令。
    下面分別介紹控制器中的各個部件:
    CU:控制單元,分析當前指令需要完成的操作,併發出各種微指令序列,控制被控對象。
    IR:指令寄存器,存放當前欲執行的指令,指令來源於MDR。
    PC:程序計數器,存放當前欲執行指令的地址,與存儲器的MAR有一條直接通路,且具有自動加一(根據計算機的不同加的數字也不同)的功能。

  4. I/O
    每一種IO設備都由I/O接口與主機聯繫,它接收CU發出的各種控制命令,並完成相應操作。

主機上完成一條指令的過程(取數過程)
在這裏插入圖片描述
注:序列號與圖中序號對應

  1. 首先程序計數器PC在CU的控制下將地址送到MAR中。
  2. MAR將地址送給存儲體。
  3. 在控制器的控制下,存儲體將對應地址存儲單元中的取數指令送給MDR。
  4. MDR將對應的取數指令送給IR。
  5. IR將指令寄存器中指令的操作碼部分送給CU,CU進行指令分析。我們的指令是將存儲單元M中保存的數據存儲到ACC中去。
  6. IR將指令寄存器中地址部分送給MAR。
  7. MAR將地址送給存儲體。
  8. 在控制器的控制下,存儲體將對應地址M,存儲單元中的數據送給MDR。
  9. MDR將數據送到ACC中。

1.3 計算機硬件的主要技術指標

衡量一臺計算機性能的優劣是根據多項技術指標綜合確定的,既包含硬件的各種性能指標,又包括軟件的各種功能。這裏主要討論硬件的技術指標。

1.3.1 機器字長

機器字長是指CPU一次能處理數據的位數,通常與CPU的寄存器位數有關。 字長越長,能表示的數的範圍越大,精度越高。並且機器字長影響數據運算速度。

1.3.2 存儲容量

存儲容量=存儲單元個數x存儲字長

1.3.3 運算速度

早期用一條指令運算的時間衡量計算機運算速度,後來又用吉普森法按頻率對指令運算時間進行加權運算。現在機器運算速度普遍採用單位時間內執行指令的平均條數來確定,MIPS作爲計量單位(每秒執行百萬條數據)。也可以用CPI執行一條指令的時鐘週期、FLOPS每秒浮點運算次數來衡量。

1.4 本書結構

在這裏插入圖片描述

第二章 計算機的發展及應用

2.1 計算機的發展史

1946年 美國 ENIAC,爲美軍彈道實驗室研究,通過搬動開關和插拔電纜編程,沒有存儲器,計算速度被編程耗時抵消了。
電子技術和計算機體系結構技術推動計算機的發展,所以計算機的發展歷史是按硬件技術的發展劃代的。
在這裏插入圖片描述

2.2 計算機的應用

  1. 科學計算與數據處理
  2. 工業控制和實時控制
  3. 網絡技術
  4. 虛擬現實
  5. 辦公自動化和管理信息系統
  6. CAD/CAM/CIMS
  7. 多媒體技術
  8. 人工智能

2.3 計算機的展望

  1. 計算機具有類似人腦的智能(人工智能)
  2. ?替代傳統的硅芯片(量子計算機)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章