You are on page 1of 29

LOGIKA KOLA

Kao to smo ve istakli, obrada podataka u digitalnom rauanaru se realizuje pomou elektrinih
veliina (napon, struja), odnosno elektronski sklopovi raunara obrauju elektrine veliine kojima su
predstavljeni podaci. Najpogodnije je podatke binarno kodirati, odnosno predstavljati ih pomou dva
definisana stanja elektronskih sklopova, koji se stoga nazivaju digitalni sklopovi, a poto se radi o
elektronskim kolima ee se koristi termin digitalna kola.
Dva mogua stanja digitalnog kola su najee dva nivoa napona U1 i U2. Recimo, U1=0V, a
U2=5V. Fizikim stanjima 0V i 5V odgovaraju dve logike vrednosti (la) i T (istina) koja se u
digitalnoj elektronici oznaavaju kao logika nula (0) i logika jedinica (1). (vidi sl. 3.1)
U=U2
logiko stanje 1
U=U1
logiko stanje 0
Logiko i fiziko stanje digitalnog kola
Data korespodencija izmeu fizikih i logikih stanja odgovara tzv. pozitivnoj logici. Mogue je
suprotno, niem naponu U1 dodeliti logiku 1, a viem naponu U2 logiku 0 i tada se radi o negativnoj
logici. Stanja i funkcije digitalnih kola se dakle mogu opisati pomou logikih vrednosti i logikih
operacija, pa se zato umesto termina digitalno kolo najee koristi termin logiko kolo.
Ponaanje logikih kola moe se opisati pomou prekidakih ili Bulovih funkcija koje su
predmet izuavanja Bulove (ili prekidake) algebre.

Bulova algebra
Za razliku od klasine algebre, promenljiva veliina u Bulovoj algebri moe da ima samo dve
vrednosti - logika nula (0) i logika jedinica (1):

x = 0 ili x = 1
Tri osnovne operacije, pomou kojih moe da se definie bilo koja Bulova funkcija, su:
1.
2.
3.

operacija logikog sabiranja (disjunkcija) ili ILI (OR) operacija


operacija logikog mnoenja (konjunkcija) ili I (AND) operacija
operacija komplementiranja tj. inverzije (negacija) ili NE (NOT) operacija

Pri tome Bulova funkcija predstavlja rezultat izraza koji se sastoji od operanada i operacija nad
tim operandima. Naravno, i Bulova funkcija ima razultat 0 ili 1.
Osnovne operacije se mogu definisati pomou tablice stanja ili tablice istinitosti (Tab. 3.1), iz
koje vidimo da su prve dve operacije binarne (dva operanda), a trea je unarna (jedan operand).

29

Tab. 3.1.
Osnovne logike operacije
operandi
x
Y
0
0
1
1

0
1
0
1

operacija:
ILI (OR)
f=x+y
0
1
1
1

I(AND)
f = xy
0
0
0
1

NE(NOT)
f= x
1
1
0
0

Vidimo da,
1. Logiki zbir ima vrednost nula ako i samo ako oba sabirka imaju vrednost nula.
2. Logiki proizvod ima vrednost 1 ako i samo ako oba inioca imaju vrednost 1.
3. Komplement ili negacija (inverzija) nule je jedinica, a komplement jedinice je nula.
Ako je u Bulovoj funkciji prisutno vie binarnih operacija onda se Bulov izraz izraunava s desna na levo
pri emu se definie da logiko mnoenje ima prioritet u odnosu na logiko sabiranje. Prioritet operaija
se moe promeniti zagradama.
Osnovne teoreme Bulove algebre date su u Tabeli 3.2.
Tab. 3.2.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Teorema Bulove algebre


a)
x+0=x
x +1 = 1
x+x=x
x+ x =1
x=x
x+y=y+x
x + (y + z) = (x + y) + z =
x+y+z
x + yz = (x + y)(x + z)
x + xy = x
x + x y = x + y
(x + y) = x y

b)
x1 = x
x0 = 0
xx = x
x x = 0
xy = yx
x(yz) = (xy)z
x(y + z) = xy + xz
x(x + y) = x
x( x + y) = xy
xy = x + y

Zakoni De Morgana i zakon distributivnosti se mogu uoptiti:

12a) ( x1 + x 2 +K+ x n ) = x1 x 2 Kx n

12b) ( x1 x 2 Kx n ) = x1 + x 2 +K+ x n
13a) x + y1 y 2 Ky n = (x + y1 )(x + y 2 ) +K+ (x + y n )
13b) x( y1 + y 2 +K+ y n ) = xy1 + xy 2 +K+ xy n

30

opis:
operacije sa kostantnim
vrednostima
zakon idempotentnosti
operacije sa
komplementima
dvostruka negacija
komutativnost
asocijativnost
distributivnost
zakoni
apsorpcije
De Morganova pravila
invertovanja

Osnovna logika kola


Logikim operacijama I, ILI i NE (Tab.3.1) odgovaraju elementarna logika kola ije su oznake
date u tabeli 3.3.
Tab.3.3 Oznake logikih kola
Kolo

Oznaka
x

NE (NOT)

x
y
x
y
x
y
x
y
x
y
x
y

I (AND)
ILI (OR)
NI (NAND)
NILI (NOR)
EXILI (EXOR)
NEXILI (NEXOR)

Bulova funkcija
f

f= x

f = xy

f=x+y

f = xy

f = x+y

f = xy

f = xy

Elementarnim kolima su pridodata jo tri kola: NI, NILI , EXILI i NEXILI (Tab.3.3. i 3.4.), koja
zajedno sa njima ine osnovna kola u digitalnoj elektronici. Ako u Bulovoj funkciji figuriu vie
binarnih operacija tj. ta funkcija predstavlja kombinaciju osnovnih logikih kola sa dva ulaza tada je
prioritet operacija sledei: NI, NILI , EXILI. Naravno, prioritet se moe promeniti zagradama.
Tab.3.4. Definicije NI, NILI, EXILI i NEXILI kola
x

0
0
1
1

0
1
0
1

xy
1
1
1
0

x+y
1
0
0
0

xy

xy

0
1
1
0

1
0
0
1

Invertor ulaznog signala u neko kolo oznaava se skraeno kruiem. Na primer:

x
y

x
y

31

Sloena logika kola i Bulove funkcije


Sloena logika kola su sastavljena iz vie osnovnih kola. Svako logiko kolo se moe opisati
nekom Bulovom funkcijom i obratno, svaka Bulova funkcija se moe generisati pomou nekog logikog
kola. Ilustrovaemo to sledeim primerima.
PRIMER Formirati Bulovu funkciju koja opisuje sledee logiko kolo sa etiri ulaza: x,y,z i v
x
z
v

w2

z
f
y
z

w1

Na slici su uvedene oznake meusignala: w1 i w2. Idui od desnog kraja eme (izlaz iz kola) prema
ulazima, zapaamo:
f = w 1 + zw 2
w 1 = yz, w 2 = xzv + y

Smenom izraza za w1 i w2 u izraz za f dobijamo konano:


f = yz + z(y + xzv) = yz + zy + xzv
f = yz + z(y + xv)
PRIMER Formirati logiko kolo, koje generie Bulovu funkciju:

f(x, y, z, w) = w(xyz + y z)
Kolo formiramo postupno-sleva udesno, potujui pravila o redosledu izraunavanja sloenog Bulovog
izraza.
x
y

xyz

z
yz

f = w(xyz + y z)

Sinteza logikih kola zadate nemene


Zadatak sinteze logikih kola se reaava u etiri etape:
1. Formulisanje tablice istinitosti na osnovu zadate namene kola,
2. Generisanje odgovarajue Bulove funkcije
3. Uproavanje ili minimizacija dobijene Bulove funkcije
4. Realizacija minimizovane Bulove funkcije pomou raspoloivih osnovnih kola

32

Osnovna kola u raunarskim sistemima


Kola iz kojih je izgraen raunarski hardver mogu se podeliti u dve klase:
1. Kombinaciona
2. Sekvencijalna
Izlazni signal iz kombinacionih kola zavise od trenutne kombinacije vrednosti ulaznih
signala. Sva kola, koja smo sreli u dosadanjem izlaganju pripadaju ovom tipu logikih kola. Za
realizaciju vrlo vane funkcije - memorisanja podataka, neophodna su i kola koja mogu da proizvoljno
dugo zadre dato stanje tj. vrednost svog izlaza (memorisanje bita 0 ili 1) kao i da uz pomo ulaznih
signala promene stanje. (unos novog sadraja u 1-bitnu memorijsku lokaciju). Takva kola se nazivaju
sekvencijalna (ili memorijska) i njihovi izlazi ne zavise samo od trenutnih vrednosti ulaznih signala,
ve i od prethodnog stanja.

Tree logiko stanje


Logikim kolima u sklopu hardvera se najee dodeljuje tzv. tree logiko stanje pri kome su
izlazi iz kola odvezani, tj. nemaju veze sa ulazima. Drugim reima, u treem logikom stanju, koje se
jo i zove i stanje velike impedanse, logiko kolo ne obavlja svoju funkciju. Za aktiviranje i
deaktiviranje kola slui dodatni ulazni signal - signal dozvole (enable signal). Na primer NI kolo sa
mogunou treeg logikog stanja, dato je na Sl.4.1a.

xy, za E = 1
f =
n.d. za E = 0

Sl.4.1a NI kolo sa tri logika stanja


Kada signal dozvole, E, ima logiku vrednost 1, kolo je aktivno, a pri E=0 ono prelazi u tree logiko
stanje, kad signal f nije definisan. Tanije, f nema veze sa vrednostima ulaza x i y, ve uzima onu
vrednost napona koji je trenutno na liniji na koju je kratko vezana f linija - plivajua vrednost. Aktivna
vrednost signala dozvole moe da bude nulti napon i tada se on oznaava sa E , to ukazuje na taj uslov
(Sl.4.1b).

xy, za E = 0
f =
n.d. za E = 1

Sl. 4.1b NI kolo sa tri logika stanja

33

Za kolo sa treim logikim stanjem se koristi termin trostabilna ili trostatika kola, a ako se kao signal
dozvole koristi taktni signal i sinhronizovana kola. Najjednostavnije trostabilno kolo u raunarskoj
tehnici je formira signala dat na Sl.4.2., analogan elektrinom prekidau.
x

x, za E = 1
f =
n.d. za E = 0

Sl. 4.2. Formira signala

Dekoder
Dekoder je kombinaciono kolo koje slui za dekodiranje ili prepoznavanje stanja na ulazu. Tako
se kao elementi hardvera sreu: adresni dekoder, dekoder instrukcija, dekoder binarnih brojeva itd.
Najjednostavniji dekoder je dekoder sa jednim izlazom, koji dekodira ili prepoznaje samo
jednu od moguih kombinacija ulaznih signala. Znak prepoznavanja posmatrane kombinacije, tj.
logika vrednost izlaza koja ukazuje na nju, moe da bude 1 ili 0. Na primer, dekoder binarne
kombinacije tj. binarnog broja (1011) je I kolo sa 4 ulaza (cifre u binarnom broju), pri emu je na ulazu
sa adresom 2 (ulaz cifre na cifarskom mestu 22) stavljen invertor (sl.4.2.)

3
2
1

1 za ulaz (1011)
y=
0 za sve ostale ulaze

Sl.4.3. Dekoder kombinacije (1011)


Na prisustvo kombinacije (1011) na ulazu ukazuje jedinina vrednost izlaznog signala.

Dekoder 1 od 2n
Dekoder 1 od 2n ima n ulaza i 2n izlaza i dekodira sve mogue (ukupno 2n)ulazne binarne
kombinacije. Svaka od 2n izlaznih linija jednoznano odgovara jednoj od moguih binarnih kombinaicja,
tj. dobija logiku vrednost 1 samo pri toj kombinaciji, dok istovremeno svi ostali izlazi imaju nulte
vrednosti. Na slici 4.3. dat je blok dijagram dekodera 1 od 23 sa treim logikim stanjem.

3
2
1

1 za ulaz (1011)
y=
0 za sve ostale ulaze

0
Sl. 4.3 Dekoder 1 od 23

34

Brojne oznake ili adrese izlaznih linija predstavljaju dekadne vrednosti odgovarajuih binarnih
kombinacija.
PRIMER 4.3. Za vrednosti ulaznih signala u dekoder 1 od 23 na Sl. 4.3.:

0
0

1
1

2
1

E
0

kakve su vrednosti na izlaznim linijama?


U pitanju je linearna kombinacija 1102 = 610 pa e samo na izlaznoj liniji sa adresom 6 biti
jedinina vrednost, dok e na ostalim linijama biti 0. Jasno je da dekoder 1 od 2n u stvari dekodira tj.
prevodi u dekadni oblik n-to cifrene binarne brojeve, pri emu dekadnu vrednost daje brojna oznaka
jedinog aktivnog (vrednost 1) izlaza.
Vana primenu dekodera 1 od 2n je kao adresnog dekodera kada se na ulaz u dekoder dovode
signali sa adresne sabirnice. Kao rezultat dekodiranja adrese bie aktivna samo jedna od izlaznih linija i
ona e aktivirati memorijsku lokaciju ili registar radi unosa ili itanja podataka.
PRIMER Pomou I kola i NE kola formirati dekoder 1 od 22.
x1
x0

3
2
1
0

35

Koder
Koder je kombinaciono kolo sa suprotnom funkcijom od dekodera 1 od 2n . Tako, njegovi
izlazi (ukupno n) daju binarni kod jedinog aktivnog (jedinina vrednost) od ukupno 2n ulaza (Sl.4.4).
7
6
5

2
1
0
E

Sl.4.4 Blok dijagram kodera sa 3 izlaza


PRIMER 4.4. Ako je E = 0 i jedini aktivni ulaz u koder na Sl.4.4. je ulaz sa adresom 6, koje su
vrednosti na izlaznim linijama?
Izlazni signali daju binarni kod broja 6 pa su vrednosti

Izlaz
Vrednost

2
1

1
1

0
0

Koder prioriteta
Kao to smo konstatovali, kod kodera je dovoljno da samo jedna od ulaznih linija bude aktivna.
Kod kodera prioriteta vie ulaznih linija mogu da imaju jedininu vrednost a izlazi daju binarni kod
najprioritetnijeg od aktivnih ulaza.
PRIMER 4.5. Ako prioritet ulaza u dati koder prioriteta raste od 0 prema 7 (najprioritetniji je ulaz 7)
odrediti vrednosti izlaza.
0

2
1

36

Poto je najprioritetniji aktivni ulaz onaj sa adresom 5, izlazi daju binarni kod broja 5:
Izlaz
Vrednost

2
1

1
0

0
1

Multiplekser
Multiplekser ili selektor izvorita podataka je kombinaciono kolo sa 2m ulaznih prikljuaka, m
adresnih ulaznih linija i jednim izlazom. U optem sluaju, na svaki od ulaznih prikljuaka (ili portova)
kao i na izlazni port moe da se vee po n linija i takav multiplekser se zove multiplekser MUX 2mxn
(Sl.4.5)
2m-1

0 1 2
.......

n n n

MUX 2 mxn

Sl.4.5. Multiplekser 2mxn


Funkcija multipleksera je da se pomou m adresnih ulaza bira koji od 2m ulaza e biti povezan sa
izlazom. Blok dijagram multipleksera MUX 23x1 sa tri logika stanja dat je na Sl.4.6.

I7
I6
I5
I4
I3
I2
I1
I0

I - ulazne linije
S - adresne (selekcione) linije
Y - izlazne linije
E - ulaz sa signal dozvole

E S 2 S1 S0

Sl.4.6. MUX 23x1

37

PRIMER 4.6. Logike vrednosti ulaza u MUX 23x1 su

Ulaz
Vrednosti

0
0

1
1

2
1

3
1

4
0

5
0

6
0

7
1

Za svaku od kombinacija vrednosti dozvole i adresnih ulaza odrediti vrednosti izlaza

E
0
0
0
0
1

S0
0
1
0
1
0

S1
0
1
1
0
1

S2
0
0
1
0
1

Vrednost (podatak) na onom od ulaza, ija adresa je postavljena na adresnim ulazima, pojavie se na
izlazu, ako je multiplekser aktivan ( E = 0). Tako je reenje:
E
0
0
0
0
1

S0
0
1
0
1
0

S1
0
1
1
0
1

S2
0
0
1
0
1

Y
0
1
0
1
n.d.

Na slici 4.7. data je realizacija multipleksera MUX 2mx1 pomou dekodera 1 od 2m i 2m formiraa
signala:

2m-1 2m-2

2 1 0

2m-1
2m-2

2
1
0

DEKODER

adresni
ulazi

izlaz

Sl.4.7. Realizacija multipleksera pomou dekodera

38

Demultiplekser
Demultiplekser predstavlja selektor odredita podataka jer omoguuje upuivanje podataka sa
ulaznog porta (linije) na odabrani izlazni port uz pomo adresnih ulaza (Sl.4.8.)
n
m

DEMUX nx2m
n

n n
0

2m-1

Sl.4.8. ema demultiplekseara DEMUX nx2m


Kao i multiplekser, demultiplekser se moe lako realizovati pomou dekodera 1 od 2n (Sl.4.9.)
ulaz

2m-1
2m-2

2
1

DEKODER

m
adresni
ulazi

2m-1 2m-2

2 1 0

izlazi

Sl.4.9. Realizacija pomou dekodera


Na Sl.4.10. Dat je blok dijagram demultipleksera sa 8 izlaza (DEMUX 1x23)

39

I7
I6
I5
I4
I3
I2
I1
I0

I - izlazne linije
S - adresne (selekcione) linije
Y - uazna linija
E - ulaz sa signal dozvole

E S2 S1 S0

Sl. 4.10 DEMUX 1x23

Binarni sabira
Ovo kombinaciono kolo realizuje sabiranje dva cela binarna broja u ALU.
ai bi ci

ci - prethodni prenos
ci+1 - prenos pri sabiranju cifara ai i bi
si - cifra zbira

ci+1

si

Sl. 4.11. Binarni sabira


Binarni sabira se dobija jednostavno, vezivanjem n potpunih sabiraa.
an-1 bn-1cn-1

cn

an-2 bn-2cn-2

........

sn

a2 b2 c2

sn-2

a1 b1 c1

s2

c3

Sl.4.12. ema binarnog sabiraa


40

a0 b0 c0

s1

s0

Kao to smo ve rekli, binarni sabira je samo jedno od vie kola u sklopu ALU. Pored sabiraa,
tu su i kolo za komplementiranje, kolo za razliite logike operacije sa podacima, a kod sloenih ALU i
kola za hardversko izvoenje oduzimanja, mnoenja i deljenja.
Na linije ai, i=0,n-1, cifre prvog operanda A, koji se nalazi u akumulatoru centralne procesne
jedinice (mikroprocesor) dolaze internom sabirnicom. Signali bi, koji predstavljaju cifre drugog operanda
dolaze sabirnicom podataka iz memorijske jedinice mikroraunara, a onda internom sabirnicom
mikroprocesora, ili iz nekog registra za privremeno pamenje podataka u okviru mikroprocesora. Signali
si linijama interne sabirnice idu u akumulator, pa rezultat S zamenjuje u akumulatoru prethodno smeten
prvi operand. Preostaje da objasnimo odakle dolazi signal poetnog prenosa c0 i gde ide konaan prenos
cn. Prenos (carry) kao vrlo vana informacija se uva u mikroprocesoru u posebnom registru - registar
uslova ili status registar. Tako konaan prenos cn ide u registar uslova (kao bit ili zastavica C). Kakav
smisao kod sabiranja ima poetni prenos c0?. To e biti jasno, ako se podsetimo da se u mikroraunaru
celi brojevi registruju kao dvobajtni (16-cifreni). Tako se u 8 bitnom mikroprocesoru sabiranje dva broja
vri u dva koraka: u prvom se, bez poetnog prenosa, sabiraju nii bajtovi, a u drugom koraku se sabiraju
vii bajtovi gde je poetni prenos, c0 jednak konanom prenosu cn prethodnog sabiranja iz registra stanja.

Bistabilna kola (flip-flop)


Bistabilna kola slue za memorisanje bita. To su sekvencijalna kola koja mogu da budu u dva
stabilna stanja, 0 ili 1, otuda naziv bistabilna kola ili bistabili. Stabilno stanje (memorisani bit) se moe
odravati proizvoljno dugo, a moe se delovanjem ulaznih signala promeniti (unos novog sadraja).
Bistabil ima bar jednu izlaznu liniju na kojoj se dobija njegovo stanje (memorisani bit). Ako je
na izlaznoj liniji jedinica kaemo da je bistabil setovan, a ako je nula kaemo da je resetovan.
Bistabil ima bar jednu ulaznu liniju i vrednost signala na ulazu, zajedno sa njegovim satnjem
(signal na izlaznoj liniji), odreuje njegovo novo stanje, tj. novu vrednost izlaza.
Bistabili se sreu i pod nazivom flip-flopovi.

R-S flip-flop
Blok dijagram R-S flip-flopa je dat na Sl.4.13. a njegovu funkciju objanjava tablica istinitosti
(tab.4.1.)

Q - izlaz na kome se dobija stanje


Q - drugi izlaz, ija vrednost je uvek invertovano stanje
S - ulaz za setovanje (unos jedinice)
R - ulaz za resetovanje (unos nule)

Sl. 4.13. Blok dijagram R-S flip flopa

41

Tab. 4.1. Tablica istinitosti R-S flip flopa


R
0
0
1
1

S
0
1
0
1

Q
Q*
1
0
n.d.

Q* - postojee stanje
n.d. - ova kombinacija nije dozvoljena
Na Sl.4.14. data je uproena realizacija R-S flip flopa pomou NI odnosno NILI kola

R
b)

a)

Sl.4.14. Realizacija R-S flip-flopa pomou a) NI i b) NILI kola


Pretpostavimo da su trenutne vrednosti signala Q i Q u emi na Sl.4.14.: Q = 0, Q = 1. Sve dok
su R i S jednaki nuli stanje Q se ne menja (Tab 4.1.). Zaista, na ulazu u gornje NI kolo su dve jedinice to
daju to daje Q = 0, dok u donje NI kolo ulaze nula (Q) i jedinica ( R ) to daje Q = 1. Ako elimo da
promenimo stanje tj. da u bistabil unesemo bit 1 (setovanje) treba na ulazu primeniti: S = 1, R = 0
(Tab.4.1). U gornje NI kolo sada ulaze jedna jedinica ( Q ) i jedna nula ( S ) to daje novu vrednost za Q,
Q = 1. Ona zajedno sa R = 1 u donjem NI kolu daje Q = 0. Ta nova vrednost za Q ne menja izlaz iz
gornjeg NI kola (dve nule daju opet 1). Slino razmatranje vai i za R-S flip-flop realizovan sa 2 NILI
kola.
U praksi se ee koriste sinhronizovani R-S bistabili za dodatnim prikljukom za signal dozvole
C i postavljanje Q na 1 (SET) ili na 0 (CLR)(Sl.4.15.)

SET

CLR

C - ulaz za signal dozvole, po prvilu taktni signal (clocl signal


SET - postavljanje Q na 1 bez obzira na ostale signale
(setovanje)
CLR - postavljanje Q na 0 bez obzira na ostale signale
(resetovanje)

Sl .4.15. Sinhronizovani R-S flip-flop

42

C
1
1
1
0

R
0
0
1
x

S
0
1
0
x

Q
Q*
1
0
Q*

x - bilo koja vrednost (0 ili 1)


Q* - postojee stanje
Razlika u funkciji asinhronog i sinhronizovanog R-S bistabila jasna je sa vremenskog dijagrama na slici
4.16.
1
0

S
R

Asinhroni R-S

Sinhronizovani R-S

Sl.4.16. Vremenski dijagram asinhronog i sinhronizovanog R-S flip-flopa


D flip-flop

D flip-flop (Sl.4.17.) je sinhronizovan bistabil sa jednim ulazom D. Vrednost sa ulaza prelazi na


izlaz Q, sinhronizovano sa taktnim signalom (Tab.4.2. i Sl.4.18.)
Tab.4.2 Tablica istinitosti D flip-flopa

SET

C
CLR

C
1
1
0

D
0
1
x

Q
0
1
Q*

x - bilo koja vrednost (0 ili 1)


Q* - postojee stanje

Sl.4.17. D flip-flop
43

1
0

Sl. 4.18. Vremenski dijagram D - flip flopa


D flip flop se moe jednostavno formirati od R-S flip flopa (Sl.4.19)

SET

CLR

Q
Sl.4.19. Realizacija D flip flopa pomou R-S flip flopa

Registri
Osnovna mamena registra je privremeno pamenje nekog viebitnog podatka (kod 8-bitnog
procesora, njegov kapacitet je 8 bitova). U tom svojstvu, sem u memoriji (memorijski registri) oni se
sreu u meusklopovima, preko kojih su periferne ulazno-izlazne jedinice vezane za sabirnicu
mikroraunara, i tu imaju funkciju meumemorisanja ili baferovanja (baferni registri) podataka na putu
od ulazne jedinice do mikroprocesora ili od mikroprocesora do ulazno-izlazne jedinice. Registri koji
imaju samo opisani nain uvanja (registrovanja) podataka zovu se statiki ili stacionarni registri.
Sloeniji registri od statikih su oni koji omoguavaju razliite manipulacije sa registrovanim
podatkom i to su:
- pomeraki (ift) registri
- ciklini ili kruni registri
- brojaki registri ili kaunteri (counter)

Statiki registri
S obzirom da uvanje 1-bita omoguuju bistabili, jasno je da se n-bitni registar dobija
paralelnim vezivanjem n bistabila. ema jednog 4-bitnog registra data je na slici 4.20.

44

Sa sabirnice podataka
R/W
23
D

22
SET

SET

C
CLR

21
Q

C
Q

CLR

20
SET

C
Q

CLR

SET

C
Q

CLR

23

22

21

20

Na sabirnicu podataka

(
1 za citanje (read)
R/W =
0 za pisanje (write)
- taktni signal iz generatora taktnog signala
S - signal izbora registra, iz adresnog dekodera

Sl.4.20. ema 4-bitnog statikog registra

Da bi se u neki registar uneo (write) podatak sa sabirnice podataka ili iz njega proitao (read)
podatak, tj. postavio na sabirnicu podataka neophodno je da budu ispunjena 2 uslova.
- odabran je posmatrani registar, tj. njegova adresa je postavljena (od strane mikroprocesora) na
adresnu sabirnicu,
- vrednost taktnog signala je jednak 1
Ako je mikroprocesor odabrao dati registar, signal S koji ide iz adresnog dekodera imae vrednost 1 (vidi
poglavlje 4.2.1), inae njegova vrednost je 0. Ako su ispunjena oba opisana uslova, tj. E = S = 1 (I
kolo na levom kraju eme), zavisno od vrednosti R/W signala bie realizovano itanje ili upisivanje.
Ako R/W signal ima vrednost 1, izlaz iz I kola u koji se uvode R/W i E = S signal bie aktivan
i otvorie formirae signala pa e se bitovi (Q signali) iz pojedinih D bistabila nai na sabirnici podataka
(operacija itanja).
Ako je R/W = 0 (upisivanje) izlaz iz I kola u koji se uvode R / W i E signal bie aktivan i on e
aktivirati D bistabile, pa e u njih biti uneti bitovi sa sabirnice podataka.
Na slici 4.21. dat je blok dijagram 4-bitnog statikog registra, kome je pridodat i prikljuak za
resetovanje ili brisanje registra (postavljanje svih izlaza Qi na nulu.

45

D3

Q3

D2

Q2

D1

Q1

D0

Q0

R/W
E

RES

Sl.4.21. Blok dijagram 4-bitnog statikog registra sa mogunou resetovanja


PITANJA
Dekoder, Koder
Multiplekser, Demultiplekser
Potpuni sabira, Binarni sabira
Flip-Flopovi, RS, D
Registri

46

MIKRORAUNAR
Mikroraunar je sastavljen od etiri osnovna bloka (Sl.1) - to zovemo hardver:
-mikroprocesora
-memorije
-ulaznog meusklopa
-izlaznog meusklopa
Programska podrka (to zovemo softver) je vezivna materija koja ta etiri bloka osmiljava i dri ih
zajedno. Mikroprocesor sjedinjuje u sebi sposobnost raunskog dela i dela koji je sposoban da na temelju
dobijenih rezultata donosi odluke-izabere jedan od alternativnih smerova daljnjeg delovanje ili akcije. U
memoriji se smetaju podaci u binarnom obliku, meurezultati i rezultati. U memoriji su takoe smeteni
programi koji odreuju mikroprocesoru koje operacije mora izvriti. Preko ulaznog meusklopa ostvaruje
se put za prenos binarnih podataka (u paralelnom ili serijskom obliku) od ulaznih jedinica prema
mikroprocesoru ili memoriji. Izlazni meusklop omoguava prenos binarnih podataka od mikroprocesora
prema izlaznim jedinicama. Sastavni blokovi (mikroprocesor, ulazno-izlazni meusklopovi, memorija)
su preko spoljne sabirnice povezani i ine mikroraunar (Sl.1.). Spoljna sabirnica je skup linija preko
kojih se saobraa izmeu sastavnih delova mikroraunara.

Sl.1. - Sklop mikroraunara kao crna kutija

47

Sl.2. prikazuje strukturu mikroraunara zasnovanog na porodici Motorola M6800,gde su:


- MPU: mikroprocesor,
- RAM, ROM: memorija sa direktnim pristupom, ispisna memorija,
- START UP, CLOCK: pomoni sklopovi,
- PIA: paralelni U/I meusklop,
- ACIA; serijski meusklop.
Spoljna sabirnica se sastoji od upravljake (CONTROL BUS) i adresne (ADRESS BUS) sabirnice i
sabirnice podataka (DATA BUS).

Sl.2. - Struktura mikroraunara zasnovanog na mikroprocesorskoj porodici M6800

Sl.3 prikazuje grau mikroraunara na osnovi mikroprocesora Intel 8080, a sastoji se od memorije
RAM, ROM, U/I meusklopa i specijalne jedinice nazvane upravljaki sklop (system controller),
generatora takta, kao pomonog sklopa. Spoljna sabirnica se sastoji od adresne sabirnice, sabirnice
podataka i upravljake sabirnice.

48

Sl.3 - Struktura mikroraunara na bazi mikroprocesora Intel 8080

MODEL MIKROPROCESORA
Mikroprocesor je osnovni sastavni blok mikroraunara. On je centralno procesorska jedinica
realizovana u tehnologiji LSI. Sastoji se od sklopova koji dekodiraju instrukcije pribavljene iz memorije
i u skladu s tim generu sekvence upravljakih signala (koji odreuju niz prenosa preko interne sabirnice,
prenose kroz aritmetiko-logiku jedinicu, pobuivanje internih sklopova i sl.), potrebnih za izvoenje
instrukcije. To je jedan od osnovnih zadataka upravljake jedinice.
Mikroprocesorski ip sadri aritmetiko-logiku jedinicu (ALU). U njoj se izvode aritmetike i
logike operacije na binarnim podacima. Registri za privremeno skladitenje i rukovanje podacima
takoer su sastavni deo procesora LSI. Budui da veina standardnih mikroprocesora ima re duine
osam bita (bajt), dat je opis njegovog rada na jednostavnom modelu 8-bitnog mikroprocesora.
Duina rei od 8 bita onemoguava da se instrukcijska re razdeli na klasian nain kao kod
raunara: na polje operacijskog koda, na polje naina adresiranja i na adresno polje (Sl.4). Samo polje
operacijskog koda zauzelo bi vei deo 8-bitne rei. Na primer, 8-bitni mikroprocesor M-6800 ima
osnovni skup od 72 instrukcije, to zahteva operacijski kod od 7 bita (27 > 72 > 26), ako privremeno
zanemarimo 197 razliitih operacijskih kodova u zavisnosti od naina adresiranja.

Sl.4 - Organizacija instrukcijske rei

49

Adresno polje bilo bi svedeno, u najboljem sluaju na jedan bit. To znai da bi bilo mogue
direktno adresirati samo dve memorijske lokacije- to je oito premalo. Problem duine rei mora biti
kod mikroprocesora reen pribavljanjem vie 8-bitnih rei za konstrukciju jedne instrukcijske rei.
Zbog ega re mikroprocesora nije dua (npr. 24 ili 32 bita)? Veina razloga je u tehnolokim
ogranienjima, na primer u broju izvoda na integrisanom kuitu DIP (sa izvodima u dve linije),
problemu gustoe integracije komponenti, postojeoj opremi za testiranje i ispitivanje ipova u fazi
proizvodnje i sl..
Jednostavni model na kojem e biti opisan princip rada prikazan je na Sl.5. Model
mikroprocesora ima akumulator A koji koji se upotrebljava za privremeno skladitenje jednog od
operanada. Akumulator uestvuje pri izvravanju aritmetikih i logikih opracija na podacima, te ima i
sredinju ulogu u prenosu podataka unutar mikroraunara ili sklopa mikroraunara. Programsko brojilo
(programski broja) - registar PC - sadri adresu sledeeg bajta koji e biti pribavljen u narednom
ciklusu.
Operacijski kod instrukcije upisuje se u instrukcijski registar - registar IR. U 16-bitnom brojilu
podataka (registar podataka) registru DC, sadrana je adresa memorijske lokacije u kojoj se nalazi
operand. Izvoenje svake instrukcije deli se na:

- fazu pribavljanja instrukcije -PRIBAVI (fetch),


- fazu izvravanje instrukcije -IZVRI (execute).
Mikroprocesor za vreme faze PRIBAVI postavlja sadraj programskog brojila preko interne
sabirnice na spoljnu adresnu sabirnicu. Ujedno alje i odgovarajue upravljake signale (signal ITAJ)
na spoljnu upravljaku sabirnicu (u naem sluaju pojednostavljeni model ime samo dva upravljaka
signala: ITAJ i PII). Memorijski sklop dekodira postavljenu adresu (prisutnu na adresnoj sabirnici) u
cilju pristupa do odgovarajue memorijske rei. Za nekoliko stotina ns (npr. 500 ns) sadraj specificirane
memorijske lokacije pojavie se na spoljnoj sabirnici podataka. Taj se sadraj skladiti u instrukcijskom
registru IR, i to je operacijski kod instrukcije. Za vreme faze PRIBAVI mikroprocesor upotrebljava svoju
internu logiku i poveava sadraj programskog brojila.

Sl.5 - Pojednostavljeni model mikroprocesora

50

U fazi IZVRI upravljaka jedinica, u skladu s operacijskim kodom koji je skladiten u


instrukcijskom registru, stvara niz upravljakih signala. Rezultat tog niza signala su odgovarajui prenosi
podataka, odnosno operacije (npr. aktiviranje pojedinih sklopova unutar aritmetiko-logike jedinice,
izvravanje (izvoenja) zadate instrukcije.)
Operacije unutar mikroprocesora (esto se nazivaju mikrooperacijama) sinhronizovane su
generatorom takta. Perioda generatora takta moe biti, u zavisnosti od tipa mikroprocesora, od 100 ns do
nekoliko s. Signali generatora takta mogu se sastojati od jednog ili vie signala (to je onda viefazni
generator takta, npr. mikroprocesor M6800 ima signale 1 i 2). Za pojednostavnjeni model izabran je
jednofazni generator takta (Sl.6). je obino oznaka za signal generatora takta.

Sl.6 - Jednofazni signal takta (vremenskog voenja) pojednostavljenog modela mikroprocesora

Na primeru jednostavnog programa sa Sl.7 prikazani su vremenski dijagram stanja na spoljnim


sabirnicama i promene u sadrajima registara modela u cilju objanjenja rada mikroprocesora.

Sl.7 - Primer programa

Napomena: Adrese i sadraji memorijski lokacija na Sl.7 prikazani u heksadekadnom sistemu.

Poetni uslov (sadraj registara) prikazuje Sl.8. Na slici su oznaeni samo oni registri koji
uestvuju u izvoenju programa. U programskom brojilu postavljena je adresa prve instrukcije.

51

Sl.8 - Poetni uslovi

Sl.9 - Stanje nakon faze PRIBAVI: Prvi ciklus prve instrukcije

Sl.9 prikazuje stanje nakon faze PRIBAVI: u instrukcijskom registru skladiten je operacijski kod
instrucije, sadraj programskog brojila povean je za 1. Sadraj instrukcijskog registra 10110110 (B6heksadekadno) dekodiran je kao: napuni akumulator A sadrajem memorijske lokacije koje je adresa
sadrana u sledea dva bajta. Mikroprocesor pribavlja sledei bajt postavljanjem sadraja programskog
brojila na adresnu sabirnicu i generiranjem upravljakog signala ITAJ. Pribavljeni bajt se smetava u
brojilo podataka.
Sl.10 prikazuje stanje nakon pribavljanja znaajnijeg bajta adrese operanda (02..); programsko je
brojilo uveano za 1. Mikroprocesor pribavlja trei bajt instrukcijske rei-manje znaajni bajt adrese

52

operanda (..01) i smeta ga u brojilo podataka; programsko brojilo uveava se za 1 i pokazuje na sledeu
instrukciju 9B (Sl.7).

Sl.10. Stanje nakon pribavljanja znaajnijeg bajta adrese operanda: Drugi ciklus prve instrukcije

Sl.11 prikazuje stanje nakon pribavljanja manje znaajnog bajta adrese operanda.

Sl 11. Stanje nakon pribavljanja manje znaajnog bajta adrese operanda: Trei ciklus prve instrukcije

Ako se na trenutak pretpostavi da instrukcijski registar IR (0-7) i brojilo podataka DC (0-15) ine
jedan 24-bitni registar, moe se instrukcijski registar smatrati poljem operacijskog koda, a brojilo
podataka adresnim poljem (Sl.12).

53

Sl.12 - Instrukcijska re sastavljena iz tri bajta

Postupku pribavljanja kompletne instrukcijske rei mikroprocesora su bila tri ciklusa (3x1 bajt),
dok bi raunar sa duinom rei od 24 bita taj isti postupak obavio u jednom ciklusu. Mikroprocesor
pribavlja operand postavljanjem sadraja brojila podataka na adresnu sabirnicu i generisanjem
upravljakog signala ITAJ.
Sl.13 prikazuje konani rezultat izvoenja prve instrukcije: akumulator A napunjen je sadrajem
memorijske lokacije 0201. Sadraj programskog brojila nije povean, jer je pribavljen operand a ne
instrukcija - mikroprocesor je bio u fazi IZVRI.

Sl.14 Stanje nakon izvoenja prve instrukcije: etvrti ciklus prve instrukcije

Sl.15. prikazuje pojednostavnjeni vremenski dijagram izvoenja prve instrukcije. Instrukcija se izvodi u
etiri ciklusa (periode) generatora takta .
Nastavlja se dalje izvoenje programa. Sl.15 prikazuje stanje nakon pribavljanja prvog bajta
druge insrukcijske rei. U instrukcijskom registru smeten je operacijski kod druge instrukcije. Sadraj
programskog brojila povean je za 1. Instrukcijski kod 9B, uz specificiranje operacije (pribrajanja
operanda sadraju akumulatora A), odreuje i nain adresiranja - sledei bajt je manje znaajan bajt
adrese operanda.

54

Sl.15 - Pojednostavljeni vremenski dijagram izvoenja prve instrukcije

Sl.16 - Stanje nakon pribavljanja prvog bajta druge instrukcije: Prvi ciklus druge instrukcije

Sl.17 prikazuje stanje nakon pribavljanja drugog bajta instrukcijske rei. Programsko brojilo
poveano je za 1, a u brojilo podataka smetava se adresa operanda. Sl.18 prikazuje rezultat konanog
izvoenja instrukcije-sadraju akumulatora A pribrojen je sadraj sa memorijske lokacije 00FF (1A).
Programsko brojilo nije poveano za 1 - mikroprocesor je bio u fazi IZVRI.

55

Sl. 17 - Stanje nakon pribavljanja drugog bajta instrukcijske rei: Drugi ciklus druge instrukcije

Sl.18 - Prikaz konanog izvoenja instrukcije

Sl.19 prikazuje vremenski dijagram izvoenja druge instrukcije. Tabela 1 prikazuje stanje na sabirnici
podataka i adresnoj sabirnici za model mikroprocesora prilikom izvoenja zadatog programa sa Sl.7. U
mnemonikom kodu program bi imao (za mikroprocesor M6800) sledei oblik:
LDAA $0201
ADDA $FF
(Napomena: $ je oznaka za heksadekadni broj )

56

Sl.19 - Vremenski dijagram izvoenja druge instrukcije

Tabela 1
Stanje na sabirnici podataka i adresnoj sabirnici
Instrukcija

Broj ciklusa

B6

9B

Ciklus
1
2
3
4
1
2
3

Signal
(itaj)
1
1
1
1
1
1
1

Adresne sabirnice

Sabirnice podataka

Adresa instrukcije
Adresa instrukcije +1
Adresa instrukcije +2
Adresa operanda
Adresa instrukcije
Adresa instrukcije +1
Adresa operanda

Operacijski kod
Adresa znaajnijeg bajta operanda
Adresa manje znaajnog bajta operanda
Operand
Operacijski kod
Adresa operanda
Operand

Broj ciklusa potreban mikroprocesoru M6800 za izvoenje prve instrukcije je 4, a druge 3


ciklusa. Vidimo da se razmatranja na jednostavnom modelu u ovom primeru podudaraju s izvoenjem u
stvarnim mikroprocesorima.
PITANJA
Osnovni delovi mikroraunara
Vrste sabirnica
Model mikroprocesora - registri i osnovni delovi
Centralna memorija (Instrukcije, podaci - program)
Faze u kojima se mikroprocesor nalazi (pribavi, izvri)
Faza pribavi
Faza izvri

57

You might also like