文章目錄
- 計算機發展曆程
- 計算機系統層次結構
- 計算機的性能名額
- 一點問題
-
- 計算機體系結構和計算機組成原理差別?
- 相容的定義
- 寄存器位數關系
- 各種字長
- 一點探究
-
- 軟體/程式/指令的關系
- 32位與64位作業系統的不同
- 字與字長
- 關于以運算器為核心和以存儲器為核心
計算機發展曆程
計算機硬體與軟體發展
硬體
- 四代計算機
- 電子管
- 半導體
- 中小規模內建電路
- 超大規模內建電路
-
摩爾定律
內建電路上可以容納的半導體數目在大約每經過24個月便會增加一倍【面臨失效】
軟體
- 語言的發展
- 機器語言(面向機器),機器語言是計算機唯一可以直接執行的語言
- 彙編語言(面向機器)
- 進階語言(面向問題)
- 翻譯程式
- 編譯程式,将進階語言源程式一次性全部翻譯成目标程式,生成目标代碼檔案(目标程式)
- 解釋程式,将源程式的一條語句翻譯成目标代碼,并立即執行,然後翻譯下一條語句。是不會生成目标代碼檔案(目标程式)
- 彙程式設計式,将彙編語言翻譯為機器源程式(彙編語言是是面向機器的低級語言,是機器語言的符号表示)
計算機分類
按使用場景
- 電子模拟計算機
- 數字計算機
- 專用計算機
- 通用計算機:巨型機,大型機,中型機,小型機,微型機(PC),單片機
按指令與資料流
- 單指令流和單資料流(SISD):傳統馮·洛依曼體系結構
- 單指令流和多資料流(SIMD):陣列、向量處理器系統
- 多指令流和單資料流(MISD):實際不存在
- 多指令流和多資料流(MIMD):多處理器/多機系統
計算機發展方向
兩極分化
- 微型計算機向更微型化
- 巨型機向更巨型化
計算機系統層次結構
計算機系統組成
**硬體:**計算機的實體部分
**軟體:**在硬體上運作的程式和相關的資料及文檔
【硬體與軟體在邏輯功能上是等效的(不是等價)】
固件:具有硬體特性的軟體&具有軟體功能的硬體,将軟體永恒的存儲于ROM中
計算機硬體基本組成
馮·洛依曼體系結構
- 存儲程式思想
- 以運算器為中心(控制流驅動)
- 按位址通路并順序執行指令(馮諾依曼機的工作方式的基本特點)
現代計算機體系結構
- 以存儲器為中心(資料流驅動)
- 仍遵循存儲程式設計思想
計算機的功能部件
- 控制器:控制程式和資料的輸入 運作以及處理運算結果
- 運算器:完成算術運算和邏輯運算
- 存儲器:存放資料和程式
- 輸入裝置:将人們熟悉的資訊形式轉換為機器能識别的資訊形式
- 輸出裝置:将機器運算結果轉換為人們熟悉的資訊形式

指令執行過程
計算機的工作過程實質上就是不斷從存儲器中逐條取出指令,送至控制器,經分析後由CU發出執行各種操作指令,指揮各部件完成各種操作,按照程式既定的順序執行下一條程式,直至程式中全部指令執行結束
- 取指令: P C → M A R → M → M D R → I R PC\rightarrow MAR\rightarrow M\rightarrow MDR\rightarrow IR PC→MAR→M→MDR→IR
- 分析指令: O P ( I R ) → C U OP(IR)\rightarrow CU OP(IR)→CU
- 執行指令: A d ( I R ) → M A R → M → M D R → A C C Ad(IR)\rightarrow MAR\rightarrow M\rightarrow MDR\rightarrow ACC Ad(IR)→MAR→M→MDR→ACC
計算機軟體的分類
系統軟體
- 作為系統資源,用于對整個計算機系統進行排程、管理、監視及服務的軟體
- OS、DBMS、語言處理程式、網絡軟體系統、标準庫程式
應用軟體
- 是使用者自行編寫的程式,用于解決各類問題
計算機的性能名額
機器字長
- 一次整數運算所能處理的二進制資料的位數
- 一般等于CPU的寄存器位數,等于CPU内部的資料總線寬度
- 決定了計算機的運算精度,與尋址能力上限有關(MAR位數一定不大于機器字長,MAR的位數反映尋址範圍上限)
資料字長(資料通路的帶寬)
- 指資料總線一次所能并行傳輸資訊的位數,一般等于MDR的位數
- 指的是外部資料總線的寬度,不是CPU内部的資料總線寬度
主存容量
主存容量是指主存儲器所能存儲資訊的最大容量,通常以位元組來衡量,也可用字數×字長(如512K×16位)來表示存儲容量。
- MAR的位數反映了可尋址範圍的最大值
- MDR的位數對應存儲字長(存儲器中一個存儲單元所存儲的二進制代碼的位數)
運算速度
- CPU執行時間 = CPI*指令條數/主頻 = CPU時鐘周期數/主頻
吞吐量
- 機關時間内處理請求的數量,主要取決于主存的存取周期
響應時間
- 指從使用者向計算機發送一個請求到計算機做出響應并獲得對應結果的所有時間
CPU主頻
- 主頻表示在CPU内數字脈沖信号震蕩的速度
- 輸出脈沖将接到中斷控制器上,定期産生時鐘中斷信号【不要混淆時鐘中斷和時鐘脈沖】
CPI
- 執行一條指令所需的時鐘周期數
-
與主頻無關
主頻提高,時鐘周期會變短,但執行一條指令所需的時鐘周期數不會變。因為在内部邏輯電路不改變的情況下,主頻越高,說明CPU計算的越快,也就是用更短的時鐘周期完成了之前較長時鐘周期能完成的事,但時鐘周期數不變。
MIPS
- 每秒執行多少百萬條指令=主頻(MHz)/CPI = 指令條數/(執行時間*10^6)
一點問題
計算機體系結構和計算機組成原理差別?
- 體系結構指那些能夠被程式員所見到的計算機系統的屬性
- 組成原理指如何實作計算機體系結構所展現的屬性,它包含對許多對所有程式員來說透明的硬體細節。
相容的定義
- 向後相容,又叫“向下相容”,指時間上向過去相容
- 向前相容,又叫“向上相容”\
寄存器位數關系
- 指令寄存器(IR)
- 取決于指令字長(非定長則取最長的)
- 程式計數器(PC),MAR
- 等于位址總線寬度
- 其餘CPU内的寄存器一般等于機器字長
各種字長
- 機器字長:一次整數運算所能處理的二進制資料的位數
- 存儲字長:存儲器中一個存儲單元(存儲位址)所存儲的二進制代碼的位數,即存儲器中的MDR的位數。
- 指令字長:一個指令字的位數(指令字長是可以不同的)
- 資料字長:資料總線一次所能并行傳輸資訊的位數,即資料通路寬度,可以不等于MDR的位數。(指的是外部資料總線的寬度,不是CPU内部的資料總線寬度,内部寬度一般等于機器字長)
一點探究
軟體/程式/指令的關系
32位與64位作業系統的不同
- 32,64位指的是機器字長
- 運算速度不同。硬體層次上的加法器是并行的,是以從理論上講,64位的CPU運算速度比32位的快一倍
- 尋址能力不同。機器字長還與尋址能力上限有關,因為位址使用的是特殊的整數,機器字長大,ALU和寄存器可以處理更大的整數。
字與字長
- 字是指在計算機中作為一個整體被存取、傳送、處理的一組二進制數,字通常為若幹個位元組
- 注意區分字與字長,字是實體實體,而字長是機關,例如,存儲字是指存放在一個存儲單元中的二進制代碼組合;存儲字長指存放在一個存儲單元中二進制代碼位數
關于以運算器為核心和以存儲器為核心
以運算器為中心,當外部裝置與存儲器交換資訊時,需經過運算器(CPU)緻使運算器停止運算,嚴重影響了CPU的工作效率
從運算器為核心到以存儲器為核心的進步和I/O控制方式的進步思想是一樣的,從程式查詢全程需要CPU來處理,到中斷方式偶爾需要CPU,到DMA(幾乎)不需要CPU