CPUID-jak wykryć czy procesor AMD jest 64 bitowy?

0

Witam,
lepiej znam asemblera, niż C ale być może ktoś z was potrafi mi pomoc? Potrzebuje się wiedzieć jak funkcja CPUID dostarcza informacji o tym, że procesor wspiera zestaw instrukcji 64 bitowych. Chodzi o CPU AMD.

Z góry dziękuje za wszelką pomoc.

0

How do I detect if the CPU is 64 bits ?

You can find that out by checking CPUID. All AMD64 compliant processors have the longmode-capable-bit turned on in the extended feature flags (bit 29) in EDX, after calling CPUID with EAX=0x80000001. There are also other bits required by long mode; you can check them out in the CPUID docs in the AMD general purpose instruction reference

Czy sprawdzenie bitu 29 EDX wystarczy? Pisze tam jeszcze, że wymagane przez long mode są także inne bity. Wiem, że przydałoby się poczytać manuale, ale jestem trochę leniwy.

0

How do I detect if the CPU is 64 bits ?

You can find that out by checking CPUID. All AMD64 compliant processors have the longmode-capable-bit turned on in the extended feature flags (bit 29) in EDX, after calling CPUID with EAX=0x80000001. There are also other bits required by long mode; you can check them out in the CPUID docs in the AMD general purpose instruction reference

Czy sprawdzenie bitu 29 EDX wystarczy? Pisze tam jeszcze, że wymagane przez long mode są także inne bity. Wiem, że przydałoby się poczytać manuale, ale jestem trochę leniwy.

0

Tak, tego jednego bitu wystarczy.
Z tymi innymi bitami chodzi im o to, że procek 64-bitowy musi zawsze mieć np. SSE2 – ale obecność SSE2 nie oznacza, że jest 64-bitowy.

0

Dzięki wielkie Azarien.

1 użytkowników online, w tym zalogowanych: 0, gości: 1