1、实现一个数字系统需要三个主要的组成部分:计算位的组合逻辑,存储位的存储器元素,以及控制存储器元素更新的时钟信号。
2、通常,处理一条指令包括很多操作。
1)取指(fetch):取指阶段从存储器读入指令,地址为程序计数器PC的值。从指令中抽取出指令指示符字节的两个四位部分,称为icode(指令代码)和ifun(指令功能)。
2)解码(decode):解码阶段从寄存器文件读入最多两个操作数,得到值valA or/and valB。
3)执行(execute):在执行阶段,算术/逻辑单元(ALU)要么执行指令指明的操作(根据ifun的值),计算存储器引用的有效地址,要么增加或减少栈指针。
4)访存(memory):访存阶段可以将数据写入存储器,或者从存储器读出数据。读出的值为valM。
5)写回(write back):写回阶段最多可以写两个结果到寄存器文件。
6)更新PC(PC update,程序计数器):将PC设置成下一条指令的地址。
参考资料: