WRS.STO 能替代 LR/SC 吗?
不能。它只等待已有保留集相关事件;同步算法仍需要 LR/SC、AMO 或 CAS 等原子操作完成状态更新。
等待保留集存储事件(短超时)
与WRS.NTO类似,但暂停时长受实现定义短超时限制(通常10-100倍缓存未命中延迟)。超时后执行继续。属于Zawrs。
WRS.STO 是 Zawrs 等待保留集指令,配合先前的 LR 保留集使用,让 hart 可在等待相关内存位置被写入时临时停顿。
结合 «lr.w x10, (x11) ; wrs.sto ; bne x10, x12, retry» 等实际代码理解该场景。
结合 «lr.w x10, (x11) ; wrs.sto ; bne x10, x12, retry» 等实际代码理解该场景。
不能。它只等待已有保留集相关事件;同步算法仍需要 LR/SC、AMO 或 CAS 等原子操作完成状态更新。
不一定。官方允许实现因任何原因偶尔结束停顿,软件必须在循环中重新检查条件。