Przy wielu potokach mamy do czynienia z następującymi zagadnieniami:
• wydawanie instrukcji w innej kolejności niż zapisano w programie - scheduler;
• kończenie instrukcji w innej kolejności niż zapisano w programie - re-order buffer.
4.11 Architektury RISC i CISC
RISC - Reduced Instruction Set Computers CISC - Complex Instruction Set Computers
Zawierają ograniczony, prosty zbiór instrukcji.
Zawierają dużą liczbę uniwersalnych rejestrów.
Instrukcje arytmetyczno-logiczne wykonywane są na rejestrach.
Kody instrukcji są stałej długości, typowo 4 bajty, i mają stałe rozmieszczenie pól, co ułatwia dekodowanie.
Posiadają małą liczbę trybów adresowania. Dozwolone jest tylko adresowanie wyrównane.
Występują skomplikowane instrukcje wspierające języki wysokiego poziomu.
Zawierają małą liczbą rejestrów i/lub rejestry specjalizowane.
Instrukcje arytmetyczno-logiczne mogą pobierać argumenty z pamięci i umieszczać wynik w pamięci. Kody instrukcji mają zmienną długość, typowo od jednego do kilkunastu bajtów. Występuje prefikso-wanie instrukcji utrudniające dekodowanie. Posiadają dużą liczbę trybów adresowania. Dozwolone jest adresowanie niewyrównane.
• Przerwania sprzętowe
— maskowalne
— niemaskowalne
• Przerwania programowe
• Praca krokowa
• Wyjątki
• Tablica przerwań
• Translacja adresów
— segmentacja
— stronicowanie, prosta i odwrotna tablica stron
• Poziomy ochrony
— wewnętrzny, nadzorcy, uprzywilejowany
— zewnętrzny, aplikacji
• Wywoływanie usług systemu operacyjnego
— przerwania
— specjalna instrukcja (syscall)
• Metody adresowania urządzeń wejścia-wyjścia
• Transmisja procesorowa (PIO) i bezpośredni dostęp do pamięci (DMA)
• Sterowniki urządzeń
13