[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS CPU

自己动手画cpu系列 建设中ing 仅供参考!
在这首推华中科技大学计算机组成原理实验课mooc连接
初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。

tips:每个部分都是先贴答案再写思路

    • 数字逻辑基础
    • 数据表示实验
    • 运算器设计
    • 存储器设计
  1. MIPS CPU
      • MIPS CPU必备基础知识
      • 8指令单周期MIPS32 CPU
      • 8指令多周期(微指令)MIPS32 CPU
      • 8指令多周期(硬布线)MIPS32 CPU
      • 24条指令5级流水MIPS32 CPU

已测试完成冒泡排序
[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS CPU_第1张图片
主电路图如下:
[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS CPU_第2张图片
硬布线控制器如下:
[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS CPU_第3张图片
状态机如下:
[华中科技计组实验]logisim完成8指令多周期(硬布线)MIPS CPU_第4张图片
硬布线与微程序不同之处一个是微程序控制器一个是硬布线控制器 (逃)

咳咳,事实就是这,硬布线微指令跟微程序中的微指令是一样的,只不过微指令中下一个状态需要后四位和一个多路选择器来控制,这个由状态机控制。

说一下状态机的填写:
从第一行开始,起始0000取码阶段,时钟周期到来跳到0001即译码阶段,下一个时钟,由不同指令确定是哪个执行阶段,例如R_type指令跳到7(0111)R1访存阶段,下一周期跳到8(1000)R2写回阶段,再下一周期跳到取码阶段。

你可能感兴趣的:(自己动手画cpu)