ics3

ics3

T1

1

log2(32786)=15

最少 15 位。

2

  • 5 位 opcode
  • 两个寄存器共 6 位
  • 1 位指示指令为立即数的加
  • 剩 4 位立即数

补码,最大数为 231=7

3

  • 5 位 opcode
  • 寄存器 3 位
  • 剩 8 位 PCoffset

地址范围 [PC256,PC+255]

T2

1

  • Fetch 从内存中获取指令,使用 PC 中的地址。然后将PC递增,指向下一条指令。
  • Decode 对获取的指令进行译码,确定操作码及相关操作数。此阶段识别要执行的操作及将要访问的寄存器或内存位置。
  • Evaluate Address 如果指令需要访问内存,通过偏移量等,计算操作数的有效地址。
  • Fetch Operands 从指定的寄存器或内存位置获取指令所需的操作数。
  • Execute 执行指令所指定的实际操作。
  • Store Result 将执行结果写回到指令指定的目标,寄存器或内存位置。

2

Opcode Fetch Decode Evaluate Address Fetch Operands Execute Store Result
ADD 1 1 1 1 1
AND 1 1 1 1 1
ST 1 1 1 1 1 1
STR 1 1 1 1 1 1
LDI 1 1 1 1 1 1
LD 1 1 1 1 1 1
LEA 1 1 1 1 1
BR 1 1 1
JMP 1 1 1

3

LEA:6
ADD:6
ST:106
AND:6
ADD:6
STR:205
LDI:106

总共:441

4

ADD 指令

FETCH DECODE EVALUATE ADDRESS FETCH OPERANDS EXECUTE STORE RESULT
PC RW
IR W R R R R
MAR W
MDR
MEM R
registers R W W
NZP W

STR 指令

FETCH DECODE EVALUATE ADDRESS FETCH OPERANDS EXECUTE STORE RESULT
PC RW
IR W R R R R R
MAR W W
MDR W
MEM R W
registers R R
NZP W

JMP 指令

FETCH DECODE EVALUATE ADDRESS FETCH OPERANDS EXECUTE STORE RESULT
PC RW W
IR W R R R
MAR W
MDR
MEM R
registers
NZP

5

除了前 5 个周期外,每个周期处理完一个指令。
共 995 个。

T3

1

7

2

x3000: 1101 000 000 0 00 000
x3001: 0001 000 000 1 00001
x3002: 0001 010 001 0 00 000
x3003: 0001 010 001 0 00 010
x3004: 1001 010 010 111111
x3005: 0000 010 000000001
x3006: 1111 0000 00100101

3

  • 引入一个新的操作码用于 XOR 指令,将 XOR 添加到指令集
  • 更新指令解码器,识别新的 XOR 操作码,并将其路由到适当的执行路径。
  • 修改控制逻辑,能向 ALU 发出执行 XOR 操作的信号。
  • 在 ALU 内部实现逻辑电路,添加 XOR 操作
  • 更新汇编器,识别新的 XOR 指令并生成适当的机器代码。

T4

R/W MAR MDR
W x4000 11110
R x4003 10110
W x4001 10110
R x4002 01101
W x4003 01101

memory1:
01101
11010
01101
10110
11110

memory2:
11110
10110
01101
10110
11110

memory3:
11110
10110
01101
01101
11110

T5

X Does the program halt? Value stored in R0
000000010 y 2
000000001 y 3
000000000 y 6
111111111 n
111111110 n
posted @   suxxsfe  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2021-11-02 2021ZR noip集训day12
2021-11-02 CF1375F Integer Game

This blog has running: 1856 days 1 hours 59 minutes 40 seconds

Copyright © 2025 suxxsfe
Powered by .NET 9.0 on Kubernetes
点击右上角即可分享
微信分享提示