Does FENCE.TSO order device I/O?
No. Its pred/succ sets include only R/W memory bits, not I/O bits.
A specific FENCE TSO encoding that orders memory R/W, excludes device I/O, and does not force non-AMO store-to-load ordering.
32-bit MISC-MEM fields: fm[31:28], pred[27:24], succ[23:20], rs1[19:15], funct3=000, rd[11:7], opcode=0001111; these are not an arithmetic immediate.
No explicit operands. Full standard encoding 0x8330000F: fm=1000, pred=succ=0011, rs1=rd=x0.
Orders Load→Load, Load→Store, Store→Store; non-AMO Store→Load is not required, and I/O is excluded. May execute as stronger FENCE RW,RW.
RV32I/RV64I; no general-register writeback. The EEI defines I/O versus R/W access classes. Other signaling observations and cache flushing are outside these ordering guarantees.
FENCE.TSO is a specific FENCE encoding (fm=1000, pred=RW, succ=RW). It orders memory R/W operations but does not include device I/O bits; compared with FENCE RW,RW, it does not require non-AMO predecessor stores before non-AMO successor loads. Implementations may execute it as the stronger FENCE RW,RW.
Shows the FENCE opcode encoding, fm/pred/succ fields, and current-hart observable ordering constraints without modeling cache, bus, or pipeline behavior.
This animation shows only FENCE/PAUSE architectural semantics defined by the RISC-V unprivileged ISA; it does not represent processor-specific pause duration, cache behavior, interconnect protocol, or execution cost.
FENCE.TSO is a specific TSO FENCE encoding: it covers only memory R/W, not device I/O, and allows non-AMO predecessor stores not to be ordered before non-AMO successor loads.
Understand this scenario with real code like «fence.tso # TSO-style memory ordering for R/W accesses».
Understand this scenario with real code like «fence.tso # TSO-style memory ordering for R/W accesses».
No. Its pred/succ sets include only R/W memory bits, not I/O bits.
Architecturally it is weaker because it does not require non-AMO predecessor stores before non-AMO successor loads, although an implementation may execute it as the stronger fence rw,rw.