单周期MIPS CPU(处理器)的设计

编程入门 行业动态 更新时间:2024-10-27 10:28:57

单周期MIPS CPU(<a href=https://www.elefans.com/category/jswz/34/1768090.html style=处理器)的设计"/>

单周期MIPS CPU(处理器)的设计

MIPS CPU(处理器)的设计

一、MIPS指令

1.指令格式
1.1 R型指令

(1)R型指令格式

000000 (op)RsRtRdshamtfunct
6bits5bits5bits5bits5bits6bits

注意: 该类型指令操作数和保存结果均通过寄存器进行

操作含义
op操作码,所有R型指令都全为0
rs寄存器编号,对应第一个源操作数
rt寄存器编号,对应第二个源操作数
rd寄存器编号,保存结果
shamt常数,在移位指令中使用
funct功能码,指定指令的具体功能

(2)具体R型指令
注意: R型指令根据操作的寄存器数可以分为三种不同类型。

【1】带有3个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
add000000rsrtrd00000100000寄存器加
sub000000rsrtrd00000100010寄存器减
and000000rsrtrd00000100100寄存器与
or000000rsrtrd00000100101寄存器或
xor000000rsrtrd00000100110寄存器异或
	$rd = $rs op $rt

【2】带有2个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
sll00000000000rtrdsa100000逻辑左移
srl00000000000rtrdsa000010逻辑右移
sll00000000000rtrdsa000011算术右移
	$rd = $rt shift sa

【3】带有1个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
jr000000rs000000000000000001000寄存器跳转
	jr rs;PC = rs
1.2 I型指令

(1)I型指令格式

OPRsRtimm(立即数)
6bits5bits5bits16bits

注意: 操作数中涉及立即数,结果保存到寄存器

操作含义
op标识指令的操作功能
rs第一个源操作数,是寄存器操作数
rt目的寄存器编号,用来保存运算结果
imm第二个源操作数,立即数

(2)具体I型指令
注意: I型指令存在4种不同的类型

【1】面向运算的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
addi001000rsrtimm寄存器和立即数“加”
andi001100rsrtimm寄存器和立即数“
ori001101rsrtimm寄存器和立即数“或”
xori001110rsrtimm寄存器和立即数“异或”
第一条指令是对立即数进行符号拓展,其他都是0拓展
addi rt, rs, imm;
$rt = $rs op E(imm)

【2】面向访存的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
lw100011rsrtimm从存储器种读取数据
sw101011rsrtimm把数据保存到存储器
MIPS 32中唯一两条访问存储器的指令(RISC)
lw rt, imm(rs) #rt = mem [ rt = mem[rt=mem[rs+E(imm)]
sw rt, imm(rs) #mem [ mem[mem[rs+E(imm)] = $rt

【3】面向数位设置的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
lui00111100000rtimm设置寄存器的高16位
lui rt, imm #$rt = imm<<16(空位补0)

【4】面向条件转移(分支)的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
beq000100rsrtimm寄存器相等则转移
bne000101rsrtimm寄存器不相等则转移
beq rs, rt, imm #if(rs = = rt) PC=PC+E(imm)<<2
bne rs, rt, imm #if(rs ! = rt) PC=PC+E(imm)<<2
标准的PC相对寻址方式
1.3 J型指令

(1)J型指令格式

OP立即数
6bits26bits

(2)具体J型指令

指令[31 : 26][25 : 0]指令功能
j000010address无条件跳转
jal001100address调用与联接
j address;
$ PC=($PC+4)H4 U (address<<2)
jal address;
$ra = $PC+4(保存返回地址)
$ PC=($PC+4)H4 U (address<<2)
2.指令功能

MIPS 指令集(共31条)

助记符指令格式示例示例含义操作及其解释
Bit #31…2625…2120…1615…1110…65…0
R-typeoprsrtrdshamtfunc
add000000rsrtrd00000100000add $1,$2,$3$1=$2+$3rd <- rs + rt ;其中rs=$2,rt=$3, rd=$1
addu000000rsrtrd00000100001

更多推荐

单周期MIPS CPU(处理器)的设计

本文发布于:2024-03-23 21:10:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742846.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:处理器   周期   MIPS   CPU

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!