1.計算機系統的軟硬件概念
1)硬件:計算機的實體部分,它由看得見摸得着的各種電子元器件,各類光、電、機設備的實物組成,如主機、外部設備等。
2)軟件:由人們事先編制的具有各類特殊功能的程序組成,分為系統軟件和應用軟件。
上圖將計算機的軟件部分划分成了 “應用軟件” 與 “系統軟件” ,通過圖片中的注釋不難看出,“應用軟件” 是無法訪問 “硬件” 提供的接口的,除非通過系統軟件這層介質才可以。
2、計算機系統的層次結構:


1)硬聯邏輯級:第零級是硬聯邏輯級,這是計算機的內核,由門,觸發器等邏輯電路組成。2)微程序級:第一級是微程序級。這級的機器語言是微指令集,程序員用微指令編寫的微程序,一般是直接由硬件執行的。3)傳統機器級:第二級是傳統機器級,這級的機器語言是該機的指令集,程序員用機器指令編寫的程序可以由微程序進行解釋。操作4)系統級:第三級是操作系統級,從操作系統的基本功能來看,一方面它要直接管理傳統機器中的軟硬件資源,另一方面它又是傳統機器的延伸。5)匯編語言級:第四級是匯編語言級,這級的機器語言是匯編語言,完成匯編語言翻譯的程序叫做匯編程序。6)高級語言級:第五級是高級語言級,這級的機器語言就是各種高級語言,通常用編譯程序來完成高級語言翻譯的工作。7)應用語言級:第六級是應用語言級,這一級是為了使計算機滿足某種用途而專門設計的,因此這一級語言就是各種面向問題的應用語言。把計算機系統按功能分為多級層次結構,就是有利於正確理解計算機系統的工作過程,明確軟件,硬件在計算機系統中的地位和作用。
3.計算機組成和計算機體系結構概念
1)計算機體系結構:是指那些能夠被程序員所見到的計算機系統的屬性,即概念性的結構與功能特性。2)計算機系統的屬性:是指站在不同計算機層級下看到的指令集、數據類型、尋址技術等。3)計算機組成:是指如何實現計算機體系結構所體現的屬性,它包含了許多對程序員來說是透明的硬件細節。eg.是否有乘法指令是結構問題,乘法指令的具體實現是組成問題。
4.計算機的基本組成
1 馮諾依曼結構特點:
馮·諾依曼計算機的特點可歸結如下:
現代計算機的體系結構都被稱為 “馮·諾依曼” 計算機。馮·諾依曼也是最早提出“存儲程序”這個概念。什么是存儲程序呢?
存儲程序概念解釋:就是將運行的電腦程序,以二進制代碼存儲在電腦的主存里面,然后運行。

上圖中的 “實線” 代表計算機里面的數據線(也就是數據在計算機中要走的路)。
在上文中也明確給講到,馮諾依曼機器是以 “運算器” 為中心的計算機。
設想數據從 “輸入設備” 進入計算機之后,想要從計算機輸出就必須要經過 “運算器”,這無疑讓 “運算器” 變成了整個計算機中最忙的一個部件,這樣一來運算器就變成了該硬件結構計算機的瓶頸。 所以要對該機型進行改進:改為以存儲器為中心的機器。

上圖所示,將以 “運算器” 為中心的計算機,改進成以 “以存儲” 器為中心的機器。圖中各個部件的功能如下:
-
運算器:用來完成算術運算和邏輯運算,並將運算的中間結果暫存在運算器內。
-
存儲器:用來存放數據和程序。
-
控制器:用來控制、只會程序和數據的輸入、運行以及處理運算結果。
-
輸入設備:用來將人們熟悉的信息形式轉換為機器能識別的信息形式。
-
輸出設備:用來將機器運算結果轉換為人民熟悉的信息形式打印或輸出到顯示器。
由於運算器和控制器在邏輯關系和電路結構上聯系十分緊密,尤其在大規模集成電路制作工藝出現后,這量大部件往往集成在同一芯片上,因此,通常將它們合起來統稱為中央處理器(CPU)。把輸入設備與輸出誰被簡稱為I/O設備。這樣,現代計算機可以認為由三大部分組成:CPU、I/O、主存儲器。將上圖的計算機硬件從新規划一下:

現代計算機主要分為 “主機” 與 “I/O”兩部分。
“主機” 是由 “主存” 與 “CPU” 構成
“CPU” 是由 “ALU” 與 “CU” 構成
了解了現代計算機的硬件分層之后,可以用一張新圖示來代表現代計算機:

2 機器碼 指令碼
我們已經對現代計算機有了一個大致的了解,而計算機在運行過程中就需要有指令。機器的指令分為兩部分組成,有“操作碼”與“地址碼”組成。
操作碼:操作碼表示機器所執行的各種操作,如取數、存數、加、減、乘、除、停機、打印等。
地址碼:表示參加運算的數在存儲器內的位置。
注意:機器指令的操作碼和地址碼都采用0、1代碼的組合表示。
舉例:如某機器的指令字長為16位,其中操作碼占6位,地址碼占10位。 如圖所示:

下面以讓計算機去解決一個問題的方式、讓計算機去執行一個程序的方式來初體驗一下機器的運行。


可見,不包括停機、輸出打印工需要8不,若將上式改變,則期步驟可簡化為以下5步
方式二:將上式改為 

上面兩種解題方式,屬於我們人類的方式。將上述的運算步驟寫成計算機一一對應的機器指令,就完成了運算程序的編寫。前文已經講過指令是有操作碼和地址碼組成的,操作碼有自己的操作性質(說白了就是操作碼代表着機器要干些啥活或有什么動作),下面對操作碼與操作性質做舉例:

操作碼只是一串二進制的數字,二這串由0、1代表的數組具有明確的意義。對於上文中提到的運算例程,可以用上表中的指令寫出一份運算程序的清單,方便大家理解

上面的例子就是將數據與指令都保存在了主存單元當中,這就可以認為是存儲程序的計算機結構。
下面對計算機硬件進行更加細致的講解。
3 存儲器 運算器
4 控制器
5 主機完成一條指令的過程

以取數指令為例

以存數指令為例

6 總線
5.計算機硬件的主要技術指標

