Architektura komputerów
Tydzień 5
Jednostka Centralna
Zadania realizowane przez
procesor
●
Pobieranie rozkazów
●
Interpretowanie rozkazów
●
Pobieranie danych
●
Przetwarzanie danych
●
Zapisanie danych
Główne zespoły procesora
●
Jednostka arytmetyczno-logiczna
●
Jednostka sterująca
●
Rejestry
●
Wewnętrzna magistrala
Wewnętrzna struktura
procesora
Jednostka arytmetyczno-logiczna
Ścieżki
sterowania
Znaczniki stanu
Przesuwnik
Układy logiczne
i arytmetyczne
Układ dopełniania
W
ew
nę
tr
z
na
m
ag
is
tr
al
a
p
ro
ce
so
ra
Rejestry
Jednostka
sterująca
Organizacja rejestrów
●
Rejestry widzialne dla użytkownika. Mogą
być wykorzystywane przez programistę
do przetwarzania danych. Programista
ma bezpośredni wpływ na ich zawartość.
●
Rejestry sterowania i stanu. Używane
przez jednostkę sterującą. Przechowują
informacje niezbędne dla działania
procesora. Programista nie może
bezpośrednio manipulować ich
zawartością
Rejestry widzialne dla
programisty
●
ogólnego przeznaczenia lub robocze -
uniwersalne
●
danych – tylko do przetwarzania
danych
●
adresów – do przechowywania adresów
lub ich części (np. wskaźniki segmentów
lub indeksy)
●
znaczniki stanu – kody warynkowe, flagi
wskazujące wynik ostatniej operacji
Rejestry sterowania i stanu
●
Licznik programu lub instrukcji –
zawiera adres rozkazu do pobrania.
●
Rejestr rozkazu – zawiera ostatnio
pobrany rozkaz.
●
Rejestr adresowy pamięci – zawiera
adres argumentu do pobrania lub
zapisania.
●
Rejestr buforowy pamięci – zawiera
słowo danych do zapisania lub pobrane
z pamięci.
Słowo stanu programu
Zawiera flagi i inne informacje o stanie
procesora (np. tryb pracy):
●
Znak – bit znaku ostatniej operacji arytm.
●
Zero – czy wynik równy zero.
●
Przeniesienie – czy było przeniesienie.
●
Równość – przy porównaniu argumentów.
●
Przepełnienie – przekroczenie zakresu.
●
Blokowanie przerwania – obsługa przerwań.
●
Nadzorca – tryb działania procesora.
Rejestry procesora Z8000
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Wskaźnik stosu
Ogólnego przeznaczenia
Stan programu
Wskaźnik stosu
Słowo stanu
Segment PC
Wyrównanie PC
Segment PSA
Wyrównanie PSA
Rejestry Intel 8086
Ogólnego przeznaczenia
Stan programu
Dodatkowy
Przeznaczenie
Źródło
Baza
Danych
Zliczający
Bazowy
Akumulator
Wskaźnik rozkazu
Znaczniki stanu
Kod
Dane
Stos
AX
BX
CX
DX
Wskaźniki i indeksy
SP
BP
SI
DI
Segmentowe
CS
DS
SS
ES
Stos
Rejestry Motoroli 68000
D0
D1
D2
D3
D4
D5
D6
D7
Wskaźnik stosu nadzorcy
Rejestry danych
Stan programu
Wskaźnik stosu użytkownika
Licznik rozkazów
Słowo stanu
Rejestry adresu
A0
A1
A2
A3
A4
A5
A6
A7
A7'
Rozszerzenia Intel 80386
Ogólnego przeznaczenia
Przeznaczenie
Źródło
Baza
Danych
Zliczający
Bazowy
Akumulator
EAX
EBX
ECX
EDX
Wskaźniki i indeksy
ESP
EBP
ESI
EDI
Stos
Stan programu
Wskaźnik rozkazu
Znaczniki stanu
AX
BX
CX
DX
SP
BP
SI
DI
Dodatkowy
Kod
Dane
Stos
Segmentowe
CS
DS
SS
ES
FS
GS
Dodatkowy
Dodatkowy
Cykl rozkazu
●
Pobieranie
●
Wykonywanie
●
Przerwanie
●
Adresowanie pośrednie
Graf stanów cyklu rozkazu
Wykonywanie
Pobieranie
Przerwanie
Adresowanie
pośrednie
Przepływ danych
Pobieranie
rozkazu
Obliczanie
adresu
rozkazu
Dekodo-
wanie
operacji
Obliczenie
adresu
argumentu
Operacja
na danych
Obliczenie
adresu
argumentu
Sprawdzenie
wystąpienia
przerwania
Przerwanie
Pobieranie
argumentu
Zapisywanie
argumentu
Adresowanie pośrednie
Adresowanie pośrednie
Zgłoszenie
zapotrzebo-
wania na
rozkaz
Zgłoszenie
zapotrzebo-
wania na
argument
Wiele
argu-
mentów
Wiele
wyników
Brak
przerwań
Następny
rozkaz
Operacje
zewnętrzne
- dostęp do
pamięci
Operacje wewnętrzne procesora
Przetwarzanie potokowe
●
Pobranie rozkazu (FI)
●
Dekodowanie rozkazu (DI)
●
Obliczanie argumentów (CO)
●
Pobieranie argumentów (FO)
●
Wykonanie rozkazu (EI)
●
Zapisanie argumentu (WO)
Przebieg czasowy
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
1 2 3 4
5 6 7 8 9 10 11 12
Czas:
Rozkaz
1
2
3
4
5
6
7
Wpływ rozgałęzienia
warunkowego
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO EI WO
FI DI CO FO
FI DI CO
FI DI
FI
1 2 3 4
5 6 7 8 9 10 11 12
Czas:
Rozkaz
1
2
3
4
5
6
7
8
9
13 14
FI DI CO FO EI WO
FI DI CO FO EI WO
Postępowanie z
rozgałęzieniami
●
zwielokrotnienie strumienia
●
pobieranie docelowego rozkazu z
wyprzedzeniem
●
bufor pętli
●
przewidywanie rozgałęzienia
●
opóźnione rozgałęzienie
Przewidywanie rozgałęzień
●
Przewidywanie zawsze występującego
skoku
●
Przewidywanie nigdy nie występującego
skoku
●
Przewidywanie za pomocą kodu
operacji
●
Przełącznik nastąpiło/nie nastąpiło
●
Tablica historii rozgałęzień