16
OS-Dev / wykrywanie liczby rdzeni cpu
« dnia: Listopad 30, 2011, 23:16:56 »
Panowie i panie mam problem!
Problem pojawił się przy testach mojego "OS-a" na żywym intel core i3.
Otóż w tabelkach MP były dwa wpisy z danymi o CPU czyli podług tego komp ma 2 proce...
W tabelkach ACPI są już 4 wpisy o CPU!!!
Trampolina uruchamia 3 AP-y! Czyli BSP+ 3xAP = 4 proce!
Okazało sie też, że i3 ma jednak dwa rdzenie ale są one Hyper Threading czyli w tym wypadku po dwa "logiczne" procesory na jeden rdzeń czyli 4 logiczne proce!
Lepiej i7 ma chyba nawet po 4 logiczne proce na rdzeń!
To jak w końcu to wykrywać? Jakiś "canonical" algorytm?
Tu warto by było się orientować jaka para lapic id-ów przypada na każdy rdzeń!
Ale jak to zrobić?
Problem pojawił się przy testach mojego "OS-a" na żywym intel core i3.
Otóż w tabelkach MP były dwa wpisy z danymi o CPU czyli podług tego komp ma 2 proce...
W tabelkach ACPI są już 4 wpisy o CPU!!!
Trampolina uruchamia 3 AP-y! Czyli BSP+ 3xAP = 4 proce!
Okazało sie też, że i3 ma jednak dwa rdzenie ale są one Hyper Threading czyli w tym wypadku po dwa "logiczne" procesory na jeden rdzeń czyli 4 logiczne proce!
Lepiej i7 ma chyba nawet po 4 logiczne proce na rdzeń!
To jak w końcu to wykrywać? Jakiś "canonical" algorytm?
Tu warto by było się orientować jaka para lapic id-ów przypada na każdy rdzeń!
Ale jak to zrobić?