Czy da sie cos takiego zrobic ?
Prosze o pomoc. Pilne
Jezyk VB
Poszukaj na np. www.intel.com. Byl kiedys tam programik - czytal
nie BIOS czy OS - ale bezposrednio rozpoznawal walka samo CPU.
--
Slawomir Marczynski (Mr)
Institute of Physics, Technical University of Szczecin
Al. Piastow 48/49, 70-310 Szczecin, Poland
sla...@arcadia.inter.tuniv.szczecin.pl, tel:+(048-91)-4494056
> Jak odczytac typ procesora ?
> Interesuje mnie informacja dostarczana przez BIOS a nie przez OS
>
> Czy da sie cos takiego zrobic ?
Tak, ale informacja nie bedzie pochodzila z BIOSu, tylko z samego
procesora. Sluzy do tego instrukcja CPUID, ktora zwraca pewien
kod w rejestrach procesora. Na stronie www.developers.intel.com
mozesz znalesc dokument, w ktorym opisano, jak przeksztalcic ten
kod na (m.in.) typ procesora.
Pozdrawiam
Piotr Wyderski
A reszta będzie w dokumentacji AMD oraz VIA-i i Transmet-y (będą dane jak
rozróżnić procki pozostałych firm). Pozostaje jesze Rise i ich MP6, i Cyrix
oraz IDT (teraz oba w VIA ale nie wiem jak z dokumentacją) i jakieś
starocie: NexGen (teraz AMD i chyba tez na stornach AMD można się dokopać do
info) i UMC. Generalnie ciągi opisujące producentów (zwracane w rejestrach
po odpowiednim wywołaniu CPUID) to:
Intel: GenuineIntel
AMD: AuthenticAmd albo AuthenticAMD (nie pamiętam)
Rise: RiseRiseRise
USM: "UMC UMC UMC "
Cyrix: "CyrixInstead"
IDT (Centaur): "CentaurHauls"
Co ma Transmeta i VIA -- nie wiem
pzdr
--
Sebastian Kaliszewski
--
"Never underestimate the power of human stupidity" - from Notebooks of L.L.
> Co ma Transmeta i VIA -- nie wiem
Transmeta: GenuineTMx86
A czy VIA nie przejela Cyrixa?
Ja tylko pytam :)
--
--=[ HaRv3sTeR ]=--
HaRv...@wp.pl
www.NAAG.prv.pl
Member of New Age ASM Group
BTW. cpuid wprowadzono dopiero w procesorach 486. Wiec jesli procesor jest
starszy to instrukcja ta nic nie zdzialamy.
do 386 potrafie rozpoznac procesor, ale jak rozpoznac czy
procesorem jest 486 tak by mozna bylo uzyc cpuid?
Pozdro Y3TI^koderpl
> > Na stronie www.developers.intel.com
> > mozesz znalesc dokument, w ktorym opisano, jak przeksztalcic ten
> > kod na (m.in.) typ procesora.
>
> A reszta będzie w dokumentacji AMD oraz VIA-i i Transmet-y (będą dane jak
> rozróżnić procki pozostałych firm). Pozostaje jesze Rise i ich MP6, i
Cyrix
> oraz IDT (teraz oba w VIA ale nie wiem jak z dokumentacją) i jakieś
> starocie: NexGen (teraz AMD i chyba tez na stornach AMD można się dokopać
do
> info) i UMC.
Przeczytaj topic :-)
Pozdrawiam
Piotr Wyderski
> BTW. cpuid wprowadzono dopiero w procesorach 486.
W Pentium, tylko ostatnie wersje 486 maja zaimplementowane cpuid.
> do 386 potrafie rozpoznac procesor, ale jak rozpoznac czy
> procesorem jest 486 tak by mozna bylo uzyc cpuid?
Jest 486 <=> mozna zmienic stan flagi AC.
Implementuje CPUID <=> -||- ID.
Pozdrawiam
Piotr Wyderski
Przeciez napisalem. Przejela Cyrixa i IDT (Centaura). Tyle ze VIA Cyrix3 to
jest projekt Centaura poprzednio planowany jako WinChip 3. Z Cyrixa tylko
nazwa zostala (ponoc wiekszosc ludzi odeszla a VIA niewiele zrobila zeby ich
jakos przytrzymac, zwlaszcza gdy zarzucono projekt 'Jalapeno' -- nastepcy
MII).
Dobra dobra. Intel mozna rozunmiec dwojako: jako procki samego Intela i jako
po prostu x86 (w odroznieniu od innych)\
Teraz mam taki programil dla Win, ale nie mam mozliwosci uruchomienia go z
linii polecen czy tez zmuszenia go do wyeksportowania tych informacji na
zewnatrz do pliku.
Postanowilem cos takiego sam naskrobac, tylko nie wiem jak mam sie dostac do
tych informacji
Zdrowko
M@RCin
> Postanowilem cos takiego sam naskrobac, tylko nie wiem jak mam sie dostac
do
> tych informacji
Nigdy nie probowalem wyciagac takiej informacji z BIOS-u,
wiec nie potrafie pomoc. Jesli zas chodzi o wyciagniecie
sygnatury identyfikacyjnej z CPU, to zrob tak, jak pisalismy.
Pozdrawiam
Piotr Wyderski
PS. A czy taka informacja nie znajduje sie w rejestrze Windows?
Wydaje mi sie, ze kiedys cos takiego widzialem.
> Przeciez napisalem. Przejela Cyrixa i IDT (Centaura). Tyle ze VIA Cyrix3
to
> jest projekt Centaura poprzednio planowany jako WinChip 3. Z Cyrixa tylko
> nazwa zostala (ponoc wiekszosc ludzi odeszla a VIA niewiele zrobila zeby
ich
> jakos przytrzymac, zwlaszcza gdy zarzucono projekt 'Jalapeno' -- nastepcy
> MII).
Ok. A co do Via Cyrix III to jego OEM String to: CyrixInstead, czyli to samo
jak w innych Cyrixach.
> Dobra dobra. Intel mozna rozunmiec dwojako: jako procki samego Intela i
jako
> po prostu x86 (w odroznieniu od innych)
Hmm, jesli sie bardzo skupic na umiejetnosci niejasnego formulowania
mysli, to rzeczywiscie mozna tak powiedziec :-)
Pozdrawiam
Piotr Wyderski
PS. Dla mnie, to one zawsze byly (kompatybilne z) IA-32. :-)
> Transmeta: GenuineTMx86
Ponizej sa znane mi identyfikatory (wyciete z moich zrodel):
------------8<---------------
private inline UINT32 Cpu_EstablishVendorIdentifier(const WCHAR
*psVendorString) {
if (Core_CompareWideStrings(psVendorString,L"GenuineIntel") == 0)
return CPU_VENDOR_INTEL;
if (Core_CompareWideStrings(psVendorString,L"AuthenticAMD") == 0)
return CPU_VENDOR_AMD;
if (Core_CompareWideStrings(psVendorString,L"CyrixInstead") == 0)
return CPU_VENDOR_CYRIX;
if (Core_CompareWideStrings(psVendorString,L"UMC UMC UMC ") == 0)
return CPU_VENDOR_UMC;
if (Core_CompareWideStrings(psVendorString,L"CentaurHauls") == 0)
return CPU_VENDOR_IDT;
if (Core_CompareWideStrings(psVendorString,L"NexGenDriven") == 0)
return CPU_VENDOR_NEXGEN;
if (Core_CompareWideStrings(psVendorString,L"RiseRiseRise") == 0)
return CPU_VENDOR_RISE;
if (Core_CompareWideStrings(psVendorString,L"GenuineTMx86") == 0)
return CPU_VENDOR_TRANSMETA;
if (Core_CompareWideStrings(psVendorString,L"TransmetaCPU") == 0)
return CPU_VENDOR_TRANSMETA;
return CPU_VENDOR_UNKNOWN;
}
------------8<---------------
Pozdrawiam
Piotr Wyderski
> if (Core_CompareWideStrings(psVendorString,L"TransmetaCPU") == 0)
> return CPU_VENDOR_TRANSMETA;
Ooo. O TransmetaCPU jeszcze nie wiedzialem. Zaraz dodam to do swego proga ;)