操作系统课件risc-v体系结构.pdf
RISC-V简介
RISC-V是一种典型的精简(ReducedInstructionSetComputer,简
写为RISC)指令集,开放的指令集。
该项目2010年始于加州大学伯克利分校,但许多贡献者是该大学以
外的和行业工作者。
RISC-V指令集
➢后发优势:借鉴了之前的传统商业指令集,取长补短。
➢开放架构:开放指令集,自由使用。
➢场景丰富:指令集的设计综合考虑了多种应用场景。
➢开源参考:(RISC-V处理器的)开源实现众多。
RISC-V指令集的分类
常用扩展指令集
简称描述
M整数乘除法标准扩展
➢基本整数指令集:A不可中断指令标准扩展
F单精确度浮点运算标准扩展
RV32I、RV64I、RV128I。D双倍精确度浮点运算标准扩展
G所有以上的扩展指令集以及基本指令集的总和的简称
➢扩展指令集指令集:见右表Q四倍精确度浮点运算标准扩展
L十进制浮点运算标准扩展
C压缩指令标准扩展
➢指令集简写惯例:B位操作标准扩展
J动态指令翻译标准扩展
➢如RV64IMAF、
T顺序器标准扩展
RV64G(G=I+M+A+F)P单指令多数据流运算标准扩充
V向量运算标准扩充
N用户级别中断标准扩充
指令格式
基础整数指令RV64I分类:
•整数运算指令:add、sub、and、or、sll、slr、lui等。
•内存读写指令:lb、lh、lw、ld、sb、sh等。
•控制转移指令:be、bne、bge、blt、jal、jalr等。
指令格式(以加法指令add为例):
addrd,rs1,rs2或addird,rs1,imm
访存和寻址模式
在内存上,RISC-V提供的接口(相比于8086汇编)极其简单:
➢读内存(load):例如ldrd,offset(rs1)
➢写内存(store):例如swrs2,offset(rs1)
(d:64bits;w:32bits;h:16bits;b:8bits)
注:RISC-V采用小端字节序。如将0x1234ABCD写入0x800地址后:
[0x00000800]=0xCD;[0x00000801]=0xAB
[0x00000802]=0x34;[0x00000803]=0x12
RV64G机器的寄存器