background image

CYKL ROZKAZOWY 

CYKL ROZKAZOWY 

I TRYBY ADRESOWANIA

I TRYBY ADRESOWANIA

Cykl rozkazowy

Cykl rozkazowy

Format rozkazu i tryb adresowania

Format rozkazu i tryb adresowania

background image

Czas  potrzebny  na  odczytanie  kodu  rozkazu  z  pamięci,  na 
pobranie  argumentów,  na  wykonanie  rozkazu  i  przesłanie 
wyniku 

operacji 

nazywa 

się 

cyklem 

rozkazowym 

(instrukcyjnym)

Czas  potrzebny  na  odczytanie  kodu  rozkazu  z  pamięci,  na 
pobranie  argumentów,  na  wykonanie  rozkazu  i  przesłanie 
wyniku 

operacji 

nazywa 

się 

cyklem 

rozkazowym 

(instrukcyjnym)

Cykl  rozkazowy  składa  się  zwykle  z  faz  pobierania  (kodu  rozkazu, 

Cykl  rozkazowy  składa  się  zwykle  z  faz  pobierania  (kodu  rozkazu, 

pobierania argumentu) i wykonania rozkazu. 

pobierania argumentu) i wykonania rozkazu. 

P

a

m

ć

P

a

m

ć

C

P

U

C

P

U

POBRANIE 

POBRANIE 

ROZKAZU

ROZKAZU

WYSŁANIE 

WYSŁANIE 

ADRESU 

ADRESU 

ROZKAZU

ROZKAZU

DEKODOW

DEKODOW

ANIE

ANIE

ROZKAZU

ROZKAZU

OBLICZANIE

OBLICZANIE

ADRESU 

ADRESU 

ARGUMENTU

ARGUMENTU

I

I

OBLICZANIE

OBLICZANIE

ADRESU 

ADRESU 

ARGUMENTU

ARGUMENTU

II

II

WYKONANIE 

WYKONANIE 

ROZKAZU

ROZKAZU

OBLICZENIE 

OBLICZENIE 

ADRESU 

ADRESU 

PRZEZNACZE

PRZEZNACZE

-

-

NIA

NIA

ZAPIS 

ZAPIS 

WYNIKU

WYNIKU

POBRANIE 

POBRANIE 

ARGUMENTU 

ARGUMENTU 

II

II

POBRANIE 

POBRANIE 

ARGUMENTU 

ARGUMENTU 

I

I

cykl pobrania rozkazu

cykl pobrania rozkazu

cykl 

cykl 

pobrania 

pobrania 

argument

argument

u I

u I

cykl 

cykl 

pobrania 

pobrania 

argument

argument

u II

u II

cykl zapisu 

cykl zapisu 

wyniku

wyniku

CYKL ROZKAZOWY PROCESORA

CYKL ROZKAZOWY PROCESORA

Realizując program, system mikroprocesorowy wykonuje pewne 

Realizując program, system mikroprocesorowy wykonuje pewne 

powtarzające się czynności, polegające na cyklicznym pobieraniu kodów 

powtarzające się czynności, polegające na cyklicznym pobieraniu kodów 

rozkazów z pamięci i wczytywaniu ich do układu sterowania, a następnie 

rozkazów z pamięci i wczytywaniu ich do układu sterowania, a następnie 

realizacji rozkazu

realizacji rozkazu

background image

Liczba faz pobierania rozkazu (pobierania argumentu) zależy od 

Liczba faz pobierania rozkazu (pobierania argumentu) zależy od 

rodzaju procesora i rodzaju rozkazu (argumentu).

rodzaju procesora i rodzaju rozkazu (argumentu).

Faza pobrania:

Faza pobrania:

1. adresowanie: podanie zawartości rejestrów adresujących 

1. adresowanie: podanie zawartości rejestrów adresujących 

pamięć (np. CS:IP) na magistralę adresową

pamięć (np. CS:IP) na magistralę adresową

2. odczyt zaadresowanej komórki pamięci do rejestru rozkazów 

2. odczyt zaadresowanej komórki pamięci do rejestru rozkazów 

(RR)

(RR)

3. zwiększenie zawartości licznika rozkazów (IP)

3. zwiększenie zawartości licznika rozkazów (IP)

Faza wykonania:

Faza wykonania:

4. zdekodowanie kodu rozkazu i wytworzenie sygnałów 

4. zdekodowanie kodu rozkazu i wytworzenie sygnałów 

sterujących realizujących dany rozkaz

sterujących realizujących dany rozkaz

1

1

2

2

3

3

4

4

Cykl von 

Cykl von 

Neumana

Neumana

w przypadku rozkazów 

wielobajtowych

ADRES

ADRES

RR

RR

kod 

kod 

rozkazu

rozkazu

kod 

kod 

rozkazu

rozkazu

kod 

kod 

rozkazu

rozkazu

kod 

kod 

rozkazu

rozkazu

kod 

kod 

rozkazu

rozkazu

procesor

procesor

pamięć

pamięć

s

zy

n

a

 a

d

re

so

w

a

s

zy

n

a

 a

d

re

so

w

a

s

zy

n

a

 d

a

n

y

c

h

s

zy

n

a

 d

a

n

y

c

h

CYKL ROZKAZOWY PROCESORA

CYKL ROZKAZOWY PROCESORA

background image

Program składa się z 4 rozkazów (adres pierwszego rozkazu wynosi 300):

Program składa się z 4 rozkazów (adres pierwszego rozkazu wynosi 300):

odczyt pierwszego argumentu z komórki o adresie 841 i zapisanie go do 

odczyt pierwszego argumentu z komórki o adresie 841 i zapisanie go do 

rejestru A

rejestru A

odczyt drugiego argumentu z komórki o adresie 915 i zapisanie go do rejestru B 

odczyt drugiego argumentu z komórki o adresie 915 i zapisanie go do rejestru B 

dodanie obu argumentów

dodanie obu argumentów

przesłanie wyniku do komórki pamięci o adresie 915

przesłanie wyniku do komórki pamięci o adresie 915

CYKL ROZKAZOWY PROCESORA

CYKL ROZKAZOWY PROCESORA

16 bitów

Rozpatrzmy  przykład wykonania  programu  dodawania dwóch liczb 

Rozpatrzmy  przykład wykonania  programu  dodawania dwóch liczb 

16-bitowych stałopozycyjnych w komputerze 16-bitowym. 

16-bitowych stałopozycyjnych w komputerze 16-bitowym. 

Pamięć  jest  16-bitowa,  kod  rozkazu  12-bitowy  a  adres  20-bitowy 

Pamięć  jest  16-bitowa,  kod  rozkazu  12-bitowy  a  adres  20-bitowy 

(kod  rozkazu  i  adres  można  zatem  umieścić  w  2  komórkach 

(kod  rozkazu  i  adres  można  zatem  umieścić  w  2  komórkach 

pamięci)

pamięci)

MAPA     PAMIĘCI 

12 bitów

4  bity

background image

Formatem  rozkazu  nazywamy  sposób  rozmieszczenia  informacji  w 
kodzie rozkazu

Formatem  rozkazu  nazywamy  sposób  rozmieszczenia  informacji  w 
kodzie rozkazu

Kod rozkazu:

Kod rozkazu:

musi zawierać określenie rodzaju wykonywanej operacji (kod operacji) 

musi zawierać określenie rodzaju wykonywanej operacji (kod operacji) 

- w pierwszym bajcie (bajtach) kodu rozkazu

- w pierwszym bajcie (bajtach) kodu rozkazu

może zawierać operandy i/lub adresy operandów wykonywanych 

może zawierać operandy i/lub adresy operandów wykonywanych 

operacji

operacji

Trybem  adresowania  nazywamy  sposób  określenia  miejsca 
przechowywania argumentów rozkazu

Trybem  adresowania  nazywamy  sposób  określenia  miejsca 
przechowywania argumentów rozkazu

Argumenty rozkazu (dotyczy zarówno danych jak i wyników) mogą być 

Argumenty rozkazu (dotyczy zarówno danych jak i wyników) mogą być 

przechowywane w:

przechowywane w:

rejestrach

rejestrach

pamięci

pamięci

kodzie rozkazu

kodzie rozkazu

Rozróżniamy następujące tryby adresowania

• adresowanie natychmiastowe

• adresowanie bezpośrednie

• adresowanie rejestrowe
• adresowanie pośrednie

• adresowanie indeksowe z przemieszczeniem

FORMAT ROZKAZÓW 

FORMAT ROZKAZÓW 

I TRYB ADRESOWANIA

I TRYB ADRESOWANIA

background image

Przy  adresowaniu  natychmiastowym  argument  rozkazu  zawarty 
jest w kodzie rozkazu

Przy  adresowaniu  natychmiastowym  argument  rozkazu  zawarty 
jest w kodzie rozkazu

Oznacza to, że w zasadzie nie jest to adresowanie w zwykłym sensie. 

Oznacza to, że w zasadzie nie jest to adresowanie w zwykłym sensie. 

Argument jest umieszczany w kodzie rozkazu, więc musi być on znany w 

Argument jest umieszczany w kodzie rozkazu, więc musi być on znany w 

momencie pisania programu.

momencie pisania programu.

Kod rozkazu

Kod rozkazu

Kod operacji

Kod operacji

Argument

Argument

Przy  adresowaniu  bezpośrednim  kod  rozkazu  zawiera  adres 
komórki pamięci, w której przechowywany jest argument rozkazu

Przy  adresowaniu  bezpośrednim  kod  rozkazu  zawiera  adres 
komórki pamięci, w której przechowywany jest argument rozkazu

W momencie pisania programu musimy zarezerwować adres przechowywania 

W momencie pisania programu musimy zarezerwować adres przechowywania 

argumentu.

argumentu.

Kod 

Kod 

rozkazu

rozkazu

Kod operacji

Kod operacji

Adres

Adres

Argument

Argument

P

A

M

Ć

P

A

M

Ć

TRYB ADRESOWANIA

TRYB ADRESOWANIA

background image

Przy  adresowaniu  rejestrowym  w  kodzie  rozkazu  zawarty  jest 
rejestr, w którym przechowywany jest argument

Przy  adresowaniu  rejestrowym  w  kodzie  rozkazu  zawarty  jest 
rejestr, w którym przechowywany jest argument

Zaletą tego trybu jest krótki kod i szybkie wykonanie

Zaletą tego trybu jest krótki kod i szybkie wykonanie

Kod 

Kod 

rozkazu

rozkazu

Kod 

Kod 

operacji

operacji

Określeni

Określeni

rejestru

rejestru

Argument

Argument

REJESTR

REJESTR

W  trybie  adresowania  pośredniego  (rejestrowego  pośredniego) 
kod  rozkazu  zawiera  określenie  rejestru  bądź  rejestrów,  w 
których  znajduje  się  adres  komórki  pamięci  zawierającej 
argument

W  trybie  adresowania  pośredniego  (rejestrowego  pośredniego) 
kod  rozkazu  zawiera  określenie  rejestru  bądź  rejestrów,  w 
których  znajduje  się  adres  komórki  pamięci  zawierającej 
argument

Adres

Adres

REJESTR

REJESTR

Argument

Argument

P

A

M

Ć

P

A

M

Ć

Kod 

Kod 

operacji

operacji

Określeni

Określeni

rejestru

rejestru

Kod 

Kod 

rozkazu

rozkazu

TRYB ADRESOWANIA

TRYB ADRESOWANIA

background image

W  trybie  adresowania  indeksowego  z  przemieszczeniem    adres 
argumentu  przechowywanego  w  pamięci  obliczany  jest  jako 
suma  zawartości  rejestru  określonego  w  kodzie  rozkazu  i 
wartości 

umieszczonej 

kodzie 

rozkazu, 

zwanej 

przemieszczeniem

W  trybie  adresowania  indeksowego  z  przemieszczeniem    adres 
argumentu  przechowywanego  w  pamięci  obliczany  jest  jako 
suma  zawartości  rejestru  określonego  w  kodzie  rozkazu  i 
wartości 

umieszczonej 

kodzie 

rozkazu, 

zwanej 

przemieszczeniem

Kod 

Kod 

rozkazu

rozkazu

Kod 

Kod 

operacji

operacji

Określeni

Określeni

rejestru

rejestru

wartość

wartość

REJESTR

REJESTR

Przemieszczen

Przemieszczen

ie

ie

Argument

Argument

P

A

M

Ć

P

A

M

Ć

TRYB ADRESOWANIA

TRYB ADRESOWANIA

background image

DZIĘKUJĘ ZA UWAGĘ ! 

DZIĘKUJĘ ZA UWAGĘ ! 


Document Outline