ics4

suxxsfe發表於2024-11-02

T1

opcode 4 位
nzp 3 位
PCoffset 9 位

最大記憶體:x40FF

T2

立即數定址,暫存器定址,直接定址,間接定址,基址偏移定址

operate instructions: ADD, NOT
data movement instructions: LEA, LDR
control instructions: JMP

ADD:暫存器定址,立即數定址
NOT:暫存器定址
LEA:暫存器定址,直接定址
LDR:暫存器定址,基址偏移定址
JMP:基址偏移定址

T3

1

為了獲取當前指令。MAR 儲存要訪問的記憶體地址,將 PC 的值放入 MAR 可以從記憶體中提取該指令。

2

為了準備下一條指令的獲取。透過將 PC 的值加一,計算機可以在下一次取指時能夠訪問記憶體中下一條指令。

T4

1

ADD R5, R4, x0;

2

AND R3, R3, x0;

3

NOT R1, R7;
ADD R1, R1, x1;
ADD R1, R1, R6;

4

LD R1, DATA;
ADD R1, R1, R1;
ST R1, DATA;

5

ADD R1, R1, x0;

T5

LD:讀 1 次,寫 0 次,無不需要的階段。
LDI:讀 2 次,寫 0 次,無不需要的階段。
LEA:讀 0 次,寫 0 次,不需要 fetch operands。

T6

  1. 是,立即數的最大值可以擴大
  2. 是,可以直接定址的範圍擴大
  3. 否,0000 指令的各位和暫存器個數無關

T7

AND R0, R0, x0;
NOT R2, R2;
ADD R1, R1, R2;
ADD R1, R1, x1;
BRz END;
ADD R1, R1, x0;
BRp GE;
ADD R0, R0, x-1;
JSR END;
GE
ADD R0, R0, x1;
JSR END;
END

T8

1

x70A3

2

1110 1101 0110 1110

T9

0100 1000 0000 1111

T10

Y 是 p 的條件碼,標誌上一次的計算結果為負。
對於分支指令 0000,X 應該為 1。