When mc_tag_width = 4, two 4-bit tags share a single byte in VITT. A settag targeting a single chunk must read the byte, modify one nibble, and write the byte back. The spec explicitly states:
There are no atomicity requirements on the implementation for settag instruction.
That means, is it okay if hardware implementation with non-atomic RMW can override the other 4bit nibble when updating its own nibble in the same byte (lost-update issue)?
When mc_tag_width = 4, two 4-bit tags share a single byte in VITT. A settag targeting a single chunk must read the byte, modify one nibble, and write the byte back. The spec explicitly states:
There are no atomicity requirements on the implementation for settag instruction.That means, is it okay if hardware implementation with non-atomic RMW can override the other 4bit nibble when updating its own nibble in the same byte (lost-update issue)?