Przerzutniki

Qt	Qt+1	D	Qt	Qt+1	T	Qt	Qt+1	R	S	Qt	Qt+1	J	K
0	0	0	0	0	0	0	0	-	0	0	0	0	-
0	1	1	0	1	1	0	1	0	1	0	1	1	-
1	0	0	1	0	1	1	0	1	0	1	0	-	1
1	1	1	1	1	0	1	1	0	-	1	1	-	0

Rejestry

REJESTRY 8 BITOWE

Akumulator i szesc rej roboczych (B,C,D,E,H,L) wykorzystywane przede wszystkim jako pamiec podreczna do przechowywania danych(czesciowych wynikow obliczen, stalych itp.); Rejestr znacznikow F do którego sa wpisywane informacje o wyniku operacji wykonanych przez ALU. W rej tym jest 6 znacznikow (C-przeniesienie, N-odejmowanie, P/V-parzystosc, H- przeniesienie pomocnicze, Z-zero, S-znak)

REJESTRY 16 BITOWE

Licznik rozkazow PC - zawierajacy adres komorki pamieci, z ktorej będzie pobrany kod rozkazu do wykonania; Wskaznik stosu SP - zawierajacy adres wierzcholka stosu umieszczonego w pamieci. Przy kazdym zapisie info na stos i jej zdjeciu ze stosu wskaznik jest odpowiednio modyfikowany; Rejestry indeksowe IX i IY zawierajace tzw adres bazowy dla adresowania indeksowego

Systemy liczbowe

U2: Negacja i +1 na najmniej znaczącej pozycji
BIAS: +1 na najbardziej znaczącej pozycji

	U1	U2
0000	0	0
0001	1	1
0010	2	2
0011	3	3
0100	4	4
0101	5	5
0110	6	6
0111	7	7
1000	-7	-8
1001	-6	-7
1010	-5	-6
1011	-4	-5
1100	-3	-4
1101	-2	-3
1110	-1	-2
1111	0	-1

Zmiennoprzecinkowe: ujemna - przes. w lewo, dodatnia - prawo

Odświeżanie pamięci dynamicznej

Tyle razy ile wierszy (pamięć ma matrycę w miarę możliwości kwadratową). Czas: ilość wierszy * czas cyklu

Liczniki

- Asynchroniczny - mniej cykli

- synchroniczny - więcej cykli

struktura typów pamięci

- rejestrowa

- podręczna

- operacyjna

- dyskowa

- zewnętrzna

Tryby adresowania pamięci

- rejestrowe - argumenty są umieszczone we wskazanych w kodzie operacji rejestrach wewnętrznych

- pośrednie rejestrowe - argument jest umieszczony w pamięci, a adres argumentu jest zapisany w 16-bitowym rejestrze procesora, tzw. wskaźniku danych (HL)

- natychmiastowe - argument jest umieszczony w pamięci, w drugim lub drugim i trzecim bajcie kodu rozkazu. Argument taki jest nazywany argumentem bezpośrednim

- bezpośrednie - argument jest umieszczony w pamięci, a adres argumentu jest umieszczony w drugim i trzecim bajcie kodu rozkazu

- indeksowe - argument jest umieszczony w pamięci, a adres argumentu jest sumą zawartości rejestru indeksowego IX lub IY i 8-bitowego przesunięcia (liczby w kodzie NKB) umieszczonego w trzecim bajcie kodu rozkazu. Liczba ta określa przesunięcie położenia argumentu względem adresu zapisanego w rejestrze indeksowym.

- pośrednie indeksowe

- pośrednie

- względne

Cykl rozkazowy

Dwie fazy:

- Pobranie - podczas której następuje odczytanie z pamięci kodu rozkazu, którego adres jest zawarty w liczniku rozkazów.

- Wykonanie - podczas której następuje wykonanie operacji wskazanych przez rozkaz. W fazie wykonania może nastąpić odczytanie z pamięci lub wejścia argumentu operacji, może też nastąpić zapisanie do pamięci lub rejestru wyjściowego wyników operacji. Adres pamięci lub wejścia-wyjścia jest ustalany zgodnie z trybem adresowania danego rozkazu.

W trakcie jednego cyklu rozkazowego musi nastąpić co najmniej jedno przesłanie danych między mikroprocesorem a pamięcią (czyli dostęp do pamięci). Realizacja jednego dostępu do pamięci lub wejścia-wyjścia nazywana jest cyklem maszynowym. Cykl rozkazowy może zawierać jeden cykl maszynowy, jednak na ogół zawiera ich kilka - do 6.

Cykle maszynowe

Wersja oficjalna:

pobranie kodu operacyjnego (fetch)

odczyt z pamięci (memory read)

zapis do pamięci (memory write)

odczyt z urządzenia wejściowego (IO read)

zapis do urządzenia wyjściowego (IO write)

cykl przyjęcia przerwania (interrupt)

cykl zatrzymania (HALT)

Każdy cykl maszynowy wiąże się z pojedynczym odwołaniem się procesora do pamięci lub portu wejścia/wyjścia w celu odczytu lub zapisu i z wykonaniem wewnątrz procesora odpowiedniego przesłania między rejestrem a szyną danych lub między rejestrami. Każdy cykl maszynowy jest więc również złożony i składa się z kilku cykli zegarowych (taktów) - od 3 do 6, typowo 6. Struktura cyklu maszynowego nie jest jednorodna; występuje częściowe nakładanie: proces rozpoczęty w jednym cyklu maszynowym może zakończyć się w następnym, jednocześnie z procesorem, który należy do drugiego cyklu. Dzięki temu częściowemu paralelizmowi osiąga się kilkunastoprocentową oszczędność czasu.

- podstawowy cykl pobrania i dekodowania rozkazu - nazwany cyklem M1 - trwa 4 lub 5 cyklów zegarowych

- cykl odczytu lub zapisu pamięci (trwa typowo 3 takty, ale może być wydłużony przez sygnał WAIT)

- cykl odczytu lub zapisu portu wejścia/wyjścia

- cykl przyjęcia sygnału BUSRQ

- cykl przyjęcia sygnału przerwania maskowalnego (czyli takiego, które można programowo zablokować)

- cykl przyjęcia przerwania niemaskowalnego

- cykl pracy jałowej po wykonaniu rozkazu HALT

- cykl kasowania (zerowania) i inicjacji pracy procesora

przerwania

Przerwaniem nazywany wymuszone odpowiednim sygnałem sterującym wstrzymanie automatycznego generowania kolejnych adresów rozkazu do wykonania i wywołanie specjalnego programu obsługi. Przerwania znajdują zastosowanie we współpracy procesora z asynchronicznie działającymi urządzeniami zewnętrznymi. Przyjęcie przerwania powoduje automatyczne zapamiętanie na stosie zawartości licznika rozkazów, co umożliwia poprawny powrót do programu wykonywanego przed przerwaniem. Nie jest natomiast zapamiętywana zawartości innych rejestrów - podprogram obsługi przerwania musi zadbać o to sam.

Transmisja

W czasie transmisji równoległej z potwierdzeniem używa się 3 bity sterujące: OBF (gotowość danych), ACK (przesyłanie danych), INTR (bufor wejściowy jest pusty)

Inne

- na końcu procedury obsługi przerwań powinien być wykonany rozkaz RET

- pamięć w czasie asynchronicznej transmisji szeregowej nako dane może przesłać maks. 12 bitów

- rozkaz przesłania bajtu pamięci do rejestru w trybie adresowania pośredniego trwa 3 cykle maszynowe.

- czas rozkazu w trybie adresowanym - 1, natychmiastowym - 2, pośrednim - 2 cykle

Rejestry

Leszek Krupiński

2003-09-14T23:51:00

Leszek Krupiński