101
Tym razem dezaktywowany zostaje kontroler 8259A21. Jego linie wejściowe zostają alho zamaskowane albo zmuszone do pracy równoległej z układem 1/0 APIC. Skierowanie źródeł przerwań do układów I/O APIC oraz odblokowanie procesorów AP uzyskuje się poprzez ustawienie bO w rejestrze sterującym IMCR:
mov al , 0x70 ;
out 0x22 , dl ; selekcja IMCR
mov a i , 0xCl
out 0x23 , al ; wymuszenie trybu symetryczneqo
Specyfikacja MP predefiniuje kilka dwuprocesorowych konfiguracji sprzętowych. 7 szerokiego grona mniej lub bardziej egzotycznych zestawów, na dokładniejsze omówienie zasługuje model maszyny z magistralą PCI bazującej na dwóch procesorach typu Pentium wyposażonych w kontrolery Local-APIC (rysunek 1.30).
Żaden /. procesorów nie jest w jakikolwiek sposób wyróżniony. Obydwa muszą być jednakowego typu (albo z serii ze scalonym Local-APIC albo MMX) i dostosowane do taktowania tym samym zegarem. Jedyny stan asymetrii pojawia się w momencie aktywowania linii IN1T (reset systemu). Wtedy to procesor AP przechodzi w stan zawieszenia MALT i pozostaje w tym trybie aż do otrzymania od systemu operacyjnego polecenia STARTUP IPI22.
Kontroler APIC I/O posiada 16 linii wejściowych, które przyporządkowane zostają następującym źródłom sygnałów przerwań:
Wejście APIC 1/0 |
Sygnał |
Komentarz |
INTFNO |
PIC 8259A |
Wyjście INTR układu Master 8259A |
INTINI |
IRQ1 |
Sygnał przepełnienia bufora klawiatury |
INT1N2 |
IRQ0 |
Programowany li mer 8254 |
INTIN3 |
IRQ3 | |
INTIN4 |
IRQ4 | |
INTIN5 |
IRQ5 | |
INTIN6 |
1RQ6 | |
I NT IN 7 |
IRQ7 | |
INTIN8 |
1RQ8 |
Zegar czasu rzeczywistego |
21 PC/AT posiada właściwie dwa takie kontrolery połączone w kaskadę. Szczegóły na ten temat znajdzie Czytelnik w rozdziale o przerwaniach sprzętowych.
22 STARTUP IPI jest formą ukierunkowanego przerwania niemaskowalnego pobudzającego określony procesor do wykonania w trybie Real Modę ściśle określonego fragmentu kodu