You are on page 1of 83

SADRAJ

1. UVOD U ORGANIZACIJU RAUNARA .................................................................3


1.1. Kodiranje i dekodiranje informacija ........................................................................ 4
1.2. Memorija.................................................................................................................. 5
1.3. Centralna procesna jedinica ..................................................................................... 6
1.4. Generator taktnog signala ........................................................................................ 7
1.4.1. Ulazno-izlazne (I/O) jedinice............................................................................ 8
1.5. Organizacija mikroraunara..................................................................................... 8
2. ELEMENTI RAUNARSKE ARITMETIKE.........................................................11
2.1. Binarni, oktalni i heksadekadni brojni sistem........................................................ 11
2.1.1. Prevoenje celih brojeva iz dekadnog u drugi brojni sistem.......................... 13
2.1.2. Prevoenje decimalnih brojeva iz dekadnog u neki drugi brojni sistem........ 14
2.1.3. Prevoenje izmeu binarnog, oktalnog i heksadekadnog brojnog sistema .... 15
2.2 Binarno kodirani dekadni brojevi ........................................................................... 17
2.3. Osnovne raunske operacije u pozicionom brojnom sistemu................................ 18
2.4. Svoenje oduzimanja na sabiranje uz pomo komplementa ................................. 19
2.5 Pamenje celih brojeva u mikroraunarima i raunske operacije sa njima ........... 22
2.6. Realni brojevi u raunaru....................................................................................... 28
2.6.1. Ogranienja pri registrovanju realnih brojeva ................................................ 35
2.6.2. Raunske operacije sa realnim brojevima....................................................... 36
2.7. Ogranienje kompjuterske aritmetike.................................................................... 37
3. LOGIKA KOLA .......................................................................................................44
3.1. Bulova algebra ....................................................................................................... 44
3.2. Osnovna logika kola............................................................................................. 48
3.3. Sloena logika kola i Bulove funkcije ................................................................ 50
3.4. Realizacija logikih kola pomou NI ili NILI kola ............................................... 50
3.5. Sinteza logikih kola zadate nemene ..................................................................... 53
3.5.1. Generisanje Bulove funkcije u obliku standardne sume proizvoda (SOP) ili
standardnog proizvoda suma (POS).......................................................................... 55
3.5.2. Minimizacija Bulovih funkcija ....................................................................... 56
3.5.3. Primeri sinteze logikih kola .......................................................................... 57
4. Osnovna kola u raunarskim sistemima....................................................................61
4.1. Tree logiko stanje ............................................................................................... 61
4.2. Dekoder.................................................................................................................. 62
4.2.1. Dekoder 1 od 2
n
.............................................................................................. 64
4.3. Koder...................................................................................................................... 65
4.3.1. Koder prioriteta............................................................................................... 65
4.4. Multiplekser ........................................................................................................... 66
4.4.1. Multiplekser kao generator Bulovih funkcija ................................................. 68
4.4.2. Generator Bulovih funkcija pomou multipleksera........................................ 69
4.4.3. Multiplekser kao pretvara podataka iz paralelnog u serijski oblik ............... 71
4.5. Demultiplekser....................................................................................................... 72
4.5.1. Demultiplekser kao pretvara podataka.......................................................... 73
4.6. Binarni sabira ....................................................................................................... 73
2
4.7. Bistabilna kola (flip-flop) ...................................................................................... 74
4.7.1. R-S flip-flop.................................................................................................... 75
4.8. Registri................................................................................................................... 77
4.8.1. Statiki registri ................................................................................................ 78
4.8.2. Pomeraki registri ........................................................................................... 79
4.8.3. Kruni registri ................................................................................................. 82
4.8.4. Brojaki registar.............................................................................................. 82
3
1. UVOD U ORGANIZACIJU RAUNARA

Prvi digitalni raunari su se pojavili poetkom 50-tih godina sa zadatkom da
ubrzaju i olakaju kompleksne proraune u tehnici i nauci i obradu velike koliine
podataka u biznisu i administraciji. Po dimenzijama bili su ogromni a u pogledu
mogunosti skromni.
Zahvaljujui pojavi mikroprocesora poetkom 70-ih godina zapoela je
raunarska revolucija tj. veoma brz napredak u tehnologiji proizvodnje raunarskih
elemenata, arhitekturi i performansama raunara kao i njihovoj primeni. Jednostavno
reeno raunari su sve manji, a istovremeno moniji a oblast primene se od prorauna i
obrade podataka proirila na analizu i projektovanje procesa u tehnici, raunarsku
grafiku, akviziciju (prikupljanje) i obradu merenja, upravljanje aparatima i procesima,
vetaku inteligenciju itd.
Klasina organizacija raunara prikazana je na slici 1. Osnovni funkcionalni
delovi jednog raunara predvienog za proraune ili obradu podataka su: ulazna i
izlazna jedinica, centralna i periferna memorija, kontrolna (upravljaka) i
aritmetiko-logika jedinica koje zajedno ine centralnu procesnu jedinicu (CPU).
Mikroraunar ili personalni raunar se karakterie malom veliinom i niskom cenom,
a kao centralnu procesorsku jedinicu ima mikroprocesor (P).


IZLAZNA
JEDINICA
KONTROLNA
JEDINICA (CU)
CENTRALNA
MEMORIJA (CM)
PERIFERNA
MEMORIJA (PM)
podaci
program
rezultati
CENTRALNA PROCESNA
JEDINICA (CPU)
ULAZNA
JEDINICA
ARTMETIKO
LOGIKA JEDINICA (ALU)



Sl.1.1. Organizacija raunara za obradu podataka



4
Fizike komponente raunara (oprema) ine hardver (hardware). Sama oprema bi
bila beskorisna bez instrukcija ili naredbi (komandi) koje iz memorije pribavlja, a
zatim aktivirajui odreene hardverske elemente, izvrava centralna procesna jedinica.
Niz instrukcija ini program koji se pre izvrenja mora nalaziti u memoriji
raunara. Program omoguuje na primer, izvoenje nekog kompleksnog prorauna na
raunaru. U programu se manipulie informacijama koje nazivamo podaci. U nekom
inenjerskom proraunu na primer, to su neophodni brojni podaci. Razliiti programi ine
programsku podrku ili softver (software).
Instrukcije koje CPU prepoznaje zovu se mainske instrukcije i deo su nekog
mainskog programa. Mainski program je teko razumljiv za korisnika i pravljenjem
mainskih programa sistemskim mainskim programiranjem bavi se samo mali deo
korisnika koji su strunjaci za bazni softver. Da bi se olakao problem programiranja pri
reavanju razliitih praktinih problema na raunaru odnosno formiranju aplikativnog
softvera, formulisani su vii programski jezici kao to su danas BASIC, FORTRAN,
PASCAL, C, C++ itd. koji su mnogo blii oveku ali ih ne razume raunar. Zato je
neophodan poseban softver-prevodilac (compiler) koji prevodi program koga je
korisnik napisao u viem programskom jeziku u raunaru blizak mainski program. Iz
jedne instrukcije u viem programskom jeziku pri prevoenju (compiling) nastaje itav
niz mainskih instrukcija.
Svoj program i podatke korisnik unosi u raunar preko ulazne jedinice ili
ureaja

(input unit, input device) kao to je tastatura. Instrukcije i podatke iz ulazne


jedinice prihvata CPU i alje ih u odreene memorijske lokacije. Kontrolna jedinica
(CU) koja kontrolie i sinhronizuje rad svih ostalih delova raunara uzima jednu po jednu
instrukciju iz memorije i poto je prepozna ili dekodira (deifruje) izvrava je. Primeri
instrukcija su: sabiranje dva broja, unos podataka preko ulazne jedinice, izlaz rezultata za
korisnika preko izlazne jedinice ili ureaja (output unit, output device). U toku
izvravanja instrukcije, CU generie niz upravljakih naponskih signala - kontrolni
signali koje alje odgovarajuim hardverskim elementima (pune linije na sl.1.).

1.1. Kodiranje i dekodiranje informacija

Informacije koje raunar pamti i obrauje (podaci i instrukcije) su interno u
binarnom obliku tj. matematiki posmatrano, u obliku nizova nula i jedinica. Tako je
najmanja jedinica informacije u raunaru jedna nula ili jedna jedinica i naziva se bit.
Fiziki, bit se u raunaru realizuje preko dva razliita elektrina stanja pomou
odgovarajuih hardverskih elemenata (diode, tranzistori, magnetska jezgra). Tako ako je
neki element na viem od dva nivoa napona on realizuje binarno 1, a ako je na niem
nivou napona onda realizuje binarno 0, ili magnetski tok u jednom smeru realizuje 1, a u
suprotnom smeru 0. Kaemo da su informacije u raunaru binarno kodirane pa su
neophodni odgovarajui hardverski elementi i softver za prevoenje-kodiranje ulaznih
informacija iz izvornog (source) oblika ili koda u binarni ili mainski oblik ili kod
(binary code, mashine code), koga razume raunar. Naime, korisnik unosi svoj program i
podatke u obliku teksta i dekadnih brojeva (izvorni oblik) koji se radi smetanja u

alternativno, program i podaci se unose iz periferne memorije o kojoj e biti kasnije rei
5
memoriju moraju binarno kodirati. Hardver za binarno kodiranje ulaznih informacija je u
sklopu ulazne jedinice.
Da bi izlazne informacije (napr. rezultati) bile razumljive za korisnika, neophodan
je obrnut proces - dekodiranje internih binarnih informacija (u tekst i dekadne brojeve).
Hardver za dekodiranje obezbeuju izlazne jedinice.

1.2. Memorija

Instrukcije i podaci se uvaju u centralnoj ili operativnoj memoriji (CM) koja
prestavlja niz lokacija za pamenje jednake veliine. Memorijskim lokacijama se pristupa
tj. one se nalaze pomou adrese, kaemo da je centralna memorija adresibilna. Grupa
bitova koja se uva u jednoj lokaciji predstavlja jednu celinu (podatak ili deo podatka,
instrukcija ili deo instrukcije). Kod mikroraunara, to je grupa od 8 bitova i ona se naziva
bajt (byte).
I adrese memorijskih lokacija je neophodno pamtiti. Prostor za pamenje adrese,
tj. duina adrese (broj bitova u adresi) definie maksimalnu adresibilnu memoriju ili
adresni prostor tj. maksimalnu centralnu memoriju raunara. Na primer, kod najmanjih
mikroraunara - 8 bitni mikroraunari - duina adrese je dva bajta, tj. 16 bitova pa
najvea mogua adresa predstavlja najvei 16-to cifreni binarni broj

( ) 1111111111111111 2 1 65535
2
16
= =

odnosno maksimalan broj adresa (adresni prostor) s obzirom da on ukljuuje i nultu
adresu je:

( )
2 1 1 2 65536
16 16
+ = =

Jedinica memorije 1KB (kilobajt) prestavlja 2
10
=1024 bajtova pa se umesto 65536
lokacija odnosno bajtova kae 64KB. Dakle maksimalna centralna memorija 8-bitnih
raunara je po pravilu 64KB. Tanije reeno, moe se instalirati i vea memorija ali pri
izvoenju nekog programa na raspolaganju je ne vie od 64KB (od toga jo treba oduzeti
deo koji pripada ROM memoriji, to se vidi u daljem tekstu).
Vee jedinice kapaciteta memorije su megabajt (MB) i gigabajt (GB):

1 2 2
1 2 2
10 20
10 20
MB KB B
GB MB KB
= =
= =


Centralna memorija je podeljena na ROM (Read Only Memory) u kojoj se trajno
uvaju neophodni programi za startovanje i osnovne funkcije raunara i u koju korisnik
ne moe da upisuje svoje podatke ili programe i na RAM (Random Access Memory) koja
je namenjena pamenju korisnikovih podataka i programa. RAM i ROM se razlikuju po
izvedbi i RAM je izbrisiv (brie se sadraj memorije posle iskljuenja napoja) a ROM
permanentan ili neizbrisiv.
6
Za trajno uvanje korisnikovih programa i podaka koristi se periferna memorija
(PM). Slino ROM-u, permanentna je, ali se hardverski razlikuje od ROM-a i
predstavlja magnetski medijum nanet na odgovarajuu podlogu. Primeri periferne
memorije su: disketa (floppy - disk) i fiksni disk (hard - disk).
Za razliku od centralne memorije, periferna memorija nije direktno adresibilna tj.
CPU ne moe na osnovu adrese da pristupi pojedinom podatku. Zato je neophodno da se
iz periferne memorije podaci i program pre obrade prenesu u centralnu memoriju. S
obzirom da nije adresibilna, periferna memorija moe u principu da bude neograniena.
Danas se ve koriste hard diskovi sa vie gigabajta memorija.

1.3. Centralna procesna jedinica

Centralnu procesnu jedinicu (CPU) ine aritmetiko logika jedinica (ALU) i
kontrolna jedinica (CU). Kod mikroraunara ta dva dela su hardverski objedinjena u
mikroprocesor. U ALU se izvode elementarne aritmetike i logike operacije. Za
prihvatanje operanada i rezultata operacije slui u ALU specijalni registar koji se zove
akumulator (ACC). Termin registar oznaava lokaciju koja ima posebnu namenu, pa za
razliku od obine memorijske lokacije moe da ima i dodatne mogunosti kao to su
pomeranja svih bitova u registru u levo ili u desno, poveanje ili smanjenje sadraja
registra za 1 itd.
Po pravilu, u akumulatoru se pre izvrenja neke binarne operacije nalazi prvi
operand, a po izvrenju operacije rezultat. Pored toga ACC slui i kao prihvatni registar
pri unoenju podataka (podaci u uem smislu i programi) preko ulazne jedinice. Naime
prenos podataka do CM ide preko ALU tj. akumulatora; (mada postoji i direktan prenos
bez uea P (DMA-Direct Memory Assess), kada se podaci unose sa periferne
memorije.
Kapacitet akumulatora odreuje duinu podatka (broj bitova) koji se moe
obraditi u jednom koraku (izvravanjem jedne instrukcije) u ALU. Grupa bitova koja se
kao celina obrauje u ALU pri izvrenju neke elementarne aritmetike ili logike
operacije (tj. koje moe da stane odjednom u ACC) naziva se raunarska re. Kod 8-
bitnih raunara ACC je 8-bitni registar pa je raunarska re=1B.
Raunarska re, tj kapacitet ACC moe da bude 2B tj. 16 bita i za takav raunar
tj. mikroprocesor kaemo da je 16-bitni. Kod 32-bitnog raunara, kapacitet ACC je 4B
Kontrolna jedinica (CU) upravlja izvrenjem programa. Instrukcije programa
(mainske instrukcije) su smetene u centralnoj memoriji u nizu susednih lokacija. CU
pribavlja instrukcije na osnovu adresa, pa je neophodan registar u kome e biti generisana
adresa na kojoj se nalazi sledea instrukcija koju treba pribaviti. To je programski
broja (PC) u kome pre startovanja programa treba da se nae adresa na kojoj je
zapamena prva instrukcija u mainskom programu - poetna adresa. Prihvatni registar za
instrukciju u CU naziva se instrukcijski registar (IR). Svaki put kada pribavi sadraj
nove memorijske lokacije, tj. novu instrukciju ili deo instrukcije (poto, kao to emo
kasnije videti instrukcija moe da zahteva za memorisanje vie od jedne lokacije) sadraj
PC registra se automatski poveava za 1 (inkrementira) tako da u njemu bude adresa
sledee lokacije. Kaemo da se program izvrava sekvencijalno, tj. jedna po jedna
naredba u redosledu u kome su smetene u memoriji. Izuzetak od ovog pravila je sluaj
7
kada u toku izvravanje neke instrukcije skoka. Tada, ako je zadovoljen zadati uslov,
akciju treba preneti ne na sledeu nego na neku drugu naredbu u programu i sadraj PC
se ne inkrementira ve se u njega unosi adresa lokacije u kojoj se nalazi instrukcija na
koju treba skoiti.
Da bi je CU mogla razumeti tj. deifrovati, mainska instrukcija mora imati
strogo odreenu formu. Ona se u optem sluaju sastoji iz dva dela: kod instrukcije ili
operacija i adresni deo ili operand. Kod instrukcije zahteva 1 bajt, a adresni deo jedan
ili vie bajtova. Na primer, instrukciju za storiranje u memoriju tj. preslikavanje sadraja
ACC u odreenu memorijsku lokaciju, CU e je prepoznati po prvom bajtu-kodu.
Neophodna informacija o tome gde treba storirati sadraj ACC, sadrana je u vidu 16-
bitne adrese u sledea dva bajta instrukcije koji ine adresni deo. Tako, za storiranje
moe da izgleda kao:

1001101100000010
kod instrukcije
1.bajt adrese
2.bajt adrese
6 7 4 8 4
1 2 4 3 4
6 7 4 8 4
00000001

U toku izvravanja posmatrane instrukcije CU aktivira pomou kontrolnih signala
ALU i RAM, a rezultat je da e se tekui sadraj akumulatora nai u memorijskoj lokaciji
sa adresom:

( ) ( ) 1000000001
2 10
513 =

1.4. Generator taktnog signala


Pri voenju izvravanja programa CU mora da vremenski sinhronizuje rad
pojedinih delova raunara. Zato je neophodan pravilan periodian naponski signal -
taktni signal. U sklopu CU ili kao posebna jedinica instaliran je generator takta (timer,
clock) koji generie taktni signal. Idealizovano, vremenski dijagram taktnog signala
izgleda kao na sl.2.


logika vrednost 1
logika vrednost 0


Sl.1.2. Taktni signal


Duina periode taktnog signala kod razliitih mikroprocesora iznosi od nekoliko
stotih delova jedne s do stotinak ns i manje. Izvravanje neke mainske instrukcije
(pribavljanje iz memorije, dekodiranje i samo izvravanje) zahteva u optem sluaju
8
nekoliko perioda i taj vremenski period se naziva mainski ciklus. Reciprona vrednost
periode taktnog signala predstavlja frekvenciju na kojoj radi mikroprocesor. Manja
perioda taktnog signala znai viu frekvenciju, tj. bri rad mikroprocesora.

1.4.1. Ulazno-izlazne (I/O) jedinice
Ulazno-izlazne jedinice (I/O) predstavljaju kao i periferna memorija periferne
jedinice. One su veza raunara sa spoljnim svetom pri emu binarno kodiraju ulaznu
informaciju (ulazna jedinica) a dekodiraju interni kod na izlazu (izlazna jedinica). Primer
ulazne jedinice je tastatura. Tipine izlazne jedinice kod jednog mikro raunara su
monitor i tampa (printer)
Periferne jedinice nisu neposredno povezane sa CPU nego posredstvom
meusklopa (interface) pomou koga se reava problem razliite brzine rada CPU i I/O
jedinice, kao i problem komuniciranja sa CPU (prepoznavanje adresa, prijem i
interpretacija kontrolnih signala). Tako je znaajna funkcija interfejsa prihvatanje
podataka ili baferovanje (buffer) pa interfejs po pravilu ima vie prihvatnih registara
koji ine bafer posmatrane I/O jedinice. Tipian primer je printer kao spora I/O jedinica.
Pojedinim I/O jedinicama, CU se obraa pomou njene adrese, odnosno tanije,
adrese porta koji predstavlja registar (vrata) kroz koga podaci ulaze u meusklop neke
izlazne jedinice ili izlaze iz meusklopa neke ulazne jedinice. Naime, u optem sluaju
meusklop I/O jedinice ima vie portova.


1.5. Organizacija mikroraunara


Kao to smo videli, mikroraunar sadri svih est osnovnih delova digitalnog
raunara, pri emu CPU predstavlja mikroprocesor. Sve komponete mikroraunara
predstavljaju integrisana logika kola (IC) velikog (LSI) ili vrlo velikog (VLSI) stepena
integracije (large scale integration, very large scale integration) te imaju male dimenzije.
Integrisano logiko kolo je specijalnom tehnologijom izraeno iz malog
poluprovodnikog kristala. Naziv integrisano oznaava da pojedine elektronske
komponente u logikom kolu (otpornici, kondenzatori,diode, tranzistori) nisu fiziki
razdvojene ve predstavljaju siune delove jedinstvenog kristala. Stepen integracije je
utoliko vei ukoliko poluprovodniki kristal datih dimenzija sadri vei broj elektronskih
komponenata tj. ima sloeniju funkciju. Raunarske komponente su ugraene u vidu
ipova. ip predstavlja poluprovodniku ploicu smetenu u kuite sa izvodima
(prikljucima). Tako mikroprocesor predstavlja jedno VLSI logiko kolo izraeno na
jednom ipu.
Pojedini blokovi mikroraunara nisu, kako je to prikazano na sl.1.1. povezani
meusobno posebnim vezama (svako sa svakim) ve ih povezuju sabirnice ili
magistrale (bus). Sabirnica predstavlja skup linija kojima se prenose informacije izmeu
pojedinih delova raunara, a to su: adrese, podaci (u irem smislu, znai i instrukcije
takoe) i kontrolni signali. Tipian nain povezivanja delova kod mikroraunara dat je
9
na sl.1.3. U stvari postoje tri, po funkciji, razliite sabirnice: sabirnica podataka (data
bus), adresna sabirnica (adress bus) i upravljaka sabirnica (control bus).

S A B I R N I C A



. . .






Sl. 1.3. ema veza pojedinih delova mikroraunara

Adresna sabirnica je jednosmerna i slui za slanje adresa memoriji ili perifernim
jedinicama od strane P. Jedna od jedinica prepoznaje svoju adresu i stupa u
komunikaciju sa P. Adresna sabirnica ima onoliko linija koliko bitova ima adresa, na
primer 16 kod 8-bitnih raunara.
Sabirnica podataka je dvosmerna i slui za prenos podataka u oba smera (od P
memoriji ili izlaznoj jedinici i od memorije ili izlazne jedinice u P). Broj linija na
sabirnici podataka je obino jednak broju bitova u raunarskoj rei. Tako je data bus 8-
bitnog raunara 8-linijski.
Upravljaka sabirnica slui za prenos upravljakih signala od P drugim
delovima. Primer upravljakog signala je R/W (read, write) signal ija jedinina vrednost
znai da P eli podatak od memorije (read), a nulta vrednost znai da P eli da upie
(write) podatak u memoriju. Taktni signal koji obezbeuje vremensku sinhronizaciju
takoe je upravljaki signal. Mikroprocesor mora da dobije povratnu informaciju od dela
ili sklopa kome se obratio, da li je trenutno u stanju da izvri nalog ili je jo zauzet
izvravanjem prethodnog zadatka. Zato upravljaka sabirnica obuhvata i status signale
ili signale stanja kojima pojedini sklopovi alju informacije mikroprocesoru da li su
spremni (logika vrednost 1) ili ne (logika vrednost 0). Pojedinim sklopovima (tastatura
na primer) data je mogunost da prekinu P u njegovoj tekuoj aktivnosti pomou
signala zahteva za prekid, pa upravljaka sabirnica ukljuuje i liniju zahteva za prekid.
Dakle neke linije upravljake sabirnice imaju smer od P ka ostalim delovima a neke
suprotan smer (linija stanja i linija zahteva za prekid).
MEU-
SKLOP
MEU-
SKLOP
MEU-
SKLOP
CM P
PM ULAZNA
JEDINICA
IZLAZNA
JEDINICA
10

Pitanja i zadaci

1. Nabroj osnovne funkcionalne delove digitalnog raunara. Koji delovi predstavljaju
periferne jedinice?
2. ta ini hardver, a ta softver?
3. Definii bajt i bit.
4. ta je izvorni (source), a ta mainski kod?
5. Koja je razlika izmeu RAM i ROM memorije?
6. Koja je razlika izmeu centralne (operativne) i periferne memorije?
7. Koje su jedinice za merenje veliine memorije?
8. ta oznaava termin integrisano digitalno kolo?
9. ta je ip?
10. U kojoj tehnologiji je izveden mikroprocesorski ip?
11. U neki 8-bitni mikroraunar instalirana je maksimalna operativna memorija. Od toga
8 KB pripada ROM-u. Kolika memorija je na raspolaganju za korisnike programe i
podatke?
12. Koja je razlika izmeu diskete i tvrdog diska?
13. ta je uloga ALU?
14. ta je akumulator i za ta slui?
15. Koliki je kapacitet akumulatora jednog 32-bitnog mikroprocesora?
16. Gde se nalaze registri PC i IR i koja im je namena?
17. Iz kojih delova se u optem sluaju sastoji mainska instrukcija?
18. Koja je uloga viih programskih jezika?
19. ta je prevodilac (compiler)?
20. Personalni raunar IBM 486 radi na frekvenci od 100 Mhz. Kolika je duina periode
njegovog taktnog signala?
21. ta je meusklop (interface) i koja mu je uloga?
22. Zato interfejs tampaa ima veliki bafer?
23. ta je port?
24. Koja je uloga adresne sabirnice?
Koliko linija ima adresna sabirnica 8-bitnog mikroraunara?
25. Duina arese kod IBM 286 mikroraunara (16-bitni mikroprocesor INTEL 80286) je
24 bita
a) Koliko linija ima adresna sabirnicA?
b) Kolika je maksimalna adresibilna operativna memorija?
26. Kakva je veza izmeu kapaciteta ALU i broja linija sabirnice podataka?
27. ta je funkcija R/W signala?
28. ta su status signali?
29. ta je linija zahteva za prekid?

11
2. ELEMENTI RAUNARSKE ARITMETIKE

Digitalni raunar pamti i rauna sa brojevima u binarnom brojnom sistemu.
Binarni brojni sistem je, kao i nama najblii dekadni, jedan pozicioni brojni sistem s tim
to za razliku od dekadnog sistema u kome je osnova deset, u binarnom sistemu osnova
je dva. Pozicioni oznaava da vrednost neke cifre zavisi od njenog poloaja u broju, na
primer u decimalnom broju 345.23 prva trojka vredi tri stotine, a druga tri stota dela.
Naime 345.23 predstavlja u stvari skraeni zapis sume

3 10 4 10 5 10 2 10 3 10
2 1 0 1 2
+ + + +



Za neki pozitivan broj:

a
n
a
n-1
a
n-2
. . . a
2
a
1
a
0
.a
-1
a
-2
(1)

decimalna taka

u pozicionom brojnom sistemu sa osnovom B (B 2) gde a
i
oznaava cifru, vai:

{ } a B
i
0 1 1 , , , L (2)


a a a a a a a B a B a B
a B a B a B
n n n
n
n
n


= + + + +
+ + +
1 1 0 1 2 1
1
1
1
0
0
1
1
2
2
L K L
K
.
(3)

Za dati primer dekadnog broja imaemo:

B a a a a a = = = = = =

10 3 4 5 2 3
2 1 0 1 2
; ; ; ; ;

Prvo cifarsko mesto sleva (cifra a
n
) najvie vredi i nazvaemo je najznaajnijom, a
poslednja cifra je najmanje znaajna.

2.1. Binarni, oktalni i heksadekadni brojni sistem

Za raunarsku aritmetiku, od interesa je binarni brojni sistem. Pri programiranju u
mainskom jeziku i u raunarskoj literaturi esto se koriste i oktalni (osnova je osam) i
heksadekadni brojni sistem (osnova je esnaest) pomou kojih se, kao to emo videti, u
stvari skraeno prikazuju binarni kodovi.
Za binarni brojni sistem imamo:

{ } B a
i
= 2; , 01 (4a)

Za oktalni brojni sistem
12
{ } B a
i
= 8 0 1 2 7 ; , , , , L (4b)

Za heksadekadni brojni sistem

{ } B a A B C D E F
i
= 16 0 1 2 9 ; , , , , , , , , , , L (4c)

Slova A-F iz praktinih razloga zamenjuju cifre: 10-15

Bazu brojnog sistema naznaavaemo uz pomo indeksa, na primer:

1025
10
- dekadni broj
503.27
8
- oktalni broj
A01.B
16
- heksadekadni broj

Kako prevesti neki broj u nekom drugom brojnom sistemu u dekadni oblik?
Postupak se sastoji u primeni jednaine (3) i izraunavanju vrednosti sume u dekadnom
brojnom sistemu.

PRIMER 2.1.

Prevesti sledee brojeve u dekadni oblik:

a) 1100100.01
2

b) 317.5
8

c) 20AB.4
16


a) 1100100.01
2
= 12
6
+ 12
5
+ 02
4
+ 02
3
+ 12
2
+ 02
1
+ 02
0
+ 02
-1
+ 12
-2
= 64 + 32 + 4 + 0.25
= 100.25
10


b) 317.5
8
= 38
2
+ 18
1
+ 7 + 58
-1
= 207.625
10


c) 20AB.4
16
= 216
3
+1016+11+416
-1
= 8363.25
10


Kako reiti obrnut problem- iz dekadnog prei u neki drugi brojni sistem? Kao
ideja se nemee obrnut postupak tj. primena jedn. (3) zdesna ulevo. Na primer:

327
10
= 564+7 = 58
2
+08
1
+78
0
= 507
8


Taj postupak je meutim teak za primenu na velike decimalne brojeve pa se koriste
sledei algoritmi:
13
2.1.1. Prevoenje celih brojeva iz dekadnog u drugi brojni sistem

Postupak se sastoji u uzastopnom deljenju polaznog broja a, osnovom B sistema u
koji se broj prevodi. Kada se a podeli sa B dobija se celobrojni rezultat a
1
i ostatak r
1
, koji
predstavlja najmanje znaajnu cifru p
1
. Deljenjem rezultata a
1
sa B dobija se a
2
i ostatak
r
2
koji predstavlja drugu cifru zdesna ulevo. Postupak se ponavlja sve dok rezultat
deljenja ne postane manji od B, i on predstavlja najznaajniju cifru p
n
. Kao rezultat
dobijamo

a
10
(p
n
,...,p
2
p
1
)
B


PRIMER 2.2

Broj 335
10
prevesti u binarni, oktalni i heksadekadni oblik.


335:2
167 i ostatak 1
83 1
41 1
20 1
10 0 335
10
= 101001111
2

5 0
2 1
1 0


335:8
41 7
5 1 335
10
= 517
8


335:16
20 15
1 4 335
10
= 14F
16



14
2.1.2. Prevoenje decimalnih brojeva iz dekadnog u neki drugi brojni
sistem

Prevoenje decimalnih brojeva sastoji se u posebnom prevoenju celobrojnog i
decimalnog dela broja. Zato emo dati metod za prevoenje pravih razlomaka (decimalan
deo nekog broja).
Postupak se sastoji u uzastopnom mnoenju decimalnog dela prethodnog rezultata
osnovom novog brojnog sistema B. Mnoenje se prekida kada se pojavi nula kao rezultat
ili kada se postigne eljena tanost. Celobrojni delovi dobijenih proizvoda bie redom
cifre broja u novom brojnom sistemu.

PRIMER 2.3

Broj 0.6875
10
prevesti u binarni oblik:

0. 6875 0.1011
2

1. 375
x2=

0. 75
x2=

1. 5
x2=

1. 0
x2=


Neki pravi razlomak, koji u obliku decimalnog broja ima u nekom brojnom
sistemu konaan broj cifara, u nekom drugom brojnom sistemu moe biti beskonaan
periodian decimalan broj. Prevedimo, na primer, dekadni broj 0.1 u binarni sistem:

0. 1 ( ) 0.000110011
678678
K
2

0. 2
0. 4
0. 8 Vidimo da je rezultat beskonaan periodian
1. 6 decimalan broj.
1. 2
0. 4
0. 8
1. 6
1. 2
.


U ovakvim sluajevima nemogu je taan prelaz iz jednog u drugi brojni sistem
ve se unapred definie tanost, tj. broj decimala rezultata. Pri tom se, radi smenjenja
greke, poslednja traena decimala poveava za jedan, ukoliko je sledea jednaka ili
vea od polovine osnove B - pravilo zaokruivanja.

15


PRIMER 2.4

Broj 0.93
10
prevesti u oktalni sa tanou od 4 decimale:

0. 93
x8
0.7341
8


7. 44
3. 52
4. 16
1. 28
2. 24

Neki decimalni broj koji je vei od 1 tj. ima i celobrojni deo, prevodi se u drugi
brojni sistem tako to se posebno prevodi celobrojni deo a posebno decimalni, opisanim
postupcima.

PRIMER 2.5

Broj 173.93
10
prevesti u oktalni sistem sa tanou od etiri decimale.

173:8
21 5
2 5 173
10
= 255
8



U prethodnom primeru smo izraunali

0.93
10
0.7341
8


pa konano imamo

173.93
10
255.7341
8



2.1.3. Prevoenje izmeu binarnog, oktalnog i heksadekadnog
brojnog sistema

Izmeu binarnog i oktalnog brojnog sistema postoji specijalan odnos jer je:

8 = 2
3

Slino, za osnove heksadekadnog i binarnog sistema vai:

Poto je peta decimala (2) manja od 4, po
pravilu zaokruivanja etvrta poslednja
traena decimala rezultata ostaje
nepromenjena.
16
16 = 2
4


Osobina, da je osnova jednog brojnog sistema jednaka celobrojnom stepenu
osnove drugog brojnog sistema omoguuje brz prelaz iz jednog u drugi sistem.
Neka, na primer, treba oktalni broj 317
8
prevesti u binarni. Poeemo od
jednaine (3):

317
8
= 38
2
+ 18
1
+ 78
0


Svaku od cifara oktalnog broja moemo da prevedemo u trocifreni binarni broj (najvea
cifra zahteva tri binarne cifre). U posmatranom primeru:

3
8
011
2
; 1
8
001
2
; 7
8
111
2


Ako u sumu na desnoj strani oktalne cifre zamenimo ekvivalentnim trocifrenim binarnim
brojevima i smenimo 8 = 2
3
,

317
8
= (011)2
6
+ (001)2
3
+ (111)2
0
=
= (02
2
+ 12 + 1)2
6
+(02
2
+ 02 + 1)2
3
+ (12
2
+ 12 + 1)2
0
=
= 02
8
+ 12
7
+12
6
+02
5
+02
4
+12
3
+12
2
+12
1
+12
0
=
=
{{{
011001111
3 1 7
2
= 11001111
2

Zapaamo da se iz oktalnog prelazi u binarni broj jednostavnom zamenom svake oktalne
cifre ekvivalentnim trocifrenim binarnim brojem.
Uopte nije teko izvesti sledee pravilo: Ako izmeu dva brojna sistema B
1
i B
2
postoji
veza:
B B n E
n
1 2
= ;

1
0
Iz sistema sa osnovom B
1
se prelazi u sistem sa osnovom B
2
tako to se svaka
cifra u prvom sistemu prevede u n-to cifreni broj u sistemu B
2
.

2
0
Iz sistema sa osnovom B
2
u sistem sa osnovom B
1
tako to se levo i desno od
decimalne take u broju sa osnovom B
2
formiraju grupe od po n cifara i zamene
izraunatim vrednostima koje predstavljaju cifre u sistemu B
1


PRIMER 2.6.

Prevesti binarni broj 1011010.0001
2
u oktalni i heksadekadni oblik:


{{{ {{
1011010 000100
1 3 2 0 4
8
132 04 . .


{
1011010.0001
5
1
16
5 1
A
123 123
A.

17
Uoavamo da oktalni i heksadekadni oblik mogu da poslue za saeto
prikazivanje binarnih brojeva. Tako umesto datog binarnog broja moemo skraeno da
piemo 5A.1
16
, to je oko etiri puta krae. Binarni kod je lako reprodukovati:


}
}
}
0101
1010
0001
1011010.0001 5 1 A

Preostaje problem prevoenja izmeu oktalnog i heksadekadnog sistema. Kao ideja se
namee prelaz preko binarnog sistema kao intermedijalnog.

PRIMER 2.7.

Prevesti broj 5043.12
8
u heksadekadni oblik

504312 2328
8
2 3 2 8
16
. . . 1011000100011 00101000
A
A
123123123 123123


2.2 Binarno kodirani dekadni brojevi

Dok je prelaz iz binarnog u oktalni ili heksadekalni oblik ili kod jednostavan to
nije sluaj sa konverzijom izmeu binarnog i dekadnog brojnog sistema. Da bi se ubrzalo
binarno kodiranje pri unoenju brojeva i dekodiranje (konverzija binarnog u dekadni
oblik) pri izlazu rezultata , u depnim kalkulatorima i kod digitalnih instrumenata esto se
dekadni brojevi umesto da se prevedu u binarne samo binarno kodiraju. Rezultat je BCD
(Bynary Coded Decimal) dekadnog broja. Postoji vie naina kodiranja ili vie BCD
kodova i najpoznatiji je 8421 BCD kod. Analogno binarnom kodiranju oktalnih i
heksadekadnih brojeva, 8421 BCD kod nekog dekadnog broja se dobija jednostavno
zamenom svake od cifara u dekadnom broju etvorocifrenom binarnom vrednou.

PRIMER 2.8.

Formiraj 8421 BCD kod broja 8092
10



}
{
}
{
1000
0000
1001
0010
1000000010010010 8 0 9 2




PRIMER 2.9.

Dekodiraj BCD broj 10101111000

}}}
010101111000 578
5 7 8
10

18

2.3. Osnovne raunske operacije u pozicionom brojnom sistemu

U pozicionom brojnom sistemu sa bilo kojom osnovom B osnovne raunske
radnje se obavljaju potpuno analogno kao u dekadnom brojnom sistemu (B=10). Naime,
umesto da se manipulie sa desetkama pri "pamenju" i "pozajmljivanju" u toku sabiranja
i oduzimanja, manipulie se osnovom B. Uoimo analogiju kod sabiranja na sledeim
primerima:


11 11 1 111
586
10
576
8
110111
2

+ 175
10


+ 173
8
+ 10111
2


761
10
771
8
1001110
2


Jedinice iznad cifara prvog sabirka oznaavaju prenos (carry) iz prethodnog sabiranja.
Pri oduzimanju u brojnom sistemu sa osnovom B10 ne pozajmljuje se sa prvog
znaajnijeg cifarskog mesta desetka, ve osnova B.

Primer:

7 2 5
16
1101
2

- 3 C D
16
- 110
2


3 5 8
16
111
2


Izvrimo sledee mnoenje paralelno u dekadnom i oktalnom brojnom sistemu:

46
10
x 37
10
56
8
x 45
8

322 346 46
10
= 56
8

+138 +270 37
10
= 45
8

1702
10
3246
8


Provera: 3246
8
=38
3
+28
2
+48+6=1702
10


Kako smo raunali: 56
8
x 5
8
=346
8
,

6 x 5=30=38+6

Znai 6 piem a 3 osmice pamtim tj. prenosim 3 na rezultat sledeeg mnoenja:

5 x 5=25 ; 25+3=28=38+4

19
Dakle, 4 piem a 3 prenosim.

Za raunarsku aritmetiku od interesa je mnoenje u binarnom sistemu. Na primer:

11011 x 1011
11011
11011
11011
100101001

S obzirom da su cifre binarnog sistema 0 i 1 mnoenje se svodi na pravilno
potpisivanje prvog inioca (mnoenje nulom znai pomeranje dva mesta ulevo) i
sabiranje, drugim reima u binarnom brojnom sistemu mnoenje se svodi na sabiranje.
Deljenje u binarnom brojnom sistemu se svodi na uzastopno oduzimanje delioca.

Uoimo to na primeru:

100101001 : 11011 = 1011
-11011
101000
-11011
11011
-11011


2.4. Svoenje oduzimanja na sabiranje uz pomo komplementa

Komplement se koristi u kompjuterskoj aritmetici za koju je karakteristino da svi
brojevi imaju jednaku duinu (isti broj cifara) jer se pamte u jednakim memorijskim
lokacijama. Poiemo dakle od pretpostavke da svi brojevi imaju isti broj cifara, koji je
uz to bar za jedan vei od broja cifara u najveem po apsolutnoj vrednosti broja. Neka
na primer posmatramo u dekadnom brojnom sistemu skup pozitivnih celih brojeva koji su
najvie etvorocifreni. U skladu sa postavljenim uslovom sve brojeve emo posmatrati
kao petocifrene. Tako e oni kao najznaajniju cifru imati nulu koja, kao to emo kasnije
videti, u stvari predstavlja znak +. Na primer brojeve 1280
10
i 452
10
emo posmatrati u
obliku:

01280 ; 00452

U brojnom sistemu sa osnovom B definie se B i (B-1) komplement nekog broja.
(B-1) komplement nekog broja se dobija kada se svaka od cifara u datom broju
zameni njenom dopunom do B-1.
Na primer 9 komplement broja 00452
10
bie: 99547
B komplement nekog broja, koga emo oznaavatii malim slovom c u indeksu
dobija se kada se na najmanje znaajnu cifru (B-1) komplementa doda jedinica.
20


Na primer:

(00452)
c
=99547=99548
+1

Pokazaemo sada da se problem oduzimanja: 01280-00452 moe reiti
sabiranjem

01280+(00452)
c


Zaista:

01280 01280
-00452 +99548
00828 100828

Dobijamo korektan rezultat ako ignoriemo prenos sa najznaajnijeg cifarskog mesta.

Uopte, vai da se oduzimanje pozitivnog broja y od pozitivnog broja x u brojnom
sistemu sa osnovom B moe zameniti sabirnajem broja x i komplementa broja y (uz
ignorisanje konanog prenosa). Formalno emo pisati

x - y = x + (-y) = x + y
c
(5)

Iz (5) sledi vana relacija:

-y y
c
(6)

gde operator znai ono na levoj strani zamenjujemo onim sa desne strane.
Negativni brojevi se zamenjuju (prikazuju) B-komplementom odgovarajueg pozitivnog
broja.
Dakle u aritmetici sa komplementima, negativni brojevi se prikazuju preko B-
komplemeta. Kao rezultat, na najznaajnijem cifarskom mestu figurie cifra (B-1) koja
tako prestavlja u stvari znak -.

Na primer:

- 00452 99548

Reimo sada u aritmetici sa komplementima problem: 452-1280


U skladu sa (5):

21
00452 - 01280 00452 + (01280)
c

(01280)
c
= 98719 = 98720
+ 1


00452
+98720
99172 Rezultat je negativan!

Kao negativan, rezultat u stvari predstavlja komplement odgovarajueg
pozitivnog broja. Koji je to broj?

-y y
c
= 99172 ; y=?

Ako relaciju (6) formalno primenimo na (-y):

-(-y) (-y)
c
(y
c
)
c


Kako je -(-y) = y, sledi:

y(y
c
)
c
(7)

Dakle, ako imamo (y
c
) onda broj y dobijamo kao komplement komplementa.
U naem primeru:

99172
c
= 00827 = 00828
+1
Dakle 99172 predstavlja u stvari broj -00828 to je taan rezultat.

U kompjuterskoj aritmetici se koristi opisan postupak zamene oduzimanja
sabiranjem tj. negativni brojevi u raunaru su prikazani u obliku 2 komplementa
odgovarajuih pozitivnih brojeva. Kako se radi o binarnom brojnom sistemu, znai da se
sve binarne raunske operacije u raunaru svode na sabiranje!. To u mnogome
pojednostavljuje hardversko reavanje aritmetikih operacija-neophodan je samo digitalni
elektronski sklop (logiko kolo) za sabiranje. Da budemo precizniji, neophodna su i
jednostavna kola za komplementiranje i pomeranje svih bitova u broju za jedno mesto
ulevo ili udesno (shift operacija).



PRIMER 2.10.

Kako izgledaju operacije
e=a+b ; g=a-b ; i=e-g
u raunaru gde su : a=24
10
; b=49
10
, ako se za pamenje celih brojeva koriste lokacije
duine 1 bajta?
22

24
10
= 11000
2
; 49
10
= 110001
2


Tako e u raunaru biti:

a= 0 0011000 ; b=0 0110001

Nule na mestu najznaajnijeg bita govore o tome da su brojevi pozitivni.

e= a+b = 00011000
+ 00110001
e = 01001001 (e>0)

g=a-b = a+b
c
b
c
= (00110001)
c
=11001110
b
c
= 11001111 +1



g=00011000
+11001111
g=11100111 (g<0)

-g=(11100111)
c
= 00011000 = 00011001
+1
g=-(2
4
+2
3
+1) = -25
10


i= e-g = e+g
c


g
c
=(11100111)
c
= 00011000 = 00011001
+1
i= 01001001
+00011001
i= 01100010 (i>0)

i= 2
6
+2
5
+2 = 98
10



2.5 Pamenje celih brojeva u mikroraunarima i raunske
operacije sa njima

Za pamenje oznaenih celih brojeva (integer) u mikroraunarima u normalnom
radu se angauju (pri obradi programa napisanih u viim programskim jezicima) dva
bajta odnosno dve memorijske lokacije.

23

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0



znak broja

Sl.2.1 Registrovanje celih brojeva

Bitove u dvobajtnom broju oznaavaemo sa b
0
- b
15
. Pri tome, bitovi b
0
- b
7
pripadaju
manje znaajnom bajtu (Low byte), a bitovi b
8
- b
15
znaajnijem bajtu (High byte).
Najznaajniji bit b
15
uva informaciju o znaku broja:

b
za znak
za znak
15
0
1
=

`

-
+

Tako se oznaeni celi celi brojevi (integer) pamte (kodiraju) u vidu 2 - komplementa.



PRIMER 2.11

Prikai sadraj memorijskih lokacija u kojima su smeteni brojevi
x = 1285
10
; y=-1285
10
= -x.

Postupkom datim u pogl. 2.1.1. dobijamo binarni oblik broja x:
1285
10
= 10100000101
2


U dva bajta memorije:
x=0000010100000101

ili skraeno uz pomo heksadekadnog prikaza (pogl. 2.1.3.):

x=0505
16


Za y=-x imamo:

y=(0000010100000101)
c

y=1111101011111010=1111101011111011
+1
Rezultat je praktinije traiti u heksadekadnom sistemu:

y=(0505
16
)
c
=FAFA = FAFB
16

+1

24
Kako je kapacitet memorijske lokacije ogranien, postavlja se pitanje koliki je
najvei, a koliki najmanji ceo broj koji se moe zapamtiti (registrovati).

Najvei ceo broj x
max
bie:
x
max
=0111111111111111 = 1000000000000000 - 1

x
max
= 2
15
- 1= 32768 - 1 = 32767

To je relativno mali broj i ako se u nekom problemu pojavljuju vei celi brojevi, kako
prevazii to ogranienje ?

U viim programskim jezicima (BASIC, FORTRAN, PASCAL, C) postoje
komande koje kao rezultat imaju angaovanje duplo due lokacije (4 bajta) za
registrovanje celih brojeva (long integer). Tada se gornja granica pomera na:

x
max
= 2
31
- 1 = 2147480000

to moe biti dovoljno. Ukoliko i to ne reava problem, preostaje da se celi brojevi u
raunaru obrauju kao realni, ime se znaajno poveava gornja granica. To se meutim,
kao to emo u narednom poglavlju videti, mora platiti gubitkom tanosti u toku
raunskih operacija.
Najmanji ceo broj koji se moe registrovati u dvobajtnoj lokaciji, x
min
(veliki po
apsolutnoj vrednosti negativan broj ) nije jednak -x
max
iz razloga to se negativni brojevi
registruju u vidu 2 - komplementa. Tako broj

x=1111111111111111=FFFF
16


nije, to se moe u prvi mah pomisliti, traeni najmanji broj, on ustvari predstavlja broj -
1 jer je:

(FFFF)
c
=0001
16


Najmanji broj u raunaru ima oblik:
1000000000000000=8000
16

pa je:
x
min
=- (8000
16
)
c
=-7FFF=-8000
16

+1
x
min
=-8 16
3
= -2
3
2
12
=-2
15


x
min
=-32768

to se raunskih operacija tie, one se svode na sabiranje kao to smo to u
prethodnim poglavljima videli. Deljenje, kao to znamo, nije definisano na skupu celih
brojeva i po pravilu se u raunaru kao rezultat delenja dva cela broja, tzv. celobrojno
deljenje, uzima ceo broj koji predstavlja celobrojni deo tanog rezultata.

25
PRIMER 2.12.

ta e se u raunaru sa jednobajtnom memorijskom lokacijom dobiti pri
izvoenju sledeih operacija:

j=a b ; k=b:a

gde su a=24
10
; b=49
10
. (vidi primer 2.10)

Najvei oznaen ceo broj u 1 - bajtnoj lokaciji e biti:
x
max
=2
7
-1 = 127

Kako je:
24 49>127

doi e do aritmetikog prelivanja, odnosno raunar nee moi da dobije rezultat, o
emu korisnik dobija odgovarajue upozorenje (aritmetic overflow).

Pri delenju, 00110001:00011000 postupak se prekida, poto se dobija
celobrojni deo rezultata:

110001 : 11000 = 10
- 11000
000001

Dakle rezultat e biti:
k=10
2
= 2
10

to predstavlja celobrojni deo tanog rezultata, 2.041666...

PRIMER 2.13.

a) Prikazati sadraj 16-bitnih memorijskih lokacija u koje su smeteni brojevi:
n=-FAD
16
i m=2756
10

b) Izraunati:
k
8
=n
8
+m
8

uz pomo 8-komplementa

c) Prikai sadraj lokacije u kojoj je smeten rezultat delenja: h=n/m


a) n=-FAD
16
= -111110101101
2



U memoriji:

n= (0000111110101101)
c
=(0FAD
16
)
c
=F052=F053
16

26
+1
n=F053
16
=1111000001010011
Da bi smo prikazali izgled broja m u raunaru, preveemo ga najpre u oktalni
oblik koji nam treba u problemu pod b:

2756 : 8 m=5304
8
=101011000100
2
344 4
43 0
5 3


U memorijskoj lokaciji

m=0000101011000100=0AC4
16


b) n=-111110101101
2
=-7655
8

m=5304
8


Poto oba broja imaju po 4 cifre, pri primeni komplementa moramo da radimo sa
peto ili viecifrenim brojevima (pogl. 2.4.):

m=05304
8

n=-07655
8


k=m+n=m-| n|=m+|n|
c

|n|
c
=(07655)
c
=70122
+1
|n|
c
=70123

k=70123
+05304
75427 (k<0 jer je prva cifra B-1=7)

k=-(75427)
c
=-02350=-2351
8

+1

c) Poto je n<0:
n/m =-(|n|/m)

|n|:m = 111110101101 : 101011000100 =1 ....

Raunar dobija samo celobrojni deo rezultata, pa je:
h=-1
u memoriji:
h=(0001
16
)
c
=FFFE=FFFF
16
=1111111111111111
+1
27




PRIMER 2.14.

U bajtovski organizovanoj memoriji (memorijska lokacija koja ima svoju adresu
je 1 bajt) u nizu susednih lokacija koji poinje na adresi 0FFF
16
, a zavrava na adresi
10FA
16
, smeteni su redom elementi nekog celobrojnog niza: x
i
, i=1,n.

a) Koliko je dugaak niz?
b) Ako je izgled posmatrane zone u memoriji (heksadekadni prikaz):


}
10
adresa:
0FFF
16
3A07BCE50F68E90579A0C...

Kako e se promeniti sadraj posmatranih lokacija posle izvrenja operacija:
x
5
=x
1
-x
3

x
4
=x
3
/x
2


a) Ukupan broj bajtova u posmatranoj memorijskoj zoni dobiemo kada od adrese
poslednjeg bajta oduzmemo adresu prvog i tome dodamo 1:

broj bajtova=(10FA-0FFF)+1

10FA
- 0FFF
00FB

broj bajtova=FC
16
=15 16+12=252

Poto se za svaki od lanova niza, kao ceo broj angauje dva bajta, broj lanova niza
bie:
n=252/2=126

b) U prikazanom nizu bajtova identifikujemo prvi i trei lan niza.
x
1
=103A
16
= 0 001000000111010; x
1
>0

x
3
=E50F
16
= 1 110010100001111; x
3
<0

x
5
=x
1
-x
3
=x
1
+(x
3
)
c


Operacije emo bre izvesti u heksadekadnom sistemu:
(x
3
)
c
=(E50F
16
)
c
=1AF0=1AF1
+1



28
x
5
=103A
+1AF1
2B2B (x
5
>0)

Poto je x
3
negativan, deli se | x
3
| sa x
2
=07BC
16
(x
2
>0):

| x
3
|=-x
3
=(E50F
16
)
c
=1AF1=1101011110001
2


x
2
=11110111100
2


1101011110001 : 11110111100 = 11
-11110111100
101101111001
- 11110111100
1110111101

Deljenje se prekida poto je izraunat celobrojni deo rezultata:
x
3
/x
2
=-11
2
=-3
16


x
4
=-0003
16
=(0003
16
)
c
=FFFC=FFFD
16

+1
Po izvrenju operacija promenie se sadraji bajtova u kojima su smeteni elementi x
4
i
x
5
(ukupno 4 bajta). Novi sadraj:


}
{
FF FD2B 2B
adresa
0FFF 3 2
adresa
=
+
=
1008
16



2.6. Realni brojevi u raunaru

Da se podsetimo najpre da se u dekadnom sistemu realni brojevi mogu zapisati u
dva oblika: oblik sa nepokretnom decimalnom takom (fixed point number) i
eksponencijalni oblik ili oblik sa pokretnom decimalnom takom (floating point
number).

Na primer:
0 0257 2 57 10 0 0257 10 0 00257 10
2 0 1
. . . . ...
oblik sa fiksnom
dec. tackom
oblik sa pokretnom
dec. tackom
123 1 2 4 3 4
= = = =



Jedan od bekonano mnogo oblika sa pokretnom decimalnom takom, usvojen je kao
standardni i zove se normalizovani eksponencijalni oblik.
U posmatrnom primeru to je:
29
0.257 - 10
-1


gde se predeksponencijalni faktor 0.257, koji predstavlja pravi razlomak ija je prva
decimala razliita od nule, naziva mantisa, a stepen osnove, -1 naziva se eksponent.

Uopte, u nekom pozicionom brojnom sistemu sa osnovom B, normalizovana
eksponencijalna forma broja x je:

x x B
m
x
e
= (8)
0.1 x
m
<1 (8a)

gde x
m
oznaava mantisu, a x
e
eksponent.

Na primer:
-1011.01
2
=-0.101101
2
2
100
; x
m
=0.101101
2
; x
e
=100
2


0.00731
8
=0.731
8
8
-2
; x
m
=0.731
8
; x
e
=-2
8


U oba primera smo baze sistema 2 i 8 ostavili u dekadnom obliku umesto da ih
prikaemo u odgovarajuem brojnom sistemu:

2=10
2
; 8=10
8


da bi bilo uoljivije o kojoj se osnovi radi.
Naime, u bilo kom brojnom sistemu, osnova sistema kao broj, ima isti kod:

B=10
B


10=10
10
; 2=10
2
; 8=10
8
; 16=10
16
. . .

Vaan pojam vezan za realne brojeve je broj znaajnih cifara u broju, i on je u
direktnoj vezi sa tanou informacije koju sadri posmatrani broj. Neka smo, na
primer, na analitikoj vagi, za koju znamo da ne moe da registruje mase manje od 10
-4
g,
izmerili 1 g neke supstance. Za masu supstance x pisaemo: x=1.0000 g, a ne x=1 g, da bi
naglasili tanost informacije koju vaga daje. Ako smo pak izmerili 0.0205 g, neemo to
pisati kao 0.02050, ve samo sa etiri decimale, y=0.0205 g jer nula na petoj decimali
nije rezultat merenja. Sve cifre u broju x su znaajne cifre (ukupno 5), dok broj y ima
samo 3 znaajne cifre, poslednje tri. Naime, nule na poetku broja (leve nule) ne
predstavljaju znaajne cifre, dok su nule na kraju broja (desne nule) znaajne, kao
i sve nule izme|u dve znaajne cifre.
Zato leve nule nisu znaajne bie jasno ako masu 0.0205 g prikaemo u
razliitim jedinicama:

0.0205 g=20.5 mg=0.0000205 kg . . .

30
Oigledno, njihov broj varira zavisno od odabrane jedinice mere, te ne predstavlja
informaciju o tanosti merenja (koja je nezavisna od odabrane jedinice mere).
Treba zapaziti da prema datom pravilu, u normalizovanom eksponencijalnom
broju, sve cifre decimalnog dela mantise predstavljaju znaajne cifre.
Na primer:
y=0.205 10
-1
g=0.205 10
2
mg=0.205 10
-4
kg

U kompjuterskoj aritmetici, broj znaajnih cifara daje informaciju o tanosti sa
kojom je neki realan broj registrovan u memoriji.
Realni brojevi se u memoriji raunara uvaju u normalizovanom
eksponencijalnom binarnom obliku. Dakle memorijski prostor za neki realan broj ima
dva dela: deo za mantisu i deo za eksponent. Standardna organizacija registrovanja
realnog broja data je na sl.2.1.




Znak eksponenta
1.bajt
Znak broja
2.bajt
3.bajt 4.bajt
x
e
x
m


Sl.2.2. Registrovanje realnih brojeva

Realan broj u memoriji zauzima etiri bajta, odnosno kod mikroraunara to su
etiri memorijske lokacije. Prvi bajt slui za pamenje eksponenata i za njega vae
pravila za pamenje celih brojeva: Najznaajniji bit predstavlja znak eksponenta, a
negativni eksponenti se uvaju u obliku 2 - komplementa.
Prvi (najznaajniji), od ukupno 24 bita koliko je rezervisano za mantisu,
uva informaciju o znaku broja, a ostali predstavljaju decimale mantise. Pri tome
treba imati u vidu na osnovu definicije normalizovane eksponencijalne forme (8, 8a) da
ako je najznaajniji bit jednak nuli (pozitivna mantisa), onda bit iza najznaajnijeg mora
biti jednak jedinici.
Za negativne brojeve u prostoru za mantisu smeta se 2 - komplement mantise.
Uporedimo sada interne ili mainske kodove brojeva:
-4 , ceo broj
-4.0 , realan broj
Interni kod ( oblik u kome je broj u memoriji) celog broja -4 dugaak je 16 bitova (2
memorijske lokacije):
-4=-100
2
=-0000000000000100=-0004
16

-4(0004
16
)
c
=FFFC
16
=1111111111111100

Da bi smo odredili izgled realnog broja -4. u memoriji, prikazaemo ga u
normalizovanom eksponencijalnom binarnom obliku.
-4.=-100.=-0.12
11

31

Prvi bajt internog koda je eksponent:
x
e
=00000011=03
16


Tri bajta predstavljaju mantisu x
m
, a poto je broj negativan:
x
m
22 nule
c
=
|
\

|
.
|
0100000...0
1 2 4 3 4
=(400000
16
)
c
=BFFFFF=C00000
16


Dakle, izgled broja -4. u memoriji je:


{
= 4 03 00000
16
.
x
x x x e
m e m
C
12 4 3 4 1 2 4 3 4 12 4 3 4
00000011110...0



PRIMER 2.15.

a) Brojeve x=-E1C.07
16
i y=1287.59
10
prevesti u oktalne sa tanou od 4 decimale i
potom ih sabrati.

b) Prikazati izgled rezultata u memoriji raunara.

a) Prvi broj emo prevesti u oktalni posredstvom binarnog oblika:

E1C.07
16
111000011100.00000111
2
7034.016
8


x=-7034.016
8

Za drugi broj posebno konvertujemo celobrojni, a posebno decimalni deo.


1287:8 1287
10
=2407
8

160 7
20 0
2 4



0. 59 x

8 Kako je peta decimala 5, vea od polovine osnove, po
4. 72 pravilima zaokruivanja:
5. 76 0.59
10
=0.4561
8

6. 08
0. 64
5. 12

32
y=2407.4561
8

x+y=-7034.016+2407.4561
Oduzimamo manji od veeg broja

7034.016
- 2407.4561
4424.3377
8


Rezulatat je:
z=x+y=-4424.3377
8


b) -z=4424.3377=100100010100.011011111111

Broj ima ukupno 8x3=24 binarne znaajne cifre. U prostoru od 3 bajta,
predvienom za znak broja (prvi bit) i decimale mantise (preostala 23 bita) ima mesta za
23 binarne znaajne cifre, tj. broj z se nemoe tano prikazati u memoriji. Neophodno je
zameniti ga 23-bitnim brojem, i to se moe izvesti:
- odsecanjem, tj. jednostavnim odbacivanjem vika bitova
- zaokruivanjem na 23 znaajne cifre, ime se smanjuje greka







odsecanjem
zaokruivanjem
-z= 100100010100.01101111111|1
100100010100.01101111111
100100010100.01110000000

Pri zaokruivanju, poto je najznaajniji odbaeni bit jednak 1, (polovina osnove) na
poslednju znaajnu cifru dodaje se 1.
Iz oblika sa fiksnom decimalnom takom prelazimo u normalizovani eksponencijalni
oblik, da bi odredili mantisu i eksponent.

z =

0.10010001010001101111111
0.10010001010001110000000
1100
1100
2
2
( )
( )
odsecanje
zaokruzivanje


z
e
=1100=00001100=0C
16


Poto je broj negativan, u prostoru za mantisu smeta se 2-komplement mantise, koga
moemo odrediti uz pomo heksadekadnog koda:

( )
( ) ( )
( ) ( )
z
48A37F B75C81 odsecanje
48A380 B75C80 zaokruzivanje
m c
c
c
16 16
16 16
=
=



Konano, izgled broja z u memoriji je u heksadekadnom prikazu:
33

z
0CB75C81 odsecanje
zaokruzivanje
:
( )
( ) 0 75 80 CB C




PRIMER 2.16.

Dati su sadraji memorijskih lokacija u kojima su smeteni realni brojevi x i y.
x: 04A16900
y: FE560000

a) Prikazati brojeve x i y u heksadekadnom brojnom sistemu u obliku sa fiksnom
decimalnom takom.

b) Izraunati njihov zbir.

a) x
e
=04
16
=4
10

x
m
: A16900

U pitanju je komplement mantise jer je prvi bit jednak jedinici. Nalazimo
mantisu:

(A16900
16
)
c
=5E96FF=5E9700
16

+1
x
m
=0.101111010010111

Poto je broj negativan:
x x B. D2E
m
x
e
= = = 2
2 16
1011.11010010111

y
e
: FE (u pitanju je negativan eksponent, u obliku komplementa)

y
e
=-(FE
16
)
c
=-02
16
=-2
10

y
m
: 560000, y
m
=0.101011

y y 0.2B
m
y
e
= = = =

2 2
2
16
0.101011 0.00101011

b) B.D2E
- 0.2B
B.A7E

x+y=-B.A7E
16


PRIMER 2.17.

Heksadekadni prikaz sadraja dela memorije u kome je smeten niz realnih brojeva je:
34


{ {
4E2930213AC000109DFB68A C
adresa:
101B
adresa:
E
16
11 01
121
16
.....
a) Koliko niz ima lanova?
b) Koji bajtovi i kako se menjaju nakon operacije:
x
2
=x
1
+x
3


a) Ukupan broj bajtova u memorijskoj zoni u koju je smeten realan niz je;

br. bajtova=121E
16
- 101B
16
+1=204
16

br. bajtova=2256+4=516

Kako svaki lan niza zauzima po 4 bajta, broj lanova niza je:

n=br. bajtova / 4=129

b) Identifikovaemo lanove niza x
1
i x
3
:

x
1
: 114E2930

x
e
=11
16
=17
10

x
m
: 4E2930
x
m
=0.10011100010100100110000


x x 138A4.C
1 m
x
e
= = = 2
2 16
10011100010100100.11
x
3
: 109DFB68
x
e
=10
16
=16
10

x
m
: 9DFB68 (u pitanju je komplement)

(9DFB68
16
)
c
=620498
16


x
m
=0.11000100000010010011000

x x
3 m
x
e
= = 2 1100010000001001.0011
x
3
=-C409.3
16


Raunamo x
2
:

138A4.C
- C409.3
749B.9

x
2
=749B.9
16
=111010010011011.1001
2


35
Nalazimo eksponent i mantisu:

x
e
=15=0F
16

x
m
=0.1110100100110111001
x
m
: 749B90

Kako x
2
zauzima 4 bajta na adresama:

(101B+4)
16
do (101B+7)
16


novi sadraj tih bajtova je:


{
0F749B90
adresa:
101F


2.6.1. Ogranienja pri registrovanju realnih brojeva

S obzirom na ogranienu duinu (broj bitova) memorijskog prostora za
eksponent, postoji gornja granica veliine realnog broja koji se moe registrovati, x
max
.
Naiemo je kao:

x (x )
max m max
(x )
e max
= 2

Prikaz maksimalne mantise (x
m
)
max
u raunaru je: 0111...1
23
12 4 3 4

To je 0.111...1 1 0.00...1
23 23
23
1 2
12 4 3 4 123
= =



Maksimalan eksponent je: (x
e
)
max
=2
7
-1=127, pa imamo:

x
max
=(1-2
-23
) 2
127
1.708 10
38
10
38


Analognim postupkom za najmanji realan broj, koji se moe registrovati, dobijamo:

x
min
=-x
max
-1.708 10
38
-10
38


Interne vrednosti realnih brojeva koje su po apsolutnoj vrednosti vei od granice:

|x|>x
max


bie jednake gornjoj granici:

x = x
max
(aritmetic overflow).

36
Duina eksponenta uslovljava takoe i donju granicu apsolutne vrednosti broja
ispod koje su svi brojevi za raunar jednaki nuli. Ovo ogranienje bi mogli nazvati
ogranienje preciznosti registrovanja.

|x|
min
=( )
min
( )
min
x
m
x
e
2
(x
m
)
min
=0.1
(x
e
)
min
=-2
7
=-128
|x|
min
=2
-1
2
-128
=2
-129
1.46 10
-39
10
-39


Dakle, ako je :
|x|< x
min

interna vrednost broja x bie jednaka nuli
x=0 (aritmetic underflow).

Konano, tree ogranienje - ograniena tanost registrovanja, posledica je
ograniene duine mantise u memoriji. Tanost registrovanja realnih brojeva traiemo u
vidu broja znaajnih dekadnih cifara, koje se mogu registrovati.
Najpre moemo da odredimo broj znaajnih binarnih cifara - on je jednak broju
bitova u prikazu decimala mantise: 23.
Dakle, vrednost najmanje znaajne cifre koja se moe registrovati je 2
-23

Kako je:
10
-7
< 2
-23
< 10
-6

znai da je poslednja dekadna cifra mantise, koja se moe tano registrovati priblino 10
-
7
, pa je priblino, tanost prikazivanja realnih brojeva jednaka 7 znaajnih cifara.

2.6.2. Raunske operacije sa realnim brojevima

U pitanju su operacije sa brojevima u eksponencijalnom obliku koji se sastoje od
odgovarajuih operacija izmeu predeksponencijalnih faktora i eksponenata operanada.

Tako se sabiranje dva realna broja obavlja u sledeim koracima:

1
0
Dovoenje brojeva na isti eksponent denormalizacijom predeksponencijalnog
faktora (mantise) manjeg od brojeva

2
0
Sabiranje predeksponencijalnog faktora jednog i mantise drugog broja

3
0
Normalizacija, tj. dovoenje predeksponencijalnog faktora zbira u interval
|0.1,1), odgovarajuim korigovanjem eksponenta

Oduzimanje se svodi na sabiranje, tj. sabira se predeksponencijalni faktor prvog broja sa
komplementom predeksponencijalnog faktora drugog broja.

Mnoenje ukljuuje:

37
1
0
Mnoenje mantisa

2
0
Sabiranje eksponenata

3
0
Normalizacija rezultata i definisanje njegovog predznaka

Deljenje ukljuuje:

1
0
Deljenje mantisa

2
0
Oduzimanje eksponenata

3
0
Normalizacija rezultata i definisanjenjegovog predznaka

Za realizaciju operacija sa realnom brojevima neophodno je raspolagati
sklopovima za operacije sabiranja i komplementiranja celih brojeva, pomeranja (shift) i
inkrementiranja i dekrementiranja (poveanja ili smanjenja vrednosti celog broja za 1).
Zbog razliitog naina registrovanja u memoriji realni i celobrojni operandi su
meusobno imkompatibilni, tj. CPU ne moe da izvede operaciju izmeu realnog i
celobrojnog operanda.
Zato u viim programskim jezicima postoje funkcije (grupe instrukcija) za
prevoenje celog broja u realan oblik, kojima se aktivira odgovarajui niz mainskih
instrukcija za transformaciju nekog dvobajtnog celobrojnog operanda u etvorobajtni
realni.

2.7. Ogranienje kompjuterske aritmetike

Kako je za predstavljanje brojeva u raunaru na raspolaganju ograniena
memorijska lokacija, jedan ogranien podskup skupa realnih brojeva se moe tano
predstaviti (kodirati).
Internu vrednost tj. kod nekog broja, zvaemo mainski broj. Ogranienja pri
predstavljanju realnih brojeva u raunaru, tj. preslikavanju skupa realnih brojeva R u
skup mainskih brojeva M, jasna su sa skice 2.3.



Sl. 2.3. Odnos skupova R i M
38

R - skup realnih brojeva
Ra - skup racionalnih brojeva
Z - skup celih brojeva
M - skup mainskih brojeva

Preslikavanje iz skupa realnih u skup mainskih brojeva:
: R M
naziva se redukciono preslikavanje.

Tako, interni kod broja x moemo da oznaimo kao x, gde je operator redukcionog
preslikavanja.

Ako najmanji pozitivan realan broj koji se moe registrovati u raunaru oznaimo sa x
min
:
x
min
=x
min
,
a najvei pozitivan realan broj sa x
max
, skup R se moe ralaniti na sledee podskupove:
R=R
-
R
-1
R
0
R
1
R



R
-
= (-, -x
max
)
R

= (x
max
, )
R
-1
= |-x
max
, -x
min
|
R
1
= |x
min
, x
max
|
R
0
= (-x
min
, x
min
)

Moemo da zapiemo:

x = -x
max
, x R
-

x = x
max
, x R


x = 0 , x R
0



Dakle, samo se podskupovi R
-1
i R
1
mogu prikazati u raunaru, ali ne i tano, u optem
sluaju.
Naime, mogue je registrovati samo prvih m znaajnih cifara broja, gde je m odreeno
duinom mantise mainskog broja. Na primer, za organizaciju smetanja realnih brojeva,
dato u poglavlju 2.6., m je 23 u binarnom brojnom sistemu, to priblino odgovara 7 u
dekadnom.

PRIMER 2.18.

Proceniti interne vrednosti ( mainske brojeve) brojeva

x=4.52-10
41

y=-1.46-10
-41

z=1/3
39
=3.14159265. . .

u dekadnom obliku, ako se realni brojevi smetaju u etvorobajtne lokacije (sl. 2.2).

U pogl. 2.6.1. smo za datu organizaciju predstavljanja realnih brojeva u raunaru odredili:

x
max
1.708-10
38

x
min
1.46-10
-39

broj znaajnih cifara, m=7.
Tako imamo,
x=4.52-10
41
> x
max
x R

x 1.708-10
38

,y,=1.46-10
-41
< x
min
y=0
z=0.333. . . , z = 0.3333333

=

3141592
3141593
.
.
(odsecanje)
(zaokruzivanje)


Pri izvoenju niza raunskih operacija u ALU, svaki delimian rezultat se pamti u
memorijskoj lokaciji kapaciteta m znaajnih cifara, tj. sa tanou od m znaajnih cifara.
Oigledno je da, i ako polazni podaci mogu biti sasvim tano predstavljani u raunaru,
krajnji rezultat nekog prorauna ne mora biti taan, zbog zaokruivanja svakog
meurezultata na m znaajnih cifara.
Tako u zakljuku moemo da konstatujemo da u kompjuterskoj aritmetici ne
vae zakoni asocijativnosti i distributivnosti.

40
ZADACI:

1. Prevesti sledee brojeve u dekadni oblik:
a) -110011 b) 11010.111
2
c) 7070
8
d) -1001.01
8

e) CD
16
f) 1001.01
16

2. Prevesti sledee dekadne brojeve u binarne, oktalne i heksadekadne:
a) 286 b) 0.625 c) 13.125
3. Dekadni broj 0.6 prevesti u oktalni i heksadekadni sistem.
4. Prevesti sledee dekadne brojeve u binarni sistem, sa tanou od 8 decimala (uz
zaokruivanje):
a) 14.33 b) 100.05 c)286.83
5. Prevesti dekadni broj 467.6
a) u oktalni sa tanou od 4 decimale
b) u heksadekadni sa tanou od 3 decimale
6. Prevesti sledee brojeve iz oktalnog u heksadekadni sistem:
a) 364.105 b) -267.46
7. Prevesti sledee brojeve iz heksadekadnog u oktalni sistem:
a) 8D5.63 b) 18F3.B2
8. a)Pretstaviti izgled celih brojeva n=-(F0B)
16
i m=(3025)
10
u 16 - bitnim
memorijskim lokacijama.
b) Izraunati k
8
=n
8
+m
8
koristei 8 komplement
c) Prikai izgled lokacije u kojoj je smeten rezultat celobrojnog deljenja n\m.
9. Heksadekadni prikaz sadraja mamorije u kojoj se nalazi celobrojni niz x
i
, i=1,n je:

{ {
07
adr.
(0F65)
adr.
(11F2)
16 16
7A0C0C001CC010 07 EC K
a) Koliko lanova ima niz?
b) Prikai izgled registra u kome je smeten realan broj y izraunat po formuli:
y (x x ) 2
1 4
x
4
3
=
10. Standardni kod za kodiranje ulaznih informacija koji se koristi pri prenosu podataka
izmeu perifernih jedinica i CPU je ASCII kod (American Standard Code for Information
Interchange). U ovom kodu svaki znak (slova, cifre, specijalni znaci) ima svoj 7 - bitni
41
binarni prikaz. Na primer, kod cifre 0 je 0110000 ili 30
16
, a svaka sledea cifra ima kod
ija je numerika vrednost vea za 1 od vrednosti koda prethodne cifre. Tako su ASCII
kodovi cifara 0 - 9: 30
16
- 39
16
. Kodovi slova engleske abecede (A - Z) su 41
16
- 5A
16
.
Kodovi nekih specijalnih znakova su:


znak ASCII kod (hex.)
prazno mesto 20
( 28
) 29
* 2A
+ 2B
- 2D
2E
/ 2F
= 3D

U memoriji svaki uneti znak angauje po 1 bajt. Koji niz znakova je smeten u deo
memorije iji je sadraj:
28322E35202B2041292F42
11. BASIC instrukcije za izraunavanje vrednosti promenljive A za date vrednosti
promenljivih x, y i z po formuli:
A
x yz
=
+
3

glasi: A=-(x+yz)/3
a) Koliko bajtova memorije angauje data instrukcija?
b) Prikazati sadraj memorije.
12. Heksadekadni prikaz sadraja memorije u kojoj se nalazi celobrojni niz (x
i
, i=1,n) je:

{ {
00
100
16
F 1100
CA0032FA10 0A B2
16
K
a) Koliko lanova ima niz?
b) Prikai izgled registra u kome je smeten realan broj y, izraunat po formuli:
y=x
1
- x
2
- x
n

13. a) Brojeve x=3D0.A
16
i y=-69.512
10
prevesti u oktalne i potom ih sabrati
b) Prikai izgled broja y u 4 - bajtnoj memorijskoj lokaciji
14. a) Brojeve x=57.12
8
i y=-78.512
10
prevesti u heksadekadne i potom ih sabrati.
b) Prikazati izgled rezultata u 4 - bajtnoj lokaciji.
42
15. Kompjuterska aritmetika moe se realizovati u oktalnom ili heksadekadnom sistemu.
Ako bi organizacija lokacija za registrovanje realnih brojeva bila jednaka onoj opisanoj u
pogl. 2.6, odrediti ogranienja u vezi sa veliinom realnog broja x i brojem njegovih
znaajnih cifara u
a) oktalnom i
b) heksadekadnom sistemu.
16. Proceniti mainske vrednosti brojeva:
a)
2
3
b) 0.1 c) 2.75-10
-40
d)
2 5 10
12 10
15
25
.
.




Reenja odabranih zadataka iz poglavlja 1:
11. 56; 15. 32 bita; 20. T
s
s s ns = = = =


1
10
10 10 10 10
8 1
8 9

25. a) 24, b) 2
24
B=2
4
-2
20
B=16 MB

Reenja zadataka iz poglavlja 2:

1. a) -51 b) 26.875 c) 3640 d) -513.015625 e) 205
f) 4097.003906
2. a) 100011110
2
; 436
8
; 11E
16
b) 0.101
2
; 0.5
8
; 0.A
16
c)1101.001; 15.1
8
; D.2
16

3.
}}
0 46314631 . . . . . 0.999...
4. a) 1110.01010100 b) 1100100.00001101 c)
100011110.11010100
5. a) 723.4632 b) 1D3.99
6. a) F4.228 b) -87.98
7. a) 4325.306 b) 14363.544
8. a) nF0F5; mFBFF b) k=-5412
8
c) FFFD
9. a) n=327 b) y16476A00
10. (2.5_+_A)/B ( _ oznaava prazno mesto)
11. Najmanje 12 bajtova, ako se pri formulisanju instrukcije ne koriste prazna mesta:
43
413D2D28582B592A5A292F33
12. a) n=121 b) y0D730800
13. y07BA7CF0
14. x+y064149E0
15. a) -8
127
x 8
127
; x
min
=8
-129
; 7 dekadnih znaajnih cifara
b) -16
127
x 16
127
; x
min
=16
-129
; 7 dekadnih znaajnih cifara
16. a) 0.6666667 b) 0.09999999 c) 0 d) 1.70810
38




44
3. LOGIKA KOLA

Kao to smo ve istakli, obrada podataka u digitalnom rauanaru se realizuje pomou
elektrinih veliina (napon, struja), odnosno elektronski sklopovi raunara obrauju elektrine
veliine kojima su predstavljeni podaci. Najpogodnije je podatke binarno kodirati, odnosno
predstavljati ih pomou dva definisana stanja elektronskih sklopova, koji se stoga nazivaju digitalni
sklopovi, a poto se radi o elektronskim kolima ee se koristi termin digitalna kola.
Dva mogua stanja digitalnog kola su najee dva nivoa napona U
1
i U
2
. Recimo, U
1
=0V, a
U
2
=5V. Fizikim stanjima 0V i 5V odgovaraju dve logike vrednosti (la) i T (istina) koja se u
digitalnoj elektronici oznaavaju kao logika nula (0) i logika jedinica (1). (vidi sl. 3.1)

U=U
2

logiko stanje 1


U=U
1

logiko stanje 0

Sl. 3.1. Logiko i fiziko stanje digitalnog kola

Data korespodencija izmeu fizikih i logikih stanja odgovara tzv. pozitivnoj logici.
Mogue je suprotno, niem naponu U
1
dodeliti logiku 1, a viem naponu U
2
logiku 0 i tada se radi
o negativnoj logici. Stanja i funkcije digitalnih kola se dakle mogu opisati pomou logikih
vrednosti i logikih operacija, pa se zato umesto termina digitalno kolo najee koristi termin
logiko kolo.
Ponaanje logikih kola moe se opisati pomou prekidakih ili Bulovih funkcija koje su
predmet izuavanja Bulove (ili prekidake) algebre.

3.1. Bulova algebra

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

1 ili 0 = = x x

Tri osnovne operacije, pomou kojih moe da se definie bilo koja Bulova funkcija, su:

1. operacija logikog sabiranja (disjunkcija) ili ILI (OR) operacija
2. operacija logikog mnoenja (konjunkcija) ili I (AND) operacija
3. operacija komplementiranja tj. inverzije (negacija) ili NE (NOT) operacija

Pri tome Bulova funkcija predstavlja rezultat izraza koji se sastoji od operanada i operacija
nad tim operandima. Naravno, i Bulova funkcija ima razultat 0 ili 1.

Osnovne operacije se mogu definisati pomou tablice stanja ili tablice istinitosti (Tab. 3.1),
iz koje vidimo da su prve dve operacije binarne (dva operanda), a trea je unarna (jedan operand).
45

Tab. 3.1. Osnovne logike operacije
operandi operacija:
x Y ILI (OR) I(AND) NE(NOT)
f = x + y f = xy f = x
0 0 0 0 1
0 1 1 0 1
1 0 1 0 0
1 1 1 1 0

Vidimo da,
1. Logiki zbir ima vrednost nula ako i samo ako oba sabirka imaju vrednost nula.
2. Logiki proizvod ima vrednost 1 ako i samo ako oba inioca imaju vrednost 1.
3. Komplement ili negacija (inverzija) nule je jedinica, a komplement jedinice je nula.
Ako je u Bulovoj funkciji prisutno vie binarnih operacija onda se Bulov izraz izraunava s desna
na levo pri emu se definie da logiko mnoenje ima prioritet u odnosu na logiko sabiranje.
Prioritet operaija se moe promeniti zagradama.

Osnovne teoreme Bulove algebre date su u Tabeli 3.2.

Tab. 3.2. Teorema Bulove algebre
a) b) opis:
1. x + 0 = x x1 = x
operacije sa kostantnim
2. x +1 = 1 x0 = 0
vrednostima
3. x + x = x xx = x
zakon idempotentnosti
4. x + x = 1 x x = 0
operacije sa
komplementima
5. x = x dvostruka negacija
6. x + y = y + x xy = yx
komutativnost
7. x + (y + z) = (x + y) + z =
x + y + z
x(yz) = (xy)z
asocijativnost
8. x + yz = (x + y)(x + z) x(y + z) = xy + xz
distributivnost
9. x + xy = x x(x + y) = x
zakoni
10. x + x y = x + y x( x + y) = xy
apsorpcije
11.
(x + y) = x y x y x + y =
De Morganova pravila
invertovanja


Zakoni De Morgana i zakon distributivnosti se mogu uoptiti:


( )
( )
( )
12a) x x x x x x
12b) x x x x x x
13a) x y y y (x y )(x y ) (x y )
13b) x y y y xy xy xy
1 2 n 1 2 n
1 2 n 1 2 n
1 2 n 1 2 n
1 2 n 1 2 n
+ + + =
= + + +
+ = + + + + +
+ + + = + + +
K K
K K
K K
K K

46


PRIMER 3.1. Pokazati da sledei iskaz:
x + y = x + z y = z
nije taan, tj. da u Bulovoj algebri za razliku od klasine algebre nije
dozvoljeno skraivanje.

Za x = 1, prema teoremi 2a. za prvu jednakost vai i za meusobno razliite
vrednosti promenljivih y i z.

PRIMER 3.2. Dokazati teoreme 9 i 10 pomou prethodnih teorema (1-8).

xy xy 0 xy x x y) x x(
y x y) 1(x y) )(x x (x y x x
xy x xy xx y) x(x
x 1 x y) x(1 xy x
1a 4b 8b
1b 4a 8a
3b 8b
1b 2a 1b
8b
= + = + = +
+ = + = + + = +
= + = + = +
= = + = +
K

PRIMER 3.3. Dokazati teoremu 8a).

Primeniemo metod potpune indukcije, tj. formiraemo tablicu istinitosti za sve mogue varijacije
brojnih vrednosti promenljivih x, y i z:

x y z yz f
1
= x +
yz
x + y x + z f
2
= (x + y)(x + z)
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
0 1 1 1 1 1 1 1
1 0 0 0 1 1 1 1
1 0 1 0 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 1 1 1 1 1

Poto su kolona sa vrednostima f
1
i kolona sa vrednostima f
2
identine,
dokazano je f
1
= f
2
, tj.
x + yz = (x + y)(x + z)

PRIMER 3.4. Dokazati jednakost:

BC ABD AC BC AC + + = +


BC ABD AC BC ABD(C C) AC
= BC ABDC ABDC AC
BC(1 AD) AC(1 BD)
BC AC
4a
1b
8b
1b
8b
2a
+ + = + + +
+ + +
= + + +
= +

47

PRIMER 3.5. Pokazati da je:
AB BC AC AB BC AC + + = + +


AB BC CA AB(C C) BC(A A) CA(B B)
=ABC AB C ABC ABC ABC A BC
=AB(C C) BC(A A) AC(B B)
=AB BC AC
4a
1b
8b
8b
4a
1b
+ + = + + + + +
+ + + + +
+ + + + +
+ +


PRIMER 3.6 Nai komplement izraza:
(x x x )x x
1 2 3 1 4
+

Koristei De Morganova pravila,

( ) x x x x x x x x x x x x x x x
(x x )x x x (x x )x x x
= x x x x x
x x x x
1 2 3 1 4 1 2 3
1
4 1 2 3 1 4
1 2
3 1 4 1 2 3 1 4
1 3 2 3 4
1 2 3 4
+ = + + + = + +
+ + + = + + +
+ + +
= + +
=
( ) 1

ZADACI


1. Proveriti tanost implikacije: xy=xz y=z
2. Dokazati jednakosti:
a) (x+y)(x+y ) = x
b) (A+C)(A+D)(B+C)(B+D) = AB + CD
c) (A B C)(ABC) AB BC AC + + = + +
d) xy x y yz xy x y xz + + = + +
e) xy yz zx xy xz + + = +
3. Uprostiti sledee funkcije
a) f(x , x , x ) x x x x x x
1 2 3 1 3 1 3 1 2
= + +
b) f(x, y, z) xy z xyz xyz xyz = + + +
c) f(x , x , x ) x x x x x x x x x x
1 2 3 1 3 1 2 3 2 3 1 2 3
= +
d) f(x x x ) x x x x x x x x
1 2 3 1 3 1 2 3 1 2 3
= + +
e) f(x , x , x ) x x x x x x x x x
1 2 3 1 2 3 1 2 3 1 2 3
= + +
4. Nai komplement izraza, a zatim ga uprostiti
a) xy(z y v) +
b) (A C)(C EB) (DC EA)(B C) + + + + +
c) x (x x x x ) x (x x )
1 3 4 2 4 1 3 4
+ + +
48
3.2. Osnovna logika kola

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

Tab.3.3 Oznake logikih kola

Kolo Oznaka Bulova funkcija

NE (NOT)

I (AND)

ILI (OR)

NI (NAND)

NILI (NOR)

EXILI (EXOR)

NEXILI (NEXOR)

x
x
x
x
x
x
y
y
y
y
y
f
f
f
f
f
f
f
x
y


f = x

f = xy

f = x + y

f = xy

f = x + y
f = x y

f = x y


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

Tab.3.4. Definicije NI, NILI, EXILI i NEXILI kola

x y
xy x + y
x y x y
0 0 1 1 0 1
0 1 1 0 1 0
1 0 1 0 1 0
1 1 0 0 0 1


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

x
y
z z
x
y


49
PRIMER 3.7. Pokazati da je EXILI kolo ekvivalentno sledeim sloenim kolima sastavljenim od
elementarnih kola:



a) b)
f xy xy = +
x
y
x
y
f = (x + y) xy

Mali crni kruii na slikama oznaavaju kratke spojeve i zvaemo ih kratkospojnice.

Da bi smo dokazali identitet:

f = x y = xy + xy

Koristiemo metod potpune indukcije (Tabela)

Tabela uz primer 3.7. Dokaz potpunom indukcijom

x y x y
xy xy xy + xy
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 1
1 1 0 0 0 0

Funkciju pod b) dobijamo polazi od xy + xy i primenjujui teoreme Bulove algebre.
xy + yx = xx + xy + yx + yy= x(x + y) + y(x + y)
=(x + y) (x + y) =(x + y) xy
4b 8b
8b 11b


Kola I, ILI, NI i NILI mogu imati i vie od dva ulaza to se oznaava na sledei nain dat
na primeru I i ILI kola (slika 3.2.)

y
x
z
v
y
x
z
v
f x y z v =
f x y z v = + + +

Sl. 3.2. Kolo sa vie od dva ulazna signala
50
3.3. Sloena logika kola i Bulove funkcije

Sloena logika kola su sastavljena iz vie osnovnih kola. Svako logiko kolo se moe
opisati nekom Bulovom funkcijom i obratno, svaka Bulova funkcija se moe generisati pomou
nekog logikog kola. Ilustrovaemo to sledeim primerima.

PRIMER 3.8 Formirati Bulovu funkciju koja opisuje sledee logiko kolo sa etiri ulaza: x,y,z i v

x
z
v
y
z
y
z
w
2
w
1
f

Na slici su uvedene oznake meusignala: w
1
i w
2
. Idui od desnog kraja eme (izlaz iz kola) prema
ulazima, zapaamo:


f = w z w
w y z , w xzv y
1 2
1 2
+
= = +


Smenom izraza za w
1
i w
2
u izraz za f dobijamo konano:


f yz z(y xzv) yz zy xzv
f yz z(y xv)
= + + = + +
= + +


PRIMER 3.9. Formirati logiko kolo, koje generie Bulovu funkciju:

f(x, y, z, w) w(xyz y z) = +

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

3.4. Realizacija logikih kola pomou NI ili NILI kola

Svako od tri elementarna kola se moe realizovati pomou NI kao i pomou NILI kola, to
je pokazano u tabelama 3.5 i 3.6.

51
Tab.3.5 - Realizacija elementarnih kola pomou NI kola

NE kolo:
skraceno
x x
f x x x = =
x

I kolo:
x
y
xy f xy xy = =

ILI kolo: Prema De Morganovom pravilu: f x y x y x y = + = + =

skraceno
x
y
f x y = + x
y
f x y = +


Tab.3.6. Realizacija elementarnih kola pomou NILI kola
skraceno
x x
f x x x = + =
x

I kolo: Prema De Morganovom pravilu: f x y x y x +y = = =
skraceno
x
y
f x y = x
y
f x y =

ILI kolo:
x
y
x + y f x + y x + y = =


Iz prthodnog sledi da se svako logiko kolo moe realizovati pomou NI ili NILI logikih kola,
to je od praktinog znaaja pri realizaciji integralnih digitalnih kola.

PRIMER 3.10. Bulovu funkciju iz prethodnog primera generaisati pomou:
a) NI kola
b) NILI kola
52

Problem emo reiti grafiki tako to emo svako od elementarnih kola u kolu iz primera 3.9.
realizovati pomou NI odnosno NILI kola (Tabela 3.5. i 3.6.) i onda eliminisati suvine invertore -
dva susedna invertora se ponitavaju.

a)
x
y
z
f w(xyz y z) = +
w

ili krae
x
y
z
f w(xyz y z) = +
w

b)
x
y
z
w
f

ili krae
x
y
z
w
f

Problemi realizacije Bulovih funkcija pomou iskljuivo NI ili NILI kola (homogenizacija
kola) mogu se reiti i analitikim postupkom, primenom De Morganovih pravila (vidi tablele
3.5. i 3.6). Nakon uvoenja negacija u polazni izraz (parcijalno) primenjujemo De Morganove
teoreme tako da:
-eleiminiemo zbirove, prevodei ih u negirane proizvode, kod problema realizacije pomou NI
kola.
-eliminiemo proizvode, prevodei ih u negirane zbirove, kod problema realizacije pomou NILI
kola.
53

PRIMER 3.11. Prethodni problem reiti analitiki:

a) f = w (xyz + y z) w (xyz + y z) w xyz y z = =

Rezultat je kolo iz prethodnog primera.

b) f = w (xyz + y z) w (xyz + y z) = w (xyz + y z) w x + y + z y + z) + = + = + + (

Rezultat je kolo iz prethodnog primera.

3.5. Sinteza logikih kola zadate nemene

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

Ilustrovaemo reavanje problema sinteze logikog kola elementarnim primerom. Neka je potrebno
projektovati logiko kolo koje ima funkciju komparatora dva signala x i y; Dakle, izlazni signal
treba da bude:

f =
1
0
za x = y
za x y



Formiramo, prema datoj nameni, tablicu istinitosti (prve 3. Kolone Tabele 3.6.)

Tab. 3.6. Tabela pri projektovanju komparatora

x y f p s
0 0 1 x y

0 1 0
x + y
1 0 0
x + y
1 1 1
x y


U sledeem koraku treba generisati Bulovu funkciju ije su vrednosti opisane tabelom
istinitosti. Jasno je da ovaj problem nema jednoznano ve beskonano mnogo reenja. Jedno od
njih moemo da dobijemo na sledei nain. Poto je f jednako 1 u prvoj i etvrtoj vrsti tabele i
potraiemo je u obliku zbira dve funkcije f=p
1
+p
2
(ILI operacija) od kojih prva realizuje prvu
vrstu, tj. jednaka je 1 samo ako je x=y=0, a druga realizuje etvrtu vrstu, tj. jednako je 1 samo ako
je x=y=1. Imajui u vidu osobinu logikog proizvoda da ima vrednost 1 samo ako svi inioci imaju
jedinine vrednosti, lako emo formirati posmatrane dve funkcije kao proizvode (kolona p u tabeli):

p x y ; p x y
1 2
= =

Dakle reenje je:

54
f = x y + x y

Alternativno, imajui u vidu osobinu proizvoda da je jednak nuli ako je jedan od inioca jednak
nuli, poto f ima vrednost 0 u drugoj i treoj vrsti tabele, potraiemo je u obliku proizvoda dve
funcije f=s
1
s
2
koje opisuju drugu i treu vrstu tabele. Funkcije s
1
i s
2
emo, imajui u vidu osobinu
logikog zbira da je jednak nuli samo ako su sabirci jednaki nuli, potraiti u obliku:

s x y ; s x y
1 2
= + = +
(kolona s u tabeli). Tako dobijamo drugo reenje

f (x y) (x y) = + +

Naravno, reenja su ekvivalentna. Zaista:

f x y xy x y yy xy xx y(x y) x(x y) (x y) (x y) = + = + + + = + + + = + +

PRIMER 3.12. Formirati logiko kolo komparatora
a) pomou NI kola
b) pomou EXILI kola

a) Dobili smo reenje f = x y + x y i treba ga transformisati tako da sadri iskljuivo negirane
proizvode (NI funkcija):
x
y f
f = x y + xy x y xy =

Da smo krenuli od reenja f (x y) (x y) = + + ,

x
y f
f (x y) (x y) = (x y) (x y) x y x y = + + + + =
f

b) Poreenjem tablice istinitosti komparatora sa tablicom istinitosti EXILI funkcije (Tab. 3.4)
uoavamo da kao f moemo da uzmemo negaciju EXILI funkcije (NEXILI funkcija):

x
y
f x y =
f

55
Meutim, ako izlaz komparatora definiemo kao:
f =
0
1
za x = y
za x y


tj. izaberemo nultu vrednost izraza kao indikaciju jednakosti ulaznih signala, samo EXILI kolo
moe da poslui kao komparator tj. moemo da kaemo da EXILI kolo ima funkciju komparatora
dva signala.

3.5.1. Generisanje Bulove funkcije u obliku standardne sume proizvoda (SOP)
ili standardnog proizvoda suma (POS)

Imajui u vidu osobinu logikog zbira da je jednak jedinici ako je neki od sabiraka jednak
jedinici i osobinu proizvoda da je jednak jedinici samo ako su svi inioci jednaki jedinici, analitiki
izraz Bulove funkcije opisane datom tablicom istinitosti moemo da dobijemo u obliku standardne
sume proizvoda (suma potpunih proizvoda), SOP koji se definie kao suma proizvoda takva da u
svaki od njih, svaka promenljiva ulazi jednom bilo direktno, bilo invertovana.
Postupak formiranja Bulove funkcije u obliku SOP-a je sledei. Za svaku od vrsta tabele u
kojoj funkcija ima vrednosti 1, formira se proizvod svih promenljivih, s tim to one promenljive
koje u posmatranoj vrsti tabele imaju vrednost 1 ulaze direktno u proizvod, a one sa nultim
vrednostima ulaze negirane, tj. u obliku komplementa. Traena funkcija je suma formiranih
proizvoda.
Ako Bulovu funkciju generiemo, pak, prema zahtevu da ona, za odreene kombinacije
vrednosti promenljivih ima nultu vrednost, tada emo je potraiti u obliku standardnog proizvoda
suma (proizvod potpunih suma), POS. Takav oblik traene funkcije proizilazi iz osobine logikog
proizvoda da ima nultu vrednost ako je neki od inilaca jednak nuli i osobinu zbira da ima nultu
vrednost samo ako su svi sabirci jednaki nuli. Standardni proizvod suma (POS) predstavlja proizvod
suma od kojih svaka sadri sve promenljive bilo direktno bilo u obliku komplementa. POS
prema tablici istinitosti formiramo tako to za svaku od vrsta tabele u kojoj funkcija ima nultu
vrednost formiramo sumu i to tako da one promenljive koje su u posmatranoj vrsti jednake jedinici
ulaze direktno, a one koje su jednake nuli ulaze u obliku komplementa. Proizvod formiranih suma
predstavlja traeno reenje.

PRIMER 3.13. Formirati Bulovu funkciju f(x,y,z) za datu tabelu istinitosti (prve etiri kolone) i to:
a) u SOP obliku
b) u POS obliku
c) pokazati da je dobijenim funkcijama ekvivalentna pojednostavljena funkcija: f y(x z) = +

Tabela uz primer 3.13.
x y z f p s
0 0 0 0
x y z + +
0 0 1 0
x y z + +
0 1 0 1 x y z

0 1 1 1 x y z

1 0 0 0
x y z + +
1 0 1 0
x y z + +
1 1 0 1 x y z

1 1 1 0
x y z + +

a) U koloni p su formirani proizvodi, pa je funkcija u SOP-obliku:

f = x y z + x y z + x y z
56

b) U koloni s su formirani potpuni zbirovi i POS oblik funkcije je:

f = (x + y + z) (x + y + z) (x + y + z) (x + y + z) (x + y + z)
c)

{
f = x y z + x y z + x y z = x y(z + z) + x y z = x y + x y z
= y(x + x z) = y(x + z)
1

Da bi uprostili POS koristimo identitet (x + y) (x + y) = x koji lako izvodimo pomou teoreme
Bulove algebre (Tab.3.2)

(x + y) (x + y) =x + y y = x
8a 4b



| | | | | | | | f = (x + y) + z (x + y) + z (x + y) + z (x + y) + z (x + y + z)
= (x + y) (x + y) (x + y + z) = y (x + y + z) = y (x + z)




PRIMER 3.14. Formirati Bulovu funkciju za datu tablicu istinitosti u SOP obliku i pokazati da je
ekvivalentna funkciji koju generie dato kolo.




f = x y z + x y z + x y z + x y z + x y z
= x y z + z) x y z + x z(y + y)
= x y + x y z + x z = x(y + y z) + x z = x(y +z) + x z
f = x y + x z + x z
( +


Zbir poslednja dva sabirka predstavlja negaciju EXILI funkcije (PRIMER 3.12.):

x z + x z = x z
pa imamo:

f = x y + x z x + y x z (x + y) x z) = + = (

3.5.2. Minimizacija Bulovih funkcija

Kako, u optem sluaju, dobijene SOP ili POS funkcije ne predstavlja najjednostavnije
(minimalne) oblike Bulovih funkcija, neophodna su njihova uproavanja - minimizacija. Za to u
literaturi postoje razliite metode, ali taj problem prevazilazi okvir ovog kursa. Zato emo mi
pojednostavljivanje dobijenih SOP ili POS oblika izvoditi uz pomo teorema Bulove algebre.

x y z f
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
x
y f
z
57
3.5.3. Primeri sinteze logikih kola

PRIMER 3.15. Rad svake od etiri pumpi se kontrolie pomou elektrinog signala koji ima napon
od 5V, ako je pumpa u radu, a nulti napon ako je u kvaru. Neophodno je da bar dve od etiri pumpe
budu stalno u radu, a u protivnom bi trebalo aktivirati zvuni alarm. Alarmni ureaj se aktivira
naponskim signalom od 5V. Projektovati logiko kolo, sastavljeno od NILI kola sa dva ulaza, koje
e u sluaju potrebe aktivirati alarmni ureaj.

Funkcija alarma treba da ima logiku verdnost 1 (alarmantna situacija) ako nijedna ili
najvie jedna od 4 promenljivih (kontrolni signali x,y,z,v) ima jedininu vrednost (pumpa u radu),
dok su ostale jednale nuli. Prema tom zahtevu formiramo tablicu istinitosti.

Tablica istinitosti za primer 3.15.
x y z v f
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0

Poto samo za 5 od ukupno 16 kombinacija vrednosti x,y,z i v funkcija ima jedininu
vrednost, namee se SOP oblik kao manje glomazan od POS-a:

f = x y z v + x y z v + x y z v + x y z v + x y z v

Funkcija treba uprostiti. U tom cilju emo joj dodati jo jedan lan x y z v ime se, u skladu sa
teoremom 3a, njena vrednost ne menja


f = x y z v + x y z v + x y z v + x y z v + x y z v + x y z v
= x y (z v + z v + z v) + z v (x y + x y + x y
= x y (z + z v) + z v (x + x y)
= x y (z + v) + z v (x +y)


Konano, pojednostavljenu funkciju treba pretvoriti u obliku koji e sadrati samo negirane
zbirove (NILI funkcije)

58

f = x y (z + v) + z v (x + y)
x y +(z + v) + z v + (x + y)
(x + y) +(z + v) +(z + v) + (x + y)
(x + y) +(z + v) +(z + v) + (x + y)
=
=
=


Rezultat je kolo:
x
y
z
v
f

Za realizaciju je neophodno ukupno 14 NILI kola (8+6invertora, oznaenih kruiima)

PRIMER 3.16. Za odravanje nivoa (dopunjavanjem) u 4 rezervoara (A,B,C,D), na raspolaganju su
2 pumpe, P
1
i P
2
, to je dovoljno u normalnom reimu. Kada u nekom rezervoaru nivo padne ispod
dozvoljenog, automatski se generie signal koji ukljuuje pumpu radi korekcije nivoa. Pumpu P
2

moe da pozove svaki od 4 rezervoara a pumpu P
1
samo rezervoari C i D. Alarmantna situacija
nastaje kada neki od rezervoara ne moe da prikljui pumpu jer je zauzeta. Formirati kolo za
generisanje alarmantnog signala pomou NI logikih kola sa 2 ulaza.
A
B
C
D
P
1
P
2


Skica za primer 3.16

Ulazni signali u traeno kolo su pozivni signali rezervoara, koje emo oznaiti kao i rezervoare A-
D. Pozivni signal ima vrednost 1 ako rezervoar poziva pumpu, a 0 ako nema potrebe za pumpom.
59
Prema skici veza od pumpi sa rezervoarima, lako je sastaviti tablicu istinitosti za funkciju
alarma. Ona ima vrednost 1 ako 3 ili vie rezervoara trai pumpu, ili ako pumpu istovremeno
pozivaju rezervoari A i B (skica).

Tablica istinitiati za primer 3.16.











Da bi smo dalje uprostili f, dodaemo lan ABCD to je dozvoljeno jer takav lan ve
figurie u polaznom izrazu.


f = ABCD+ABCD+ABCD+AB
= CD(AB+AB+AB) +AB
= CD(AB+AB+AB+AB) +AB
= CD(A(B+ B) + B(A+A) +AB
f = CD(A+ B) +AB


Dovoenje u oblik pogodan za realizaciju pomou NI kola:


f = CD(A + B) +AB CD(A + B) AB CD(A+ B) AB
f = CD A B AB
= =



Konano, crtamo traeno kolo.
D
A
B
C
f

A B C D f
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Namee se SOP oblik (manji broj jedinica)
f = ABCD+ABCD+ABC D+ABCD+ABCD+ABCD
= ABCD+ABCD+AB(C D+ CD+CD+CD)
= ABCD+ABCD+AB
1
1 2 444 3 444

60
PRIMER 3.17. Treba projektovati kolo za sabiranje dve odgovarajue binarne cifre a
i
i b
i

(i = 0,n-1) u procesu sabiranja dva cela n-to cifrena binarna broja:

A = a a a a B= b b b b
n-1 n-2 1 0 n-1 n-2 1 0
K K ,

koje se zove potpuni sabira. Ulazi u potpuni sabira su bitovi (cifre) a
i
i b
i
(i = 0,n-1) i prenos iz
prethodnog sabiranja c
i
(na cifraskom mestu i-1), a izlazi su cifra zbira, s
i
i prenos u sledeu klasu
c
i+1
. Dakle, kolo ima 2 izlaza i treba formirati dve Bulove funkcije: s
i
(a
i
,b
i
,c
i
) i c
i+1
(a
i
,b
i
,c
i
).
U treoj koloni tablice istinitosti formirani su dvocifreni zbirovi a
i
+b
i
+c
i
. Nije teko
zakljuiti da vii bitovi tih zbirova predstavljaju vrednosti funkcije c
i+1
, a nii bitovi vrednosti
funkcije s
i
.

Tablica istinitosti potpunog sabiraa
a
i
b
i
c
i
a
i
+b
i
+c
i
c
i+1
s
i

0 0 0 00 0 0
0 0 1 01 0 1
0 1 0 01 0 1
0 1 1 10 1 0
1 0 0 01 0 1
1 0 1 10 1 0
1 1 0 10 1 0
1 1 1 11 1 1


SOP cifru zbira, s
i
je:

s a b c a b c +a b c +a b c
a b c b c a b c b c
a b c a b c
i i i i i i i i i i i i i
i i i i i i i i i i
i i i i i i
= +
= + + +
= +
( ) ( )
( ) ( )

ili konano

s a b c a b c
i i i i i i i
= = ( ) ( )

SOP prenosa c
i+1
je:
c a b c a b c +a b c +a b c
i+1 i i i i i i i i i i i i
= +

Ako dodamo dva puta lan a
i
b
i
c
i
:


c a b c a b c +a b c +a b c +a b c +a b c
b c a a a c b b a b c c
a b a c b c
i+1 i i i i i i i i i i i i i i i i i i
i i i i i i i i i i i i
i i i i i i
= +
= + + + + +
= + +
( ) ( ) ( )
61
a
i
b
i
c
i
s
i
c
i+1

Kolo potpunog sabiraa

4. Osnovna kola u raunarskim sistemima

Kola iz kojih je izgraen raunarski hardver mogu se podeliti u dve klase:

1. Kombinaciona
2. Sekvencijalna

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

4.1. Tree logiko stanje

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

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


Sl.4.1a NI kolo sa tri logika stanja
62

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

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

E

Sl. 4.1b NI kolo sa tri logika stanja

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

E

Sl. 4.2. Formira signala

4.2. Dekoder

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


Sl.4.3. Dekoder kombinacije (1011)

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

63
PRIMER 4.1. Formirati dekoder binarne kombinacije (1011) koristei kolo
a) NI
b) ILI
c) NILI

a) Imajui u vidu da je jedinstvena kombinacija vrednosti ulaznih signala, za koje izlaz iz NI kola
ima vrednost 0, sve jedinice, treba postaviti invertore na onim ulazima na kojima se pri zadatoj
kombinaciji nalaze nule, a znak prepoznavanja je 0.
3
0
1
2
y
y =
0 za ulaz (1011)
1 za sve ostale ulaze


b) S obzirom da je vrednost logikog zbira jednaka 0 samo za sve nule na ulazu, znak
prepoznavanja je 0, a invertore treba postaviti na onim ulaznim linijama koje za datu kombinaciju
imaju jedinine vrednosti.
3
0
1
2
y
y =
0 za ulaz (1011)
1 za sve ostale ulaze


c) Jedinstvena kombinacija za koju izlaz iz NILI kola ima vrednost 1 su sve nule na ulazu, pa je
reenje analogno prethodnom, s tim to je znak prepoznavanja jedinina vrednost izlaznog signala.
3
0
1
2
y
y =
1 za ulaz (1011)
0 za sve ostale ulaze


PRIMER 4.2. Koju adresu dekodira prikazani adresni dekoder u koga ulaze signali sa lonija
adresne magistrale (A0-A15), nekog 8-bitnog procesora?

64
y
A7
A6
A5
A4
A3
A2
A1
A0
A15
A14
A13
A12
A11
A10
A9
A8

Poto y ima vrednost 0 samo za jedinine vrednosti oba ulaza tj. nultu vrednost izlaza iz dva NI
kola sa po 8 ulaza, to je adresa: 1100000010000110
2
=C086
16
.
4.2.1. Dekoder 1 od 2
n


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

Sl. 4.3 Dekoder 1 od 2
3


Brojne oznake ili adrese izlaznih linija predstavljaju dekadne vrednosti odgovarajuih
binarnih kombinacija.

PRIMER 4.3. Za vrednosti ulaznih signala u dekoder 1 od 2
3
na Sl. 4.3.:

0 1 2
E
0 1 1 0

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

PRIMER 4.3a Pomou I kola i NE kola formirati dekoder 1 od 2
2
.
3
2
1
0
x
1
x
0

4.3. Koder

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

Sl.4.4 Blok dijagram kodera sa 3 izlaza

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

Izlaz 2 1 0
Vrednost 1 1 0

4.3.1. Koder prioriteta

Kao to smo konstatovali, kod kodera je dovoljno da samo jedna od ulaznih linija bude
aktivna. Kod kodera prioriteta vie ulaznih linija mogu da imaju jedininu vrednost a izlazi daju
binarni kod najprioritetnijeg od aktivnih ulaza.

66
PRIMER 4.5. Ako prioritet ulaza u dati koder prioriteta raste od 0 prema 7 (najprioritetniji je ulaz
7) odrediti vrednosti izlaza.
2
1
0
7
6
5
4
3
2
1
0
0
0
1
0
1
1
0
0
0
?

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

Izlaz 2 1 0
Vrednost 1 0 1

4.4. Multiplekser

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

Sl.4.5. Multiplekser 2
m
xn

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
















Sl.4.6. MUX 2
3
x1

PRIMER 4.6. Logike vrednosti ulaza u MUX 2
3
x1 su

Ulaz 0 1 2 3 4 5 6 7
Vrednosti 0 1 1 1 0 0 0 1

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


E
S
0
S
1
S
2

0 0 0 0
0 1 1 0
0 0 1 1
0 1 0 0
1 0 1 1

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

E
S
0
S
1
S
2
Y
0 0 0 0 0
0 1 1 0 1
0 0 1 1 0
0 1 0 0 1
1 0 1 1 n.d.

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


I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
S
2
S
1
S
0
Y




I - ulazne linije
S - adresne (selekcione) linije
Y - izlazne linije
E - ulaz sa signal dozvole
68
izlaz
0
0
1
2
2
m
-2
2
m
-1
1 2 2
m
-2 2
m
-1
m
adresni
ulazi
DEKODER

Sl.4.7. Realizacija multipleksera pomou dekodera
4.4.1. Multiplekser kao generator Bulovih funkcija

Ako se vrednosti nekih ulaza i/ili nekih adresnih ulaza menjaju, manjae se na odreen
nain vrednosti izlaza, pa multiplekser moe da poslui kao generator Bulovih funkcija.

PRIMER 4.7. Koju funkciju generie sledei MUX 2
3
x1?

I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
S
2
S
1
S
0
Y
0
0
f(x,y,z,v)
x y v
z
1

Na osnovu funkcije multipleksera napre emo da formiramo tablicu vrednosti Y za sve
mogue vrednosti promenljivih signala x,y,z,v, tj. tablicu istinitosti Bulove funkcije f(x,y,z,v), koja
se generie.
69


















S obzirom da je broj nultih vrednosti f znatno manji, potraiemo analitiki izraz funkcije u POS
obliku:

f = (x + y + v + z) (x + y + v + z) (x + y + v + z) (x + y + v + z) (x + y + v + z)

koji dalje uproavamo. Poto prvi faktor (x + y + v + z) uvedemo u izraz jo 3 puta da bi ga
kombinovali sa svakim od ostala 4 faktora i primenili teoremu 8a - distributivnost (vidi primer
3.13.)

f = (x + y + v) (x + y + z) (x + v + z) (y + v + z)

Primenjujui istu teoremu:

f = (x + y + v z) (v + z + x y)

Preostaje da izmnoimo i sredimo:


f = xv + yv + zv + xz + yz + zv + xy + xy + xyzv
= xy(1+ zv) + xz + xv + yz + yv + zv
= x(y + z + v) + yz + yv + zv
1
123

4.4.2. Generator Bulovih funkcija pomou multipleksera

Moe se postaviti obrnut problem. Ako imamo zadatu Bulovu funkciju, kako je generisati
pomou multipleksera.
x y v z f
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Primetimo da trojka vrednosti x, y, v daje adresu ulaza ija vrednost
se pojavljuje na izlazu (vrednost za f)
70

PRIMER 4.8. Funkcija F(A,B,C,D) data je sledeom tablicom istinitosti:

D C B A F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1



Potrebno je pomou MUX 2
3
x1 prikazanog na slici
realizovati funkciju F(A,B,C,D):

Funkcija F se formira u SOP obliku na osnovu tabele
istinitosti

F = D C B A + D C B A+ D C B A+ D C B A + D C B A

Kako promenljive D,C,A odreuju selekcione ulaze tada se
prethodna funkcija transformie po grupama gde uestvuju
proizvodi tih promenljivih (direktno ili invertovano). Tri
promenljive daju 2
3
=8 takvih kombinacija, onoliko koliko
ima informacionih ulaza.

F = D C A (B+ B) + D C A (B) + D C A (B) + D C A (B)


Konano se na osnovu prethodne funkcije formira tabela vrednosti ulaznih linija (informacioni
ulazi). Na primer: Kombinacija 011 odgovara informacionom ulazu I
3
to odgovara proizvodu
D C A pa informacioni izlaz ima vrednost B+ B=1. Za one kombinacije promenljivih D,C,A
koje ne figuriu u funkciji F, odgovarajui informacioni ulazi su jednaki 0.

I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
S
2
S
1
S
0
Y
D C A

71

Informacioni
ulaz
Selekcioni ulazi
S
2
S
1
S
0

Odgovarajui
proizvod
Informacioni
izlaz
I
0
D = 0 , C = 0 , A = 0
D C A B
I
1
D = 0 , C = 0 , A = 1
D C A
0
I
2
D = 0 , C = 1 , A = 0
D C A
0
I
3
D = 0 , C = 1 , A = 1
D C A
1
I
4
D = 1 , C = 0 , A = 0
D C A
0
I
5
D = 1 , C = 0 , A = 1
D C A
0
I
6
D = 1 , C = 1 , A = 0
D C A B
I
7
D = 1 , C = 1 , A = 1 D C A B

Odgovarajui MUX 2
3
x1 je na osnovu prethodne tabele
I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E S
2
S
1
S
0
Y
D C A
F(A,B,C,D)
1
0
B

4.4.3. Multiplekser kao pretvara podataka iz paralelnog u serijski oblik

Na ulazu u multiplekser moe biti, sabirnicom podataka, u paralelnom obliku doveden neki
podatak iz mikroprocesora. U sluaju 8-bitnog mikroprocesora to e biti multiplekser MUX 2
3
x1.
Podatak na ulazu u multiplekser je dakle podatak u paralelnom obliku jer svaki bit, b
i
; i=0,7
ima svoju liniju. Ako ulaze redom vezujemo za izlaz varirajui na odgovarajui nain adresne ulaze,
na izlaznoj liniji emo dobiti isti podatak u serijskom obliku - bit po bit. Tako, ako adresu na
adresnim ulazima, poev od nule, inkrementiramo, na izlaznoj liniji e se prvo pojaviti bit sa linije
0, b
0
, zatim bit sa linije 1, b
1
, na kraju bit b
7
. Tako multiplekser moe da poslui za pretvaranje
podataka iz paralelnog u serijski oblik koji ima praktinog znaaja pri slanju podatak na daljinu
(meuraunarsku komunikaciju). Kao generator adresa moe da poslui tzv. brojaki registar, u
slujaju 8-bitnog podatka-trobitni registar. Kao signal za inkrementiranje sadraja brojakog
registra, poto se on najpre resetuje - njegov sadraja postavi na nulu, koristi se taktni signal. Tako
e pri svakoj promeni vrednosti taktnog signala sa 0 na 1, sadraj brojakog registra biti uvean za
1. Dobijena adresa e biti prisutna na adresnim (selekcionim) ulazima u toku jedne periode taktnog
signala, koliko je na izlaznoj liniji prisutan bit sa adresirane ulazne (informacione) linije.

72

4.5. Demultiplekser

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

Sl.4.8. ema demultiplekseara DEMUX nx2
m


Kao i multiplekser, demultiplekser se moe lako realizovati pomou dekodera 1 od 2
n
(Sl.4.9.)
izlazi
0
0
1
2
2
m
-2
2
m
-1
1 2 2
m
-1 2
m
-2
m
adresni
ulazi
DEKODER
ulaz


Sl.4.9. Realizacija pomou dekodera

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

73
















Sl. 4.10 DEMUX 1x2
3


PRIMER 4.9. Za Y=1 i S
0
=0, S
1
=1, S
2
=1 kakve e biti vrednosti izlaza za aktivan DEMUX 1x2
3
sa
Sl.4.10
Svi izlazi sem adresiranog , a to je izlaz 6 e imati nulte vrednosti dok e na izlazu 6 biti
jedinica (sa ulaza Y). Tanije reeno, svi neadresirani izlazi e imati nulte vrednosti ili vrednosti
onih linija sa kojima su kratko vezani (pogledati Sl.4.9. i Sl.4.2.)
4.5.1. Demultiplekser kao pretvara podataka

Jasno je da demultiplekser, opremljen brojakim registrom za generisanje adresa na
adresnim ulazima, moe da poslui kao pretvara podatka iz serijskog oblika na ulaznoj liniji u
paralelni oblik na izlazu. Uproeno reeno, nakon to se resetuje (postavi na 0) brojaki registar se
inkrementira pomou taktnog signala, ija frekvenca treba da bude jednaka frekvenci kojom se
menjaju podaci (bitovi) na ulazu (sinhronizacija). Paralelni podatak sa izlaza moe, recimo
sabirnicom podataka, da ide u neki mikroraunar.
4.6. Binarni sabira

Ovo kombinaciono kolo realizuje sabiranje dva cela binarna broja u ALU. U primeru 3.17
(pogl. 3.5.3) smo se upoznali sa potpunim sabiraem koji realizuje sabiranje dve odgovarajue
binarne cifre a
i
i b
i
dva n-bitna podatka A i B koje i njegov blok dijagram je dat na Sl.4.11.













Sl. 4.11. Binarni sabira
I
7
I
6
I
5
I
4
I
3
I
2
I
1
I
0
E
S
2
S
1
S
0
Y
S
a
i
b
i
c
i
c
i+1
s
i




I - izlazne linije
S - adresne (selekcione) linije
Y - uazna linija
E - ulaz sa signal dozvole
c
i
- prethodni prenos
c
i+1
- prenos pri sabiranju cifara a
i
i b
i

s
i
- cifra zbira
74

Binarni sabira se dobija jednostavno, vezivanjem n potpunih sabiraa.

S
a
n-2
b
n-2
c
n-2
s
n-2
S
a
0
b
0
c
0
s
0
S
a
1
b
1
c
1
s
1
S
a
2
b
2
c
2
s
2
S
c
n
s
n
a
n-1
b
n-1
c
n-1
........
c
3


Sl.4.12. ema binarnog sabiraa

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

jednak konanom prenosu c
n
prethodnog sabiranja iz registra stanja.

4.7. Bistabilna kola (flip-flop)

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

4.7.1. R-S flip-flop

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


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



Sl. 4.13. Blok dijagram R-S flip flopa

Tab. 4.1. Tablica istinitosti R-S flip flopa

R S Q
0 0 Q
*

0 1 1
1 0 0
1 1 n.d.

Q
*
- postojee stanje
n.d. - ova kombinacija nije dozvoljena

Na Sl.4.14. data je uproena realizacija R-S flip flopa pomou NI odnosno NILI kola

S
R
Q
Q
S
R
Q
Q
a) b)

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

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



C - ulaz za signal dozvole, po prvilu taktni signal (clocl
signal
SET - postavljanje Q na 1 bez obzira na ostale signale
(setovanje)
CLR - postavljanje Q na 0 bez obzira na ostale signale
(resetovanje)



Sl .4.15. Sinhronizovani R-S flip-flop

C R S Q
1 0 0 Q
*

1 0 1 1
1 1 0 0
0 x x Q
*


x - bilo koja vrednost (0 ili 1)
Q
*
- postojee stanje

Razlika u funkciji asinhronog i sinhronizovanog R-S bistabila jasna je sa vremenskog dijagrama na
slici 4.16.














Asinhroni R-S



Sinhronizovani R-S



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



Q
Q
SET
CLR
S
R
C
1
0 C
S
R
Q
Q
77
4.7.2. D flip-flop

D flip-flop (Sl.4.17.) je sinhronizovan bistabil sa jednim ulazom D. Vrednost sa ulaza
prelazi na izlaz Q, sinhronizovano sa taktnim signalom (Tab.4.2. i Sl.4.18.)

Tab.4.2 Tablica istinitosti D flip-flopa

C D Q
1 0 0
1 1 1
0 x Q
*


x - bilo koja vrednost (0 ili 1)
Q
*
- postojee stanje
Sl.4.17. D flip-flop

1
0 C
D
Q

Sl. 4.18. Vremenski dijagram D - flip flopa

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

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

4.8. Registri

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

4.8.1. Statiki registri

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


Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
R/W

S
E
Sa sabirnice podataka
2
3
2
3
2
2
2
1
2
0
2
2
2
1
2
0
Na sabirnicu podataka

R/W =

(write) pisanje za 0
(read) itanje c za 1
(

- taktni signal iz generatora taktnog signala
S - signal izbora registra, iz adresnog dekodera

Sl.4.20. ema 4-bitnog statikog registra

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

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

4.8.2. Pomeraki registri

Pomeraki ili ift (shift) registar ima funkciju pomeranja svih registrovanih bitova u
desno (right) ili u levo (left). Preko ulazne linije se pri tom na upranjeno mesto (krajnje levi tj.
najvii bit pri pomeranju u desno a najnii bit pri pomeranju u levo) unosi bit 1 ili 0.
Slikom 4.22. je ilustrovana operacija pomeranja u levo, a na slici 4.23. dat je blok dijagram
8-bitnog shift registra.

1 1 1 1 1 0 0 0
1 1 1 1 0 0 0
1 1 1 1 0 0 0
polazni sadraj
uz unos
nule
uz unos
jedinice
0
1


Sl.4.22. Operacije pomeranja u levo - ift left (SHL)

80
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
D
C
RES

Sl. 4.23. Blok dijagram pomerakog registra

PRIMER 4.10. Dat je vremenski dijagram izlaznih signala u 8-bitni pomeraki registar za
pomeranje u desno, SHR. Odrediti sadraj u registru nakon svakog od 8 ciklusa taktnog signala C,
ako je registar prethodno resetovan.
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
D
C
RES
1
2 3 4 5 6 7 8

Reenje dobijamo imajui u vidu da se SHR operacija obavlja pri aktivnom prelazu (0-1), i dato je u
Tabeli.


Tabela uz primer 4.10
Ciklus Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
1 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0
3 1 1 0 0 0 0 0 0
4 0 1 1 0 0 0 0 0
5 0 0 1 1 0 0 0 0
6 1 0 0 0 1 1 0 0
7 1 1 0 0 0 1 1 0
8 0 1 1 0 0 0 1 1

D - ulaz bita 0 ili 1
C - signal dozvole
Qi - izlazi (sadraj registra)
RES - signal za brisanje sadraja registra

81
Jasno je da se pomeraki registar u desno moe realizovati od statikog registra (Sl.4.20.)
tako to se ulaz D svakog od bistabila (izuzimajui prvi sleva) vee sa izlazom Q njegovog levog
suseda. Uproeni prikaz 4-bitnog ift registra u desno je dat na sledeoj slici (Sl.4.24).
Povezivanjem u obrnutom redosledu dobijamo ift registar za pomeranej u levo.

Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
Q
Q
SET
CLR
D
C
D
C
Q0 Q1 Q2 Q3

Sl.4.24. Pomeraki registar u desno

Pri tome treba naglasiti da je za ovakve registre bitna osobina bistabila, kao sekvencijalnih kola, da
signal na izlazu kasni za signalom na ulazu. Zahvaljujui tome pri aktivnom signalu dozvole C,
dogaa se da je Q3=D, Q2=Q3
*
, Q1=Q2
*
Q0=Q1
*
(* oznaava prethodno stanje kada je C=0).
Pomeraki registri mogu da poslue za transformaciju podataka iz paralelnog u serijski oblik
ili obratno. Dovoenje podataka u paralelnom obliku je preko Q linija a u serijskom preko D linije.
(Sl.4.24). Blok dijagram jednog takvog integralnog kola koji ukljuuje i ift registar u desno dat je
na sl.4.25.

D0
D1
D2
D3
D4
D5
D6
D7
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
PRESET
RES
I
O
C

Sl.4.25. Integralno kolo sa pomerakim registrom u desno sa funkcijom pretvaraa podataka

Paralelni 8-bitni podatak koga treba da prevedemo u serijski oblik dovodimo na ulaze D0-
D7 i aktiviranjem signala PRESET uvodimo ga u pomeraki registar, tj. na linije Q0-Q7. Signal
dozvole za ift operaciju se uvodi na C ulaz. Tako, ako na C ulaz dovedemo taktni signal, u toku 8
perioda signala na izlaznoj liniji, O e ispadati kao rezultat pomeranja u desno redom bitovi:
b0,b1,,b7 podatka koji je bio na ulazu.
D0-D7 - paralelni ulaz
Q0-Q7 - paralelni izlaz
I -serijski ulaz
O - serijski izlaz
RES - resetovanje registra
PRESET - paralelni ulaz podataka u registar
82
Obrnuto, ako elimo da podatak iz serijskog prevedemo u paralelni oblik, dovodimo ga na
serijski I i to u redosledu b0,b1,,b7 sinhronizovano sa taktnim signalom povezanim na signal
dozvole C. Nakon 8 perioda taktnog signala, kao rezultat ift operacije, svih osam dovedenih bitova
bie na linijama Q0-Q7 sa kojih podatak dobijamo u paralelnom obliku.

4.8.3. Kruni registri

Kruni registri slue za ciklino pomeranje bitova levo (ROL) ili desno (ROR).


1 0 1 1 0 1 0
1 1 1 0 0 0 1
polazni sadraj
u desno
u levo
1
1
1 1 1 1 0 0 0 1

Sl.4.26. Operacije ciklinog pomeranja u desno, ROR (ROtate to the Right) i u levo, ROL
(ROtate to the Left)

Jasno je da se kruni registrar jednostavno moe dobiti od ift registra tako to se poveu
krajnji Q izlaz sa prvim ulazom D bistabila (vidi Sl.4.24). Jedna primena krunih registara je
dovoenje nekog od bitova na eljenu poziciju. Tako, na primer, za dovoenje bita b4 na poziciju 7
potrebno je 5 uzastopnih ROR operacija ili 3 uzastopnih ROL operacija.

4.8.4. Brojaki registar

Impulsi (aktivni prelazi 0-1 nekog signala) dovedeni na ulaz brojakog registra (counter)
se prebrojavaju i njihov broj pamti u registru. Svaki novi impuls znai inkrementiranje sadraja
brojakog registra. Po pravilu, kada se kao rezultat uzastopnog inkrementiranja u registru nae
najvei mogui rezultat (svi bitovi jedinice), pri sledeoj operaciji inkrementiranja, INCR registar se
automatski resetuje tj. svi bitovi vraaju na nulte vrednosti. Na Sl.4.27. data je ema i blok
dijagram 4 bitnog brojakog registra. Bitno je napomenuti da se razne vrste brojakih registrara
takoe mogu dobiti povezivanjem flip-flopova na odreen nain.


Q0
Q1
Q2
Q3
INCR
RES

Sl. 4.27. Blok ema 4-bitnog broja
83

You might also like