lunes, 12 de enero de 2009

Compatibilidad

Los procesadores IA-32 y Intel 64 son binarios compatibles. Como compatibilidad se entiende que, dentro de una limitación, los programas que se ejecutan en generaciones anteriores de los procesadores producirán resultados idénticos cuando se ejecutan en posteriores. Cada nuevo procesador aumenta la arquitectura visible del software desde la de procesadores IA-32 y Intel 64 'menos nuevos'. Estos aumentos tienen en cuenta la compatibilidad con anteriores y futuras versiones de procesadores.
A lo largo de este manual, ciertos bits fueron marcados como de reserva en muchos registros. Cuando los bits son marcados como indefinidos o reservados, es esencial para la compatibilidad con los procesadores futuros que el software trate de que esos bits tengan futuro, a través de efectos desconocidos. El software no debe depender del estado de ninguno de esos bits cuando se testean los valores de los registros o las localizaciones de memoria, del estado de esos bits cuando se guardan en memoria o en un registro, ni de la capacidad de retener información escrita en bits reservados. Cuando se carga un registro siempre se debe hacer con los valores de los bits reservados indicados en la documentación.
La mayoría de las nuevas funciones de control definidas para la familia P6 y Pentium están disponibles en nuevos modos de banderas en registros de control. Este registro no está definido para procesadores anteriores a los Pentium. El software puede comprobar la presencia de nuevas características arquitectónicas y extensiones comprobando la presencia de características o extensiones sirviéndose de los registros EFLAGS y los de control, o ejecutando la instrucción CPUID.

No hay comentarios: