You are on page 1of 37

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

1. Binarni brojni sistem


Iako je decimalni brojni sistem naao primjenu u ljudskoj svakodnevnici nije pogodan za koritenje kod digitalnih raunara.Koritenje ovog brojnog sistema bi znailo da logika kola od kojih je sastavljen raunar moraju imati deset razliitih,jasno denisanih stanja.Problem bi nastao u kompleksnosti strukture a i sa ekonomskog gledita.U svrhu rjeavanja ovog problema koristi se binarni brojni sistem,koji ima bazu 2 sto znaci da ima i samo dvije cifre 0 i 1.Realizacija kola u digitalnim raunarima je dosta jednostavnija sa ovim brojnim sistemom jer imaju samo dva stanja.Stanje vieg napona prikazano sa 1 i nieg prikazano sa 0.Vrijednost brojeva u svakom brojnom sistemu raunamo pomou izraza:

n1

x=
i=m
za binarni brojni sistem ta bi formula izgledala

ci bi

n1

x=
i=m
a ako je napiemo u razvijenom obliku to bi bilo

ci 2i

x = cn1 2n1 + cn2 2n2 + ... + c1 21 + c0 20 + c1 21 + ... + cm 2m


primjer prorauna vrijednosti broja u binarnom brojnom sistemu

(101, 01)2 = 1 22 + 0 21 + 1 20 + 0 21 + 1 22 = 4 + 0 + 1 + 0 + 0.25 = (5.25)10


Jedno od pravila kod brojnih sistema: potrebno je vie cifara za brojni sistem sa manjom bazom da se zapie brojevi istih vrijednosti,to se vidi i u ovom primjeru.U binarnom brojnom sistemu sa tri cifre se moe zapisati najvei broj

(111)2 = (7)10

dok je to u decimalnom brojnom sistemu

(999)10 .Formula N = 2n 1 pokazuje najveu vrijednost koja

se moe zapisati sa n bita.Poto i u binarnom brojnom sistemu postoje negativni brojevi dogovoreno je koritenje bita predznaka.Biti predznaka su 0 i 1 gdje 0 predstavlja bit predznaka za pozitivne brojeve a 1 za negativne.Bit predznaka se odvaja praznim mjestom pa bi bilo +101=0 101 i -110=1 110.Ukoliko elimo vriti matematike operacije sa negativnim brojevima u binarnom brojnom sistemu potrebno je koristiti kompliment dvojke.

2.Konverzija binarnih u decimalne brojeve.


Konverzija iz bilo kojeg brojnog sistema u decimalni brojni sistem se izvodi pomou formule

n1

x=
i=m
gdje je

ci bi

c-vrijednost cifre b-baza brojnog sistema n-broj cijelih mjesta u broju m-broj razlomakih mjesta i-pozicija
n1

cifre.Za binarni brojni sistem to je:

x=
i=m
a u razvijenom obliku:

ci 2i

x = cn1 2n1 + cn2 2n2 + ... + c1 21 + c0 20 + c1 21 + ... + cm 2m


ova formula znai da se cifra broja (0 ili 1) mnoi sa odreenom pozicionom vrijednosti te se nakon mnoenje te vrijednosti saberu i dobijemo vrijednost tog binarnog broja u decimalnom brojnom sistemu.Pozicione vrijednosti lijevo od zareza su (iui od desne strane ka lijevoj) nula i rastu za jedan za svaku narednu poziciju,to znai da ce se cifra koja je na najnioj pozicionoj vrijednosti mnoiti sa slijedea sa

20 ,slijedeca

sa

21

itd.Pozicione vrijednosti cifara na desnoj

strani zareza su manje od nule i smanjuju se od lijeve strane ka desnoj,pa ce se prva crifra do zareza mnoziti sa

21

itd.Primjer pretvaranja binarnog u decimalni broj:

(10101)2 = 1 24 + 0 23 + 1 22 + 0 21 + 1 20 = 16 + 0 + 4 + 0 + 1 = (21)10
kao to se vidi iz primjera brojevi iste vrijednosti se zapisuju sa vie cifara u binarnom nego u decimalnom brojnom sistemu,razlog toga je to su poziciona mjesta kod decimalnog brojnog sistema vea u odnosu na binarni tj.baza je vea.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

3.Konverzija decimalnih u binarne brojeve.


Kod konverzije brojeva iz decimalnog brojnog sistema u binarni brojni sistem koriste se odreene metode,za cjelobrojne vrijednosti koriste se

metoda oduzimanja i metoda djeljenja a za razlomaki dio koristi se metoda mnoenja.


20 .Ukoliko
je razlika

Metoda oduzimanja se sastoji od toga da se od datog broja oduzima najvei broj koji se moe napisati pomou nekog eksponenta na 2,zatim se to ponavlja na rezultatu te razlike,sve dok se ne oe do

onda

se kao cifra binarnog broja zapisuje 1 i ta se razlika koristi u slijedeem oduzimanju,a ako je razlika <0 onda se kao cifra binarnog broja pie 0 i uzima se predhodna razlika za novo oduzimanje sa eksponentom na 2(za jedan manjim od predhodnog).U opem obliku to se moze zapisati kao :

r1 = XD 2n1 za r1 0 cn = 1 r2 = r1 2n2 za r2 < 0 cn1 = 0


......

rk1 = rk2 21 rk = rk1 20


gdje je

n broj bita sa kojim se binarni broj zapisuje k broj odraenih postupaka a c cifre binarnog broja.Ova metoda
(13)10 =? c4 = 1 c3 = 1 c2 = 0 c1 = 1 kao (c4 c3 c2 c1 )

se rijetko koristi zbog kompleksnosti rada sa velikim brojevima.Primjer ove metode pretvaranja:

13 23 = 13 8 = 5 5 22 = 5 4 = 1 1 21 = 1 2 = 1 1 20 = 1 1 = 0
Pa je na broj zapisan

tj

(13)10 = (1101)2

Metoda djeljenja je takoer metoda koja se koristi kod pretvaranja cijelog dijela broja.Ova metoda se moe koristiti prilikom pretvaranja iz decimalnog u bilo koji brojni sistem i ima znatno veu primjenu od metode oduzimanja.Sastoji se od toga da se dati decimalni broj dijeli sa bazom brojnog sistema u koji elimo pretvoriti a ostatak djeljenja su cifre novog broja.U sluaju kada pretvaramo iz decimalnog u binarni brojni sistem,decimalni broj dijelimo sa 2 a ostatak prilikom takvog djeljenja je 0 ili 1 i ine cifre binarnog broja.Opa forma ove metode je:

XD c0 B = X0 + B X0 c1 B = X1 + B ........ Xn3 2 = Xn2 + cn B B Xn2 cn1 = Xn1 + B B gdje je baza brojnog sistema u naem sluaju je to 2,Xi je cjelobrojni kolinik,ci cifre binarnog broja.Postupak

djeljenja u ovoj metodi se ponavlja sve dok se ne dobije pozicionoj vrijednosti.

Xn1 = 0

i to predstavlja vrijednost bita na najveoj

Metoda mnoenja se koristi prilikom pretvaranja brojeva u rasponu (0,1) tj.razlomakog djela decimalnog broja (lijevo od decimalnog zareza).Metoda se sastoji u tome da se dati broj mnoi sa bazom sistema u koji ga pretvaramo (u naem sluaju 2),ukoliko je proizvod vei od 1,cifra binarnog broja ce biti 1 a decimalni dio se ponovo mnoi sa dva,ovaj postupak se ponavlja sve dok se za proizvod ne dobije 1 te e ta jedinica biti cifra binarnog broja sa najniom pozicionom vrijednou.Opa forma ove metode je:

XD B = X1 + c1 X1 B = X2 + c3
..........

X(m1) B = Xm + cm Gdje ci predstavlja cifru binarnog broja a 0<X<1.Primjer konverzije broja metodom 0.5625 2 = 1 + 0.0.125 C1 = 1 0.125 2 = 0 + 0.25 C2 = 0 0.25 2 = 0 + 0.5 C3 = 0 0.5 2 = 1 + 0 C4 = 1 pa je na traeni broj (0.C1 C2 C3 C4 )2 = (0.1001)2 tj .(0.5625)10 = (0.1001)2

mnoenja:(0.5625)10

=?

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

4.Predstavljanje negativnih brojeva u binarnom brojnom sistemu.


brojeva usvojen je bit predznaka tj.

Za zapisivanje negativnih binarnih

na broj se dodaje 0 ili 1,gdje je 0 bit predznaka pozitivnih brojeva a 1 bit

predznaka negativnih brojeva. Bit predznaka se odvaja praznim mjestom od cifara broja. Ukoliko elimo da napisemo + 110= 0 110 ili -110= 1 110. Bit predznaka se koristi samo kao oznaka za pozitivnost brojeva,ukoliko elimo vriti matematike operacije sa tim brojevima koristimo se komplementima.Ukoliko elimo da izraunamo neki kompliment broja u bilo kojem brojnom sistemu koristimo se formulom

= KX X (0110)2

gdje K moe biti

K = bn

ili

K = bn 1

.U

binarnom brojnom sistemu za vrenje aritmetikih operacija koristi se drugi komplement.Rauna se po datoj formuli

X = 2n X .

Primjer prorauna drugog komplementa od broja

je:

0110 = 24 0110 = 10000 0110 = 1010


Jedna od lakih metoda prorauna drugog komplementa je preko prvog komplementa. Iz datih formula se moe uoiti da je prvi komplement za jedan manji od drugog. Takoer,proraunom po ovim formulama dolazi se do zakljuka da je prvi komplement nekog broja zapravo broj kojeg ine invertovane cifre poetnog broja. Po ovom pravilu prvi komplement broja

(0 1101)2

je 10010. Ako na prvi komplement dodamo jedan,dobiti emo drugi komplement pa je drugi

komplement ovog broja 10010+1=10011 i to predstavlja negativnu vrijednost broja 0 1101. Ukoliko elimo izraunati vrijednost nekog broja datog u drugom komplementu potrebno je da uradimo inverzni postupak od navedenog imajui na umu da je to negativan broj jer emo dobiti pozitivnu vrijednost inverznim postupkom.

5.Oktalni i heksadecimalni brojevi


U naoj svakodnevnici primjenu ima decimalni brojni sistem,raunari koriste binarni brojni sistem i to su dva najee koritena brojna sistema. Pored njih,takoer pri radu raunara,koriste se oktalni i heksadecimalni brojni sistem. Baza oktalnog brojnog sistema je 8,tako da je lake raditi sa velikim brojevima nego kod binarnog brojnog sistema.Cifre oktalnog brojnog sistema su 0,1,2,3,4,5,6. Oktalni brojni sistem ima veliku primjenu zato to je pretvaranje oktalnih u binarne brojeve (i suprotno) vrlo jednostavno. Kod konverzije oktalnih brojeva u decimalne koristi se formula

X=
i=m

ci 8i

Prilikom konverzije decimalnih brojeva u oktalne koriste metode djeljenja ( sa 8) i mnoenja. Pretvaranje oktalnih u binarne je mnogo jednostavnije zato to se svaka cifra oktalnog broja zamjenjuje sa tri cifre binarnog,odnosno triadom binarnih cifara koje e imati vrijednost jednaku cifri oktalnog broja. Tako naprimjer broj

(57)8 = (101111)2
Prilikom konverzije binarnih u oktalne postupak je isti,odnosno grupiemo triade binarnih brojeva i mijenjamo ih sa oktalnim brojem koji ima vrijednost te triade. Prilikom ovog pretvaranja potrebno je paziti na grupisanje ukoliko je broj cifara binarnog broja takav da se ne mogu formirati triade,u tom sluaju sa lijeve strane broja dozvoljeno je dodati nule (jer to nece promjeniti vrijednost) ili sa desne strane iz zareza. Jedan od primjera takvih sluajeva je:

(1101100, 01101)2 = (001 101 100, 011 010)2 = (154, 32)8


Ovaj brojni sistem je takoer pogodan za zapisivanje velikih brojeva jer korisiti manje cifara i od decimalnog brojnog sistema. Princip pretvaranja hesadecimalnog broja u decimalni je isti kao i sa predhodna dva brojna sistema samo to moramo koristiti bazu 16. Pretvaranje heksadecimalnog broja u binarni je jednostavno i slino pretvaranju oktalnog broja u binarni. Kod ove konverzije cifre heksadecimalnog broja zamjenjujemo tetradama decimalnih cifara ija je vrijednost jednaka cifri heksadecimalnog broja. Primjer ove konverzije:

Heksadecimalni brojni sistem za bazu brojnog sistema ima 16,tako da cu cifre ovog brojnog sistema 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

(1A07)16 = (0001 1010 0000 0111)2 = (1101000000111)2

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

6.Binarno kodirani decimalni brojevi BCD


Za izvoenje matematikih operacija najpogodniji je decimalni brojni sistem, dok je za rad sa raunarom najbolji binarni brojni sistem. U cilju pojednostavljenja rada,osmiljeni su sistemi koji sadre i osobine binarnih i decimalnih brojeva. Ovi sistemi sadre binarno kodirane decimalne brojeve pa se zbog toga nazivaju BCD kodovi. Kod BCD kodova svi decimalni brojevi se predstavljaju odreenom grupom binarnih cifri(slino pretvaranu oktalnih i hesadecimalnih brojeva). Binarne cifre se rasporeuju po nekoj utvrenoj ifri (emi) koji obino ima (ali moe i da nema) pozicioni teinski karakter. Zahvaljujui ovakvoj vezi izmeu decimalnih i binarnih brojeva omogueno je jednostavno pretvaranje decimalnih brojeva u binarno kodirane. Taj postupak pretvaranja decimalnih u binarno kodirane naziva se kodovanje (ili enkodovanje) a inverzan postupak se naziva dekodovanje. Poto u decimalnom brojnom sistemu postoji deset cifara to znai da je potrebno i deset razliitih kombinacija binarnih cifara,to se moe postii ako decimalni broj pretvaramo u tetrade binarnih cifara. Kreiranjem tetrada moemo napraviti 16 razliitih kombinacija meutim koristi se samo deset,potrebnih za svaku cifru decimalnog brojnog sistema. Postoji vie BCD kodova najjee koriteni su 8421 (NBCD),4221,2421,XS 3 (vie 3)... Najjvie se koristi NBCD 8421 koji se naziva i prirodnim binarno kodiranim decimalnim sistemom jer se teinske vrijednosti u ovom sistemu poklapaju sa teinskim vrijednostima pravih binarnih brojeva, stoga nam je najblii i najlaki za upotrebu.

7.Prirodni binarni decimalni kod NBCD,BCD 8421


Prirodni binarno kodirani decimalni sistem odlikuje se time to za razliku od ostalih BCD kodova,svaku cifru decimalnog broja zamjenjujemo sa pravom vrijednou u binarnom brojnom sistemu. Ovaj NBCD kod se naziva i BCD 8421, jer su 8421 upravo teinske vrijednosti u binarnom brojnom sistemu. Pored ovog 8421 koda postoje i drugi teinski kodovi meutim jedino NBCD ima pravu vrijednost, to ga svrstava u najjednostavnije i najprimjenjivije kodove. Pretvaranje se vri na jednostavan nain:

(67)10 = (0110 0111)N BCD (0100 1001 0011)N BCD = (493)10


Problem koji je zastupljen kod NBCD koda je prilikom izvoenja matematikih operacija.Na primjer,kod sabiranja ukoliko sabiramo dvije tetrade te vrijednost prelazi 9 (NBCD kod sadri samo 10 kombinacija,svaku za jednu cifru decimalnog brojnog sistema). Ukoliko se dobije vrijednost vea od 9 mora se izvriti "prenoenje" jedinice u tetradu vieg reda. Takoer ovaj problem se moe prevazii ukoliko se na rezultat u sabiranju doda vrijednost 6 tj.0110. Primjer takvog problema je sabiranje brojeva 67+24 tj :

0110 0111 + 0010 0100 = 1000 (1011) (nije N BCD kod) 1000 1011 + 0110 = 1001 0001
Problem je ukoliko elimo da izvedemo vie i kompleksnije matematike operacije, tako da je i NBCD kod ogranien u djelovanju. Problem je prevazien uvoenjem drugih kodova kao npr

XS 3

ili "vie 3" koda.

8.Konverzija NBCD brojeva u binarne brojeve.


tam pomjeranja sa oduzimanjem.
Za konverziju NBCD brojeva u normalne binarne brojeve koriste se dva naina i to:

algoritam sa sabiranjem i algori-

algoritam sa sabiranjem se sastoji u tome da se svakoj cifri NBCD koda prepie odgovarajua vrijednost,zatim se
vrijednosti na kojima je cifra NBCD koda jednaka jedinici saberu i dobije se binarna vrijednost tog broja. Teinske vri200(11001000), 400(110010000), 800(1100100000). Primjer takvog pretvaranja :

jednosti zavise od poloaja i iui sa desna na lijevo one su 1(binarna vrijednost 1),2(10),4(100),8(1000),10(1010),20(10100),40(101

(0010 0001 0011)N BCD = (?)2


Jedinice su na pozicijama 1,2,5,10 pa ako ih zamijenimo sa odgovarajuim vrijednostima imati emo:

1 + 10 + 1010 + 11001000 = (11010101)2

algoritam pomjeranja sa oduzimanjem

se sastoji u tome da cifre NBCD koda podjelimo u grupe sa po etri

cifre,zatim se vri pomjeranje ci u desno, ako je u grupama vrijednost vea ili jednaka 8 od njih se oduzima vrijednost 3, te se ponovo vri pomjeranje. Cifre koje izlaze sa strane su cifre binarnog broja i postupak se ponavlja sve dok ne izau sve cifre odnosno kada u grupama ostanu nule. Primjer ovog algoritma pretvaranja:

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

9. BCD kod XS3 "vie od 3".


U cilju rjeavanja problema aritmetikih operacija sa NBCD kodom, osmiljen je XS3. Ovaj kod se formira tako to se svakoj cifri decimalnog broja prvo doda 3,zatim se te cifre zapiu u obliku binarne tetrade. Iz ovog se vidi da XS3 mora da ima barem jednu jedinicu, te da njegove vrijednosti idu od 3 do 12 tako da su potrebne tetrade da se napiu u binarnom obliku ti brojevi. XS3 nije teinski kod,odnosno njegove cifre nemaju pozicionu vrijednost. Primjer pretvaranja decimalnog broja u XS3 :

(54)10 = (5 + 3 4 + 3) = (8 7) = (1000 0111)XS 3


Inverzni postupak se radi tako to se odrede vrijednosti tetrada te se od tih tetrada oduzme 3 i dobije se odgovarajui decimalni broj :

(1010 0011)XS 3 = (10 3) = (10 3

3 3) = (70)10

Prilkom izvoenja aritmetikih operacija sa XS3 brojevima mogu se primjeniti pravila binarne aritmetike. Karakteristina stvar kod XS3 je u tome kada se dvije tetrade saberu i ako njihov zbir nije vei od 9 oduzima se vrijednost 3 odnosno 0011 od rezultata. To se radi jer ako saberemo dva broja na koja smo dodali po 3 imali bi kod "vie 6" pa oduzimamo 3 da budemo u XS3 kodu.

Ako je vrijednost tetrada koje sabiramo vea od 9 tada se pojavljuje jedinica za prenos u slijedecu tetradu,i dobije se prava binarna vrijednost, stoga da bi bili u XS3 kodu potrebno je dodati jos 3(0011) na tetradu. Primjer sabiranja ukoliko vrijednost prelazi 9:

Primjer kombinacije tetrada u kojima prelazi i ne prelazi 9:

Jedna od dobrih osobina XS3 koda je samokoplmentarnost,to znai da je prvi kompliment XS3 tetrada jednak devetom koplementu decimalnog broja kojeg smo zapisali u XS3 kodu.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

10.Greyov kod
Grayov kod nalazi veu primjenu u perifernim jedinicama digitalnih ureaja,naroito pri analogno-digitalnoj konverziji neelektrinih veliina. Koritenjem Greyovog koda smanjuje se mogunost greke, poto se svaka tetrada u Greyovom kodu razlikuje od naredne za 1,pa prelaz sa jednog broja na drugi moe bit poslijedica promjene samo jednog bita,za razliku od drugih kodova npr NBCD i prelaza sa 7 na 8 (sa 0111 na 1000) gdje se sve etiri cifre mijenjaju. Greyov kod se moe dobiti ispisivanjem cifara binarnog oblika datog broja, cifra najvie pozicione vrijednosti ostaje ista i u Greyovom kodu a ostale se cifre dobijaju sabiranjem susjedne dvije krenuvi od cifre najvie pozicione vrijenosti,a jedinice za prenos se odbacuju. Broj (3)10 = (0011)2 (0 0 + 0 0 + 1 1 + 1) = (0010)GRAY ili (13)10 = (1101)2 (1 1 + 1 1 + 0 0 + 1) = (1011)GRAY Tabela sa nekim brojevima kodiranim u Greyov kod: DB 0 1 2 3 4 5 6 7 8 9 10 BB 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 Grey 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 broj

Iz tabele se moe vidjeti da se u Greyovom kodu svake dvije susjedne vrijednosti razlikuju samo za 1 kao to je ve spomenuto. Konverzija iz Greyovog koda u binarni broj je slina predhodnom postupku,prva cifra Greyovog koda je i prva cifra binarnog broja zatim se ta cifra dodaje na slijedeu cifru Greyovog koda i dobije se druga cifra binarnog broja,drugu cifru binarnog broja sabiramo sa treom cifrom Greyovog koda i dobijemo treu cifru binarnog broja,proces se nastavlja istim redoslijedom do kraja tetrade a jedinice za prenos se zanemaruju tj.odbacuju. Takoer treba naglasiti da cifre u Greyovom kodu nemaju odreene pozicione vrijednosti to znai da kod nema teinski karakter.

11.Alfanumeriki kodovi.
Kodovi kojima se mogu prikazati slova,brojevi te drugi znakovi nazivaju se znakovni ili alfanumeriki kodovi. To su ujedno kodovi za prenos informacija putem digitalnih ureaja. Za prikazivanje slova i drugih znakova 4 bita nisu dovoljna (kao sto je to bio sluaj sa BCD kodovima u kojima smo samo prikazivali decimalne cife),najjee se uzimaju 6-bitne kombinacije kojih ima

26 = 64.Za

prikazivanje raunaru to je obino dovoljno ali za kompletnu komunikaciju

najjee je potrebno i vie od 64 kombinacije pa se koriste 7 ili 8 bitni kodovi. Sa 7 bita moe se prikazati 128 a sa 8 bita 256 razliitih znakova. Najvie koriteni 6-bitni kod je tzv.

interni kod.

to se tie 7-bitnih najrasprostranjeniji

je ASCII-kod a od 8-bitnih EBCDIC-kod. ASCII se danas najvie i koristi,poto je on 7 bitni omoguuje prikazivanje 128 znakova,uz njegovih 7 bita se dodaje i jedan paritentni bit,pa je to 8 bita to predstavlja standardnu osnovnu veliinu (8 bita=1 bayt).

12.Kodovi za prenos informacija.


Za prenos informacija putem digitalnih ureaja koriste se alfanumeriki kodovi. Najvie se koristi 7-bitni ASCII kod koji omoguava prikazivanje

27 = 128

razliitih znakova.Pored ovih 7 bita dodaje se i parentalni bit,koji brine o

parnosti(kontrala greaka). Pored njega veliku uporabu ima i EBCDIC tj.proireni alfanumeriki kod,koji je 8 bitni i omoguava prikaz 256 znakova.Alfanumeriki kodovi za razliku od BCD kodova prikazuju dosta vie znakova (kod BCD kodova to su samo decimalne cifre) stoga im je i potrebno vie bita za prikazivanje tih znakova. To su najee 7 ili 8 bitni kodovi kao ve spomenuti ASCII ili EBCDIC. Postoji 6 bitni interni kod koji takoer ima veliku primjenu. Kod ovih kodova omogueno je prikazivanje svih znakova (slova,broja,znakovi interpunkcije,i dr) za normalnu kombinaciju i prenos kompletne informacije od jednog korisnika do drugog.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

13.Boolova algebra
Engleski matematiar George Bool je u jednom svom radu 1854.izloio metodu za simboliko predstavljanje logikih stavova (tano ili netano). Ove metode su se dugo koristile samo u matematici,meutim 1938 anon je pokazao da se Bulova algebra moe primjeniti u analizi kola sa releima kao i prekidakim kolima. Od tada Bulova algebra nalazi veliku primjenu najprije u telefoniji a zatim i u digitalnim sistemima za obradu informacija. Svrha koritenja Bulove algebre je viestruka,najprije pomou Bulove algebre sloeni problemi se mogu predstaviti u obliku matematikih funkcija u uveliko olakava formiranje odgovarajue mree logikih kola.Pored toga primjenom Bulove algebre problemi se mogu svesti na mnogo jednostavnije forme to je od velikog znaaja ta tehniku realizaciju mree. Za razliku od klasine algebre u Bulovoj algebri promjenjive mogu da imaju samo dvije vrijednosti to uveliko olakava rad sa njima. Ove vrijednosti se poklapaju sa stanjima koje mogu biti na logikom kolu,a s obzirom da raunari koriste binarni brojni sistem tako je se i za vrijednosti promjenjivih uzelo da budu 0 ili 1. Promjenjive se obiljeavaju velikim tampanim slovima abecede. Vrijednosti promjenjive u Bulovoj algebri su iskljuive,sto znai ako je A=1 onda ne moe biti nula. Operacije u Bulovoj algebri se dosta razlikuju od klasinih i imaju tri: logiko sabiranje,logiko mnoenje i komplementiranje. to se tie komplementiranja (negiranja) ono nema poseban znak ve se oznaava sa crticom iznad promjenjive a za obavljanje ove operacije je dovoljno samo jedna promjenjiva. Na osnovu ovoga ako je A=1 onda je

= 0. A

Logiko sabiranje ima znak "+" i naziva se ILI operacija zbog svojih karakteristika,takoer logiko mnoenje

ima isti znak kao i u klasinoj alegbri(

) ali ima drugaije znaenje i naziva se I operacijom.

14.Operacija I
Operacija I (AND) ili konjukcija (eng.conjuction-spajanje) je jedna od tri osnovne operacije u Bulovoj algebri,naziva se jo i logiko mnoenje te se predstavlja znakom znakom:

odnosno C=AB.Ovo logiko mnoenje se uveliko razlikuje od kla-

sinog mnoenja u matematici.Ova logika operacija se predstavlja I logikim kolom koje se u crtanju ema odznaava

Stanja koja ce ovo logiko kolo prikazivati na izlazu za razliite vrijednosti dvije promjenjive su: A 0 0 1 1 B 0 1 0 1 AB 0 0 0 1

Tehnia realizacija ovog kola se moe predstaviti emom:

Sa ove eme se jasno vidi da e potroa (sijalica S) dobiti napon samo ako su oba prekidaa zatvorena. Ovo znai da e logiko kolo I dati vrijednost 1 samo ako su svi njegovi ulazi jednaki 1 a dati e 0 ako je barem jedan ulaz jednak 0 odnosno razliit od 1. To se moe vidjeti i iz tabele.

15.Operacija ILI
Operacija ILI (OR) logiko sabiranje ili disjunkcija (eng.disjunction-razdavanje) takoer predstavlja jednu od osnovnih operacija Bulove algebre. Znak koji se koristi za ovu logiku operaciju je "+". Logiko sabiranje se razlikuje od klasinog aritmetikog sabiranja jer u logikom sabiranju radimo sa logikim vrijednostima (true or false,1 ili 0) te ponovo dobijamo novu logiku vrijednost koja odgovara odreenoj logici tog sabiranja. Ova operacija se predstavlja ILI logikim kolom koje se u emama obiljeava sa :

Izlazna stanja iz tog logikog kola za razliite vrijednosti dvije promjenjive su data u tabeli: A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1

Iz tabele se moe zakljuiti da je potrebna barem jedna tana vrijednost (true ili 1) da bi izlaz iz ILI logikog kola bio 1,odnosno da je izlaz iz ovog kola 0 samo ako su svi ulazi 0 odnosno na naponu nieg nivoa. Ova logika se ematski

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


predstavlja kao :

Sa ove eme se vidi da e potroa biti pod naponom (sijalica S e se upaliti) ako je barem jedan od prekidaa (A ili B) zatvoren a biti e na beznaposkom stanju jedino ako su oba prekidaa otvorena.

16.Operacija NE
Operacija NE (NOT) ili komplementiranje je jedna od osnovnih logikih operacija u Bulovoj algebri te moe biti primjenjena na jednu promjenjivu. Ova operacija se obiljeava sa "-" iznad slova tj.ako elimo da napiemo negiranu vrijednost promjenjive A to e biti

A.

Logika ove operacije je da mijenja vrijednost sa ulaza,tj.da invertuje ulaz a

poto imamo samo dvije mogue vrijednosti u Bulovoj algebri rezultat ove operacije nee nikad biti jednak ulazu. Realizacija ove logike se vri pomou negatora ili invertora odnosno NE logikog kola koje se u emama obiljeava kao:

Logika ove operacije je vrlo jednostavna i moe se predstaviti tabelom: A 0 1

A
1 0

17.Identiteti Bulove algebre


Na osnovu odreenih stavova i teorema u Bulovoj algebri postoje i identiteti koje moemo koristiti za lake manipulisanje funkcijama. Neki od identita u Bulovoj algebri su: A(A+B)=A

A (A + B ) = AA + AB = A + AB = A(B + B ) + AB = AB + AB + AB = A(B + B ) + AB =

AB + AB = A(B + B ) = A 1 = A
A(A+B)=AB

A(A + B ) = AA + AB = 0 + AB = AB

AB+AB+AB =A+B (A+B)(A+B )=A (A+B)(A+C)=AB

+ AC

(A + B )(C + B = (A + B )(C + B )

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

18.Zakoni Bulove algebre


U Bulovoj algebri takoer moemo koristiti odreene zakone prilikom rada sa funkcijama u ovoj algebri. Zakoni su vrlo slini osnovnim zakonima u klasinoj algebri meutim ima segmenata koji se razlikuju. Osnovna su etiri zakona:

A+B=B+A iii AB=BA

zakon komutacije

zakon asocijacije zakon apsorcije

A+(B+C)=(A+B)+C=(A+C)+B iii A(BC)=(AB)C=(AC)B

zakon distribucije

A(B+C)=AB+AC iii A+BC=(A+B)(A+C) A+AB=A iii A+AB=A+B Kao to se moe vidjeti iz ovih primjera zakoni komutacije i asocijacije su identini klasinim zakonima u algebri a zakon distribucije je proiren u odnosu na onaj u klasinoj algebri kao to moemo vidjeti iz drugog primjera (koji vai samo za prekidaku algebru). Takoer zakon apsorcije je karakteristian za Bulovu algebru,ovi zakoni se mogu i dokazati pomou osnovnih pravila i postulata u Bulovoj algebri.

19.Teoreme Bulove algebre


U Bulovoj algebri najvie se koriste dvije teoreme koje se nazivaju DeMorganove teoreme i glase:

A+B = AB i AB = A + B .Rijeima ove teoreme bi bile:"komplement zbira nekih promjenjivih jednak je proizvodu komplemenata tih

promjenjivih" iii "komplement proizvoda jednak je zbiru komplemenata datih promjenjivih". DeMorganove teoreme su jako bitne pri radu sa sloenim izrazima u Bulovoj algebri. Pomou ovih teorema i drugih postulata je mogue naizgled vrlo sloenu funkciju dovesti do minimalnije forme koja je pogodna za realizaciju date funkcije. DeMorganove teoreme su jako bitne pri formiranju komplemenata funkcije. Ako traimo komplement sloenije funkcije i koristimo DeMorganove teoreme u principu samo mijenjamo vrijednost promjenjivih vodei rauna o znakovima izmeu promjenjivih i koju teoremu koristimo. Takoer ove teoreme se mogu primjeniti i na funkcije gdje jedan lan mnoenja moe biti zbir nekih promjenjivih,idalje se vodimo poetnim pravilima i mijenjamo(komplementiramo) vrijednost cijelog zbira posmatrajui ga kao jedan lan. Ovo vai i ako je proizvod promjenjivih jedan lan zbira, pa mijenjamo njegovu vrijednost po zadatom pravilu. Jedna od karakteristika Bulove algebre je i princip dualnosti koji je zastupljen a moe se pokazati DeMorganovim teoremama. Naime komplementiranjem i koritenjem ovih teorema moe se pokazati da se svaka funkcija moe napisati pomou operacije logikog sabiranja i komplementiranja ili logikog mnoenja i komplementiranja, to ima veliku primjenu u praktinom realizovanju digitalnih kola.

20.NI operacija
Pored tri osnovne logike operacije u Bulovoj algebri postoje i operacije izvedene kombinacijom ove tri. Osnovna logika kola I,ILI,NE su dovoljna za interpretaciju svih funkcija u Bulovoj algebri ali zbog tehnike realizacije koriste se i kola koja su nastala kombinacijom osnovnih. Jedna od tih operacija je NI operacija koja predstavlja kombinovanu operaciju I i NE odnosno operaciju logikog mnoenja i komplementiranja. Naime izlaz il logikog NI kola bi predstavljao komplementirani izlaz iz I logikog kola,pa poznavajui logiku I operacije moemo rei da e izlaz iz NI logikog kola biti na stanju nule samo ako su oba ulaza na stanju jedinice a za ostale sluajeve je jedinica odnosno Y=AB . Tabelarno logika NI operacije je: A 0 0 1 1 B 0 1 0 1 Y 1 1 1 0

Oznaka koja se koristi u emama za realizaciju ovog kola je:

U principu dodavanjem negatora na I logiko kolo dobijemo NI logiko kolo.

21.NILI operacija
NILI operacija predstavlja izvedenu operaciju nastalu kombinacijom ILI i NE logikih operacija odnosno logikog sabiranja i komplementiranja. U principu to i nije nova operacija jer samo komplementiramo izlaz ILI operacije. NILI operacija se koristi najprije za jednostavniju tehniku realizaju digitalne mree logikih kola jer ovom operacijom mijenjamo dvije operacije,odnosno sa NILI logikim kolom mijenjamo dva kola u emi,to je i sa realizacionog i sa ekonomskog gledita pozitivna stvar. Logiku ove operacije je lahko odrediti poznavajui logike ILI i NE kola,odnosno

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


ako komplementiramo izlaz iz ILI logikog kola dobijemo izlaz iz NILI logikog kola t.Y=A vrijednosti dvije promjenjive je to: A 0 0 1 1 B 0 1 0 1 Y 1 0 0 0

+ B.

Tabelarno za razliite

Iz tabele se moe vidjeti kao i iz analogije sa ILI operacijom,da e izlaz iz NILI logikog kola biti jedinica samo ako su svi ulazi na stanju logike nule a ako je barem jedan od ulaza na stanju logike jedinice izlaz iz ovog NILI kola e biti nula.U emama oznaka ovog kola se dobije ako na ILI logiko kolo dodamo negator:

22.Specijalne logike operacije-Inhibiciono kolo


U Bulovoj algebri pored osnovnih postoje i specijalna logika kola(osnovne i specijalne logike operacije). Ove logike operacije nastaju od osnovnih ali zbog njihovih osobina i velike primjene nazivaju se specijalnim. Inhibiciono predstavlja specijalno logiko kolo nastalo od logikog I kola iji je jedan ulaz negiran,ukoliko je to promjenjiva B moemo napisati Y=AB a itamo kao "A i ne B". Ova operacije je nastala od I operacije to znai da su njihove logike iste a razlika je u ulazu koji je negiran,stoga e izlaz iz inhibicionog kola biti jedinica ukoliko je jedan ulaz na stanju jedinice a drugi na stanju nule (onaj kojeg negiramo),za sve ostale sluajeve izlaz iz ovog kola e biti nula. Tabela izlaza iz ovog kola,uzmiajui u obzir da negiramo B promjenjivu bi bila: A 0 0 1 1 B 0 1 0 1 Y 0 0 1 0

ematski ovo kolo bi izgledalo slino I kolu ali sa negatorom na B promjenjivoj:

23.Specijalne logike operacije-Implikaciono kolo


Specijalne logike operacije su logike operacije nastale od osnovnih,meutim imaju jako veliku primjenu pri realizaciji ovih kola kao i u koritenju operacija i identita za pojednostavljenje funckija u Bulovoj algebri.Jedna od specijalnih logikih operacija je predstavljena i implikacionim kolom.Ova operacija je nastala kao kombinacije dvije osnovne logike operacije i to "ILI" i "NE". Za ovu operaciju moemo rei da je to "ILI" operacija iji je jedan ulaz negiran. Poznavajui logiku "ILI" logike operacije zakljuujemo da e izlaz iz implikacionog kola biti na vrijednosti nule ukoliko je ulaz koji negiramo na stanju jedinice a ostali na stanju nule,za sve ostale sluajeve izlaz iz ovog kola e biti jedinica. Tabelarno za vrijednosti dvije promjenjive(gdje je B promjenjiva iji se ulaz negira) izlaz Y iz ovog kola je: A 0 0 1 1 B 0 1 0 1 Y 1 0 1 1

Ako uzmemo za Y da je izlaz iz ovog kola njegovu logiku moemo prikazati pomou relacije Y=A+B i ita se kao "A ili ne B". Implikaciono kolo je kao i sama logika nastala od "ILI" i "NE" kola i ematski se prikazuje kao:

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

24.Specijalne logike operacije-Ekskluzivno kolo EX-ILI


Jedna od specijalnih logikih operacija je i "EX-ILI",ova operacija je nastala kombinacijom sve tri osnovne operacije. Za razliku od osnovne "ILI" operacije izlaz iz ekskluzivnog kola e biti na stanju jedinice samo ako su na ulazima razliite vrijednosti. Za dvije promjenjive ova operacije se moe napisati kao Y=AB

+ AB.

Kao to se moe vidjeti iz ovog

oblika izvoenje ove operacije je mogue izvriti pomou dva inhibiciona i jednim ILI kolom. Za tehnika,ekonomska i druga pojednostavljenja uvedeno je ekskluzivno kolo iji izlaz upravo predstavlja ovu logiku koja se za dvije promjenjive pie kao Y=A ulaznih promjenjivih je: A 0 0 1 1 B 0 1 0 1 Y 0 1 1 0 B.Ovo se ita kao:"iskljuivo A ili B" Znak " " predstavlja obiljeenje ove operacije.Ova operacija ima jaku veliku primjenu u realizaciji funkcija u Bulovoj algebri.Tabelarno izlaz Y za razliite vrijednosti

U emama ovo kolo se obiljeava sa:

25.Specijalne logike operacije-Ukljuivo I


Ukoliko pogledamo osnovnu logiku operaciju I,izlaz iz njenog kola e biti na stanju logike jedinice samo ako su svi ulazi na stanju jedinice. Ukljuivo I ima istu karakteristiku,razlika je u tome to e izlaz iz ukljuivog I kola biti na stanju jedinice ukoliko su svi ulazi na istom stanju bez obzira da li je to stanje nule ili jedinice.Takoer za ovu operaciju se moe rei da ima suprotnu logiku od EX-ILI kod koje je izlaz na stanju jedinice ako su ulazi razliiti.Negirajui EX-ILI relaciju (jer su suprotne) dobiti emo relaciju za ukljuivo I logiku. Y=A

B = A B + AB .U

ovo obliku bi

bilo potrebno za ostvarenje ove relacije dva invertora,te dva I kola i jedno ILI. Poto ovo funkcija ima veliku primjenu napravljeno je ukljuivo I kolo koje daje isti izlaz kao to bi bio izlaz iz ovih pet navedenih kola. koristi za obiljeavanje ove operacije (za dvije promjenjive) je Y=A je " A 0 0 1 1 " obiljeje operacije ukljuivog I. Tabelarno za dvije promjenjive logika ove operacije je : B 0 1 0 1 Y 1 0 0 1 Relacija koja se B.Ovo se ita kao:"ukljuivo A i B" gdje znak

U emama ovo kolo se obiljeava kao:

26.Forme prekidakih funkcija


Pri stvaranju odreene forme prekidakih funkcija mogu se koristit ili proizvod zbirova ili suma proizvoda. Razlikujemo dvije osnovne forme za zapisivanje prekidakih funkcija u Bulovoj algebri.Jedna od tih formi je DNF ili disjuktivno normalna forma(sum of products-SOP) i ona se dobija kao suma proizvoda promjenjivih.Ova forma se ralizuje pomou ILI logikog kola iji broj ulaza predstavlja broj koritenih lanova.lanovi u ovoj funckiji se dobijaju koritenjem I logike operacije kako za prave tako i za negirane vrijednosti promjenjivih.Karakteristino za ovu formu je to to uzima u obzir samo lanove ije su vrijednosti jedan,poto je u pitanju suma,lanovi ija je vrijednost nula se odbacuju pa e i vrijednost funckije zapisane u DNF-u biti uvijek jedan.lanovi u ovim osnovnim formama mogu biti potpuni i nepotpuni koji mogu biti degenerisani.Potpuni lan u DNF je onaj kod kojeg su iskoritene sve promjenjive bez obzira u kojem obliku (pravom ili negiranom).Primjer funckije od tri promjenjive zapisane u DNF-u je:

f(A,B,C ) = ABC + AB C + AB + CB + C .

U ovom primjeru prva dva lana su potpuni,dok su ostali nepotpuni,a zadnji lan je i deneriran.U naem primjeru funkcija je zadata u elementarnom obliku i to je oblik forme u kojem postoji barem jedan nepotpuni lan,ukoliko bi svi lanovi bili potpuni onda moemo rei da je to pravi,potpuni ili kanonski oblik funkcije.Potpuni lan u sume (u DNF) se naziva maxterm.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


Druga osnovna forma prekidakih funkcija je konjuktivna normalna forma ili KNF (product od sums-POS).lanovi u ovoj formi su povezani logikom operacijom I.lanovi KNF-a nastaju tako to se promjenjive povezuju logikom operacijom ILI to znai da je ovo forma funkcije u kojoj su sume povezene proizvodom.Kao i DNF i ova forma ima svoj potpuni ili kanonski oblik,kao i elementarni.Kod potpunog u svakom lanu (sumi) moraju da uestuju sve promjenjive,a lan koji se sastoji od svih promjenjivih tj.potpuni lan naziva se minterm.U KNF-u se tei tome da svaki lan,odnosno zbir bude jednak nuli.Zbirovi iji je prozvod jednak jedinici se odbacuju (logika I kola kae da e izlaz biti na stanju nule ako je barem jedan ulaz nula,stoga jedinica nema uticaja).S obzirom na ovo,vrijednost funkcije zadate u KNF-u e uvijek biti nula.Primjer funkcije zadate u elementarnom obliku KNF-a: U normalnim formama broj lanova koje se mogu zapisati je:Np

fA,B,C = (A + B + C ) (A + B + C ) (A + C ) (B + C ) = Ns = 2n gdje je Np broj lanova proizvoda,Ns

broj lanova sume,a n broj promjenjivih koje se koriste.Numeracija lanova se vri tako to se pravim vrijednostima promjenjive prepise vrijednost 1 a negiranim vrijednost nule,te se izrauna njihova binarna vrijednost i to predstavlja poziciju datog lana.Koristei ovo funkcija u DNF-u se moe zapisati i kao:

f(A,B,C,D) =

(0, 2, 3, 6, 7, 8, 12, 14).

Pored osnovnih (normalnih) formi postoji jos i proizvoljni oblici koji se sastoje i od proizvoda suma,i od sume proizvoda.

27.Formiranje funkcija.
Za formiranje funkcije je potrebno prvo da analiziramo dati problem iju funkciju treba da napiemo.Najee se to radi preko tabele u koju se unose sve kombinacije promjenjivih kao i traene vrijednosti funkcije pa se na osnovu toga zapisuje funkcija u odreenoj normalnoj formi.Obje normalne forme DNF i KNF su matematiki ravnopravne.Najee se koristi DNF meutim KNF je pogodna ukoliko data funkcija ima jednostavniju formu (manje lanova) za vrijednost nula a ispisujemo je u pravom obliku.Primjer formiranja funkcije za jednostavan problem:"funkcija je istinita ako je samo jedna od promjenjivih istinita". A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1

fA,B,C
0 1 1 0 1 0 0 0

Ako zapisujemo datu funkciju u DNF-u onda bi ona bila: U KNF ova funkcija bi izgledala:

fA,B,C = A B C + A B C + A B C ili fA,B,C = (1, 2, 4). fA,B,C = (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C ) ili

fA,B,C =

(0, 3, 5, 6, 7).Iz

ovog primjera smo vidjeli zapisivanje funkcije pomou tabele u normalnim formama,ovaj

oblik je potrebno minimizirati (ukoliko je to mogue) radi pojednostavljenja realizacije ove funkcije.

28.Maksimalan broj funckija.


Maksimalan broj funckija koje se mogu napisati zavisi samo od broja promjenjivih koje uestuju u zapisivanju tih funkcija.Broj razliitih funcija koje se mogu zapisati dobija se iz relacije uestuju u stvaranju te funkcije. Tako za jednu promjenjivu imamo su konstante (0 i 1) a druge dvije su A i raste tako za dvije promjenjive (n=2)

22
1

gdje n predstavlja broj promjenjivih koje mogue funkcije.Dvije od tih funkcija

22 = 4

A.Maksimalan broj funkcija sa poveanjem broja promjenjivih jako brzo 3 22 imamo 2 = 16 za tri promjenjive (n=3) 22 = 256 itd...Oigledno da su i 1),etri
se odnose na vrijednosti promjenjivih (A,B,A, B ),a pre-

mogunosti zapisivanja razliitih funkcija jako velike i sa malim brojem promjenjivih.Tako sa dvije promjenjive imamo 16 moguih funkcija od koga su dvije konstante (0 ostalih deset se odnose na logike operacije I,NI,ILI,NILI,iskljuivo ILi,ukljuivo I,te inhibicione i implikacione funkcije.

29.Analiza funkcija pomou tabele.


Nakon formiranja funkcije najee je potrebno da se ta funkcija napie u drugom obliku,odnosno da se minimizira.Minimizaciju moemo izvriti na vie naina stoga se ne moe gantovati tanost.Usporedbu predhodnog oblika sa onim to smo dobili nakon transformacija radimo sa tabelom.U tabelu se unose sve kombinacije za vrijednosti promjenjivih te funkcija u poetnom i u transferizovanom obliku.Da bi dokazali tanost potrebno da je oba oblika funkcije imaju iste vrijednosti za iste vrijednosti ulaznih promjenjivih. emo De Morganovu teoremu : A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1 Za primjer analize funkcija pomou tabele dokazati

(A + B ) = A B . B
1 0 1 0

A+B

1 0 0 0

A
1 1 0 0

AB

1 0 0 0

Iz ove tabele smo vidjeli da oba oblika De Morganove teoreme daju iste vrijednosti stoga moemo rei da su tani.Ovu analizu funkcije je mogue primjeniti na bilo koju funkciju,bez obzira na broj promjenjivih ili sloenost te funkcije.Pomou ove analize moemo napisati funkciju u nekoj od normalnih formi,odnosno moemo formirati funkciju u njenom pravom obliku.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

30.Prekidake mree.
Prekidake mree su mree nastale kombinacijom digitalnih kola.U ovisnosti o vrsti kola koja su se koristila razlikujemo dvije vrste prekidakih mrea:

kombinacione sekvencijalne

Prekidake su zapravo eme odreenih funkcija koje treba realizovati.Kombinacione prekidake mree su nastale od logikih kompomenti.Kod ovih mrea izlaz ovisi samo od pobude na ulazu,stoga bilo kakvom promjenom na ulazu dolazi do promjene i na izlazu.Sekvencijalne prekidake mree su nastale od memorijskih komponenti.Kod ovih mrea izlaz zavisi i od predhodnog stanja i od ulaza.Stoga ako dolazi do promjene pobude na ulazu veliki uticaj vri i stanje koje je bilo prije te promjene.Zbog ove mogunosti da pamte predhodno stanje ova kola se nazivaju memorijska.

31. Sinteza prekidakih mrea


Prekidake matrice su kombinacione mree pomou kojih se mogu da realizuju Bulove matrine funkcije. Realizacija matrica moe da bude izvedena sa raznim prekidakim elementima. Najjednostavniji prekidaki element je poluprovodnika dioda, te su stoga i najrasprostranjenije diodne prekidake matrice. Osim ovih, proizvode se i razni tipovi matrica sa tranzistorima, magnetnim jezgrima,kriotronima, elektroluminescentnim elementima itd. Ograniiti emo se se na prekidake mree sa poluprovodnikim elementima. U nastavku su navedene najbitnije:

Diodne prekidake matrice Prekidake matrice sa tranzistorima

Bulova matrina funkcija za vieizlaznu logiku mreu moe se, da ostvari sa razliitim prekidakim elementima. U svakoj tehnici izvoenja primjenjuje se nekoliko naina realizacije prekidake mree. Drugim rijeima, to znai da postoji vie tipova prekidakih matrica, pri emu, naravno, svaki tip posjeduje i neke svoje specinosti izraene, na primer, brojem komponenata, sloenou upotrebljenih logikih elemenata, brojem stepena mree, odnosno nivoa u njenoj realizaciji, itd. U iroj primjeni susreu se uglavnom tri tipa prekidakih matrica a to su:

pravougaona (rectangle-matrix) piramidalna (pyramid-ili trees-matrix) i razdijeljena (dual-tree-matrix)

Ovi nazivi matrica potiu od spoljanjeg izgleda eme. Meutim, karakteristike razliito izvedenih prekidakih matrica nisu iste, ne samo u pogledu ekonominosti realizacije, ve i u pogledu nekih drugih parametara kao to su: broj nivoa mree, faktor optereenja logikih elemenata, optereenje ulaza mree itd. Poto je, ipak, za ocjenu valjanosti matrine mree od prvorazrednog znaaja broj angaovanih prekidakih elemenata, to se mora nastojati da se taj broj to vie smanji. U tom cilju, kao prvo, istaknimo i ovde, treba po mogunou to vie da se uproste polazne prekidake funkcije izbacujui iz nje sve suvine lanove. Dalja uteda prekidakih elemenata u matrici postie se izvoenjem matrice u vie nivoa. Najea primjena prekidakih matrica susree se pri manipulisanju sa razliitim numerikim sistemima. Tu se matrice koriste kao koderi, dekoderi i konvertori koda. Dalje, matrice nalaze primjenu kao komparatori numerikih vrednosti. Osim toga, one se upotrebljavaju kao viepoloajni prekidai, koji se izgrauju u vidu selektora, komutatora, distributora itd. U ovu grupu dole bi i koordinatne - adresne matrice, zatim matrice koje se koriste u generatorima funkcija, raznim indikatorskim sistemima i vizuelnim sistemima uopte, itd.

32. Minimizacija prekidakih funkcija

Minimizacija logikih funkcija predstavlja postupke pomou kojih zapisujemo logike funkcije sa najmanjim brojem logikih operatora i sa najmanjim brojem ulaznih varijabli. Dakle, to je postupak transformacije sloene logike funkcije u funkciju koja ima istu istinitosnu vrednost, ali manji broj elemenata, manje operanada i operacija koje nad nad njima treba izvriti. Logike funkcije mogu se prikazati na razliite naine, koriste se 3 osnovna:

ematski

- prikazivanje pomou logikih kola, - pomou tablica istinitosti, - pomou osnovnih logikih operacija.

Tabelarno Analitiko

Sve logike funkcije analitiki se mogu prikazati u dva oblika, to su Disjunktivna Normalna Forma ( stavlja logiku sumu logikih proizvoda, te Nonjunktivna Normalna Forma ( logikih suma. Metode minimizacije logikih funkcija su:

DNF), koja predKNF), koja predstavlja logiki proizvod

Algebarske metode Tabline metode


metoda.

slue se identitetima, DeMorganovim zakonima i teoremama Boolove algebre.

ovih metoda ima znatan broj, svode se na pronalaenje slinosti izmeu lanova funkcije, te tako

pojednostavljivanje funkcije (koristi se u rijetkim sluajevima), najbitnija za spomenti je Quine McCluskeyeva

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

Grake metode
dijagrame.

zajedno sa algebarskom metodom minimizacije, se najee koristi. Najbitnije za spomenuti jeste

metoda minimizacije pomou Karnoovih mapa. Pored Karnoovih mapa moemo spomenuti i Vennove i Veitchove

33. Algebarska metoda minimizacije


Algebarski pristup minimizaciji logikih funkcija se zasniva na primjenama raznih zakona uproavanja i zamjene sloenih podformula jednostavnijim, logiki ekvivalentnim, formulama. Ova metoda se oslanja na DeMorganove zakone, osnovne logike operacije i postulate Boolove algebre. Osnovne logike operacije Boolove algebre su:

Logiko sabiranje (ILI-OR) "+" Logiko mnoenje (I-AND) "*" Negiranje/negacija (NE-NOT) Sabiranje 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1

(linija iznad slova) Mnoenje 0 0 1 1 Negiranje

1 + 1 = 1 Postulati Boolove algebre:


1) Operacije sa logikom nulom 0 A = 0 0 + A = A

0 = 0 1 = 0 0 = 0 1 = 1

0 1

= 1 = 0

2) Operacije sa logikom jedinicom 1 A = A 1 + A = 1

3) Operacije sa istovijetnim vrijednostima A A = A A + A = A Zakon distribucije A (B + C) = A B + A C A + B C = (A + B) (A + C)

4) Operacije sa negiranim vrijednostima A

A=0 A=1

A +

Osnovni zakoni Boolove algebre: Zakon asocijacije Zakon komutacije A + (B + C) = (A + B) + C A + B = B + A A(B C) = (A B) C A - B = B - A

Zakon absorpciie A + A B = A A + A B = A + B

DeMorganovi zakoni: (A

34. Tablina metoda minimizacije

+ B)

AB

(A

B )= A

Sutina ove metoda svodi se na nalaenje najmanjeg skupa lanova logikih proizvoda, dakle grupisanje minterma funkcije, po broju jedinica koji se upisuju se u tabelu zbog bolje preglednosti. Da bi se lake razumjela ova metoda, kao primjer moe se uzeti Quine McCluskeyeva metoda, dakle minimizacija se provodi tako da se posmatraju mintermi iz dvije susjedne grupe, te se kombinuju, naravno ako je to mogue. Grupisati se mogu samo mintermi koji se razlikuju u najvie jednom bitu. Kombinovanjem dva minterma na mjestu gdje se pojavila razlika u bitu, stavljamo "x". Npr. ako uporedimo lan

000

i lan

001,

koji se razlikuju samo u jednom bitu, dobit emo

00x.

Zatim se pie nova tablica

u koju upisujemo dobivene kombinacije kao i oznake minterma koje smo kombinovali.

Ovaj postpak se ponavlja i

nastavlja sve dok se ne pronau lanovi, koji se ne mogu dalje da kombinovati. Ako se pri kombinovanju pojave vie puta isti redukovani lanovi, oni se u novu tabelu upisuju samo jedanput. Ovako dobijena funkcija je znatno prostija od prvobitne, ali ne znai da je minimalna, dakle potrebno je, ako je to mogue odstraniti sve suvine lanove. Ova metoda je sama po sebi veoma jednostavna, ali moe da vrlo duga i naporna za runu obradu, pogotovo ako se radi sa veim brojem lanova proizvoda.

35. Graka metoda minimizacije

U grakim metodama odreivanje minimalnih DNF i KNF zasniva se na vizuelnoj analizi graki predstavljene prekidake funkcije. Najee koritena graka metoda je metoda Karnoovih mapa. Ova metoda sastoji se iz vie koraka, poetni korak je da nau funkciju, koju elimo minimizirati predstavimo pomou Karnoove mape (karte), zatim se posmatra gdje funkcija ima vrijednost 1 (za DNF formu) ili gdje funkcija ima vrijednost 0 (za KNF formu), zatim u Karnoovu mapu unosimo 0 ili 1 (u zavisnosti da li se radi o DNF ili KNF). Ovdje emo analizirati sluaj za DNF, dakle dalje se formiraju pravogaone povrine i grupiu se susjedne polja. Mogu se grupisati samo susjedna polja, i formiraju se zajednike povrine, koje mogu biti prvog reda

21 (sastavljene od dva susjedna polja),

drugog reda

(sastavljene od 4 susjedna polja), treeg reda

(8 susjednih polja) itd. Tei se ka tome da se grupie to vie polja

da bi se funkcija to vie pojednostavila. Po potrebi, jedno polje se istovremeno moe nai u vie zajednikih povrina, s time da u jednoj zajednikoj povrini bude bar jedno polje koje nije iskoriteno za grupisanje unutar drugih povrina. Takva zajednika povrina ne smije sadravati prazna polja i mora biti veliine

2n .

Mogue je grupisati polja koja

imaju zajedniki stranicu, zatim koja se nalaze skroz desno, sa poljima skroz lijevo (zamislimo da savijemo tabelu u obliku cilindra po vertikali), kao i polja skroz gore, sa poljima skroz dole (kao da savijemo tabelu u oblik cilindra po horizontali). Zadnji korak je ispisivanje promjenjivih veliina koje su identine u svim poljima zajednike povrine. Karnoova mapa sa 3 promjenjive imat e tablicu 2x4 polja, sa 4 promjenjive 4x4 (16 polja), za 5 promjenjivih 4x8 (32 polja) itd.

36. Memorijska kola/elementi


Pomou ovakvih elemenata moe se izvriti sinteza sloenijih logikih

Kombinacioni logiki elementi okarakterisani su time, da im je izlazna funkcija zavisna samo od trenutne kombinacije nezavisno promenljivih veliina na ulazima. mrea, koje i dalje zadravaju karakter kombinacionih digitalnih kola. Vremenski redoslijed, odnosno sekvencija logikih stanja ovakvih kola nema nikakvog uticaja na uspostavljanje novog stanja. To zapravo znai da kombinaciona kola nemaju sposobnost zadravanja i uvanja, odnosno pamenja ili memorisanja primljenih podataka. Pri digitalnoj obradi podataka nastaje potreba da se izvjesni podaci ne samo uvaju, i pamte, ve esto i da se akumuliraju,

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


odnosno sabiru. Dakle, potrebna su nam kola koja moraju biti u stanju da i po prestanku djelovanja ulaznih signala zadre privremeno ili trajno uspostavljena logika stanja. U ovim izlaznim funkcijama redovno se pored pobudnih signala javlja i parametar koji vodi rauna o prethodnom logikom stanju u kolu. To znai da su ova kola zavisna od vremenskog redoslijeda, od sekvencije logikih stanja, te se s toga i nazivaju sekvencijalna digitalna kola a mree

Sekvencijalne logike mree.

Memorijski element je logiki prekida koji zadrava uspostavljeno logiko stanje na iz-

lazu i po prestanku djelovanja ulaznog signala. Takav prekida treba da ima jasno diskriminisana dva logika stanja: stanje logike nule i stanje logike jedinice. Pored toga, svako od tih stanja treba da bude na neki nain odravano i po prestanku djelovanja pobudnog signala, po emu se memorijski element bitno razlikuje od kombinacionog elementa. Svakio ovakav prekida koji poseduje dva stabilna stanja, odnosno dva ustaljena poloaja je u stvari memorijski element. Pomou dva osnovna logika kola sa invertorima moe da se realizuje memorijski element, ukoliko se njihova meusobna veza izvede tako, da se ostvari pozitivna povratna sprega izmeu logikih kola. Ovakvi memorijski elementi su u stvari regenerativna bistabilna kola, poznata pod popularnim nazivom ipop. Flipop pripada klasi multivibratorskih kola sa dva stabilna stanja, zbog ega se i naziva bistabilni multivibrator ili binarno kolo. Kod memorijskih elemenata uveden je i termin koji odreuje stanje mirovanja ili poetno stanje kola (resetovano stanje koje odgovara stanju logike nule) i stanje logike jedinice (setovano stanje). Posmatrajui ipop kao logiko kolo vidi se da on sadri dva logika elementa NILI ili NI tipa sa po dva ulaza. Jedan par ulaza NILIkola iskoriten je za uspostavljanje pozitivne povratne sprege izmeu invertora, dok je drugi par rezervisan za ulazne prikljuke memorijskog

elementa oznaene sa R i S (reset i set). Logika stanja kola identikuju se prema nivou napona na izlazima Q i Uopte je usvojeno da se stanje ipopa izraava logikom vrijednou napona na izlazu Q. Ovo kolo moe da bude samo setovano ili resetovano, te se stoga ovakav memorijski element blie oznaava kao RS ipop. Rad ipopa kao memorijskog elementa moe da bude prikazan kombinacionom tabelom, ili pomou odgovarajuih jednaina prekidake algebre. Kombinaciona tabela treba da sadri mogue vrednosti nezavisno promenljivih veliina i odgovarajue izlazne funkcije. logika RS ipipa prikazana je u tabeli desno. Pri emu ND predstavlja nedenisano stanje (ipop postaje zakoen). Funkcija RS ipipa je: Kombinaciona R 0 0 1 1 tn S 0 1 0 1 tn+1 Qn+1 Qn 1 0 ND

Q.

Qn+1 = S + R Q.

Nezavisno promenljive R, S i Q odnose se na vreme tn a izlazna funkcija Q

kasni za taktni period T. Uoimo da je izlazna funkcija ipopa nedenisana (ND) za sluaj da su pobudni signali dovedeni istovremeno na oba ulaza. Ovaj ipop sastoji se od ukrtene veze dva invertorska kola (izlaz prvog spojen je na ulaz drugog a izlaz drugog na ulaz prvog) i kao takav osnovni je memorijski element, dakle preko njega su izvedeni ostali ipopovi.

37. RS ipop sa NI kolima

U prethodnom pitanju objanjena je logika RS ipopa koji je ostvaren pomou NILI kola. Logika memorijskog RS ipipa u nekoliko se menja i u sluaju da je ipop izveden sa NI kolima. R i S istovremeno dovedeni na niski napon. U R 0 0 1 1 tn S 0 1 0 1 tn+1 Qn+1 ND 1 0 Qn ovakvom binarnom kolu oba izlaza se postavljaju u stanje logike jedinice u sluaju da su ulazi Komplementarnost izlaza i ovde, znai, nije uvek zastupljena. Za setovanje RS ip opa sa ni kolima neophodno je da se dovede niski napon na ulaz R. Zbog toga se ee ovaj ulaz oznaava kao prikljuak za setovanje, ali sa invertovanom pobudom. S obzirom da se takva pobuda dovodi direktno na ulaz tranzistora koji se setuje, RS ipop sa NI kolima izvodi se, znai, prema logikoj emi koja je prikazana u tabeli desno.

38. T ipop
Trigerski

(trigger)

ili

krae

ipop

ima

samo

jedan

ulaz

za

dovoenje

pobudnog U T 0 0 1 1

signala.

To znai da se u ovom sluaju mora izvesti simetrino okidanje  trigerovanje bistabilnog kola.

principu to se moe da ostvari jednostavnim spajanjem ulaza R i S u jedan ulazni prikljuak T na ve pokazanim emama RS ipopova. U tom sluaju pobudni signal se preko T dovodi simetrino na baze oba tranzistora, ali e efektivno da deluje samo na bazi neprovodnog tranzistora prisiljavajui ga

Q 0 1 0 1

Qn+1 0 1 1 0

da pree u provodno stanje.Zbog ukrtene povratne sprege sa komplementarnim izlazima Q i e samo jedno od ulaznih kola biti spremno da propusti ulazni impuls.

uvijek

Ovaj ipop, dakle mijenja

stanje na svaki ulazni impuls. Uporedimo li frekvenciju ulaznog i izlaznog signala, primjeujemo jedno polovino stanje, frekvencija na izlazu je polovina frekvencije sa ulaza. to dokazuje da je T-ip-op ustvari jedan djeljitelj frekvencije. U tabeli desno prikazana je logika T ipopa. Jednaina T ipopa izgleda ovako:

Qn+1 = T Q

39. JK ipop
J 0 0 0 0 1 1 K 0 0 1 1 0 0 Q 0 1 0 1 0 1 Qn+1 0 1 0 0 1 1

JK ipop je preteno namenjen za proizvodnju u integrisanom obliku. Meutim, to ne znai da se ovaj ipop ne moe izvesti u diskretnoj tehnici. U svakom sluaju praktina realizacija JK ipopa iziskuje upotrebu etiri logika elementa, od kojih dva slue za izgradnju ve poznatog RS kola, a druga dva su kontrolni elementi. Vidimo da ovaj ipop ima tri ulaza J,K i Cp. Kako je ovo kolo namenjeno da radi u taktovanom digitalnom sistemu, na ulazu Cp je u svakom takt-intervalu prisutan po jedan takt-impuls. Oigledno je da se ovakav ulazni signal ne tretira kao nezavisno promenljiva veliina, pa stoga sa logike take gledita ovaj memorijski element ima samo dva ulaza J i K. Ovi

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


ulazi omoguavaju izvoenje raznovrsnije logike kola. Naime, setovanje i resetovanje postojeeg RS ipopa vri se preko kontrolnih I kola. Na jedan ulaz I kola dovode se taktni impulsi koji treba da izvre okidanje ipopa. Da li e pojedini impulsi efektivno djelovati na R i S prikljuke zavisi od toga zavisi od toga da li je I kolo prethodno spremno za otvaranje. Ako je ipop resetovan, a ulaz J se nalazi na visokom naponu, prvi taktni impuls koji naie izvrie setovanje ipopa. Razmatrajui detaljnije logike mogunosti ovog ipopa vidi se da on moe da radi kao RS i kao T memorijski element a osim toga moe da bude i blokiran u toku neogranienog broja taktnih intervala pri bilo kom logikom stanju. Logika JK ipopa prikazana je u tabeli desno. Svoj naziv ova vrsta ip-opa dobila je po inicijalima

autora Jacka Kilbyja. Jednaina JK ipopa izgleda ovako:

Qn+1 = KQ + J Q

40. D ipop
Ovaj tip memorijskog elementa nalazi primjenu u logikim mreama poznatim pod imenom pomjeraki registri. Njegova logika sastoji se u tome da informaciju sa ulaza prenese na izlaz u toku idueg taktintervala. Drugim reima to znai, da stanja signala na izlazu kola potpuno prate stanja na ulazu, samo to kasne za jedan takt-interval. Zbog tog kanjenja (delay) ovo kolo je i dobilo ime D ipop. Kolo ima dva ulaza D i Cp. Poto se na ulaz Cp dovode sinhronizacioni takt-impulsi, to ovaj memorijski element ima samo ulazni prikljuak D za prijem nezavisno promenljivog signala. Dovoenjem odgovarajueg signala na ovaj ulaz u jednom takt-intervalu, vri se priprema jednog od dva kontrolna I kola za proputanje pobudnog impulsa u sljedeem takt-intervalu. Ako je ulaz D = 1 u trenutku t0 , onda e u sljedeem intervalu tn+1 takt-impuls moi da izvri setovanje ipopa preko gornjeg I kola. To znai da se po isteku vremena T na izlazu ipopa pojavljuje ista vrednost signala kao i ona koja je dovedena na ulaz. U sluaju da je D = 0, invertovani ulazni signal omoguava resetovanje ipopa preko donjeg I kola, tako da je logika memorijskog elementa i u ovom sluaju ista kao u prethodnom sluaju. Logika rada D ipopa prikazana je u tabeli desno. Jednaina D ipipa izgleda ovako: D 0 0 1 1 Q 0 1 0 1 Qn+1 0 0 1 1

41. Registri

Qn+1 = D(1 + Q) = D

Registar je memorijski sklop koji nalazi veliku primjenu u digitalnim ureajima. Njegova prvenstvena uloga je da prihvati djelimine ili konane rezultate u procesu obrade podataka. Pored toga, registar je neophodan na svim mjestima gde treba ostvariti vezu izmeu blokova sa razliitim brzinama. U ovakvoj ulozi obino se naziva razdvojni registar (buer register). Najzad registar se koristi i za izvoenje nekih aritmetikih operacija, kao to je komplementiranje, ili neki specijalni sluajevi mnoenja i dijeljenja itd. Iako se registri mogu da ostvare i pomou drugih poznatih memorijskih elemenata od posebnog su znaaja registri sa ipipovima. To znai da su registri nepostojane memorije i kao takvi pogodni su samo za privremeno uvanje informacija. Osim toga, ipopovi su relativno sloeni memorijski elementi, te stoga njihovo koritenje moe da bude opravdano samo za memorije malog kapaciteta. Po nainu izvoenja postoje stacionarni i dinamiki registri, zavisno od toga da li jednom unijeta informacija u memorijski element ostaje stalno u njemu ili ne. Dinamiki registri su vie poznati kao pomjeraki (shift), iako je to samo jedan tip dinamikog registra. Naime, pored pomjerakih, u dinamike registre spadaju i kruni registri, koji kao memorijski medijum obino koriste linije za kanjenje. Poto se ovakav registar moe da izvede i kao specijalni sluaj pomjerakog, to se stoga obino i pominju samo stacionarni i pomjeraki registri. Napomenimo da se u poluprovodnikim memorijama koriste termini statiki i dinamiki, ali sa drugaijim znaenjem. Naime, dinamika memorija predviena je za rad samo sa naizmenjinim, dok statika moe da radi i sa jednosmernim naizmjeninim signalima. Svaka binarna cifra memorie se u zasebnom ip-opu pa je za binarni broj od n cifara potrebno n binarnih memorijskih elija. Za ulaz binarnog broja u registar koristi se termin upisivanje, dok za izlaz itanje. Prije upisivanja broja u registar potrebno je elemente divesti u nulto stanje, tj. upisati u registar nule. Ovaj postupak se naziva brisanje registra. Upisivanje i itanje je mogue izvesti na dva naina:

paralelno  tj. sve cifre binarnog broja ulaza/izlaze istovremeno serijski  tj. informacija ulazi/izlazi iz registra cifru po cifru poevii od najmaeg ili najstarijeg razreda.

Kombinacijom ova dva naina mogu se izvesti 4 tipa registra:

registri sa paralelnim ulazom i paralelnim izlazom (stacionarni registar) registri sa serijskim ulazom i serijskim izlazom registri sa serijskim ulazom i paralelenim izlazom registri sa paralelnim ulazom i serijskim izlazom

Registri su nepostojane memorije (zavisni od napona napajanja) pa su pogodni samo za privremeno uvanje informacija. To su sloeni elementi pa je njihovo koritenje opravdano samo za memorije malog kapaciteta. Neophodni su na svim mjestima gdje je potrebno ostvariti vezu sa razliitim brzinama za pretvaranje serijskog u paralelni kod i obrnuto, za realizaciju aritmetikih operacija itd.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

42. Stacionarni registar


Stacionarni registar sadri skup meusobno nepovezanih memorijskih elemenata. Broj ovih elemenata zavisi od kapaciteta registra. S obzirom da svaki element moe da primi samo jedan bit informacije, izraene logikom nulom ili jedinicom, to registar mora da sadri onoliko ipopova koliko najdua registrovana informacija moe da ima bita. Pristup memorijskim elementima pri upisu kao i pri oitavanju informacija moe da bude izveden serijski ili paralelno. Prije unoenja podataka u registar podrazumijeva se da je izvreno brisanje ranijeg sadraja. U tom cilju vri se resetovanje registra pomou takt-impulsa dovedenog na R ulaze ipopova. Uzmimo sada da u registar treba da se upie informacija 110. Poto se radi o serijskom unoenju ove informacije, za tu operaciju bie potrebna tri takt-intervala. Na ulaz registra stiu taktovani impulsi prema datoj informaciji. Ovi impulsi prelaze put od jednog do drugog upisnog I kola tano u toku jednog takt-intervala. Na poetku treeg takt-intervala, na odgovarajuim ulazima upisnih I kola za setovanje A, B i C ipopa nalazie se logike vrednosti 011 respektivno. Ako se u ovom trenutku da komanda za upis, prvi ipop ostae resetovan, a druga dva bie setovani. Prema tome, u ipop A upisana je nula, a u B i C upisane su jedinice. To znai da je vremenski kod date informacije sada zamijenjen prostornim kodom, koji je odreen pozicionim vrednostima pojedinih memorijskih elemenata. Ovakvo stacionarno stanje registra zadrava se proizvoljno dugo, sve do upisivanja nove informacije, kojoj, naravno, prethodi ponovno brisanje postojeeg sadraja. Pristup za itanje sadraja registra izveden je paralelno za sve memorijske elemente. Zbog toga, dovoenjem takt-impulsa na prikljuak za itanje, na izlazima itakih I kola pojavljuje se istovremeno celokupna memorisana informacija 110. Prema tome, ovakav registar predstavlja serijsko-paralelni konvertor informacije. Sadraj registra se moe oitavati vie puta uzastopno, to ne utie na taj sadraj. Upisane informacije ostaju u memorijskoj eliji u koju su upisane do brisanja pa se zbog toga ovakvi registri nazivaju stacionarni.

43. Pomjeraki (shift) registri

Pomeraki (shift) registar je skup memorijskih elemenata, koji su, za razliku od stacionarnog registra, meusobno povezani tako, da se informacija moe da pomijera od jedne do druge elije. Zahvaljujui tome, upisivanje informacije u registar vri se taktovanim postupkom preko ulaznog memorijskog elementa, a oitavanje, isto tako sinhronizovanim postupkom, obavlja se na izlaznom memorijskom elementu. Za izvoenje ovih operacija, meutim, bie potrebna dva takt-impulsa, iji su periodi meusobno jednaki, ali su fazno pomjereni jedan u odnosu na drugi. informacije svi ipopovi su resetovani pomou pomjerakog impulsa. takt-impulsi, ali njihova pozitivna ivica nastaje tek po zavretku negativne ivice takt-impulsa. signali dovode se na upisno I kolo sinhrono sa takt-impulsima. Prije upisivanja Pomeraki impulsi imaju istu periodu kao i U stvari, kanjenje

pomjerakih impulsa treba da bude takvo da njegovi visoki nivoi nastaju za vreme niskih nivoa takt-impulsa. Ulazni Ako dovedeni signal ima vrednost logike jedinice, onda e izlaz iz I kola setovati ipop, i na taj nain ulazna informacija bie dovedena na izlaz. U nekim primjenama pomjerackog registra javlja se potreba pomjeranja podataka ne samo sa lijeva na desno nego i obrnuto. Pri konstrukciji obostranog pomjerakog registra mora se,predvidjeti i kontrola naina rada registra. Registri se izrauju sa MS ip opovima ali se mogu izvesti i sa JK i taktovanim RS ipopovima. Najee se izgrauju na standardno intergisanoj komponenti sa 16 prikljuaka. U vezi sa tim kapacitet registara je ogranien predvienim mogunostima u pogledu naina rada.

44. Kruni registar


Kod pomjerakih registara memorisana informacija se kree od jednog o

Kod stacionarnog registra upisana informacija u odreenim memorijskim elementima ostaje neprekidno u njima sve do konanog brisanja sadraja registra. drugog memorijskog elementa pri upisivanju, zatim pri serijskom oitavanju, kao i pri nekim drugim operacijama u primeni ovih registara. Drugim rijeima memorisana informacija u pomjerakim registrima nalazi se samo povremeno u dinamikom stanju, inae je u stacionarnom. Za razliku od ovih, memorisana informacija u krunim, odnosno cirkulacionim registrima je stalno u pokretu. Naime, ona neprekidno krui od ulaza prema izlazu, vraa se na ulaz i ponovo cirkulie prema izlazu, morisani podaci se u ovim registrima repetitivno ponavljaju na izlazu, to je od posebnog interesa za neke primjene u digitalnoj elektronici. Preko ulaznog I kola, sinhronizovanog sa taktnim impulsima, vri se unoenje informacije u registar. Kapacitet ovakve memorije odreen je brojem vremenskih kvanta, koji je sadran u liniji za kanjenje. Prema tome, kapacitet registra ne zavisi samo od parametara linije za kanjenje ve i od veliine takt-intervala u sinhronizovanom digitalnom sistemu. Serija impulsa, koji predstavljaju memorisanu informaciju, neprekidno se kree s desna na levo kroz liniju za kanjenje. Na izlazu ove linije memorisani signali nailaze na kontrolno I kolo i ponovo se vraaju preko pojaavaa na ulaz memorijskog bloka. Prema tome, memorisana informacija je stalno u pokretu zahvaljujui zatvorenoj petlji sistema. Pri ovom kretanju dolazi do slabljenja i deformisanja digitalnih signala u pojedinim elementima krune petlje, a naroito u liniji za kanjenje. pojaava, koji treba da regenerie signale memorisane informacije. izlazu pojaavaa preko I kola, i moe se ponoviti proizvoljan broj puta. Zbog toga je u ovom registru i predvien Pri svakom oitavanju mora da postoji i itanje memorisane informacije obavlja se na

napon komande za itanje, koji moe da bude ostvaren pomou takt-impulsa ili kontinualnog napona potrebne duine trajanja. Brisanje memorisane informacije vri se komandnim signalom preko kontrolnog I kola. I ovaj signal moe da bude u vidu taktovanih impulsa, ili u obliku neprekidnog visokog napona, ije je trajanje jednako zbiru takt-intervala memorisane rijei, koja se eli da izbrie. Varijacije vremena kanjenja u cirkulacionim registrima mogu da izazovu tekoe pa i greke u taktovanju sistema. Greke u vremenu kanjenja signala poveavaju se sa ponavljanjem ciklusa, to lako dovodi do upadanja signala u susjedni vremenski kvant, bilo da se signal kree sporije ili bre od predviene brzine. Ovaj registar je mogue izvesti pomou pomjerakog registra, s time da mu se izlaz spoji na ulaz. Tipina brzina taktovanja ovakvih registara iznosi 5 MHz. cirkulacionog registra moe da bude i znatno vea. Koritenjem vie pomerakih registara u paraleli, brzina rada

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

45. Arhitektura mikrorauara


Osnovni dijelovi mikroraunara, te njihove osobine i funkcije:

Procesor Sat

Osnovni dio mikroraunara,koji izvrava jasno denisane operacije obrade podataka i vri upravljanje

raunarskim procesima kao interakcijama izmeu pojedinih jedinica raunara. Funkciju obrade podataka vri aritmetiko - logika jedinica, dok je za upravljanje raunarskim procesima zaduena upravljaka jedinica. omoguava jednoznaan vremenski period odvijanja svih operacija. se sastoje od odreenog broja linija preko kojih se sa ulaza u datom trenutku izvravaju ulazne

Ulazna vrata Izlazna vrata ROM

instrukcije (unosi podatak). se sastoji od linija na kojima se pojavljuje podatak koji treba prenijeti na izmazni ureaj u trenutku

izvravanja izlazne instrukcije. ili memorija za oitavanje slui za smjetaj podataka (Read Only Memory) i/ili instrukcija koja odravaju Poto u normalnom radu ROM dozvoljava

algoritme koje mikroraunar treba da izvrava u datoj primjeni. ksne konstante i tabele.

samo itanje,u ovu vrstu memorije smjeteni su programi u svom konanom odnosno provjerenom obliku kao i

RAM

ili memorija za itanje i upisivanje obezbjeuje privremeno smjetanje podataka i/ili programa koji se unose

preko ulaznih vrata ili se generiu unutar procesora kao dio algoritamskog procesa.

46. Sabirnice
Sabirnica predstavlja podskup unutar arhitekture mikroraunara zaduen da kroz jedan dogovoreni standard omoguava usmjeravanje podataka i upravljakih signala izmeu pojedinih dijelova mikroraunara. Po nainu prenosa podataka odnosno kontrolnih signala sabirnice se dijele na: serijske (USB, Firewire), paralelne (AGP,PCI), te mijeane (PCIe,HyperTransport). Mikroraunarski sistemi ostvareni pomou sabirnica, se prema strukturi mogu podjeliti na:

Sisteme sa jednom sabirnicom Sisteme sa odvojenom ulazno/izlaznom sabirnicom Sisteme sa vie sabirnica

47. Sistemi sa jednom sabirnicom

ematski prikaz sistema sa jednom sabirnicom Najjednostavniju strukturi ima sistem sa jednom sabirnicom koja preko svojih veznih sklopova povezuje sve module. Uloga veznih sklopova je da prilagode elektrine karakteristike pojedinih modula s ciljem postizanja mogunosti njihovog meusobnog komuniciranja. Pod modulima se smatraju procesor, memorije kao i ulazno-izlazni ureaji. Sabirnica sistema se moe podjeliti na 3 dijela:

Sabirnica podataka Adresna sabirnica

kojom se prenose podaci izmeu modula sistema

kojom se vri izbor memorijskih lokacija i ulazno/izlaznih ureaja kojom se prenose upravljaki signali

Upravljaka sabirnica

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

48. Sistemi sa odvojenom ulazno-izlaznom sabirnicom

U sistemu sa odvojenom U/I sabirnicom moduli sistema se povezuju preko 2 sabirnice.

Ulazno izlazna sabirnica

spaja procesor i DMA (Direct Memory Access), direktni memorijski pristup bez posredstva procesora, sa raznim U/I ureajima. Memorijska sabirnica povezuje procesor i DMA modul sa modulima memorije. Periferni ureaji mogu da komuniciraju sa procesorom i DMA modulom preko veznih sklopova vezanih za ulazno izlaznu sabirnicu svaki vezani sklop moe da radi pod kontrolom mikroprocesora ili DMA.

49. Sistemi sa vie sabirnica

Sistemi se veoma esto projektuju tako da sadre vie od jedne magistrale. To se ini sa ciljem da se smanje ekanja modula koji kao gazde realizuju cikluse na magistrali i da se kombinuju dobre strane sinhrone i asinhrone magistrale. Na slici je dato povezivanje procesora, memorije, u/i ureaja bez DMA i u/i ureaja sa DMA preko dve magistrale koje se nazivaju sistemska magistrala i lokalna magistrala. Jedan modul memorije i vie modula u/i ureaja bez DMA i u/i ureaja sa DMA povezani su na sistemsku magistralu, a drugi modul memorije i vie drugih modula u/i ureaja bez DMA i u/i ureaja sa DMA povezani su na lokalnu magistralu. Procesor je vezan i na sistemsku i na lokalnu magistralu. Prilikom kongurisanja sistema adresni prostor korisnika se deli na dva dela. Adrese iz jednog dela se koriste za adresiranje lokacija modula koji su povezani na sistemsku magistralu, a drugi opseg adresa za adresiranje lokacija modula koji su povezani na lokalnu magistralu. Prilikom realizaciju ciklusa na magistrali procesor, na osnovu vrednosti generisane adrese, utvruje da li dati ciklus treba da realizuje preko sistemske ili preko lokalne magistrale. U ovakvim sistemima se obe magistrale obino realizuju kao asinhrone magistrale.

Na drugoj slici je dato povezivanje procesora, memorije, u/i ureaja bez DMA i u/i ureaja sa DMA preko dve magistrale koje se nazivaju sinhrona magistrala i aasinhrona magistrala. Moduli procesor i memorija povezani su na sinhronu magistralu, a moduli u/i ureaja bez DMA i u/i ureaja sa DMA povezani su na asinhronu magistralu.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


Modul adapter je vezan i na sinhronu i na asinhronu magistralu. Prilikom kongurisanja sistema adresni prostor

korisnika se deli na dva dela. Adrese iz jednog dela se koriste za adresiranje lokacija modula memorije koji je povezana na sinhronu magistralu, a drugi opseg adresa za adresiranje lokacija modula u/i ureaja bez DMA i u/i ureaja sa DMA koji su povezani na asinhronu magistralu. Procesor sve cikluse realizuje na sinhronoj magistrali. Pri tome na adrese iz opsega adresa dodeljenih modulu memorije reaguje modul memorije, a na adrese iz opsega adresa dodeljenih modulima u/i ureaja bez DMA i u/i ureaja sa DMA reaguje modul adapter. Ciklus sa samim u/i ureajem bez i sa DMA realizuje modul adapter. U ovakvim sistemima se sinhrona magistrala obino realizuju sa podeljenim ciklusima.

50. Greke zbog polaznih aproksimacija


Greke zbog polaznih aproksimacija se najee javljaju kod rjeavanja praktinih problema, to su greke koje se prave svjesno. Mogue ih je podijeliti u tri skupine:

Greke modela - Najee nastaju pojednostavljenjem sloenih

sustava (astronomska istraivanja, atomske strukture, sloene hemijske reakcije) jednostavnijima koje moemo opisati matematikim zapisom. esto sa stvarni fenomeni takvi da ih ne moemo ni priblino opisati dananjim matematikim teorijama ili su previe kompleksni za dananji stepen matematike. Stoga se vre razne simplikacije, s jedne strane da bi uope opisali fenomene matematikim zapisom, a s druge strane da bi i njih pojednostavili kako bi ih uope mogli rijeiti. esto se i dobri modeli zamjenjuju slabijim da bi uope mogli primijeniti numerike metode (na primjer, sistemi nelinearnih parcijalnih diferencijalnih jednadbi se linearizuju). Pogreke u modelu mogu nastati i kod upotrebe modela u graninim sluajevima. Greke modela su neizbijene, i na korisnicima je da procijene dobivaju Ii primjenom odreenog modela oekivane rezultate. Primjeri pojednostavljenja:

kretanje u zamjenskim uvjetima (otpor zraka) primjena numerikih metoda (dobar model se zamijeni slabijim) upotreba modela u graninim sluajevima (sinx=x, x priblino jednako 0) - Greke koje nastaju kad se beskonani procesi zamjenjuju konanim. Takoer, veliine koje su

Greke metode

denirane limesom, poput derivacija i integrala, i rjeenja koja su denirana limesima konvergentnih nizova. Velik broj numerikih metoda za aproksimaciju funkcija i rjeavanje jednadbi upravo je tog oblika. Greke koja nastaju zamjenom beskonanog neim konanim, obino dijelimo u dvije kategorije: malim brojem.

- greke diskretizacije

koje nastaju zamjenom

kontinuuma konanim diskretnim skupom toaka, ili kad se beskonano mala veliina zamijeni nekim konkretnim Takoer, kad se derivacija zamijeni podijeljenom razlikom, diferencijalna jednadba diferencijskom jednadbom, integral nekom kvadratnom formulom.

- greke odbacivanja

koje nastaju zamjenom beskonanog niza

ili reda konanim nizom ili sumom (tada odbacujemo ostatak niza ili reda). Grubo reeno, diskretizacija je vezana za kontinuum, a odbacivanje za diskretnu beskonanost. Objekti koji nedostaju pri tim zamjenama tvore tip greaka koji se zovu greke metode.

Greke u polaznim podacima - Greke koje imaju izvor u mjerenjima zikih veliina,

u smjetavanju podataka u raunalo, a takoer i u prethodnim raunanjima. Naime, esto su izlazne vrijednosti iz nekog prethodnog raunanja, ulazni podaci za novo raunanje. Greke od mjerenja ili od smjetavanja u raunalo je daleko jednostavnije ocijeniti od greaka koje nastaju uslijed brojnih zaokruivanja u toku raunanja.

51. Greke zaokruivanja


Prije analize ovog pitanja potrebno je biti upoznat sa sljedea dva pojma koja se jasno razlikuju: Tanost je mjera aproksimacije neke veliine  izraava se apsolutnom ili relativnom grekom ili brojem znaajnih znamenki. Preciznost je tanost kojom se izvravaju raunske operacije. Pomou aritmetike date preciznosti moe se simulirati raunanje u

Tanost openito nije ograniena preciznou.

veoj preciznosti. Ove greke nastaju u raunarima jer oni koriste konanu aritmetiku ili preciznije binarnu aritmetiku

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


s pominom tokom, kod koje je unaprijed rezervisan odreen broj binarnih mjesta za predznak, eksponent i za mantisu. Stoga se svaka raunska operacija, izmeu dva broja izraunava s nekom malom grekom, koja moe biti i nula. Ako je nula, tada je rezultat te operacije na danim operandima egzaktano izraunat i taan. Ako nije nula, tada je izraunat s nekom malom grekom koju moemo dosta precizno ocijeniti i koju zovemo greka zaokruivanja. Ako je algoritam kompleksniji, bit e mnogo raunskih operacija. Pri analizi greaka koje nastaju u toku raunanja koristimo se

teorijom greaka zaokruivanja, a osjetljivou rjeenja matematikog problema bavi se teorija perturbacije.

Njiho-

vom usklaenom uporabom esto je mogue ocijeniti do koje e tonosti algoritam, koriten na raunalu, izraunati traeno rjeenje. Ako moemo rei da e ta tanost biti skoro onakva kako to doputa sam problem zbog nepreciznosti polaznih podataka tada govorimo o stabilnom algoritmu. Greke zaokruivanja su neizbjene pri svakom zahtjevnijem raunanju. One dolaze od koritenja, konane aritmetike u raunalima. Ve sama pohrana podataka u raunar dovodi do greaka jer se svaki broj mora predstaviti sa konanim brojem binarnih znamenaka. Ne samo iracionalni, ve i mnogi racionalni brojevi, ne moraju biti tano predstavljeni u raunaru. Kad se jednom polazni brojevi smjeste na raunar, to uglavnom nisu njihove tane ve pribline binarne reprezentacije. Potrebno je pod kontrolom imati sve tipove greaka, a to znai da moramo biti upoznati i sa svim fenomenima koji mogu naii prije i u toku raunanja, a vezani su uz netanosti polaznih podataka, meurezultata te konanog rezultata.

52.Aritmetika sa pominom takom


Na kalkulatorima se esto moe izabrati tzv. znanstvena notacija brojeva, koja npr.

2.777 101

pri emu je - predznak broja ili mantise, a

broj

je decimalna taka, 2.777 je

signikantni ili razlomljeni dio broja, 10 je baza, a 1 je eksponent. Zapis oznaka za prikaz broja:

x = 27.77 = 2.777 101

mantisa,

27.77

prikazuje kao

koja se jo zove je zapravo kraa

x = (2 101 + 7 100 + 7 101 + 7 102 ) = (2 100 + 7 101 + 7 102 + 7 103 ) 101


a kako vrijedi da je

x = [(1) (2 100 + 7 101 + 7 102 + 7 103 )] 101


predznak broja je ujedno i predznak mantise. Openito, svaki se realni broj moe predstaviti na jednoznaan nain u obliku

m 10e

se zove

pomina taka,

gdje je

1 m < 10.

Raunari za spremanje realnih brojeva koriste slinu reprezentaciju broja koja

ali se ne uzima baza 10, ve baza 2 (s iznimkom baze 16 kod raunara IBM 370 i baze 10

kod veine kalkulatora). Tako je npr.:

Ovdje je

(11.1011)2

binarna reprezentacija broja y, a njen oblik u prikazu s pominom takom

(1.11011)2 21 .

Lako

se izrauna da y ima decimalnu reprezentaciju (3.625)10 , to se uobiajeno kae da je y broj 3.625.

53.Reprezentacija brojeva u raunaru


Cijeli i realni brojevi implementiraju se u raunaru u unaprijed zadanom formatu koji propisuje koliko se binarnih znamenaka (bitova) koristi za prikaz broja i kako se one interpretiraju. konaan podskup skupa cijelih odnosno realnih brojeva. je na taj nain mogue prikazati ili sve pozitivne brojeve od 0 do Stoga se u raunaru moe prikazati samo ili pozitivne i negativne brojeve npr. od Ako je za prikaz cijelog broja rezervirano n bitova, onda

2n 1

n1

do

n1

1.Brojevi

izvan tih intervala nisu prikazivi u raunaru. Raunske operacije nee biti tano izvrene Cjelobrojna aritmetika koristi cjelobrojni tip podataka koji ine konani

ukoliko rezultat izlazi iz intervala prikazivih brojeva. U programskim jezicima postoji nekoliko vrsta aritmetika koje koriste posve odredene tipove podataka. podskup racionalnih brojeva. interval u skupu cijelih brojeva, realna aritmetika koristi takozvani realni tip podataka kojem pripada tek konani Neto vei skup racionalnih brojeva ini tip brojeva u dvostrukoj preciznosti kojima su mantise vie od dvostruko due od mantisa realnog tipa. I pripadna aritmetika je drukija od realne aritmetike (jer je vie nego dvostruko preciznija). Konano, konani podskup skupa kompleksnih brojeva reprezentiran je tipom kompleksnih brojeva (koji nije prisutan kod svih programskih jezika) nad kojim je denirana pripadna kompleksna aritmetika. Svaki od tih glavnih tipova obino ima svoje podtipove (ili ekstenzije) koje obino odreuje broj bajtova. Jedan bajt (engl. byte) ini 8 bitova, koji su dostupni za reprezentaciju jednog znaka. Dananji raunari imaju elije od 32 bita pa su tome prilagoeni graa procesora, implementacije aritmetika kao i cijeli operacioni ssistem (OS). Danas su dostupni i raunari bazirani na 64 bitnim elijama. Pozitivni cijeli brojevi reprezentiraju se u 32 bitnoj eliji kao desno pozicionirani binarni brojevi. Npr. broj 111 bit e smjeten ovako:

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


Na taj nain moemo smjestiti sve brojeve od 32 jedinice). Broj unutar

(koja je reprezentirana s

32

nule) do

32

je prevelik. Njegova binarna reprezentacija zahtijeva jednu

232 1 (koji je reprezentiran s jedinicu i 32 nule. Neki programski

jezici imaju tip podataka cijeli broj bez predznaka i spomenuta reprezentacija je odgovarajua za njih. Medutim, ako

32

bita moramo spremati i pozitivne i negativne brojeve, prvo moramo vidjeti kako spremiti negativne cijele

brojeve. Najoitija mogunost je uzeti jedan bit za predznak, na primjer prvi, tako da je taj bit

0 ako je broj pozitivan

i 1 ako je negativan. S obzirom da na raspolaganju imamo jo 31 bit, raspon tako reprezentiranih brojeva je od od

231 + 1
x,

do

koji se zove

0 x 231 1

drugi komplement
2
32

231 1.

Meutim, gotovo svi dananji raunari koriste pametniji nain reprezentacije negativnih brojeva i pie

2.

komplement. U sistemu koji koristi drugi komplement, nenegativni cijeli broj

smjeta se kao binarna reprezentacija tog broja, dok se

x, 1 x 231 1

smjeta se kao binarna

reprezentacija broja prvi komplement.

x.

Prvi komplement broja dobija se jednostavnim komplementiranjem cifara, pa je za 111

Dodamo li 1 toj reprezentaciji dobili smo drugi (dvojni) komplement ime je reprezentiran broj -111.

54.Reprezentacija realnih brojeva u raunaru


U raunaru se realni brojevi reprezentiraju pomou binarne reprezentacije u tzv. naunoj notaciji, i to kao

x = m 2e , gdje je 1 m < 2. Stoga je m = (b0 .b1 b2 b3 ...bp1 )2 pri emu je b0 = 1. 6 Npr., broj 111.5 = (1101111.1)2 se moe napisati kao (1.1011111)2 2 .
moemo onda pisati da je

(1) (2) Vidimo da je u naunom prikazu binarna Kako se zahtijeva da je

taka pomaknuta za 6 mjesta ulijevo, a pritom se eksponent poveao upravo za 6.

b0 = 1

m = (1.b1 b2 b3 ...bp1 )2 .

dio mantise a relacije (1) i (2) predstavljaju

normalizirani oblik ili reprezentaciju broja x. e

U tom prikazu binarne cifre desno od binarne take ine razlomljeni Sam proces dobivanja tog

oblika se zove normalizacija. Da bismo spremili normalizirane brojeve u raunar, podijelimo memorijsku rije (sadraj jedne elije) u tri dijela koja zovemo polja. Kod 32-bitnih raunara, rije uobiajeno ima 32 bita pa se obino dijeli na sljedei nain (tip single): 1 bit za predznak, 8 bita za eksponent granica i 23 bita za mantisu. Bit za predznak je 0 (1) ako Preostala 23 bita za smjetaj mantise je broj pozitivan (negativan). Polje za eksponent ima osam bitova pa moe reprezentirati ekponent e koji je izmeu

128

127

(npr.

pomou reprezentacije s drugim komplementom).

koriste se za smjetaj razlomljenog dijela mantise, jer je uvijek b0 naziva skriveni bit.

= 1,

pa ga ne treba spremati. Zato se b0 obino

Realni broj x nazivamo egzaktno reprezentabilnim u raunaru ili brojem s pominom takom

ako se na opisani nain moe bez greke smjestiti u raunar. Ako broj nije egzaktno reprezentabilan u raunaru, on se mora prije smjetanja u raunaru zaokruiti. Na raunaru generalno ne moemo egzaktno izvravati aritmetike operacije. Rezultat sabiranja, oduzimanja, mnoenja ili dijeljenja dva broja x i y, reprezentabilna u raunaru, po deniciji je broj u raunaru koji je najblii tanom (egzaktnom) zbiru, razlici, proizvodu, odnosno kolicniku x i y. Pri tome je relativna greka tako izvedenih operacija manja ili jednaka polovini najveeg relativnog odstojanja dva susjedna broja u raunaru. Na primjer, u standardnoj jednostrukoj preciznosti (32-bitna reprezentacija) je relativno odstojanje susjednih brojeva omeeno s

223

pa je relativna greka aritmetikih operacija najvie

108 .

55.Mainski epsilon, ulp i preciznost


U raunaru, ne samo iracionalni, nego i mnogi racionalni brojevi umjerene veliine nemaju tanu reprezentaciju u raunaru. Ako je x neki realni broj, onda njegovu reunarsku reprezentaciju oznaavamo sa da se kod svake raunske operacije u raunaru javlja greka. To se zapisuje u obliku:

(x).

Prouavanja pokazuju

u, (+, , , ) pri emu je u tzv. preciznost raunanja ili strojni u. Greka ovisi o operandima x i y i operaciji , dok u ovisi o IEEE stanardu koji je podran u raunaru. Openito, ako raunar koristi p binarnih cifara u mantisi (p1) p onda vrijedi u = 2 ili u = 2 ovisno o nainu zaokruivanja u raunaru. Glavna zadaa osobe koja se bavi
numerikom matematikom jeste odreivanje to bolje aproksimacije rjeenja u to kraem vremenu. Treba razlikovati pojam

f l(x y ) = (x y )(1 + ), | |

preciznosti

od pojma

tanosti :

Tanost se odnosi na aspolutnu i relativnu greku kojom se aproksimira traena veliina Preciznost
bitova. je tanost kojom se izvravaju osnovne raunske operacije, a u aritmetici s brojeva s pominom takom mjerimo je sa

u.

Odreena je brojem bitova u reprezentaciji mantise, pa se ista rije koristi i za taj broj

Ipak vano je znati da preciznost

ne limitira tanost.

Naime, uvijek se (uz poveanje potronje raunarskog vremena)

uz neku danu preciznost moe simulirati i vea preciznost raunanja. Preciznost, dakle, deniramo kao broj bitova u mantisi pri emu se rauna i skriveni bit. Preciznost

moemo u danom brojnom sistemu denirati brojem bitova u (1)

mantisi pri emu se rauna i skriveni bit. U opisanom brojnom sistemu je p = 24. U brojnom sistemu s preciznou

p, normalizirani broj s pominom takom ima oblik x = (1.b1 b2 ...bp2 bp1 ) 2e .

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


Najmanji takav x koji je vei od 1 je mainski epsilon i oznaava se sa (1) denira se

(1.00...01)2 = 1 + 2(p1) .

Razmak izmeu ta dva broja se zove strojni ili

ulp i to kao ulp(x) ulp je skraenica engleskih rijei unit in the last place. Ako je x>0 (x<0) ulp(x) je razmak izmeu x i sljedeeg veeg (manjeg) reprezentabilnog broja.
Format Single Double Intel Preciznost 24 53 64

M (engl. machine epsilon) i zapisuje se kao M = (0.00...01)2 2e = 2(p1) 2e = M 2e .

= 2(p1) .

Za x reprezentiran kao u

Mainski epsilon

223 252 263

56.Brojni sistem za prikazivanje


Da bismo shvatili koje take na brojnom pravcu odgovaraju reprezentabilnim brojevima, denirat emo pojednostavljeni brojni sistem za prikazivanje ili krae BSP, koji se sastoji od brojeva oblika

(b0 b1 b2 )2 2e b0 , b1 , b2 {0, 1}, e 1 najmanji (1.00)2 2 = (0.5)10 .


njih je isti razmak

{1, 0, 1}.

Preciznost je p=3, a najvei prikazivi broj je

Kako je desni susjed od 1 u BSP-u 1.25, strojni ili

(1.11)2 21 = (3.5)10 , a mainski epsilon je M = 0.25.

Ako posmatramo sve bojeve u BSP-u za koje je e=0, vidjet emo da su to brojevi 1, 1.25, 1.5 i 1.75. Izmeu svih

ulp(x) =

M . Brojevi u BSP-u za koje je e=1 dobijaju se mnoenjem s dva onih brojeva za koje je

e=0, pa su to brojevi 2, 2.25, 3, 3.5 i za njih je 0.75, 0.825 i za njih je BSP-u jednak

ulp(x) = 2

M . Slino, brojevi iz BSP-a za koje je e=-1 su 0.5, 0.625,

ulp(x) = ulp(x) = M 2e .

M /2. Vidimo da je razmak izmeu brojeva x iz BSP-a i njegovog desnog susjeda u

Uoimo da je razmak izmeu nule i

0.5 mnogo vei od razmaka brojeva izmeu 0.5 i 1. Razmak izmeu nule i 0.5 se moe ispuniti takozvanim subnormalnim brojevima (U standardu IEEE 754-1985 normalni brojevi su nazivani e normalizovani, a subnormalni denormalizovani). Brojevi koji su po apsolutnoj vrednosti manji od min (ali vei od emin 1p .
Bez subnormalnih

0) se nazivaju subnormalni. Subnormalni brojevi uvijek imaju manje od p znaajnih cifara. Svaki konaan broj u pokretnom zarezu predstavlja umnoak subnormalnog broja sa apsolutnom vrijednou brojeva, svaki broj manji od

emin

je zamjenjivan nulom.

57. IEEE aritmetika


U kasnim 70-tim i ranim 80-tim godinama, dolo je do izuzetne suradnje eksperata iz industrije i sa sveuilita. Predvoeni W. Kahanom sa kalifornijskog sveuilita u Berkeleyu, strunjaci iz raunarstva i dizajneri mikroipova uspjeli su se dogovoriti oko standarda smjetanja brojeva u raunar i standarda aritmetike. To je bilo vrijeme naglog razvoja osobnih raunara s Intelom i Motorolom kao glavnim proizvoaima procesora. IEEE standard za binarnu aritmetiku je publiciran 1985. i spominje se kao IEEE 754. Razvoj kalkulatora i malih, tzv. handheld raunala koja koriste decimalnu aritmetiku utjecao je na razvoj standarda IEEE 854 koji vrijedi za svaku bazu i konzistentan je s prethodnim standardom za binarnu aritmetiku. Kad se spominje IEEE aritmetika podrazumijeva se da ta aritmetika udovoljava spomenute standarde. Bitni zahtjevi IEEE standarda su:

konzistentna reprezentacija brojeva s pominoom takom na svim raunarima koji prihvataju standard, korektno zaokruene raunske oepracije u svim nainima rada i konzistentno tretiranje izvanrednih situacija kao to je npr. dijeljenje s nulom

U tom standardu je vodea jedinica normalizirarog broja skrivena, pa je zato potrebna specijalna reprezentacija broja nula. Uvodi se i specijalna reprezentacija brojeva

brojeva

(to je za razliku od matematiki gledano razliitih

+ i ,

isti broj), te specijalnih izmiljenih brojeva NaN (Not a number, koji je oznaka za, npr. kvocijent 0/0).

IEEE format specicira dva osnovna formata: jednostruki i dvostruki. IEEE standard 754-1985 je razvijen sa ciljem da omogui prenosivost programa kao i sa ciljem da se ohrabri razvoj sosticiranih numeriki orijentiranih programa i izraunavanje u raunaru to vie priblii izraunavanju u realnoj matematici. novi IEEE 754-2008 standard. O reviziji sa ciljem poboljanja i proirenja poelo je da se razmilja 2000. godine. 2008. godine je IEEE 754-1985 standard je potisnut i u upotrebi je

58. Jednostruki format


Broj u jednostrukom formatu sprema se u eliju koja ima tri polja; polje za predznak (1 bit, (8 bitova, bitovi

),

polje za eksponent

a1 a2 ....a8 )

i polje za mantisu (23 bita, bitovi

b1 b2 ...b2 3)

i prikazat emo ga na sljedei nain:

a1 a2 ...a8

b1 b2 b3 ...b23

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


Ovaj format je opisan u sljedeoj tabeli:

Pritom predznak broja u nizu bitova znai 0 ako je broj pozitivan (predznak broja +) i 1 ako je broj negativan (predznak broja -). Iz prvog reda tabele vidimo da je nula reprezentirana kao:

00000000

00000000000000000000000

Svi redovi u tabeli predstavljaju normalizirane brojeve, osim prvog i zadnjeg. Vidimo da eksponent nije prikazan, ni kao drugi komplement, niti u obliku predznak plus modul, ve kao

127 + e.

Broj

127 + e

zvat emo

karakteristika.

Npr. broj 1 decimalno se reprezentira u jednostrukom IEEE formatu kao:

0 dok se broj 0.1=(1.1

01111111

00000000000000000000000

0011. )2 24 ,

ako se viak cifara odbacuje, u jednostrukom IEEE formatu predstavlja kao:

01111011

10011001100110011001100

a ako se viak cifara pravilno zaokruuje (kako to radi veina modernih raunara), jer su prve dvije odbaene cifre '11'

01111011

10011001100110011001101 Najmanji normalizirani broj je:

Najmanji i najvei eksponent od 2 u tom fomratu su emin = 126 i emax = 127. Nmin = (1.000...0)2 2126 = 2126 1.1755 1038 i reprezentira se kao:

0 dok je najvei broj

00000001

00000000000000000000000 i reprezentira se sa:

Nmax = (1.111...1)2 2127 = (2 223 ) 2127 2128 3.4028 1038


0 11111110 11111111111111111111111

Odmah vidimo da je vodi ili do

1 Nmin < Nmax pa invertovani broj najmanjeg broja ne dovodi do prekoraenja gornje granice (overow). Iz zadnjeg reda navedene tabele vidimo da niz bitova 1111111 u eksponencijalnom dijelu reprezentacije

(samo ako su svi

bi

jednaki nuli) ili do NaN.

Konano, ako pogledamo jo jednom prvi red tablice. U njemu je eksponencijalni dio uvijek 0000000, dok razlomljeni dio moe imati bilo koji izbor jedinica i nula. Ako su svi svi

bi

nula, imat emo +0, ili -0 ovisno o prvom bitu. Ako nisu

bi

nula, dobit emo tzv. subnormalne ili denormalizirane brojeve koji ekvidistantno ispunjavaju razmak izmeu

-Nmin i +Nmin . Najmanji pozitivni subnormalni broj reprezentiran je kao:

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


0 a vrijednost mu je formata. 00000001 00000000000000000000001

2149 = (0.000...01)2 2126

i to je najmanji broj koji se moe reprezentirati pomou jednostrukog

Najvei subnormalni broj koji se moe prikazati je

(0.111...1)2 2126

i on je za

2149

manji od Nm in.

Sve reprezentabilne brojeve u brojnom sistemu za prikazivanje ukljuujui i subnormalne brojeve moemo prikazati sljedeom slikom :

Subnormalni brojevi su manje tani od normaliziranih.

59. Dvostruki format


Kod zahtjevnijih raunanja, jednostruki format nije adekvatan, kako zbog neizbjenih greaka zaokruivanja, tako zbog premalog raspona brojeva u tom formatu. koristi 64-bitnu rije, Zato IEEE standard specicira i drugi tzv. dvostruki format koji

Detalji su vidljivi u tablici. vea:

a1 a2 ...a11

b1 b2 b3 ...b52 emin = 1022


i

Ideje su iste kao kod jednostrukog formata, samo su polja za mantisu i eksponent

11 bitova za eksponent i 52 bita za razlomljeni dio mantise, pa su zato

emax = 1023

te

Nmin = 21022 2.225 10308 i Nmax = (2 252 ) 21023 1.737693 10308

IEEE standard zahtijeva da raunalo omoguava jednostruki format. Dvostruki format se zahtijeva tek kao mogunost, iako ga gotovo sva raunala koja podravaju standard imaju. Podrka na zahtjeve standarda moe biti programska (softverska) ili elektronika (hardverska), iako zbog brzine rada raunala, proizvoai raunala najee daju hardversku podrku standardu. U sljedeoj tablici prikazani su karakteristini podaci za jednostruki i dvostruki format.

Standard takoder snano preporuuje i podrku za tzv. proireni (engl. extended) format koji bi trebao imati barem 15 bitova za eksponent i barem 63 bita za mantisu. Intelovi mikroprocesori implementiraju aritmetiku s proirenim formatom u hardware-u, koritenjem 80-bitnih regisatra, od ega se 15 bitova koristi za eksponent, a 64 bita za mantisu, pri emu, za razliku od jednostrukog i dvostrukog formata, vodei bit (jedinica) nije skriven. Intelovog proirenog formata, prvi desni susjed od 1 bio bi skrivenog bita, prvi desni susjed je Drugi strojevi (npr. Sun i Sparc) implementiraju proireni format sa 128 bitova, ali softverski, pa je aritmetika ovdje sporija. Kod

1+2

63

. S obzirom

1 + 264 , ali kako se on 23 da je log10 (2 ) 6.9236

ne moe reprezentirati jer nema i

log10 (224 ) 7.2247

preciznost

p=24 odgovara priblino 7 znaajnih decimalnih znamenki. Slino, preciznost p = 53 odgovara priblino 16, a p = 64 odgovara priblino 19 znaajnih decimalnih znamenki.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

Moderna raunala adresiraju memoriju po byte-ovima, pa 32-bitnu rije adresiraju sa 4 byte-a, nazovimo ih pri emu je

B1 , B2 , B3 , B4 ,

B4 = B1 + 3.

U jednostrukom formatu najvaniji je byte u kojem su smjeteni

Ako je taj byte adresiran s

B1 (B4 ),

tada se takav adresni sistem zove

Big (Small) Endian.

, a1 , ..., a7 (

je predznak).

Npr. IBM i Sun koriste

Big, dok Intel koristim Small Endian (neki procesori kao DEC Alpha mogu raditi s oba). To znai da pri transferu podataka s jednog raunara na drugi treba biti oprezan.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

61. Korektno zaokruene osnovne raunske operacije

62.Osnovne karakteristike mikroprocesora i8086


Ovaj mikroprocesor spada u grupu mikroprocesora opte namjene. Realizovan je kao integrisano monolitno kolo visokog stepena integracije (LSI kolo). Ima 40 prikljuaka a realizovan je u NMOS tehnologiji (N-type metal-oxidesemiconductor), a kasnije verzije i u HMOS (High density, short channel MOS) i CMOS (Complementary Metal Oxide Semiconductor).Ovaj esnaestobitni mikroprocesor Intel 8086 je kompatibilan na nivou zbirnog jezika sa svojim osambitnim prethodnicima (Intel 8080 i 8085). Intel 8086 ima dodatne procesne sposobnosti: 8-bitnu i 16-bitnu aritmetiku (ukljuujui mnoenje i djeljenje), ekasne operacije za rukovanje bitovima, skup instrukcija za izvoenje operacija za rukovanje nizovima bajtova i nizovima rijei, dinamiku relokatibilnost programa, direktno adresibilan prostor od jednog megabajta jer koristi 20 adresnih bita i U/I od 64kB adresibilnih. Koristi samo jedan takt signal i jedan napon napajanja od +5 V. Posjeduje 14 unutranjih 16-bitnih registara. Moe da obrauje podatke na nivou bita, bajtova, rijei i nizova podataka. Funkcionalno mikroprocesor i8086 moe se podijeliti na dva dijela: - jedinicu za izvoenje instrukcija i upravljanje (EU - Execution unit) i - jedinicu za povezivanje sa sabirnicom (BIU - Bus Interface Unit) U jedinici za izvoenje i upravljanje EU nalaze se etiri esnaestobitna reistra, koji su adresibilni i kao osambitni registri (ah, al, bh, bl, ch, cl, dh i dl), dva esnaestobitna pokazivaa (SP  stack pointer i BP  pokaziva baze), dva indeksna registra (izvorni indeksni registar SI i odredini indeksni registar DI), te esnaestobitna aritmetika-logika jedinica sa dva esnaestobitna registra operanda nedostupna programeru. Sabirnica podataka je veliine 20 bita =

2020 = 1048576 = 1M B

RAM-a adresnog prostora.

63.Registri mikroprocesora i8086


Registri mikroprocesora i8086 su memorijske jedinice veliine 16 bita (2 bajta) ugraene u mikroprocesor. Ima ih 14. Nad njihovim sadrajem mikroprocesor izvrava aritmetiko-logike operacije, u njima formira adrese memorijskih lokacija u RAM memoriji, itd. Registri su adresirani svojim nazivom, tj. Svaki registar ima svoje ime. Neki registri imaju samo jednu namenu i ne mogu se koristiti za druge namene, dok su neki registri vienamenski. Kod vienamenskih registara bie navedeno za ta se tipino i najee koriste, ali bie naglaeno da se mogu koristiti i u druge namene. Neki registri mogu da budu operand neke instrukcije, a neki ne. Takoe, ako neka instrukcija ima 2 operanda, postoje pravila o tome koji registri mogu da se koriste u odgovarajuem kontekstu, a koji ne.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

Registri opte namene (data registers) Ovi registri imaju najraznovrsnije namene. Nazivi su im AX, BX, CX i DX. Ovi registri se sastoje od po 2 osmobitna registra, npr. AX se sastoji od nieg bajta AL (Alow) i vieg bajta AH (Ahigh), to znai da operand neke instrukcije moe biti ceo AX, ili samo njegov nii bajt AL, ili samo njegov vii bajt AH. Registar AX se najee koristi za formiranje rezultata i meurezultata aritmetiko-logikih operacija, za stavljanje podataka na stek i slino, ali moe da se koristi i u druge nemene. Registar BX se najee koristi za formiranje ofsetnog dela adrese nekog podatka, u aritmetiko-logikim operacijama i slino, ali moe da se koristi i u druge nemene. Registar CX se najee koristi pri aritmetiko-logikim operacijama, a tipina namena je i da slui kao broja u petljama i slino, ali moe da se koristi i u druge nemene. Registar DX se najee koristi u aritmetikologikim operacijama, a tipina namena je i da slui za adresiranje portova (ofsetni deo adrese) ali moe da se koristi i u druge nemene. Portovi su specijalno rezervisane memorijske lokacije u adresnom prostoru koje slue kao ulazno-izlazni kanali u komunikaciji procesora sa perifernim ureajima (modemi, tampai, mi, . . . ).

Adresni registri Ovi registri slue prvenstveno za adresiranje memorijskih lokacija. Delimo ih u dve grupe. o Segmetni registri - Sadre segmenti deo neke adrese. Registar CS uvek sadri (i ne moe se koristiti za

druge namene) segmentni deo adrese tekue instrukcije. Naime, kada se izvrava neki program, instrukcije tog programa su smetene u RAM memoriji, a CS registar u svakom momentu sadri segmentni deo adrese one instrukcije koja se u datom trenutku izvrava. Registar DS je predvien da sadri segmentni deo adrese podataka u RAM memoriji nad kojima program operie. Na primer, ako se u instrukciji za sabiranje kao prvi argument zada registar AX a kao drugi argument se navede samo ofsetni deo adrese neke promenljive u RAM memoriji (inae, moe da se zada i segmentni i ofsetni deo adrese), procesor e automatski podrazumevati da je segmentni deo adrese te promenljive smeten u DS registru. Isto vai i za mnoge druge instrukcije. Registar SS uvek sadri (i ne moe se koristiti za druge namene) segmentni deo adrese podataka u steku (tj. stek-segmentu). Svi podaci na steku imaju adrese iji je segmenti deo isti  sadraj registra SS. Registar ES je pomoni segmentni registar. o Ofsetni registri - Po pravilu sadre segmenti deo neke adrese, ali se mogu koristiti i za druge namene. Registar SP uvek sadri (i ne moe se koristiti za druge namene) ofsetni deo adrese podatka na vrhu steka. Instrukcije za stavljanje podataka na stek i skidanje podataka sa steka automatski menja sadraj SP registra tako da on uvek sadri ofsetni deo adrese podatka na vrhu steka. Prema tome, vrednost SS:SP=SS*16+SP uvek predstavlja ziku (20-bitnu) adresu podatka na vrhu steka. Registar BP moe da se koristi na razne naine, ali po pravilu takoe slui za adresiranje podataka na steku, tj. sadri ofsetni deo adrese nekog podatka unutar steka. Na primer, ako je SP=8 i BP=6, tada SS:SP daje ziku adresu podatka na vrhu steka, a SS:BP daje ziku adresu podatka koji je prethodno stavljen na stek. Registar IP uvek sadri (i ne moe se koristiti za druge namene) ofsetni deo adrese tekue instrukcije (tj. prvog bajta tekue instrukcije). Kada se neka instrukcija izvri, automatski menja sadraj IP registra tako da on u sledeem trenutku sadri ofsetni deo adrese instrukcije koja tada kree da se izvrava.

Flag registri (status ags) Ovaj registar je veoma specian po tome to svaki njegov bit ima posebnu funkciju, i za razliku od ostalih registara, pojedine instrukcije mogu da pristupaju i obrauju pojedine bitove posebno. Svaki bit tj. tzv. ag predstavlja signal o statusu u kojem se procesor nalazi, statusu izvrenja poslednje instrukcije, i sl. Sledi opis pojedinih egova (svih 16 bitova imaju svoje nazive i namene).

64.Segmenti i adresiranje
Fiziku adresu nekog bajta RAM memorije mikroprocesor sklapa pomou sadraja dva registra, po formuli SR*16 + OR, gdje je SR segmentni registar koji sadri segmentni dio adrese memorijske lokacije (SR je po pravilu neki od registara CS, DS, SS, ES), a OR se je ofsetni (indeksni) registar koji sadri ofsetnu adresu memorijske lokacije (OR je najee neki od registara IP, SP, BP, SI, DI, DX, BX). Fiziku adresu SR*16 + OR skraeno oznaavamo sa SR:OR odnosno SEGMENT:OFFSET. Na primjer, ako registri DS i BX sadre brojeve DS = 13622 = BX = 20628 =

(0011010100110110)2 (1010000100101000)2 , (00111010001111110100)2 .

tada DS:BX predstavlja pokaziva na memorijsku lokaciju sa zikom adresom DS:BX = 13622*16 + 20628 = 238580 = 0011010100110110*10000+1010000100101000 = 4 nule na desnoj strani (analogno, mnoenje brojem Primjetimo da mnoenje sadraja registra DS predstavlja transliranje njegovih bitova za 4 mjesta uijlevo i dodavanje

2n

predstavlja transliranje pomnoenog broja ulijevo za n cifara i

dodavanje n nula na kraj). U viim programskim jezicima, promijenljiva tipa pointer (pokaziva) predstavlja 4-bajtnu (u sluaju mikroprocesora i8086) promijenljivu koja u svoja via dva bajta sadri segmentnu, a u nia dva ofsetnu sdresu neke memorijske lokacije. Segmenti su blokovi memorije (nizovi bajtova) u kojima se nalaze dijelovi programa. Naime, kada korisnik operativnom sistemu DOS zada zahtijev za izvravanje nekog programa, operativni sistem na disku pronae datoteku koja sadri taj izvrni program, a zatim za njega rezervie dijelove RAM memorije (segmente) u koje uita dijelove programa, i pokrene njegovo izvravanje. Adresiranje pojedinih bajtova unutar jednog segmenta se vri na gore navedeni nain (SEGMENT:OFFSET = SEGMENT*16+OFFSET), pri emu sve memorijske lokacije

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


unutar jednog segmenta imaju jednak segmentni dio adrese, i razliite ofsetne dijelove adresa. Stoga je maksimalna veliina jednog segmenta odreena maksimalnom vrijednou ofsetnog registra, a to je

216 = 65536 = 64kB

. Takoe,

posledica ovakvog naina adresiranja je i da zika adresa prvog bajta nekog segmenta mora biti deljiva sa 16, jer za OR=0 je vrednost SR*16 + OR djeljiva sa 16. U raunarstvu se jedinica od 16 bajtova naziva paragraf (paragraph). U zavisnosti od njihovog sadraja, segmente delimo na sledee tipove: (a) Kodni segment (code segment): segment u kome se nalaze instrukcije programa; jedan program (ako je veliki) moe da ima vie kodnih segmenata; kombinacija registara CS:IP u svakom momentu izvravanja programa sadri ziku adresu (prvog bajta) memorijske lokacije na koju je upisana instrukcija koja se u tom momentu izvrava. (b) Segment podataka (data segment): segment u kome se nalaze podaci sa kojima program operie; jedan program (ako operie sa velikim brojem podataka, npr. sa velim nizovima i matricama) moe da ima vie segmenata podataka; kombinacije registara DS:SI, DS:DI, DS:BX itd. po pravilu tokom izvravanja programa sadre zike adrese memorijskih lokacija na kojima su upisani neki podaci koje program obrauje. (c) Segment podataka organizovanih u stek (stack segment): segment u kome se nalaze podaci organizovani u stek, sa kojima program operie; stek moemo zamisliti kao niz podataka promenljive veliine gde se neki novi podatak skladiti u stek tako to se kopira na kraj tog niza  vrh steka, a oitava se tako to se premesti sa vrha steka na neko drugo mesto, a novi vrh steka postaje ranije pretposlednji podatak u nizu; operacije stavljanja i skidanja podatka sa vrha steka se obavljaju specijalizovanim instrukcijama  one mogu na stek stavljati ili skidati podatke samo u grupama od po 2 bajta; jedan program moe da ima samo jedan stek-segment; kombinacija registara SS:SP u svakom momentu tokom izvravanja programa sadri ziku adresu memorijske lokacije na koju je upisan podatak koji se nalazi na vrhu steka.

65.Format mainske instrukcije


Kada se asemblerska komanda prevede u mainsku instrukciju, ta mainska instrukcija je u memoriji ili datoteci zapisana u binarnom kodu i zauzima nekoliko bajtova. U zavisnosti od toga koja je instrukcija u pitanju i koliko i koje operande ima, to moe biti 1,2, pa i 10-ak bajtova. U prosjeku se radi o 5-6 bajtova. Prvih 1-2 bajtova sadre binarnu ifru same instrukcije, a ostatak binarne ifre operanada, tj. adresni dio instrukcije. Instrukcije mikroprocesora i8086 imaju 0, 1 ili 2 operanda. Svaki operand je adresiran tj. ifrovan na odgovarajui nain, u zavisnosti od toga da li se radi o konstanti, adresi memorijske lokacije u RAM memoriji, ili registru. Kada mikroprocesor pone da izvrava neku instrukciju, komandna jedinica mikroprocesora najprije analizira instrukciju i operande, na osnovu adresnog dijela formira odgovarajue tzv. izvrne adrese, i generie odgovarajui mikrokod koji e u aritmetiko-logikoj jedinici izazvati pobuivanje odgovarajuih elektronskih kola odgovarajuim redoslijedom.

66.Programiranje u asembleru
Tipian izgled jedne linije koda u asemblerskom jeziku: Labela: <menmonik> <operand> ;komentar gdje je labela simbolika oznaka adrese, mnemoni odgovarajua instrukcija, a operand podatak nad kojim se vri obrada. Asemblerske direktive su: NAME - denie ime programa ORG - adresa od koje poinje program EQU - denie konstante DB - rezervie bajt u memoriji DW - rezervie dva bajta u memoriji DS - rezervie odreeni broj bajtova END - kraj programa Pomou editora piemo kod u asemblerskom jeziku. Koritenjem asemblera (programa za prevoenje asembrerskog jezika u mainski kod procesora) izvriti kompajliranja asemblerskog koda. Koritenjem simulatora verikujemo ispravnost izvravanja programa. Postupak pisanja programa prolazi kroz sljedee faze:

denicija zadatka formiranje algoritma implementacija algoritma upotrebom asemblerskog jezika za mikroprocesor 8086 simulacija i verikacija ispravnosti

67.Operativni sistem kao proirena maina


Arhitektura (skup instrukcija, organizacija memorije, I/O i struktura magistrale) veine kompjutera na nivou mainskog jezika je primitivna i teka za programiranje, naroito za I/O. Ako se kao primjer uzme rad sa opi diskom vidjeemo da je za osnovne komande read i write potrebno voditi rauna o velikom broju parametara koji odreuju pojedinosti kao to su adresa bloka diska koji treba proitati ili gdje treba upisati, broj sektora po stazi, mod snimanja koriten na zikom medijumu, veliina slobodnog prostora izmeu pojedinih sektora i slino. Mora se voditi rauna o tome da li je motor ukljuen ili nije. Ako nije ukljuen, onda se mora ukljuiti (sa odreenim zaletnim zakanjenjem) prije nego se podaci mogu zapisati ili proitati. Uzimajui sve ovo, a i dosta drugih pojedinosti u obzir, jasno je da prosjean programer ne eli da se previe intimizuje sa programiranjem opi diska (ili hard diska, to je jednako

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


kompleksno i potpuno razliito). Umjesto toga, ono to programer eli je da radi sa jednostavnom apstrakcijom visokog nivoa. U sluaju diskova tipina apstrakcija je ta da disk sadri skup imenovanih fajlova koji se mogu otvoriti, u njih se moe upisivati ili iz njih itati, i konano zatvoriti.Program koji sakriva istinu o hardveru od programera i prezentuje lijepu i jednostavnu sliku imenovanih fajlova u koje se mogu upisivati ili iz kojih se mogu itati podaci je operativni sistem. Osim toga, operativni sistem sakriva dosta neprijatnog posla koji se tie interrupt-a, brojaa, rada sa memorijom i drugih pojedinosti nieg nivoa. Ovako posmatrajui, uloga operativnog sistema ja da korisniku predstavi proirenu mainu ili virtuelnu mainu koju je dosta lake programirati od postojeeg hardvera.

68.Operativni sistem kao upravlja resursima


Moderni kompjuteri se sastoje od procesora, memorija, brojaa, diskova, mieva, mrenih interfejsa, tampaa, kao i dosta drugih ure aja. U sluaju kada vie razliitih programa ele da istovremeno koriste neki od resursa na scenu stupa operativni sistem koji treba da obezbijedi ureenu i kontrolisanu alokaciju procesora, memorija i I/O ureaja izmeu tih programa. Ovako posmatrajui, glavni zadatak operativnog sistema je da vodi rauna o tome ko koristi koji resurs,da dozvoli koritenje odreenog resursa, prati upotrebu istih i da posreduje izmeu koniktnih zahtjeva razliitih korisnika ili programa. Upravljanje resursima ukljuuje multipleksiranje (podijelu) resursa na dva naina: u vremenu i u prostoru. Vremensko multipleksiranje se javlja u sluaju kad se razliiti programi smjenjuju u koritenju resursa. Prvo jedan program koristi odreeni resurs, zatim drugi i tako dalje. Operativni sistem odreuje koji je program sledei i koliko dugo e on koristiti resurs. Primjer vremenskog multipleksiranja je deoba tampaa. Kada se javi vie zahtjeva za tampanje mora se donijeti odluka koji se dokument tampa sledei.Za razliku od vremenskog multipleksiranja, gdje se korisnici smenjuju, kod prostornog multipleksiranja svaki korisnik dobija dio resursa. primjer, glavna memorija je podijeljena izmeu nekoliko programa. Na Pod pretpostavkom da ima dovoljno prostora

za vie programa ekasnije je drati nekoliko programa u memoriji odjedanput nego davati itavu memoriju jednom programu, naroito kad multipleksiranje je potreban samo mali dio. Drugi resurs koji je prostorno multipleksiran je hard disk. Tipian zadatak operativnog sistema je alokacija prostora na disku i voenje rauna o tome ko koristi koje blokove diska.

69.Zadatak operativnog sistema


Operativni sistem je program koji objedinjuje u skladnu cjelinu raznorodne djelove raunara i sakriva od korisnika one detalje funkcionisanja ovih dijelova koji nisu bitni za koritenje raunara. Znai, operativni sistem ima dvostruku ulogu. S jedne strane, on upravlja dijelovima od kojih se sastoji raunar (procesor, I/O kontroleri, radna memorija), sa ciljem da oni budu to svrsishodnije upotrijebljeni. S druge strane, operativni sistem stvara za krajnjeg korisnika raunara pristupano radno okruenje, tako to pretvara raunar od maine koja rukuje bitima, bajtima i blokovima u mainu koja rukuje datotekama i procesima. Svrha operativnih sistema je da osiguraju okruenje u kojima korisnici mogu izvravati svoje programe. Svrha kao optiji pojam se sastoji iz ciljeva koji imaju precizniju deniciju. Primarni cilj operativnog sistema jeste da raunar uini prikladnim i jednostavnim za upotrebu. A sekundarni cilj je da koristi hardver na to ekasniji nain. Ova dva cilja prikladnost i ekasnost su esto meusobno suprotstavljena.U prolosti se vea panja poklanjala ekasnosti negoli prikladnosti i komforu samog koritenja raunara, da bi se kasnije poelo vie panje poklanjati samom korisniku raunara.

70.Pojam datoteke
Potreba za dijeeljenjem programa i podataka implicira potrebu za trajnim skladitenjem podataka sa mogunou brzog pristupa. To omoguavaju masovni memorijski ureaji (sekundarne memorije), bazirani uglavnom na magnetnim ureajima. Podaci se na sekundarnim memorijama mogu organizovati koritenjem razliitih mehanizama. Sistem datoteka (lesystem) radi sa nestrukturiranim cjelinama i te cjeline ne interpretira. Sistem za upravljanje podacima (data management system) radi sa strukturiranim cjelinama, ali ih ne interpretira. Sistem za upravljanje bazama Datoteka (le) je za podataka (database management system) radi sa strukturiranim cjelinama koje interpretira.

korisnika kolekcija povezanih informacija, odnosno logika cjelina sa znaenjem, a za operativni sistem objekat koji se uva na sekundarnoj memoriji. Denisaemo datoteku kao organizovani skup podataka koji ima svoje ime i koji se prema odreenom prostornom rasporedu uva na sekundarnoj memoriji. Datoteku osim sadraja i imena opisuju i dodatni atributi, koji se uvaju u kontrolnom bloku datoteke. Kontrolni blok datoteke je najee direktorijumska struktura, ali se implementirati i kao zasebna tabela (na primjer, indeksni vor u second extended sistemu datoteka). U znaajnije atribute datoteka spadaju: tip datoteke, opis prostornog rasporeda blokova koji ine datoteku, tekua veliina datoteke, informacije o vlasnitvu i pravima pristupa, vrijeme i datum. Nad datotekama se mogu obavljati sljedee operacije: kreiranje datoteke, itanje podataka iz datoteke u memorijski bafer, upis podataka u datoteku, pozicioniranje unutar datoteke (le seek), brisanje datoteke, odsjecanje datoteke (truncate)

71.Oznaavanje datoteke
Svaka datoteka posjeduje ime koje bira korisnik. Poeljno je da ime datoteke ukazuje na njen konkretan sadraj, ali i na vrstu njenog sadraja (radi klasikacije datoteka po njihovom sadraju). Zato su imena datoteka dvodijelna, tako da prvi dio imena datoteke oznaava njen sadraj, a drugi dio oznaava vrstu njenog sadraja, odnosno njen tip. Ova dva dijela imena datoteke obino razdvaja taka. Tako, naprimjer:

godina1.txt

moe da predstavlja ime datoteke,

koja sadri podatke o studentima prve godine studija. Na to ukazuje prvi dio imena godina1, dok drugi dio imena txt ove datoteke govori da je datoteka tekstualna (da sadri samo vidljive ASCII znakove). Upravljanje datotekom

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


obuhvata ne samo upravljanje njenim sadrajem, nego i upravljanje njenim imenom. Tako, na primjer, stvaranje

datoteke podrazumijeva i zadavanje njenog sadraja, ali i zadavanje njenog imena (to se deavau toku editiranja, kompilacije, kopiranja i slino). Takoe, izmjena datoteke moe da obuhvati ne samo izmjenu njenog sadraja, nego i izmjenu njenog imena (to se deava, na primjer, u editiranju).

72.Organizacija datoteka
Datoteke se grupiu u skupove datoteka. Na primjer, prirodno je da datoteke sa podacima ostudentima pojedinih godina studija istog smjera pripadaju jednom skupu datoteka. Skupudatoteka pristaje naziv direktorijum (directory, folder), ako se prihvati gledite da skup datoteka sadri imena svih datoteka koje su obuhvaene pomenutim skupom. Radi razlikovanja direktorijuma, svaki od njih poseduje ime koje bira korisnik. Za direktorijume su dovoljna jednodjelna imena, jer nema potrebe za klasikacijom direktorijuma (pogotovo ne po njihovom sadraju). Tako, na primjer: smjer - moe da predstavlja ime direktorijuma, koji obuhvata datoteke sa podacima o studentima svihgodina studija istog smjera. Razvrstavanjem datoteka u direktorijume nastaje hijerarhijska organizacija datoteka, u kojoj su Ovakva hijerarhijska organizacija povlai za na viem nivou hijerarhije direktorijumi, a na niem nivou se nalaze datoteke, koje pripadaju pomenutim direktorijumima (odnosno,ija imena su sadrana u ovim direktorijumima). sobom i hijerarhijsko oznaavanje datoteka. primjer: Hijerarhijsku oznaku ili putanju ( path name) datoteke obrazuju ime

direktorijuma kome datoteka pripada i ime datoteke. Djelove putanje obino razdvaja znak /(ili znak \). Tako, na

smjer1/godina1.txt

predstavlja putanju datoteke, koja sadri podatke o studentima prve godine studija sa

prvog smjera.Hijerarhijska organizacija datoteka ima vie nivoa, kada jedan direktorijum obuhvata, pored datoteka, i druge direktorijume (odnosno sadri, pored imena datoteka, i imena drugih direktorijuma). Obuhvaeni direktorijumi se nalaze na niem nivou hijerarhije. Na primjer,direktorijum fakultet obuhvata direktorijume pojedinih smjerova. Na vrhu hijerarhijske organizacije datoteka se nalazi korijenski direktorijum (root).U sluaju vie nivoa u hijerarhijskoj organizaciji datoteka, putanju datoteke obrazuju imena direktorijuma sa svih nivoa hijerarhije (navedena u redoslijedu od najvieg nivoa na dole), kao i ime datoteke. Na primjer:

/fakultet/smjer1/godina1.txt

predstavlja putanju datoteke

godina1.txt, koja pripada direktorijumu smjer1. Ovaj direktorijum pripada direktorijumu fakultet, a on pripada korenskom direktorijumu (koji nema imena). Na prethodno opisani nain se obrazuje i putanja direktorijuma. Tako, na primjer:

/fakultet/smjer1

predstavlja putanju direktorijuma smjer1, koji pripada direktorijumu fakultet iz korijenskog

direktorijuma.

Hijerarhijska organizacija datoteka dozvoljava da postoje datoteke sa istim imenima(odnosno, da postoje direktorijumi sa istim imenima), pod uslovom da pripadaju raznim direktorijumima. Na primjer, na slici je prikazana hijerarhijska organizacija datoteka, u kojojse nalaze datoteke sa istim imenima i direktorijumi sa istim imenima.

73.Zatita datoteka
Fajlovi su namjenjeni za trajno uvanje podataka. Za uspjenu upotrebu podataka neophodna je zatita fajlova, koja obezbijeuje da podaci, sadrani u fajlu, nee biti izmjenjeni bez znanja i saglasnosti njihovog vlasnika, odnosno, koja obezbijeuje da podatke, sadrane u fajlu jednog korisnika, bez njegove dozvole drugi korisnici ne mogu da koriste. Podaci, sadrani u fajlu, ostaju neizmjenjeni, ako se onemogui pristup fajlu i radi pisanja (radi izmjene njegovog sadraja). Takoe, podaci, sadrani u datoteci, ne mogu biti koriteni, ako se onemogui pristup datoteci, radi itanja (radi preuzimanja njenog sadraja). Na ovaj nain uvedeno pravo pisanja i pravo itanja datoteke omoguuju da se za svakog korisnika jednostavno ustanovi koja vrsta upravljanja datotekom mu je dozvoljena, a koja ne. Tako, korisniku, koji ne poseduje pravo pisanja datoteke, nisu dozvoljena upravljanja datotekom, koja izazivaju izmjenu njenog sadraja.Ili, korisniku, koji ne poseduje pravo itanja datoteke, nisu dozvoljena upravljanja datotekom,koja zahtjevaju preuzimanje njenog sadraja.Za izvrne datoteke uskraivanje prava itanja je prestrogo, jer spreava ne samo neovlateno uzimanje tueg izvrnog programa, nego i njegovo izvravanje. Zato je uputno, radi izvrnih datoteka, uvesti posebno pravo izvravanja programa, sadranih u izvrnim datotekama.Zahvaljujui posjedovanju ovog prava, korisnik moe da pokrene izvravanje programa,sadranog u izvrnoj datoteci, i onda kada nema pravo njenog itanja.Pravo itanja, pravo pisanja i pravo izvravanja datoteke predstavljaju tri prava pristupa datotekama, na osnovu kojih se za svakog korisnika utvruje koje vrste upravljanja datotekom su mu doputene. Da se za svaku datoteku ne bi evidentirala prava pristupa za svakog korisika pojedinano, uputno je sve korisnike razvrstati u klase i za svaku od njih vezati pomenuta prava pristupa. Iskustvo pokazuje da su dovoljne tri klase korisnika. Jednoj pripada vlasnik datoteke,drugoj njegovi saradnici, a treoj ostali korisnici. Nakon razvrstavanja korisnika u tri klase, evidentiranje prava pristupa datotekama omoguuje matrica zatite (protection matrix) koja ima tri kolone (po jedna za svaku klasu korisnika) i onoliko redova koliko ima datoteka. U presjeku svakog reda i svake kolone matrice zatite navode se prava

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


pristupa datoteci iz datog reda zakorisnike koji pripadaju klasi iz date kolone.

U primjeru matrice zatite sa slike vlasnik (owner) datoteke le1 ima sva prava pristupa, njegovi saradnici (group) nemaju pravo pisanja, a ostali korisnici (other) imaju samo pravo izvravanja (pretpostavka je da je rije o izvrnoj datoteci). Ima smisla uskratiti i vlasniku neka prava, na primjer, da ne bi nehotice izmjenio sadraj datoteke le2, ili da ne bi pokuao da izvri datoteku koja nije izvrna (le3). Primijetimo i malu neloginost za le4.Za uspjeh izloenog koncepta zatite datoteka neophodno je onemoguiti neovlateno mjenjanje matrice zatite. Jedino vlasnik datoteke smije da zadaje i mijenja prava pristupa (sebi,svojim saradnicima i ostalim korisnicima). Zato je potrebno znati za svaku datoteku ko je njen vlasnik. Takoe, potrebno je i razlikovanje korisnika, da bi se meu njima mogao prepoznati vlasnik datoteke. To se postie tako to svoju aktivnost svaki korisnik zapoinje svojim predstavljanjem. U toku predstavljanja korisnik predoava svoje ime (username) i navodi dokaz da je on osoba za koju se predstavlja, za ta je, najee, dovoljna lozinka (pasword). Predoeno ime i navedena lozinka se porede sa spiskom imena i (za njih vezanih) lozinki registrovanih korisnika. Predstavljanje je uspjeno, ako se u spisku imena i lozinki registrovanih korisnika pronau predoeno ime i navedena lozinka

74. Pojam procesa


Za pojam procesa su vezani pojmovi aktivnost(izvrenje), slika i atributi.

Aktivnost procesa odgovara angaovanju procesora na izvravanju korisnikog programa, Slika procesa pokriva adresni prostor procesa sa naredbama izvrpavanog programa, stekom i podacima koji se obrauju u toku izvravanja programa, U atribute procesa spadaju stanje procesa i njegov prioritet. Atributi procesa se uvaju u deskriptoru procesa.

Stanja procesa su: aktivan(running), eka(blocked) i spreman(ready). Proces je aktivan kada procesor izvrava program. On eka kada nisu ispunjeni neophodni preduslovi za obradu podataka. Proces je spreman kada samo zauzetost procesora onemoguuje izvravanje programa. Od prioriteta procesa zavisi kada e spreman proces da postane aktivan. Podrazumijeva seda je aktivan uvek proces sa najviim prioritetom, jasno pod pretpostavkom da se razmatra jednoprocesorski raunar (sa jednim procesorom namjenjenim za izvravanje korisnikih programa). Ako postoji nekoliko procesa najvieg prioriteta, tada je interesantna ravnomjerna raspodjela procesorskog vremena izmeu aktivnog i spremnih procesa najvieg prioriteta. Ona se postie ako aktivni proces preputa procesor spremnom procesu najvieg prioriteta im istekne unaprijed odreeni vremenski interval, koji se naziva kvantum (quantum). Trenutke isticanja kvantuma oznaavaju prekidi sata. Obrada prekida sata izaziva prevoenje aktivnog procesa u stanje spreman i prekljuivanje procesora na onaj od ostalih spremnih procesa najvieg prioriteta koji je najdue u stanju spreman. Procesi omoguuju bolje iskorienje raunara (procesora) i njegovu bru reakciju na deavanje vanjskih dogaaja. Istovremeno postojanje vie procesa omoguuje da se procesor prekljui sa aktivnog procesa na spreman proces im aktivni proces pree u stanje eka. Na taj nain procesor ostaje iskoriten dok god ima spremnih procesa.Bru reakciju na deavanje vanjskih dogaaja omoguuje proces najvieg prioriteta. Dok ovakav hitni proces eka da se desi spoljnji dogaaj, aktivan je neki drugi manje prioritetan proces. Kada se desi spoljnji dogaaj, obrada odgovarajueg prekida prevodi hitni proces iz stanja eka u stanje spreman. To dovodi do prekljuivanja procesora sa prekinutog procesa na hitni proces. Hitni proces u toku svoje aktivnosti odreaguje na deavanje vanjskog dogaaja. Nakon toga on preputa procesor prekinutom procesu, jer se vraa u stanje eka dok se ne desi novi vanjski dogaaj, jasno, ako se u meuvremenu nisu desili novi vanjski dogaaji.

75.Struktura operativnog sistema


Unutranji izgled ili struktura operativnog sistema se moe lake sagledati ako se zauzme stanovite da je zadatak operativnog sistema da upravlja zikim i logikim dijelovima raunara. Poto ziki dijelovi raunara obuhvataju procesor, kontrolere i radnu memoriju, a logiki dijelovi raunara obuhvataju fajlove i procese, slijedi da se operativni sistem moe ralaniti na module namijenjene upravljanju:

procesorom kontrolerima I/O radnom memorijom fajlovima i

Nusmir Meki, Danan Kuljugi, Mujo Taletovi

procesima

Zadatak modula za upravljanje procesorom je prekljuenje procesora sa jedne niti na drugu. Pri tome ove niti mogu pripadati istom procesu, ali takoer i razliitim procesima. Sa stanovita modula za upravljanje procesorom kljuna razlika izmeu niti koje pripadaju istom procesu i niti koje pripadaju razliitim procesima je da su prve niti u adresnom prostoru istog procesa, dok su druge niti u adresnim prostorima raznih procesa. Zadatak modula za upravljanje kontrolerima je da upravlja raznim ulaznim i izlaznim ureajima koji su prikaeni za kontrolere. U ovakve ulazno-izlazne ureaje spadaju tastatura, mi, monitor, tampa, odnosno ureaji masovne memorije kao to su diskovi, diskete, CD/DVD-ROM-ovi i td. Modul za upravljanje kontrolerima ostvaruje svoj zadatak tako to uvodi (drajverske)operacije ulaza i izlaza. Pozivi ovih operacija dovode do prenosa podataka na relaciji izmeu radne memorije i ulazno/izlaznih ureaja. U okviru ovih operacija se zaustavlja aktivnost niti za iji raun se operacije obavljaju ako, zbog sporosti ulazno/izlaznog ureaja, nije mogue odmah obaviti zatraeni ulaz ili izlaz. Tada se poziva operacija prekljuivanja. Zadatak modula za upravljanje radnom memorijom je da vodi evidenciju o slobodnoj radnoj memoriji radi zauzimanja zona slobodne radne memorije, odnosno radi oslobaanja prethodno zauzetih zona slobodne memorije. Modul za upravljanje radnom memorijom ostvaruje svoj zadatak tako to uvodi operacije zauzimanja i oslobaanja. Pozivi tih operacija dovode do zauzimanja i oslobaanja zona radne memorije. Zadatak modula za upravljanje fajlovima je da omogui otvaranje i zatvaranje fajlova, odnosno itanje i pisanje njihovog sadraja. To znai da se iz modula za upravljanje fajlovima pozivaju operacije ulaza i izlaza, operacija zauzimanja. Modul za upravljanje fajlovima da bi ostvario svoje zadatke takoer uvodi i operacije otvaranja, zatvaranja, itanja i pisanja. Zadatak modula za upravljanje procesima je da omogui stvaranje i unitavanje procesa, kao i stvaranje i unitavanje njihovih niti. Na taj nain postaje mogue da istovremeno postoji vie procesa (vieprocesni reim rada,

ssing ), odnosno vie niti (multithreading ), a to je preduslov za:



za bolje iskoritenje procesora, za istovremenu podrku veeg broja korisnika ( za bru reakciju raunara na vanjske dogaaje.

multiproce-

multiuser environment )

76. Podjela operativnih sistema prema strukturi


Operativne sisteme prema strukturi moemo podijeliti na: a)Slojeviti operativni sistemi Moduli operativnog sistema formiraju hijerarhiju, sastavljenu od 5 slojeva. Svaki od slojeva je predodreen da sadri jedan od modula operativnog sistema. Raspodjelu modula po slojevima diktira pravilo koje nalae da se iz svakog sloja pozivaju samo operacije uvedene u niim slojevima hijerarhije. Primjena pomenutog pravila dovodi do smjetanja modula za upravljanje procesima u sloj na vrhu hijerarhije. U prvi nii sloj dospijeeva modul za upravljanje fajlovima, dok je sljedei nii sloj namjenjen modulu za upravljanje radnom memorijom. Predposlednji sloj hijerarhije sadri modul za upravljanje I/O kontrolerima, a u poslednjem sloju nalazi se modul za upravljanje procesorom. Na ovaj nain je obrazovan slojeviti operativni sistem, prikazan pomou sljedee slike:

Svrha predstavljanja operativnog sistema kao hijerarhije slojeva je motivisana eljom da se zadatak operativnog sistema ralani na vie jednostavnijih meusobno nezavisnih zadataka i zatim svaki od njih objasni zasebno. Sistemski pozivi zahtjevaju koritenje specinih asemblerskih naredbi i zbog toga se sakrivaju unutar sistemskih potprograma. Neki od sistemskih potprograma, pored sistemskih poziva, sadre i specine obrade podataka, kao to je, na primjer, pretvaranje brojeva iz znakovnog u binarni oblik i obrnuto kod formatiranog ulaza ili izlaza. Svaki od sistemskih potprograma je namjenjen za pozivanje jedne od operacija operativnog sistema, namjenjenih korisnikom sloju. Ovakve operacije se nazivaju sistemske operacije, da bi se razlikovale od ostalih (internih) operacija operativnog sistema, namjenjenih samo za koritenje unutar operativnog sistema. Sistemski potprogrami obrazuju sistemsku biblioteku. Prema tome, pozivanje sistemskih operacija se svodi na pozivanje potprograma iz sistemske biblioteke. Zahvaljujui sistemskim potprogramima, odnosno sistemskoj biblioteci, operativni sistem predstavlja dio korisnikog programa, iako nije za njega direktno linkovan. Zato se moe smatrati da obavljanje sistemskih operacija predstavlja sastavni deo izvravanja korisnikog programa, odnosno pripada aktivnosti procesa, vezanog za ovo izvravanje.

Nusmir Meki, Danan Kuljugi, Mujo Taletovi


b)Monolitski sistemi Iako je raslojavanje operativnog sistema u hijerarhiju slojeva mogue uspjeno primjeniti i prilikom pravljenja operativnog sistema, u praksi se uglavnom sreumonolitni(monolithic) operativni sistemi. Monolitni operativni sistemi nemaju pravilnu strukturu kao slojeviti operativni sistemi, jer se sastoje od modula ija saradnja nije ograniena pravilima kao kod slojevitih operativnih sistema. To znai da se iz svakog od modula monolitnih operativnih sistema mogu slobodno pozivati operacije svih ostalih modula. Ovo je dosad najvie koritena organizacija i moe se sa punim pravom nazvati Velika zbrka. Struktura je takva da uopte nema strukture. Operativni sistem je napisan kao skup procedura, od kojih svaka moe pozvati bilo koju drugu proceduru kad god joj zatreba. to se tie sakrivanja informacija, to ovde uopte ne postoji, tj. svaka procedura je vidljiva u odnosu na bilo koju drugu proceduru, za razliku od strukture koja sadri module ili pakete, u kojoj je veina informacija sakrivena unutar modula, tako da se samo u odreenim takama mogu pozvati van modula. ak je i u monolitskim sistemima mogue postii malo strukturnosti: 1. glavni program koji poziva zahtjevanu uslunu proceduru 2. skup uslunih procedura koje izvravaju pozive sistema 3. skup korisniki procedura koje pomau uslunim procedurama U ovom modelu, za svaki poziv sistema postoji jedna usluna procedura koja odrauje taj poziv. Korisnike procedure rade stvari koje su potrebne nekolicini uslunih procedura, kao to je uzimanje podataka iz korisnikih programa i slino. c)Virtuelne maine Ovaj sistem se razvio iz potrebe mnogih korisnika prvih operativnih sistema, prijee svega OS/360, sa vremenskim multipleksiranjem. Prvi ocijelni IBM-ov operativni sistem koji je podravao vremensko multipleksiranje bio je TSS/360. Ovaj sistem je bio previe velik i spor, a kasnije je naputen jer se pokazalo da je za njegov razvoj utroena prevelika svota novca. Meutim, grupa u IBM-ovom naunom centru u Kembridu kasnije razvija drugaiji operativni sistem, koji je vrlo brzo prihvaen i koji se i danas koristi u preostalim mainframe-ovima (prve maine koje koriste tranzistore umjesto vakuumskih cevi).Ovaj sistem, prvo nazvan CP/CMS a kasnije preimenovan u VM/370, je zasnovan na zapaanju da sistem sa vremenskim multipleksiranjem obezbijeuje: (1) multiprogramiranje i (2) proirenu mainu sa pogodnijim interfejsom od samog hardvera. Sutina VM/370 je da potpuno razdvoji ove dvijee funkcije. Srce sistema, poznato kao monitor virtuelne maine, radi na istom hardveru i obavlja multipleksiranje, obezbijeujui ne jednu, ve nekoliko virtuelnih maina na sljedeem, viem nivou. Za razliku od drugih operativnih sistema ove virtuelne maine nisu proirene maine, sa fajlovima i ostalim apstrakcijama, ve predstavljaju iste kopije hardvera, ukljuuju i kernel/korisniki mod, I/O, interrupt-e i sve to ima realna maina. Danas se ideja virtuelne maine puno koristi i to u razliitim kontekstima. Moda najea upotreba je izvravanje MS-DOS programa na Pentium-ima. Poto su uvidjeli potrebu korisnika za upotrebom starog sofvera na novom hardveru, dizajneri softvera za Pentium su obezbijedili virtuelni 8086 mod na Pentium-u. U tom modu se maina ponaa kao 8086, ukljuujui 16-bitno adresiranje i ogranienje na 1 MB. Ovaj mod koriste Windows i drugi operativni sistemi za izvravanje MS-DOS programa. Od drugih upotreba naglasiemo samo JAVA programe koji se izvravaju pomou virtuelnih maina. d)EXOKERNEL-i Kod VM/370 svaki korisniki proces je dobijao kopiju pravog kompjutera. Sa virtuelnim 8086 modom na Pentium-u svaki korisniki proces je dobijao kopiju razliitog kompjutera. Idui korak dalje, napravljen je sistem koji svakom korisniku daje kopiju kompjutera, ali ne sa svim resursima, ve samo sa jednim dijelom. Tako jedna virtuelna maina moe dobiti blokove diska od 0 do 1023, druga od 1024 do 2047, itd. U najniem sloju softvera je program zvani exokernel, koji se izvrava u kernel modu. Njegov zadatak je da alocira resurse za virtuelne maine i onda provjerava njihove pokuaje za koritenje tih resursa, da bi se uvjerio da nijedna maina ne pokuava da koristi resurs tue maine. Svaka virtuelna maina moe imati svoj operativni sistem kao kod VM/370, s tim to je ograniena na koritenje samo onog dijela resursa kojeg zahtjeva i koji je alociran za nju. e)Klijent-server Trend u modernim operativnim sistemima je premjetanje koda u vie nivoe, na taj nain ga otklanjajui iz kernel moda, ostavljajui minimalni mikrokernel. To se obino radi implementiranjem veeg dijela sistema u korisnike procese. Da bi dobio uslugu, korisniki proces (sad proces klijent) alje zahtjev procesu serveru, koji odrauje posao i vraa odgovor. U ovom modelu sve to kernel radi je komunikacija izmeu klijenta i servera.

You might also like