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 ra

Znaczniki stanu

cesoro

Przesuwnik

Rejestry

Układy logiczne

istrala p

i arytmetyczne

ag

m

na

Układ dopełniania

trz

nę

ew

Jednostka

W

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

Stan programu

0

Słowo stanu

1

Segment PC

2

Wyrównanie PC

3

Segment PSA

4

Wyrównanie PSA

5

6

7

8

9

10

11

12

13

14

Wskaźnik stosu

15

Wskaźnik stosu

Rejestry Intel 8086

Ogólnego przeznaczenia

Stan programu

AX

Akumulator

Wskaźnik rozkazu

BX

Bazowy

Znaczniki stanu

CX

Zliczający

DX

Danych

Wskaźniki i indeksy

Segmentowe

SP

Stos

CS

Kod

BP

Baza

DS

Dane

SI

Źródło

SS

Stos

DI Przeznaczenie

ES

Dodatkowy

Rejestry Motoroli 68000

Rejestry danych

Rejestry adresu

D0

A0

D1

A1

D2

A2

D3

A3

D4

A4

D5

A5

D6

A6

D7

A7 Wskaźnik stosu użytkownika

A7' Wskaźnik stosu nadzorcy

Stan programu

Licznik rozkazów

Słowo stanu

Rozszerzenia Intel 80386

Ogólnego przeznaczenia

Stan programu

EAX

Akumulator

AX

Wskaźnik rozkazu

EBX

Bazowy

BX

Znaczniki stanu

ECX

Zliczający

CX

EDX

Danych

DX

Wskaźniki i indeksy

Segmentowe

ESP

Stos

SP

CS

Kod

EBP

Baza

BP

DS

Dane

ESI

Źródło

SI

SS

Stos

EDI Przeznaczenie

DI

ES

Dodatkowy

FS

Dodatkowy

GS

Dodatkowy

Cykl rozkazu

● Pobieranie

● Wykonywanie

● Przerwanie

● Adresowanie pośrednie

Graf stanów cyklu rozkazu Pobieranie

Przerwanie

Adresowanie

pośrednie

Wykonywanie

Przepływ danych

Adresowanie pośrednie

Adresowanie pośrednie

Operacje

zewnętrzne

Pobieranie

Pobieranie

Zapisywanie

- dostęp do

rozkazu

argumentu

argumentu

pamięci

Zgłoszenie

Zgłoszenie

Wiele

zapotrzebo-

zapotrzebo- argu-

Wiele

wania na

wania na

mentów

wyników

rozkaz

argument

Obliczanie

Dekodo-

Obliczenie

Obliczenie

Operacja

Sprawdzenie

adresu

wanie

adresu

adresu

wystąpienia

Przerwanie

na danych

rozkazu

operacji

argumentu

argumentu

przerwania

Brak

Następny

przerwań

rozkaz

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ń