多周期数据通路资料:
和单周期CPU的设计相同,都是为了实现一系列的指令功能,但需要指出的是何为多周期(注意与前面写道的单周期的区别,这也是设计的关键之处)
多周期CPU指的是将整个CPU的执行过程分成几个阶段,每个阶段用一个时钟去完成,然后开始下一条指令的执行,而每种指令执行时所用的时钟数不尽相同,这就是所谓的多周期CPU。
理解完多周期与单周期的区别后,开始我们的多周期CPU设计之路(可以随时对应单周期的设计,注意联系与区别)。
需要设计的指令及格式如下:
1、ALU完成
2、PC完成 由PC和PCAddr模块共同构成
3、扩展Extend完成
4、DataMemory完成 这里用到寄存器存储
Reg[7:0] memory[0:63];
memory[addr]= Data2[31:24];
memory[addr+1] = Data2[23:16];
memory[addr+1]= Data2[15:8];
memory[addr+1]= Data2[7:0];
读数据也是如此。
5、指令存储器
8位数据往里读
6、 寄存器单元
7、 二选一数据模块 DataSelect_2