Remix.run Logo
StillBored 4 days ago

Yes, but the contended case is often the critical part of an application’s performance. Weakly ordered CPUs therefore need fast barrier mechanisms, which in turn means re-creating much of the store-ordering, writeback buffering, and commit logic anyway.

crest 3 days ago | parent | next [-]

One advantage they have for building larger systems is that they allow you to crack stores into two parts. The part that has to retire in order for the local CPU and the write back to memory. Now assume you have multiple banks of memory and one of them stalls. A system with TSO can't allow the other banks to make progress because that would make the stores visible to other CPUs (or peripherals) out of program order. So you have to stall stores to otherwise ready memory banks and hold on to valuable ROB and store queue resources for longer.

xenadu02 4 days ago | parent | prev [-]

I think the argument is that you should't be forced to pay that cost for all writes even if only some require it.

ahartmetz 3 days ago | parent [-]

TFA says you mostly aren't forced to pay that cost for uncontended writes.