mips指令集设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mips指令集设计
要求:指令集功能尽可能完备,指令条数尽可能少。

成员:
思路:仿照mips指令集的编码方法,每条指令采用32位编码方式。

由于要使指令条数尽可能少,还要具有可扩充性,保留一定的操作码空间,故使用5位给操作码编码。

使用64个64位通用寄存器,故使用6位进行地址码编码。

所以三种不同的指令格式为:
R型指令:
0 4 5 10 11 16 17 22 23 31 OPCODE RS1 RS2 RD FUNC
I型指令:
0 4 5 10 11 16 17 31 OPCODE RS1 RS2 IMM/UIMM
J型指令:
0 4 5 31 OPCODE OFFSET
R型指令的操作码均为00000,包含指令有:加法指令、减法指令、无符号加法指令、无符号减法指令、逻辑指令(与、或、或非、抑或)、移动指令。

I型指令的操作码为00001—01000,包含指令有:立即数加指令、无符号立即数加指令、逻辑左移指令、逻辑右移指令、Store指令、Load指令、等于零时分支指令、不相等时分支指令。

J型指令的操作码为01001—01100,包含指令有:逻辑指令
(非)、跳转指令、跳转并链接指令、寄存器跳转指令。

具体指令设计如下:
R型指令:
加法指令:
0 4 5 10 11 16 17 22 23 31 00000 000000 000001 000010 000000000
减法指令:
0 4 5 10 11 16 17 22 23 31 00000 000011 000100 000101 000000001
无符号加法指令:
0 4 5 10 11 16 17 22 23 31 00000 000110 000111 001000 000000010
无符号减法指令:
0 4 5 10 11 16 17 22 23 31 00000 001001 001010 001011 000000011
与:
0 4 5 10 11 16 17 22 23 31 00000 001100 001101 001110 000000100
或:
0 4 5 10 11 16 17 22 23 31 00000 001111 010000 010001 000000101
或非:
0 4 5 10 11 16 17 22 23 31 OPCODE 010010 010011 010100 000000110
抑或:
0 4 5 10 11 16 17 22 23 31 OPCODE 010101 010110 010111 000000111
移动指令:
0 4 5 10 11 16 17 22 23 31
OPCODE 011000 011001 011010 000001000
I型指令:
立即数加指令:
0 4 5 10 11 16 17 31 00001 011011 011100 immediate
无符号立即数加指令:
0 4 5 10 11 16 17 31 00010 011101 011110 immediate(unsign)
逻辑左移指令:
0 4 5 10 11 16 17 31 00011 011111 100000 immediate
逻辑右移指令:
0 4 5 10 11 16 17 31 00100 100001 100010 immediate
Store指令:
0 4 5 10 11 16 17 31 00101 100011 100100 immediate
Load指令:
0 4 5 10 11 16 17 31 00110 100101 100110 immediate
等于零时分支指令:
0 4 5 10 11 16 17 31 00111 100111 101000 immediate
不相等时分支指令:
0 4 5 10 11 16 17 31 01000 101001 101010 immediate
J型指令:
非:
0 4 5 31 01001 OFFSET
跳转指令:
0 4 5 31 01010 OFFSET
跳转并链接指令:
0 4 5 31 01011 OFFSET
寄存器跳转指令:
0 4 5 31 01100 OFFSET。

相关文档
最新文档