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)

Kapcsolódó cikkek