Rodzaje rejestrów:
a) licznik programu (PC) - zawiera adres rozkazu kolejnego do pobrania
b) rejestr rozkazu (IR) - zawiera ostatnio pobrany rozkaz
c) rejestr adresowy pamięci (MAR) - zawiera adres lokacji w pamięci
d) rejestr buforowy pamięci (MBR) - zawiera dane odczytane ostatni lub zapisane
- MBR jest połączony bezpośrednio z magistralą danych a MAR z magistralą adresową
- Icznik PC jest zwiększany po każdym pobranym rozkazie, a także zrraemany przy rozgałęzieniach
- mogą istnieć rejestry pośrednie na wejśdu i wyjściu do ALU (buforujące)
Słowo stanu programu (PSW) - rejestr w procesorze, zawierający informacje o stanie, zawarte są tam znaczniki stanu, flagi, kody warunkowe, np.: znak, zero, przepełnienie, równość, przeniesieni, zwolnienie przerwania, nadzorca
Inne rejestry:
- wskaźnik tablicy stron
- rejestr do obsługi stosu
- rejestry we/wy
Cykl rozkazu
Cykl pośredni
ffolega na pobieraniu z pamięci argumentów do wykonania rozkazu w adresowaniu pośrednim.
B?ćPbt>y_djtDic.h
Cykl rozkazu może wywoływać:
- odczytanie, zapisanie do rejestrów
• odczytanie zapisanie do pamięci
- przeprowadzenie operacji w ALU
- operację we/wy
- odczytanie adresu z parraęd
- lianik PC zawiera adres następnego rozkazu do pobrania
- adres ten przenoszony jest do MAR i umieszczany na szynie adresowej
- adres ten jest przenoszony do IR
- PC przyrasta o 1
- jednostka sterująca bada zawartość rejestru IR, czy ma specyfikatory argumentu adresowania pośredniego
- jak tak to jest realizowany cykl pośredni
- do MAR przenosi się N najbardziej znaczących bilów MBR, zawierających adres argumentu
* jednostka sterująca zgłasza zapotrzebowanie na odczyt z parnęa w celu wprowadzenia argumentu do MBR
Cykl przerwania:
- zawartość PC ładowana do MBR w celu zapisania kontekstu procesu
- adres miejsca gdzie ma być to zapisane ładowany do MAR
- zapis tego
- do PC ładuje się adres rozkazu przerwania
- realizacja rozkazu przerwania
- przywrócenie (np. ze stosu) adresu rozkazu do PC
- powrót do realizacji poprzedniego programu
Potokowe przetwarzanie rozkazów
Strategia potokowego przetwarzania:
- podział cyklu rozkazu na pojedyncze fragmenty
- praca nad różnymi fragmentami różnych procesów jednocześnie, np. jak wykonuje się jeden proces i nie korzysta akurat wtedy z pamięci głównej, to można ładować już kolejny do rejestru IR (pobieranie z wyprzedzeniem, na zakładkę)
• powoduje to równoległą pracę nad procesami i przyspieszeni realizacji procesów
Co może spowolnić pracę:
- przerwania
- rozgałęzienia
• nierówny czas trwania etapów (oczekiwanie)
- jednoczesna chęć dostępu do pamięci głównej przez etapy
Sposoby radzenia sobie z rozkazami rozgałęzień w potokowym przetwarzaniu:
• zwielokrotnione strumienie
- poberame docelowego rozkazu występującego po rozgałęzieniu z wyprzedzeniem