¿Un problema con el conjunto de instrucciones de la CPU?
En términos generales, el conjunto de instrucciones tiene como objetivo optimizar la eficiencia de ejecución del código ejecutable en ciertos programas, es decir, ciertos programas tendrán un alto rendimiento cuando se ejecuten en una CPU que admita un determinado conjunto de instrucciones. Por ejemplo, el conjunto de instrucciones SSE está diseñado para la ejecución de programas multimedia. Cuando un programa escrito con el conjunto de instrucciones SSE se ejecuta en una CPU que admite este conjunto de instrucciones, el rendimiento mejorará enormemente cuando se ejecuta en una CPU que no admite el conjunto de instrucciones SSE, aunque la velocidad y el índice de la CPU pueden variar. Es lo mismo, pero se reducirá mucho.
El conjunto de instrucciones es un tipo de propiedad intelectual, por lo que amd e intel son diferentes. Si AMD quiere admitir el conjunto de instrucciones de Intel, tendrá que pagar por Intel, por lo que AMD desarrollará otro conjunto de instrucciones y lo distribuirá a los programadores en forma de documento técnico, lo que permitirá a los programadores desarrollar programas adecuados para las CPU de AMD.
Normalmente un programa puede ser compatible con más de un conjunto de instrucciones. Si elige ser compatible con múltiples conjuntos de instrucciones en el momento de la compilación, el tamaño del programa será mayor, pero esto no causará un problema demasiado grande.
X86 es una arquitectura de CPU, es decir, cualquier programa escrito para X64 no puede ejecutarse en una computadora que solo admita la arquitectura X86. Este no es un conjunto de instrucciones.
En resumen, el conjunto de instrucciones no limita si el programa se puede ejecutar en la computadora, sino que limita la velocidad de ejecución del programa.