Nand2Tetris|Week5
现代计算机的体系结构
主要特征:
- 包括处理器,寄存器,内存
- 存储程序
- 通用抽象
计算机的本质:使用指令来操纵数据的机器
而从技术角度来看,计算机也可以看作是一组通过总线连接的芯片
内存存储了只读程序本身和运行时操作的数据
CPU则包括多个数据寄存器,地址寄存器,PC指针以及 ALU
我们上一节实际上是在没有实际硬件的情况下,用 hack 汇编来模拟 Hack 计算机中 内存和 CPU 的行为
取址-执行的循环
- CPU的PC总是指向下一条需要执行的指令的地址,CPU通过地址总线,根据PC地址获取到内存中(只读内存部分)的指令数据
- 取出只读内存中的指令,通过控制总线传向CPU的ALU
- 这条指令中指定段的指定几个bit会被ALU解析,指明是进行何种的操作,操作的是CPU寄存器还是内存的寄存器
- CPU根据指令解析的结果,执行指令
- 更新PC(JMP或者是正常执行都会更新PC中的地址)
- 。。。(回到第一步)
在上述过程中存在一个值得讨论的地方:
对内存输入一个地址,在CPU侧,输出的数据可以是指令本身(获取指令阶段),也可以是指令所需要的数据(执行指令阶段),CPU应该如何区分?—————— 指令本身通过控制总线传输,指令所需要的数据通过数据总线传输
Nand2Tetris|Week5
http://example.com/2025/01/16/Nand2Tetris-Week5/