Mètode GetCPUInfo
Programat per Héctor A. Medina
Sintaxi
Invoke GetCPUInfo, lpCPUInfo
Funció
Executa la instrucció CPUID (no disponible a tots els processadors) i torna informació sobre el processador.
Paràmetres
lpCPUInfo
Adreça d'una estructura CPUINFO (definida per l'Easy Code).
Valor de retorn
Eax torna TRUE si s'ha executat la instrucció, o FALSE si no.
A la tornada, l'estructura CPUINFO
s'haurà omplert amb diversa informació sobre el processador. Aquesta estructura està definida de la següent
manera:
CPUINFO Struct
Description DB 32 Dup 0 ; Descripció del processador ('GenuineIntel', 'AuthenticAMD', etc.)
Stepping DD 0 ; Stepping ID
Family DD 0 ; Família (3 = 386, 4 = 486, 5 = Pentium, 6 = Pentium Pro)
Model DD 0 ; Model
CPUType DD 0 ; Reservat
ModelID DD 0 ; Vegeu les 'OBSERVACIONS'
FeaturesID DD 0 ; Vegeu les 'OBSERVACIONS'
CPUINFO EndS
OBSERVACIONS: La instrucció CPUID
omple els registres Eax i Edx amb diversa
informació sobre el processador. Tot i que part de la informació del registre Eax
ja està detallada als membres Stepping, Family, Model i CPUType de l'estructura, el seu
valor complet s'emmagatzema al membre ModelID. D'altra banda, el membre FeaturesID conté el valor
dipositat per CPUID al registre Edx. Aquest
valor es refereix als "flags" de compatibilitat i té el següent significat:
| Bit 0 | Coprocessador inclòs al xip |
| Bit 1 | Extensió de mode virtual present |
| Bit 2 | Extensions de depuració |
| Bit 3 | El processador suporta pàgines de 4MB |
| Bit 4 | TSC present |
| Bit 5 | El processador té MSRs compatibles amb Pentium |
| Bit 6 | Extensió d'adreça física (Intel), Suport de PTE (Cyrix) |
| Bit 7 | Excepció de comprovació de màquina |
| Bit 8 | Suporta instruccions CMPXCHG8B |
| Bit 9 | APIC local inclòs al xip (Intel), Extensió de Pàgina Global (K5) |
| Bit 10 | Reservat |
| Bit 11 | Prestació de crides ràpides de Sistema (Pentium Pro) |
| Bit 12 | El processador suporta el "Memory Type Range Register" (MTRR) |
| Bit 13 | Suport de pàgina global |
| Bit 14 | Arquitectura de comprovació de màquina |
| Bit 15 | El processador suporta la instrucció CMOV |
| Bit 16 | Taula d'atributs de pàgina |
| Bit 17 | El processador suporta pàgines de 4MB per a l'accés de memòria més alta de 2GB |
| Bit 18 | El processador suporta el número de sèrie de processador |
| Bit 19-22 | Reservat |
| Bit 23 | El processador suporta IA MMX |
| Bit 24 | El processador suporta "Fast Save/Restore" (IA MMX-2) |
| Bit 25 | Extensió de "Streaming SIMD" (IA MMX-2) |
| Bit 26-31 | Reservat i ple de zeros actualment |