发布网友 发布时间:2022-05-01 16:13
共1个回答
热心网友 时间:2022-06-19 08:37
额,不知道LZ要设计什么架构的CPU,不过这个问题上应该没啥区别吧?追答
啊,我知道了,看来LZ对于CPU还没有特别整体的概念。(不过我是没做过夏教授的那个的啦,只是做过一个MIPS的)
因为我没有具体做过这个,所以我对它的指令集不是特别清楚,不过应该逃不过这个意思。要实现1+1,可以考虑到实现方法包括有几种,我说一种:
将1放进一个寄存器(假设是寄存器1);
执行一个指令,这个指令的组成:操作码+寄存器1+寄存器2+立即数,我不清楚具体指令集,不是很清楚每个都是几位(立即数应该是8位啦),不过结构应当如是;
2中的指令中,寄存器1是源寄存器,寄存器2是目标寄存器,这样寄存器模块在执行过程中,从寄存器1中读取一个8位数据送给ALU,这样ALU就有了两个参数,一个是从寄存器里读出来的,另一个是刚才指令提供的1,然后产生一个加法输出结果。(ALU应该接受控制信号,两个8位输入数据,提供一个8位输出,以及一个0标志位)
把ALU产生的结果送回寄存器2.
这样这个过程就结束了。CPU的设计过程遵循模块化设计,应该是先把组件做好(比如寄存器、ALU、内存之类的),然后用线把它们拼起来。不知道这次合不合LZ的要求?