rsicv中数据访存指令
时间: 2024-05-30 14:08:36 浏览: 229
在RISC-V架构中,数据访存指令可以分为两类:访问字节(8位)、半字(16位)、字(32位)和双字(64位)的指令和访问原子操作的指令。
1. 访问字节、半字、字和双字的指令包括:
- LB(Load Byte):将一个字节加载到寄存器中;
- LH(Load Half-word):将一个半字(16位)加载到寄存器中;
- LW(Load Word):将一个字(32位)加载到寄存器中;
- LD(Load Double-word):将一个双字(64位)加载到寄存器中;
- LBU(Load Byte Unsigned):将一个无符号字节加载到寄存器中;
- LHU(Load Half-word Unsigned):将一个无符号半字(16位)加载到寄存器中;
- LWU(Load Word Unsigned):将一个无符号字(32位)加载到寄存器中;
- SB(Store Byte):将一个字节存储到存储器中;
- SH(Store Half-word):将一个半字(16位)存储到存储器中;
- SW(Store Word):将一个字(32位)存储到存储器中;
- SD(Store Double-word):将一个双字(64位)存储到存储器中。
2. 访问原子操作的指令包括:
- LR.W(Load-Reserved Word):将一个字(32位)加载到寄存器中,并将地址标记为已保留;
- SC.W(Store-Conditional Word):如果地址未被修改,则将一个字(32位)存储到存储器中;
- AMOADD.W(Atomic Memory Operation Add Word):原子地将一个字(32位)加到存储器中的值中,并将结果存储到寄存器中;
- AMOSWAP.W(Atomic Memory Operation Swap Word):原子地将一个字(32位)存储到存储器中,并将存储器中原来的值存储到寄存器中;
- AMOXOR.W(Atomic Memory Operation XOR Word):原子地将一个字(32位)与存储器中的值进行异或操作,并将结果存储到寄存器中;
- AMOAND.W(Atomic Memory Operation AND Word):原子地将一个字(32位)与存储器中的值进行与操作,并将结果存储到寄存器中;
- AMOOR.W(Atomic Memory Operation OR Word):原子地将一个字(32位)与存储器中的值进行或操作,并将结果存储到寄存器中;
- AMOMIN.W(Atomic Memory Operation MIN Word):原子地将一个字(32位)与存储器中的值进行比较,存储较小的值到存储器中,并将结果存储到寄存器中;
- AMOMAX.W(Atomic Memory Operation MAX Word):原子地将一个字(32位)与存储器中的值进行比较,存储较大的值到存储器中,并将结果存储到寄存器中;
- AMOMINU.W(Atomic Memory Operation MINU Word):原子地将一个无符号字(32位)与存储器中的值进行比较,存储较小的值到存储器中,并将结果存储到寄存器中;
- AMOMAXU.W(Atomic Memory Operation MAXU Word):原子地将一个无符号字(32位)与存储器中的值进行比较,存储较大的值到存储器中,并将结果存储到寄存器中。
阅读全文