3 ms·
> in practice FWIW RISC-V guarantees forward progress for reasonable uses: > We mandate that LR/SC sequences of bounded length (16 consecutive static instruct
by chrismonsanto 7y ago
> in practice
FWIW RISC-V guarantees forward progress for reasonable uses:
> We mandate that LR/SC sequences of bounded length (16 consecutive static instructions) will eventually succeed, provided they contain only base ISA instructions other than loads, stores, and taken branches.
- gpderetta 7y ago[sorry for the late reply] what happens if those 16 instructions touch 16 different cache lines? I'm not an hardware expert (and even less on coherency protocols), but I think it would be extremely hard to make sure livelocking is avoided in all cases, short of having some extremely expensive and heavy handed global 'bus' lock fallback.
- chrismonsanto 7y agoReading and writing memory are excluded from the guarantee, aside from the LR/SC instructions that bookend a transaction. Inside the transaction you're basically limited to register-register ALU and aborting branches.