logisim计组实验十 单周期MIPS CPU

全部电路已经在educoder平台测试通过。
电路文件已经托管至Github,欢迎star:点这里

文章目录

    • mips指令格式
    • 指令
    • 指令译码逻辑
    • ALU控制逻辑
    • 控制信号
    • 电路图
    • 功能说明

mips指令格式

logisim计组实验十 单周期MIPS CPU_第1张图片

logisim计组实验十 单周期MIPS CPU_第2张图片logisim计组实验十 单周期MIPS CPU_第3张图片

  • 当OP六位为全零的时候,表示是R型指令
    Rs、Rt原寄存器,Rd是目标寄存器
    shamt是用来移位的偏移量,最多偏移31位
    最后一个字段funct描述运算功能,相当于是op字段的扩展操作码 32表示加法,34表示减法
  • OP不为0,能够唯一确定不同的功能 I型指令有两个操作数Rs和Rt

指令

logisim计组实验十 单周期MIPS CPU_第4张图片
lw:

logisim计组实验十 单周期MIPS CPU_第5张图片

addi:
logisim计组实验十 单周期MIPS CPU_第6张图片
sw:
logisim计组实验十 单周期MIPS CPU_第7张图片
beq:
logisim计组实验十 单周期MIPS CPU_第8张图片
bne:
logisim计组实验十 单周期MIPS CPU_第9张图片
add:

在这里插入图片描述

syscall:
logisim计组实验十 单周期MIPS CPU_第10张图片
slt:
logisim计组实验十 单周期MIPS CPU_第11张图片
辅助指令R_TYPE:
用于判断是否是寄存器写回信号

指令译码逻辑

OP是指令的26-31位,func是指令的0-5位。
logisim计组实验十 单周期MIPS CPU_第12张图片

ALU控制逻辑

logisim计组实验十 单周期MIPS CPU_第13张图片
ALU_OP=((指令==slt)?11:5)

控制信号

logisim计组实验十 单周期MIPS CPU_第14张图片
logisim计组实验十 单周期MIPS CPU_第15张图片

电路图

logisim计组实验十 单周期MIPS CPU_第16张图片

功能说明

支持8条MIPS核心指令,最终设计实现的 MIPS 处理器能运行冒泡排序测试程序 sort.asm,该程序自动在数据存储器0~15号字单元中写入16个数据,然后利用冒泡排序将数据升序排序。

你可能感兴趣的:(logisim与计算机组成,golang,编译原理,java)