基本概念
計算機系統的組成
1)計算機系統由”硬體”和”軟體”兩大部分組成;計算機性能的好壞,取決于軟體和硬體功能的總和;
2)硬體:計算機系統的實體部分,由看得見摸得着的電子元件組成;
3)軟體:事先編制的具有特定功能的程式;
4)固件:将某種特定功能的軟體持久化到隻讀存儲器中;
5)計算機軟體通常可以分為兩類:系統軟體和應用軟體;
6)系統軟體:用來對整個計算機進行排程、管理、監視及服務的各種軟體;
7)應用軟體:使用者在各自系統中開發和應用的各種程式;
機器字長
1)CPU一次能夠處理的資料的位數,和CPU寄存器的位數相關;
2)字長越長,數的表示範圍越大,精度越高;
3)字長越短,統一操作需要運算的次數可能會增加,故字長會影響機器的運算速度;
4)直接影響ALU、資料總線寬度、存儲字長的位數;
差別:機器字長,指令字長,存儲字長
機器字長:CPU一次能處理的資料的位數;
指令字長:機器指令二進制代碼的總位數;
存儲字長:存儲單元中存放二進制代碼的總位數;
存儲容量
1)包括主存容量和輔存容量;
2)主存容量:主存中存放二進制代碼的總位數;即:
$$
存儲容量=存儲單元個數*存儲字長
3) 主存中MAR的位數反映了存儲單元的個數;MDR的位數反映了存儲字長;
運算速度
Gibson法
考慮每條指令的執行時間以及指令在全部操作中的占比;求權重平均數;
T_m=\sum_{i=1}^{n}f_{i} t_{i}
$T_{m}$:機器的運作速度;
$F_{i}$:第i種指令占全部操作的百分比數;
$T_{i}$:第i中指令的執行時間;
MIPS
MIPS(Millon Instruction Per Second,百萬條指令每秒):機關時間内執行指令的平均條數;
CPI
CPI(Cycle Per Instruction):執行一條指令所需要的時鐘周期,機器主頻的倒數;
FLOPS
FLOPS(Floating Point Operation Per Second):每秒浮點運算次數;
問:計算機體系結構和計算機組成原理的差別?
計算機體系結構,屬于What,描述計算機概念性的結構和功能;
計算機組成原理,屬于How,描述如何實作計算機體系結構所描述的結構和功能;
多層結構計算機系統

馮·諾依曼計算機結構特點(運算器為中心的計算機結構)
1) 計算機由運算器,存儲器,控制器,輸入裝置,輸出裝置五大部分組成;
2) 指令和資料以同等的地位存放于存儲器内,并可按位址尋訪;
3) 指令和資料均用二進制數表示;
4) 指令由操作碼和位址碼組成;操作碼表示操作類型;位址碼表示操作數在存儲器中的位置;
5) 指令在存儲器中按順序存放;通常,指令是順序執行的,特定條件下,可根據運算結果/設定條件改變執行順序;
6) 機器以運算器為中心,輸入輸出裝置與存儲器間的資料傳送通過運算器完成;
總結:馮·諾依曼計算機基于存儲程式原理(資料和程式都以等同的地位存放到存儲器中),特點是按照位址通路并順序執行指令;
存儲器為中心的計算機結構
問:以運算器為中心和以存儲器為中心有何異同?
相同點:各個裝置的操作都由控制器統一排程;
不同點:資料流向不同,以控制器為中心的計算機,外設和存儲器的資料互動由運算器進行中轉;而以存儲器為中心的計算機,外設和存儲器的資料互動無須經過運算器中轉;
計算機硬體裝置功能
1)運算器:用來完成算數運算和邏輯運算,暫存中間運算結果;
2)存儲器:用來存放資料和程式;
3)控制器:用來控制程式和資料的輸入、運作,處理運算結果;
4)輸入裝置:将人類熟悉的資訊形式轉換為機器能識别的資訊形式,如:鍵盤、滑鼠等;
5)輸出裝置:将機器運算結果轉換為人類熟悉的資訊形式,如:列印機輸出、顯示器輸出等;
6)運算器和控制器邏輯緊密,內建在一起,稱中央處理器;
7)輸入裝置和輸出裝置統稱為I/O裝置;
8)現代計算機有三大部分組成:CPU,I/O裝置,主存儲器;CPU和主存儲器合稱為主機;I/O裝置稱為外部裝置;
計算機硬體裝置
主存儲器
1)由存儲體M、各種邏輯部件、控制電路等組成;
2)存儲單元:存儲體由許多存儲單元組成;
3)存儲基元:一個存儲單元包含若幹個存儲元件;每個存儲原件能夠存放一位二進制數,0/1;
4)存儲字&存儲字長:一個存儲單元能夠存放一串二進代碼,稱為存儲字;二進制代碼的位數稱為存儲字長;
5)存儲字可以表示一個二進制數、字元串、指令等;
6)位址号:每個存儲單元都有一個編号,稱為位址号;
7)訪存:主存的工作方式就是按照存儲單元的位址号實作對存儲字各位的讀寫;
8)指令和資料都由存儲單元的位址号反映,故通路一條指令和一條資料的操作可以視作是相同的,能夠通過一套控制線路完成;
9)MAR&MDR:為了實作按位址通路的方式,主存中需要兩個寄存器MAR和MDR;
10)MAR:memory address register,存放将要通路的存儲單元位址,位數對應存儲單元的個數;
11)MDR:memory data register,存放要讀寫某存儲單元的資料,位數與存儲字長相等;
12)存儲字長、機器字長、指令字長的長度可不相同,但必須是位元組的整數倍;
運算器
1)運算器至少由3個寄存器和一個算數邏輯單元組成(ALU)組成;
2)寄存器包括:ACC(Accumulator,累加器)、MQ(Multiplier-Quotient Register,乘商寄存器)、X(操作數寄存器);
3)在完成不同運算時,寄存器存放的操作數類别各不相同;
控制器
1)控制各個部件自動、協調工作,包括取指,分析,執行三個階段;
2)取指階段:指令存儲器讀出一條指令;
3)分析階段:分析指令要進行的操作以及操作數的位址;
4)執行階段:根據指令的操作碼和操作數位址完成操作;
5)控制器由PC(Program Counter,程式計數器),IR(Instruction Register,指令寄存器),CU(控制單元)組成;
6)PC:存放将要執行的指令位址,與主存的MAR有直接通路;具有自增功能,能夠自動形成下一條指令的位址;
7)IR:存放目前要執行的指令,内容來自主存的MDR;指令由操作碼和操作數位址組成;操作碼被送入到CU(OP(IR)->CU),操作數被送入到MAR(Ad(IR)->MAR);
8)CU:分析目前指令需要完成的操作,發出微操作指令序列,控制所有被控對象;
I/O
1) 包括I/O裝置和接口;
2) I/O裝置通過I/O接口與主機聯系,接受CU的控制;
計算機的工作過程
指令執行流程
以ADD M(M為主存位址)指令為例,執行流程如下:
1)取指過程:PCMARMMDRIR;
2)分析過程:OP(IR)CU;
3)執行過程:Ad(IR)MARMMDRIRX;
ACCALU;XALU;
ALUACC
計算機工作過程
計算機的工作過程實質就是不斷從存儲器中逐條取出指令,送至控制器,經分析後由CU發出各種指令,指揮各部件完成各種操作,直至全部指令執行結束;