mips j指令_MIPS的基本实现

本文介绍了MIPS核心指令集的基本组成,包括存储器访问指令、算术逻辑指令和转移指令的特点及工作原理。同时,文章还详细阐述了R型指令的具体实现方式,包括寄存器堆的设计以及ALU的主要功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MIPS核心指令集:

指令集概括为3个指令类:

  1. 存储器访问指令类

lw,sw等

2. 算术逻辑指令类

add,sub等

3. 转移指令类

beg,J等

指令的共同性

取指令,送PC值给Memory;

根据指令内容读取寄存器内容;

除了跳转指令J外,所有指令类都要使用ALU

指令的不同性

使用ALU后,依据指令不同,进行不同的操作:

—存储器访问指令(lw,sw)读写存储器(D-Cache)

—算术逻辑指令将ALU计算结果写入寄存器堆

—转移指令根据ALU比较结果转移到下一条指令地址

数据通路雏形

ceeee5ac3b795c18573b86c4e2130160.png

具有多路选择器和逻辑控制的处理器雏形

226a1e2efea3d558f4698bbec06bbf6b.png

R型指令需要的寄存器堆

dcf480bf0fd32e59da42a369921aa51d.png

R型指令概括为需要两次读寄存器的地址,并且需要两个读数据总线;需要一次写寄存器地址和一个写数据总线。

下图是包含32个32位寄存器的寄存器堆,地址线5bit,数据线32bit。

bebd4f78c4c03200d8bd3646491f1b61.png

适合于R型指令,I型指令的ALU

主要功能:地址操作和操作数的处理。根据控制线选择不同的逻辑运算。

4acbea17e6f1c3206ee3924dfe8b71b1.png

用于LW和SW指令的数据存储器和符号扩展单元

9f99837916ee49af1e1f731564e10749.png

要求数据存储器具有读口和写口,需要指定数据单元的地址。

3bbfddf8c98473fdee0f0464b1d5ae13.png

16位的偏移量需要进行32位扩展形成数据存储器地址:

cadf936dda5908bbf0612dbb376f33cf.png

转移指令的操作单元

以Beq指令为例:

808be4298c8d5258f213c67f653061f6.png

由于一个指令时32bit,4个字节,所以Offset需要左移两位(x4)

aaf13a1d075bb2250b513e06579e6d1e.png

基于以上知识可以设计简单的单周期MIPS处理器。

8a64ee26362995f24e722137f0c6766e.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值