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 bedzie 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 znaczacej pozycji
BIAS: +1 na najbardziej znaczacej 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

Odswiezanie pamieci dynamicznej

Tyle razy ile wierszy (pamiec ma matryce w miare mozliwosci kwadratowa). Czas: ilosc wierszy * czas cyklu

Liczniki

- Asynchroniczny - mniej cykli

- synchroniczny - wiecej cykli

struktura typów pamieci

- rejestrowa

- podreczna

- operacyjna

- dyskowa

- zewnetrzna

Tryby adresowania pamieci

- rejestrowe - argumenty sa umieszczone we wskazanych w kodzie operacji rejestrach wewnetrznych

- posrednie rejestrowe - argument jest umieszczony w pamieci, a adres argumentu jest zapisany w 16-bitowym rejestrze procesora, tzw. wskazniku danych (HL)

- natychmiastowe - argument jest umieszczony w pamieci, w drugim lub drugim i trzecim bajcie kodu rozkazu. Argument taki jest nazywany argumentem bezposrednim

- bezposrednie - argument jest umieszczony w pamieci, a adres argumentu jest umieszczony w drugim i trzecim bajcie kodu rozkazu

- indeksowe - argument jest umieszczony w pamieci, a adres argumentu jest suma zawartosci rejestru indeksowego IX lub IY i 8-bitowego przesuniecia (liczby w kodzie NKB) umieszczonego w trzecim bajcie kodu rozkazu. Liczba ta okresla przesuniecie polozenia argumentu wzgledem adresu zapisanego w rejestrze indeksowym.

- posrednie indeksowe

- posrednie

- wzgledne

Cykl rozkazowy

Dwie fazy:

- Pobranie - podczas której nastepuje odczytanie z pamieci kodu rozkazu, którego adres jest zawarty w liczniku rozkazów.

- Wykonanie - podczas której nastepuje wykonanie operacji wskazanych przez rozkaz. W fazie wykonania moze nastapic odczytanie z pamieci lub wejscia argumentu operacji, moze tez nastapic zapisanie do pamieci lub rejestru wyjsciowego wyników operacji. Adres pamieci lub wejscia-wyjscia jest ustalany zgodnie z trybem adresowania danego rozkazu.

W trakcie jednego cyklu rozkazowego musi nastapic co najmniej jedno przeslanie danych miedzy mikroprocesorem a pamiecia (czyli dostep do pamieci). Realizacja jednego dostepu do pamieci lub wejscia-wyjscia nazywana jest cyklem maszynowym. Cykl rozkazowy moze zawierac jeden cykl maszynowy, jednak na ogól zawiera ich kilka - do 6.

Cykle maszynowe

Wersja oficjalna:

Kazdy cykl maszynowy wiaze sie z pojedynczym odwolaniem sie procesora do pamieci lub portu wejscia/wyjscia w celu odczytu lub zapisu i z wykonaniem wewnatrz procesora odpowiedniego przeslania miedzy rejestrem a szyna danych lub miedzy rejestrami. Kazdy cykl maszynowy jest wiec równiez zlozony i sklada sie z kilku cykli zegarowych (taktów) - od 3 do 6, typowo 6. Struktura cyklu maszynowego nie jest jednorodna; wystepuje czesciowe nakladanie: proces rozpoczety w jednym cyklu maszynowym moze zakonczyc sie w nastepnym, jednoczesnie z procesorem, który nalezy do drugiego cyklu. Dzieki temu czesciowemu paralelizmowi osiaga sie kilkunastoprocentowa oszczednosc czasu.

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

- cykl odczytu lub zapisu pamieci (trwa typowo 3 takty, ale moze byc wydluzony przez sygnal WAIT)

- cykl odczytu lub zapisu portu wejscia/wyjscia

- cykl przyjecia sygnalu BUSRQ

- cykl przyjecia sygnalu przerwania maskowalnego (czyli takiego, które mozna programowo zablokowac)

- cykl przyjecia przerwania niemaskowalnego

- cykl pracy jalowej po wykonaniu rozkazu HALT

- cykl kasowania (zerowania) i inicjacji pracy procesora

przerwania

Przerwaniem nazywany wymuszone odpowiednim sygnalem sterujacym wstrzymanie automatycznego generowania kolejnych adresów rozkazu do wykonania i wywolanie specjalnego programu obslugi. Przerwania znajduja zastosowanie we wspólpracy procesora z asynchronicznie dzialajacymi urzadzeniami zewnetrznymi. Przyjecie przerwania powoduje automatyczne zapamietanie na stosie zawartosci licznika rozkazów, co umozliwia poprawny powrót do programu wykonywanego przed przerwaniem. Nie jest natomiast zapamietywana zawartosci innych rejestrów - podprogram obslugi przerwania musi zadbac o to sam.

Transmisja

W czasie transmisji równoleglej z potwierdzeniem uzywa sie 3 bity sterujace: OBF (gotowosc danych), ACK (przesylanie danych), INTR (bufor wejsciowy jest pusty)

Inne

- na koncu procedury obslugi przerwan powinien byc wykonany rozkaz RET

- pamiec w czasie asynchronicznej transmisji szeregowej nako dane moze przeslac maks. 12 bitów

- rozkaz przeslania bajtu pamieci do rejestru w trybie adresowania posredniego trwa 3 cykle maszynowe.

- czas rozkazu w trybie adresowanym - 1, natychmiastowym - 2, posrednim - 2 cykle