Ismerkedés a processzor sorozatszámával
Honnan tudom a processzor sorozatszámát?
Az emberek azt mondják meg, hogyan találom meg a CPU sorozatszámát a Delphi alatt!
CPUID (lásd az Intel dokumentumát a honlapjukon)
> Snake7 (14/07/03 18:35)
> hogyan lehet megtalálni a CPU sorozatszámát a Delphi alatt?
Kérdezd meg a processzor: A betét ASM CPUID utasítás (opkódot 0Fh 0Ah). Ne felejtsük el, hogy ellenőrizze, ha a processzor támogatja ezt a parancsot, akkor próbálja meg a zászlót az ID 1 (21 bit EFLAGS regiszter) - ha kiderül, akkor a CPUID parancsot támogatja. Az EAX hívás előtt CPUID legyen 03h, az ECX regiszter, az EDX után az utasítás végrehajtása lesz a sorszám a processzor, de amennyire tudom (nem pontosan biztos benne), a sorszám csak a Pentium III processzor. Természetesen nincs forráskód, szeretnék írni vágyakat is.
CPUID nem a processzor sorozatszáma, hanem a modell azonosítási száma.
amit nem látok az Intel micrologics kézikönyvében a kezdeti EAX = 3 esetében
talán a kézikönyv csak az egész Pney család kompatibilis mikrokódját tükrözi.
működés
CASE (EAX)
EAX = 0:
EAX ¬ a CPUID által megértett legmagasabb bemeneti érték; (* 2 a Pentium® Pro processzorhoz *)
EBX ¬ Vendor azonosító karakterlánc;
EDX ¬ Vendor azonosító karakterlánc;
ECX ¬ Szállítóazonosító karakterlánc;
break;
EAX = 1:
EAX [3: 0] ¬ Stepping ID;
EAX [7: 4] ¬ Modell;
EAX [11: 8] ¬ Család;
EAX [13:12] ¬ Processzor típusa;
EAX [31:12] ¬ fenntartva;
EBX ¬ Fenntartva; ECX ¬ Fenntartva;
EDX ¬ Jellemző zászlók; (* Lásd a 3-27. Ábrát)
break;
EAX = 2:
EAX ¬ Cache és TLB információk;
EBX ¬ gyorsítótár és TLB információk;
ECX ¬ Cache és TLB információk;
EDX ¬ Cache és TLB információk;
break;
DEFAULT: (* EAX> a CPUID által elismert legnagyobb érték)
EAX ¬ fenntartva, nem definiált;
EBX ¬ fenntartva, nem definiált;
ECX ¬ fenntartva, nem definiált;
EDX ¬ fenntartva, nem definiált;
break;
ESAC;
Mi a modell azonosító száma?
Itt különös tekintettel:
És hol van ez? Mi köze ennek a processzor sorozatszámához?
Var Pentium: logikai;
kezdődik
Asm
mov al, 1
mov byte ptr @, 90h
@: dec ax
("Legalább iPentium processzorra van szüksége" # 7)
Var Pentium: logikai;
kezdődik
Asm
mov al, 1
mov byte ptr @, 90h
@: dec ax
mov Pentium, al
Vége;
Ha nem Pentium, akkor WriteLn ("Legalább iPentium processzorra van szüksége!" # 7)
Egyéb WriteLn ("A processzor sorozatszáma" ", GetCPUSerialNumber," "")
Vége.
NightAngel # 032; (15/07/03 19:09)
Nem figyeltem az ECX / EDX-re. korábban a CPUID-nek nem volt információja a processzor sorozatszámáról.
fura)
jelent. Kézi a számomra nem a leginkább friss, hogy.
Ez (úgy tűnik, hogy ugyanaz, a név és az év alapján):
Köszönöm.
Nézze, hiányoltam a frissítés pillanatát)