Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/05/2005, 06:28
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 20 años
Puntos: 17
Cita:
Iniciado por Beakdan
No he dicho lo contrario. Pero como recordarás, en lugar de 586 Intel llamó a su procesador Pentium. Los otros fabricantes adoptaron también nombres propios como K5, K6, Cx5x86, etc. Pero allí está el problema de la función GetSystemInfo. Hasta los 486, es funcional. Pero los datos que podría utilizar de la estructura que devuelve (wProcessorArchitecture, wProcessorLevel, wProcessorRevision) ya no resultan útiles para diferenciar un Intel de un AMD, o un AMD de un Cyrix. Bueno y aunque no quisiera diferenciar la marca, si quisiera diferenciar un Pentium II de Pentium II Xeon, o uno de los primeros Celeron; un Athlon de un Opteron; un P4 de P4 m; los datos entregados, no me son de utilidad. Podemos informar sobre nuestro procesador con una cadena similar a esta: x86 Family 15 Model 2 Stepping 9, cadena fácilmente formada con los tres mencionados valores. Pero dicha cadena no me indica qué procesador específico estoy usando.
Podríamos mostrar candidez, y recolectar información de multiples procesadores para relacionarlos con esos valores. Pero, como Intel advierte, en la nota de soporte cs-001632;
Por supuesto que cada variación existente de procesadores no se puede ir relacionando... La función devuelve 386, 486, 586, 686... Que es lo estándar y para lo que se hizo (...) También podemos sacar con IsProcessorFeaturePresent las instrucciones que están habilitadas, más útil... Lo de obtener el nombre no es que sea tan útil, aparte de los cientos de ellos que hay...

Cita:
Además del cambio en el esquema de nombres, entre las nuevas instrucciones del procesador se introdujo CPUID, que nos sirve para obtener el fabricante cuando se llama a la instrucción con EAX en 0: GenuineIntel, CyrixInstead, AuthenticAMD, "UMC UMC UMC", RiseRiseRise y algunos otros. Luego, con EAX en 1 obtenemos Family, Model, Stepping y otras características del procesador. Con estos datos, y dependiendo de la cadena de identificación de fabricante, podemos decir con absoluta certeza de que procesador se trata (obviamente después de consultar las especificaciones de los distintos fabricantes) Notas de Aplicación 20734 de AMD y AP-485 de Intel.
Con la nueva serie de procesadores, el nombre del procesador estará condificado en el mismo procesador (o ya está). Utilizando CPUID en múltiples pases, podríamos obtener algo como "Intel® Pentium® Processor Extreme Edition" rápidamente.
Oh sí, entonces ve, le comentas como programar en asm, cómo crear una DLL y después que la llame desde VB...

Por ejemplo...
http://www.transmeta.com/crusoe_docs...UID_5-7-02.pdf


Decir que lo de obtenerlo por medio del registro no es una solución muy ortodoxa a mi parecer... (Algo así como obtenerlo de /proc/cpuinfo o con el comando uname con Linux.....)