¿Está LFENCE serializando en procesadores AMD?
n documentos recientes de Intel ISA, ellfence
a instrucción @ se ha definido comoserializando el flujo de instrucciones (evitando la ejecución fuera de orden en él). En particular, ladescripció de la instrucción incluye esta línea:
specíficamente, LFENCE no se ejecuta hasta que todas las instrucciones anteriores se hayan completado localmente, y ninguna instrucción posterior comienza a ejecutarse hasta que LFENCE se complete.
Nota que esto se aplica atodo instrucciones, no solo instrucciones de carga de memoria, haciendolfence
Má que solo una valla para ordenar memoria.
Aunque esto ahora aparece en la documentación de ISA, no está claro si es "arquitectónico", es decir, que todas las implementaciones x86 deben obedecer, o si es específico de Intel. En particular,os procesadores AMD de @do también tratan alfence
como serializar el flujo de instrucciones?