Thread View: pl.comp.lang.asm
17 messages
17 total messages
Started by Bronson
Sun, 24 Jun 2007 17:49
Liczba rdzeni procesora
Author: Bronson
Date: Sun, 24 Jun 2007 17:49
Date: Sun, 24 Jun 2007 17:49
8 lines
1173 bytes
1173 bytes
Witam, w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to możliwe przy pomocy cpuid? Pozdrawiam, Przemek
Re: Liczba rdzeni procesora
Author: Lopez
Date: Sun, 24 Jun 2007 18:06
Date: Sun, 24 Jun 2007 18:06
16 lines
1226 bytes
1226 bytes
Bronson napisał(a): > Witam, > > w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to > możliwe przy pomocy cpuid? > cpuid raczej wprost Ci tego nie powie, powie Ci natomiast jaki to jest model procesora, a Ty juz sobie sprawdzisz w katalogu producenta. Predzej uzyskasz takie informacje poprzez API twojego systemu operacyjnego. -- Pozdrawiam Lopez
Re: Liczba rdzeni procesora
Author: Wiktor S.
Date: Sun, 24 Jun 2007 21:11
Date: Sun, 24 Jun 2007 21:11
12 lines
1264 bytes
1264 bytes
> cpuid raczej wprost Ci tego nie powie, > powie Ci natomiast jaki to jest model procesora, > a Ty juz sobie sprawdzisz w katalogu producenta. > Predzej uzyskasz takie informacje poprzez API > twojego systemu operacyjnego. To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model w katalogu tego nie robi :-) -- Azarien
Re: Liczba rdzeni procesora
Author: Matuzalem
Date: Sun, 24 Jun 2007 21:55
Date: Sun, 24 Jun 2007 21:55
15 lines
1451 bytes
1451 bytes
On 24 Cze, 19:49, Bronson <psh...@gmail.com> wrote: > Witam, > > w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to > możliwe przy pomocy cpuid? > > Pozdrawiam, > > Przemek Witam cpu-z, cpuid sdk - na pewno coś znajdziesz :] Pozdrawiam
Re: Liczba rdzeni procesora
Author: Wojciech Muła
Date: Sun, 24 Jun 2007 22:31
Date: Sun, 24 Jun 2007 22:31
7 lines
1115 bytes
1115 bytes
Wiktor S. wrote: > To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model w > katalogu tego nie robi :-) Skąd wiesz, że "na pewno nie"? w.
Re: Liczba rdzeni procesora
Author: Stachu 'Dozzie' K.
Date: Sun, 24 Jun 2007 22:40
Date: Sun, 24 Jun 2007 22:40
13 lines
1318 bytes
1318 bytes
On 24.06.2007, Wojciech Muła <wojciech_mula@poczta.null.onet.pl.invalid> wrote: > Wiktor S. wrote: >> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model w >> katalogu tego nie robi :-) > > Skąd wiesz, że "na pewno nie"? Zwłaszcza że lspci, lsusb i lshw właśnie tak działają, tylko nie wiem czy lshw tak postępuje z procesorami. -- Secunia non olet. Stanislaw Klekot
Re: Liczba rdzeni procesora
Author: Bernard
Date: Mon, 25 Jun 2007 08:09
Date: Mon, 25 Jun 2007 08:09
9 lines
1139 bytes
1139 bytes
Bronson wrote: > Witam, > > w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to > możliwe przy pomocy cpuid? Czy pytasz o informacje zawarte w publicznie dostępnym opisie CPUID? Może szybciej będzie po prostu przeczytać opis instrukcji CPUID, nie uważasz?
Re: Liczba rdzeni procesora
Author: Wiktor S.
Date: Mon, 25 Jun 2007 08:56
Date: Mon, 25 Jun 2007 08:56
11 lines
1297 bytes
1297 bytes
>> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model >> w katalogu tego nie robi :-) > > Skąd wiesz, że "na pewno nie"? A wyobrażasz sobie, żeby wyszedł nowy procek (wychodzą cały czas) z iluś-tam rdzeniami, a windows tego nie obsłuży, bo nie ma w katalogu? -- Azarien
Re: Liczba rdzeni procesora
Author: Wiktor S.
Date: Mon, 25 Jun 2007 08:59
Date: Mon, 25 Jun 2007 08:59
18 lines
1455 bytes
1455 bytes
>>> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez >>> model w katalogu tego nie robi :-) >> >> Skąd wiesz, że "na pewno nie"? > > Zwłaszcza że lspci, lsusb i lshw właśnie tak działają, tylko nie wiem > czy lshw tak postępuje z procesorami. google: detect processor core pierwszy link zaprowadził mnie do: http://cache-www.intel.com/cd/00/00/27/66/276611_276611.txt -- Azarien
Re: Liczba rdzeni procesora
Author: Wojciech Muła
Date: Mon, 25 Jun 2007 09:31
Date: Mon, 25 Jun 2007 09:31
14 lines
1541 bytes
1541 bytes
Wiktor S. wrote: >>> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model >>> w katalogu tego nie robi :-) >> >> Skąd wiesz, że "na pewno nie"? > > A wyobrażasz sobie, żeby wyszedł nowy procek (wychodzą cały czas) z iluś-tam > rdzeniami, a windows tego nie obsłuży, bo nie ma w katalogu? Ale dlaczego miałby nie obsłużyć? Wykorzysta najwyżej jeden rdzeń, a user poczeka na patcha. Użytkownicy Windowsa nie takie rzeczy przeżyli, że wspomne np. zwisy spowodowane przez animowany kursor. w.
Re: Liczba rdzeni procesora
Author: Wiktor S.
Date: Mon, 25 Jun 2007 09:39
Date: Mon, 25 Jun 2007 09:39
12 lines
1401 bytes
1401 bytes
>> A wyobrażasz sobie, żeby wyszedł nowy procek (wychodzą cały czas) z >> iluś-tam rdzeniami, a windows tego nie obsłuży, bo nie ma w katalogu? > > Ale dlaczego miałby nie obsłużyć? Wykorzysta najwyżej jeden rdzeń, > a user poczeka na patcha. No dzięki za takie rozwiązanie... ;-) Na szczęście tak nie jest. -- Azarien
Re: Liczba rdzeni procesora
Author: Stachu 'Dozzie' K.
Date: Mon, 25 Jun 2007 09:54
Date: Mon, 25 Jun 2007 09:54
17 lines
1630 bytes
1630 bytes
On 25.06.2007, Wiktor S. <SPAM.wswiktor@poczta.SPAM.fm.SPAM> wrote: >>> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez model >>> w katalogu tego nie robi :-) >> >> Skąd wiesz, że "na pewno nie"? > > A wyobrażasz sobie, żeby wyszedł nowy procek (wychodzą cały czas) z iluś-tam > rdzeniami, a windows tego nie obsłuży, bo nie ma w katalogu? Ale dlaczego miałby tak robić? Rdzeń to rdzeń, a co z tym robi płyta główna i jak go obsługuje, to już jej sprawa. Co innego wykrycie, że dwa CPU znajdują się na tej samej kostce. Do tego _mógłby_ służyć katalog (a czy służy, to zupełnie inna bajka). -- Secunia non olet. Stanislaw Klekot
Re: Liczba rdzeni procesora
Author: Bogdan (bogdro)
Date: Mon, 25 Jun 2007 15:08
Date: Mon, 25 Jun 2007 15:08
15 lines
1461 bytes
1461 bytes
Bronson pisze: > Witam, > > w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to > możliwe przy pomocy cpuid? Mój opis instrukcji CPUID podaje 2 miejsca, w których jest to zwracane (raz liczba logicznych procesorów, raz liczba rdzeni). Poczytaj podręczniki Intela, choćby do Pentium 4 (253666). -- Pozdrawiam - Bogdan (Linux i FreeDOS) Kurs asemblera x86 (DOS i Linux): http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Re: Liczba rdzeni procesora
Author: Kicer
Date: Tue, 26 Jun 2007 17:16
Date: Tue, 26 Jun 2007 17:16
31 lines
1933 bytes
1933 bytes
Wiktor S. wrote: >>>> To nie jest odpowiedź, bo API jakoś odczytuje i na pewno przez >>>> model w katalogu tego nie robi :-) >>> >>> Skąd wiesz, że "na pewno nie"? >> >> Zwłaszcza że lspci, lsusb i lshw właśnie tak działają, tylko nie wiem >> czy lshw tak postępuje z procesorami. > > > google: detect processor core > > pierwszy link zaprowadził mnie do: > > http://cache-www.intel.com/cd/00/00/27/66/276611_276611.txt > > chciałbym tylko zwrócic uwagę na mały szkopuł: cpuid zwraca liczbę logicznych procesorów na rdzeń, czyli nadal nie wiadomo ile rdzeni ;) w przypadku amd, zawsze będzie to 1 procesor logiczny na rdzeń - nie wpierają HyperThreadingu, który jest tworem intela ;) najpewniejszym sposobem jest uzyskanie dostępu do 1. mb pamięci, tam jest tablica smp z której można wszystko wyczytać wiecej info tu: http://www.cheesecake.org/sac/smp.html -- Michał Walenciak, gg: 3729519, mail: Kicer86 na gmail kropka com http://kicer.elsat.net.pl
Re: Liczba rdzeni procesora
Author: Bogdan (bogdro)
Date: Wed, 27 Jun 2007 07:59
Date: Wed, 27 Jun 2007 07:59
14 lines
1698 bytes
1698 bytes
Kicer pisze: > chciałbym tylko zwrócic uwagę na mały szkopuł: cpuid zwraca liczbę > logicznych procesorów na rdzeń, czyli nadal nie wiadomo ile rdzeni ;) > w przypadku amd, zawsze będzie to 1 procesor logiczny na rdzeń - nie > wpierają HyperThreadingu, który jest tworem intela ;) Możliwe. Ale ja znalazłem, że zwraca też liczbę rdzeni. Inny parametr EAX to daje. -- Pozdrawiam - Bogdan (Linux i FreeDOS) Kurs asemblera x86 (DOS i Linux): http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 Rozmawiaj bezpiecznie: www.JabberPL.org Surfuj anonimowo: tor.eff.org
Re: Liczba rdzeni procesora
Author: Lopez
Date: Wed, 27 Jun 2007 08:42
Date: Wed, 27 Jun 2007 08:42
32 lines
1605 bytes
1605 bytes
Lopez napisał(a): > Bronson napisał(a): >> Witam, >> >> w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to >> możliwe przy pomocy cpuid? >> > > cpuid raczej wprost Ci tego nie powie, > powie Ci natomiast jaki to jest model procesora, > a Ty juz sobie sprawdzisz w katalogu producenta. > Predzej uzyskasz takie informacje poprzez API > twojego systemu operacyjnego. Sprawdzilem i przepraszam za wprowadzanie w blad. mov eax, 4 mov ecx, 0 cpuid EAX: Bity 31-26: Maximum number of processor cores in the physical package* ** NOTES: * Add one to the return value to get the result. ** The returned value is constant for valid initial values in ECX. Valid ECX values start from 0. -- Pozdrawiam Lopez
Re: Liczba rdzeni procesora
Author: radarek
Date: Fri, 29 Jun 2007 11:50
Date: Fri, 29 Jun 2007 11:50
45 lines
1929 bytes
1929 bytes
"Bronson" <pshemu@gmail.com> wrote in message
news:1182707364.098652.109020@u2g2000hsc.googlegroups.com...
>Witam,
>
>w jaki sposób znaleźć liczbę rdzeni jaką ma procesor?? Czy jest to
>możliwe przy pomocy cpuid?
Można się bawić cpuid, ale lepiej jest to zrobić funkcją systemu,
bo nie ma pewności, że wszystkie rdzenie będą dostępne dla programów.
Jeśli chcesz tylko sprawdzić, ile wątków maksymalnie uruchomić,
żeby każdy chodził na osobnym rdzeniu, to pod windows można to
zrobić tak:
int getmaximumthreads()
{
DWORD processaffinity;
DWORD systemaffinity;
int sum = 0;
GetProcessAffinityMask(GetCurrentProcess(), &processaffinity,
&systemaffinity);
if (processaffinity != systemaffinity)
return 1; // proces jest ręcznie przypisany, albo rdzenie nie są dostępne
dla programu
// więc najlepiej odpalić jeden wątek - tutaj można postąpić na różne
sposoby
else
for (int i = 0; i < maxthreads; ++i) // maxthreads = 32;
if ((processaffinity & (1 << i)) != 0)
++sum;
return sum;
}
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads