多周期MIPS的内容,建议从微程序CPU设计开始看
首先根据华科给出的数据通路连接自己的数据通路
这里的取地址很有讲究
因为MIPS架构是32位,四字节,而我们做的CPU是字编址,最后两位不用,存储器的容量是,所以取2-11位。
总周期的数量可以用位地址来计算,只要没有运行Syscall指令指令就+1
指令译码逻辑的设计主要是对指令各字段的理解
结合分线器可以很轻松的设计出来(要注意下面提示了Syscall属于特殊的R型指令,所以在设计R型指令的信号时候Syscall要取反)
ALU控制逻辑,根据给出的提示直接在00,,01端街上5和6,11的时候运算与FUNC有关,R型指令中SLT是无符号比较运算,ADD是加法运算,再根据三态门的特性,可以设计出上图中的控制逻辑。
根据状态转移图可以填写对应的微程序地址转移Excel,从而生成对应的电路
再根据状态转移图和数据通路可以填写对应的微指令自动生成Excel
将最后一排粘贴到控存里面
测试结果: