¿Por qué es necesario leer-modificar-escribir para registros en sistemas embebidos?

estaba leyendohttp://embeddedgurus.com/embedded-bridge/2010/03/different-bit-types-in-different-registers/, que dijo:

Con los bits de lectura / escritura, el firmware establece y borra los bits cuando es necesario. Por lo general, primero lee el registro, modifica el bit deseado y luego vuelve a escribir el valor modificado

y me he topado con ese consrtuct mientras mantengo un código de producción codificado por viejos integradores de sal aquí. No entiendo por qué esto es necesario.

Cuando quiero establecer / borrar un poco, siempre solo o / y con una máscara de bits. En mi opinión, esto resuelve cualquier problema de seguridad de subprocesos, ya que supongo que la configuración (ya sea por asignación u oring con una máscara) un registro solo toma un ciclo. Por otro lado, si primero lee el registro, luego modifica, luego escribe, una interrupción que ocurre entre la lectura y la escritura puede resultar en escribir un valor antiguo en el registro.

Entonces, ¿por qué leer-modificar-escribir? ¿Sigue siendo necesario?

Respuestas a la pregunta(5)

Su respuesta a la pregunta