Resultados de la búsqueda a petición "memory-barriers"

1 la respuesta

as instrucciones de DMB se pueden omitir de forma segura en ARM Cortex M4

stoy revisando el ensamblaje generado por GCC para un ARM Cortex M4, y noté queatomic_compare_exchange_weak obtiene dosDMB instrucciones insertadas alrededor de la condición (compiladas con GCC 4.9 usando-std=gnu11 -O2): // if ...

2 la respuesta

¿Cómo las funciones de bloqueo y desbloqueo de mutex impiden el reordenamiento de la CPU?

or lo que sé, una llamada a función actúa como una barrera de compilación, pero no como una barrera de CPU. Estatutoria [http://preshing.com/20120913/acquire-and-release-semantics/] dice lo siguiente: @ adquirir un bloqueo implica adquirir ...

1 la respuesta

Si no uso cercas, ¿cuánto tiempo podría tomar un núcleo ver las escrituras de otro núcleo?

He intentado buscar en Google mi pregunta, pero sinceramente, no sé cómo formularla de manera sucinta. Suponga que tengo dos hilos en un sistema Intel multinúcleo. Estos subprocesos se ejecutan en el mismo nodo NUMA. Supongamos que el hilo 1 ...

2 la respuesta

¿Está LFENCE serializando en procesadores AMD?

n documentos recientes de Intel ISA, ellfencea instrucción @ se ha definido comoserializando el flujo de instrucciones (evitando la ejecución fuera de orden en él). En particular, ladescripció [http://felixcloutier.com/x86/LFENCE.html] de la ...

1 la respuesta

¿`Xchg` abarca` mfence` suponiendo que no hay instrucciones no temporales?

Ya he vistoesta respuesta [https://stackoverflow.com/a/50279772/391161] yesta respuesta [https://stackoverflow.com/a/19099164/391161], pero ninguno parece claro y explícito sobre la equivalencia o no equivalencia demfence yxchg bajo el supuesto ...

3 la respuesta

Generadores de barrera de memoria

Leyendoutorial de enhebrado de @Joseph Albahari [http://www.albahari.com/threading/part4.aspx], se mencionan los siguientes como generadores de barreras de memoria: C # 'slock declaración Monitor.Enter/Monitor.Exit) Todos los métodos ...

5 la respuesta

Sincronización de hilos. ¿Cómo exactamente el bloqueo hace que el acceso a la memoria sea 'correcto'?

n primer lugar, sé quelock{} es azúcar sintético paraMonitor clase. (Oh, sintáctic azúcar) Estaba jugando con problemas simples de subprocesos múltiples y descubrí que no puedo entender totalmente cómo bloquear una PALABRA arbitraria de ...

10 la respuesta

Es un uso correcto de Thread.MemoryBarrier ()?

Supongo que tengo un campo que controla la ejecución de algún bucle: private static bool shouldRun = true;Y tengo un hilo en ejecución, que tiene un código como: while(shouldRun) { // Do some work .... Thread.MemoryBarrier(); } Ahora, ...

4 la respuesta

C ++ Barreras de memoria para Atomics

Soy un novato cuando se trata de esto. ¿Podría alguien proporcionar una explicación simplificada de las diferencias entre las siguientes barreras de memoria? Las ventanasMemoryBarrier();La cerca_mm_mfence(); El conjunto en líneaasm volatile ("" ...

6 la respuesta

Se requiere una barrera de memoria si un segundo subproceso espera la finalización del primero?

Supongamos que el hiloAlpha está escribiendo en la variableA sin bloqueo. Un segundo hiloBeta Esta esperando porAlpha para terminar, luego lee la variableA en turno ¿Es posible que los contenidos deA no será fresco? ¿Se pueden retrasar ...