riscv的A扩展之排他操作(LR和SC)

定义一种互斥读(Load-Exclusive )指令 。该指令与普通的读指令类似,向存储器进行一次次读操作

• 定义一种互斥写( Store-Exclus ve )指令。该指令与普通的写指令类似,但是它不一定能够执行成功。该指令会向其结果寄存器写回操作成功或是失败的标志信息,如果执行失败,意味着没有真正写入存储器。

LR.W指令(lr.w rd,(rs1)
x[rd] = LoadReserved32(M[x[rs1]])
  • 从内存中地址为x[rs1]中加载四个字节,符号位扩展后写入x[rd],并对这个内存字注册保留。
SC.W指令(lw rd,offset(rs1))

x[rd]=StoreConditonal32(M[x[rs1],x[rs2])

  • 内存地址x[rs1]上存在加载保留,将x[rs2]寄存器中的4个字节数存入该地址。如果存入成功,向寄存器x[rd]中存入0,否则存入一个非0的错误码。

• 在系统中实现一个监测器(Monitor )。该监测器能够保证只有当互斥读(Load Exclusive)和互斥写( Store-Exclusive )指令成对地访

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值