75
Komponente digitalnih sistema materijal za pripremu ispita iz predmeta Arhitekture mikrosistema Predmetni nastavnik: G. Lj. Đorđević Elektronski fakultet, Niš, 2012.

Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Embed Size (px)

Citation preview

Page 1: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

 

 

 

 

 

 

Komponente digitalnih sistema 

‐ materijal za pripremu ispita iz predmeta Arhitekture mikrosistema ‐ 

Predmetni nastavnik: G. Lj. Đorđević 

Elektronski fakultet, Niš, 2012. 

   

Page 2: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

2

Sadržaj

1 Kombinacione komponente ............................................................................................... 4 

1.1 Sabirač sa rednim prenosom ...................................................................................... 5 

1.2 Sabirač/oduzimač ....................................................................................................... 6 

1.3 Logička jedinica ......................................................................................................... 6 

1.4 Aritmetičko-logička jedinica ...................................................................................... 8 

1.5 Dekoder .................................................................................................................... 11 

1.2 Multiplekser ............................................................................................................. 15 

1.3 Demultiplekser ......................................................................................................... 19 

1.4 Koder ........................................................................................................................ 20 

1.4.1 Binarni koderi .................................................................................................. 20 

1.4.2 Prioritetni koder ............................................................................................... 21 

1.5 Komparator ............................................................................................................... 24 

1.5.1 Iterativna komparatorska mreža ...................................................................... 26 

1.5.2 Hijerarhijske komparatorske mreže ................................................................ 27 

1.6 Kombinacioni pomerači i rotatori ............................................................................ 28 

1.6.1 Barel pomerač ................................................................................................. 30 

1.7 ROM ......................................................................................................................... 31 

1.8 PLA .......................................................................................................................... 32 

2 Sekvencijalne komponente .............................................................................................. 35 

2.1 Leč kola i flip-flopovi .............................................................................................. 35 

2.1.1 Leč kola ........................................................................................................... 36 

2.1.1.1 SR leč ..................................................................................................... 36 

2.1.1.2 SR leč sa dozvolom ................................................................................ 37 

2.1.1.3 D leč ....................................................................................................... 37 

2.1.1.4 Flip-flopovi ............................................................................................. 38 

2.1.1.5 Tipovi flip-flopova ................................................................................. 42 

2.2 Registarske komponente .......................................................................................... 45 

2.2.1 Pomerački registar ......................................................................................... 46 

2.2.2 Binarni brojač ................................................................................................ 48 

Page 3: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

3

2.2.3 Obostrani brojač ............................................................................................ 48 

2.2.4 BCD brojač .................................................................................................... 50 

2.2.5 Registarski fajl ............................................................................................... 51 

2.2.6 RAM .............................................................................................................. 53 

2.2.7 Stek ................................................................................................................ 57 

2.2.8 FIFO .............................................................................................................. 61 

2.3 Konačni automati ..................................................................................................... 65 

2.4 Staza podataka .......................................................................................................... 67 

2.4.1 Paralelna staza podataka ........................................................................................ 72 

3 Pitanja ...................................................................................................................... 75 

 

   

Page 4: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

4

 

Složeni  digitalni  sistemi  se  projektuju  tako  što  se  najpre  ukupna  funkcija  sistema  razloži  na  više 

podfunkcija.  Zatim  se  podfunkcije  realizuju  u  vidu  jednostavnijih  digitalnih  modula,  čijim  se 

povezivanjem konstruiše željeni sistem. Iako je u nekim slučajevima neophodno projektovati module 

za  neke  specifične  funkcije,  ipak,  najčešće,  u  praksi,  složeniji  digitalni  sistemi  se mogu  realizovati 

korišćenjem standardnih modula  ili komponenti. Standardne komponente obavljaju funkcije za koje 

je uočeno da  su  korisne  za  veliki broj  različitih primena, a dostupne  su u  vidu  integrisanih  kola  ili 

bibliotečkih komponenti i kao takve spremne za direktnu ugradnju u sistem koji se projektuje. 

Većina  digitalnih  sistema,  uključujući  i  računare,  projektovana  je  da  obrađuje  ili  transformiše 

podatke. Ove  transformacije mogu  biti  različitih  tipova, uključujući  aritmetičke  i  logičke  operacije, 

kodiranje  i  dekodiranje  podataka  i  reorganizaciju  podataka.  U  opštem  slučaju,  navedene 

transformacije  podataka  se  obavljaju  pomoću  kombinacionih  komponenti.  Osnovna  osobina 

kombinacionih kola  jeste činjenica da se njihove  izlazne vrednosti  izračunavaju  isključivo na osnovu 

trenutnih ulaznih vrednosti. Nakon svake promene ulaznih vrednosti, na izlazu se javljaju nove izlazne 

vrednosti  sa kašnjenjem  tp koje  je neophodno da bi  se  izračunao novi  rezultat. Kombinaciono kolo 

nije u stanju da ¨zapamti¨ prethodne rezultate, i da onda tu informaciju, zajedno sa tekućim ulazom, 

koristi za određivanje novog izlaza.  

Za razliku od kombinacionih, sekvencijalne komponente sadrže memorijske elemente, kao što su leč 

kola i flip‐flopovi. Kao posledica toga, izlazne vrednosti sekvencijalnih komponenti zavise ne samo od 

trenutnih  već  i  od  prethodnih  ulaznih  vrednosti.  Spektar  sekvencijalne  komponenti  se  proteže  od 

bazičnih memorijskih  elemenata,  kao  što  su  leč  kola  i  flip‐flopovi,  preko  standardnih  registarskih 

komponenti, kao što su prihvatni, pomerački i brojački registri, i složenijih memorijskih struktura, kao 

što su RAM, FIFO, stek, do staza podataka  i upravljačkih  jedinca koje su u mogućnosti da  izvršavaju 

složene algoritme.  

U  ovom  poglavlju,  korišćenjem  tehnika  za  logičko  projektovanje,  opisanih  u  poglavlju  2,  biće 

pokazano  kao  se  projektuju  generičke  kombinacione  i  sekvencijalne  komponente  sa  registarskog 

nivoa apstrakcije. 

1 Kombinacionekomponente

Kombinacione komponente se koriste za: transformaciju podataka, povezivanje, konverziju podataka 

i  upravljanje.  Konkretno,  kombinacione  komponente  za  transformaciju  podataka  obavljaju:  (1) 

aritmetičke operacije  (sabiranje, oduzimanje, množenje  i deljenje),  (2)  logičke operacije  (AND, OR, 

XOR  i komplement), (3) operacije poređenja (veće ili jednako, manje) i (4) operacije za manipulaciju 

nad  bitovima  (pomeranje,  rotiranje,  izdvajanje  i  umetanje  bitova).  Kombinacione  komponente  za 

povezivanje  su multiplekseri  i magistrale,  a  koriste  se  za  povezivanje  aritmetičkih  i memorijskih 

komponenti.  Komponente  za  konverziju  podataka,  kao  što  su  koderi  i  dekoderi,  se  koriste  za 

Page 5: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

5

konverziju podatka iz jednog u neki drugi kod. Konačno, univerzalne kombinacione komponente, kao 

što su ROM memorije  i programabilna  logička polja  (PLD) prevashodno se koriste za projektovanje 

upravljačkih jedinica. 

1.1 Sabirač sa rednim prenosom Sabirač  je  kombinaciona  komponenta  koja  se  koristi  za  obavljanje  operacije  sabiranja  binarnih 

brojeva. Dva binarna broja, kao što su x=xn‐1 … x0 i y=yn‐1 … y0,  sabiraju se tako što se na zbir svakog 

par bita xi i yi doda bit prenosa ci koji je prenesen iz prethodne bit‐pozicije. Sabiranjem tri bita, xi, yi i 

ci, za  svaku bit‐poziciju  i, 0≤i≤n‐1, generiše  se bit  sume  si  i bit prenosa ci+1. Procedura  sabiranja na 

nivou jedne bit‐pozicije opisana je tabelom istinitosti sa Sl. 1‐1(a). 

Polazeći od tabele istinitosti sa Sl. 1‐1(a), a uz pomoć Karnoovih  mapa sa Sl. 1‐1(b), možemo izvesti 

logičke  jednačine  na  osnovu  kojih  projektujemo  logičku  šemu  jednobitnog  sabirača  (Sl.  1‐1(c)). 

Jednobitni sabirač, koji sabira dva jednobitna operanda xi i yi, i bit ulaznog prenosa ci, poznat je pod 

nazivom potpuni sabirač (FA – Full Adder). 

 

 

(a)  (b)  (c)  (e) 

 (d) 

Sl. 1‐1. Sabirač sa rednim prenosom: (a) tabela istinitosti potpunog sabirača; (b) Karnoove mape; (c) šematski prikaz potpunog sabirača; (d) struktura 8‐bitnog sabirača; (e) grafički simbol binarnog sabirača. 

Binarni sabirač se formira rednim povezivanjem potpunih sabirača, tako što se izlazni prenos svakog 

potpunog sabirača koristi kao ulazni prenos za potpuni sabirač koji zauzima prvu narednu bit‐poziciju 

veće težine. Na primer, 8‐bitni sabirač se sastoji od osam potpunih sabirača koji su povezani kao na 

Sl.  1‐1(d). U  opštem  slučaju,  n‐bitni  sabirač,  čiji  je  grafički  simbol  prikazan  na  Sl.  1‐1(e), može  se 

1

1 1 1

00 01 11 10

0

1

xiyi

ci

ci = xiyi + ci(xi yi)

FA

x7 y7

s7

FA

x6 y6

s6

c7cout

FA

x5 y5

s5

c6

FA

x4 y4

s4

c5

FA

x3 y3

s3

FA

x2 y2

s2

c3

FA

x1 y1

s1

c2

FA

x0 y0

s0

c1c0c4

Page 6: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

6

konstruisati na ovaj način. Kao  što  se može  lako  zaključiti, najduže kašnjenje u  sabiraču  sa  rednim 

prenosom određeno  je putanjom od ulaznog prenosa  c0,  ili bit‐pozicije najmanje  težine  x0  i  y0, do 

izlaznog prenosa cout. Drugim rečima, svaka promena nekog od bita c0, x0  ili y0, mora da se prenese 

kroz sve potpune sabirače, kako bi se izračunali svi izlazni bitovi. 

1.2 Sabirač/oduzimač Oduzimanje binarnih brojeva se obavlja sabiranjem umanjenika i potpunog komplementa umanjioca. 

Potpuni komplement se dobija tako što se, najpre, svaki bit umanjioca komplementira, a zatim doda 

1.  Dodavanje  1‐ce  se  ostvaruje  tako  što  se  prilikom  sabiranja  umanjenika  i  komplementiranog 

umanjioca ulazni prenos sabirača, c0, postavi na 1. Budući da se oduzimanje realizuje preko sabiranja, 

pogodno je konstruisati funkcionalnu jedinicu koja će obavljati obe operacije, sabiranje i oduzimanje. 

   (a)  (b) 

 (c)

Sl. 1‐2. Sabirač/oduzimač: (a) tabela istinitosti; (b) grafički simbol; (c) struktura 8‐bitnog sabirača/oduzimača. 

Sabirač/oduzimač ima dva ulaza, A = an‐1 … a0 i B = bn‐1 … b0, jedan izlaz F = fn‐1 … f0 i jedan selekcioni 

signal, S. Kada  je S=0,  sabirač/oduzimač obavlja  sabiranje, a kada  je S=1 oduzimanje. Funkcionalna 

tabela  sabirača/oduzimača prikazana  je na  Sl.  1‐2(a),  a  grafički  simbol na  Sl.  1‐2(b).  Konačno,  kao 

primer,  na  Sl.  1‐2(c)  je  prikazana  struktura  8‐bitnog  sabirača/oduzimača.  Kod  ovog  rešenja, 

komplementiranje ulaza B realizuje se kao XOR operacija između S i B. Naime, S XOR B = B, ako važi 

S=0, odnosno S XOR B =  , ako važi S=1. 

1.3 Logička jedinica Uopšteno govoreći, logička jedinica nam omogućava da obavimo jednu od nekoliko logičkih operacija 

nad  dva  n‐bitna  operanda  X=xn‐1  …  x0  i  Y=yn‐1  …  y0.  Binarne  logičke  operacije  se  primenjuju  na 

višebitne  operande  tako  što  se  logička  operacije  primeni  na  svaki  par  odgovarajućih  bitova  dva 

operanda. Na primer,  logičko AND primenjeno na  dva  4‐bitna  operanda  1010  i  1100, daje  4‐bitni 

rezultat 1000. Drugim rečima, uvek kada je izabrana funkcija fi, logička jedinica će izračunati rezultat: 

FA

a7 b7

f7

FA

a6 b6

f6

c7cout

FA

a5 b5

f5

c6

FA

a4 b4

f4

c5

FA

a3 b3

f3

FA

a2 b2

f2

c3

FA

a1 b1

f1

c2

FA

a0 b0

f0

c1 c0c4

S

Page 7: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

7

S = fi(X,Y)=fi(xn‐1,yn‐1) … fi(x0,y0) 

Budući da  logička  jedinica, koja  je sposobna da  izračuna svih 16  logičkih operacija koje koriste dva 

operanda,  i  nije  tako  složena,  iskoristićemo  takvu  jednu  jedinicu  kako bi  smo demonstrirali opštu 

proceduru za projektovanje bilo koje logičke jedinice. 

Na  Sl.  1‐3(a)  prikazano  je  svih  16  logičkih  operacija  koje  koriste  dve  promenljive.  Pošto  je  broj 

operacija 16, za  izbor  jedne od njih, potrebne su četiri binarne promenljive, S3, S2, S1  i S0. Kodiranje 

selekcionih ulaza je takvo da je Si=1, 0≤i≤3, ako i samo ako je minterm mi u izabranoj funkcije jednak 

mi=1. Na primer, OR funkcija, izražena kao logička suma minterma ima oblik f14=m3+m2+m1, što znači 

da je njen kôd S3S2S1S0=1110. Uočimo da selekcione promenljive interpretirane kao binarni broj imaju 

vrednost  jednaku  indeksu  izabrane  operacije. Drugim  rečima,  za  operaciju  f14  vrednost  S3S2S1S0  je 

jednaka 1110 što odgovara binarnoj reprezentaciji broja 14. 

Pošto svaka selekciona promenjiva kontroliše jedan minterm, logička funkcija koja odgovara logičkoj 

jedinici za jednu bit‐poziciju je oblika: 

 

Struktura  logičke  jedinice za  jednu bit‐poziciju prikazan  je na Sl. 1‐3(b), dok  je na Sl. 1‐3(c) prikazan 

grafički simbol n‐bitne  logičke  jedinice. U opštem slučaju, bilo koja n‐bitna  logička  jedinica  imaće n 

identičnih segmenata, koji  istovremeno obavljaju  istu operaciju nad parovima odgovarajućih bitova 

dva n‐bitna operanda. Na Sl. 1‐3(d) prikazan je primer 8‐bitne logičke jedinice. 

(a)  (b) 

(c)  (d) 

Sl. 1‐3. Logička jedinica: (a) funkcije od dve promenljive; (b) realizacije logičke jedinice; (c) grafički simbol; (d) 8‐bitna logička jedinica. 

Page 8: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

8

1.4 Aritmetičko-logička jedinica Aritmetičko‐logička  jedinica  (ili  ALU  prema  engleskom  nazivu  Arithmetic  and  Logic  Unit)  je 

višefunkcionalno  kombinaciono  kolo  koje može  da  obavi  bilo  koju  od  više  različitih  aritmetičkih  i 

logičkih operacija nad parom  b‐bitnih  operanada.  Pri  tom,  jedna od  raspoloživih operacija bira  se 

preko skupa selekcionih ulaza. Broj i složenost operacija podržanih od strane ALU modula su pitanje 

izbora projektanta i mogu značajno da variraju od ALU do ALU modula. Tipične aritmetičke operacije, 

koje se sreću kod većine ALU modula, obično su zasnovane na sabiranju, kao na primer, sabiranje, 

oduzimanje,  inkrementriranje  i  dekrementiranje.  Inkrementiranje  je  operacija  sabiranja  sa  1,  a 

dekrementiranje  oduzimanja  za  1. Međutim,  postoje  i ALU moduli  koji  su  u  stanju  da  obavljaju  i 

složenije aritmetičke operacije, kao što su množenje, deljenje, stepenovanje, pomeranje, poređenje i 

dr. Tipične logičke operacije su AND, OR, komplement, XOR.  

Postoje  dva  glavna  razloga  za  projektovanje  ALU  jedinica  u  obliku  standardnih  modula.  Prvo, 

dostupnost univerzalnih aritmetičkih modula omogućava da se isti modul koristi u mnogim različitim 

primenama,  čime  se  smanjuje  broj  različitih modula  koji  se  koriste  u  projektovanju.  Drugo,  ALU 

moduli  se mogu efikasno koristiti u  sistemima, kao  što  je procesor, kod kojih operacija koju  treba 

obaviti u datom trenutku bira dinamički, od strane upravljačke jedinice procesora. 

U ovom odeljku biće izložen postupak projektovanje jedne konkretne 4‐bitne ALU jedinice. S obzirom 

da  su  aritmetičke  operacija  zasnovane  na  sabiranju,  ALU  se  može  projektovati  tako  što  će  se 

modifikovati  ulazi  binarnog  sabirača.  Logika  koja  obavlja  ovu modifikaciju,  a  tiče  se  aritmetičkih 

operacija,  zove  se  aritmetički ekspander  (AE), dok  se ona  koja  se  koristi  za  logičke operacije  zove 

logički ekspander (LE). Ekspanderi su povezani su na ulaz sabirača, na način kako je to prikazano na Sl. 

1‐4. U nastavku će biti izložena procedura projektovanja ekspandera AE i LE na primeru ALU jedinice 

koja obavlja četiri aritmetičke i četiri logičke operacije. 

Najpre,  neophodan  je  ulaz  za  izbor  režima  rada, M,  koji  će  birati  između  aritmetičkih  ili  logičkih 

operacija, tako da pri M=1, ALU obavlja aritmetičke, a pri M=0 logičke operacije. Takođe, potrebne su 

dva ulazna signala za izbor operacije, S1 i S0, koji će, u zavisnosti od vrednosti ulaza M, birati jednu od 

četiri aritmetičke ili četiri logičke operacija, na način kako je to definisano funkcionalnom tabelom sa 

Sl. 1‐5(a), za aritmetičke, i tabelom sa Sl. 1‐5(b) za logičke operacije. 

 

Sl. 1‐4. 4‐bitni sabirač u spoju sa aritmetičkim (AE) i logičkim (LE) ekspanderima. 

Page 9: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

9

                  M  S1  S0  bi  yi 

                  1  0  0  0  1 

                  1  0  0  1  1 

                  1  0  1  0  0 

                  1  0  1  1  1 

M  S1  S0  Ime funkcije  F  X  Y  c0    1  1  0  0  1 

1  0  0  Dekrement  A‐1  A  sve jedinice  0    1  1  0  1  0 

1  0  1  Sabiranje  A+B  A  B  0    1  1  1  0  0 

1  1  0  Oduzimanje  A+B'+1  A  B'  1    1  1  1  1  0 

1  1  1  Inkrement  A+1  A  sve nule  1    0  X  X  X  0 

(a)    (b) 

   (c)  (d)

Sl. 1‐5. Aritmetički ekspander: (a) funkcionalna tabela; (b) tabela istinitosti; (c) Karnoova mapa; (d) struktura. 

U funkcionalnoj tabeli sa Sl. 1‐5(a), za svaku aritmetičku operaciju, navedene su vrednost izlaza ALU 

jedinice, F, kao  i vrednosti ulaza sabirača, X  i Y,  i ulaznog prenosa c0 koje su neophodne da bi se na 

izlazu  sabirača generisala odgovarajuća vrednost F. Shodno ovoj  tabeli, na ulaz X  sabirača uvek  se 

dovodi  operand  A,  dok  su  na  ulazu  Y,  u  zavisnosti  od  izabrane  operacije  prisutne:  sve  jedinice, 

operand  B,  komplement  operanda  B,  ili  sve  nule.  Vrednosti  ulaza  Y  se  generišu  uz  pomoć  AE 

ekspandera,  čija  je  tabela  istinitosti  prikazan  na  Sl.  1‐5(b).  Ova  tabela  je  dobijena  na  osnovu 

funkcionalne  tabele  sa  Sl.  1‐5(a)  tako  što  je  kolona  Y  zamenjena  kolonama  bi  i  yi.  Na  Sl.  1‐5(c) 

prikazana  je Karnoova mapa AE ekspandera, na osnovu koje  sledi:  . Konačno, 

struktura AE ekspandera prikazana je na Sl. 1‐5(d). 

M  S1  S0  Ime funkcije  F  X Y c0 M S1  S0  xi0  0  0  Komplement  A'  A' 0 0 0 0  0  ai'0  0  1  AND  A AND B  A AND B 0 0 0 0  1  aibi0  1  0  Identitet A  A 0 0 0 1  0  ai0  1  1  OR  A OR B  A OR B 0 0 0 1  1  ai+bi          1 X  X  ai

(a)  (b) 

bi

S0

S1

M

yi

AE

Page 10: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

10

(c)  (d) 

Sl. 1‐6. Logički ekspander: (a) funkcionalna tabela; (b) tabela istinitosti; (c) Karnoova mapa; (d) struktura. 

Projektovanje  logičkog  ekspandera,  takođe,  počinje  funkcionalnom  tabelom  koja  definiše  logičke 

operacije, a koja je prikazana na Sl. 1‐6(a). Kao što se može zaključiti analizom ove tabele, ulazi Y i c0 

sabirača su uvek postavljeni na vrednost 0 za bilo koju  logičku operaciju, dok se na ulaz X postavlja 

rezultat  logičke  jednačine koja odgovara  izabranoj  logičkoj operaciji. Na osnovu funkcionalne tabele 

sa Sl. 1‐6(a), u mogućnosti smo da formiramo tabelu istinitosti logičkog ekspandera, koja je prikazana 

na  Sl.  1‐6(b).  Na  osnovu  odgovarajuće  Karnoove mape  Sl.  1‐6(c),  sledi  logički  izraz  za  jednu  bit‐

poziciju logičkog ekspandera: 

 

Kombinaciona mreža  logičkog ekspandera koja sledi na osnovu dobijenog  izraza prikazana  je na Sl. 

1‐6(d). 

Nakon  obavljenog  projektovanja  aritmetičkog  i  logičkog  ekspandera,  ALU  jedinica  formira  se 

povezivanjem AE i LE ekspandera sa binarnim sabiračem, na način kao što je prikazano na Sl. 1‐7(a). 

Uočimo da  se kod ALU  jedinice,  logičke operacije obavljaju u  logičkim ekspanderima, a da potpuni 

sabirači  (FA)  propuštaju  na  izlaz  F  rezultat  LE  ekspandera  bez  ikakve  promene.  Drugim  rečima, 

prilikom obavljanja  logičkih operacija potpuni sabirači se koriste kao veze sa fiksnim propagacionim 

kašnjenjem. 

Uočimo, takođe, da prilikom izvršenja aritmetičkih operacija nad neoznačenim brojnim vrednostima, 

signal  izlaznog  prenosa  iz  pozicije  najveće  težine  ukazuje  na  prekoračenje.  Za  slučaj  aritmetičkih 

operacija  nad  označenim  brojevima  (predstavljenim  u  obliku  potpunog  komplementa),  uslov 

prekoračenja  je drugačiji  i  formira se kao XOR operacija  izlaznih prenosa  iz dve bit‐pozicije najveće 

težine. Ako je neophodno, 4‐bitna ALU jedinica sa Sl. 1‐7(a) se može proširiti na n‐bitnu ALU jedinicu, 

korišćenjem  n‐bitnog  sabirača  u  spoju  sa  n  aritmetičkih  i  n  logičkih  ekspandera.  Grafički  simbol 

ovakve ALU jedinice prikazan je na Sl. 1‐7(b). Većina ALU jedinica, koje se koriste u praksi, konstruišu 

se  na  opisani  način,  osim  što  se  razlikuju  po  tipu  i  broju  aritmetičkih  i  logičkih  operacija  koje 

podržavaju. 

Page 11: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

11

 (a)

(b)

Sl. 1‐7. ALU modul: (a) 4‐bitna ALU; (b) grafički simbol. 

1.5 Dekoder Dekoderi  su  digitalna  kola  koja  se  koriste  za  dekodiranje  kodiranih  informacija.  Binarni  dekoder, 

predstavljen na Sl. 1‐8, je digitalno kolo sa n ulaza za binarno kodirani podatak i 2n binarnih izlaza, pri 

čemu  svakom  izlazu  odgovara  jedna  kombinacija  n  logičkih  vrednosti  na  ulazu.  Dodatni  ulaz  za 

dozvolu rada, E, upravlja izlazom dekodera na sledeći način: ako je E=0, tada ni jedan izlaz dekodera 

nije aktivan; ako je E=1, aktivan je samo izlaz yi, gde je i ceo broj jednak binarnoj vrednosti ulaza wn‐1, 

..., w1, w0. (Ime ulaza E potiče od engleske reči Enable koja znači dozvola). Ovo kolo se zove binarni 

dekoder n‐u‐2n ili n‐to ulazni binarni dekoder. 

Sl. 1‐8. Binarni dekoder n‐u‐2n. 

Na  Sl.  1‐9  je prikazan binarni dekoder  1‐u‐2. Grafički  simbol ovog dekodera  se može  videti na  Sl. 

1‐9(a), a tabela istinitosti na Sl. 1‐9(b). Dekoder 1‐u‐2 ima jedan ulaza za podatak w0, ulaz za dozvolu 

rada E  i dva  izlaza y1  i y0. Sve dok  je E=1, važi: y0=1 za w0=0  ili y1=1 za w0=1. Logičke  jednačine koje 

definišu dekoder 1‐u‐2 su oblika: 

∙  

∙  

Logička šema dekodera 1‐u‐2 prikazana je Sl. 1‐9(c). 

ALU

A B

F

S0

S1

MCout

prekoračenje

Page 12: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

12

                                               (a)                                          (b)                                               (c) 

Sl. 1‐9. Dekoder 1‐u‐2: (a) grafički simbol; (b) tabela istinitosti; (c) logička mreža. 

Dekoder 2‐u‐4  je predstavljen na Sl. 1‐10. Uočimo da dekoder 2‐u‐4  ima dva ulaza za podatak, w1  i 

w0, ulaz za dozvolu rada, E, i četiri izlaza, y0, ..., y3. Kao što je već objašnjeno, funkcija ovog kola je da 

dekodira binarni broj postavljen na ulazima w1 i w0 i postavi 1 na izlaz čiji je indeks jednak tom broju. 

Ponašanje dekodera 2‐u‐4 definisano je sledećim sistemom logičkih jednačina: 

∙ ∙  

∙ ∙  

∙ ∙  

∙ ∙  

 

                    (a)                                                       (b)                                                                        (c) 

Sl. 1‐10. Dekoder 2‐u‐4: (a) grafički simbol; (b) tabela istinitosti; (c) logička mreža. 

U opštem slučaju, dekoder n‐u‐2n može se konstruisati na osnovu sistema logičkih jednačina: 

                                                           yi = E∙mi, i = 0, ..., 2n,             (1.1)  

gde je mi i‐ti minterm n ulaznih promenljivih wn‐1, ...., w0. 

Na izlazu dekodera, pod uslovom da je njegov rad dozvoljen, postoji samo jedna jedinica. Za izlaz na 

kome je prisutna jedinica kažemo da je aktivan. Ovo važi za dekodere sa aktivnim visokim naponskim 

nivoom na izlazu. Međutim, u upotrebi su i dekoderska kola sa aktivnim niskim naponskim nivoom na 

izlazu. Kod takvih dekodera, nula je prisutna na jednom izlazu, koji je izabran binarnom kombinacijom 

na ulazu, dok su na svim ostalim izlazima prisutne jedince. Grafički simbol dekodera 2‐u‐4 sa aktivnim 

niskim naponskim nivoom na  izlazu prikazan  je na Sl. 1‐11(a). Uočimo da  je aktivan nizak naponski 

nivo  naznačen  kružićima  na  izlaznim  priključcima  dekodera.  Tabela  istinitosti  ovog  dekodera  je 

prikazana na  Sl. 1‐11(b),  a  logička mreža na  Sl. 1‐11(c). Uočimo da  je  logička mreža, po  strukturi, 

identična onoj sa Sl. 1‐11(c), s tom razlikom što se sada umesto AND koriste NAND kola. 

Sl. 1‐11. Dekoder 2‐u‐4 sa aktivnim niskim naponskim nivoom na izlazu. 

Page 13: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

13

Pr. 1‐1. Sinteza logičkih funkcija na bazi dekodera 

Shodno  jednačini  (1.1),  dekoder  n‐u‐2n  se  ponaša  kao  generator minterma  od  n  promenljivih.  Kada  je  rad dekodera dozvoljen, svaki  izlaz dekodera se aktivira tačno  jednom vrstom tabele  istinitosti od n promenljivih. Ako  je  logička  funkcija  zadata  u  obliku  tabele  istinitosti  ili  skupom  decimalnih  indeksa,  tada  se  ona može direktno realizovati pomoću dekodera u vidu kanoničke sume‐proizvoda. 

Na primer, razmotrimo funkciju f zadatu skupom decimalnih indeksa  . Karnoova mapa funkcije f 

prikazana  je na  Sl. 1‐12(a), a  realizacija ove  funkcije u obliku minimalne  sume‐proizvoda na  Sl. 1‐12(b).  Ista funkcija se može realizovati pomoću dekodera 3‐u‐8, koji generiše sve moguće minterme od tri promenljive, i jednog OR kola, koje sumira minterme funkcije f, kao što je prikazano na Sl. 1‐12(c). Na ovaj način, korišćenjem dekodera odgovarajuće veličine, moguće je realizovati proizvoljnu logičku funkciju. 

                            (a)                                                            (b)                                                             (c) 

Sl. 1‐12 Sinteza funkcije  : (a) Karnoova mapa; (b) logička mreža; (c) realizacija pomoću dekodera 

3‐u‐8. 

Iako  je opisana  tehnika  sinteze  gotovo  trivijalna, ona postaje  izrazito neefikasna u  slučajevima  kada  je broj promenljivih  veći  od  nekoliko.  Broj  minterma,  a  time  i  složenost  dekodera,  raste  eksponencijalno  sa povećanjem broja promenljivih,  tako da  će za  tipičnu  funkciju od većeg broj promenljivih, od svih generisani minterma  biti  iskorišćen  tek mali  deo. Međutim,  ima  punog  smisla  koristiti  dekoder  za  realizaciju  sistema logičkih funkcija, s obzirom na mogućnost da se isti mintermi koriste kod više različitih logičkih funkcija.  

Danas se dekoderi retko koriste za sintezu logičkih funkcija na način koji je opisan u ovom primeru. Međutim, izloženi  koncept  sinteze,  zasnovan  na  sumiranju  generisanih  minterma,  ili  u  opštem  slučaju,  sumiranju generisanih produktnih  članova, predstavlja osnovu programabilnih  logičkih kola, kao  što  su ROM, PLA  i PAL strukture. 

1.1.1 Dekoderske mreže

Shodno jednačini (1.1) binarni dekoder n‐u‐2n se može realizovati pomoću 2n n‐to ulaznih AND kola. 

Međutim,  sa povećanjem n, ukupan broj AND  kola  i broj ulaza u AND  kola postaju ograničavajući 

faktor,  tako  da  se  dekoderi  sa  većim  brojem  ulaza  obično  realizuju  u  vidu  dekoderskih  mreža 

sačinjenih  od  više manjih  dekodera.  Razmotrićemo  dve  tehnike  konstrukcije  dekoderskih mreža: 

koincidentno dekodiranje i hijerarhijsko dekodiranje. 

Koincidentno  dekodiranje.  U  cilju  ilustracije  koncepta  koincidentnog  dekodiranja,  razmotrimo 

realizaciju 8‐ulaznog binarnog dekodera, tj. dekodera 8‐u‐256, pomoću 4‐ulaznih binarnih dekodera 

(Sl. 1‐13(a)). Neka su W=w7w6...w0 osam ulaza, a Y= y255y254...y0 256 izlaza dekoderske mreže 8‐u‐256. 

Najpre, podelimo ulaze u dve grupe: WH=w7w6w5w4 i WL=w3w2w1w0. Za realizaciju dekoderske mreže 

koristimo dva dekodera 4‐u‐16, kao na Sl. 1‐13. Grupa ulaza WH se dekodira pomoću jednog, a grupa 

ulaza WL pomoću drugog 4‐ulaznog dekodera. Neka su H=h15h14...h0 i L=l15l14...l0 16‐to bitni izlazi dva 

)5,3,2,0(

)5,3,2,0(

Page 14: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

14

4‐bitna dekodera. Izlazi dekoderske mreže 8‐u‐256 formiraju se pomoću 256 2‐ulaznih AND kola, tako 

što se svako AND kolo povezuje sa jednim parom signala (hi, lj). Izlazu yk odgovara izlaz AND kola čiji 

su ulazi hi i lj, pri čemu važi: k = 24 i + j. Na primer, izlaz y36 odgovara AND kolu čiji su ulazi h2 i l4, s 

obzirom da važi: 36 = 24 2 + 4. Uočimo da je ulaz za dozvolu rada dekoderske mreže, E, povezan sa 

odgovarajućim  ulazom  jednog  od  dekodera  4‐u‐16,  dok  je  ulaz  za  dozvolu  rada  drugog  dekodera 

postavljen na 1. Ako je E=1, tada su svi izlazi iz jednog dekodera jednaki 0, što uslovljava yi=0 za svako 

i. 

U opštem  slučaju, n‐to ulazni  koincidentni dekoder  se  realizuje pomoću dva n/2 – ulazna binarna 

dekodera i 2n 2‐ulaznih AND kola, na način kako je to prikazano na Sl. 1‐13(b). 

 

(a)  (b) 

Sl. 1‐13. Koincidentno dekodiranje: (a) 8‐ulazni koincidentni dekoder; (b) n‐to ulazni koincidentni dekoder 

Hijerarhijsko dekodiranje. Druga tehnika za konstrukciju većih dekodera je hijerarhijsko dekodiranje. 

Radi ilustracije ove tehnike razmotrimo realizaciju binarnog dekodera 4‐u‐16 pomoću dekodera 2‐u‐

4. Kao i kod koincidentnog dekodiranja, ulazi dekoderske mreže, W=w3w2w1w0, se dele u dve grupe: 

WH=w3w2 i WL=w1w0. Na osnovu ove podele, možemo realizovati dvonivovsku mrežu koja se sastoji iz 

jednog dekodera 2‐u‐4 u prvom i četiri dekodera 2‐u‐4 u drugom nivou, kao što je to prikazano na Sl. 

1‐14(a). Grupa  ulaza WH  se  dekodira  u  prvom,  a  grupa  ulaza WL  u  drugom  nivou.  Šesnaest  izlaza 

dekoderske mreže je raspoređeno u 4 grupe od po 4 izlaza, gde se svaka grupa generiše na izlazima 

jednog dekodera sa drugog nivoa. Princip rada je sledeći: Dekodiranjem ulaza WH, dekodera sa prvog 

nivoa, dozvoljava se rad tačno jednog dekodera sa drugog nivoa, koji dekodiranjem ulaza WL aktivira 

jedan od svojih  izlaza. Na primer, ako  je W=0110, tada  je WH=01, a WL=10. To znači da će dekoder 

DEC  dozvoliti  rad  dekoderu DEC1‚  koji  s  obzirom  na WL=10  aktivira  svoj  izlaz  sa  indeksom  2,  što 

odgovara izlazu dekoderske mreže y4x1+2=y6. Uočimo da je ulaz za dozvolu rada dekoderske mreže, E, 

povezan sa odgovarajućim ulazom dekodera sa prvog nivoa. Ako  je E=0, tada su svi  izlazi dekodera 

DEC postavljeni na 0. To znači da je rad svih dekodera sa drugog nivoa zabranjen, pa i da su na svim 

izlazima dekoderske mreže prisutne nule. 

U opštem slučaju, n‐to ulazni dekoder se može realizovati u vidu dvonivolske dekoderske mreže sa 

jednim (n/2)‐ulaznim dekoderom u prvom i 2n/2 (n/2)‐ulaznih dekodera u drugom nivou. 

E

w3 y0

y2

y15

w2

w1

w0

.

.

.

.

.

.w3

w2

w1

w0

E

E

w3 y0

y4

y15

w2

w1

w0

.

.

.

.

.

.w7

w6

w5

w4

1

y0

y36

y255

.

.

.

.

.

.

Page 15: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

15

(a)  (b) 

Sl. 1‐14. Hijerarhijsko dekodiranje: (a) 4‐ulazni hijerarhijski dekoder; (b) 3‐ulazni hijerarhijski dekoder 3‐u‐8. 

Hijerarhijska  dekoderska mreža može  imati  više  od  dva  nivoa.  Na  primer,  ako  za  projektovanje 

koristimo dekodere 1‐u‐2, dekoderska mreža n‐u‐2n sadržaće 2n‐1 dekodera 2‐u‐1, raspoređenih u n 

nivoa  tako  da  se  na  svakom  nivo  dekodira  jedan  ulazni  bit.  Drugim  rečima,  ulaz  najveće  težine 

dekodira  se  jednim dekoderom 1‐u‐2 u prvom nivou,  sledeći ulaz manje  težine dekodira  se  sa dva 

dekodera 1‐u‐2 u drugom nivou,  i tako redom, sve do ulaza najmanje težine koji se dekodira sa n/2 

dekodera 1‐u‐2 u poslednjem, n‐tom nivou. Izlazi dekodera sa određenog nivoa se koriste kao signali 

dozvole dva dekodera sa sledećeg nivoa. Znači, na svakom sledećem nivou, broj dekodera će biti dva 

puta veći u odnosu na prethodni nivo. Kao primer opisanog postupka konstrukcije dekodera n‐u‐2n, 

na Sl. 1‐14(b) je prikazan dekoder 3‐u‐8 realizovan na bazi dekodera 1‐u‐2.  

U  opštem  slučaju,  n‐to  ulazni  dekoder  se može  realizovati  u  obliku  hijerarhijske mreže  k‐ulaznih 

dekodera raspoređenih u r nivoa, pri čemu važi n=rk. n ulaza dekoderske mreže se deli na r grupa od 

po k ulaza, pri čemu se svaka takva grupa dekodira na jednom nivou. Prvi novo sadrži jedan dekoder, 

a broj dekodera u  svakom  sledećem nivou  je 2k puta veći od broj dekodera u prethodnom nivou. 

Ukupan broj k‐ulaznih dekodera potrebnih za realizaciju n‐to ulazne dekoderske mreže iznosi: 

1 + 2k + 22k + ... + 2(r‐1)k = (2n – 1)/(2k – 1) 

Na primer, za n=12 i k=4, broj nivoa je r=3, a broj 4‐ulaznih dekodera (212 – 1)/(24 – 1) = 273. 

1.2 Multiplekser

Multiplekser, često u oznaci MUX, je digitalni preklopnik – tj. kolo koje omogućava da se jedan od n 

izvora podataka logički povežu na zajedničko odredište. Multiplekser ima veći broj ulaza za podatke, 

jedan  ili više  selekcionih ulaza  i  jedan  izlaz. Vrednost  selekcionih ulaza određuje  (tj. bira)  jedan od 

ulaza za podatke čija se vrednost, u datom trenutku, prenosi na izlaz.  

E

w0 y0

y1

E

w0 y0

y1

E

w0 y0

y1

E

w0 y0

y1

E

w0 y0

y1

E

w0 y0

y1

E

w0 y0

y1

w0

w1

w2

E

y0

y1

y2

y3

y4

y5

y6

y7

Page 16: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

16

 (a) 

 (b) 

 (c) 

 (d) 

 (e) 

Sl. 1‐15 Multiplekser 2‐u‐1: (a) grafički simbol; (b) analogija sa elektromehaničkim preklopnikom; (c) tabela istinitosti; (d) logička mreža; (e) realizacija pomoću transmisionih gejtova. 

Na Sl. 1‐15(a) je prikazan grafički simbol multipleksera 2‐u‐1. Ako je s=0, izlaz multipleksera biće f=w0; 

ako je s=1, izlaz multipleksera je f=w1. Multiplekser 2‐u‐1 je po funkciji analogan elektro‐mehaničkom 

dvo‐položajnom prekidaču sa Sl. 1‐15(b), kod koga signal s upravlja položajem preklopnika. Funkcija 

multipleksera 2‐u‐1 opisana je tabelom  istinitosti sa Sl. 1‐15(c), na osnovu koje  lako možemo  izvesti 

logički izraz oblika suma‐proizvoda: f=s`w0 + sw1. Ovom izrazu odgovara logička mreža sa Sl. 1‐15(d). 

Na Sl. 1‐15(e) je prikazano kako se multiplekser 2‐u‐1 može realizovati pomoću transmisionih gejtova. 

Na Sl. 1‐16(a) je prikazan jedan veći multiplekser, sa četiri ulaza za podatke, w0, …, w3 i dva selekciona 

ulaza s1 i s0. Kao što se može videti iz tabele istinitosti sa Sl. 1‐16(b), kombinacija selekcionih ulaza (s1, 

s0),  interpretirana  kao  binarna  celobrojna  vrednost  i,  za  prosleđivanje  na  izlaz  f  bira  ulaz  wi. 

Multiplekseru 4‐u‐1 odgovara sledeći logički izraz oblika suma‐proizvoda: 

 

Ovom izrazu odgovara logička mreža sa Sl. 1‐16(c). 

  

(a) 

  

(b)  (c) 

Sl. 1‐16 Multiplekser 4‐u‐1: (a) grafički simbol; (b) tabela istinitosti; (c) logička mreža. 

Pr. 1‐2. Krozbar 

Na Sl. 1‐17(a) prikazano  je kolo  sa dva ulaza,  x1  i  x2,  i dva  izlaza, y1  i y2. Kao  što  je naznačeno  isprekidanim linijama, kolo obezbeđuje kontrolisanu vezu između ulaznih i izlaznih priključaka, tj. omogućava da bilo koji ulaz može biti povezan na bilo koji izlaz. U opštem slučaju, kolo ovog tipa, sa n ulaza i k izlaza, čija je jedina funkcija da obezbedi spregu bilo koji ulaz sa bilo kojim izlazom, zove se krozbar prekidač nxk. Ako postoje dva ulaza i dva izlaza, radi se o krozbar prekidaču 2x2. 

Na Sl. 1‐17(b)  je prikazana realizacija krozbar prekidača 2x2 pomoću multipleksera 2‐u‐1. Selekcioni ulazi oba multipleksera povezana su na ulazni signal s. Ako  je s=0, krozbar povezuje x1 na y1  i x2 na y2; za s=1, veze su ukrštene ‐ podatak sa ulaza x1 sprovodi se na izlaz y2, a podatak sa ulaza x2 na izlaz y1. Krozbar prekidači nalaze primenu svuda tamo gde je neophodno povezati dva skupa veza, pri čemu se način sprege menja s vremena na vreme. 

s

w0

f

w1

0

1

Page 17: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

17

Sl. 1‐17 Jedna primena multipleksera. 

Korišćenjem istog principa, moguće je realizovati i veće multipleksere. Obično, broj ulaza za podatke, 

n,  je  stepen  broja  2. Multiplekser  n‐u‐1  zahteva    selekcionih  ulaza.  Veći multiplekseri  se 

takođe mogu realizovati pomoću više manjih multipleksera. Na primer, multiplekser n‐u‐1, gde  je n 

stepen broja 2, može se konstruisati pomoću n‐1 multipleksera 2‐u‐1 raspoređenih u   nivoa. 

Svaki  od  n/2  multiplekser  sa  prvog  nivoa  bira  između  dva  izvora  podataka,  dok  svaki  od  n/4 

multiplekser sa drugog nivoa bira  između dva multiplekserska  izlaza sa prvog nivoa. Drugim rečima, 

na svakom nivou, nakon prvog, svaki multiplekser se koristi za izbor između dva izlaza generisana od 

strane multipleksera sa prethodnog nivoa. Konkretno, za realizaciju multipleksera 8‐u‐1 potrebna su 

8‐1=7 multipleksera  2‐u‐1,  a broj nivoa  je  3. Na  Sl.  1‐18(a)  je prikazana  tabela  istinitosti,  a na  Sl. 

1‐18(b) realizacija multipleksera 8‐u‐1 pomoću multipleksera 2‐u‐1. 

 

Sl. 1‐18 Multiplekser 8‐u‐1: (a) tabela istinitosti: (b) struktura. 

Na Sl. 1‐19(a) prikazan  je grafički  simbol multipleksera 2xm‐u‐m. Ovaj  simbol na kompaktan način 

predstavlja strukturu od m paralelno povezanih multipleksera sa Sl. 1‐19(b). Pomoću multipleksera 

2xm‐u‐m omogućen je izbor jednog od dva m‐bitna podatka. U opštem slučaju, multiplekser kxm‐u‐m 

sastoji se iz m multipleksera k‐u‐1 sa zajedničkim selekcionim ulazima. 

Page 18: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

18

 

                                                                          (a)                                               (b) 

Sl. 1‐19 Multiplekser 2xm‐u‐m: (a) grafički simbol; (b) struktura. 

1.2.1 Alternativne realizacije multipleksera

Dekoder i logička kola. Multiplekser 8‐u‐1 se može realizovati i na način koji je prikazan na Sl. 1‐20. 

Za  dekodovanje  selekcionih  signal  koristi  se  dekoder  3‐u‐8.  Iako  ovo  rešenje  izgleda  jednostavno, 

ono, međutim,  nije  lako  proširljivo. Drugim  rečima,  broj  i  veličina  logičkih  kola  u  dekoderu,  kao  i 

veličina izlaznih OR kola raste sa povećanjem broja ulaza u multiplekser. S obzirom da se logička kola 

sa  velikim  brojem  ulaza  realizuju  kao  stabla  logičkih  kola  sa  manjim  brojem  ulaza,  složenost  i 

kašnjenje se značajno povećavaju. Iz tog razloga, rešenje sa Sl. 1‐20 se koriste samo za male vrednosti 

n, dok  se multiplekseri  za  veće n  konstruišu  ranije opisanom metodom,  tj.  korišćenjem  više nivoa 

multipleksera 2‐u‐1 ili 4‐u‐1. 

 (a) 

  (b) 

Sl. 1‐20 Alternativno rešenje multipleksera 8‐u‐1: (a) tabela istinitosti; (b) realizacija na bazi dekodera. 

Magistrala. U prethodnom odeljku opisana  je konstrukcija multipleksera pomoću  logičkih kola.  Iako 

je  takav  tip multipleksera u  širokoj primeni, upotreba multipleksera  sa velikim brojem ulaza može 

predstavljati problem onda kad veliki broj veza mora biti doveden do jednog mesta u sistemu, tamo 

gde  je postavljen multiplekser. Na  sreću,  za ovaj problem postoji  jedno elegantno  rešenje, koje  se 

Page 19: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

19

zove  magistrala.  Za  konstrukciju  magistrale  koristi  se  trostatički  bafer  koja,  kao  elektronska 

komponenta, može  imati  tri  različita  stanja na  izlazu: 0, 1  i Z. Vrednost Z predstavlja  stanje visoke 

impedanse, koje se kod svih praktičnih primena može smatrati prekidom veze. 

 (a) 

 (b) 

 (c) 

Sl. 1‐21 Realizacija magistrale: (a) trostatički bafer; (b) dvoulazna magistrala; (c) četvoro‐ulazna magistrala. 

Kao što se može videti sa Sl. 1‐21(a), trostatički bafer ima liniju podataka D, liniju dozvole, E, i izlaznu 

liniju, Y. Uvek  kada  je E=1,  vrednost na  izlazu  je  identična ulazu, Y=D.  Suprotno,  za E=0,  izlaz  je u 

stanju  visoke  impedanse,  Y=Z,  bez  obzira  na  vrednost  koja  je  prisutna  na  ulaznoj  liniji  podataka. 

Drugim rečima, za E=1 trostatički bafer se ponaša kao zatvoren, a za E=0 kao otvoren prekidač.  

Magistralu  čini  skup  trostatičkih  bafera,  od  kojih  svaki  služi  za  spregu  jednog  izvora  podataka  na 

zajedničku magistralu. Pošto u  jednom vremenu najviše  jedan  izvor može pobuđivati magistralu,  jer 

bi  u  suprotnom  došlo  do  konflikta  na magistrali,  neophodno  je  obezbediti  da  u  svakom  trenutku 

najviše jedan trostatički bafer bude aktivan (tj. E=1). 

Pošto  ima  n  ulaza  podataka,  ali  u  svakom  trenutku  dozvoljava  prenos  samo  jednog  podatka  na 

zajedničku magistralu, magistrala  je,  po  funkciji,  ekvivalentna multiplekseru. Na  primer  dvoulazna 

magistrala, prikazana na Sl. 1‐21(b) ima dve linije podataka D0 i D1 i jednu adresnu liniju, S, tako da je 

za S=0, Y jednako D0, dok je za S=1, Y jednako D1. Uočimo da je tabela istinitosti dvoulazne magistrale 

identična tabeli  istinitosti dvoulaznog multipleksera. Primenom  istog principa, možemo konstruisati 

magistrale sa većim brojem ulaza, kao što je četvoro‐ulazna magistrala sa Sl. 1‐21(c). Kao što se može 

videti, ova magistrala sadrži dekoder 2‐u‐4 koji konvertuje dve adresne  linije S1  i S0 u četiri  linije za 

dozvolu od kojih svaka upravlja jednim od četiri trostatička bafera koji pobuđuju magistralu. 

U opštem slučaju, magistrale se  lako realizuju  i  lako modifikuju, onda kada  je se  javi potreba da se 

doda novi  izvor podataka  ili “obriše” stari.  Iz tog razloga, magistrale se često koriste za povezivanje 

većeg broja  izvora podataka na  zajedničku  liniju, bilo da  se  radi o  integrisanom kolu  ili  štampanoj 

ploči.  Izuzetak  čine  FPGA  kola,  iz  razloga  što,  po  pravilu,  sadrže mali  broj  ugrađenih  trostatičkih 

bafera. 

1.3 Demultiplekser

Kao što je rečeno u odeljku 1.2, multiplekser je digitalno kolo sa jednim izlazom, n ulaza za podatke i 

  selekcionih  ulaza.  Namena  multipleksera  je  da  multipleksera  n  ulaza  za  podatke  preko 

jedinstvenog izlaza za podatak, pod kontrolom selekcionih ulaza. Kolo koje obavlja suprotnu funkciju 

Page 20: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

20

– vrednost sa  jedinstvenog ulaza za podatak prosleđuje na  jedan od više  izlaza za podatke, zove se 

demultiplekser. 

Na Sl. 1‐22(a) je prikazan grafički simbol demultipleksera 4‐u‐1. Kao što se vidi iz tabele istinitosti sa 

Sl. 1‐22(b), binarna kombinacija vrednosti selekcionih ulaza s1 i s2 bira jedan od četiri izlaza, y0, ..., y3, 

na  koji  se  prenosi  vrednost  jedinstvenog  ulaza  za  podatak,  d.  Demultiplekser  1‐u‐4  se  može 

realizovati  pomoću  dekodera  2‐u‐4,  kao  što  je  prikazano  na  Sl.  1‐22(c).  U  ovom  slučaju,  ulaz  E 

dekodera  se  koristi  kao  ulaz  za  podatak  demultipleksera,  dok  su  izlazi  dekodera  izlazi  za  podatke 

demultipleksera. Binarna kombinacija w1w0 određuje izlaz koji će biti postavljen na vrednost E. Ako je 

E=0, tada će svi izlazi dekodera biti 0, uključujući i izlaz koji je izabran kombinacijom w1w0; ako je E=1, 

tada kombinacija w1w0 postavlja 1 na odgovarajući izlaz. Dakle, uvek važi y(w1w0) = E. 

 

                                                  (a)                                         (b)                                        (c) 

Sl. 1‐22 Demultiplekser 1‐u‐4: (a) grafički simbol; (b) tabela istinitosti; (c) dekoder 2‐u‐4 kao demultiplekser 

1‐u‐4. 

Pr. 1‐3. Vremenski multipleks 

Par multiplekser‐demultiplekser  se može  koristiti  za  prenos  informacije  od  n  izvora  do  n  odredišta  preko jedinstvene komunikacione linije, kao što je to za slučaj n=8, prikazano na Sl. 1‐23. Multiplekser bira jedan od n izvora  i prenosi podatak tog  izvora na komunikacionu  liniju. Na drugom kraju  linije, demultiplekser usmerava primljeni  podatak  ka  jednom  od  n  odredišta.  Izbor  para  izvor‐odredište  obavlja  se  preko  selekcionih  ulaza multipleksera  i  demultipleksera.  Ovakav  način  prenosa  informacija  zove  se  vremenski  multipleks.  Uz ograničenje  da  u  bilo  kom  trenutku  može  postojati  direktna  sprega  samo  jednog  para  izvor‐odredište, vremenski multipleks omogućava značajno smanjenje broja potrebnih prenosnih  linija, što može predstavljati značajnu uštedu, naročito ako je rastojanje između izvori i odredišta podataka veliko. 

Sl. 1‐23 Princip vremenskog multipleksa. 

1.4 Koder Koder je digitalno kolo koje ima suprotnu funkciju od dekodera. Namena kodera je da kodira ulaznu 

informaciju u kompaktan oblik. 

1.4.1 Binarni koderi

Binarni koder 2n‐u‐n  (Sl. 1‐24) kodira  (transformiše)  informaciju od 2n bita u n‐bitnu kodnu  reč. Sa 

ograničenjem  da  u  bilo  kom  trenutku  samo  jedan  od  2n  ulaza može  imati  vrednost  1,  na  izlazu 

Page 21: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

21

binarnog kodera generiše se n‐bitni binarni broj koji ukazuje na indeks ulaza čija je vrednost jednaka 

1. Na Sl. 1‐24(a) je prikazana tabela istinitosti kodera 4‐u‐2. Tabela istinitosti je nepotpuna, jer sadrži 

samo one slogove koji su dozvoljeni na ulazu binarnog kodera. Za sve ostale slogove, odziv kodera 

nije definisan. Uočimo da izlaz y0 ima vrednost 1 ako je w1=1 ili w3=1. Slično, izlaz y1 ima vrednost 1, 

ako je w2=1 ili w3=1. Na osnovu ovog zapažanja možemo konstruisati logičku mrežu binarnog kodera 

4‐u‐2 prikazanu na Sl. 1‐24(b). U opštem slučaju, binarni koder 2n‐u‐n se može realizovati pomoću n 

(2n‐1)‐to ulaznih OR kola. Svako OR kolo postavlja  jedan  izlaz. Ulaz wi  je povezan sa  j‐tim OR kolom 

ako j‐ti bit u binarnoj reprezentaciji indeksa i ima vrednost 1. 

 

(a) 

 

(b)                                         (c) 

Sl. 1‐24 Binarni koder: (a) binarni koder 2n‐u‐n; (b) binarni koder 4‐u‐2 ‐ tabela istinitosti; (c) binarni koder 4‐

u‐2 ‐ realizacija; 

Pr. 1‐4. Jedna primena kodera 

Na Sl. 1‐25 je prikazan osmo‐položajni mehanički preklopnik. Preklopnik ima 8 izlaza koji u kodu 1‐od‐8 kodiraju položaj  klizača. U  ovoj  primeni,  binarni  koder  8‐u‐3  se  koristi  za  kodiranje  položaj  klizača  u  oblik  trobitnog binarnog broja. 

Sl. 1‐25 Primena binarnog kodera. 

1.4.2 Prioritetni koder

Kod binarnog  kodera opisanog u prethodnom odeljku postoji ograničenje da u bilo  kom  trenutku 

najviše  jedan  ulaz  sme  biti  aktivan.  Ako  se  ovo  ograničenje  ne  poštuje,  tj.  u  slučajevima  kada  je 

aktivno  više  od  jednog  ulaza,  izlaz  kodera  biće  pogrešan. Međutim,  u  mnogim  primenama  ovo 

ograničenje se ne može nametnuti. Tada, umesto kodera treba koristiti prioritetni koder.  

Kod prioritetnog kodera, svakom ulazu je dodeljen prioritet, a izlaz kodera, interpretiran kao binarni 

broj, ukazuje na  indeks aktivnog ulaza najvišeg prioriteta. Za sve vreme dok  je aktivan ulaz visokog 

prioriteta, svi ulazi nižeg prioriteta se  ignorišu. Na Sl. 1‐26 je prikazana tabela  istinitosti prioritetnog 

kodera  4‐u‐2,  pod  pretpostavkom  da  ulaz  w3  ima  najviši,  a  w0  najniži  prioritet.  Izlazi  y1  i  y0 

predstavljaju  binarni  broj  koji  identifikuje  ulaz  najvišeg  prioriteta  koji  ima  vrednost  1.  Pošto  je 

moguće da ni jedan ulaz nema vrednost 1, predviđen je još jedan, dodatni izlaz, z koji treba da ukaže 

na ovu situaciju. Naime, ako je barem jedan ulaz jednak 1, tada važi z=1; inače, ako ni jedan ulaz nije 

jednak 1, važi z=0. 

Page 22: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

22

 

Sl. 1‐26 Tabela istinitosti prioritetnog kodera 4‐u‐2. 

Rad prioritetnog kodera se najlakše može razumeti ako najpre razmotrimo poslednju vrstu u  tabeli 

istinitosti. Ova vrsta kazuje da ako  je w3=1,  izlaz  se postavlja na y1y0=11. Pošto ulaz w3  ima najviši 

prioritet,  vrednosti ulaza w2, w1  i w0 nisu od  značaja. Da bi  se ukazalo na  činjenicu da  su njihove 

vrednosti  irelevantne,  promenljive  w2,  w1  i  w0  su  označene  simbolom  X  u  tabeli  istinitosti. 

Pretposlednja vrsta u tabeli istinitosti kazuje da se za w2=1 izlazi postavljaju na y1y0=10, ali samo ako 

pri tome važi w3=0. Slično, ulaz w1 uslovljava da  izlaz bude postavljen na y1y0=01, ali samo ako važi 

w3=w2=0.  Konačno,  ulaz  w0  se  kodira  na  izlazu  binarnom  kombinacijom  y1y0=00,  ali  samo  pod 

uslovom da je w0 jedini aktivan ulaz. 

Pr. 1‐5. Selekcija prekidnih signala pomoću prioritetnog kodera 

U ovoj primeni, prioritetni koder se koristi za  izbor  jednog od više događaja koji se mogu desiti u  isto vreme. Izabrani  događaj  se  predstavlja  (kodira)  binarnim  brojem.  Na  primer,  kod  računarskih  sistema,  različiti periferijski uređaji obraćaju se procesoru, putem prekidnih signala, zahtevima za opsluživanjem. S obzirom da više ovakvih zahteva može biti aktivno u isto vreme, neophodno je izabrati jedan koji će biti opslužen. Kao što je prikazano na Sl. 1‐27, prioritetni koder se koristi za identifikaciju aktivnog prekidnog signala najvišeg prioriteta. 

 Sl. 1‐27 Primena prioritetnog kodera za izbor signala prekida. 

 

Sl. 1‐28 Realizacija prioritetnog kodera. 

Prioritetni koder 2n‐u‐n se može realizovati kombinovanjem dva modula kao na Sl. 1‐28. Prvi modul je 

kolo za razrešavanje prioriteta, koje menja na 0 sve ulaze čija je vrednost 1, osim onog čiji je prioritet 

w0

w1y0

Uređaj A

Uređaj B

Uređaj C

Uređaj D

w2

w3

Najniži prioritet

Najvišiprioritet

y1

Procesor

zZahtev je prisutan

Kod zahteva najvišeg prioriteta

Prekidni signali

Page 23: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

23

najviši.  Drugi  modul  je  standardni  binarni  koder.  Modul  za  razrešavanje  prioriteta  definisan  je 

sledećim skupom logičkih jednačina: 

∙ ⋯ ∙ , 0,1… , 2 1 

Prethodni izraz kaže da aktivan ulaz wi zadržava vrednost 1 (tj. postavlja 1 na izlazu xi) samo ako su svi 

ulazi višeg prioriteta jednaki 0. 

 (a)                                                             (b) 

Sl. 1‐29 Modul za razrešavanje prioriteta: (a) paralelna realizacija; (b) iterativna realizacija. 

Modul za  razrešavanje prioriteta se može  realizovati u obliku  logičke mreže sa Sl. 1‐29(a). Kod ove 

realizacije, izlaz xi se generiše pomoću AND kola sa 2n‐i ulaza. Ovakvo rešenje je adekvatno za module 

sa malim brojem ulaza,  ali  je nepraktično  za  veće module budući da  zahteva AND  kola  sa  velikim 

brojem ulaza. Na Sl. 1‐29(b) je prikazana iterativna implementacija istog kola, koja je pogodna za veći 

broj  ulaza,  mada  ispoljava  veće  kašnjenje.  Ovo  rešenje  je  zasnovano  na  umnožavanju  ćelija 

definisanih logičkim jednačinama: 

0,    ∙ ,    

Prosto, wi=1 postavlja ci‐1 na 1, što isključuje sve ulaze nižeg prioriteta. 

1.4.2.1 Hijerarhijska realizacija prioritetnog kodera

Na  Sl.  1‐30(a)  je  prikazan  princip  realizacije  prioritetnog  kodera  2n‐u‐n  pomoću  dva  duplo manja 

prioritetna kodera  tipa 2n‐1‐u‐(n‐1). 2n‐1 viših ulaza,  …   ,  se kodira pomoću prioritetnog 

kodera  H,  a  2n‐1  nižih,  … ,  pomoću  koder  L.  Izlaz  najveće  težine,  ,  rezultujućeg 

prioritetnog kodera  treba da  ima vrednost 1 ako  je na ulazima prioritetnog kodera H prisutna bar 

jedna jedinica. To se postiže pomoću kodera 2‐u‐1 na čije ulaze se dovode z izlazi prioritetnih kodera 

H  i L. Ako važi  1,  tada vrednosti za preostalih 2n‐1  izlaza,  … ,  treba uzeti sa  izlaza 

prioritetnog  kodera  H.  U  suprotnom,  ako  važi  0,  tj.  ako  na  ulazima  …   nije 

prisutna ni jedna jedinica, vrednosti za izlaze  … treba uzeti sa izlaza prioritetnog kodera L. To se postiže pomoću multipleksera kojim se upravlja signalom  .  

Na  Sl.  1‐30(b)  je  prikazano  kako  se  primenom  opisanog  principa  realizuje  prioritetni  koder  4‐u‐2 

pomoću  kodera  2‐u‐1.  Primetimo  da  su  u  prvom  nivou  upotrebljeni  binarni  koderi  budući  da  je 

binarni  koder  2‐u‐1  identičan  po  funkciji  prioritetnom  koderu  2‐u‐1.  Prioritetni  koder  4‐u‐2, 

realizovan  na  ovaj  način, može  se  upotrebiti  za  realizaciju  prioritetnog  kodera  8‐u‐3,  kao  na  Sl. 

1‐30(c). Dakle, polazeći od kodera 2‐u‐1, u mogućnosti smo da rekurzivno primenom principa sa Sl. 

1‐30(a) realizujemo prioritetni koder proizvoljne veličine. 

Page 24: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

24

 (a) 

 (b) 

 (c) 

Sl. 1‐30. Hijerarhijska realizacija prioritetnog kodera: (a) princip; (b) prioritetni koder 4‐u‐2 pomoću kodera 2‐u‐1; (c) prioritetni koder 8‐u‐3 pomoću prioritetnih kodera 4‐u‐2. 

1.5 Komparator Većina programskih  jezika poseduje relacione operatore koji nam omogućavaju da  ispitamo  izvesne 

uslove kako bi smo odredili kada određene akcije treba preduzeti. Kod programskih jezika, uslovi se 

predstavljaju u obliku  relacije  između dva  entiteta, X  i  Y,  koji mogu biti  konstante, promenljive  ili 

aritmetički izrazi. Relacioni izrazi se formiraju uz pomoć tri osnovna relaciona operatora: veće (X>Y), 

jednako  (X=Y)  i manje  (X<Y). Takođe, za svaki od ovih operatora postoji komplementarni operator. 

Operator  “veće  ili  jednako”  (X≥Y)  je  komplement  od  “manje”,  “manje  ili  jednako”  (X≤Y)  je 

komplement  od  “veće”,  dok  je  “različito”  (X≠Y)  komplement  od  “jednako”.  Rezultat  bilo  kog  od 

navedenih operatora je logička promenljiva koja može imati vrednost 0 (netačno) ili 1 (tačno). 

Za  izračunavanje relacionih operatora koriste se digitalna kola koja se zovu komparatori magnitude 

ili samo komparatori. Iako je moguće projektovati komparator za bilo koji operator, u ovom odeljku 

pokazaćemo kao se projektuje univerzalni komparator, koji je se može koristiti za izračunavanje bilo 

kog od navedenih operatora. U opštem slučaju, n‐bitni univerzalni komparator (Sl. 1‐31) poredi dva 

pozitivna binarna broja X=xn‐1,…,x0  i  Y=yn‐1,…,y0  i  generiše  tri binarna  rezultata, G,  E  i  L,  koji  imaju 

sledeće značenje: Ako je izlaz G=1, tada je X>Y; E=1 ukazuje na X=Y, a L=1 na X<Y. 

Page 25: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

25

 

Sl. 1‐31 n‐to bitni univerzalni komparator magnitude. 

Logička mreža  komparatora  se može  sintetizovati  na  osnovu  tabele  istinitosti  u  kojoj  bi  za  svaku 

kombinaciju n‐bitnih operanda X i Y bile navedene vrednosti izlaza G, E i L. Međutim, takva tabela bi 

bila previše velika, čak i za relativno malo n. Zato je bolji pristup da se u cilju realizacije komparatora 

razmatraju pojedinačni parovi odgovarajućih bitova dva operanda. Razmotrimo konstrukciju 4‐bitnog 

komparatora. 

Neka su X=x3x2x1x0 i Y=y3y2y1y0. Definišimo skup internih signala i3, i2, i1 i i0. Signal ik je jednak 1 ako su 

bitovi  sa  indeksom  k operanada X  i  Y međusobno  jednaki.  Jednakost dva bita  se  ispituje  logičkim 

kolom  XNOR,  tj.  ⊗   (operacija  XNOR  se  označava  znakom ⊗).  Dva  binarna  broja  su 

jednaka ako imaju iste bitove. Dakle, 

E = i3i2i1i0 

Izraz za  izlaz G se može  izvesti tako što će se bitovi operanada X  i Y  ispitivati u redosledu počev od 

bita najveće do bita najmanje težine. Prva bit‐pozicija k na kojoj se bitovi xk i yk razlikuju odrediće da li 

je X veće  ili manje od Y. Pri tom, ako važi xk=0  i yk=1, tada  je X<Y; ako  je xk=1  i yk=0, tada važi X<Y. 

Dakle, izlaz G definisan je sledećim logičkim izrazom: 

 

Izlaz  L  se  može  odrediti  na  osnovu  slične  formule  u  kojoj  bi  umesto  bitova  operanda  Y 

komplementirali bitove operanda X. Međutim, postoji i lakši način. Naime, X je manje od Y ako X i Y 

nisu ni jednaki niti je X veća od Y, tj. 

 

Logička mreža  koja  realizuje  četvorobitni univerzalni  komparator prikazana  je na  Sl. 1‐32. Opisana 

procedura se može primeniti za konstrukcije univerzalnog komparatora za proizvoljno n.  

 

Sl. 1‐32 Logička mreža 4‐bitnog univerzalnog komparatora. 

Pr. 1‐6. Realizacija komparatora pomoću binarnog sabirača 

Na  Sl. 1‐33  je prikazano  kako  se 4‐bitni univerzalni  komparator može  realizovati pomoću 4‐bitnog  sabirača. Odnos između dva broja X i Y može se odrediti ako se brojevi najpre oduzmu, a zatim ispita vrednost rezultat. Oduzimanje  X‐Y  se  realizuje  kao  sabiranje  broja  X  i  potpunog  komplementa  broja  Y.  Kod  oduzimanja 

Page 26: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

26

neoznačenih binarnih brojeva važi pravilo da je izlazni prenos iz sabirača, c4, jednak 0 ako je razlika negativna, odnosno 1 ako  je razlika nula  ili pozitivna. Drugim rečima, c4=0 ukazuje na X<Y, a c4=1 na X≥Y. Ovo pravilo se lako može proveriti na sledećim konkretnim primerima: 

 

Uslov X≥Y se može razložiti na dva uslova X>Y i X=Y ako se dodatno detektuje kada je rezultat oduzimanja 0. Za detekciju uslova “sve nule” može se iskoristiti 4‐ulazno NOR kolo, kao što je prikazano na Sl. 1‐33. Dakle, ako je razlika 0, brojevi su  jednaki; ako  je c4=0, tada  je X manje od Y, a ako razlika nije  jednaka nuli  i c4=1, tada  je X veće od Y. 

Sl. 1‐33 Realizacija univerzalnog komparatora pomoću binarnog sabirača. 

1.5.1 Iterativna komparatorska mreža

Razmotrimo konstrukciju 16‐bitnog komparatora na osnovu 4‐bitnih komparatorskih modula. Za ovu 

namenu, ulazni 16‐bitni operandi X=x15x14...x0 i Y=y15y14...y0 se razlažu na po četiri 4‐bitna vektora: 

, , , , 0, … ,3,  

, , , , 0, … ,3 

koji  se  koriste  kao  ulazi  u  pojedinačne  4‐bitne  komparatorske  module.  Poređenje  se  obavlja 

sukcesivno  (tj.  iterativno),  počev  od  bit‐vektora  najmanje  težine,  X(0)  i  Y(0),  a  rezultat  poređenja, 

izražen  promenljivama  G,  E  i  L  se  prenosi  u  naredni  stepen.  Ako  su  bit‐vektori  X(i)  i  Y(i)  jednaki, 

preuzima se rezultat iz prethodnog stepena; ako se X(i) i Y(i) razlikuju, rezultat prethodnog stepena se 

zanemaruje, a stepen  i dalje prosleđuje rezultat svog poređenja.  Izlazi G, E  i L  iz poslednjeg modula 

(i=3)  su  u  isto  vreme  i  izlazi  celokupne  komparatorske  mreže.  Da  bi  se  omogućila  sprega 

komparatorskih  modula,  neophodno  je  strukturu  4‐bitnog  univerzalnog  komparatora  sa  Sl.  1‐32 

proširiti sa tri ulazna signala prenosa, kao na Sl. 1‐34. Ako važi X=Y, tada se na izlaz modula prosleđuju 

vrednosti sa ulaza Gul, Eul  i Lul; u suprotnom, ako važi X≠Y, na  izlaz modula se prenose vrednosti sa 

izlaza  internog  4‐bitnog  komparatora.    Na  Sl.  1‐35  je  prikazana  struktura  16‐bitnog  iterativnog 

komparatora magnitude, realizovanog pomoću 4‐bitnih komparatorskih modula sa Sl. 1‐35. 

Opisani postupak se može primeniti za konstrukciju  iterativnog komparatora sa proizvoljno velikim 

brojem bitova. Međutim,  kao  i  kod  sabirača  sa  rednim prenosom,  sa povećanjem broj  spregnutih 

bazičnih modula propagaciono kašnjenje komparatorske mreže linearno raste. 

Page 27: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

27

 

Sl. 1‐34 4‐bitni komparator sa ugrađenim signalima ulaznog prenosa. 

 

Sl. 1‐35 16‐bitna iterativna komparatorska mreža. 

1.5.2 Hijerarhijske komparatorske mreže

Brža  struktura  za  poređenje  većih  brojeva  se  može  realizovati  ako  se  umesto  iterativne  koristi 

hijerarhijska  mreža  komparatora.  Razmotrimo  ponovo  konstrukciju  16‐bitnog  komparatora  na 

osnovu 4‐bitnih komparatorskih modula, ali tako da sada komparatori budu povezani u hijerarhijsku 

strukturu, kao što je ona sa Sl. 1‐36. Svaki od četiri komparatora sa prvog nivoa, K0 do K3 poredi dva 

bit‐vektora od četiri bita. Izlazi iz prvog nivoa se koriste kao ulazi u komparator sa drugog nivoa, K4, 

na sledeći način: Svi izlazi G iz komparatora sa prvog nivoa čine bit‐vektor g koji je povezan na grupu 

ulaza x komparatora K4. Slično, bit‐vektor l, koga čine svi izlazi L iz prvog nivoa, povezan je na grupu 

ulaza y komparatora K4. 

 Sl. 1‐36 16‐bitni hijerarhijski komparator. 

Da mreža  sa  Sl.  1‐36  zaista  realizuje  funkciju  16‐bitnog  komparatora, može  se  pokazati  sledećom 

analizom. Na osnovu definicije univerzalnog komparatora, izlazi hijerarhijske mreže komparatora su: 

4-b

itni

kom

para

tor

Page 28: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

28

inace

lgjeakoG

0

1

 

inace

lgjeakoE

0

1

 

inace

lgjeakoL

0

1

 

gde su g i l celi brojevi predstavljeni istoimenim bit‐vektorima. 

S obzirom da su g i l izlazi iz prvog nivoa komparatora, nije moguće da oba bita gi i li, i=0,...,3, u isto 

vreme imaju vrednost 1. Shodno tome, g>l znači da je 1 sa najvećom težinom u vektoru g teža od 1 

najveće težine u vektoru l, što odgovara slučajevima kada je X>Y. Slično, g<l sledi iz X<Y. Slučaj g=l se 

javlja samo ako važi g=l=0, što znači da važi X=Y. Dakle, mreža sa Sl. 1‐36 realizuje funkciju poređenja brojeva X i Y. 

Pr. 1‐7. 8‐bitni univerzalni komparator 

Na Sl. 1‐37  je prikazano kako se pomoću dva 4‐bitna univerzalna komparatora  i dodatnih  logičkih kola može realizovati 8‐bitni univerzalni komparator. Operande X i Y možemo napisati u obliku: 

X = XH 24 + XL 

Y = YH 24 + YL 

gde su XH= x7x6x5x4, XL= x3x2x1x0, YH= y7y6y5y4 i YL= y3y2y1y0 više i niže tetrade brojeva X i Y. Najpre, dva 4‐bitna komparatora nezavisno porede više  i niže tetrade brojeva X  i Y, a zatim se na osnovu njihovih  izlaza određuje konačni rezultat. Brojevi X i Y su jednaka ako važi XH=YH  i XL=YL. X je veće od Y ako važi XH>YH ili ako su XH i YH jednaki i pri tome XL>YL. Konačno, X je manje od Y ako je viša tetrada broja X manja od više tetrade broja Y ili ako su više tetrade dva broja jednake i pri tome niža tetrada broja X manja od niže tetrade broja Y. 

 Sl. 1‐37 Realizacija 8‐bitnog komparatora pomoću 4‐bitnih komparatora. 

1.6 Kombinacioni pomerači i rotatori Operacije  pomeranja  i  rotiranja  često  se  koriste  za  pakovanje  i  raspakovanje  cifara  i  karaktera, 

izdvajanje i umetanje bit‐polja, kao i za realizaciju aritmetičkih operacije za rad u pokretnom zarezu. 

Na primer, svaki procesor poseduje barem nekoliko instrukcija za 1‐bitno pomeranje i rotiranje ulevo 

i udesno. Operacije pomeranja mogu  se obavljati u  logičkom  ili aritmetičkom  režimu. Pri  logičkom 

pomeranju, bit‐vektor se pomera za m bit‐pozicija ulevo ili udesno. Kao rezultat ove operacije, m bita 

sa  jedne  strane  vektora  se  izbacuje,  a  m  novih  bita  se  ubacuje  sa  druge  strane  vektora.  Pri 

aritmetičkom pomeranju, pretpostavlja se da bit vektor koji se pomera predstavlja binarni broj, tako 

da pomeranje za m pozicija udesno  ima  isti efekat kao deljenje broja sa 2m, dok  je pomeranje za m 

pozicija  ulevo  isto  što  i  množenje  sa  2m.  Ako  bit‐vektor  predstavlja  brojnu  vrednost  u  formatu 

Page 29: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

29

potpunog  komplementa,  tada  se prilikom pomeranja udesno, u  vektor,  sa  leve  strane, ubacuje m 

kopija bita znaka. Za slučaj pomeranja ulevo, u vektor se, sa desne stane, ubacuje m nula. Dodatno, 

nakon pomeranja ulevo, na poziciju bita najveće težine treba postaviti vrednost koja je jednaka bitu 

znaka polazne reči. Pri operaciji rotiranja, bitovi se ne gube, jer se bit koji izađe sa jedne strane reči, 

vraća u reč sa druge strane. 

Za realizaciju operacija pomeranja i rotiranja, koriste se digitalne komponente koje se zovu pomerači 

i rotatori. Ove komponente se konstruišu pomoću multipleksera. Na primer, na Sl. 1‐38(a) je prikazan 

grafički simbol 8‐bitnog univerzalnog pomerača/rotatora, koji može da obavlja  logičko pomeranje  ili 

rotiranje za jednu bit‐poziciju ulevo ili udesno. Kolo ima 8‐bitni ulaz za podatak D=d7...d0, 8‐bitni izlaz 

za podatak Y=y7...y0, i tri selekcione linije, S2, S1 i S0, preko kojih se vrši izbor željene operacije. Ulaz dl 

definiše bit‐vrednost koja se prilikom pomeranja udesno postavlja na krajni  levi  izlaz, y7, dok ulaz dl 

definiše  vrednost  koja  se  postavlja  na  krajnji  desni  izlaz,  y0,  prilikom  pomeranja  ulevo.  Shodno 

funkcionalnoj  tabeli  sa  Sl.  1‐38(b),  kada  je  S2=0,  ulazni  podatak  se  prenosi  na  izlaz  bez  ikakve 

promene.  Ako  je  S2=1,  nad  ulaznim  podatkom  se  obavlja  operacija  pomeranja  ili  rotiranja.  Smer 

pomeranja, odnosno  rotiranja,  zavisi od  vrednosti  S1:  za  S1=0 podatak  se pomera ulevo,  a  za  S0=1 

udesno. Konačno, S0  služi za  izbor  između pomeranja  i  rotiranja,  tako da pri S0=0 pomerač/rotator 

radi kao pomerač, a pri S0=1 kao rotator. Na Sl. 1‐38(c) su ilustrovani različiti režimi rada univerzalnog 

pomerača/rotatora. 

 

(a) 

 

(b) 

 (c) 

Sl. 1‐38 Univerzalni pomerač/rotator: (a) grafički simbol; (b) funkcionalna tabela; (c) režimi rada. 

Na Sl. 1‐39 je prikazana realizacija 8‐bitnog univerzalnog pomerača/rotatora. Kao što se može videti, 

pomerač/rotator  je realizovan tako što  je za svaku bit‐poziciju  iskorišćen  jedan multipleksera 4‐u‐1. 

Ulazi multipleksera su tako raspoređeni da multiplekser koji zauzima poziciju i, može da bira između 

Page 30: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

30

ulazih bitova  i‐1,  i  i  i+1. Dodatno, pomerač/rotator  ima dva multipleksera 2‐u‐1, koji služe za  izbor 

krajnjeg levog ili krajnjeg desnog bita. 

 

Sl. 1‐39 Realizacija 8‐bitnog univerzalnog pomerača/rotatora sa Sl. 1‐38 pomoću multipleksera. 

1.6.1 Barel pomerač

Pomerač/rotator opisan u prethodnom odeljku  ima mogućnost pomeranja  ili rotiranja za  jednu bit‐

poziciju ulevo ili udesno. To znači da ako je potrebno obaviti pomeranje ili rotiranje za više od jedne 

bit‐pozicije, podatak bi morao biti propušten kroz pomerač/rotator veći broj puta. Drugim rečima, na 

ovakvom tipu pomerača, operacija pomeranja za proizvoljan broj pozicija se izvršava sporo. Da bi se 

izbeglo  ovo  veliko  kašnjenje,  kod  sistema  gde  se  zahtevaju  visoke  performanse,  koristi  se  barel 

pomerač,  koji  je  tako  projektovan  da može  obaviti  pomeranje  za  proizvoljan  broj  pozicija.  n‐bitni 

pomerač ovog  tipa, gde  je n=2m,  sadrži m=log2n nivoa multipleksera  raspoređenih  tako da  i‐ti nivo 

multipleksera (0≤i≤m‐1) obavlja pomeranje za 2i pozicija ako je selekciona linija ovog nivoa Si=1. Ako 

je Si=0, podatak prolazi kroz i‐ti nivo nepromenjen. Drugim rečima, ako želimo da pomerimo podatak 

za B pozicija, gde je B binarni broj bm‐1...b0, tada je potrebno postaviti Si=bi, za 0≤i≤m‐1. 

 

Sl. 1‐40 8‐bitni barel rotator udesno: (a) tabela istinitosti; (b) struktura. 

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

S0

S1

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

1 0mux

S2

d7 d6 d4d5 d3 d2 d0d1

y7 y6 y4y5 y3 y2y0y1

Page 31: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

31

Na    Sl.  1‐40  je  prikazano  jedno  moguće  rešenje  barel  pomerača,  kod  koga  je,  u  cilju 

pojednostavljenja, broj funkcija sveden samo na jednu, rotiranje udesno. Kao što se može videti, ovaj 

8‐bitni barel rotator realizovan je sa tri nivoa multipleksera 2‐u‐1, koji se kontrolišu sa tri selekcione 

linije, S0, S1 i S0, na sledeći način: kada je S0=1, prvi nivo obavlja rotiranje za jednu bit‐poziciju; kada je 

S1=1 drugi nivo obavlja rotiranje za dve, a kada je S2=1 treći nivo obavlja rotiranje za četiri bit‐pozicije.  

Za konstrukciju složenijih pomerača/rotatora, koji mogu obavljati veći broj različitih operacija, koristi 

se u  suštini  isti postupak,  s  tim da  je neophodan veći broj multipleksera  sa većim brojem ulaza za 

podatke. 

1.7 ROM ROM memorija (Read Only Memory ‐ ROM) se može razumeti kao univerzalni logički element koji, u 

isto  vreme,  može  da  realizuje  veći  broj  različitih  logičkih  funkcija  definisanih  nad  istim  skupom 

promenljivih. Uopšteno  govoreći, ROM  sadrži n  reči dužine m bita  i označava  se  kao m  x n ROM. 

ROM,  takođe,  ima  log2n adresnih  linija koje  se koriste za adresiranje  svake od njenih n  reči. Znači, 

mxn ROM je u stanju da realizuje m proizvoljnih logičkih funkcija od log2n promenljivih. 

Pre nego što pređemo na razmatrane strukture ROM memorije uvešćemo dva nova grafička simbola 

koji reprezentuju programabilne varijante AND i OR logičkih kola. Kao što se može videti u tabeli sa Sl. 

1‐41, ulazne  linije  logičkog  kola  zamenjene  su  jedinstvenom  linijom  koja  je presečena  sa nekoliko 

ulaznih linija. U svakom preseku nacrtan je crni kvadrat koji ukazuje na postojanje veze između ulaza i 

logičkog kola. Ova veza se može ostvariti na dva načina: u toku fabrikacije komponente, kada se dve 

linije fizički spajaju uvek kada  je takva veza potrebna,  ili nakon fabrikacije, kada se svuda tamo gde 

veze ne  treba da postoje pregore  topljivi osigurač  ugrađeni  u presecima naznačenim u  grafičkom 

simbolu. ROM sa osiguračima se zove programabilni ROM  ili PROM (Programmable ROM). PROM je 

veoma praktična komponenta, s obzirom da se može proizvoditi u velikim serijama, a tek kasnije, pre 

ugradnje u ciljni sistem prilagodi konkretnoj primeni (tj. programirati).  

Kombinacioni simbol  Programabilni simbol 

Sl. 1‐41 Programabilni simboli AND i OR kola. 

Kao što je već rečeno, tipična n x m ROM ili PROM ima k=log2n adresnih linija označenih kao Ak‐1,...,A0, 

kao  i m  izlaznih  linija  označenih  kao  Fm‐1,...,F0.  ROM memorija  sadrži  adresni  dekoder  k‐u‐n  i m 

programabilnih OR kola. Na primer, na Sl. 1‐42 je prikazan 16x4 ROM kod koga dekoder 4‐u‐16 služi 

za  izbor  jedne  od  16  reči. Unutar  programabilnog OR  polja,  vrednost  svakog  bita  u  svakoj  reči  je 

određena  postojanjem  ili  nepostojanjem  veze  između  horizontalnih  i  vertikalnih  linija:  pošto  crni 

kvadrat  u  preseku  ukazuje  postojanje  veze  (nepregoreni  osigurač),  a  na  Sl.  1‐42  nema  ni  jednog 

kvadrata, sadržaj prikazane ROM memorije je “sve nule“. 

Page 32: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

32

Sl. 1‐42 16x4 ROM. 

Pr. 1‐8. Realizacija logičkih funkcija pomoću ROM‐a 

Na  Sl.  1‐43  je  pokazano  kako  se  16x4  ROM može  iskoristiti  za  realizaciju  sabirača/oduzimača  za  jednu  bit‐poziciju. Kao  što  se može videti na Sl. 1‐43(a), ulazi kola  su:  jedna  selekciona  linija S, koja određuje da  li  se obavlja  sabiranje  ili oduzimanje, dva  jednobitna operanda  ai  i  bi,  i prenos  iz prethodne bit‐pozicije,  ci.  Kolo generiše bit sume/razlike fi i izlazni prenos ci+1. Tabela istinitosti ovog kola prikazana je na Sl. 1‐43(b), dok je na Sl.  1‐43(c)  prikazana  realizacija  pomoću  ROM‐a.  Uočimo  da  su  1‐ce  iz  izlaznih  kolona  tabele  istinitosti konvertovane u odgovarajuće veze unutar OR polja ROM‐a. Ulazne  linije S, ai, bi  i ci su preslikani na adresne linije A3, A2, A1 i A0, dok su izlazne linije preslikane na F1 i F0. 

 (a) 

 (b)  (c) 

Sl. 1‐43 16x4 ROM programiran kao sabirač/oduzimač za jednu bit‐poziciju; (a) sabirač/oduzimač za jednu bit‐poziciju; (b) tabela istinitosti; (c) šema programiranja ROM memorije. 

U  Pr.  1‐8,  važno  je  uočiti  da  reči  ROM memorije  sa  adresama  0000  i  1010  nisu  potrebne  (ostaju 

neprogramirane).    Zbor  ovakvog  neracionalnog  korišćenja  raspoloživih  reči,  realizacija  funkcija  sa 

milim brojem 1‐ca pomoću ROM‐a  je veoma  skupa. Sa druge  strane, budući da poseduje značajno 

veću  gustinu  bitova  u  poređenju  sa  RAM memorijom  (tj.  zauzima manju  površinu  na  čipu),  ROM 

memorija predstavlja odlično rešenje za čuvanje konstantnih podataka. Iz tog razloga, ROM memorije 

se često koriste za generisanje upravljačkih signala kod upravljačkih jedinica standardnih procesora i 

aplikaciono‐specifičnih  koprocesora.  Uz  to,  ROM memorije  su  postojane,  tj.  ne  gube memorisani 

sadržaj  nakon  isključenja  napajanja  i  zbog  toga  se  koriste  za  smeštanje  programa  kod 

mikroračunarskih sistema. 

1.8 PLA U prethodnoj sekciji je napomenuto da ROM predstavlja izrazito neefikasno rešenje kada se koristi za 

realizaciju retkih  funkcija,  tj.  funkcija sa malim brojem 1‐ca,  jer će u takvim situacijama mnoge reči 

Page 33: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

33

ROM‐a imati vrednost 0, što dovodi do neracionalnog korišćenja površine čipa. Programabilna logička 

polja  (PLA  –  Programmable  Logic  Arrays)  su  razvijena  upravo  iz  potrebe  minimiziranja  ovog 

nepotrebnog gubitka. PLA  se  razlikuju od ROM‐a po načinu  realizacije adresnog dekodera: umesto 

potpunog dekodera, kao što je to slučaj kod ROM‐a, PLA koristi programabilni dekoder, koji se zove 

AND polje,  i koji se može programirati tako da dekodira samo one reči koje  imaju sadržaj različit od 

nule. Uz to, PLA može imati i programabilno izlazno polje koje se koristi onda kada postoji potreba da 

se komplementira izlazna vrednost. Izlazno polje može da poboljša efikasnost PLA strukture jer pruža 

veću fleksibilnost prilikom realizacije proizvoljnih funkcija. Na primer, ako funkcija ima samo nekoliko 

nula, AND  i OR  polja mogu  biti  programirana  tako  da  realizuju  komplement  date  funkcije,  što  će 

zahtevati  samo  nekoliko  reči,  a  da  se  onda  komplementiranjem  u  izlaznom  polju  dobije  željena 

funkcija. 

Sl. 1‐44 PLA struktura 

Po pravilu, PLA se karakteriše brojem reči, n, i brojem izlaza, m. Uz to, pošto broj adresnih linija neće 

biti  jednak  log2n,  prilikom  specifikacije  PLA  strukture,  potrebno  je  navesti  i  broj  ulaza  ili  adresnih 

ulaza, k. Znači, k nm PLA imaće: k adresnih linija Ak‐1,...,A0, n reči, gde svaka reč predstavlja jedan 

minterm  adresnih  ulaza,  i  m  izlaza,  Fm‐1,...,F0.  Takva  jedna  PLA  struktura  može  da  realizuje  m 

proizvoljnih logičkih funkcija k promenljivih sve dok je ukupan broj različitih AND članova u skupu od 

m funkcija manji ili jednak m. 

Na Sl. 1‐44 prikazana  je struktura 4 8 4 PLA polja. Kao što se može videti, PLA sa slike  ima četiri 

ulaza A3, A2, A1 i A0, četiri izlaza F3, F2, F1 i F0, i 8 AND članova ili reči. Kod ovog PLA polja, svaki AND 

član može da sadrži do četiri  literala (promenljivih  ili njihovih komplemenata), svaka  izlazna funkcija 

može  imati  do  osam  AND  članova,  a  svaki  izlaz  može  biti  generisan  u  svojoj  pravoj  ili 

komplementarnoj formi. 

Fleksibilnost PLA strukture približna  je fleksibilnosti ROM memorije uz dodatnu prednost u pogledu 

veće efikasnosti prilikom realizacije proizvoljne logike. Shodno tome, PLA se mnogo češće nego ROM 

Page 34: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

34

koristi  za  realizaciju  upravljačkih  jedinica,  dok  se  ROM  češće  primenjuje  za  čuvanje  tabela 

koeficijenata, programa, test vektora i drugih proizvoljnih, fiksnih podataka. 

Pr. 1‐9. Realizacija logičkih funkcija pomoću PLA 

Na Sl. 1‐45 pokazano je kako se 4 x 8 x 4 PLA može iskoristiti za realizaciju funkcija ci+1 i si potpunog sabirača. Treba uočiti da se ovo PLA polje ne može  iskoristiti za realizaciju sabirača/oduzimača za  jednu bit‐poziciju (Sl. 1‐43(a))  zato  što  ovo  kolo  zahteva  ukupno  13  AND  članova,  osam  za  funkciju  fi  i  pet  za  funkciju  ci+1,  što prevazilazi granicu od osam AND članova raspoloživih u 4 x 8 x 4 PLA polju. 

U  cilju  realizacije potpunog  sabirača, ulazi xi, yi  i  ci  su dodeljeni adresnim  linijama A2, A1  i A0, a  izlazi  ci+1  i  fi izlazima PLA polja F1 i F0. Tabela istinitosti i odgovarajuće Karnoove mape prikazane su na Sl. 1‐45 (a) i (b), dok je logička šema PLA polja, u kojoj su naznačene sve potrebne veze, data na Sl. 1‐45(c). 

 

(a) 

 

(b)  (c) 

Sl. 1‐45 Realizacija potpunog sabirača pomoću PLA polja: (a) tabela istinitosti; (b) Karnoove mape; (c) šema programiranja PLA polja. 

Page 35: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

35

2 Sekvencijalnekomponente

Kombinaciona kola, koja su razmatrana u prethodnom poglavlju,  imaju osobinu da vrednost svakog 

njihovog  izlaza  zavisi  isključivo  od  vrednosti  signala  trenutno  prisutnih  na  njihovim  ulazima. Osim 

kombinacionih, postoji još jedna široka klasa digitalnih kola, kod kojih vrednosti izlaza zavise ne samo 

od  trenutnih  vrednosti  ulaza,  već  i  od  ranijeg  ponašanja  kola.  Ovakva  kola  sadrže  memorijske 

elemente  koji  zadržavaju,  tj. memorišu  vrednosti  logičkih  signala.  Kaže  se  da  ukupni  sadržaj  svih 

memorijskih elemenata u jednom sekvencijalnom kolu predstavlja stanje tog kola. Kada se promene 

vrednosti ulaza, kolo ili ostane u istom (tj. tekućem) stanju, ili promeni svoje stanje. Vremenom, kao 

posledica promena ulaza, kolo prolazi kroz sekvencu stanja. Kolo koja se ponašaju na ovaj način zovu 

se sekvencijalna kola.   

Sekvencijalna  kola mogu  biti  sinhrona  ili  asinhrona.  Asinhrona  sekvencijalna  kola menjaju  svoje 

stanje uvek kada se desi promena ulaznih vrednosti, dok sinhrona sekvencijalna kola menjaju svoje 

stanje  i  izlazne  vrednosti  samo  u  fiksnim  vremenskim  trenucima,  koji  su  određeni  rastućom  ili 

opadajućom  ivicom  taktnog  signala.  Na  Sl.  2‐1  je  prikazan  vremenski  dijagram  tipičnog  taktnog 

signala. Taktni period je vremenski interval između dve uzastopne promene taktnog signala u istom 

smeru,  tj.  između dve  rastuće  ili  između dve opadajuće  ivice  taktnog  signala. Recipročna vrednost 

taktnog  perioda  je  taktna  frekvencija.  Širina  taktnog  impulsa  je  vreme  u  toku  koga  je  vrednost 

taktnog signala jednaka 1. Faktor popune taktnog signala je količnik širine taktnog impulsa i taktnog 

perioda.  

Sl. 2‐1 Taktni signal. 

2.1 Leč kola i flip-flopovi1

Element koji zadržava, tj. pamti uspostavljeno stanje i po prestanku dejstva pobudnih signala koji su 

ih prouzrokovali, naziva se memorijski element. Osnovna karakteristika memorijskih elemenata jeste 

postojanje  stabilnih  stanja u  kojima mogu ostati neograničeno  vreme  i  koja  se mogu menjati pod 

uticajem ulaznih signala. U digitalnoj tehnici kao memorijski elementi koriste se bistabilana kola koja 

imaju dva stabilna stanja. Bistabilno kolo može da memoriše informaciju od jednog bita. Dva osnovna 

tipa bistabilnih kola su: leč kola i flip‐flopovi. 

1 Sekcija posvećena leč kolima i flip-flopovima uvrštena je iz razloga kompletnosti izlaganja. Pretpostavka je da su studenti upoznati sa ovom materijom kroz kurseve koji tretiraju osnove digitalne elektronike. Pojednostavljeno rečeno, ovu sekciju nije potrebno ˝učiti za ispit˝, ali je svakako neophodno znati osnovne konfiguracije leč kola i flip-flopova, razliku izmeču lečeva i flip-flopova i tipove flip-flopova.

Page 36: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

36

2.1.1 Leč kola

2.1.1.1 SR leč

SR leč je najjednostavniji memorijski element koji se koristi za projektovanje digitalnih sistema. SR leč 

čine dva unakrsno spregnuta NOR kola. Kao što se može videti na Sl. 2‐2(a), SR  leč  ima dva ulazna 

signala: signal za setovanje, S,  i signal za resetovanje, R  i dva  izlazna signala: Q  i Q’. SR  leč  ima dva 

stanja: kada  je Q=1  (Q’=0), SR  leč  je u setovanom stanju; kada  je Q=0  (Q’=1),  leč  je u resetovanom 

stanju. Sve dok su oba ulazna signala, S i R, jednaka 0, SR leč ostaje u istom stanju. Na primer, ako je 

Q=1, izlaz gornjeg NOR kola biće 0, što zajedno sa R=0 drži izlaz donjeg NOR kola na 1. Slično, ako je 

Q=0,  izlaz  gornjeg NOR  kola biće  jednak  1,  što  zajedno  sa R=0, drži  0 na  izlazu donjeg NOR  kola. 

Međutim, ako ulaz S (ulaz R) postane jednak 1, SR leč prelazi u setovano stanje (resetovano stanje). 

(a)  (b) 

Sl. 2‐2. leč (realizacija pomoću NOR kola): (a) logička šema; (b) tabela istinitosti. 

Ako oba ulazna  signala,  S  i R, u  isto  vreme postanu  jednaka 1, oba  izlazna  signala Q  i Q’ postaće 

jednaka 0. Ako se, zatim, jedan od ulaznih signala deaktivira ranije, SR leč će preći u stanje određeno 

signalom koji je deaktiviran kasnije. Problem koji je karakterističan za SR leč nastaje u situaciji kada se 

oba ulazna  signala, S  i R, deaktiviraju u  isto vreme,  s obzirom na  to  što  se u  tom  slučaju ne može 

predvideti izlaz leča. Ako se oba ulazna signala deaktiviraju tačno u isto vreme, izlazi oba NOR kola, u 

isto vreme, postaće 1,  što  će,  zbog povratnih veza usloviti da, nakon nekog  kraćeg  kašnjenja, oba 

izlaza ponovo postanu 0; 0, vraćena ulaze NOR kola  inicira promenu  izlaza na 1,  i  tako dalje do u 

beskonačnost. Dakle,  pod  ovim  uslovima,  SR  leč  počinje  da  osciluje. Ovakav  tip  oscilacija  se  zove 

kritična trka  (race condition)  i  javlja se pod uslovom da oba  logička kola  imaju  identično kašnjenje. 

Međutim ako kašnjenja NOR gejtova nisu  ista,  jedno od NOR kola biće brže  i prvo  će postavi 1 na 

svom izlaz i to u vremenu dok je na izlazu drugog logičkog kola još uvek 0, koja će tu  i ostati zbog 1 

koja  se upravo pojavila na povratnoj vezi. Međutim, bez obzira  što pri ovim uslovima oscilacije na 

javljaju, i dalje možemo smatrati da je novo stanje leča nakon istovremenog deaktiviranja oba ulazna 

signala nedefinisano, s obzirom da ne možemo znati koji je od dva NOR gejta brži. 

Da bi se sprečilo opisano nedeterminističko ponašanje, moramo obezbediti da signali S i R nikada ne 

budu deaktivirani u  isto vreme. Nažalost, ovaj  zahtev  je  teško ostvariti  zbog nepoznatog kašnjenja 

logičkih mreža koja generišu vrednosti signala S i R. Zbog toga, kada koristimo SR lečeve, moramo se 

držati strožeg ograničena: signali S i R nikada ne smeju biti aktivirani u isto vreme. 

Na  osnovu  sprovedene  analize  SR  leča  u mogućnosti  smo  da  formiramo  tabelu  istinitosti  koja  će 

opisivati ponašanje SR leča (Sl. 2‐2 (b)). Za svaku kombinaciju ulazni vrednosti, S i R, i tekućeg stanja 

Q, ova tabela definiše rezultujuće izlazne vrednosti, Q(next) i Q’(next). 

Q’

Q

S

R

Page 37: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

37

(a)  (b) 

Sl. 2‐3. SR leč (realizacija pomoću NAND kola): (a) logička šema; (b) tabela istinitosti. 

SR  leč  se,  takođe, može  realizovati  pomoću  NAND  kola.  U  ovom  slučaju,  ulazni  signali  S  i  R  su 

normalno jednaki 1, a postavljanje S ili R na 0 setuje, odnosno, resetuje leč, što je upravo suprotno u 

odnosu na realizaciju koja koristi NOR kola, gde postavljanje S ili R na 1 uzrokuje setovanje, odnosno, 

resetovanje leča. Realizacija SR leča na bazi NAND kola prikazana je na Sl. 2‐3. 

2.1.1.2 SR leč sa dozvolom

SR leč sa dozvolom je sličan SR leču, s tom razlikom što poseduje treći, upravljački ulazni signal, C, koji 

dozvoljava ili zabranjuje dejstvo signala S i R (Sl. 2‐4). To znači da kada je C=1, SR leč sa dozvolom se 

ponaša  identično SR  leču. Međutim, kada  je C=0, setovanje  ili resetovanje  leča  je zabranjeno  i kolo 

ostaje  u  istom  stanju,  bez  obzira  na  eventualne  promene  vrednosti  ulaznih  signala  S  i  R. Drugim 

rečima,  sve  dok  je  C=1,  leč  reaguje  na  promene  ulaznih  signala.  Onog  trenutka  kada  C  postane 

jednako 0, trenutno stanje leča se “zamrzava”, sve do trenutka kada C ponovo postane 1, a onda leč 

nastavlja normalno da funkcioniše. 

(a)  (b)  (c) 

Sl. 2‐4. SR leč sa dozvolom: (a) grafički simbol; (b) logička šema; (c) tabela istinitosti. 

U radu sa SR lečom sa dozvolom neophodno je voditi računa o sledećem ograničenju: ulazni signali S i 

R se ne smeju menjati u vremenskom  intervalu u okolini opadajuće  ivice signala C. Ovaj vremenski 

interval počine u trenutku tsetup pre  i traje do vremena thold nakon opadajuće  ivice signala C. Ukoliko 

ovo ograničene nije obezbeđeno može doći do nedetirminističkog ponašanja leča. 

S  obzirom  da  je  u  većini  primena  upravljački  signal  C  povezan  sa  sistemskim  taktnom,  SR  leč  sa 

dozvolom se često naziva taktovani SR leč. 

2.1.1.3 D leč

Projektanti koji koriste SR lečeve moraju voditi računa da ulazi S  i R nikada u isto vreme ne postanu 

jednaki 1. Ovo ograničenje se može  izbeći korišćenjem D  leča, koji  ima samo  jedan ulaz (Sl. 2‐5(a)). 

Kao što je prikazano na Sl. 2‐5(b), D leč sa dozvolom se konstruiše na bazi SR leča tako što se ulaz D 

veže na ulaz S, a D’ na ulaz R SR  leča. Povezivanjem D i D’ na ulaze S i R obezbeđeno je S i R nikada 

Q’

QS

R

C S R Q Q(next)

0 X X 0 00 X X 1 11 0 0 0 01 0 0 1 11 0 1 X 01 1 0 X 11 1 1 X ND

Page 38: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

38

neće biti jednaki 1 u isto vreme. D leč, takođe, ima ulaz C, koji dozvoljava rad D leča, na sličan način 

kao što je to bio slučaj kod SR leča sa dozvolom. Kada je C=1, izlaz Q se postavlja na vrednost koja je 

prisutna na ulazu D. Suprotno, kada  je C=0,  izlaz Q zadržava poslednju vrednost koju  je ulaz D  imao 

pre opadajuće ivice signala C. Drugim rečima, sve dok je C=1, Q prati promene ulaza D. Kaže se da je 

leč transparentan. U trenutku kada C postane jednako 0, tekuće stanje leča se zamrzava. Kaže se da 

je leč zaključan. Kao i kod SR leča sa dozvolom, postoji ograničenje da ulaz D ne sme da menja svoju 

vrednost u vremenu tsetup pre i thold nakon opadajuće ivice signala C. 

(a)  (b)  (c) 

Sl. 2‐5. D leč sa dozvolom: (a) grafički simbol; (b) logička šema; (c) tabela istinitosti. 

2.1.1.4 Flip-flopovi

Kao što je već objašnjeno, lečevi sa dozvolom predstavljaju jednostavne memorijske elemente koji su 

aktivni, tj. čiji je rad dozvoljen, za sve vreme dok je vrednost upravljačkog signala C=1. Ovakva kola se 

često nazivaju lečevi osetljivi na nivo, s obzirom da su aktivni za sve vreme dok je signal C na visokom 

naponskom nivou. Aktivan leč je transparentan, u smislu da se bilo koja promena na ulazu (S, R ili D) 

utiče na  izlaz, naravno, sa  izvesnim kašnjenjem. Lečevi osetljivi na nivo se ponašaju kao memorijski 

elementi  tek  nakon  opadajuće  ivice  upravljačkog  signala,  C,  kada  zadržavaju  stanje  postavljeno 

poslednjom promenom ulazne vrednosti koja se desila pre opadajuće ivice signala C. 

Projektanti moraju biti veoma obazrivi kada koriste  lečeve osetljive na nivo, pošto dugi vremenski 

intervali  tokom kojih  je  leč  transparentan ponekada mogu omogućiti neželjenim  informacijama da 

˝uđu˝ u leč. Na primer, razmotrimo 3‐bitni pomerački registar kojeg čine tri D leča sa dozvolom, kao 

što je prikazano na Sl. 2‐6(a). U prikazanoj strukturi, ulazni signal X je povezan na ulaz D prvog  leča. 

Izlaz, Q1, prvog  leča  je povezan na ulaz D drugog  leča, a  izlaz, Q2, dugog  leča na ulaz D trećeg  leča. 

Upravljački  ulaz C  je povezan na  sistemski  takt Clk  koji  sinhronizuje  rad  svih  lečeva.  Idealno, ovaj 

pomerački registar bi trebalo da radi na sledeći način: u toku svakog taktnog impulsa, vrednost X se 

upisuje u prvi leč, vrednost prvog leča se premešta u drugi, a vrednost drugog leča u treći. 

Međutim, kao što se može videti na vremenskom dijagramu sa Sl. 2‐6(b), pomeranje informacije, koje 

se zaista dešava, ne odgovara očekivanom. Na primer, pretpostavimo da su svi lečevi u resetovanom 

stanju (Q1=Q2=Q3=0) i da u toku prvog taktnog impulsa ulazni signal X ima vrednost 1, a da je nakon 

toga njegova vrednost 0. Drugim rečima, sadržaj pomeračkog registara bi trebalo da počev od 000, a 

nakon prvog, drugog  i  trećeg  taktnog  impulsa  redom dobija vrednosti 100, 010  i 001. Međutim, u 

realnosti dešava se nešto drugo: počev od sadržaja 000, nakon prvog taktnog im 

pulsa, sadržaj pomeračkog registara se menja na 111, da bi nakon drugog ponovo postao 000, a ova 

vrednost  se zadržava  i posle  trećeg  taktnog  impulsa. Drugim  rečima, pomerački  registar  se ponaša 

kao jedan D leč koji u svakom taktnom ciklusu memoriše vrednost ulaznog signala X. 

Page 39: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

39

 

(a) 

 

(b) 

Sl. 2‐6. Neispravno pomeranje u pomeračkom registru sa D lečevima; (a) logička šema; (b) vremenski 

dijagram. 

Razlog za opisano ponašanje pomeračkog registra sačinjenog od D lečeva leži u činjenici da su lečevi 

osetljivi  na  nivo  transparentni  za  sve  vreme  trajanja  taktnog  impulsa. Ukoliko  je  trajanje  taktnog 

impulsa dovoljno dugo, ulazni podatak X ima dovoljno vremena da prođe kroz sve lečeve u nizi i javi 

se na  izlazu pomeračkog  registra. Onog  trenutka kada prestane dejstvo  taktnog  impulsa,  svi  lečevi 

memorišu istu vrednost, tj. X. 

Jedna  ideja  za  rešenje  opisanog  problema  bila  bi  da  se  skrati  trajanje  taktnog  impulsa  do  iznosa 

propagacionog  kašnjenja  kroz  jedan  leč. Međutim,  kašnjenja prilikom  setovanja  i  resetovanja  leča 

nisu ista, a to znači da takt koji pri upisu 1 ispravno pobuđuje leč, ne bi imao dovoljnu širinu pri upisu 

0,  ili obrnuto. Takođe, zbog varijacija u procesu fabrikacije, proizvođači  lečeva ne mogu garantovati 

tačne vrednosti kašnjenja. U tom smislu, deklarisana kašnjenja predstavljaju očekivane vrednosti za 

realna kašnjenja koja podležu normalnoj raspodeli. 

Imajući u vidu navedena ograničenja, postoje dva moguća rešenja našeg problema: master‐slave flip‐

flop ili flip‐flop sa ivičnim okidanjem.  

Master‐slave flip‐flop se realizuje pomoću dva leča, od kojih se jedan zove master, a drugi slave (tj. 

slejv). Kao što  je prikazano na Sl. 2‐7(a), ulaz u master  leča  je ujedno  i ulaz  flip‐flopa, dok  je ulaz u 

slave  leč  izlaz  iz master  leča. Izlaz slave leča je ujedno  i  izlaz flip‐flopa. Unutar flip‐flopa, oba  leča se 

pobuđuju istim taktnim signalom, Clk, s tom razlikom što je master leč dozvoljen kada je taktni signal 

jednak 0, a slave leč kada je taktni signal jednak 1. 

Prednost korišćenja ovakvih flip‐flopova je očigledna: s obzirom da master i slave lečevi nikada u isto 

vreme nisu dozvoljeni, master‐slave  flip‐flop nikada nije  transparentan. Kada  je Clk=0, dozvoljen  je 

samo master leč, a njegov sadržaj se prenosi u slave leč tek kada taktni signal postane 1. Uočimo da 

prelazak taktnog signala Clk na vrednost 1, “zaključava” master leč, tako da se njegov sadržaj više ne 

može menjati. 

Page 40: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

40

 

(a) 

 

(b) 

Sl. 2‐7. Master‐slave flip‐flop; (a) logička šema; (b) vremenski dijagram. 

Ponašanje  master‐slave  flip‐flopa  opisano  je  vremenskim  dijagramima  sa  Sl.  2‐7(b).  Vremenski 

dijagrami su nacrtani pod pretpostavkom da je propagaciono kašnjenje kroz D leč pri setovanju 4.0ns, 

odnosno 3.0ns, pri resetovanju. Ulaz D postaje 1 u trenutku t0. Master  leč prihvata ovu promenu, s 

obzirom da  je njegov C ulaz  jednak 1,  i postavlja Qm=1 u  t0+4.0ns. Međutim, sve dok  je Clk=0, ova 

promena ne prolazi kroz slave  leč. U t1 Clk postaje 1, slave  leč postaje transparentan  i u t1+4.0ns na 

izlazu  slave  leča, Qs, postavlja  se 1. Kada ulaz D, u  t3, ponovo postane 0, master  leč prihvata novu 

vrednost, ali se ona ne prenosi kroz slave leč sve do t4+3.0ns. U t5 ulaz D se menja na 1, ali master leč 

ne prihvata ovu promenu sve do t6 kada Clk postaje 0. Znači, Qm dobija vrednost 1 u t6+5.0ns. Uočimo 

da  je kašnjenje povećano za 1.0ns zbog  invertora koji pobuđuje ulaz C master  leča. Nakon što u  t7 

slave  leč postane dozvoljen, na  izlaz Qs se postavlja 1 u  t7+4.0ns. Sličnu promenu ulaza D na 0 u  t8 

master leč ne registruje sve do t9+4.0ns i ona se ne prenosi kroz slave leč sve dok taktni signal ponovo 

ne postane 1. 

Kao  što  je  pokazano  na  Sl.  2‐7,  vrednost  ulaza D  se  unosi  u master  leč  pre  rastuće  ivice  taktnog 

signala, a prenosi u slave leč neposredno nakon iste rastuće ivice. Za sve praktične primene, možemo 

smatrati da se vrednost ulaza D upisuje u flip‐flop u trenutku delovanja rastuće ivice taktnog signala. 

Ako ponovo konstruišemo 3‐bitni pomerački registar, ali sada umesto D  lečeva upotrebimo master‐

slave  flip‐flopove,  dobićemo  logičku  šemu  prikazanu  na  Sl.  2‐8(a)  kojoj  odgovaraju  vremenski 

dijagrami sa Sl. 2‐8(b). Uočimo da ovi novi vremenski dijagrami sadrže isti taktni signal Clk i isti ulazni 

signal X kao i vremenski dijagrami sa Sl. 2‐7(b), ali su prošireni tako da za svaki flip‐flop uključuju dva 

talasna oblika: izlaze iz master i slave lečeva, Qim i Qis, 1≤i≤3. 

Kao što vremenski dijagram pokazuje, nakon što se u t0 ulazni signal X promeni na 1, samo će master 

leč prvog flip‐flopa biti setovan (Q1m=1), u t0+4.0ns. Zatim, nakon što se u t1 taktni signal promeni na 

1, slave leč se setuje u t1+4.0ns. Samo nešto malo kasnije, nakon što se u t2 taktni signal vrati na 0, u 

t2=5.0ns setuje se master leč drugog flip‐flopa (Q2m=1). Uočimo da kada se u t3 ulazni signal X vrati na 

0, master  leč prvog flip‐flopa se setuje (Q1m=0). Nakon sledeće rastuće  ivice takta, u t3+3.0ns Q1s se 

Page 41: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

41

vraća na 0, dok  se u  t4+4.0ns Q2m postavlja na 1.  Slično,  treća  ivica  taktnog  signala  resetuje Q2m  i 

setuje Q3m. 

(a) 

 

(b) 

Sl. 2‐8. Pomerački registar realizovan master‐slave flip‐flopovima; (a) logička šema; (b) vremenski dijagram. 

Kao što se može videti, pomerački registar konstruisan pomoću master‐slave flip‐flopova se ponaša 

baš  kao  što  treba:  sa  svakom  rastućom  ivicom  taktnog  signala  pomera  upisani  sadržaj  za  jednu 

poziciju udesno. Znači, svakom taktnom ciklusu odgovara jedno stanje pomeračkog registra, koja (za 

sekvencu vrednosti ulaznog signala sa Sl. 2‐8(b)) se počev od stanja 000, menjaju u redosledu 100, 

010, 001, da bi se, posle toga, registra vratio u stanje 000. 

Flip‐flop sa ivičnim okidanjem realizuje se pomoću tri SR leča: set leč, reset leč i izlazni leč, kao što se 

može videti na Sl. 2‐9(a). U trenutku delovanja rastuće ivice taktnog signala Clk, promena signala Clk 

se pamti u set leču, ako je D=1, odnosno u reset leč, ako je D=0. Drugim rečima, signali A i B registruju 

promene ulaza D sve dok  je Clk=0. Način rada  flip‐flopa sa  ivičnim okidanjem detaljno  je objašnjen 

vremenskim dijagramom sa Sl. 2‐9(b). D flip‐flop sa ivičnim okidanjem je najčešće korišćeni oblik flip‐

flopa. 

Clk

X

Q1m

Q1s

Q2m

Q2s

Q3m

Q3s

t0 t1 t2 t3 t4 t5 t6 t7

4.0

4.0

5.0

4.0

5.0

4.0

3.0

3.0

4.0

3.0

4.0

Page 42: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

42

(a)  (b) 

Sl. 2‐9. Flip‐flop sa ivičnim okidanjem: (a) logička šema; (b) vremenski dijagram. 

Pretpostavimo da propagaciono kašnjenje  svih NAND kola ugrađenih u  flip‐flop  sa Sl. 2‐9(a)  iznosi 

1.4ns. Dok je Clk=0, oba signala S i R su jednaka 1, što drži izlazni leč u tekućem stanju. Kada se u t0 D 

promeni, B ide na 0 u t0+1,4ns a A na 1 u t0+2.8ns. Izlaz Q ostaje nepromenjen sve dok se u t1 Clk ne 

promeni na 1,  što u  t1+1.4ns postavlja  S=0,    a u  t1+2.8ns Q=1. Kada  se u  t2 Clk  vrati na 0,  S  se u 

t2+1.4ns  vraća na  1,  a Q  zadržava  tekuće  stanje,  tj.  1. nakon  što u  t3 D postane  0, B postaje  1  u 

t3+1.4ns, a A postaje 0 u t3+2.8ns. 

Nakon rastuće ivice signala Clk u t4, R se menja na 0 u t4+1.4ns, a Q na 0 u t4+4.2ns. Promena ulaza D 

u  t5  se ne  registruje  sve do opadajuće  ivice  signala Clk u  t6, a onda  se, u  t6+1.4ns, R vraća na 1, u 

t6+2.8ns B postaje 1  i u t6+4.3ns A postaje 1. Nakon rastuće  ivice signala Clk,  i postavljanja S na 0 u 

t7+1.4ns, u t7+2.8ns Q se postavlja na 1. 

Uočimo, ponovo, da se naknadne promene ulaza D u  t8 ne prenose na  izlaz Q, ali se zato unose u 

reset  leč kada u t8+1.4ns B postane 1  i u set  leč kada u t8+2.8ns A postane 0. Ako se nakon t8 D ne 

promeni,  vrednost  izlaza Q  postaće  0  sa  sledećom  rastućom  ivicom  signala  Clk. Međutim,  ako  se 

posle t8, a pre rastuće ivice signala Clk, D promeni, vrednosti signala A i B će registrovati ovu promenu 

i proslediće je na izlaz Q u trenutku delovanja sledeće rastuće ivice signala Clk. 

2.1.1.5 Tipovi flip-flopova

Postoji  nekoliko  tipova  flip‐flopova  koji  se  razlikuju  po  funkciji  i  načinu  konstrukcije.  Opšte 

karakteristike  svih  flip‐flopova  su  sledeće:  (a)  flip‐flop menja  stanje  sa  rastućom  (ili  opadajućom) 

ivicom  taktnog  signala;  (b)  ulazi  podataka moraju  biti  stabilni  u  vremenu  tsetup  pre  i  vremenu  thold 

nakon aktivne ivice taktnog signala. 

U primeni su četiri osnovna tipa flip‐flopova: SR, JK, D i T, koji se razlikuju po broju ulaza i načinu na 

koji  flip‐flop  reaguje na ulazne vrednosti. Flip‐flop se opisuje grafičkim simbolom,  tabelom prelaza, 

prenosnom  funkcijom  i  tabelom pobude. Tabela sa Sl. 2‐10   sadrži definicije  četiri  tipa  flip‐flopova. 

Grafički  simbol  pokazuje  broj  i  tipove  ulaza  i  izlaza.  Svi  flip‐flopovi  imaju  izlazne  signale  Q  i  Q’. 

Clk

D

Q

Q’

A

S

R

B

Set leč

Reset leč

Izlazni leč

Page 43: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

43

Vrednost  na  izlazu  Q  (pravi  izlaz  flip‐flopa)  ukazuje  na  tekuće  stanje  flip‐flopa.  Komplementarna 

vrednost izlaza Q prisutna je izlazu Q’. Takođe, svi flip‐flopovi poseduju ulaz za taktni signal. Trougao 

na ulazu na  takt ukazuje da  se  flip‐flop  taktuje  rastućom  ivicom  taktnog  signala. Dodatni kružić na 

ulazu za takt ukazivao bi na taktovanje opadajućom ivicom. 

Tip flip-flopa Simbol Tabela prelaza Prenosna funkcija

SR

Q(next) = S + R’Q

sa ograničenjem SR=0

JK

Q(next) = JQ + K’Q

D

Q(next) = D

T

Q(next) = TQ’ + T’Q

Sl. 2‐10. Tipovi flip‐flopova. 

Svaki flip‐flop ima jedan ili dva ulaza podataka. RS flip‐flop ima dva ulaza, S (Set) i R (Reset) koji, kada 

su aktivni, setuju, odnosno resetuju flip‐flop. Drugim rečima, ako u momentu rastuće ivice takta važi 

S=1 i R=0, izlaz flip‐flopa Q se postavlja na 1; za S=0 i R=1 izlaz se postavlja na 0. Slično RS flip‐flopu, JK 

flip‐flop, takođe, ima dva ulaza, J i K, koji, kada su aktivni, setuju ili resetuju flip‐flop. Dodatno, kada 

su oba ulaza J i K aktivna u isto vreme, JK flip‐flop menja (tj. komplementira) svoje stanje. D flip‐flop 

ima jedan ulaz, D (Data), koji setuje flip‐flop ako je 1, odnosno resetuje flip‐flop ako je 0. T flip‐flop 

ima jedan ulaz T (Toggle), koji, kada je aktivan, menja (tj. komplementira) stanje flip‐flopa. 

U drugoj koloni  tabele sa Sl. 2‐10 date su  tabele prelaza, koje predstavljaju skraćenu  formu  tabele 

istinitosti. U tabeli prelaza, za svaku kombinaciju ulaznih vrednosti i svako tekuće stanje flip‐flopa, tj. 

stanje pre rastuće ivice taktnog signala, navedeno je sledeće stanje flip‐flopa, tj. stanje u koje flip‐flop 

prelazi nakon  rastuće  ivice  taktnog  signala. Tekuće  stanje  flip‐flopa označeno  je  sa Q, a  sledeće  sa 

Q(next). Tabela prelaza se koristi prilikom analize sekvencijalnog kola, kada su vrednosni ulaza u flip‐

flop poznate, a mi želimo da odredimo stanje flip‐flopa nakon rastuće  ivice taktnog signala. Na bazi 

tabele prelaza mogu se izvesti prenosne funkcije flip‐flopova, koje su prikazane u trećoj koloni tabele 

sa Sl. 2‐10. 

Pored  grafičkih  simbola,  tabela  i  funkcija,  flip‐flopovi  se mogu  jednoznačno  opisati  i  dijagramom 

stanja, kod koga  je svako stanje prikazano krugom, a prelaz  između stanja  linijom  (tj. granom) koja 

ima strelicu na strani odredišnog stanja. Ovakav način opisa fili‐flopova prikazan je u tabeli sa Sl. 2‐11. 

Uočimo da su svakoj grani u grafu stanja pridružene vrednosti ulaznih signala koji uslovljavaju prelaz 

iz jednog u drugo stanje. Takođe, treba uočiti da isto stanje može biti i izvor i odredište prelaza. Pošto 

S Q

R Q’

J Q

K Q’

D Q

Q’

T Q

Q’

Page 44: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

44

se  prelazi  dešavaju  u  trenutku  delovanja  ivice  taktnog  signala,  svako  stanje  se može  tretirati  kao 

vremenski interval između dve rastuće ivice taktnog signala. 

Tip flip-flopa Dijagram stanja

SR

JK

D

T

Sl. 2‐11. Dijagrami stanja različitih tipova flip‐flopova. 

Iz tabele sa Sl. 2‐11 vidimo da dijagrami stanja svih flip‐flopova imaju isti broj stanja i isti broj prelaza. 

Flip‐flop je u stanju set kada je Q=1, odnosno, u stanju reset kada je Q=0. Uz to, svaki flip‐flop može 

da pređe  iz  jednog u drugo stanje  ili da ostane u  istom stanju. Jedina razlika  između četiri tipa flip‐

flopova  je u  vrednostima ulaznih  signala  koji  iniciraju prelaze. Dijagrami  stanja  se  često  koriste  za 

vizuelni prikaz rada flip‐flopova, kao i drugih, mnogo složenijih sekvencijalnih kola. 

 (a)  (b)  (c) (d) 

Sl. 2‐12. flip‐flopova sa asinhronim ulazima: (a) SR flip‐flop; (b) JK flip‐flop; (c) D flip‐flop; (d) T flip‐flop. 

Svaki  flip‐flop  je  obično  dostupan  u  dve  varijante:  sa  ili  bez  ulaza  za  direktno  (tj.  asinhrono) 

postavljanje, koji se koriste za setovanje  (ulaz SET)    i  resetovanje  (ulaz CLR)  flip‐flopa nezavisno od 

takta  i ostalih ulaza. Ovi ulazi  se koriste  za postavljanje  flip‐flopa u poznato početno  (tj.  inicijalno) 

stanje. Na primer, stanje u koje će se flip‐flop spontano postaviti nakon što je uključeno napajanje ne 

može  se  predvideti.  Zato  je  neophodno  da  se  pre  početka  normalnog,  sinhronog  rada,  flip‐flop 

postavi  u  odgovarajuće  početno  stanje  posredstvom  asinhronih  ulaza.  Ulazi  SET  i  CLR  se  zovu 

asinhroni zato što ne zavise od taktnog signala i zbog toga imaju prioritet nad svim ostalim sinhronim 

ulazima. Drugim rečima, dok  je asinhroni ulaz aktivan, vrednosti ostalih ulaza  flip‐flopa se  ignorišu. 

Dejstvo asinhronog ulaza počinje onog trenutka kada se na ulaz dovede aktivan naponski nivo (0 ili 1), 

Page 45: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

45

i  traje sve dok se ulaz ne deaktivira. Ako  flip‐flop poseduje oba asinhrona ulaza, SET  i CLR, njihovo 

istovremeno dejstvo nije dozvoljeno. Na Sl. 2‐12 su prikazani grafički simboli flip‐flopova sa ulazima 

za  direktno  postavljanje  sa  aktivnim  niskom  naponskim  nivoom,  što  je  naznačeno  kružićima  na 

odgovarajućim ulazima. Kod asinhronih ulaza sa aktivnim visokim naponskim nivoom, kružići bi bili 

izostavljeni. 

2.2 Registarske komponente Registar je memorijska komponenta koja se sastoji od n flip‐flopova sa zajedničkim taktnim signalom. 

Sinhronizovano  sa  aktivnom  (rastućom  ili  opadajućom)  ivicom  taktnog  signala,  u  svaki  flip‐flop 

upisuje se jedan bit informacije. U svom osnovnom obliku, pored taktnog signala, registar ima n ulaza 

i n izlaza. Na Sl. 2‐13 prikazan je primer 4‐bitnog registra. Grafički simbol 4‐bitnog registra dat je na Sl. 

2‐13(a),  dok  je  na  Sl.  2‐13(b)  prikazana  njegova  unutrašnja  struktura,  koju  čine  četiri  paralelno 

povezana D flip‐flopa. 

 

(a) 

 

(b) 

Sl. 2‐13. 4‐bitni registar: (a) grafički simbol; (b) unutrašnja struktura 

Funkcionalnost  osnovne  varijante  registra,  prikazane  na  Sl.  2‐13,  može  se  proširiti  dodavanjem 

različitih upravljačkih  signala. Na primer, ako  registar  treba biti  resetovan  ili  setovan nezavisno od 

taktnog  signala,  bilo  pri  uključenju  napajanja,  bilo  pri  pojavi  nekih  specifičnih  događaja, mogu  se 

dodati  signali  za  asinhrono  resetovanje  i  setovanje.  Takvo  jedno  proširenje  se  postiže  zamenom 

jednostavnih flip‐flopova sa Sl. 2‐13(b), flip‐flopovima sa ulazima za direktno postavljanje, kao što je 

prikazano na Sl. 2‐14(b). 

Kao što se vidi na Sl. 2‐14, kratkotrajnim aktiviranjem signala Rst sadržaj registra se briše ili resetuje, 

tj. postavlja na  “sve nule”.  Slično,  registar  se  setuje,  tj. njegov  sadržaj postaviti na  “sve  jedinice”, 

kratkotrajnim aktiviranjem signala Set. (S obzirom da je aktivni nivo signala Rst i Set nizak, aktiviranje 

jednog od ova dva signala znači postavljanje 0 na odgovarajući ulaz). Ulazi Rst  i Set su nezavisni od 

taktnog signala i imaju prioritet nad njim. To znači da ako je u trenutku pojave rastuće ivice taktnog 

signala, Set ili Rst jednak 0, ulaz I se ignoriše, a registar se setuje, odnosno resetuje. 

Kod  obe  varijante  registra,  prikazane  na  Sl.  2‐13  i  Sl.  2‐14,  novi  podatak  se  automatski  upisuje  u 

registar sa svakom rastućom  ivicom takta. Međutim, kod mnogih digitalnih sistema, podatak koji  je 

upisan u registar ostaje u registru nekoliko taktnih ciklusa pre nego što se upiše novi podatak. Iz tog 

razloga, mogućnost  kontrole  upisa  predstavlja  korisnu  funkciju  registra.  Kontrola  upisa  se  postiže 

korišćenjem upravljačkog signala Enable (En) koji kada je 1 dozvoljava upis novog podatka u registar. 

Ovakav tip registra se zove registar sa dozvolom. 

Page 46: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

46

 (a) 

 (b) 

Sl. 2‐14. 4‐bitni registar sa asinhronim resetovanjem i setovanjem: (a) grafički simbol; (b) unutrašnja struktura. 

 

(a) 

 

(b)  (c) 

Sl. 2‐15 Registar sa dozvolom: (a) grafički simbol; (b) tabela operacija; (c) unutrašnja struktura. 

Na Sl. 2‐15 su prikazani grafički simbol, tabela operacija i unutrašnja struktura registar sa dozvolom. 

Registar sadrži multipleksere 2‐u‐1 koji omogućavaju izbor između ulaznog podatka i podatka koje je 

već u registru. Signal En upravlja multiplekserima na takav način da kada je En=1, u registar se upisuje 

novi,  tj. ulazni podatak. U  suprotnom, ako  je En=0, podatak koji  je prethodno upisan u  registar  se 

vraća na ulaze  flip‐flopova  i  sa  sledećom  rastućom  ivicom  takta ponovo upisuje u  registar  ‐ dakle, 

sadržaj registra ostaje neizmenjen. 

2.2.1 Pomerački registar

Na primeru registra sa dozvolom pokazano  je kako se postavljanjem multipleksera  ispred ulaza flip‐

flopova može kontrolisati upis u  registar. Sledeći sličnu  logiku, multiplekseri se mogu  iskoristiti  i za 

pomeranje  podatka  zapamćenog  u  registru.  Ovakav  tip  registra  se  zove  pomerački  registar  i 

omogućava  pomeranje  upisanog  sadržaja  za  jednu  bit‐poziciju.  U  osnovnoj  varijanti,  pomerački 

registar poseduje upravljački signal Shift  koji kada je jednak 1 postavlja registar u režim pomeranja. 

Na Sl. 2‐16 je prikazan primer 4‐bitnog pomeračkog registra. Serijski ulaz, IL, se koristi za unos novog 

1‐bitnog podatka u krajnji  levi  flip‐flop  registara. Pomerački  registar, kao što  je  registar sa Sl. 2‐16, 

tipično se koristi za konverziju informacije iz serijskog u paralelni oblik. Iz tog razloga, ovakav registar 

se zove i pomerački registar sa serijskim ulazom i paralelnim izlazom (SIPO – Serial‐In, Parallel‐Out). 

Page 47: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

47

 

(a) 

 (b) 

 (c) 

Sl. 2‐16 Četvorobitni pomerački registar sa serijskim ulazom i paralelnim izlazom: (a) grafički simbol; (b) tabela operacija; (c) unutrašnja struktura. 

Korišćenjem  multipleksera  4‐u‐1,  umesto  multipleksera  2‐u‐1,  moguće  je  kombinovati  funkcije 

pomeranja  i  paralelnog  upisa.  Na  primer,  pomerački  registar  sa  Sl.  2‐17  ima  mogućnost  kako 

pomeranja memorisanog sadržaja tako i upisa novog podatka. Takođe, ovaj registar može da obavlja 

pomeranje u oba smera. Pri pomeranju ulevo 1‐bitni podatak sa ulaza IR (serijski ulaz sa desne strane)  

se upisuje na krajnju desnu poziciju, dok se pri pomeranju udesno, na krajnju levu poziciju upisuje 1‐

bitni podatak sa ulaza IL (serijski ulaz sa leve strane). Na Sl. 2‐17(a) i (b) su prikazani grafički simbol i 

tabela  operacija,  dok  se  na  Sl.  2‐17(c) može  videti  unutrašnja  struktura  ovog multi‐funkcionalnog 

registra. 

 (a) 

 

(b)  (c) 

Sl. 2‐17. 4‐bitni pomerački registar sa paralelnim upisom: (a) grafički simbol; (b) tabela operacija; (c) unutrašnja struktura. 

Registar  sa  Sl. 2‐17  čine  četiri  razreda, gde  svaki  razred odgovara  jednoj bit‐poziciji  i  sastoji  se od 

jednog flip‐flopa i multipleksera 4‐u‐1. Postoje tri tipa razreda, koji se neznatno razlikuju u strukturi: 

krajnji  levi, krajnji desni  i srednji. Srednji razredi se obično projektuju prvi, pošto  je njihova funkcija 

najočiglednija. Na primer, jednačine ulaza flip‐flopova za svaki od tri tipa razreda, dobijene na osnovu 

tabele operacija sa Sl. 2‐17(c) imaju sledeći oblik: 

 

, 1 2   

D3 Q3 D2 Q2 D1 Q1 D0 Q0

Q3 Q2 Q1 Q0

Clk

S1

IL

3 2 1 0mux

3 2 1 0mux

3 2 1 0mux

3 2 1 0mux

S0

I3 I2 I1 I0

IR

Page 48: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

48

Pomerački  registar  sa  paralelnim  upisom može  se  koristiti  za  konverziju  informacija  iz  serijskog  u 

paralelni  oblik  i  obrnuto,  sa  opcijom  da  prilikom  paralelno‐serijske  konverzije  prvo  generiše  bit 

najmanje ili bit najveće težine. Registri ovog tipa, često se koriste za konverziju računarskih podataka 

u  serijski oblik pogodan  za  komunikaciju  i  rekonstrukciju  serijski prenetih podataka u  cilju obrade 

unutar računara. 

2.2.2 Binarni brojač

Binarni brojač je posebna vrsta registara koji sadrži inkrementer, što omogućava brojanje. Na primer, 

na Sl. 2‐18  je prikazan 4‐bitni binarni brojač koji  ima dva upravljačka signala: signal dozvole (E), koji 

kada  je 1 omogućava brojanje  i  signal Rst  koji  resetuje brojač,  tj. postavlja  ga u  stanje 0. Grafički 

simbol 4‐bitnog binarnog brojača prikazan je na Sl. 2‐18(a), a tabela operacija na Sl. 2‐18(b). Shodno 

Sl. 2‐18(d) inkrementer se sastoji od niza polusabirača (half‐adder – HA) raspoređenih tako da su dva 

ulaza polusabirača na bit‐poziciji i povezani na izlaz i‐tog flip‐flopa Qi i izlazni prenos polu‐sabirača sa 

pozicije i‐1, Ci. Uočimo da će nova vrednost flip‐flopa Di biti 1 ako važi da je bilo Qi bilo Ci, ali ne oba, 

jednako 1. Suprotno tome, izlaz Ci+1 biće jednak 1 samo ako su Qi i Ci oba jednaki 1. Tabela istinitosti 

polu‐sabirača data je na Sl. 2‐18(c). Polazeći od ove tabele dolazimo do sledećih jednačine za Di i Ci+1: 

Sve dok je signal E jednak 1, brojač će brojati naviše po modulu 16, dodajući 1 na svoj tekući sadržaj 

sa svakom rastućom ivicom taktnog signala. 

 (a) 

 (b) 

 (c) 

 (d) 

Sl. 2‐18. 4‐bitni binarni brojač: (a) grafički simbol; (b) tabela operacija; (c) tabela istinitosti; (d) unutrašnja struktura. 

2.2.3 Obostrani brojač

Obostrani brojač,  tj. brojač koji može brojati  i naviše  i naniže,  konstruiše  se  tako  što  se u brojaču 

naviše  polusabirači  zamene  polu‐sabiračima/oduzimačima  (half‐adder/substractor  –  HAS).  HAS 

moduli, pod kontrolom signala za izbor smera brojanja, obavljaju inkrementiranje ili dekrementiranje. 

Page 49: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

49

Na primer, na Sl. 2‐19 je prikazan obostrani brojač koji u najvećem delu nalikuje brojaču naviše sa Sl. 

2‐18 s tom razlikom što poseduje dodatni upravljački ulaz, D. Kao što je ukazano tabelom operacija sa 

Sl.  2‐19(b),  svrha  ovog  dodatnog  ulaza  je  postavljanje  brojača  u  režim  brojanja  naviše,  kada  je 

njegova vrednost 0, odnosno u režim brojanja naniže, kada je njegova vrednost 1. Na osnovu tabela 

istinitosti polu‐sabiračima/oduzimačima sa Sl. 2‐19(c) možemo izvesti sledeće jednačine za Di i Ci+1: 

Kao što vidimo na Sl. 2‐19(d), svaki polu‐sabirač/oduzimač se sastoji od jednog XOR kola povezanog 

na ulaz flip‐flopa, kao i dva AND i jednog OR kola koja se koriste za propagaciju izlaznog prenosa. 

Važno  je  uočiti  da  obostrani  brojač  sa  Sl.  2‐19  uvek  počinje  brojanje  od  0. Međutim,  u mnogim 

primenama korisno  je  imati mogućnost postavljanja brojača na vrednost  različitu od nule, a  zatim 

nastaviti sa brojanjem, naviše  ili naniže. Ovakav  tip brojača se zove brojač sa paralelnim upisom, a 

konstruiše  se  kombinovanjem  inkrementera  /dekrementera  i  registra  sa  dozvolom.  Kao  što  je 

prikazano na Sl. 2‐20, brojač sa paralelnim upisom  ima  tri upravljačka signala: E, D  i Load. Signal E 

omogućava brojanje u  smeru  koji  je određen  signalom D.  Signal  Load, uvek  kada  je  1,  zabranjuje 

brojanje i upisuje u registar podatak sa ulaza I. Ako važi Load=0, brojač se ponaša na identičan način 

kao  obostrani  brojač  sa  Sl.  2‐19.  Tabela  operacija  i  unutrašnja  struktura  obostranog  brojača  sa 

paralelnim upisom prikazani su na Sl. 2‐20(b) i (c). 

 (a) 

 (b) 

 (c) 

 

(d) 

Sl. 2‐19. 4‐bitni obostrani brojač: (a) grafički simbol; (b) tabela operacija; (c) tabela istinitosti polu‐sabirača/oduzimača; (d) unutrašnja struktura. 

C3 C2

Clk

D3 Q3

Q3'

D2 Q2

Q2'

D1 Q1

Q1'

D0 Q0

Q0'

HAS HAS HAS HAS

Q3 Q2 Q1 Q0Izlazni prenos

C0C1

Rst

E

D

Page 50: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

50

 

(a) 

 

(b) 

 

(c) 

Sl. 2‐20. 4‐bitni obostrani brojač sa paralelnim upisom: (a) grafički simbol; (b) tabela operacija; (c) unutrašnja 

struktura. 

2.2.4 BCD brojač

Brojač sa paralelnim upisom može biti  iskorišćen za konstrukciju drugih tipova brojača. Jedna takva 

primena je BCD brojač koji broji na sledeći način: 0, 1, 2, 4, 5, 6, 7, 8, 9, 0, ... Kao što je pokazano na 

Sl. 2‐21(a), BCD brojač se može konstruisati tako što će se detektovati kada brojač stigne u stanje 9, a 

onda, u sledećem taktnom ciklusu, umesto prelaza u stanje 10, u brojač upisati 0. Detekcije stanje 9 

ostvarena  je uz pomoć AND kola čiji  je  izlaz  jednak 1 kada  je sadržaj brojača 1001 (tj. decimalno 9). 

Izlaz AND kola je povezan sa ulazom Load brojača, što omogućava da se sa sledećom rastućom ivicom 

taktnog signala u brojač upiše 0. 

Obostrani BCD brojač se konstruiše na sličan način. U smeru “naviše”, u brojač treba upisati 0 uvek 

kada njegovo stanje postane 9, dok u smeru “naniže” u brojač  treba upisati 9 kada njegovo stanje 

postane 0. Kao što je prikazano na Sl. 2‐21(b), za izbor između upisa 0 ili 9 koristi se multiplekser, dok 

se detekcija stanja 0 i 9 vrši uz pomoć AND‐OR mreže. 

 (a) 

 (b) 

Sl. 2‐21. BCD brojači: (a) BCD brojač naviše; (b) obostrani BCD brojač. 

D I3 I2 I1 I0

E Obostrani brojač

Load Q3 Q2 Q1 Q0

mux

1 0 0 1 0 0 0 0

01

‘0’

‘9’

clk

ED

Q3 Q2 Q1 Q0

Page 51: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

51

Na sličan način projektuju se brojači koji počinju brojanje iz bilo kog stanja i broje u gotovo bilo kom 

redosledu. Međutim, uočimo da svako pojedinačno “iskakanje” iz prirodne sekvence brojanja zahteva 

ugradnju dodatnog logičkog kola za detekciju i dodatni multiplekser za izbor vrednosti koja se upisuje 

u brojač.

2.2.5 Registarski fajl

U prethodnim odeljcima opisani su  različiti  tipovi  registara  i brojača, od kojih se svaki sastoji od m 

flip‐flopova  i dodatne  kombinacione  logike. Međutim,  takođe  je moguće  rasporediti  flip‐flopove u 

dvodimenzionalno polje  koje  će  sadržati 2n vrsta od po m  flip‐flopova. Svaka vrsta u  jednoj  takvoj 

dvodimenzionalnoj  strukturi,  koja  se  zove  registarski  fajl,  može  se  smatrati  jednim  registrom. 

Registarski fajl memoriše  istu količinu  informacije kao  i 2n nezavisnih m‐bitnih registara. Međutim, s 

obzirom na  regularnost  strukture,  registarski  fajl  zahteva manji broj  internih  veza,  a  time  i manju 

površinu  na  mikročipu  u  odnosu  na  odgovarajući  broj  nezavisnih  registara.  Uz  to,  flip‐flopovi 

registarskog fajla se mogu realizovati sa manjim brojem tranzistora.  

 

(a) 

 

(b) 

 

(c) 

Sl. 2‐22 Registarski fajl sa jednim portom za upis i jednim portom za čitanje: (a) ćelija registarskog fajla; (b) grafički simbol; (c) unutrašnja struktura. 

RFC RFC RFC RFC

RFC RFC RFC RFC

RFC RFC RFC RFC

RFC RFC RFC RFC

Dekoderza upis2-u-4

Dekoder za čitanje2-u-4

I3 I2 I1 I0

O3 O2 O1 O0

WA1

WA0

WE

0

1

2

3

0

1

2

3

RA1

RA0

RE

Page 52: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

52

Registarski fajl čine: dvodimenzonalno polje registarskih ćelija  (register‐file cells – RFC), dekoderi za 

čitanje  i upis  i  izlazna baferska  logika. Kao  što  je prikazano na Sl. 2‐22(a),  tipičnu  registarska  ćeliju 

sadrži  jedan  D  flip‐flop  i  dva  logička  kola. Osim  taktnog  signala,  ćelija  ima  tri  ulaza  i  jedan  izlaz: 

Write_select, Read_select,  Input  i Output. Pri Write_select=1, vrednost signala  Input se upisuje u D 

flip‐flop pod dejstvom  rastuće  ivice  taktnog  signala. Kada  je Read_select=1,  sadržaj D  flip‐flopa  se 

prenosi na izlaz Output kroz trostatički bafer. Primetimo da je u istom taktnom ciklusu moguće čitati 

trenutni sadržaj registarske ćelije  (Read_select = 1)  i pripremati upis nove vrednosti (Write_select = 

1). 

Na  Sl.  2‐22(b)  je  prikazan  blok  dijagram  registarskog  fajla  kapaciteta  2nxm,  dok  je  na  Sl.  2‐22(c) 

prikazana unutrašnja organizacija registarskog fajla kapaciteta 4x4. (Iz razloga jednostavnijeg prikaza, 

na Sl. 2‐22(c) je izostavljen taktni signala.)   Registarski fajl kapaciteta 2nxm ima m ulaza Im‐1, …, I0, m 

izlaza Om‐1, …, O0  i 2n vrsta  flip‐flopova, kao što  je prikazano na Sl. 2‐22(c). Dekoder za upis služi za 

izbor  vrste  u  koju  će,  u  trenutku  delovanja  rastuće  ivice  taktnog  signala,  biti  smeštena  ulazna 

vrednost. Ulaz dekodera  za upis  se  sastoji od n adresnih  linija, WAn‐1, …, WA0  i  signala  za dozvolu 

upisa, WE. Ako je WE=0, ulazna vrednost se ne upisuje u registarski fajl. 

Slično dekoderu za upis, dekoder za čitanja bira vrstu čiji sadržaj se prenosi na izlaz registarskog fajla. 

Dekoder za  čitanje  ima n adresnih  linija, RAn‐1, …, RA0  i signal dozvole  čitanja, RE. Pri RE=1, sadržaj 

izabrane vrste se pojavljuje na izlazu registarskog fajla nakon manjeg kašnjenja kroz izlazne bafere. S 

druge strane, ako je RE=0, izlazni signali registarskog fajla su u stanju visoke impedanse. 

Glavno  ograničenje  registarskog  fajla  sastoj  se  u  činjenici  da  on  omogućava  ograničen  pristup 

registrima  iz  fajla –  tj. uvek  se može upisivati  samo u  jedan  registar  (vrstu)  i  čitati  iz  samo  jednog 

registara (vrste). Ovakva situacija može se donekle popraviti konstrukcijom registarskog fajla sa više 

od jednog porta za čitanje ili upis. Nažalost, cena registarskog fajla raste srazmerno broju portova. Iz 

tog razloga, većina popularnih tipova registarskih fajlova ima jedan ili dva porta za upis i dva porta za 

čitanje. Glavno opravdanje za dva porta za čitanje jeste da su većina aritmetičkih i logičkih operacija 

binarne  i da stoga, u  isto vreme, zahtevaju dva operanda. Sa dva porta za  čitanje  i  jednim za upis, 

moguće je, u toku istog taktnog ciklusa, iz registarskog fajla pribaviti dva operanda i smestiti rezultat 

nazad  u  registarski  fajl.  Sa  druge  strane,  opravdanje  za  korišćenje  dva  porta  za  upis  leži  u  brzini 

konzumiranja operanada: U svakom taktnom ciklusu koristimo dva operanda da bi smo dobili  jedan 

rezultat.  Shodno  tome,  ako  nam  je  cilj  da  obavljamo  jednu  operaciju  po  taktnom  ciklusu, mora 

postojati mogućnost da se u svakom taktnom ciklusu, u registarski fajl unese jedan novi podatak osim 

rezultata koji se vraća u registarski fajl. 

Na Sl. 2‐23 prikazan je primer registarskog fajla sa jednim portom za upis i dva porta za čitanje. Kao 

što  se  vidi  na  Sl.  2‐23(a),  registarska  ćelija  je modifikovana  u  odnosu  na  Sl.  2‐22(a)  kako  bi  se 

obezbedila  podrška  za  dva  porta  za  čitanje.  Grafički  simbol  registarskog  fajla  prikazan  je  na  Sl. 

2‐23(b). Na Sl. 2‐23(c) prikazana je unutrašnja struktura registarskog fajla kapaciteta 4x4. Uočimo da 

je dijagram  sa Sl. 2‐23(c)  sličan  strukturi  registarskog  fajla  sa Sl. 2‐22(c), osim  što nova verzija  ima 

jedan dodatni dekoder za čitanje, koji, sa svoje strane, unosi po jednu dodatnu vezu ka svakoj vrsti i 

koloni. Uz pomoć ovih veza omogućen je prenos sadržaja do drugog porta za čitanje. 

Registarski  fajlovi  spadaju  u  brze memorijske  komponente,  zahvaljujući  činjenici  da  su  registarske 

ćelije realizovane na bazi  flip‐flopova  ili  leč kola. Međutim, budući da svaki  flip‐flop sadrži barem 6 

Page 53: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

53

tranzistora, registarski fajl  je skupa memorija. Iz tog razloga, registarski fajlovi se tipično koriste kao 

privremena memorija malog kapaciteta u primenama koje zahtevaju veliku brzinu obrade podataka. 

(a) 

 

(b) 

 

(c) 

Sl. 2‐23. Registarski fajl sa jednim upisnim portom i dva porta čitanje: (a) ćelija registarskog fajla; (b) grafički simbol; (c) unutrašnja struktura. 

2.2.6 RAM

U odeljku 2.2.5 opisan je registarski fajl, koji predstavlja brzu memoriju malog kapaciteta pogodnu za 

privremeno  čuvanje  vrednosti promenljivih u  toku nekog  složenijeg  izračunavanja.  S druge  strane, 

RAM (Random‐access memory, ili memorija sa proizvoljnim pristupom) predstavlja sporiju memoriju 

daleko većeg kapaciteta pogodnu za dugotrajno smeštanje programa i podataka koji se koriste tokom 

izračunavanja.  Slično  registarskom  fajlu, RAM  je  organizovan  u  vidu  polja  od  2n  vrsta  sa m  bita  u 

D Q

Read_select

(port A)

OutA

Write_select

Clk

Input

RFC

OutB

Read_select

(port B)

Page 54: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

54

svakoj vrsti. U opštem slučaju, n se kreće  između 16  i 32, dok  je m, obično 1, 4, 8, 16  ili 32. Tipična 

memorija  nalikuje  onoj  sa  Sl.  2‐24(a).  S  obzirom  da  memorija  ima  2n  vrsta,  za  jednoznačnu 

identifikaciju  svake  vrste  potrebno  je  n  adresnih  linija.  Pored  adresnih  linija, memorija  poseduje 

ulazni signal Chip_select (CS) koji se koristi prilikom konstrukcije većih memorija na bazi memorijskih 

čipova manjeg  kapaciteta. Uvek  kada  je  CS=1, memorija  normalno  funkcioniše. Međutim,  kada  je 

CS=0, pristup memoriji  radi  čitanja  ili upisa  je onemogućen. Takođe, memorijski  čip  ima  još  jednu 

upravljačku  liniju,  Read/write_select  (RWS),  koja  bira  jednu  od  dve memorijske  operacije:  upis  ili 

čitanje.  Kada  je  RWS=0, memorija  čita  svoj  sadržaj  sa  lokacije  određene  adresinim  linijama  koji 

postaje  dostupan  na  izlaznom  portu.  S  druge  strane,  kada  je  RWS=1,  memorija  upisuje  sadržaj 

prisutan na ulaznom portu u lokaciju određenu adresnim linijama. 

RAM,  takođe,  ima m‐bitni ulazni  i m‐bitni  izlazni port. Za male vrednosti m  (npr. 1  ili 4), memorija 

može  imati  razdvojene  ulazne  i  izlazne  portove.  Međutim,  da  bi  se  smanjio  broj  pinova  na 

memorijskom  čipu,  ulazni  i  izlazni  port  su  obično  objedinjeni  u  jedinstven  ulazno/izlazni  port.  U 

opštem slučaju, broj pinova na čipu određuje površnu koju čip zauzima na štampanoj ploči. Grafički 

simboli oba tipa pakovanja memorije su prikazana na Sl. 2‐24(b). 

 

(a) 

 

(b) 

Sl. 2‐24. RAM memorija: (a) memorijske adrese i sadržaj; (b) grafički simboli. 

RAM memoriju čine: polje memorijskih ćelija, adresni dekoder i ulazno/izlazni (U/I) baferi. Kao što je 

prikazano na  Sl. 2‐25(a), memorijska  ćelija  (memory  cell – MC) može  se  simbolički predstaviti  kao 

struktura  koju  čine:  taktovani  D  leč,  jedno  AND  kolo  i  izlazni  trostatički  bafer.  Kada  je  signal 

Row_select  jednak 1, bit  informacije  zapamćen u  leču  se prenosi na  izlaz Output. Ako  je pri  tom  i 

signal Write_enable jednak 1, vrednost sa ulaza Input se pamti u leču. Uočimo da signal Write_enable 

služi kao signal takta za  leč. Iako je memorijska ćelija predstavljena uz pomoć  leča  i dva gejta, treba 

razumeti da se ona realizuje sa daleko manjim brojem tranzistora u odnosu na registarsku ćeliju.  

Shodno načinu  implementacije, memorije se dele na statički  i dinamički RAM. Statički RAM (SRAM) 

se  konstruiše  na  bazi memorijskih  ćelija  sa  četiri  do  šest  tranzistora  kod  kojih  se  leč  realizuje  uz 

pomoć unakrsno spregnutih invertora (2 tranzistora), dok se za AND kolo i trostatički bafer koristi još 

po  jedan  tranzistor.  SRAM  memorija  čuva  upisani  sadržaj  sve  dok  se  ne  upiše  novi  ili  isključi 

napajanje.  S druge  strane,  kod dinamičke RAM memorije  (DRAM),  za  realizaciju memorijske  ćelije 

koristi se samo  jedan tranzistor. Takva memorijska ćelija gubi upisani sadržaj pri svakom čitanju, te 

zbog  toga  nakon  svakog  čitanje  mora  da  sledi  upis  upravo  pročitanog  podataka.  Takođe,  kao 

Memorijska adresa

Binarno Decimalno

0 … 000 0 011 … 0100 0 … 001 1 011 … 01000 … 010 2 101 … 00110 … 011 3 011 … 10100 … 100 4 010 … 11000 … 101 5 000 … 00010 … 110 6 110 … 10000 … 111 7 101 … 0110. . .. . .. . .

1 … 110 2n-2 000 … 00011 … 111 2n-1 111 … 1101

Sadržaj memorije

m bita

Page 55: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

55

posledica nesavršenog postupka fabrikacije, sadržaj memorijske ćelije se spontano i nepovratno gubi 

nakon izvesnog vremena po upisu. Da bi memorijska ćelija uspela da sačuva svoj sadržaj, neophodno 

joj  je pristupati sa nekom određenom  frekvencijom,  ili periodično obnavljati  (ili osvežavati) upisani 

sadržaj. U  toku osvežavanja, operacije  čitanja  i upisa se suspenduju, što može u nekim slučajevima 

biti problem. Međutim, bez obzira na  sve  to,  zahvaljujući  superiornim  karakteristikama u pogledu 

gustine  pakovanja  i  cene, DRAM memorije  se  veoma  često  koriste  za  projektovanje  najrazličitijih 

elektronskih uređaja. S druge strane, SRAM memorije su,  iako skuplje, brže  i zbog toga pogodne za 

primene koje ne zahtevaju veliku količinu memorije, kao i tamo gde brzi pristup memoriji predstavlja 

imperativni zahtev. 

 

(a) 

 

(b) 

Sl. 2‐25. Organizacija RAM memorije: (a) memorijska ćelija; (b) unutrašnja struktura.  

SRAM  i DRAM memorije su  tzv. nepostojane memorije  (volatile memories), s obzirom da se njihov 

sadržaj  gubi  kada  se  isključi  napajanje.  S  druge  strane,  ROM  i  PROM memorije  su  tzv.  postojane 

memorije, s obzirom da zadržavaju sadržaj čak i nakon isključenja napajanja. 

Na Sl. 2‐25(b)  je prikazan primer memorije 4x4 koja  ima 16 memorijskih ćelija. Radi pristupa svakoj 

memorijskoj ćeliji, adresni dekoder dekodira adresu  i selektuje jednu od vrsta. Pri tome, ako su oba 

signala RWS  i CS  jednaka 1, u  selektovanu vrstu upisuje  se novi sadržaj.  Iako  su  sadržaji  svih  ćelija 

prisutni na izlaznim linijama, izlazni tro‐statički baferi su zakočeni što omogućava novom podatku koji 

je prisutan na ulazno/izlaznom portu da bude upisan. Međutim,  ako  je RWS=0  i CS=1, podatak  iz 

selektovane vrste se kroz tro‐statičke bafere prosleđuje na U/I port. 

Kao što je već rečeno, memorijske komponente se po pravilu proizvode u veličinama 2nxm, gde n i m 

mogu  da  variraju  unutar  širokog  opsega  brojeva.  Međutim,  uopšteno  govoreći,  za  konkretnu 

implementacionu  tehnologiju  i  godinu  proizvodnje,  proizvod  2nxm,  tj.  kapacitet  memorije,  je 

Page 56: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

56

konstanta. Imajući to u vidu, u slučajevima kada memorija potrebnog kapaciteta nije dostupna u vidu 

monolitnog  čipa,  ona  se mora  konstruisati  pomoću memorijskih  čipova manjeg  kapaciteta  koji  su 

dostupni na tržištu u vremenu projektovanja. U nastavku ovog odeljka biće opisano kao se realizuju 

“šire”  i veće memorije, tj. kao postići da m  i n budu veći od kapaciteta koji  je raspoloživ na  jednom 

memorijskom čipu. 

Proširenje memorijske  reči,  tj.  formiranje memorije  sa  većim m, postiže  se paralelnim  vezivanjem 

nekoliko memorijskih  čipova. Na Sl. 2‐26  je prikazan primer konstrukcije RAM memorije kapaciteta 

16Kx32 korišćenjem RAM  čipova kapaciteta 16Kx8  (K  je oznaka za kilo,  tj. 210). Kao što se vidi, kod 

ovog rešenja, adresne linije, kao i linije CS i RWS, povezane su sa svim memorijskim čipovima. Uočimo 

da su ulazna i izlazna magistrala podeljene na četiri grupe od po 8 linija, pri čemu su linije iz iste grupe 

povezane  sa  jednom memorijom. Korišćenjem ovog postupka u mogućnosti  smo da  konstruišemo 

memoriju bilo koje širine. 

Sl. 2‐26. 16Kx32 RAM, realizovan pomoću 16Kx8 RAM. 

Da bi smo realizovali veću memoriju, tj. memoriju sa većim brojem memorijskih lokacija, neophodno 

je povezati nekoliko memorijskih čipova na red, tako da svaki čip sadrži jedan deo od ukupnog broja 

memorijskih  reči. Princip  rešenja prikazan  je na Sl. 2‐27, gde  je pomoću  četiri RAM  čipa kapaciteta 

16Kx8 realizovana RAM memorija kapaciteta 64Kx8. Uočimo da u ovom slučaju svi memorijski čipovi 

dele  istu  ulazne  i  istu  izlaznu magistralu,  kao  i  zajednički  upravljački  signal  RWS. U  toku  pristupa 

memoriji,  za  izbor  čipa  koji  sadrži  traženi  podatak,  koristi  se  signal  CS.  Pretpostavimo  da  RAM 

označen kao M0 na slici sadrži sve podatke sa adresama od 0 do 214‐1, M1 od 214 do 215‐1, M2 od 2

15 

do 215+214‐1 i M3 od 215+214 do 216‐1. Šesnestobitna adresna magistrala je podeljena na dva dela, tako 

da se dva bita najveće težine koriste za  izbor odgovarajućeg čipa, a preostalih 14 bita se koriste za 

izbor konkretne  lokacije  izabranog unutar  čipa. Da bi  se ovo postiglo, 14 bita na pozicijama manje 

težine adresne magistrale su povezani na adresne portove svih memorijskih čipova, dok su dva bita 

najveće težine povezana na dekoder 2‐u‐4, koji određuje koji od četiri memorijska čipa će biti izabran 

za  upis  ili  čitanje.  Ovaj  izbor  se  ostvaruje  povezivanjem  svakog  od  izlaza  dekodera  na  ulaz  CS 

odgovarajućeg memorijskog čipa, kao što je prikazano na Sl. 2‐27.  

Page 57: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

57

Sl. 2‐27. 64Kx8 RAM realizovan pomoću 16Kx8 RAM. 

2.2.7 Stek

Stek  (stack)  ili  magacin  je  memorijska  struktura  koja  se  često  koristi  kako  u  softveru  tako  i  u 

hardveru. Po definiciji, stek  je memorija sa ograničenim pristupom. Za razliku od RAM‐a gde se bilo 

kom  zapamćenom  podatku može  pristupati  u  bilo  kom  vremenu,  podacima  zapamćenim  u  steku 

pristupa se isključivo preko jedne lokacije: vrh steka. Drugim rečima, kada se podatak upisuje u stek, 

ili  stavlja na  stek  (operacije push), on  se  smešta na  vrh  steka  i pri  tome  se  svi prethodno upisani 

podaci spuštaju za  jednu poziciju niz stek. Suprotno tome, kada se podatak čita  iz steka  ili uzima sa 

steka  (operacija  pop),  on  se  sklanja  sa  vrha  steka  i  pri  tome  se  svi  ostali  podaci  podižu  za  jednu 

poziciju naviše uz stek. Na Sl. 2‐28(a)  je prikazan stek dubine 4  (tj. kapaciteta 4  reči) koji  inicijalno 

sadrži dva broja: 34 na  lokaciji Top  i 23 na  lokaciji Top‐1. Na Sl. 2‐28(b) može se videti da stavljanje 

Page 58: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

58

broja 45 na stek zahteva da brojevi 34 i 23 budu premešteni na lokacije Top‐1 i Top‐2. S druge strane, 

kada se broj 45 uzima sa steka, brojevi 34 i 23 se pomeraju naviše, tako da ponovo zauzimaju lokacije 

Top i Top‐1 (Sl. 2‐28(c)). U ovom konkretnom primeru, na stek se može staviti najviše četiri broja, pre 

nego što se stek napuni. Nakon toga, svaki novi upis u stek znači gubitak podatka sa dna steka. 

                                                                    (a)                                (b)                                 (c) 

Sl. 2‐28. Rad steka: (a) sadržaj steka pre upisa broja 45; (b) sadržaj steka nakon upisa broj 45; (c) sadržaj steka 

nakon čitanja broja 45. 

2.2.7.1 Realizacija na bazi pomeračkih registara

Prilikom  projektovanja  steka,  važno  je  uočiti  da  se  zapamćeni  podaci  pomeraju  za  jednu  poziciju 

naniže,  odnosno  naviše,  prilikom  izvođenja  operacija  upisa  i  čitanja.  Na  osnovu  ovog  zapažanja 

zaključujemo da za  realizaciju  steka  treba koristiti pomeračke  registre u kombinaciji  sa obostranim 

brojačem za detekciju praznog, odnosno punog steka. Ove komponente su korišćene za realizaciju m‐

bitnog steka dubine 4 koji  je prikazan na Sl. 2‐29. Konkretno, za  realizaciju su korišćeni univerzalni 

pomerački  registar  ‐ vidi Sl. 2‐17  i obostrani brojač sa Sl. 2‐19. Uočimo da ovaj stek  ima m ulaznih 

linija INi i m izlaznih linija OUTi, 0≤i≤m‐1. Takođe, stek ima tri upravljačka signala, Push/pop, Enable i 

Reset.  

Signal Push/pop upravlja upisom  i čitanjem  iz steka. Kada je Push/pop=0, podatak se upisuje u stek; 

kada  je Push/pop=1, podatak se  čita  iz steka. Signal Enable omogućava  (dozvoljava)  rad steka, dok 

signal Reset, uvek kada je 0, briše sadržaj pomeračkih registara i resetuje obostrani brojač. Rad steka 

je opisan tabelom operacija sa Sl. 2‐29(a). Uočimo da stek  ima dva  izlazna signala, Empty  i Full, koji 

ukazuju na status steka, na sledeći način: ako  je stek prazan, signal Empty  ima vrednost 1; s druge 

strane, kada Full ima vrednost 1, stek je pun (Sl. 2‐29(c)). 

Na Sl. 2‐29(d) se može videti da se stek sastoji  iz m 4‐bitnih pomeračkih  registara  tako da svakom 

ulazu odgovara  jedan pomerački  registar. Pri  svakom upisu u  stek,  svi pomerački  registri obavljaju 

operaciju  pomeranja  udesno.  Slično,  pri  svakom  čitanju  iz  steka,  svi  pomerački  registri  obavljaju 

operaciju  pomeranja  ulevo.  Svaki  novi  podatak  koji  se  stavlja  na  stek,  preko  ulaza  IL  pomeračkog 

registra se upisuje se na poziciju Q3 pomeračkih registara, koja predstavlja vrh steka. Stanje brojača 

ukazuje  na  broj  podataka  u  steku.  Sinhronizovano  sa  svakom  rastućom  ivicom  taktnog  signala, 

pomerački registri obavljaju pomeranje udesno, a brojač broji unapred za 1 (Push/pop=0 i Enable=1), 

odnosno pomeranje ulevo i brojanje unazad (Push/pop=1 i Enable=1). 

Page 59: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

59

 

Push/pop  Enable  Operacija 

X  0  Bez promene 

0  1  Upis (push) 

1  1  Čitanje (pop) 

Push/ pop  Ena. 

Kontrola pom.registra 

Kontrolabrojača 

S1  S0  D  E 

X  0  0  0  X  0 

0  1  1  1  0  1 

1  1  1  0  1  1  

Brojač 

Empty  Full Q2  Q1  Q0 

0  0  0  1  0 

0  0  1  0  0 

0  1  0  0  0 

0  1  1  0  0 

1  0  0  0  1 

(a)  (b)  (c) 

 

(d) 

Sl. 2‐29. Stek dubine 4. (a) Tabela operacija; (b) Tabela izlaza; (c) Tabela upravljanja; (d) struktura steka. 

Logičke  jednačine  za upravljačke  signale pomeračkih  registara  i brojača mogu  se  izvesti na osnovu 

tabele  upravljanja  koja  je prikazana  na  Sl.  2‐29(b). Na  osnovu  ove  tabele možemo  izvesti  sledeće 

jednačine: 

 

/ ∙  

/ ∙  

 

Realizacija ovih jednačina predstavlja upravljačku logiku steka. 

Page 60: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

60

Na osnovu tabele izlaza sa Sl. 2‐29(c), vidi se da izlazna logika dekoduje stanja brojača 000 i 100. Uvek 

kada je stanje brojača 000, signal Empty biće 1; u bilo kom drugom stanju Empty je 0. Suprotno, uvek 

kada je stanje brojača 100 (upisana su 4 podatka), signal Full biće 1; u bilo kom drugom stanju Full je 

0. Na osnovu toga, možemo izvesti sledeće jednačine za izlaznu logiku: 

2.2.7.2  Realizacija na bazi RAM-a

Glavna slabost  rešenja steka sa Sl. 2‐29 ogleda se u  činjenici da  je za  realizaciju steka veće dubine 

potreban  veliki  broj  ¨skupih¨  pomeračkih  registara.  Iz  tog  razloga,  za  realizaciju  steka  većeg 

kapaciteta koristi se RAM. Međutim, pošto RAM nema mogućnost pomeranja memorisanog sadržaja, 

operacije  push  i  pop moraju  biti  realizovane  na  drugačiji  način  –  promenom  tekuće  lokacije  vrha 

steka. Drugim  rečima, kada  se podatak  stavlja na  stek, adresu vrha  steka  treba povećati  za  jedan. 

Suprotno,  kada  se podatak uzima  sa  steka, adresu  vrha  steka  treba  smanjena  za  jedan. Dakle, pri 

svakom upisu podatka, podatak se upisuje na vrh steka, a adresa vrha se povećava za jedan, tako da 

vrh steka uvek ukazuje na praznu  lokaciju u koju će biti upisan sledeći podatak. S druge strane, pri 

svakom čitanju podatka, podatak se uzima iz lokacije koja se nalazi odmah ispod vrha steka, na adresi 

za jedan manje od adrese vrha steka.  Sledeći ovu logiku, znamo da je za RAM memoriju kapaciteta 2n 

reči stek prazan ako je vrh steka na adresi 0, a pun ako je vrh na adresi 2n‐1. Uočimo da se lokacija sa 

adresom 2n‐1 nikada ne koristi za smeštanje podatka, već samo za određivanje da li je stek pun. Iako 

se  na  ovaj  način  gubi  jedna  od  2n  raspoloživih  reči  RAM  memorije,  opisani  pristup  značajno 

pojednostavljuje izlaznu logiku. 

Na Sl. 2‐30 je prikazana realizacija steka koja koristi RAM memoriju kapaciteta 1K (210)  i dva brojača 

koji  ukazuju  na  vrh  steka  i  prvu  lokaciju  ispod  vrha.  Uočimo  da  su  ulazi,  izlazi  i  operacije  steka 

identične kao na Sl. 2‐29. Kao što se vidi sa Sl. 2‐30(d), stek sadrži: dva 10‐bitna brojača,  jedan 10‐

bitni multiplekser  2‐u‐1,  1K  RAM,  upravljačku  i  izlaznu  logika.  Dva  brojača,  nazvana  Top  i  Top‐1, 

razlikuju  se  za  1,  i  oba  se  uvećavaju  za  jedan  pri  svakoj  operaciji  push,  a  smanjuju  za  jedan  pri 

operaciji pop. Pri operaciji push, adresa RAM‐a  je sadržaj brojača Top, dok pri operaciji pop, adresa 

RAM‐a je sadržaj brojača Top‐1. 

Polazeći od prethodnog razmatranja, u mogućnosti smo da konstruišemo tabelu upravljanja koja  je 

prikazana  na  Sl.  2‐30(c)  koja  sadrži  vrednosti  svih  internih  signala  koji  upravljaju  brojačima, 

multiplekserom  i RAM memorijom  kako pri push  i  tako  i pri pop operaciji. Na osnovu ove  tabele, 

možemo izvesti sledeće jednačine za upravljačku logiku: 

 

/ ∙  

/ ∙  

Izlaznu  logiku  čine dva  logička  kola  koja ukazuju  kada  je  stek pun, odnosno prazan.  Pošto  je  stek 

prazan uvek  kada  je  sadržaj brojača Top  jednak 0, da bi  se detektovao uslov Empty  koristi  se 10‐

ulazno NOR kolo čiji ulazi su povezani na izlaze brojača Top. Slično, stek je pun uvek kada brojač Top 

sadrži sve jedinice, što se detektuje 10‐ulaznim AND. Šematski prikaz strukture steka zasnovanog na 

RAM memoriji prikazan je na Sl. 2‐30(d). 

Page 61: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

61

 

                    (a) 

Push/pop Enable Operacija 

X 0 Bez promene 

0 1 Upis (push) 

1 1 Čitanje (pop) 

(b) 

(c) 

Push/pop  Enable 

Kontrola 

mux‐a 

Kontrola mem.  Kontrola broj.

CS  RWS  D  E 

X 0 X 0 0  X  0

0 1 1 1 1  0  1

1 1 0 1 0  1  1

 

(d) 

Sl. 2‐30. Realizacija steka na bazi RAM memorije: (a) Simboličko rešenje; (b) Tabela operacija; (c) Tabela 

upravljanja; (d) šematski prikaz. 

2.2.8 FIFO

FIFO  (First‐In‐First‐Out),  ili,  red  čekanja,  je  struktura  koja  se  često  koristi  kada  treba  uravnotežiti 

zahteve  za nekom obradom. Zamislimo, na primer,  ljude  kako  stoje  ispred  šaltera u banci  ili  kako 

ulaze u autobus, koji moraju čekati u redu dok ne stignu na red da budu opsluženi. Slična situacija se 

javlja kod različitih procesora, ASIC kola ili bilo kog uređaja koji šalje podatke nekom drugom uređaju 

radi dalje obrade, u  smislu da onda kada u  jednom  trenutku brzina generisanja podataka nadmaši 

brzinu  kojom  se  podaci  obrađuju,  neophodno  je  između  proizvođača  i  potrošača  umetnuti  red 

čekanja, tj. FIFO. Naravno, u takvim situacijama, brzina kojom proizvođač generiše podatke ne može 

u nedogled biti  veća od brzine  kojom potrošač može da prihvata podatke,  jer bi  to  zahtevalo  red 

čekanja beskonačne dužine. U svakom slučaju, u proseku, obe brzine moraju biti iste, a veličina reda 

čekanja određuje koliko dugo se može tolerisati neujednačenost između zahteva za obradom i brzine 

obrade. 

Page 62: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

62

Svrha FIFO‐a je da sačuva podatke upućene potrošaču, koje on trenutno nije u stanju da prihvati, ali 

koje će u dogledno vreme preuzeti i to u redosledu po kome su oni poslati. Znači, podatak koji je prvi 

upisan u  FIFO, prvi  se  i  čita,  itd.,  kao  što  je  ilustrovano na  Sl. 2‐31. Na  Sl. 2‐31(a)  je prikazan  red 

čekanja nakon što su brojevi 23 i 34 upisani, ali pre nego što je stigao broj 45. Na Sl. 2‐31(b) možemo 

videti sadržaj FIFO‐a nakon upisa broja 45. Uočimo da je nakon čitanja FIFO‐a, broj 23 odbačen i da je 

sadržaj reda pomeren za jednu poziciju na dole. Sadržaj reda čekanja nakon pomeranja prikazan je na 

Sl. 2‐31(c). 

                                                         (a)                                                   (b)                                          (c) 

Sl. 2‐31. Princip rada FIFO‐a: (a) sadržaj reda pre upisa broja 45; (b) sadržaj reda posle upis broja 45; (c) 

sadržaj reda nakon čitanja broja 23. 

Na  Sl.  2‐32  je  prikazan  blok  dijagram  FIFO‐a. U  opštem  slučaju,  FIFO  ima m  ulaznih  linija  INi  i m 

izlaznih  linija OUTi,  gde  je  0≤i≤m‐1.  Takođe,  FIFO  ima  tri upravljačka  signala: Read/write,  Enable  i 

Reset. Kada je Read/write=0, na izlazu FIFO‐a postavljen je podatak uzet sa početka reda, tj. podatak 

koji je najduže u redu čekanja. Kada je Read/write=1, u FIFO se upisuje podatak prisutan na ulazima 

INi i smešta na kraj reda čekanja. Tipična realizacija FIFO‐a ima još dva statusna signala, Full i Empty, 

koji se koriste za kontrolu proizvođača  i potrošača. Kada  je red pun, signal Full  ima vrednost 1, što 

predstavlja upozorenje proizvođaču da  će  svaki naredni poslati podatak biti odbačen. Kada  se  red 

isprazan, signal Empty postaje 1, što predstavlja upozorenje potrošaču da novi podaci  još uvek nisu 

stigli. 

Sl. 2‐32. Blok dijagram FIFO‐a. 

2.2.8.1 Realizacija na bazi pomeračkih registara

Imajući  u  vidu  da  je  unutar  reda  čekanja  redosled  pristizanja  podataka  očuvan,  FIFO  možemo 

konstruisati uz pomoć pomeračkih registara u kombinaciji sa brojačem koji će brojati važeće podatke 

u redu. Takva jedna realizacija FIFO‐a prikazana je na Sl. 2‐33(c), a tabela operacija na Sl. 2‐33(a). Kraj 

reda je uvek na poziciji Q3 pomeračkih registara, dok se početak pomera za jednu poziciju udesno, pri 

svakom  upisu  novog  podatka.  Pri  upisu,  podatak  se  upisuje  na  poziciju  Q3,  pomerački  registri 

pomeraju  svoj  sadržaj  za  jednu  poziciju  udesno,  a  brojač  se  inkrementira  tako  da  njegov  sadržaj 

ponovo  ukazuje  na  prvo  upisani  podatak.  S  druge  strane,  pri  svakom  čitanju  podatka  iz  reda,  uz 

Page 63: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

63

pomoć multipleksera, bira se podatak sa početka reda i postavlja na izlaz, a brojač se dekrementira. 

Uočimo  da  se  pročitani  podatak  ne  poništava,  već  samo  postaje  nevažeći,  time  što  je  brojač 

dekrementiran.  Na  Sl.  2‐33(b)  je  prikazana  tabela  upravljanja  koja  definiše  vrednosti  internih 

upravljačkih signala u zavisnosti od  izabrane operacije. U toku operacije čitanja, sadržaj pomeračkih 

registara se ne menja, a brojač broji za 1 unazad. Međutim, u toku operacije upisa, pomerački registri 

će obaviti pomeranje za  jednu poziciju udesno, a brojač će odbrojati za 1 unapred. Brojač,  takođe, 

upravlja izborom podatka prilikom operacije čitanja. U toku inicijalizacije, brojač se postavlja na 1111, 

tako da njegovo stanje pri upisu prvog podatka u red postaje 0000. Ovakva  inicijalizacija brojača  je 

neophodna kako bi se ostvarila pravilno upravljanje multiplekserima, koji zahtevaju vrednosti 00, 01, 

10 i 11 na svojim selekcionim ulazima da bi izabrali jedan od izlaza pomeračkih registara. 

Read/write Enable Operacija Read/write Enable S1 S0 D E

X 0 Bez promene X 0 0 0 X 0

0 1 Čitanje 0 1 0 0 1 1

1 1 Upis 1 1 1 0 0 1

(a)                                                                                                      (b) 

 (c) 

Sl. 2‐33. FIFO dužine 4 reči: (a) Tabela operacija; (b) Tabela upravljanja; (c) Šematski prikaz. 

Na osnovu tabele upravljanja možemo odrediti jednačine preostalih upravljačkih signala: 

/ ∙  

/ ∙  

 

Page 64: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

64

Svrha izlazne logike je generisanje signala Full i Empty. Red čekanja je prazan (Empty=1) ako je stanje 

brojača 111, a pun  (Full=1) ako  je stanje brojača 011. U svim ostalim stanjima brojača, oba signala, 

Full i Empty, imaju vrednost 0. Dakle: 

2.2.8.2 Realizacija na bazi RAM-a

Kao  i  kod  steka,  redovi  čekanja  veće  dužine,  obično,  umesto  pomeračkih  registara,  za  smeštanje 

podataka koriste RAM i sadrže dva brojača koji ukazuju na početak i kraj reda. Takva jedna struktura 

poznata  je pod nazivom kružni bafer. Simbolička predstava kružnog bafera prikazana  je na Sl. 2‐34. 

Uočimo da struktura sa Sl. 2‐35(a) koristi RAM memoriju kapaciteta 1K reči  i dva brojača, označena 

kao Početak  i Kraj. Brojač Početak sadrži adresu najranije upisanog podatka. Uvek kada se zahteva 

operacija  čitanja,  podatak  se  čita  sa  adrese  na  koju  ukazuje  brojač  Početak  i  postavlja  na  U/I 

magistralu, a brojač Početak se  inkrementira. Brojač Kraj sadrži adresu prve prazne  lokacije u redu. 

Prilikom operacije upisa, podatak se upisuje na  lokaciju na koju ukazuje brojač Kraj, a brojač Kraj se 

inkrementira. Ukoliko se podaci iz reda češće čitaju nego upisuju, desiće se situacija da bajač Početak 

ukazuje na  istu  lokaciju kao  i brojač Kraj, što znači da  je  red prazan. Sa druge strane, ako se u  rad 

podaci češće upisuju nego što se čitaju, brojač Kraj koji se  inkrementira po modulu 1024, u  jednom 

trenutku ukazivaće na istu lokaciju kao i brojač Početak, što, međutim, sada znači da je red pun. Da bi 

se izbegla dvosmislenost u značenju uslova Početak=Kraj, umesto 10‐bitnih možemo koristiti 11‐bitne 

(po  modulu  2048)  brojače.  Za  adresiranje  se  koriste  10  nižih  bitova,  dok  svih  11  učestvuju  u 

ispitivanju  uslova  Početak=Kraj.  Kod  ovakve  realizacije,  red  čekanja  je  prazan  ako  su  sadržaji  oba 

brojača identični, a pun ako se sadržaji brojača razlikuju samo na bitu najveće težine. 

Sl. 2‐34. Princip rada FIFO‐a na bazi RAM‐a. 

Na Sl. 2‐35 prikazana  je realizacija FIFO reda koja koristi 1K RAM  i dva brojača. Takođe, FIFO sadrži 

multiplekser preko koga se bira  jedan od brojača kao  izvor adrese za RAM  i komparator koji poredi 

sadržaje brojača. Tabela operacija je prikazana na Sl. 2‐35(a), tabela upravljanja na Sl. 2‐35(b), dok je 

na Sl. 2‐35(c) dat konačni šematski izgled FIFO‐a zasnovanog na RAM‐u.

Read/write Enable Operacija

Read/write Enable S CS RWS E

(Početak)

E

(Kraj)

X 0 Bez promene X 0 X 0 X 0 0

0 1 Čitanje 0 1 1 1 0 1 0

1 1 Upis 1 1 0 1 1 0 1

                                                 (a)                                                                                        (b) 

Page 65: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

65

(c) 

Sl. 2‐35. FIFO realizovan na bazi 1K RAM‐a: (a) Tabela operacija; (b) Tabela upravljanja; (c) šematski prikaz. 

2.3 Konačni automati Konačni  automati  (engl.  Finite  State  Machine  –  FSM)  predstavljaju  najznačajniju  tehniku  za 

modeliranje  ponašanja  sekvencijalnih  kola,  koja  je  naročito  pogodna  za  projektovanje  pojedinih 

tipova digitalnih  sistema  (kao  što  su  to upravljačke  jedinice)  čija  se  funkcija može opisati precizno 

definisanom sekvencom aktivnosti. Formalno, konačni automat se definiše kao uređena petorka: 

<S, I, O, f, h> 

gde su S, I i O skup stanja, skup ulaza i skup izlaza, respektivno, dok su f i h funkcija sledećeg stanja i 

funkcija  izlaza. Funkcija  sledećeg  stanja,  f, definiše  se kao preslikavanje  → . Drugim  rečima, 

funkcija f svakom paru stanja i ulaznog simbola pridružuje simbol stanja. Model konačnog automata 

podrazumeva da  je vreme podeljeno na  intervale  fiksnog  trajanja, a da se prelaz  iz  jednog u drugo 

stanje dešava na početku  svakog  vremenskog  intervala.  Znači,  za dato  stanje  i ulazne  vrednosti u 

tekućem  vremenskom  intervalu,  funkcija  f  definiše  u  kom  će  stanju  konačni  automat  biti  u  toku 

sledećeg vremenskog intervala. 

Funkcija izlaza, h, određuje izlazne vrednosti u tekućem stanju automata. Postoje dve vrste konačnih 

automata, kojima odgovaraju dve  različite definicije  funkcije  izlaz h.  Jedna vrsta  se  zove Murov, a 

druga Milijev  konačni  automat.  Kod Murovog  konačnog  automata,  funkcija  h  je  definisana  kao 

preslikavanje:  → , što znači da je svakom stanju pridružen izlazni simbol – tj. izlaz zavisi samo od 

tekućeg  stanja. Kod Milijevog  konačnog automata,  funkcija h  je preslikavanje:  → . U ovom 

slučaju, u  svakom  stanju,  izlazni  simbol  je određen parom  stanje – ulazni  simbol,  tj.  izlaz  zavisi od 

tekućeg stanja i trenutne vrednosti ulaza. 

Shodno definiciji konačnog automata, skupovi S, I i O mogu imati proizvoljan broj simbola. Međutim, 

kod praktičnih problema, barata se samo sa binarnim promenljivim, binarnim operatorima i binarnim 

Page 66: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

66

memorijskim elementima. Iz tog razloga, funkcije f i h se definišu kao Bulove funkcije koje se realizuju 

uz pomoć logičkih kola. 

Konačni automat može modelirati funkciju bilo kog sekvencijalnog kolo sa k ulaznih signala A1, ..., Ak, 

m flip‐flopova Q1, ..., Qm i n izlaznih signala Y1, ..., Yn, kao što je prikazano na Sl. 2‐36. Za jedno ovakvo 

sekvencijalno kolo, S, I i O predstavljaju unakrsni proizvod flip‐flopova ili signala, na sledeći način: 

S  = Q1Q2  ...  Qm 

I   = A1A2  ...  Ak 

O = Y1Y2   ...   Yn 

S obzirom da vrednost flip‐flopa ili signala može biti samo 0 ili 1, svaki element iz S, I i O predstavljen 

je nizom nula i jedinica dužine m, k i n, respektivno. 

 

Sl. 2‐36. Model konačnog automata. 

Svaki konačni automat može se realizovati uz pomoć flip‐flopova  i  logičkih kola. Sadržaj flip‐flopova 

definiše stanje konačnog automata, dok su funkcije f  i h realizovane u obliku kombinacionih mreža. 

Uopšteni blok dijagrami konačnih automata Murovog i Milijevog tipa, prikazani su na Sl. 2‐37.  

 (a) 

Page 67: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

67

 

(b) 

Sl. 2‐37. Tipovi konačnih automata: (a) Murov; (b) Milijev. 

2.4 Staza podataka2 Staza  podataka  (datapath)  je  kolekcija:  (a)  funkcionalnih  jedinica,  kako  što  su  ALU,  množači  i 

pomerači, (b) registara ili drugih memorijskih kola, povezanih u složenu hardversku strukturu pomoću 

magistrale  ili multipleksera. Staze podataka su sastavni deo svih standardnih procesora  i ASIC kola, 

gde se koriste za izvršenje složenih numeričkih izračunavanja i manipulaciju podacima. 

Razmotrimo, na primer, realizaciju staze podataka za sabiranje 100 32‐bitnih brojeva: 

 

Ovo izračunavanje se može obaviti u petlji, gde bi sum bila promenljiva inicijalno postavljena na nulu: 

sum = 0 loop: for i=1 to 100 sum=sum + xi end loop

Opisano  izračunavanje  se može  izvršiti  u  32‐bitnoj  staza  podataka  koja  sadrži  jedan  registra,  tzv. 

akumulator, i jednu ALU. Vrednost promenljive sum se čuva akumulatoru; u svakom taktnom ciklusu 

novo xi se sabira sa sum uz pomoć ALU, a nova vrednost promenljive sum su upisuje u akumulator. 

2 Ova sekcija predstavlja uvod u problematiku projektovanja na RTL nivou apstrakcije i sintezu visokog nivoa, a to su upravo teme koje se obrađuje u nastavku kursa. Iako iz ove sekcije ne postoje ispitna pitanja i zadaci, preporučuje se studentima da s razumevanjem pročitaju nekoliko narednih stranica teksta.

Page 68: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

68

Na Sl. 2‐38 prikazana  je  jednostavna  (tj. Sekvencijalna) staza podataka koja može da obavi opisano 

sumiranje.  Ova  staza  podataka  sadrži multiplekser,  preko  koga  se  kao  levi  operand  ALU  jedinice 

dovodi 0  ili ulazni podatak. Sadržaj akumulator  se koristi kao desni operand ALU  jedinice. Takođe, 

sadržaj  akumulatora  se  preko  trostatičkog  bafera  vodi  na  izlaz  staze  podataka.  Akumulator  je 

pomerački registar sa paralelnim upisom (mada se u ovom primeru ne koristi mogućnost pomeranje 

memorisanog  sadržaja). Na Sl. 2‐38(a) dat  je  šematski prikaz  staze podataka, dok  je na Sl. 2‐38(b) 

prikazana  9‐bitna  upravljačka  reč  u  okviru  koje  su  navedene  vrednosti  signala  koji  upravljaju 

multiplekserom, ALU jedinicom, akumulatorom i izlaznim baferom. Sve komponente staze podataka 

su širine 32 bita. 

Uopšteno  govoreći,  većina  digitalnih  projektanata  postupa  na  isti  način  kada  projektuje  sisteme 

slične opisanom. Vrednosti promenljivih  i  konstante  se  čuvaju u  registrima  ili memoriji, odakle  se 

čitaju  nakon  rastuće  ivice  taktnog  signala  i  sve  do  sledeće  rastuće  ivice  transformišu  uz  pomoć 

funkcionalnih jedinica, da bi, konačno, sa sledećom rastućom ivicom takta rezultat bio upisan nazad u 

memorijske komponente. 

U  toku  svakog  taktnog  ciklusa,  upravljačka  reč  određuje  operaciju  staze  podataka.  Izračunavanje 

zbira 100 brojeva zahteva 102 taktna ciklusa. Upravljačka reč biće ista u svim taktnim ciklusima osim 

u prvom i poslednjem. U prvom taktnom ciklusu, neophodno je obrisati sadržaj akumulatora (sum=0), 

u  sledećih  100  taktnih  ciklusa  dodaje  se  novo  x  na  akumuliranu  sumu,  a  u  poslednjem  taktnom 

ciklusu sadržaj akumulatora se prenosi na izlaz.  

 (a)  (b)

Sl. 2‐38. Staza podataka sa akumulatorom i ALU: (a) Šematski prikaz; (b) Upravljačka reč. 

Iako  opisana  staza  podataka  može  biti  korišćena  i  za  neka  druga  jednostavna  aritmetička 

izračunavanja, složenija izračunavanja zahtevaju veći broj promenljivih kao i složeniju stazu podataka 

koja, na primer, za smeštanje promenljivih, umesto akumulatora, koristi registarski  fajl. Na Sl. 2‐39 

prikazan  je primer složenije staza podataka koja sadrži multiplekser, registarski fajl sa 8 registra  i tri 

Page 69: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

69

porta,  jednu ALU  jedinicu,  pomerač  i  izlazni  trostatički  bafer. U  ovom  slučaju,  u  svakom  taktnom 

ciklusu, oba operanda ALU jedinice se uzimaju iz registarskog fajla, gde se upisuje i rezultat. Iz razloga 

kompletnosti, na Sl. 2‐39(b) i (c) su prikazane tabele operacija ALU jedinice i pomerača, dok je format 

upravljačke  reči prikazana na Sl. 2‐39(d). Uočimo da  je za upravljanje stazom podataka neophodna 

20‐bitna  upravljačka  reč,  koja  određuje  sva  odredišta,  izvore  podataka  kao  i  operacije  u  stazi 

podataka.  Radi  boljeg  razumevanja  rada  staze  podataka,  iskoristićemo  je  za  realizaciju  algoritma 

brojanja jedinica. 

             (b) 

                        (c) (a) 

 (d)

Sl. 2‐39. Staza podataka sa registarskim fajlom: (a) šematski prikaz. (b) ALU operacije; (c) operacije 

pomerača; (d) upravljačka reč.  

 

Pr. 2‐1. Brojač jedinica 

Problem: Korišćenjem staze podataka sa Sl. 2‐39, projektovati brojač jedinica koji određuje broj 1‐ca u ulaznoj reči. Registar R0 registarskog fajla sadrži konstantu 0. 

Rešenje: Za opis algoritma rada brojača jedinica koristićemo četiri promenljive: Podatak, BrojJedinica, Maska i Temp. Promenljiva Podatak sadržaće vrednost ulazne reči, tj. reči u kojoj se broje jedinice. Algoritam analizira 

Page 70: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

70

promenljivu Podatak, bit po bit, od bita najmanje do bita najveće težine i dodaje 1 promenljivoj BrojJedinica za svaku 1 na koju naiđe u ulaznoj reči. Promenljiva Maska sadrži konstantu 1, a promenljiva Temp se koristi za privremeno  čuvanje  bita  najmanje  težine  promenljive  Podatak.  Nakon  inicijalizacije,  algoritam  izdvaja  bit najmanje  težine promenljive Podatak  i  smešta ga u promenljivu Temp,  zatim dodaje Temp na BrojJedinica  i konačno, pomera promenljivu Podatak za  jednu poziciju udesno. Ova sekvenca operacija se ponavlja sve dok promenljiva  Podatak  sadrži  vrednost  različitu  od  “sve  nule”.  Uočimo  da  će  za  različite  ulazne  reči,  broj ponavljanja ove sekvence operacija biti različit. Na Sl. 2‐40(a), prikazan je algoritam brojanja jedinica. Naredbe 1, 2 i 3 se koriste za inicijalizaciju promenljivih. Naredbe 4 i 5 dodaju bit najmanje težine promenljive Podatak na tekuću vrednost promenljive BrojJedinica, dok naredba 6 pomera sadržaj promenljive Podatak za jednu bit‐poziciju udesno. (Pri pomeranju udesno, u bit najveće težine upisuje se 0.) Konačno, naredba 7 prenosi sadržaj promenljive BrojJedinica na izlaz. 

 (a)  (b) 

Upravljačka  reč 

IE Adresa  upisa 

Adresa čitanja A 

Adresa čitanja B 

ALU Operacija 

Operacija  pomerača 

OE 

1  1 R1  X X X Propuštanje  0 

2  0 R3  0 0 Sabiranje Propuštanje  0 

3  0 R2  0 X Inkrement Propuštanje  0 

4  0 R4  R1 R2 AND Propuštanje  0 

5  0 R3  R3 R4 Sabiranje Propuštanje  0 

6  0 R1  R1 0 Sabiranje Pomeranje udesno  0 

7  0 ‐  R3 0 Sabiranje Propuštanje  1 

(c) 

 (d) 

Sl. 2‐40. Algoritam brojanja jedinica: (a) polazni algoritam; (b) dodela registara; (c) upravljačke reči brojača 

jedinica; (d) konačni automat upravljačke jedinice. 

S0

S1

S2

S3

S4

S5

S6

S7

Podatak = Ulaz

BrojJedinica = 0

Maska = 1

Temp = Podatak AND Mask

BrojJedinica = BrojJedinica + Temp

Podatak = Podatak >> 1

Izlaz = BrojJedinica

Start = 1

Podatak = 0

Podatak ≠ 0

Done = 1

Start = 0

Page 71: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

71

 Sl. 2‐41. Hardverska struktura brojača jedinica. 

Prvi korak u projektovanju hardverske realizacije algoritma je pridruživanje promenljivih registrima registarskog fajla. Kao što je prikazano na Sl. 2‐40(b), promenljive Podatak, Maska, BrojJedinica i Temp, pridružene su redom registrima  R1,  R2,  R3  i  R4.  Nakon  što  su  promenljive  dodeljene  registrima,  za  svaku  algoritamsku  naredbu određuje  se  upravljačka  reč,  kao  što  je  prikazano na  Sl.  2‐40(c). Upravljačka  reč  je  podeljena na  polja  koja 

0

1

RAA2RAA1RAA0REA

RAB2RAB1RAB0

REB

0

M

S1

S01

S2S1S00

OE

Q2 Q2' Q1 Q1

' Q0 Q0'

WE

WA0

WA1

WA2

IE

Q2 Q2' Q1 Q1

' Q0 Q0'

D2 Q2

Q2'

D1 Q1

Q1'

D0 Q0

Q0'

Podatak=0

Podatak<>0

Start

Clk

Done

Izlaz

Ulaz

Magistrala rezultata

Staza podataka

Logika sledećeg stanja

Upravljačka jedinica

Izlazna logika

Page 72: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

72

definišu operacije ALU jedinice i pomerača zajedno sa adresama registara koji se koriste kao izvori operanada i adresom  registra gde  se  smešta  rezultat. U cilju upravljanja  stazom podataka, pretpostavićemo da  se Brojač jedinica realizuje kao nezavisni modul koji počinje sa radom uvek kada signal Start postane 1, a postavlja 1 na izlaz Done odmah nakon što je završio izračunavanje. 

Kao što se može videti na Sl. 2‐40(d), konačni automat koji opisuje rad Brojača jedinica ima osam stanja. Brojač jedinica ostaje u stanju S0 sve dok signal Start ne postane jednak 1, a zatim, u sledećih sedam stanja, S1, S2, ..., S7, Brojač jedinica radi shodno algoritmu sa Sl. 2‐40(a).  Konačno, u stanju S7, Brojač jedinica postavlja rezultat na izlaz, aktivira signal Done i vraća se u stanje S0. Upravljačka jedinica Brojača jedinica ima dva ulazna signala, Start i Podatak≠0 i jedan izlazni signal, Done. Signali Start i Done se koriste za komunikaciju sa okruženjem, dok signal Podatak≠0, u suštini, predstavlja statusni signal staze podataka. U svakom taktnom ciklusu, upravljačka jedinica generiše 20 bita upravljačke reči. Uočimo da su za realizaciju osam stanja neophodna tri D flip‐flopa. Konačno, na Sl. 2‐41 dat je šematski prikaz Brojača jedinica koji koristi stazu podataka sa Sl. 2‐39(a).

 

 

2.4.1 Paralelna staza podataka U prethodnoj sekciji opisano je više primera jednostavnih staza podataka. Međutim, za primene koje 

zahtevaju veliku brzinu obrade podataka, takve, jednostavne staze podataka bile bi verovatno previše 

spore. Povećanje performansi zahteva redizajniranje ovih staza podataka na način koji će omogućiti 

konkurentno  izvršenje više operacija. Staze podataka koje omogućavaju  istovremeno (konkurentno) 

izvršenje više opcija zovu se paralelne staze podataka.  

Očigledan način  za paralelizaciju  staze podataka  sastoji  se u povećanju broja portova  registarskog 

fajla  i  korišćenju  nekoliko  funkcionalnih  jedinica,  kao  što  je  prikazano  na  primeru  paralelne  staze 

podataka sa Sl. 2‐42. Uočimo da ova staza podataka ima 6‐to portni registarski fajl (4 porta za čitanje i 

2 za upis), šest magistrala (četiri za prenos operanada i dve za prenos rezultata) i četiri funkcionalne 

jedinice (ALU, pomerač, množač i delitelj). Prikazana staza podataka može da izvršava dve operacije u 

paraleli, jednu u ALU jedinici ili pomeraču i drugu u množaču ili delitelju. 

Staza  podataka  sa  Sl.  2‐42,  ipak  omogućava  samo  ograničen  paralizam,  s  obzirom  da  ne  može 

istovremeno  da  obavlja  bilo  koje  dve  operacije. Na  primer,  u  ovoj  stazi  podataka  nije moguće  u 

paraleli obaviti dva sabiranja ili dva množenja (zato što postoji samo jedna ALU jedinica i samo jedan 

množač). Drugim  rečima,  staza  podataka  sa  Sl.  2‐42 može  ispoljiti  dva  puta  bolje  performanse  u 

odnosu na  jednostavne  (sekvencijalne)  staze podataka  iz prethodne  sekcije,  samo pod uslovom da 

algoritam  ne  zahteva  ovakav  tip  paralelizma.  Takođe,  u  ovoj  stazi  podataka  komponente  nisu 

potpuno povezane, što znači da  izvesni tipovi paralelizma, koji  iako postoje u algoritmu, neće moći 

biti  iskorišćeni.  Na  primer,  s  obzirom  da  ALU  jedinica  i  pomerač,  kao  i množač  i  delitelj  koriste 

zajedničke magistrale  za  prenos  operanada  i  rezultata,  staza  podataka  ne može  u  isto  vreme  da 

izvršava operaciju množenja i operaciju deljenja, odnosno operaciju sabiranja i operaciju pomeranja. 

Drugim rečima, čak iako algoritam omogućava istovremeno izvršenje operacija sabiranja i pomeranja, 

staza  podataka  je  u  mogućnosti  da  u  jednom  taktnom  ciklusu  obavlja  samo  jednu  od  ove  dve 

operacije, bez obzira što hardverski resursi, u vidu funkcionalnih jedinica, postoje. 

Page 73: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

73

 

Sl. 2‐42. Primer paralelne staze podataka 

Na  osnovu  prethodne  diskusije možemo  zaključiti  da  povećanje  performansi  kod  paralelne  staze 

podataka zavisi ne samo od broja  i tipa ugrađenih funkcionalnih  jedinica, već  i od načina na koji su 

funkcionalne  jedinice povezane, kao  i od nivoa  i tipa paralelizma koji  je sadržan u algoritmu koji se 

izvršava na  toj  stazi podataka. Drugim  rečima, najbolji odnos  cena/performanse  se postiže  ako  su 

tipovi  jedinica  i način njihovog povezivanja usklađeni  sa paralelizmu  koji  je dostupan u  algoritmu. 

Takođe, moramo biti svesni činjenice da, tipično, algoritam ne obezbeđuje isti nivo paralizama za sve 

vreme svog izvršenja. 

U opštem slučaju,   da bi se postiglo najbolje poklapanje  između algoritma  i namenski projektovane 

staze  podataka,  potrebno  je  naći  optimalan  broj  ALU  jedinica,  brojača,  registarskih  fajlova  sa 

različitim  brojem portova,  koji  su  povezani pomoću  više magistrala. Magistrale  se  koriste  kako  za 

prenos operanada  iz memorijskih komponenti do  funkcionalnih  jedinica,  tako  i za prenos  rezultata 

funkcionalnih jedinica nazad u memorijske komponente. Takođe, moguće je da funkcionalne jedinice 

dobijaju operande sa više od jedne magistrale, mada takvo jedno rešenje zahteva ugradnju dodatnih 

multipleksera na ulazima funkcionalnih jedinica. Takođe, moguće je ispred ulaza i izlaza funkcionalne 

jedinice ugraditi registre koji bi se koristili za privremeno smeštanje ulaznih operanada. Na ovaj način 

se  značajno  skraćuje vreme u kome  se magistrale  koriste  za prenos operanada,  čime  se posredno 

povećava saobraćaj na magistralama. 

S druge strane, ugradnja ulaznih i izlaznih registara zahteva složenije upravljanje, s obzirom na to što 

bi bi kod takvog rešenja obavljanje svake operacije zahteva više od jednog taktnog ciklusa. Najmanje 

jedan  taktni  ciklus  je  neophodan  za  svaku  od  sledećih  aktivnosti:  (a)  pribavljanje  operanada  iz 

registara, registarskih fajlova ili memorije i upis u ulazne registre funkcionalnih jedinica, (b) izvršenje 

operacije  i  upis  rezultata  u  izlazne  registre  i  (c)  smeštanje  rezultata  iz  izlaznih  registara  nazad  u 

registre  ili memoriju. Na Sl. 2‐43 prikazan  je primer  jedne ovakve staze podataka. Uočimo da staza 

Page 74: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

74

podataka sadrži jedan brojač, jedan registar, troportni registarski fajl i memoriju. Za izračunavanje se 

koriste dve ALU jedinice i množač, dok se za spregu komponenti koriste četiri magistrale. Kao što se 

može videti, kod ALU1 ne lečevi nisu ugrađeni, kod ALU2 postoje registri i na ulazima i na izlazima, dok 

kod množača  registri postoje  samo na ulazima. U ovakvoj  strukturi, ALU1 može da dobije  svoj  levi 

operand preko magistrala Magistrala_2  i Magistrala_3, dok desni operand množača može doći bilo 

preko  Magistrala_1  bilo  preko  Magistrala_4.  Slično,  memorijske  komponente  mogu  da  prime 

podatke preko više od jedne magistrale. Ovakav tip staze podataka se često koristi kod aplikaciono‐

specifičnih integrisanih kola da bi se za dati algoritam ostvario najbolji odnos performanse/cena. 

 

Sl. 2‐43. Primer složenije paralelne staze podataka 

 

 

 

   

ALU1

1 0mux

ALU2

Registar Registar

Množač

Registar Registar

1 0mux

Magistrala_1

Magistrala_2

Magistrala_3

Magistrala_4

Brojač Registar

Registarskifajl

Memorija

1 0mux

1 0mux

1 0mux

Ulaz

Page 75: Komponente digitalnih sistema - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/Materijal/Komponente.pdf · Komponente digitalnih sistema 5 konverziju podatka iz jednog u neki drugi kod. Konačno,

Komponentedigitalnihsistema

75

 

3 Pitanja3

1. Sabirač sa rednim prenosom. Tabela istinitosti i logičke jednačine potpunog sabirača. Sprega 

potpunih sabirača. 

2. Sabirač/oduzimač. 

3. Logička jedinica. 

4. Aritmetičko‐logička  jedinica.  Princip  konstrukcije  na  bazi  sabrača  i  logičkih  i  aritmetičkih ekspandera. 

5. Koincidentno dekodiranje. 

6. Hijerarhijsko dekodiranje. 

7. Hijerarhijska realizacija multipleksera. 

8. Realizacija multipleksera pomoću dekodera i logičkih kola. 

9. Trostatička magistrala. 

10. Demultiplekser. Realizacija pomoću dekodera. 

11. Realizacija prioritetnog kodera pomoću binarnog kodera i mreže za razrešavanje prioriteta. 

12. Hijerarhijska realizacija prioritetnog kodera. 

13. Univerzalni komparator. Izvođenje logičkih jednačina komparatora četvorobitnih brojeva. 

14. Iterativna komparatorska mreža. 

15. Hijerarhijska komparatorska mreža. 

16. Pomerač/rotator. Realizacija pomoću multipleksera. 

17. Barel pomerač. 

18. Princip realizacije logičkih funkcija pomoću ROM‐a 

19. PLA – struktura i princip realizacije logičkih funkcija 

20. Tipovi flip‐flopova. 

21. Univerzalni pomerački registar. Struktura. 

22. Binarni brojač. Struktura. 

23. Obostrani binarni brojač. Struktura. 

24. Princip realizacije brojača ˝skraćene˝ osnove brojanja (BCD brojač) 

25. Registarski fajl. Struktura. RF sa jednim portom za upis i jednim portom za čitanje. RF sa dva porta za čitanje i jednim za upis. 

26. RAM. Struktura. Proširenje. 

27. Stek. Princip. 

28. Stek. Realizacija pomoću pomeračkih registara. 

29. Stek. Realizacija pomoću RAM‐a. 

30. FIFO. Princip. 

31. FIFO. Realizacija pomoću pomeračkih registara. 

32. FIFO. Realizacija pomoću RAM‐a. 

33. Strukturni blok dijagram konačnog automata: (a) Murovog; (b) Milijevog tipa. 

3 Pitanja koja su ovde data treba da vam posluže da lakše savladate gradivo. Ovo nije konačna lista ˝ispitnih pitanja˝, što ne isključuje mogućnost da neka od ovih pitanja dobijete na ispitu