background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

1

Architektura Komputerów

Budowa procesora 

(lista rozkazów)

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

2

 

P o bra nie 

P obranie  

pośred nie 

W ykonywanie 

P rzerwanie 

Cykle pracy procesora

1.

Faza pobrania, 

2.

Faza pobrania pośredniego , 

3.

Faza wykonania rozkazu,

4.

Faza przerwania. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

3

 

G ru p a   sy g n a łó w   w e jś c io w y c h   d la   je d n o s tk i 

ste r u ją c e j,  k tó ra   je st   zw ią z a n a   z   fo rm a te m  

ro zk a z u  m a sz y n o w e g o   

S te r o w a n ie   m ik ro   p r ze s ła n i a m i   

(sy g n a ły  w y jśc i o w e  je d n o s tk i s te r u ją c e j) 

B u fo ry   m a g is tra li  a d re s o w e j i  m a g is tra li d a n y c h  

S y g n a liza c ja  

p rz e rw a n ia    

(sy g n a ły  

w e jśc io w e ) 

Struktura procesora 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

4

 

F a z a   p o b r a n i a    

F a z a   a d r e s o w a n i a  

p o ś r e d n i e g o  

F a z a   w y k o n a n i a  

F a z a  

p r z e r w a n i a  

L i c z n i k   s e k w e n c j i  

c z a s o w y c h  

Struktura jednostki sterującej modelowanego procesora 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

5

Faza pobrania – tryby adresowania

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

6

Przebieg fazy pobrania 

1.

Wszystkie przesłania między rejestrowe, które wchodzą w skład fazy 
pobrania zostały przedstawione w (Tabela 3). 

2.

W prawej kolumnie zostały przedstawione sygnały sterujące, które 
odpowiadają poszczególnym przesłaniom.

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

7

Faza adresowania -Adresowanie natychmiastowe 

1.

W przypadku adresowania natychmiastowego argument rozkazu maszynowego 
jest reprezentowany za pomocą stałej. 

2.

Wartość stałej jest kodowana za pomocą bitów poczynając od bitu o numerze 
10, a kończąc na bicie o numerze 16. W tym przypadku bity te reprezentują
wartość liczbową, która jest przedstawiona w notacji NB- w naturalnym kodzie 
binarnym. 

3.

Z natury tego sposobu przechowywania argumentów, wynika, że przedział
wartości liczbowych, którym można się posługiwać przy wykorzystaniu tego 
trybu adresowania jest mocno ograniczony. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

8

Faza adresowania -Adresowanie bezpośrednie (stała) 

1.

W tym przypadku podobnie jak w adresowania natychmiastowym, adres 
argumentu jest umieszczony w rejestrze rozkazów (IR) na bitach o numerze 10-
16. 

2.

Wartość ta w tym przypadku nie reprezentuje wartości liczbowej tak jak to 
miało miejsce w adresowaniu natychmiastowym, lecz adres komórki pamięci 
operacyjnej, w której argument jest umieszczony. 

3.

W celu sprowadzenia argumentu z pamięci operacyjnej należy, przesłać
odpowiednie bity rejestru (IR) do rejestru (MAR), za pomocą, którego zostanie 
zaadresowana pamięć operacyjna

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

9

Faza adresowania -Adresowanie bezpośrednie (rejestr) 

1.

Typ adresowania bezpośredniego jest związany z przypadkiem, kiedy adres 
argumentu nie jest reprezentowany za pomocą stałej, lecz w określonym 
rejestrze. 

2.

Taki typ adresowania bezpośredniego jest niezbędny w sytuacji, w której 
program wykonuje operacje nie na pojedynczej komórce pamięci 
operacyjnej, której adres może być określony na etapie pisania programu, ale 
na bardziej złożonych strukturach danych np. tablicach. 

3.

W przypadku operacji na tablicach indeks elementu tablicy, do którego 
odwołuje się program jest obliczany dynamiczne podczas wykonywania 
programu.

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

10

Faza adresowania -Adresowanie pośrednie (stała) 

1.

Zasada działania adresowania pośredniego jest następująca: argument 
występujący bezpośrednio w rozkazie nie reprezentuje wartości lecz adres 
komórki pamięci operacyjnej, która to komórka nie zwiera argumentu tak jak 
to miało miejsce w adresowaniu bezpośrednim , lecz zawiera adres komórki 
która dopiero zawiera argument. 

2.

Wynika stąd, że w celu odczytania argumentu muszą wystąpić dwa odwołania 
do pamięci operacyjnej

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

11

Faza adresowania -Adresowanie pośrednie (rejestr) 

Podobnie ja w adresowani bezpośrednim również w tym typie adresowania jest 
dopuszczalne, aby początkowy adres argumentu był umieszczony w określonym 
rejestrze. Rejestrem tym jest również jest rejestr (MBR). 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

12

Faza wykonania

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

13

1. Demultiplekser - DEMUX
2. Licznik Rozkazów - PC
3. Rejestr Adresowy - MAR
4. Rejestr akumulacyjny - AC
5. Rejestr Buforowy - MBR
6. Rejestr Rozkazów -IR
7. ALU
8. Multiplekser – MUX

Elementy Jednostki wykonawczej

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

14

 

C  

D

 

A  

E  

B  

F  

G

 

H

 

Struktura jednostki wykonawczej procesora

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

15

Struktura jednostki wykonawczej procesora

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

16

 

S y g n a ł   s t e r u j ą c y   d l a  

j e d n o s t k i   w y k o n a w c z e j  

p r o c e s o r a    

S z e ś c i o b i t o w y   k o d   r o z k a z u  

p o d a w a n y   n a   w e j ś c i a  

a d r e s o w e   m u l t i p l e k s e r a   i  

d e m u l t i p l e k s e r a    

B l o k  

i n t e r p r e t a c j

i   r o z k a z u    

M u l t i p l e k s e r  

D e m u l t i p l e k s e r  

Organizacja podsystemu odpowiedzialnego za fazę

wykonania – interpreter rozkazów

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

17

Fragment interpretera rozkazów

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

18

1. Ponieważ w ustalonym formacie rozkazu maszynowego 

procesora , zostało przyjęte, że wszystkie rozkazy, w które 
będzie wyposażony procesor będą rozkazami posiadającymi 
maksymalnie jeden argument.

2. W przypadku rozkazów dwuargumentowych- drugi argument 

będzie umieszczony w miejscu domyślnym związanym z 
semantyką danego rozkazu

3. Operacja , które wymagają dwóch dwóch argumentów np. 

rozkaz dodawania (ADD) zostaje przyjęte, że drugi argument 
(domyślny) jest umieszczony w rejestrze akumulatora (AC).

4. Również wynik operacji jest zapisywany w rejestrze (AC). 

Lista rozkazów procesora - konwencje

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

19

Lista rozkazów procesora

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

20

Lista rozkazów procesora (ADD) 

1.

Argument rozkazu (ADD) może być dowolnym argumentem należącym do 
jednej z wcześniej omówionej kategorii argumentów tzn. może być stałą, 
można stosować wszystkie wymienione wcześniej typy adresowania. 

2.

Wszystkie typy adresowania, które mogą używane do określenia wartości 
argumentu zostały przedstawione w tabeli

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

21

Lista rozkazów procesora (ADD) 

1.

Tabela 10 został przedstawiony skrót mnemoniczny rozkazu dodawania oraz 
odpowiadającym mu kodem binarnym – sześć bitów, pozostałe bity 
szesnastobitowego rozkazu kodują typ adresowania i wartość lub adres 
argumentu. 

2.

Kolumna środkowa zwiera ciąg operacji, które zachodzą w trakcie 
wykonywania rozkazu. 

3.

Natomiast ostatnia kolumna omawianej tabeli zawiera sekwencje sygnałów, 
które są generowane przez jednostkę stertującą, a właściwie przez podsystem 
jednostki sterującej odpowiedzialny za sterowania przebiegiem fazy 
wykonania. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

22

Lista rozkazów procesora (SUB) 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

23

Lista rozkazów procesora (JMP) 

1.

Rozkaz skoku bezwarunkowego należy do grupy rozkazów odpowiedzialnych 
za sterowanie wykonywanym programem. Do grupy tej zaliczane są rozkazy 
skoku bezwarunkowego, warunkowego oraz rozkazy wywołania podprogramu. 

2.

Rozkaz skoku bezwarunkowego posiada, jeden argument, który jest adresem 
komórki pamięci operacyjnej, do której nastąpi skok w chwili wykonania 
rozkazu. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

24

Lista rozkazów procesora (CMP) 

1.

Rozkaz porównywania jest rozkazem ściśle powiązanym z rozkazami skoku 
warunkowego. W wyniku wykonania tego rozkazu zostaje zmieniona 
zawartość rejestru stanu (FLAG) jednostki wykonawczej

2.

Rozkazy rozgałęzienia warunkowego taki jak rozkazy skoku warunkowego 
uzależniają wykonania skoku od wartości poszczególnych bitów rejestru 
stanu (FLAG).

3.

Rozkaz ten wymaga dwóch argumentów. Jeden z argumentów jest 
przechowywany w rejestrze akumulatora, natomiast drugi jest 
przechowywany w rejestrze buforowym. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

25

Lista rozkazów procesora (JZ, JNZ) 

1.

Rozkazy skoku warunkowego również są zaliczane  do grupy rozkazów 
odpowiedzialnych za sterowanie wykonywanym programem.

2.

Podobnie jak w przypadku rozkazu skoku bezwarunkowego, rozkazy te są
rozkazami jednoargumentowymi
. Tabela 17 zawiera listę typów adresowania, 
które mogą być stosowane przy rozkazów skoku warunkowego. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

26

Lista rozkazów procesora (JZ, JNZ) 

Tabele Tabela 18,19 i  zawierają sekwencje mikrorozkazów, które są generowane 

podczas wykonywania odpowiedni rozkazu JZ i rozkazu JNZ. 

Proces wykonania rozkazu skoku warunkowego przebiega w sposób następujący: 
1.

Rejestr (MBR) zawiera adres komórki pamięci operacyjnej, do której będzie 
wykonany skok, gdy zostaną spełnione odpowiedni warunki 

2.

Podczas procesu wykonania rozkazu JZ, jak wynika z przedstawionej tabeli 
testowany, jest trzeci bit rejestru wskaźników. Jeżeli jest on równy jeden 
wtedy następuje przesłanie danych z rejestru (MBR) do rejestru (PC). 

JZ. Rozkaz (JZ) ten należy interpretować w sposób następujący, skok do komórki 
pamięci operacyjnej o adresie wskazywanej przez argument rozkazu zostanie 
wykonany, jeżeli na wyjściu jednostki ALU występują same zera. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

27

Lista rozkazów procesora (JZ, JNZ) 

1.

Wykonanie rozkazu JNZ, przebiega bardzo podobnie. Tak samo jak przy 
wykonaniu rozkazu JZ, rejestr (MBR) zawiera adres komórki pamięci 
operacyjnej. 

2.

Podczas procesu wykonania testowany, jest trzeci bit rejestru wskaźników, tak 
samo jak to miało miejsce podczas wykonania rozkazu JZ. 

3.

Jeżeli jest on równy zero wtedy następuje przesłanie danych z rejestru (MBR) 
do rejestru (PC). 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

28

Lista rozkazów procesora (LDA) 

1.

Rozkazem, który przesyła dane pamięci operacyjnej do rejestru akumulatora, 
jest rozkaz o nazwie LDA. 

2.

Rozkaz ten jak już powiedziano, przesyła dane z komórki pamięci 
operacyjnej. Adres komórki pamięci jest określony za pomocą argumentu 
rozkazu. 

3.

Ten adres stanowi jeden argument rozkazu. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

29

1.

Tabela 21 zawiera sekwencje mikrooperacji mają miejsce w jednostce 
wykonawczej w czasie trwania fazy wykonania związanej z omawianym 
rozkazem. 

2.

W przypadku tego rozkazu w fazie wykonania występuje tylko jedno przesłanie 
między rejestrowe – zawartość rejestru (MBR) jest przesyłana do rejestru (AC). 

3.

W tym przypadku, występuje tylko jedno przesłanie, ponieważ zawartość
komórki pamięci operacyjnej, została sprowadzona do rejestru (MBR) podczas 
fazy adresowania. 

Lista rozkazów procesora (LDA) 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

30

Lista rozkazów procesora (STO) 

1.

Rozkaz ten jest rozkazem jednoargumentowym. Argument tego rozkazu 
określa adres komórki pamięci operacyjnej, do której ma zostać przesłana 
zawartość rejestru akumulatora. 

2.

Tabela 22 zwiera dozwolone tryby adresowania, które mogą być stosowane 
w przypadku tego rozkazu. 

3.

W porównaniu do przednich rozkazów, lista trybów adresowania, które 
można stosować w przypadku tego rozkazu została ograniczona – można 
tylko stosować adresowanie bezpośrednie. Stosowanie adresowania 
natychmiastowego w przypadku rozkazu przesyłającego dane do pamięci 
operacyjnej niema sensu, ponieważ z założenia funkcjonowania tego rozkazy 
wynika, że argument tego rozkazu określa adres komórki pamięci 
operacyjnej. 

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

31

Lista rozkazów procesora (STO) 

1.

Do określenia adresu komórki pamięci, do której ma zostać przesłana 
zawartość rejestr (AC) może być tylko stosowane adresowanie bezpośrednie: 
(stała lub rejestr).

2.

Sam proces adresowania odbywa się w fazie wykonania. 

3.

Linia (1) przesłanie części zawartości rejestru rozkazu do rejestru (MAR). 
Linia(2) powoduje zaadresowanie pamięci operacyjnej. Ostatnia linia realizuje 
proces przesłania zawartości rejestru akumulatora (AC) do pamięci 
operacyjnej.

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

32

Format rozkazów

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

33

Formaty rozkazów 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

W przedstawionym formacie rozkazu można wyróżnić kilka typów 

grup bitów:

1. Bity z pozycji 1-6 są wykorzystywane do reprezentacji kodu 

rozkazu procesora

2. Bity z pozycji 7-9 służą do kodowania trybu adresowania 

argumentu

3. Bity z pozycji 10-16 służą do reprezentacji stałej lub na tych 

pozycjach zawarty jest kod rejestru w przypadku kiedy będzie 
stosowane adresowanie rejestrowe.

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

34

Formaty rozkazów – znaczenie bitów  

1.

Bity (1-6): Kod rozkazu 

2.

Bity(7:9): Bity trybu adresowania

3.

Bit (7,8)Adresowania bezpośrednie (1, 0)

4.

Bit(7,8): Adresowanie pośrednie(0, 1)

5.

Bity(7:8): Procesor ze stanu „faza pobrania” przechodzi bezpośrednio do fazy 
„faza wykonania rozkazu” (1, 1), omijając „fazę sprowadzania argumentów”

6.

Bity(7:8): Adresowanie natychmiastowe(0, 0) 

7.

Bit(9): Argument jest stałą (0) (argument na pozycjach (10-16) jest stałą)

8.

Bit(9): Argument jest kodem rejestru (1) (argument na pozycjach (10-16) jest 
kodem rejestru)

9.

Bity(10-16): Stała lub kod rejestru (zostało przyjęte, że bit 10 jest bitem 
najmniej znaczącym, natomiast bit 16 jest bitem najbardziej znaczącym

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

35

Przykłady

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

36

Przykład1- komputer

background image

Architektura Komputerów(Lab) -

Budowa Procesora(lista rozkazów)

37

Przykład1 –program 

Kompilacja 

(wynik kompilacji 

jest zapisany w 

zmiennej P)

Ładowanie programu 

do pamięci 

(poczynając od 

komórki o adresie 1)

Program jest 

ładowany do zmiennej 

‘BLOK_RAM’, która 

jest skojarzona z 

podsystemem RAM)