Según afirman varias webs de noticias, la instrucción CPUID de los primeros procesadores Intel con núcleo Nocona (capaces de trabajar con código de 32 y 64 bits) devuelve un resultado incorrecto.
Básicamente, la instrucción CPUID, función 80000008H, devuelve en el registro EAX que el chip dispone de 40 bits de direccionamiento externo (o sea, hasta 1 Terabyte de memoria), cuando realmente dispone de sólo 36 bits (hasta 64GB). Curiosamente, un vistazo al manual de la especificación EM64T de Intel muestra muchas referencias a un espacio de direccionamiento físico de 40 bits, errores que deberían ser corregidos.
Por ejemplo, el siguiente párrafo es prácticamente una copia literal del "Manual de Programación para Sistemas AMD64":
(extraído de ftp://download.intel.com/technology/64bitextensions/30083401.pdf)
1-21 Guia para desarrolladores de software para la Extension Technology de 64bits, Volumen 1 de...
ESTRUCTURAS DE DATOS DE PAGINAS
La arquitectura extendida de 64 bits aumenta las estructuras de paginación para permitir asignar una dirección lineal de hasta 64 bits en un espacio físico de hasta 52 bits. En la primera implementación de esta tecnología, estas estructuras permiten la traducción de direcciones lineales de 48 bits en un espacio físico de 40 bits.
Esto es completamente falso en el caso de Nocona, y demuestra que Intel se ha limitado a copiar la documentación de AMD. El documento citado está lleno de referencias a dicho supuesto espacio físico de 40 bits, que no existe en dicho núcleo.
La copia se ha extendido hasta el propio hardware, por lo que la instrucción CPUID devuelve el tamaño físico del núcleo Hammer de AMD, en vez del de Nocona de Intel.
Fuente: Silicon Investor (en inglés).
Fuente: The Inquirer (en inglés).