電腦操作 電腦操作 會考電腦 會考電腦 2001-20022001-2002
浸信會永隆中學
電腦系統基本硬件組成部分電腦系統基本硬件組成部分
輸入 /輸出部件存貯部件控制部件
算術及
邏輯運算部件
數據總線
CPU
浸信會永隆中學
地址總線
控制總線
控制部件控制部件
輸入 /輸出部件主存貯器ALU
IR
指令譯碼器PC
MAR
存貯部件存貯部件
輸入 /輸出部件控制部件ALU
MAR
MDR
地址 譯碼器
主存貯器
算術及邏輯運算部件算術及邏輯運算部件
SR ACC輸入 /輸出
部件主存貯器控制部件
加法器
電腦模型電腦模型
MDR
地址譯碼器
MAR
ACCSR IR
指令譯碼器PC
加法器
總線
中央處理器
存貯部
件
寄存器寄存器 ------ 是臨時的單一存貯單位,是臨時的單一存貯單位,用來貯存指令、數據和地址,以便執用來貯存指令、數據和地址,以便執行特定的工作。行特定的工作。
MAR 存貯器地址寄存器貯存着將會被存取的數據或指令的地址。
MDR 存貯器數據寄存器貯存着剛從主存貯器讀出或將會寫入主存貯器的數據或指令。
寄存器寄存器
PC 程序計數器 用來貯存下一個將會被取出的指令的地址。
IR 指令寄存器用來貯存取自主存器的現行指令。
寄存器寄存器 ACC 累加器用來暫時貯存算術及邏輯運
算的中段或最後結果。 SR 狀態寄存器 貯存着一系列的狀態標記
,每個標記都由一個位來表示。它們描述了在最近一次運算的過程中,貯存於累加器內的內容的狀態。
指令週期指令週期 00001 : 把地址 11111 的內容載入累加器 00010 : 把累加器的內容貯存於地址
11101 內
取週期取週期0011111101011110
00001
00001
1
01000001
把 PC 的內容設定為 00001把 00001 載入 MAR 中
MAR
PC
地址譯碼器
取週期取週期0011111101011110
00001
00001
1
2
01000001
地址譯碼器把貯存於 MAR的地址 00001 譯碼,並選出適當的存貯單元。
MAR
PC
地址譯碼器
取週期取週期0011111101011110
00001
00001
00111111
1
2
301000001
把地址 00001 的內容載入MDR 中
MAR
PC
地址譯碼器
MDR
取週期取週期0011111101011110
00001
00001
0011111100111111
1
2
3
4
01000001
把該指令複製至 IR 中
MAR
PC
地址譯碼器
MDR
IR
執行週期執行週期0011111101011110
00010
0011111101000001
5
LDA 00001
PC 的內容會自動增加至 00010指令譯碼器把指令翻譯
MAR
PC
MDR
IR
指令譯碼器
執行週期執行週期0011111101011110
00010
11111
0011111101000001
5 6
LDA
指 11111 載入 MAR 中
MAR
PC
執行週期執行週期0011111101011110
00010
11111
0011111101000001
5 6
7
LDA
地址譯碼器把貯存於 MAR的地址 11111 譯碼,並選出適當的存貯單元。
地址譯碼器
執行週期執行週期0011111101011110
00010
11111
0011111101000001
01000001
5 6
7
8
LDA
把貯存於地址 11111 的數據 載入 MDR 中
MDR
執行週期執行週期0011111101011110
00010
11111
0011111101000001
01000001
5 6
7
8
LDA
01000001
9
把數據複製至 ACC 累加器中
ACC
取週期取週期0011111101011110
00010
00010
1
0100000101000001
取週期取週期0011111101011110
00010
00010
1
2
0100000101000001
取週期取週期0011111101011110
00010
00010
01011110
1
2
3
0100000101000001
取週期取週期0011111101011110
00010
00010
0101111001011110
1
2
3
4
0100000101000001
執行週期執行週期0011111101011110
00011
00010
0011111001000001
5
STA
0011111001000001
執行週期執行週期0011111101011110
00011
11110
0011111001000001
00111110
5 6
STA
01000001
執行週期執行週期0011111101011110
00011
11110
0011111001000001
0100000101000001
5 6
STA
7
執行週期執行週期0011111101011110
00011
11110
0011111001000001
0100000101000001
5 6
7
8
STA
執行週期執行週期0011111101011110
00011
11110
0011111001000001
0100000101000001
5 6
8
9
7
STA
01000001
助記碼助記碼INP xxx 把數據輸入地址 xxxOUT xxx 輸出地址 xxx 的內容STA xxx 把的內容貯存於地址 xxx 內LDA xxx 把地址 xxx 的內容載入累加器中JMP xxx 轉移至地址 xxx JPN xxx 若累加器的內容是負數,則分支至地址 x
xx JPZ xxx 若累加器的內容是零,則分支至地址 xxx INC xxx 把地址 xxx 的內容加 1DEC xxx 把地址 xxx 的內容減 1ADD xxx 把地址 xxx 的內容與累加器的內容相加SUB xxx 從累加器的內容減去地址 xxx 的內容STP 停止
匯編語言程序例一匯編語言程序例一
00001 LDA 11111
00010 ADD 11110
00011 STA 11101
00100 STP
1
2
3
4
地址 指令
匯編語言程序例二匯編語言程序例二
00001 LDA 11111
00010 SUB 11110
00011 BNE 00110
00100 LDA 11111
00101 JMP 00111
00110 LDA 11110
00111 STA 11101
01000 STP
1
2
3
4
5
6
7
8
地址 指令