MIPS 指令译码器设计

关于 MIPS 体系

MIPS 体系结构 是20世纪80年代初发明的一款 RISC(精简指令系统计算机)体系架构。MIPS是一个双关语,它既是 Microcomputer without Interlocked Pipeline Stages 的缩写, 同时又是 Millions of Instructions Per Second 的缩写。相比 Intel x86 的 CISC (复杂指令系统计算机)架构, MIPS 是一种非常优雅,简洁,高效的 RISC 体系架构,非常适合于教学研究,我国的龙芯处理器就是基于MIPS指令系统的。最初MIPS是为32位系统设计的,后来又发展出了64位MIPS,但依然对32位模式向下兼容。

关于指令译码器

指令译码器(Instruction Decoder,ID) 是控制器中的主要部件之一。计算机能且只能执行“指令”。指令由操作码地址码组成。操作码表示要执行的操作性质,即执行什么操作,或做什么;地址码是操作码执行时的操作对象的地址。计算机执行一条指定的指令时,必须首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能。这个分析工作由指令译码器来完成。

实验目的:

理解指令译码的基本概念,能将32位MIPS指令字译码成不同的指令译码信号。

实验内容:

利用比较器等功能模块将32位MIPS 指令字译码生成 LW、SW、BEQ、SLT、ADDI、OtherInstr信号:
在这里插入图片描述

信号 位宽 功能描述
IR 32 MIPS指令字IR
LW 1 当前指令为lw指令时输出为1
SW 1 当前指令为sw指令时输出为1
BEQ 1 当前指令为beq指令时输出为1
ADD 1 当前指令为addi指令时输出为1
SLT 1 当前指令为slt指令时输出为1
OtherInstr 1 当前指令为其他指令时输出为1

理解指令译码的基本概念,能将32位MIP指令字译码成不同的指令译码信号。

指令译码器是控制器核心功能部件,负责将指令字翻译成一根根的指令译码信号,每一根指令译码信号代表一条具体的指令,如上图中的 I1…Im 。

实验步骤

相关指令的规格通过参考MIPS英文指令手册进行查询。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询MIPS英文指令手册可以得知,各指令的高六位分别为:

Sw:101011; 换算成16进制为:2B;
在这里插入图片描述

Lw:100011; 换算成16进制为:23;
在这里插入图片描述

Addi:001000; 换算成16进制为:08;
在这里插入图片描述

Beq:000100; 换算成16进制为:04;
在这里插入图片描述

SLT 指令需要和低六位 FUNCT 一起判断:

OP:000000; 换算成16进制为:00;

FUNCT:101010;换算成16进制为:2A;
在这里插入图片描述
最后用逻辑或非门总结到 OtherInstr:
在这里插入图片描述
电路完成图:
在这里插入图片描述

测试为:

预期输入:
Cnt      IR           LW    SW    BEQ   ADDI  SLT   OtherI
0000     2010ffff     0     0     0     1     0     0
0001     20110000     0     0     0     1     0     0
0002     ae300200     0     1     0     0     0     0
0003     22100001     0     0     0     1     0     0
0004     22310004     0     0     0     1     0     
  • 23
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值