es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿La fortaleza de la instrucción de almacenamiento x86 en relación con SC-DRF?

Leí sobre la charla de Armas atómicas de Herb y tenía una pregunta sobre la página 42:

Mencionó que (50:00 en el video):

(x86) las tiendas son mucho más fuertes de lo que necesitan ser…

Lo que no entiendo es: si la “S” x86 en el gráfico es una tienda simple, es decir, mov, no creo que sea más fuerte que SC-DRF porque solo es una tienda de liberación más un orden total de tiendas (y por eso necesitas un xchg para una tienda SC). Pero si significa una tienda SC, es decir, xchg, debería estar en la barra de “totalmente SC” porque es efectivamente una barrera completa. ¿Cómo debo interpretar la “fortaleza” de la “S” x86 en el gráfico?

(SC-DRF es una garantía de ejecución secuencialmente consistente para programas sin carreras de datos, siempre y cuando no utilicen atómicos con órdenes más débiles que std::memory_order_seq_cst. ISO C++ y Java, y otros lenguajes, proporcionan esto.)

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La pregunta se refiere a la afirmación hecha por Herb en su charla “Armas atómicas en atomic<>” acerca de la fortaleza de las tiendas x86 en la página 42 de la presentación. Herb mencionó que las tiendas x86 son mucho más fuertes de lo necesario. La pregunta solicita aclaración sobre cómo se debe interpretar la “S” x86 en el gráfico en términos de su fortaleza.

    La pregunta afirma correctamente que la “S” x86 representa una tienda simple, es decir, una instrucción “mov”. La pregunta señala que una tienda simple no es más fuerte que SC-DRF porque solo proporciona garantías de tienda de liberación y orden total de tienda. La pregunta afirma correctamente que una instrucción “xchg” representa una tienda completamente SC y debería ubicarse en la barra “completamente SC” porque proporciona garantías de barreras completas.

    Luego, la pregunta pregunta cómo se debe interpretar la fortaleza de la instrucción “S” x86 en el gráfico. No está claro por qué se hace esta pregunta, ya que el gráfico muestra que la instrucción “S” x86 representa una operación de adquisición o liberación, que corresponde a las propiedades discutidas anteriormente. Por lo tanto, la instrucción “S” x86 se debe interpretar como que tiene garantías de tienda de liberación y orden total de tienda, pero no garantías de barrera completa.

    En general, la pregunta demuestra una buena comprensión de los conceptos de barrera de memoria y las garantías proporcionadas por diferentes tipos de instrucciones. Sin embargo, la pregunta podría haber sido más clara sobre por qué estaba pidiendo aclaraciones sobre la fortaleza de la instrucción “S” x86 en el gráfico.

Comments are closed.