Programowanie > Asembler

Jak uzyskać liczbę wątków CPU?

(1/1)

flipflop:
Witam, potrzebuje się dowiedzieć jak funkcja CPUID dostarczy mi informacji o ilości wątków wspieranych przez procesor. Chodzi mi o procesory Intela. Ktoś podpowiedział mi, że taką informacje uzyskam za pomocą standardowej funkcji EAX = 1. pole bitowe EBX[23:16], ale niektóre CPU tym sprawdzeniem pokazują mi 16 wątków. W manualu I64_vol2 pisze:


--- Cytuj ---Bits 23-16: Maximum number of addressable IDs for logical processors
in this physical package*.

* The nearest power-of-2 integer that is not smaller than EBX[23:16]
is the number of unique initial APIC IDs reserved for addressing different
logical processors in a physical package. This field is only valid
if CPUID.1.EDX.HTT[bit 28]= 1.

--- Koniec cytatu ---

Więc to nie jest liczba wątków, ale maksymalna liczba adresowalnych identyfikatorów dla procesorów logicznych, prawda?
Gdzie znajdę liczbe wątków?

z góry dziękuje.

Nevar:
Na początek to trzeba uściślić terminy bo nie bardzo rozumiem termin wątku. Ogólnie wątek jest definicją raczej programistyczną niż sprzętową.

W samym komputerze możesz mieć do kilku procesorów CPU na płycie głównej, ale to rozwiązanie jest rzadko spotykane. Sam CPU w swojej budowie może mieć kilka rdzeni czy też w jednym układzie montowane jest kilka procesorów dzielących część swoich zasobów, ale będących oddzielnymi jednostkami obliczeniowymi. Taką najmniejszą jednostkę chyba określa się nazwą "procesor logiczny".

Edit:

Wydaje mi się, że za pomocą samego CPUID nie można pobrać ilości procesorów logicznych. Można to na pewno zrobić po przez wysłanie sygnału INIT do wszystkich i zliczenie ile z nich się zgłosi, ale to raczej przy starcie systemu takie rzeczy się robi. Można też przeszukać w tablicach ACPI. Można też szukać w tablicach MP, ale one chyba nie zawsze mogą występować w pamieci. Ja korzystałem w swoim systemie jedynie z tablic MP i generalnie znalazlem tam wszystkie moje rdzenie z laptopa.

flipflop:
Dzięki za odpowiedź. Nie wiem czy zauważyłeś, ale także pisałem w wątku propozycja współpracy.

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej