2009-10-04 13 views
9

Jakie instrukcje x86-64 są używane do włączania/wyłączania innych rdzeni/procesorów i w jaki sposób można rozpocząć wykonywanie na nich kodu?Procesory zespołów i procesorów wielordzeniowych

Czy istnieje dokumentacja dotycząca sposobu działania systemu operacyjnego?

+1

dupe z http://stackoverflow.com/questions/980999 – Rom

+2

może warto przyjrzeć się, jak Linux wywołuje wiele rdzeni. http://lxr.linux.no/#linux+v2.6.31/arch/x86/kernel/smpboot.c –

+1

@Rom - To nie jest dupe. To pytanie dotyczy instrukcji atomowych. Wygląda na to, że chodzi o interfejs sprzętowy związany z rdzeniami ładowania, czyli o jądrze. – asveikau

Odpowiedz

0

Bardzo bolesne, aby uzyskać x86 w górę i iść ... to nie tyle w rdzeniach jak w systemie APIC. Musisz zajrzeć do dokumentacji twojego chipsetu, niestety jest raczej ukryta.

Będziesz musiał być na poziomie jądra, zdecydowanie. Patrzenie na Linux brzmi jak dobry pomysł.

-1

Prawdopodobnie istnieje dokumentacja z Intel/AMD o konkretnych modeli rejestrów, które można ustawić w celu wykonania konkretnych takie rzeczy. Nie jestem pewien, czy masz do niego dostęp, chyba że piszesz coś, co znajduje się na poziomie jądra ...

2

Zakładając, że mówimy o wdrażaniu jądro ....

moim rozumieniu jest to w dużej mierze opiera się na tym dokumencie:

Jeśli mnie pamięć nie myli prawo (gra nie jest przeznaczona), aby wykryć obsługę wielu procesorów, skanujesz określone zakresy pamięci w poszukiwaniu magicznego zestawu bajtów skonfigurowanego dla twojego oprogramowania. Stamtąd możesz chodzić po strukturach, które opisują procesory, i możesz porozmawiać ze sterownikiem APIC o konfigurowaniu przerwań na różnych procesorach itp.

Powiązane problemy