05 jednostka centralna

Transkrypt

05 jednostka centralna
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
Jednostka arytmetyczno-logiczna
Znaczniki stanu
Przesuwnik
Układy logiczne
i arytmetyczne
Układ dopełniania
Wewnętrzna magistrala procesora
Wewnętrzna struktura
procesora
Rejestry
Jednostka
sterująca
Ścieżki
sterowania
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
Ogólnego przeznaczenia
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Wskaźnik stosu
15
Wskaźnik stosu
Stan programu
Słowo stanu
Segment PC
Wyrównanie PC
Segment PSA
Wyrównanie PSA
Rejestry Intel 8086
Ogólnego przeznaczenia
AX Akumulator
BX
Bazowy
CX
Zliczający
DX
Danych
Wskaźniki i indeksy
SP
Stos
BP
Baza
SI
Źródło
DI Przeznaczenie
Stan programu
Wskaźnik rozkazu
Znaczniki stanu
CS
DS
SS
ES
Segmentowe
Kod
Dane
Stos
Dodatkowy
Rejestry Motoroli 68000
D0
D1
D2
D3
D4
D5
D6
D7
Rejestry danych
Stan programu
Licznik rozkazów
Słowo stanu
Rejestry adresu
A0
A1
A2
A3
A4
A5
A6
A7
A7'
Wskaźnik stosu użytkownika
Wskaźnik stosu nadzorcy
Rozszerzenia Intel 80386
Ogólnego przeznaczenia
EAX Akumulator
EBX
Bazowy
ECX
Zliczający
EDX
Danych
Wskaźniki i indeksy
Stos
ESP
EBP
Baza
ESI
Źródło
EDI Przeznaczenie
AX
BX
CX
DX
SP
BP
SI
DI
Stan programu
Wskaźnik rozkazu
Znaczniki stanu
CS
DS
SS
ES
FS
GS
Segmentowe
Kod
Dane
Stos
Dodatkowy
Dodatkowy
Dodatkowy
Cykl rozkazu
●
Pobieranie
●
Wykonywanie
●
Przerwanie
●
Adresowanie pośrednie
Graf stanów cyklu rozkazu
Pobieranie
Adresowanie
pośrednie
Przerwanie
Wykonywanie
Przepływ danych
Adresowanie pośrednie
Adresowanie pośrednie
Pobieranie
argumentu
Zapisywanie
argumentu
Pobieranie
rozkazu
Zgłoszenie
zapotrzebowania na
rozkaz
Obliczanie
adresu
rozkazu
Zgłoszenie
Wiele
zapotrzeboarguwania na
mentów
argument
Dekodowanie
operacji
Następny
rozkaz
Obliczenie
adresu
argumentu
Operacje
zewnętrzne
- dostęp do
pamięci
Wiele
wyników
Operacja
na danych
Obliczenie
adresu
argumentu
Sprawdzenie
wystąpienia
przerwania
Przerwanie
Brak
przerwań
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
Czas: 1 2 3 4 5 6 7 8 9 10 11 12
Rozkaz
1
FI DI CO FO EI WO
2
FI DI CO FO EI WO
3
FI DI CO FO EI WO
4
FI DI CO FO EI WO
5
FI DI CO FO EI WO
6
FI DI CO FO EI WO
7
FI DI CO FO EI WO
Wpływ rozgałęzienia
warunkowego
Czas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Rozkaz
1
FI DI CO FO EI WO
2
FI DI CO FO EI WO
3
FI DI CO FO EI WO
4
FI DI CO FO
5
FI DI CO
6
FI DI
7
FI
8
FI DI CO FO EI WO
9
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ń