没有合适的资源?快使用搜索试试~ 我知道了~
开源指令集架构 RISCV文档和常用指令 介绍和总结
需积分: 5 1 下载量 72 浏览量
2023-08-29
16:16:36
上传
评论
收藏 1.97MB PDF 举报
温馨提示
试读
121页
开源指令集架构 RISCV文档和常用指令 介绍和总结: 目前比较热门且开源的,精简指令集架构RISCV,随着开源代码的迭代更新,应用越来越多,给大家分享一些RISCv的介绍和指令总结,希望可以帮助使用者或者感兴趣者,高效学习和使用这个潜力巨大的指令集架构! RISC-V架构相比其他成熟的商业架构的最大一个不同还在于它是一个模块化的架构。因此,RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用。
资源推荐
资源详情
资源评论
e
RISC-V Instruction Set Summary
e
CONTENT
CONTENT
.............................................................................................................................................
2
Revision History
..............................................................................................................................
12
1 Register File
......................................................................................................................................
1
1.1 GPR
........................................................................................................................................
1
1.2 FGPR
......................................................................................................................................
2
1.3 Vector Registers
.....................................................................................................................
3
1.3.1 Vector CSRs
.................................................................................................................
3
1.3.1.1 Vector type register (vtype)
............................................................................
3
1.3.1.2 Vector Length Register (vl)
..............................................................................
5
1.3.2 Vector General Purpose Registers (VGPR)
.................................................................
5
1.3.3 Mapping of Vector Elements to Vector Register State
..............................................
5
1.3.3.1 Mapping with LMUL=1
....................................................................................
6
1.3.3.2 Mapping with LMUL > 1
..................................................................................
6
1.3.3.3 Mask Register Layout
......................................................................................
7
1.4 PC
...........................................................................................................................................
8
1.5 CSRs
.......................................................................................................................................
9
2 RISCV32-IMACF Instructions
..........................................................................................................
11
2.1 RISCV32-I
.............................................................................................................................
11
2.1.1 Load and Store Instructions
.....................................................................................
11
2.1.1.1 lb rd, offset(rs1)
............................................................................................
11
2.1.1.2 lbu rd, offset(rs1)
..........................................................................................
12
2.1.1.3 lh rd, offset(rs1)
............................................................................................
12
2.1.1.4 lhu rd, offset(rs1)
..........................................................................................
12
2.1.1.5 lw rd, offset(rs1)
............................................................................................
12
2.1.1.6 sb rs2, offset(rs1)
...........................................................................................
13
2.1.1.7 shrs2, offset(rs1)
...........................................................................................
13
2.1.1.8 swrs2, offset(rs1)
..........................................................................................
13
2.1.2 Integer Computational Instructions
.........................................................................
14
2.1.2.1 sllrd, rs1, rs2
..................................................................................................
14
2.1.2.2 slli rd, rs1, shamt
...........................................................................................
14
2.1.2.3 srl rd, rs1, rs2
.................................................................................................
14
2.1.2.4 srlird, rs1, shamt
...........................................................................................
15
2.1.2.5 sra rd, rs1, rs2
................................................................................................
15
2.1.2.6 sraird, rs1, shamt
..........................................................................................
15
2.1.2.7 addrd, rs1, rs2
...............................................................................................
15
2.1.2.8 addi rd, rs1, immediate
................................................................................
16
2.1.2.9 sub rd,rs1, rs2
................................................................................................
16
2.1.2.10 lui rd, immediate
.........................................................................................
16
2.1.2.11 auipc rd, immediate
....................................................................................
17
2.1.2.12 and rd, rs1, rs2
.............................................................................................
17
2.1.2.13 andi rd, rs1, immediate
..............................................................................
17
e
2.1.2.14 or rd, rs1, rs2
................................................................................................
17
2.1.2.15 orird, rs1, immediate
..................................................................................
18
2.1.2.16 xor rd, rs1, rs2
..............................................................................................
18
2.1.2.17 xorird, rs1, immediate
................................................................................
18
2.1.2.18 sltrd, rs1, rs2
................................................................................................
19
2.1.2.19 slturd, rs1, rs2
..............................................................................................
19
2.1.2.20 slti rd, rs1, immediate
.................................................................................
19
2.1.2.21 sltiu rd, rs1, immediate
...............................................................................
19
2.1.3 Control Transfer Instructions
...................................................................................
20
2.1.3.1 beq rs1, rs2, offset
........................................................................................
20
2.1.3.2 bne rs1, rs2, offset
........................................................................................
20
2.1.3.3
blt
rs1, rs2, offset
...........................................................................................
20
2.1.3.4
bge
rs1, rs2, offset
........................................................................................
21
2.1.3.5
bltu
rs1, rs2, offset
........................................................................................
21
2.1.3.6 bgeu rs1, rs2, offset
......................................................................................
21
2.1.3.7 jal rd, offset
....................................................................................................
21
2.1.3.8 jalr rd, offset(rs1)
..........................................................................................
22
2.1.4 Misc-mem instructions
............................................................................................
22
2.1.4.1
fence
pred, succ
.............................................................................................
22
2.1.4.2 fence.i
............................................................................................................
22
2.1.4.3 sfence.vmars1, rs2
.........................................................................................
23
2.1.5 Control and Status Register Instructions
.................................................................
23
2.1.5.1 csrrw rd, csr, zimm[4:0]
................................................................................
23
2.1.5.2 csrrs rd, csr, rs1
..............................................................................................
23
2.1.5.3 csrrc rd, csr, rs1
..............................................................................................
24
2.1.5.4 csrrwi rd, csr, zimm[4:0]
...............................................................................
24
2.1.5.5 csrrsi rd, csr, zimm[4:0]
.................................................................................
24
2.1.5.6 csrrci rd, csr, zimm[4:0]
.................................................................................
25
2.1.6 Environment Call and Breakpoints
..........................................................................
25
2.1.6.1 ecall
...............................................................................................................
25
2.1.6.2 ebreak
...........................................................................................................
25
2.1.7 Trap-Return Instructions
..........................................................................................
25
2.1.7.1 mret
...............................................................................................................
25
2.1.7.2 sret
................................................................................................................
26
2.1.8 Wait for Interrupt
.....................................................................................................
26
2.1.8.1 wfi
..................................................................................................................
26
2.2 RISCV32-M
...........................................................................................................................
26
2.2.1 mul rd, rs1, rs2
..........................................................................................................
26
2.2.2 mulh rd, rs1, rs2
........................................................................................................
27
2.2.3 mulhsu rd,rs1, rs2
.....................................................................................................
27
2.2.4 mulhu rd, rs1, rs2
......................................................................................................
27
2.2.5
div
rd, rs1, rs2
...........................................................................................................
27
2.2.6
divu
rd, rs1, rs2
.........................................................................................................
28
2.2.7 rem rd, rs1, rs2
.........................................................................................................
28
e
2.2.8 remu rd, rs1, rs2
.......................................................................................................
28
2.3 RISCV32-C
............................................................................................................................
29
2.3.1 Load and Store Instructions
.....................................................................................
29
2.3.1.1 c.lwrd’, uimm(rs1’)
........................................................................................
29
2.3.1.2 c.swrs2’, uimm(rs1’)
......................................................................................
29
2.3.1.3 c.lwsp rd, uimm(x2)
.....................................................................................
29
2.3.1.4 c.swsprs2, uimm(x2)
.....................................................................................
29
2.3.2 Control Transfer Instructions
...................................................................................
30
2.3.2.1 c.beqzrs1’, offset
...........................................................................................
30
2.3.2.2 c.bnezrs1’, offset
...........................................................................................
30
2.3.2.3 c.j offset
.........................................................................................................
30
2.3.2.4 c.jr rs1
............................................................................................................
31
2.3.2.5 c.jal offset
......................................................................................................
31
2.3.2.6 c.jalr rs1
.........................................................................................................
31
2.3.2.7 c.ebreak
.........................................................................................................
31
2.3.3 Integer Computational Instructions
.........................................................................
32
2.3.3.1 c.add rd, rs2
...................................................................................................
32
2.3.3.2 c.addird, imm
................................................................................................
32
2.3.3.3 c.subrd’, rs2’
..................................................................................................
32
2.3.3.4 c.addi16spimm
.............................................................................................
32
2.3.3.5 c.addi4spn rd’, uimm
.....................................................................................
33
2.3.3.6 c.and rd’, rs2’
.................................................................................................
33
2.3.3.7 c.andird’, imm
...............................................................................................
33
2.3.3.8 c.orrd’, rs2’
....................................................................................................
33
2.3.3.9 c.xorrd’, rs2’
...................................................................................................
34
2.3.3.10 c.sllird, uimm
...............................................................................................
34
2.3.3.11 c.srlird’, uimm
..............................................................................................
34
2.3.3.12 c.sraird’, uimm
.............................................................................................
34
2.3.3.13 c.mvrd, rs2
.................................................................................................
35
2.3.3.14 c.lird, imm
...................................................................................................
35
2.3.3.15 c.luird, imm
.................................................................................................
35
2.3.4 Floating Point Instructructions
.................................................................................
35
2.3.4.1 c.flwrd’, uimm(rs1’)
.......................................................................................
35
2.3.4.2 c.flwsprd, uimm(x2)
......................................................................................
36
2.3.4.3 c.fsw rs2’, uimm(rs1’)
....................................................................................
36
2.3.4.4 c.fswsp rs2, uimm(x2)
...................................................................................
36
2.4 RISCV-F
................................................................................................................................
37
2.4.1 Single-Precision Floating-Point Load and Store Instructions
...................................
37
2.4.1.1 flw rd, offset(rs1)
..........................................................................................
37
2.4.1.2 fsw rs2, offset(rs1)
..........................................................................................
37
2.4.2 Single-Precision Floating-Point Computational Instructions
...................................
37
2.4.2.1 fmadd.s rd, rs1, rs2, rs3
.................................................................................
37
2.4.2.2 fmsub.s rd, rs1, rs2, rs3
..................................................................................
38
2.4.2.3 fnmadd.s rd, rs1, rs2, rs3
...............................................................................
38
e
2.4.2.4 fnmsub.srd, rs1, rs2, rs3
................................................................................
38
2.4.2.5 fadd.s rd, rs1, rs2
...........................................................................................
39
2.4.2.6 fsub.s rd,rs1, rs2
............................................................................................
39
2.4.2.7 fmul.s rd, rs1, rs2
...........................................................................................
39
2.4.2.8 fdiv.s rd, rs1, rs2
.............................................................................................
39
2.4.2.9
fsqrt
.s rd, rs1, rs2
...........................................................................................
40
2.4.2.10 fmin.s rd,rs1, rs2
..........................................................................................
40
2.4.2.11 fmax.s rd,rs1, rs2
.........................................................................................
40
2.4.3 Single-Precision Floating-Point Conversion and Move Instructions
........................
41
2.4.3.1
fcvt
.w.s rd, rs1, rs2
.........................................................................................
41
2.4.3.2 fcvt.wu.s rd, rs1, rs2
.......................................................................................
41
2.4.3.3
fcvt
.s.w rd, rs1, rs2
.........................................................................................
41
2.4.3.4
fcvt
.s.wu rd, rs1, rs2
.......................................................................................
41
2.4.3.5 fsgnj.s rd, rs1, rs2
...........................................................................................
42
2.4.3.6 fsgnjn.s rd, rs1, rs2
.........................................................................................
42
2.4.3.7 fsgnjx.s rd, rs1, rs2
.........................................................................................
42
2.4.3.8 fmv.x.w rd, rs1, rs2
.........................................................................................
43
2.4.3.9 fmv.w.x rd, rs1, rs2
.........................................................................................
43
2.4.4 Single-Precision Floating-Point Compare Instructions
............................................
43
2.4.4.1 feq.s rd, rs1, rs2
..............................................................................................
43
2.4.4.2 flt.s rd, rs1, rs2
...............................................................................................
43
2.4.4.3 fle.s rd, rs1, rs2
...............................................................................................
44
2.4.5 Single-Precision Floating-Point Classify Instruction
.................................................
44
2.4.5.1
fclass
.s rd, rs1
................................................................................................
44
3 RISCV64-IMACD Instructions
..........................................................................................................
46
3.1 RISCV64-I
.............................................................................................................................
46
3.1.1 lwu rd, offset(rs1)
.....................................................................................................
46
3.1.2 ld rd, offset(rs1)
........................................................................................................
46
3.1.3 sd rs2, offset(rs1)
.....................................................................................................
46
3.1.4 addw rd, rs1, rs2
.......................................................................................................
47
3.1.5 addiw rd, rs1, immediate
.........................................................................................
47
3.1.6 subw rd, rs1, rs2
.......................................................................................................
47
3.1.7 sllw rd, rs1, rs2
..........................................................................................................
47
3.1.8 slliw rd, rs1, shamt
...................................................................................................
48
3.1.9 sraw rd,rs1, rs2
.........................................................................................................
48
3.1.10 sraiw rd,rs1, shamt
................................................................................................
48
3.1.11 srliw rd, rs1, shamt
.................................................................................................
49
3.1.12 srlw rd, rs1, rs2
.......................................................................................................
49
3.2 RISCV64-M
...........................................................................................................................
49
3.2.1 mulw rd, rs1, rs2
.......................................................................................................
49
3.2.2
divw
rd, rs1, rs2
........................................................................................................
50
3.2.3
divuw
rd, rs1, rs2
......................................................................................................
50
3.2.4 remw rd, rs1, rs2
.......................................................................................................
50
3.2.5 remuw rd, rs1, rs2
....................................................................................................
50
剩余120页未读,继续阅读
资源评论
weixin_42038119
- 粉丝: 3
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功