[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS32 CPU
自己动手画cpu系列 建设中ing 仅供参考!
在这首推华中科技大学计算机组成原理实验课mooc连接
初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。
tips:每个部分都是先贴答案再写思路
-
- 数字逻辑基础
-
- 数据表示实验
-
- 运算器设计
-
- 存储器设计
- MIPS CPU
-
- MIPS CPU必备基础知识
-
- 8指令单周期MIPS32 CPU
-
- 8指令多周期(微指令)MIPS32 CPU
-
- 8指令多周期(硬布线)MIPS32 CPU
-
- 24条指令5级流水MIPS32 CPU
-
已测试完成冒泡排序
主电路图如下:
硬布线控制器如下:
状态机如下:
硬布线与微程序不同之处一个是微程序控制器一个是硬布线控制器???? (逃)
咳咳,事实就是这,硬布线微指令跟微程序中的微指令是一样的,只不过微指令中下一个状态需要后四位和一个多路选择器来控制,这个由状态机控制。
说一下状态机的填写:
从第一行开始,起始0000取码阶段,时钟周期到来跳到0001即译码阶段,下一个时钟,由不同指令确定是哪个执行阶段,例如R_type指令跳到7(0111)R1访存阶段,下一周期跳到8(1000)R2写回阶段,再下一周期跳到取码阶段。