一、計算機系統的基本組成及層次結構
完整的計算機系統由硬件和軟件兩大部分組成。
- 硬件系統
是計算機系統中看得見、摸得著的物理設備,是一種高度復雜的、由多種電子線路及精密機械裝置等構成的,能自動且高速地完成數據計算與處理的裝置或工具。 - 軟件系統
是計算機系統中的程序和相關數據,包括計算機資源管理、方便用戶使用的系統軟件和完成用戶預期處理的應用軟件。
也可以通過6個層次來認識計算機硬件和軟件系統的組成關系。如下圖所示,最下面兩層屬于硬件內容,最上面三層屬于軟件內容,中間的指令系統層連接硬件和軟件兩部分。
處在上面一層的是在下面一層的基礎上實現的,處在下面一層的是上面一層實現的基礎。
- 第零層:數字邏輯層
著重體現實現計算機硬件的最重要的物質材料——電子線路,能夠直接處理離散的數字信號。 - 第一層:微體系結構層
也稱其為計算機裸機,這一層著重體現的是:為了執行指令,需要在計算機中設置哪些功能部件,每個部件如何組成和怎樣運行,這些部件如何實現相互連接并協同工作等方面的知識和技術。 - 第二層:指令系統層
介于軟件和硬件之間,它涉及確定提供哪些指令,包括指令能夠處理的數據類型和對各種類型數據可以執行的運算,每條指令的格式和實現的功能,指出如何進行存儲單元的讀寫操作,如何執行外圍設備的輸入和輸出操作,對哪些數據進行運算,執行哪種運算,如何保存計算結果等。 - 第三層:操作系統層
是計算機系統中最重要的系統軟件,主要負責計算機系統中的資源管理與分配,以及向使用者提供簡單、方便、高效的服務。 - 第四層:匯編語言層
大體上可看成是對計算機機器語言符號化處理的結果,再加上一些為方便程序設計而實現的擴展功能。匯編語言經過匯編程序的翻譯,將其轉換為計算機機器語言后,可以在計算機硬件系統上予以執行。 - 第五層:高級語言層
又稱為算法語言,它的實現思路是著重面向解決實際問題所用的算法,更多的是考慮如何方便程序設計人員寫出能解決問題的處理方案和解題過程。
通常把沒有配備軟件的純硬件系統稱為“裸機”,其對應上圖的第一層;支持機器語言的叫L1
虛擬機;增加了操作系統的叫L2
虛擬機;支持匯編語言的叫L3
虛擬機;支持高級語言的叫L4
虛擬機。
二、計算機硬件概述
計算機系統的核心功能是執行程序。
為此,首先必須有能力把要運行的程序和用到的原始數據輸入到計算機內部并存儲起來,接下來應該有辦法逐條執行這個程序中的指令以完成數據運算并得到結果,最后還要輸出運算結果供人檢查和使用。
因此,一套計算機的硬件系統至少需要由下述5個相互連接在一起的部件或設備組成,如下圖所示:
- 數據輸入設備
把程序和原始數據輸入計算機。 - 數據存儲部件
實現程序和數據的保存,圖中指的是內存。 - 數據運算部件
承擔數據的運算和處理功能。 - 數據輸出設備
把運算及處理結果從計算機輸出,供用戶查看或長期保存。 - 計算機控制部件
負責首先從存儲部件取出指令并完成指令譯碼,然后根據每條指令運行功能的要求,向各個部件或設備提供它們所需要的控制信號,它在整個硬件系統中起著指揮、協調和控制的作用。
其中,數據運算部件、計算機控制部件和數據存儲部件三者被安裝在一個金屬柜機或音質電路板上,被稱為計算機的主機。而數據運算部件(運算器)和計算機控制部件(控制器)合稱為計算機的中央處理器(CPU
)。
數據輸入設備和數據輸出設備可以合成為輸入輸出設備,又稱為計算機的外圍設備。
計算機的三種類型的總線:
- 數據總線
用于在部件或設備之間傳送屬于數據信息(指令和數據)的電氣信號。 - 地址總線
用于在部件或設備之間傳送屬于地址信息的電氣信號,以選擇數據存儲部件中的一個存儲單元,或外圍設備中的一個設備。 - 控制總線
用于向存儲部件和外圍設備傳送起控制作用的電氣信號,也就是指定在CPU
和這些部件或設備之間數據傳送的方向及操作的性質等。
在計算機中,普遍采用的體系結構是由馮·諾依曼提出來的,被稱為存儲程序的計算機體系結構。
早期計算機,各個部件是圍繞著運算器來組織的,如下圖所示,其特點是在存儲器和輸入輸出設備之間傳送數據都需要經過運算器。
在當前流行的計算機中,更常用的方案是圍繞著存儲器來組織的,如下圖所示,這種方案是使輸入輸出操作盡可能地繞過CPU
,直接在輸入/輸出設備和存儲器之間完成,以提高系統的整體運行性能。
三、計算機系統結構概述
計算機系統結構也稱為計算機體系結構。
計算機系統結構的研究對象是計算機物理系統的抽象和定義,具體包括:
- 數據表示
定點數、浮點數編碼方式,硬件能直接識別和處理的數據類型和格式等。 - 尋址方式
最小尋址單位,尋址方式種類,地址計算等。 - 寄存器定義
通用寄存器、專用寄存器等定義,結構,數量和作用等。 - 指令系統
指令的操作類型和格式,指令間排序和控制等。 - 存儲結構
最小編址單位,編址方式,主存和輔存容量,最大編址空間等。 - 中斷系統
中斷種類,中斷優先級和中斷屏蔽,中斷響應,中斷向量等。 - 機器工作狀態定義和切換
管態、目態等定義及切換。 - I/O系統
I/O
接口訪問方式,I/O
數據源、目的、傳送量、I/O
通信方式,I/O
操作結束和出錯處理等。 - 總線結構
總線通信方式,總線仲裁方式,總線標準等。 - 系統安全與保密
檢錯、糾錯,可靠性分析,信息保護,系統安全管理等。
四、計算機的主要性能指標
計算機的主要性能指標包括以下幾項:
- 機器字長
- 數據通路寬度
- 主存容量
- 運算速度
1. 機器字長
機器字長是指參與運算的數的基本位數,它是由加法器、寄存器的位數決定的,所以機器字長一般等于內部寄存器的大小。
字長標志著精度,字長越長,計算的精度越高。
在計算機中,以字節(Byte
)為基本單位,用大寫的字母B
表示,一個字節等于八位二進制位(bit
)。
不同的計算機,字的長度也是不相同的,例如:Intel 80x86
系列,一個字等于16
位;IBM 303x
系列,一個字等于32
位。
2. 數據通路寬度
數據總線一次能并行傳送信息的位數,稱為數據通路寬度。它影響到信息的傳送能力,從而影響計算機的有效處理速度。
3. 主存容量
一個主存儲器所能存儲的全部信息量稱為主存容量。通常,以字節數來表示存儲容量,這樣的計算機稱為字節編址的計算機。
計算機的主存容量越大,存放的信息就越多,處理問題的能力就越強。
4. 運算速度
計算機的運算速度與許多因素有關,如機器的主頻、執行什么樣的操作及主存本身的速度等。對運算速度的衡量有不同的方法:
- 根據不同類型指令在計算過程中出現的頻繁程度,乘上不同的系數,求得統計平均值,這時所指的運算速度是平均運算速度。
- 以每條指令執行所需時鐘周期數來衡量運算速度。
- 以
MIPS
(每秒執行多少百萬條指令)和MFLOPS
(每秒執行多少百萬次浮點運算)作為計量單位來衡量運算速度。