background image

ARCHITEKTURA 

ARCHITEKTURA 

PROCESORA

PROCESORA

Schemat blokowy procesora

Schemat blokowy procesora

Rejestry

Rejestry

Blok arytmetyczno-logiczny (ALU)

Blok arytmetyczno-logiczny (ALU)

Układ sterowania

Układ sterowania

background image

ALU

ALU

JEDNOSTKA 

JEDNOSTKA 

WYKONAWCZA

WYKONAWCZA

układ 

układ 

sterowania

sterowania

d

e

k

o

d

e

r

d

e

k

o

d

e

r

ro

zk

a

w

ro

zk

a

w

re

je

s

tr

re

je

s

tr

ro

zk

a

w

ro

zk

a

w

rejestry części 

rejestry części 

wykonawczej

wykonawczej

DANE

DANE

PROGRAM

PROGRAM

WYNIKI

WYNIKI

wewnętrzne

wewnętrzne

 sygnały 

 sygnały 

sterujące

sterujące

zewnętrzne 

zewnętrzne 

sygnały 

sygnały 

sterujące

sterujące

JEDNOSTKA 

JEDNOSTKA 

STERUJĄCA

STERUJĄCA

Zadaniem 

jednostki 

Zadaniem 

jednostki 

wykonawczej 

jest 

wykonawczej 

jest 

wykonywanie 

operacji 

wykonywanie 

operacji 

arytmetycznych  i  logicznych 

arytmetycznych  i  logicznych 

zależności 

od 

zależności 

od 

wewnętrznych 

sygnałów 

wewnętrznych 

sygnałów 

sterujących

sterujących

Jednostka 

sterująca 

Jednostka 

sterująca 

programu  dekoduje  rozkaz  i 

programu  dekoduje  rozkaz  i 

na 

jego 

podstawie 

na 

jego 

podstawie 

generowane  są  wewnętrzne  i 

generowane  są  wewnętrzne  i 

zewnętrzne sygnały sterujące

zewnętrzne sygnały sterujące

SCHEMAT BLOKOWY PROCESORA

SCHEMAT BLOKOWY PROCESORA

background image

SCHEMAT BLOKOWY PROCESORA 

SCHEMAT BLOKOWY PROCESORA 

8086

8086

Do podstawowych danych mikroprocesora 8086 zaliczamy:

20 linii adresowych definiujących bezpośrednio 2

20

 = 1M 

8-bitowych komórek pamięci,

16 linii adresowych dla rozkazów definiujących lokacje 2

16

 

= 64K portów WE/WY,

dwa niezależne układy operacyjne:

o

dla realizacji rozkazu bieżącego (EU),

o

dla równoległego pobierania rozkazu następnego 
(BIU),

Układ wykonawczy zawiera:

16-bitową jednostkę arytmetyczno-

logiczną,

układ sterowania z rejestrem 

rozkazów,

cztery 16-bitowe rejestry 

użytkownika

cztery 16-bitowe rejestry adresacji

16-bitowy rejestr wskaźników 

(rejestr flagowy)
Zadaniem  układu  wykonawczego 
jest  dekodowanie  i  wykonywanie 
rozkazów  gromadzonych  w  kolejce. 
W trakcie wykonywania rozkazów w 
układzie 

wykonawczym 

układ 

sprzęgający  magistrali  zewnętrznej 
otrzymuje  zezwolenie  na  pobranie 
rozkazu 

następnego 

pamięci 

programu.

Układ sprzęgający magistrali 
zawiera:

układ generacji adresu 

fizycznego,

układ kolejkowania rozkazów,

16-bitowe rejestry adresacji 

(segmentowe i IP)

bufor WE/WY

Układ 

sprzęgający 

przesyła 

dane  między  procesorem  a 
pamięcią 

operacyjną 

lub 

układami  WE/WY  pod  nadzorem 
układu wykonawczego. W czasie 
gdy układ wykonawczy realizuje 
kolejny  rozkaz,  BIU  pobiera 
nowy 

rozkaz 

pamięci 

operacyjnej  i  przekazuje  go  do 
kolejki.
Drugim 

istotnym 

zadaniem 

układu  sprzęgającego  BIU  jest 
wyznaczania  adresu  fizycznego 
(m.in.  na  podstawie  danych 
przekazywanych z EU)

background image

REJESTRY

REJESTRY

dostępne 

dostępne 

programowo

programowo

niedostępne 

niedostępne 

programowo

programowo

(na przykładzie procesora 8086/8088)

(na przykładzie procesora 8086/8088)

FLAGS

FLAGS

AX

AX

AX

AX

BX

BX

CX

CX

DX

DX

SI

SI

DI

DI

BP

BP

SP

SP

IP

IP

CS

CS

DS

DS

ES

ES

SS

SS

15

15

0

0

7

7

15

15

0

0

Rejestr 

Rejestr 

znacznikó

znacznikó

(flagowy

(flagowy

Rejestry 

Rejestry 

powszechneg

powszechneg

o stosowania

o stosowania

Rejestry 

Rejestry 

wskaźniko

wskaźniko

we i 

we i 

indeksowe

indeksowe

Rejestry 

Rejestry 

segmento

segmento

we

we

Wskaźnik 

Wskaźnik 

rozkazów

rozkazów

OF

OF

DF

DF

IF

IF

TF

TF

SF

SF

ZF

ZF

AF

AF

PF

PF

CF

CF

OF - flaga nadmiaru 

OF - flaga nadmiaru 

(przepełnienia)

(przepełnienia)

DF - flaga kierunku

DF - flaga kierunku

IF - flaga zezwolenia na 

IF - flaga zezwolenia na 

przerwanie

przerwanie

TF - flaga pracy krokowej

TF - flaga pracy krokowej

SF - flaga znaku

SF - flaga znaku

ZF - flaga zera

ZF - flaga zera

AF - flaga przeniesienia 

AF - flaga przeniesienia 

pomocniczego

pomocniczego

PF - flaga parzystości

PF - flaga parzystości

CF - flaga 

CF - flaga 

przeniesienia

przeniesienia

AH

AH

AL

AL

BH

BH

BL

BL

CH

CH

CL

CL

DH

DH

DL

DL

Wskaźnik stosu

Wskaźnik stosu

Wskaźnik bazy

Wskaźnik bazy

Rejestr 

Rejestr 

indeksowy 

indeksowy 

przeznaczenia

przeznaczenia

Rejestr 

Rejestr 

indeksowy 

indeksowy 

źródła

źródła

Rejestr danych 

Rejestr danych 

Rejestr 

Rejestr 

zliczający 

zliczający 

Rejestr bazowy

Rejestr bazowy

Akumulator

Akumulator

Rejestr 

Rejestr 

programu

programu

Rejestr danych

Rejestr danych

Rejestr 

Rejestr 

dodatkowy

dodatkowy

Rejestr stosu

Rejestr stosu

Znaczniki 

Znaczniki 

kontrolne

kontrolne

Znaczniki stanu

Znaczniki stanu

REJESTRY

REJESTRY

background image

REJESTRY OGÓLNEGO 

REJESTRY OGÓLNEGO 

PRZEZNACZENIA

PRZEZNACZENIA

Rejestry  ogólnego  przeznaczenia

Rejestry  ogólnego  przeznaczenia

  -  rejestry  przeznaczone 

  -  rejestry  przeznaczone 

do  przechowywania  dowolnych  danych  i  wykonywania 

do  przechowywania  dowolnych  danych  i  wykonywania 

operacji  (arytmetycznych  i  logicznych),  ale  jednocześnie 

operacji  (arytmetycznych  i  logicznych),  ale  jednocześnie 

spełniające  pewne  funkcje  specjalne.  Rejestry  te 

spełniające  pewne  funkcje  specjalne.  Rejestry  te 

podzielone  są  na  dwie  8-bitowe  części:  dolną  (L)  i  górną 

podzielone  są  na  dwie  8-bitowe  części:  dolną  (L)  i  górną 

(H).  Działając  na  danych  1-bajtowych  każdy  część  może 

(H).  Działając  na  danych  1-bajtowych  każdy  część  może 

być wykorzystana niezależnie.  

być wykorzystana niezależnie.  

AX

AX

  -  (akumulator)  rejestr  przeznaczony  do  przechowywania 

  -  (akumulator)  rejestr  przeznaczony  do  przechowywania 

jednego  z  operandów  (argumentów)  wykonywanej  operacji 

jednego  z  operandów  (argumentów)  wykonywanej  operacji 

oraz wyniku wykonywanej operacji (tylko czasami wynik może 

oraz wyniku wykonywanej operacji (tylko czasami wynik może 

być umieszczany w innym rejestrze)

być umieszczany w innym rejestrze)

BX

BX

  -  rejestr  bazowy  wykorzystywany  jest  do  wskazywania 

  -  rejestr  bazowy  wykorzystywany  jest  do  wskazywania 

położenia i lokalizacji pamięci lub do adresowania położenia w 

położenia i lokalizacji pamięci lub do adresowania położenia w 

pamięci. 

Domyślnie 

rejestr 

BX, 

wraz 

rejestrem 

pamięci. 

Domyślnie 

rejestr 

BX, 

wraz 

rejestrem 

segmentowym DS, jest używany jako wskaźnik pamięci.

segmentowym DS, jest używany jako wskaźnik pamięci.

CX

CX

  -  rejestr  wykorzystywany  jest  głównie  jako  licznik 

  -  rejestr  wykorzystywany  jest  głównie  jako  licznik 

odliczający  powtarzające  się  fragmenty  programów  bądź 

odliczający  powtarzające  się  fragmenty  programów  bądź 

pojedynczych rozkazów.

pojedynczych rozkazów.

DX

DX

  -  rejestr  wykorzystywany  głównie  jako  wskaźnik  adresów 

  -  rejestr  wykorzystywany  głównie  jako  wskaźnik  adresów 

w rozkazach IN i OUT (rozkazy wejścia i wyjścia). Adresowanie 

w rozkazach IN i OUT (rozkazy wejścia i wyjścia). Adresowanie 

portów odbywać się może tylko poprzez użycie rejestru DX. 

portów odbywać się może tylko poprzez użycie rejestru DX. 

background image

REJESTRY SEGMENTOWE

REJESTRY SEGMENTOWE

Rejestr  CS

Rejestr  CS

  wskazuje  na  początek  64KB  bloku  pamięci  lub  na 

  wskazuje  na  początek  64KB  bloku  pamięci  lub  na 

segment kodu, w którym rezyduje następny do wykonania rozkaz. 

segment kodu, w którym rezyduje następny do wykonania rozkaz. 

Dokładne  położenie  tego  rozkazu  w  segmencie  wskazywane  jest 

Dokładne  położenie  tego  rozkazu  w  segmencie  wskazywane  jest 

przez  offset,  którego  wartość  zawiera  rejestr  IP.  Pełny  adres  to 

przez  offset,  którego  wartość  zawiera  rejestr  IP.  Pełny  adres  to 

CS:IP.  Rejestr  CS  może  być  zmieniany  przez  niektóre  rozkazy  ale 

CS:IP.  Rejestr  CS  może  być  zmieniany  przez  niektóre  rozkazy  ale 

nie można go ładować bezpośrednio.

nie można go ładować bezpośrednio.

Rejestr  DS

Rejestr  DS

  wskazuje  na  początek  segmentu  danych  czyli  64KB 

  wskazuje  na  początek  segmentu  danych  czyli  64KB 

blok  pamięci  zawierający  argumenty.  Zazwyczaj  rejestrami 

blok  pamięci  zawierający  argumenty.  Zazwyczaj  rejestrami 

stowarzyszonymi  z  DS,  określającymi  offset  w  tym  segmencie  są 

stowarzyszonymi  z  DS,  określającymi  offset  w  tym  segmencie  są 

rejestry BX, SI lub DI.

rejestry BX, SI lub DI.

Rejestr  ES

Rejestr  ES

  wskazuje  na  początek  64KB  bloku  pamięci  zwanego 

  wskazuje  na  początek  64KB  bloku  pamięci  zwanego 

dodatkowym.  Segment  ten  nie  jest  przypisany  do  pojedynczych 

dodatkowym.  Segment  ten  nie  jest  przypisany  do  pojedynczych 

zastosowań  -  stosowany  jest  do  różnych  pojawiających  się 

zastosowań  -  stosowany  jest  do  różnych  pojawiających  się 

potrzeb.  Często  używany  jest  w  operacjach  łańcuchowych 

potrzeb.  Często  używany  jest  w  operacjach  łańcuchowych 

(wykorzystują pary rejestrów ES:DI) lub w operacjach na blokach 

(wykorzystują pary rejestrów ES:DI) lub w operacjach na blokach 

np. kopiowanie, porównywanie, przeszukiwanie, czyszczenie.

np. kopiowanie, porównywanie, przeszukiwanie, czyszczenie.

Rejestr  SS

Rejestr  SS

  wskazuje  na  początek  64KB  bloku  pamięci  zwanego 

  wskazuje  na  początek  64KB  bloku  pamięci  zwanego 

segmentem  stosu.  Wszystkie  rozkazy  na  stosie  -  odkładania 

segmentem  stosu.  Wszystkie  rozkazy  na  stosie  -  odkładania 

danych  na  stos,  zdejmowania  ze  stosu,  wywołania  i  powroty 

danych  na  stos,  zdejmowania  ze  stosu,  wywołania  i  powroty 

używają segmentu stosu (w tych rozkazach rejestr SP jest zdolny 

używają segmentu stosu (w tych rozkazach rejestr SP jest zdolny 

tylko  do  adresowania  w  obszarze  stosu).  Z  rejestrem  SS 

tylko  do  adresowania  w  obszarze  stosu).  Z  rejestrem  SS 

skojarzony  jest  rejestr  BP  do  adresowania  parametrów  i 

skojarzony  jest  rejestr  BP  do  adresowania  parametrów  i 

zmiennych zawartych w stosie.

zmiennych zawartych w stosie.

background image

Rejestry wskaźnikowe i 

Rejestry wskaźnikowe i 

indeksowe

indeksowe

SI

SI

  -  rejestr  indeksowy  źródła  wykorzystywany  jest  (podobnie 

  -  rejestr  indeksowy  źródła  wykorzystywany  jest  (podobnie 

jak BX) głównie jako wskaźnik pamięci.

jak BX) głównie jako wskaźnik pamięci.

DI

DI

  -  rejestr  indeksowy  przeznaczenia  wykorzystywany  jest 

  -  rejestr  indeksowy  przeznaczenia  wykorzystywany  jest 

(podobnie jak SI) głównie jako wskaźnik pamięci. 

(podobnie jak SI) głównie jako wskaźnik pamięci. 

Istnieje  tu  pewna  analogia  między  rejestrem  bazowym  BX  a 

Istnieje  tu  pewna  analogia  między  rejestrem  bazowym  BX  a 

rejestrami indeksowymi SI i DI. Oba te rejestry mogą być użyte 

rejestrami indeksowymi SI i DI. Oba te rejestry mogą być użyte 

jako wskaźniki pamięci podczas przetwarzania łańcuchów:

jako wskaźniki pamięci podczas przetwarzania łańcuchów:

rejestr  DI  adresuje  przesunięcie  przeznaczenia  danych  w 

rejestr  DI  adresuje  przesunięcie  przeznaczenia  danych  w 

połączeniu z rejestrem segmentowym ES 

połączeniu z rejestrem segmentowym ES 

rejestr  SI  adresuje  przesunięcie  źródła  (wyniku)  danych  w 

rejestr  SI  adresuje  przesunięcie  źródła  (wyniku)  danych  w 

połączeniu z rejestrem segmentowym DS.

połączeniu z rejestrem segmentowym DS.

Podczas  przetwarzania  danych  nie  łańcuchowych  oba  rejestry 

Podczas  przetwarzania  danych  nie  łańcuchowych  oba  rejestry 

używane są jako wskaźniki pamięci zawsze względem rejestru 

używane są jako wskaźniki pamięci zawsze względem rejestru 

segmentowego DS.

segmentowego DS.

BP

BP

  (wskaźnik  bazy)  -  rejestr  ten  używany  jest  jako  wskaźnik 

  (wskaźnik  bazy)  -  rejestr  ten  używany  jest  jako  wskaźnik 

pamięci,  podobnie  jak  BX,  SI,  DI,  z  tą  jednak  różnicą,  że 

pamięci,  podobnie  jak  BX,  SI,  DI,  z  tą  jednak  różnicą,  że 

dotyczy  obszaru  segmentu  stosu  i  dlatego  rejestr  ten 

dotyczy  obszaru  segmentu  stosu  i  dlatego  rejestr  ten 

wykorzystywany jest wspólnie z rejestrem segmentowym SS. 

wykorzystywany jest wspólnie z rejestrem segmentowym SS. 

SP

SP

  (wskaźnik  stosu)  -  rejestr  ten  podaje  bieżące  położenie 

  (wskaźnik  stosu)  -  rejestr  ten  podaje  bieżące  położenie 

wierzchołka stosu.

wierzchołka stosu.

background image

lub

lub

stos

stos

stos

stos

Adres

Program główny

101

Instrukcja

102

Instrukcja

103

Call

Wywołanie podprogramu I

 (adres 104 na stos)

1002

Instrukcja

1003

Instrukcja

1004

Call

Wywołanie podprogramu II

(adres 1005 na stos)

2001

Instrukcja

2002

Instrukcja

2003

Ret

1005

Instrukcja

1006

Instrukcja

1007

Ret

Powrót z podprogramu II

(do adresu 1005

odczytanego ze stosu)

104

Instrukcja

105

Instrukcja

106

Instrukcja

Powrót z podprogramu I

(do adresu 104

odczytanego ze stosu)

107

Instrukcja

STOS

STOS

Stosem  nazywamy  wyróżniony  obszar  w  pamięci  używany  wg 

Stosem  nazywamy  wyróżniony  obszar  w  pamięci  używany  wg 

reguł:

reguł:

informacje  zapisane  są  na  stos  do  kolejnych  komórek  (pod  kolejnymi 

informacje  zapisane  są  na  stos  do  kolejnych  komórek  (pod  kolejnymi 

adresami), przy czym żadnego adresu nie wolno pominąć

adresami), przy czym żadnego adresu nie wolno pominąć

odczytujemy informacje w kolejności odwrotnej do ich zapisu 

odczytujemy informacje w kolejności odwrotnej do ich zapisu 

informacje  odczytujemy  z  ostatnio  zapełnionej  komórki,  natomiast 

informacje  odczytujemy  z  ostatnio  zapełnionej  komórki,  natomiast 

zapisujemy do pierwszej wolnej

zapisujemy do pierwszej wolnej

Czyli obowiązuje reguła LIFO - ostatni wchodzi pierwszy wychodzi

Czyli obowiązuje reguła LIFO - ostatni wchodzi pierwszy wychodzi

zobacz 

prezentację 

działania 

zobacz 

prezentację 

działania 

stosu

stosu

CALL adres oznacza
[SP] <— (IP)     :  zapis do stosu,
  SP  <
 (SP-2) :  modyfikacja wskaźnika
                               stosu po odłożeniu 
dwóch 
                                bajtów licznika IP,
 IP <
 adres     :  lokacja podprogramu.

RET oznacza: 
IP <
 [SP]       :   odczyt ze stosu;
SP <
 (SP+2) :   modyfikacja wskaźnika
                               stosu.

background image

REJESTRY

REJESTRY

DF - flaga kierunku

DF - flaga kierunku

        DN (down)

        DN (down)

UP (up)

UP (up)

IF - flaga zezwolenia na przerwanie

IF - flaga zezwolenia na przerwanie

        EI (enables int)

        EI (enables int)

DI 

DI 

(disables int)

(disables int)

OF - flaga nadmiaru (przepełnienia)

OF - flaga nadmiaru (przepełnienia)

        OV (over)

        OV (over)

              NV (not 

              NV (not 

over)

over)

SF - flaga znaku

SF - flaga znaku

        NG (negative)

        NG (negative)

PL 

PL 

(plus)

(plus)

ZF - flaga zera

ZF - flaga zera

         ZR (zero)

         ZR (zero)

NZ (not zero)

NZ (not zero)

AF - flaga przeniesienia pomocniczego

AF - flaga przeniesienia pomocniczego

         AC (aux. carry)

         AC (aux. carry)

NA (not aux. carry)

NA (not aux. carry)

PF - flaga parzystości

PF - flaga parzystości

         PE (parity even)

         PE (parity even)

PO (parity odd)

PO (parity odd)

CF - flaga przeniesienia

CF - flaga przeniesienia

         CY (arry yes)

         CY (arry yes)

NC (no 

NC (no 

carry)

carry)

Znaczniki 

Znaczniki 

kontrolne

kontrolne

Znaczniki stanu

Znaczniki stanu

=1

=1

=0

=0

TF - flaga pracy krokowej

TF - flaga pracy krokowej

REJESTR IP I FLAGOWY

REJESTR IP I FLAGOWY

IP

IP

 (wskaźnik rozkazów)- rejestr ten zawiera zawsze offset pamięci, w 

 (wskaźnik rozkazów)- rejestr ten zawiera zawsze offset pamięci, w 

którym  zawarty  jest  następny  rozkaz  do  wykonania.  Bazowy  adres 

którym  zawarty  jest  następny  rozkaz  do  wykonania.  Bazowy  adres 

segmentu kodu zawarty jest w rejestrze CS. Stąd pełny adres logiczny 

segmentu kodu zawarty jest w rejestrze CS. Stąd pełny adres logiczny 

wykonywanego rozkazu wskazywany jest parą rejestrów CS:IP. 

wykonywanego rozkazu wskazywany jest parą rejestrów CS:IP. 

Oznacza  to,  że  jeśli  wykonywany  jest  rozkaz  to  wskaźnik  rozkazów 

Oznacza  to,  że  jeśli  wykonywany  jest  rozkaz  to  wskaźnik  rozkazów 

ustawiany  jest  do  następnego  adresu  pamięci,  pod  którym  znajduje 

ustawiany  jest  do  następnego  adresu  pamięci,  pod  którym  znajduje 

się  rozkaz  do  wykonania.  Wyjątek  stanowią  rozkazy  wywołania  i 

się  rozkaz  do  wykonania.  Wyjątek  stanowią  rozkazy  wywołania  i 

skoku.

skoku.

FLAGS

FLAGS

  (rejestr  znaczników,  rejestr  flagowy)-  rejestr  ten  jest  zbiorem 

  (rejestr  znaczników,  rejestr  flagowy)-  rejestr  ten  jest  zbiorem 

poszczególnych  bitów  kontrolnych  (znaczników),  które  wskazują 

poszczególnych  bitów  kontrolnych  (znaczników),  które  wskazują 

wystąpienie określonego stanu procesora. 

wystąpienie określonego stanu procesora. 

zobacz  prezentację  działania  rejestru 

zobacz  prezentację  działania  rejestru 

flagowego

flagowego

background image

akumulator rejestr bazowy

rejestr 

zliczający

rejestr danych

wskaźnik stosu

wskaźnik bazy

rejestr indeksowy 

źródła

rejestr indeksowy 

przeznaczenia

rejestr danych

rejestr dodatkowy

rejestr stosu

rejestr programuwskaźnik rozkazów

rejestr flagowy 

(znaczników)

DEBUG

DEBUG

background image

flaga parzystości

flaga przeniesienia

 pomocniczego

flaga zera

flaga zezwolenia 

na przerwanie

flaga nadmiaru

flaga kierunku

flaga znaku

flaga przeniesienia

Flaga (znacznik)

symbol

=1

=0

Flaga nadmiaru

OF

OV

NV

Flaga kierunku

DF

DN

UP

Flaga zezwolenia na przerwanie

IF

EI

DI

Flaga znaku

SF

NG

PL

Flaga zera

ZF

ZR

NZ

Flaga przeniesienia pomocniczego

AF

AC

NA

Flaga parzystości

PF

PE

PO

Flaga przeniesienia

CF

CY

NC

DEBUG

DEBUG

background image

A

A

0

0

 - A

 - A

3

3

B

B

0

0

 - B

 - B

3

3

S

S

0

0

 - S

 - S

3

3

M

M

F

F

0

0

 - F

 - F

3

3

Sygnały sterujące do 

Sygnały sterujące do 

wyboru mikrooperacji 

wyboru mikrooperacji 

logicznej (M=0) lub 

logicznej (M=0) lub 

arytmetycznej (M=1)

arytmetycznej (M=1)

Przykład 4 bitowego ALU 

Przykład 4 bitowego ALU 

SN74181

SN74181

BLOK ARYTMETYCZNO-LOGICZNY

BLOK ARYTMETYCZNO-LOGICZNY

Blok 

arytmetyczno-logiczny 

(ALU)

Blok 

arytmetyczno-logiczny 

(ALU)

 

jest 

uniwersalnym 

układem 

 

jest 

uniwersalnym 

układem 

kombinacyjnym, który realizuje operacje matematyczne i logiczne w zależności 

kombinacyjnym, który realizuje operacje matematyczne i logiczne w zależności 

od zaprogramowanej operacji tj. rozkazu umieszczonego w programie. 

od zaprogramowanej operacji tj. rozkazu umieszczonego w programie. 

Rozkazy mogą dotyczyć 

Rozkazy mogą dotyczyć 

operacji  dwuargumentowych:  operacji  arytmetycznych  (dodawanie  i  odejmowanie)  i 

operacji  dwuargumentowych:  operacji  arytmetycznych  (dodawanie  i  odejmowanie)  i 

operacji logicznych (sumowanie mnożenie, sumowanie mod 2, itp.)

operacji logicznych (sumowanie mnożenie, sumowanie mod 2, itp.)

operacji  jednoargumentowych  (np.  negowanie  bitów  lub  przesuwanie  zawartości 

operacji  jednoargumentowych  (np.  negowanie  bitów  lub  przesuwanie  zawartości 

rejestrów)

rejestrów)

Argumentami rozkazów są najczęściej dwa słowa binarne, od długości których 

Argumentami rozkazów są najczęściej dwa słowa binarne, od długości których 

mówi się o liczbie bitów ALU.

mówi się o liczbie bitów ALU.

Lp.          S

Lp.          S

0

0

 - S

 - S

3               

3               

M=0                     M=1

M=0                     M=1

A

F

B

A

F

B

A

F

F

AB

F

B

F

B

A

F

B

A

F

B

A

F

B

A

F

B

F

AB

F

F

B

A

F

B

A

F

A

F

1

0

)

1

(

)

(

)

(

2

)

1

(

)

(

)

1

(

)

1

(

)

(

1

)

(

)

(

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

C

A

F

C

A

B

A

F

C

A

AB

F

C

A

F

C

AB

F

C

AB

B

A

F

C

B

A

F

C

AB

A

F

C

A

F

C

B

A

F

C

B

A

B

A

F

C

B

A

A

F

C

F

C

B

A

F

C

B

A

F

C

A

F

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

1111

0111

1011

0011

1101

0101

1001

0001

1110

0110

1010

0010

1100

0100

1000

0000

background image

UKŁAD STEROWANIA

UKŁAD STEROWANIA

Często  (a  może  najczęściej)  procesor  wykonuje  rozkazy 

Często  (a  może  najczęściej)  procesor  wykonuje  rozkazy 

nie  w  jednym  kroku  (jak  np.  dodawanie)  ale  w  wielu 

nie  w  jednym  kroku  (jak  np.  dodawanie)  ale  w  wielu 

krokach  (np.  mnożenie  lub  dzielenie  jako  ciąg  dodawań  i 

krokach  (np.  mnożenie  lub  dzielenie  jako  ciąg  dodawań  i 

przesunięć).

przesunięć).

W tym celu potrzebny jest złożony automat sekwencyjny, 

W tym celu potrzebny jest złożony automat sekwencyjny, 

generujący  odpowiednie  ciągi  słów  podawanych  na 

generujący  odpowiednie  ciągi  słów  podawanych  na 

wejścia sterujące układu ALU - układ sterowania. 

wejścia sterujące układu ALU - układ sterowania. 

Cechy takiego automatu to:

Cechy takiego automatu to:

konieczność 

posiadania 

bardzo 

dużej 

liczby 

stanów 

konieczność 

posiadania 

bardzo 

dużej 

liczby 

stanów 

dostosowanych 

do 

wymaganej 

liczby 

wykonywanych 

dostosowanych 

do 

wymaganej 

liczby 

wykonywanych 

rozkazów;

rozkazów;

konieczność 

zapewnienia 

synchronizacji 

pracy 

układu 

konieczność 

zapewnienia 

synchronizacji 

pracy 

układu 

sterowania 

wykonawczego 

(uwzględnienie 

czasów 

sterowania 

wykonawczego 

(uwzględnienie 

czasów 

wykonywania poszczególnych operacji).

wykonywania poszczególnych operacji).

W praktyce realizowane są jako:

W praktyce realizowane są jako:

generatory sekwencyjne

generatory sekwencyjne

układy mikroprogramowalne

układy mikroprogramowalne

background image

DZIĘKUJĘ ZA UWAGĘ ! 

DZIĘKUJĘ ZA UWAGĘ ! 


Document Outline