-
該機器之最大記憶體大小
機器指令中的運算子佔 4 個位元,而運算元佔 12 個位元。假設運算子表示操作的類型或暫存器,那麼我們主要需要關注運算元如何表示記憶體地址。
運算元有 12 個位元,可以表示的記憶體地址範圍是=4096 個地址。因此,該機器的最大記憶體大小為 4096 個地址。
-
程式計數器(Program Counter, PC)與指令暫存器(Instruction Register, IR)的大小
- 程式計數器(PC): 程式計數器保存當前執行指令的地址。因為記憶體地址範圍是 4096 個地址,需要 12 個位元來表示這些地址。因此,程式計數器的大小為 12 位元。
- 指令暫存器(IR): 指令暫存器用來保存當前正在執行的指令。指令由 4 個位元的運算子和 12 個位元的運算元組成,因此指令暫存器的大小為 4+12=16 位元。
-
常用三種機器指令的運算型態
常見的機器指令類型通常包括以下三種:
-
資料傳輸指令(例如:LOAD 和 STORE)
- LOAD R1, [100]: 從記憶體地址 100 讀取資料到暫存器 R1。
- STORE R1, [100]: 將暫存器 R1 中的資料存到記憶體地址 100。
-
算術運算指令(例如:ADD 和 SUB)
- ADD R1, R2, R3: 將 R2 和 R3 的值相加,結果存入 R1。
- SUB R1, R2, R3: 將 R2 和 R3 的值相減,結果存入 R1。
-
控制指令(例如:JMP 和 BEQ)
- JMP [200]: 跳轉到記憶體地址 200 開始執行。
- BEQ R1, R2, [150]: 若 R1 和 R2 相等,則跳轉到記憶體地址 150。
在這種假設的機器中,我們可以用 4 位元的運算子來表示不同的操作類型,而運算元部分則可以指定記憶體地址或暫存器編號,具體取決於指令的設計。