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