🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
17 messages
17 total messages Started by Bronson Sun, 24 Jun 2007 17:49
Liczba rdzeni procesora
#1220
Author: Bronson
Date: Sun, 24 Jun 2007 17:49
8 lines
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
#1222
Author: Lopez
Date: Sun, 24 Jun 2007 18:06
16 lines
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
#1223
Author: Wiktor S.
Date: Sun, 24 Jun 2007 21:11
12 lines
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
#1221
Author: Matuzalem
Date: Sun, 24 Jun 2007 21:55
15 lines
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
#1224
Author: Wojciech Muła
Date: Sun, 24 Jun 2007 22:31
7 lines
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
#1225
Author: Stachu 'Dozzie' K.
Date: Sun, 24 Jun 2007 22:40
13 lines
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
#1234
Author: Bernard
Date: Mon, 25 Jun 2007 08:09
9 lines
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
#1229
Author: Wiktor S.
Date: Mon, 25 Jun 2007 08:56
11 lines
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
#1226
Author: Wiktor S.
Date: Mon, 25 Jun 2007 08:59
18 lines
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
#1230
Author: Wojciech Muła
Date: Mon, 25 Jun 2007 09:31
14 lines
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
#1231
Author: Wiktor S.
Date: Mon, 25 Jun 2007 09:39
12 lines
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
#1232
Author: Stachu 'Dozzie' K.
Date: Mon, 25 Jun 2007 09:54
17 lines
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
#1235
Author: Bogdan (bogdro)
Date: Mon, 25 Jun 2007 15:08
15 lines
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
#1227
Author: Kicer
Date: Tue, 26 Jun 2007 17:16
31 lines
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
#1228
Author: Bogdan (bogdro)
Date: Wed, 27 Jun 2007 07:59
14 lines
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
#1233
Author: Lopez
Date: Wed, 27 Jun 2007 08:42
32 lines
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
#1236
Author: radarek
Date: Fri, 29 Jun 2007 11:50
45 lines
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