univerzitet u nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/racunarski... · 2020-03-18 ·...

239
Univerzitet u Nišu Elektronski fakultet Suzana Stojković, Natalija Stojanović, Dragan Stojanović Uvod u računarstvo Niš, 2014

Upload: others

Post on 13-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

Univerzitet u Nišu

Elektronski fakultet

Suzana Stojković, Natalija Stojanović, Dragan Stojanović

Uvod u računarstvo

Niš, 2014

Page 2: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 3: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

UVOD U RAČUNARSTVO

i

Sadržaj

1 UVOD 1

1.1 Preporuka čitaocima 1

1.2 Organizacija knjige 2

2 ISTORIJAT RAČUNARSTVA 5

3 BROJNI SISTEMI 13

3.1 Binarni, oktalni i heksadekadni brojni sistemi 14

3.2 Prevođenje brojeva između različitih brojnih sistema 15 3.2.1 Prevođenje brojeva iz brojnog sistema sa proizvoljnom osnovom u brojni

sistem osnove 10 15 3.2.2 Prevođenje brojeva iz dekadnog brojnog sistema u pozicioni brojni sistem sa

proizvoljnom osnovom 16 3.2.3 Prevođenje brojeva iz binarnog brojnog sistema u brojni sistem čija je osnova

stepen dvojke i obrnuto 18

3.3 Osnovne računske operacije u pozicionim brojnim sistemima 18

Pitanja i zadaci 21

4 PREDSTAVLJANJE PODATAKA U RAČUNARU 23

4.1 Predstavljanje numeričkih podataka u računaru 24 4.1.1 Predstavljanje celih neoznačenih brojeva 24 4.1.2 Predstavljanje celih označenih brojeva 25

4.1.2.1 Prosto označavanje celih brojeva 25 4.1.2.2 Nepotpuni komplement celih brojeva 27 4.1.2.3 Potpuni komplement celih brojeva 29 4.1.2.4 Predstavljanje celih brojeva sa pomerajem 31

4.1.3 Predstavljanje realnih brojeva 32 4.1.3.1 Predstavljanje realnih brojeva u formatu sa fiksnim zarezom 32 4.1.3.2 Predstavljanje realnih brojeva u formatu sa pokretnim zarezom 33

4.1.4 BCD kodovi 36

4.2 Predstavljanje znakovnih podataka u računaru 42 4.2.1 ASCII kod 42 4.2.2 EBCDIC kod 44 4.2.3 UNICODE 44

4.3 Predstavljanje zvuka u računaru 45

4.4 Predstavljanje slika u računaru 47

4.5 Predstavljanje video zapisa u računaru 49

Pitanja i zadaci 51

5 PREKIDAČKA ALGEBRA 53

5.1 Bulova algebra 53 5.1.1 Aksiome Bulove algebre 54 5.1.2 Teoreme Bulove algebre 55

5.2 Prekidačka algebra 57

Page 4: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

S A D R Ž A J

ii

Pitanja i zadaci 58

6 PREKIDAČKE FUNKCIJE 59

6.1 Načini predstavljanja prekidačkih funkcija 60 6.1.1 Predstavljanje prekidačkih funkcija tablicom istinitosti 60 6.1.2 Predstavljanje prekidačkih funkcija vektorom istinitosti 61 6.1.3 Predstavljanje prekidačkih funkcija skupovima decimalnih indeksa 61 6.1.4 Predstavljanje prekidačkih funkcija decimalnim indeksom funkcije 63

6.2 Bulove operacije 64

6.3 Predstavljanje prekidačkih funkcija analitičkim formama 66 6.3.1 Potpuna disjunktivna normalna forma 67 6.3.2 Potpuna konjuktivna normalna forma 68 6.3.3 Potpuna polinomna normalna forma 70 6.3.4 Kanonički polinom 71

Pitanja i zadaci 72

7 PREKIDAČKE MREŽE 73

7.1 Logička kola 74

7.2 Kombinacione prekidačke mreže 75 7.2.1 Analiza kombinacionih prekidačkih mreža 76 7.2.2 Sinteza kombinacionih prekidačkih mreža 77 7.2.3 Minimizacija prekidačkih funkcija 78

7.2.3.1 Minimizacija prekidačkih funkcija algebarskim metodama 80 7.2.3.2 Minimizacija prekidačkih funkcija pomoću Karnoovih mapa 82

7.2.4 Realizacija kombinacionih prekidačkih mreža u bazisu I, ILI, NE 89 7.2.5 Realizacija kombinacionih prekidačkih mreža u bazisima NI i NILI 92 7.2.6 Standardni kombinacioni moduli 94

7.2.6.1 Multiplekseri 95 7.2.6.2 Demultiplekseri 98 7.2.6.3 Koderi 100 7.2.6.4 Dekoderi 102 7.2.6.5 Konvertori kodova 104 7.2.6.6 Sabirači 105 7.2.6.7 Inkrementatori i dekrementatori 107 7.2.6.8 Komparatori 109

7.3 Sekvencijalne prekidačke mreže 109

7.4 Načini predstavljanja konačnih automata 112 7.4.1 Predstavljanje automata tablicama prelaza i izlaza 112 7.4.2 Predstavljanje konačnih automata pomoću grafova 113 7.4.3 Predstavljanje konačnih automata pomoću matrica 114 7.4.4 Predstavljanje konačnih automata pomoću prekidačkih funkcija 116 7.4.5 Memorijski elementi 119

7.4.5.1 Osobine i zakoni funkcionisanja flip-flopova 119 7.4.6 Standardni sekvencijalni moduli 121

7.4.6.1 Registar sa paralelenim upisom i čitanjem 122 7.4.6.2 Registar sa serijskim upisom i čitanjem 122 7.4.6.3 Brojački registri 123

Pitanja i zadaci 125

Page 5: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

UVOD U RAČUNARSTVO

iii

8 ARHITEKTURA RAČUNARA 129

8.1 Centralni procesor 130 8.1.1 Aritmetičko-logička jedinica 131 8.1.2 Kontrolna jedinica 132

8.2 Memorije 132 8.2.1 Glavna memorija 133 8.2.2 Sekundarne memorije 134

8.2.2.1 Hard disk 134 8.2.2.2 USB fleš disk 136 8.2.2.3 Optički diskovi 137

8.2.3 Keš memorija 139

8.3 Ekspanzioni slotovi i kartice 140

8.4 Portovi 141

8.5 Magistrale 142

8.6 Čipset 143

8.7 BIOS 143

Pitanja i zadaci 144

9 CENTRALNA PROCESORSKA JEDINICA 145

9.1 Organizacija procesora 146

9.2 Mašinsko programiranje 147 9.2.1 Adresnost računara 149 9.2.2 Naredbe procesora 150

9.2.2.1 Naredbe za prenos podataka 150 9.2.2.2 Aritmetičko-logičke naredbe 151 9.2.2.3 Naredbe za upravljanje tokom izvršenja programa 155 9.2.2.4 Ulazno-izlazne naredbe 155

9.3 Izvršenje programa i ciklus izvršenja naredbe 156

9.4 Načini adresiranja 158 9.4.1 Implicitno adresiranje 158 9.4.2 Neposredno adresiranje 158 9.4.3 Direktno memorijsko adresiranje 159 9.4.4 Direktno registarsko adresiranje 159 9.4.5 Indirektno memorijsko adresiranje 161 9.4.6 Indirektno registarsko adresiranje 162 9.4.7 Indeksno adresiranje 162 9.4.8 Bazno adresiranje 163 9.4.9 Programski relativno adresiranje 164

Pitanja i zadaci 165

10 ULAZNO/IZLAZNI UREĐAJI 167

10.1 Ulazni uređaji 170 10.1.1 Uređaji za ručno unošenje podataka 170 10.1.2 Uređaji za automatsko unošenje podataka 172

10.2 Izlazni uređaji 173 10.2.1 Monitori 174

Page 6: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

S A D R Ž A J

iv

10.2.2 Štampači 174

Pitanja i zadaci 176

11 SOFTVER RAČUNARA 177

11.1 Aplikativni softver 177

11.2 Sistemski softver 178

11.3 Operativni sistemi 180

11.4 Klasifikacija operativnih sistema 181

11.5 Funkcije operativnog sistema 182

11.6 Korisnički interfejs 183

11.7 Upravljanje procesima 184

11.8 Upravljanje memorijom 186

11.9 Upravljanje U/I uređajima 190

11.10 Upravljanje datotekama (File system) 190

11.11 Sigurnost i zaštita 192

Pitanja i zadaci 193

12 RAČUNARSKE MREŽE 195

12.1 Tipovi računarskih mreža 195

12.2 Komunikacioni medijumi i mrežni komunikacioni uređaji 197

12.3 LAN tehnologije 201

12.4 Prenos podataka kroz računarsku mrežu 202

12.5 ISO/OSI referentni model 203

Pitanja i zadaci 206

13 INTERNET I WEB 207

13.1 Internet protokoli 207

13.2 Protokoli višeg nivoa 211

13.3 Simboličke adrese i DNS 212

13.4 Broj porta 213

13.5 World Wide Web 214

13.6 Dinamičke Web strane 218

13.7 Standardizacija WWW 218

Pitanja i zadaci 220

14 RAČUNARSKA SIGURNOST 223

14.1 Pretnje računarskoj sigurnosti 223

14.2 Zaštita računara 226

14.3 Kriptovanje i digitalni potpis 227

Pitanja i zadaci 231

LITERATURA 233

Page 7: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 . U V O D

1

1 UVOD

Računarstvo (Computing, Computer Science) je disciplina u okviru koje se primenjuju

inženjerske i naučne metode i principi u dizajnu i razvoju hardvera i softvera računara. Da

biste postali stručnjaci u oblasti računarstva, nije dovoljno samo da poznajete neke od

pojedinačnih tema u računarstvu, ili da naučite kako da koristite neki od aktuelnih

softverskih alata i aplikacija. U cilju razumevanja i savladavanja fundamentalnih

inženjerskih i naučnih principa računarstva neophodno je detaljno razmotriti sve teme koje

čine računarstvo, kao i njihove međusobne veze i zavisnosti. Na primer, ne mogu se na

pravi način razumeti operativni sistemi i njihove funkcije, ako se ne poznaje arhitektura i

organizacija hardvera računara; ne može se biti stručnjak u oblasti Interneta i Web-a ako se

ne poznaju tehnologije i principi funkcionisanja računarskih mreža i slično.

Ova knjiga je napisana sa ciljem da obezbedi osnovu za izučavanje računarstva i

informatike. Ona predstavlja sveobuhvatni uvod u osnovne teme koje čine računarstvo,

počev od binarnog predstavljanja podataka u računaru i osnova prekidačke algebre, preko

manipulacije tim podacima kroz logička kola, kao gradivnih elemenata svih komponenti

računara (procesora, memorije, kontrolera, itd.), do operativnih sistema koji upravljaju

ovim komponentama, računarskih mreža i Interneta.

1.1 Preporuka čitaocima

Knjiga je namenjena studentima elektronskih i elektrotehničkih fakulteta, tehničkih

fakulteta, prirodno-matematičkih fakulteta, kao i i ostalih srodnih fakulteta kao udžbenik za

uvodni kurs iz oblasti računarstva i informatike. Mnogi od studenata ovih fakulteta

započinju svoje studije smatrajući da se računarstvo i informatika svode samo na Web

programiranje i korišćenje gotovih softverskih alata/aplikacija, jer to je ono sa čime se

najčešće sreću u predmetima iz oblasti računarstva i informatike u osnovnim i srednjim

školama. Ali, računarstvo i informatika predstavljaju daleko više, počev od osnovnih

principa, metoda i tehnologija za predstavljanje podataka, njihovo upravljanje i obradu, do

koncepata veštačke intelgencije, mobilnog računarstva i realistične 3D animacije.

Studentima računarstva i informatike ovaj udžbenik obezbeđuje dobru osnovu i

detaljan pregled osnovnih tema računarstva i informatike. Time ih priprema za nastavak

studiranja i stručne predmete iz oblasti računarstva i informatike na višim godinama

akademskih i master studija. Studentima drugih studijskih programa elektronskih i

elektrotehničkih fakulteta, kao i drugih tehničkih i prirodno-matematičkih fakulteta pruža

širok uvid u oblast računarstva i informatike kao i razumevanje osnovnih metoda,

Page 8: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

2

tehnologija i principa ove sve aktuelnije naučne i inženjerske discipline koja veoma

značajno utiče na sve aspekte ljudskog društva.

Udžbenik ovog tipa je široko prisutan kao podrška uvodnom kursu iz računarstva i

informatike koji se na međunardnim univerzitetima, posebno u USA, označava kao CS0.

Napisan je u skladu sa preporukama „Computing Curricula 2005“, kao i „Computer

Science Curriculum 2008“ i „Computer Science Curricula 2013”, koje zajedno razvijaju i

konstantno unapređuju globalne organizacije u oblasti računarstva i informatike,

Association of Computing Machinery (ACM)1 i IEEE Computer Society

2.

1.2 Organizacija knjige

U predstavljanju osnovnih koncepata i principa računarstva i informatike sadržaj ove

knige je organizovan po principu „od dna ka vrhu“ (eng. bottom-up). Po ovom redosledu

najpre je dato upoznavanja različitih brojnih sistema, osnove 2, 8 i 16, kao i načini

predstavljanja podataka u računaru u binarnom obliku: numeričkih, znakovnih

(alfanumeričkih) i složenih tipova podataka (slika, zvuk, multimedija). Svako poglavlje se

zasniva na konceptima prezentovanim u prethodnom poglavlju sve do predstavljanja

principa i tehnologija Intereneta i Weba i neophodnosti zaštite i obezbeđenja sigurnosti

računarskog sistema i informacija koje ovaj sistem skladišti, obrađuje i prenosi

računarskom mrežom. Udžbenik je podeljen u sledeća poglavlja:

1. Uvod

2. Istorijat računarstva

3. Brojni sistemi

4. Predstavljanje podataka u računaru

5. Prekidačka algebra

6. Prekidačke funkcije

7. Prekidačke mreže

8. Arhitektura računara

9. Centralna procesorska jedinica

10. Ulazno-izlazni uredjaji

11. Softver računara

12. Računarske mreže

13. Internet i Web

14. Računarska sigurnost

U poglavlju 2 daje se pregled istorije računarstva, od prvobitnih računskih mašina, prvih

elektro-mehaničkih i električnih računara, do današnjih savremenih računara. Uz pregled

razvoja hardvera računara predstavljen je i razvoj operativnih sistema i softvera računara.

U poglavlju 3 definisani su pozicioni brojni sistemi i prikazani brojni sistemi osnove:

10, 2, 8, 16, kao i prevođenje brojeva iz zapisa u jednom u zapis u drugom brojnom

1http://www.acm.org/education/curricula-recommendations

2http://www.computer.org/portal/web/education/Curricula

Page 9: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 . U V O D

3

sistemu. Takođe je ilustrovano izvođenje osnovnih računarskih operacija u binarnom

brojnom sistemu, tzv. binarna aritmetika.

Poglavlje 4 se bavi načinima predstavljanja podataka različitih tipova u računarskim

sistemima. U početku su računari služili samo za obradu numeričkih podataka, dok danas,

osim numeričkih, računari obrađuju i takozvane multimedijalne podatke: tekst, slike, zvuk,

video zapise. S obzirom da računari „razumeju samo jezik nula i jedinica“, ovo poglavlje se

bavi načinom prevođenja podataka navedenih tipova u binarnu reprezentaciju.

U poglavlju 5 definiše se matematički aparat koji se koristi za obradu binarnih podataka

– prekidačka algebra.

Rad svakog digitalnog uređaja, pa i računara, opisuje se sistemom prekidačkih funkcija.

U poglavlju 6 je data definicija prekidačkih funkcija, kao i standardni načini za

predstavljanje prekidačkih funkcija.

Poglavlje 7 se bavi hardverskom realizacijom prekidačkih funkcija – tj. prekidačkim

mrežama. Generalno, prekidačke mreže mogu biti sekvencijalne i kombinacione. Deo koji

se bavi kombinacionim prekidačkim mrežama je organizovano tako da da se prvo upoznaju

logička kola – jednostavne kombinacione prekidačke mreže koje realizuju prekidačke

funkcije jedne i dve promenljive; zatim je obrađeno projektovanje složenijih mreža i na

kraju se čitaoci upoznaju sa standardnim kombinacionim modulima (multiplekserima,

demultiplekserima, sabiračima, komparatorima...) koji su sastavni delovi svakog

računarskog sistema. U delu o sekvencijalnim mrežama pažnja je najpre posvećena

načinima predstavljanja sekvencijalnih mreža, zatim memorijskim elementima koji sa

logičkim kolima čine gradivne elemente sekvencijalnih prekidačkih mreža i na kraju

standardnim sekvencijalnim modulima (različitim vrstama registara) koji se pojavljuju u

strukturi računara.

U poglavlju 8 je opisana Von Neumann-ova arhitektura računara koja predstavlja

osnovu za dizajn savremenih računara. Predstavljene su osnovne komponente računara:

centralno-procesorka jedinica, memorijska jedinica, ulazna jedinica i izlazna jedinica.

Opisana je uloga i princip rada centralnog procesora, memorijske jedinice (glavna

memorija, sekundarne memorije i keš memorija), ekpanzionih katrica, magistrala, portova...

U poglavlju 9 predstavljena je detaljna organizacija centralnog procesora, njegovi

gradivni elementi i putevi komunikacije, koji omogućavaju da se izvršavaju instrukcije

pribavljene iz glavne memorije. Grupa instrukcija procesora čini mašinski jezik računara.

Posebna pažnja u ovom poglavlju je posvećena formatu mašinske instrukcije, kao i

vrstama mašinskih instrukcija procesora. Opisan je i ciklus tj. faze u izvršenju kroz koje

prolazi svaka instrukcija, kao i mogući načini formiranja adrese operanda nad kojim se

obavlja zadata instrukcija.

U poglavlju 10 predstavljani su ulazno-izlazni uređaji računara koji obavljaju razmenu

podataka sa spoljnim okruženjem. Opisani su i detaljno objašnjeni načini izvođenja ulazno-

izlazne aktivnosti. Data je podela i opisan princip rada najvažnijih ulaznih i izlaznih

uređaja.

U poglavlju 11 prikazana je klasifikacija softvera računara, koji čine aplikativni i

sistemski softver. Osnovu sistemskog softvera predstavlja operativni sistem, čijim

funkcijama i karakteristikama je posvećen ostatak poglavlja.

U poglavlju 12 predstavljene su računarske mreže i opisani principi komunikacije

između računara zasnovane na komunikacionim uređajima korišćenjem skupa protokola.

Page 10: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

4

U poglavlju 13 prikazan je World Wide Web (Web) kao aplikacija/servis Interneta koji

omogućava pristup udaljenim resursima koji čine hipertekstualni i hipermedijalni

dokumenti, datoteke različitog formata, datoteke sa programskim kodom, itd.

Poglavlje 14 predstavlja rizike kojima se narušava sigurnost računara, opisuje mere

zaštite računara, kao i metode i tehnike zaštite zasnovane na kriptovanju.

Na kraju svakog poglavlja nalazi se skup pitanja i zadataka koji su namenjeni da

studenti provere svoje znanje i tako se pripreme za polaganje ispita, kao i da kreativno

razmišljaju o problematici koja je u poglavlju izneta.

Page 11: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

2 . I S T O R I J A T R A Č U N A R S T V A

5

2 ISTORIJAT RAČUNARSTVA

Današnji računari, na koje smo sve više upućeni u poslovnim, zabavnim i slobodnim

aktivnostima, imaju dugu i bogatu istoriju. Jedan od najranijih računarskih uređaja je bio

abakus. Njegov nastanak i upotreba su bili vezani za stare civilizacije Egipta, antičke Grčke

i starog Rima. Uređaj je bio krajnje jednostavan i podsećao je na današnju računaljku,

sastavljen od perli nanizanih na štapiće i uokvirenih pravouganim okvirom (Slika 2.1).

Pomeranjem perli u jednom i drugom pravcu duž šipki i njihovim položajem određivane su

sačuvane vrednosti, ili predstavljane vrednosti dobijene izračunavanjem. Dakle, pozicijama

perli ovaj „računar“ je predstavljao i čuvao brojne vrednosti.

Slika 2.1 Abakus (Computer History Museum-Mountain View, California, USA3)

Kasnije, počev od 17. veka, dizajn računskih mašina je bio zasnovan na tehnologiji

točkića i zupčanika. Među značajnim pronalazačima toga vremena izdavajaju se Blaise

Pascal (1623-1662) u Francuskoj, Gootfried Wilhelm Leibniz (1646-1716) u Nemačkoj i

Charles Babbage (1792-1871) u Engleskoj.

Slika 2.2 Pascal-ova mašina - Pascaline (Computer History Museum)

3http://www.computerhistory.org/

Page 12: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

6

Ove mašine su predstavljale numeričke podatke preko položaja zupčanika pri čemu su

ulazni podaci bili definisani početnim položajem zupčanika. Izlazne vrednosti iz Pascal-ove

(Slika 2.2) i Leibniz-ove (Slika 2.3) mašine su bile određene konačnim pozicijama

zupčanika na sličan način kako se određuje vrednost pređenog puta u automobilima.

Babbage je u svojim nacrtima predvideo mašine koje bi štampale rezultat na papiru tako da

bi time bila eliminisana mogućnost greške usled pogrešnog tumačenja rezultata. Takođe se

može primetiti i napredak u fleksibilnosti ovih računskih mašina. Pascal-ova mašina je bila

predviđena da obavlja samo operaciju sabiranja, tako da je odgovarajući skup koraka za

obavljanje sabiranja bio ugrađen u strukturu same mašine. I Leibniz-ova mašina je imala

ugrađene algoritme za obavljanje osnovnih računskih operacija: sabiranja, oduzimanja

množenja i deljenja, koje su mogle biti izabrane od strane operatera.

Slika 2.3 Leibnitz-ova mašina (Computer History Museum)

Babbage je u svojim istraživanjima pokušao da prevaziđe ova ograničenja pa je 1822.

godine započeo projektovanje Diferencijalne mašine koja bi mogla biti modifikovana da

obavlja različite operacije. Međutim uspeo je da konstruiše samo njen demonstracioni

model (Slika 2.4). Kompletna Diferencijalna mašina je konstruisana tek u periodu 1989–

1991. godine u Londonu u skladu sa Babbage-ovim originalnim nacrtima. Njegova

Analitička mašina, za čiju konstrukciju nije dobio neophodna finansijska sredstva, bila je

projektovana da čita instrukcije sa rupica u papirnim karticama. Na taj način je Analitička

mašina bila programabilna. Augusta Ada Byron, prijateljica Charlesa Babbage-a, bila je

veoma zainteresovana za njegov rad na ovim računskim mašinama. Godine 1843.

publikovala je članak u kome je objasnila na koji način Analitička mašina može biti

programirana tako da izvršava različita izračunavanja. Uvela je pojam petlje i objasnila

kako se ona može izvršavati na Analitičkoj mašini. Ovim je zaslužila epitet prvog

programera u svetu. Mnogo godina kasnije, sredinom prošlog veka, u njenu čast je jedan

programski jezik dobio ime po njoj – ADA.

Međutim, ideja o definisanju i zadavanju algoritama putem rupica na papiru nije

poticala od Babbage-a. On je ideju preuzeo od Joseph Jacard-a (1752-1834) koji je, 1801.

godine, razvio razboj za tkanje u kome su koraci koji se izvode prilikom procesa tkanja bili

određeni šablonima rupica na papirnim karticama. Na taj način je algoritam koji upravlja

radom razboja mogao biti lako zamenjen drugim da bi se proizveo različit dizajn u tkanju.

Page 13: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

2 . I S T O R I J A T R A Č U N A R S T V A

7

Slika 2.4 a) Babbage-ova Diferencijalna mašina b) Generalni plan Analitičke mašine

(Computer History Museum)

Drugi korisnik Jacard-ove ideje je bio Herman Holerith (1860-1929) koji je primenio

koncept predstavljanja podataka u vidu rupica u papirnim karticama da bi ubrzao tabelarna

izračunavanja u popisu SAD 1890. godine (Slika 2.5). Ovaj Holerith-ov izum je kasnije

omogućio formiranje kompanije IBM (International Business Machines), jedne od najvećih

računarskih kompanija današnjice. Papirne kartice su bile poznate i kao bušene kartice i kao

takve su se zadržale kao osnovno sredstvo komunikacije sa računarima sve do 1970-ih

godina.

Slika 2.5 Holerith-ova mašina za obradu popisa (Computer History Museum)

Tehnologija tog vremena nije bila u mogućnosti da proizvede kompleksne, zupčanicima

pokretane mašine Pascal-a, Leibnitz-a i Babbage-a, kako zbog finansijskih razloga, tako i

zbog nemogućnosti proizvodnje sitnih mehaničkh delova koji su činili srž ovih mašina.

Posle neuspelih pokušaja Babbage-a, razvoj računarstva i digitalnih računara je veoma

Page 14: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

8

malo napredovao sve do Drugog svetskog rata koji je pokrenuo mnoge aktivnosti na tom

polju.

Sa napretkom elektronike, početkom XX veka, ova barijera je prevaziđena i u periodu

1940-1955 nastala je prva generacija računarstva. Primeri razvoja i napretka

elektromehaničkih računarskih mašina bile su mašine George Stibitz-a, koja je završena

1940. godine u Bell Laboratorijama i Mark I razvijen 1944. godine na Univerzitetu

Harvard, od strane Howard Aiken-a i grupe IBM inženjera (Slika 2.6)

Slika 2.6 Mark I računar (Computer History Museum)

Ove računarske mašine su bile zasnovane na korišćenju elektronski kontrolisanih

mehaničkih releja. Samim tim su, na neki način, bile zastarele čim su proizvedene, budući

da su ostali istraživači tog vremena već počeli sa primenom tehnologije vakuumskih cevi

radi konstruisanja potpuno elektronskih računara. Prva takva mašina je bila Atanasoff-

Berry računar konstruisan u periodu od 1937. do 1941. godine na Iowa State koledžu

(danas Iowa State univerzitetu) od strane John Atanasoff-a i njegovog asistenta Cliford

Berry-a. U isto vreme Konrad Zuse u Berlinu je korišćenjem releja konstruisao računar Z3. Godine 1944. je u Engleskoj konstruisan računar Colossus pod vođstvom Tommy Flowers-

a u cilju dekodiranja nemačkih šifrovanih poruka tokom poslednjih meseci Drugog

svetskog rata. U tom periodu su nastale i druge, mnogo fleksibilnije mašine, poput ENIAC-

a (Electronic Numerical Integrator And Calculator) razvijenog od strane John Mauchly i

John Presper Eckert na Moore School of Electrical Engineering, Univerziteta Pensilvanija u

periodu od 1943. do 1945. godine (Slika 2.7).

ENIAC predstavlja prvi digitalni elektronski računar napravljen u svrhu izračunavanja

kompleksnih balističkih tabela za američku vojsku. Ovaj računar je takođe bilo moguće

programirati u cilju rešavanja zadataka opšte namene. Zahvaljujući elektronskim

tehnologijama zasnovanim na vakuumskim cevima postizao je do 1000 puta brža

izračunavanja od svog prethodnika, računara Mark I. Ubrzo su Maughly i Eckert zajedno sa

timom inženjera i naučnika među kojima je bio i John Von Neumann, izgradili računar

EDVAC (Electronis Discrete Variable Automatic Computer). Ovaj računar, koji je po

modelu rada odgovorao današnjim računarima, postao je poznat kao Von Neumman-ova

mašina, a sam princip rada, Von Neumann-ov. Njegov rad je bio upravljan programom

smeštenim u memoriju koji je mogao da modifikuje samog sebe tokom izvršavanja. Ovaj

računar je mogao biti programiran da obavlja različite funkcije. Program je bio smešten

zajedno sa podacima i mogao je više puta biti izvršavan nad različitim skupom podataka.

Početkom 50-tih godina prošlog veka ista grupa naučnika je učestvovala u razvoju računara

UNIVAC, kao prvog komercijalnog računara, koji je do sredine te decenije bio prodat u

Page 15: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

2 . I S T O R I J A T R A Č U N A R S T V A

9

devetnaest primeraka velikim kompanijama i organizacijama u SAD, poput popisnog biroa

i kompanije U.S Steel. Programski jezici i operativni sistem nisu bili poznati na ovim

računarima. Programiranje je obavljano primenom osnovnog mašinskog jezika i

povezivanjem hiljada kablova na odgovarajućoj ploči preko koje se obavljalo upravljanje

operacijama računara. Početkom 1950-ih razvijena je tehnologija bušenih kartica, pa se

program zapisivao u binarnom obliku bušenjem kartica i kao takav dostavljao računaru na

izvršavanje.

a) b)

Slika 2.7 a) ENIAC računar (Computer History Museum) b) ENIAC na čipu konstruisan

povodom 50-to godišnjice nastanka

Drugu generaciju računarstva (1955-1965) omogućio je napredak elektronskih

tehnologija, pre svega pronalazak tranzistora. Generacije velikih (mainframe) računara su

se brzo smenjivale unapređene primenom ovih tehnologija. Računari druge generacije su

obično bili smešteni u specijalnim, rashlađenim prostorijama i njima su upravljali

profesionalni operateri. Magnetne trake su počele da zamenjuju bušene kartice kao uređaji

za trajno čuvanje podataka i programa. Magnetna jezgra, mali točkasti magneti koji su

mogli biti polarizovani u jednom od dva smera za reprezentovanje podataka, povezani

žicom postali su primarna tehnologija za konstruisanje glavne memorije i za interno

smeštanje podataka i programa. Izlaz izvršenja programa generisan je korišćenjem

štampača. Programi su razvijani korišćenjem asemblerskih jezika, a pojavili su se i prvi

programski jezici višeg nivoa, poput Fortran-a i COBOL-a. Tipični operativni sistemi tog

vremena su bili FMS (eng. Fortran Monitor System) i IBSYS, IBM-ov operativni system za

računar 7094. Najmoćnija kompanija tog vremena u proizvodnji i prodaji mainframe

računara postao je IBM, poznat još i kao “Big Blue”, koji je 1960-ih godina kontrolisao

preko 70% računarskog tržišta. Značajni računari tog vremena su bili IBM 1401 i 7094.

Sa razvojem integrisanih kola (LSI), računari su postajali sve manjih dimenzija i sve

boljih performansi. Ovo je označilo početak treće generacije računarstva (1965-1980).

Period tokom 70-ih godina prošlog veka karakteriše pojava VLSI (eng. Very Large Scale

Page 16: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

10

Integration) računarskih komponenti i početak važenja tzv. Moore-ovog zakona. Gordon E.

Moore, jedan od osnivača kompanije Intel, u svom radu iz 1965. godine predvideo je

dupliranje tranzistora (logičkih kola) na integrisanom kolu svakih 18 meseci. Važnost ovog

“zakona” zadržala se do današnjih dana. Karakteristike mnogih digitalnih elektronskih

uređaja takođe su povezane sa Moore-ovim zakonom, poput: brzine procesora, kapaciteta

memorije, ili broja i veličine piksela na digitalnim kamerama. Umesto magnetnih jezgara

počele su da se proizvode MOS (eng. Metal Oxide Semiconductor) memorije koje su bile

napravljene korišćenjem tehnologija integrisanih kola. Jedan od najznačajnijih računara u to

vreme je bio IBM System/360 (Slika 2.8). System/360 je predstavljao u stvari seriju

softverski kompatibilnih računara, koji su se razlikovali po ceni i performansama,

namenjenih i za naučnu i komercijalnu upotrebu. Operativni sistem System/360 računara

bio je OS/360.

Slika 2.8 IBM System/360 računar

Ovaj i slični operativni sistemi računara treće generacije uveli su koncept

multiprogramiranja kojim je omogućeno da se više programa (kvazi-)paraleleno izvršava na

računaru. Drugi značajan koncept tog vremena je i podela vremena (eng. time sharing)

zasnovana na multiprogramiraju, gde su korisnici korišćenjem terminala, putem tastature

istovremeno zadavali komande računaru, izvršavali svoje programe i analizirali njihove

rezultate na monitoru. Značajni multiprogramski, timesharing operativni sistemi tog

vremena bili su CTSS (eng. Compatible Time Sharing System) i MULTICS (eng.

MULTiplexed Information and Computing Service), razvijen od strane MIT univerziteta i

kompanija Bell Labs i General Electric.

Napredak u proizvodnji integrisanih kola doveo je do razvoja miniračunara i pojave

kompanija Digital Equipment Corporation (DEC) sa svojim PDP i VAX računarima (poput

PDP7 i PDP-11), kao i kompanije Data General sa Nova računarima. Unapređenje

MULTICS-a i njegovo prilagođenje za miniračunare omogućilo je razvoj UNIX

operativnog sistema. Razvijaju se strukturni programski jezici treće generacije, poput C i

Basic-a. Uporedo sa razvojem skupih mainframe i miniračunara za poslovnu i istraživačku

upotrebu nastala je i ideja od strane računarskih hobista o konstruisanju malih računara u

Page 17: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

2 . I S T O R I J A T R A Č U N A R S T V A

11

“kućnim” uslovima. Tako su i dva računarska entuzijasta, Steve Jobs i Stephene Wozniak

konstruisali jedan od prvih komercijalno raspoloživih kućnih računara i 1976. godine

osnovali kompaniju Apple Computer Inc za proizvodnju i prodaju ovih računara, Apple I i

Apple II (Slika 2.9a). Ostale kompanije toga vremena, koje su proizvodile i prodavale

slične male računare, bile su MITS, Commodore, Heathkit i Radio Shack. To je označilo

početak ere mikroračunara. Iako su ovi proizvodi bili veoma popularni među računarskim

hobistima, ipak nisu bili prihvaćeni od strane poslovnih krugova u kojima se poslovanje

zasnivalo u sve većoj meri na računarskim proizvodima kompanije IBM, kao najmoćnije

računarske kompanije tog vremena.

a) b)

Slika 2.9 a) Apple II računar b) IBM PC (Computer History Museum)

Međutim sve je bilo spremno za novi trend i četvru generaciju u razvoju računarstva

(1980-1995). Godine 1981. IBM je predstavio svoj prvi desktop računar nazvan personal

computer (PC), čiji je operativni system, MS-DOS, kao i prateći softver, razvijen od strane

mlade kompanije u usponu, Microsoft-a (Slika 2.9b). PC je predstavljao veliki uspeh i

koncept koji je prihvaćen u poslovnom svetu. PC danas predstavlja naziv za računare

različitih proizvođača čiji je dizajn zasnovan na inicijalnom IBM desktop računaru. Velika

većina PC-a opremljena je Microsoft-ovim operativnim sistemom i softverom, i koristi se

kako za desktop tako i za laptop računare. Početak 90-ih godina označava smanjene učešća

IBM-a na PC tržištu, i pojavu PC klonova kompanija poput Compaq, Dell, Toshiba, i

drugih. Ove godine su donele veliki uspon i dominaciju Microsoft-a, budući da su svi PC

klonovi bili zasnovani na Microsoft Windows operativnim sistemima i pratećem softveru

poput, Microsoft Office paketa. Međutim, sa napretkom mobilnog računarstva, pametnih

telefona i tableta, posle više od 30 godina od nastanka, sve više se postavlja pitanje da li je

PC era završena. Na moćnijim miniračunarima, tzv. radnim stanicama, najzastupljeniji je

UNIX operativni system. Godine 1991. razvijen je Linux operativni sistem, kao proizvod

kolaborativnog rada globalno distribuirane grupe softverskih inženjera. Linux predstavlja

najreprezentativniji primer besplatnog i open source softvera današnjice. Interakcija

korisnika sa operativnim sistemom omogućena je putem grafičkog korisničkog interfejsa

(GUI – Graphical User Inerface) u obliku prozora, menija, toolbar-ova, dugmadi i

korišćenjem računarskog miša. Ovu generaciju računarstva karakteriše pojava objektno-

orijentisanih programskih jezika Smalltalk, C++, Java, objektno-orijentisnog projektovanja

softvera i dalji razvoj softverskog inženjerstva.

Page 18: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

12

Kraj XX-og i početak XXI-og veka, sa daljim razvojem poluprovodničkih tehnologija i

razvoj mikroprocesora sa stotinama miliona elektronskih komponenti/tranzistora na čipu,

doneli su petu generaciju računarstva (1995-danas). Računarski uređaji postaju sve manji

i ugrađeni u objekte oko nas, činjeći princip sveprisutnog (eng. ubiquitous) i prožimajućeg

(eng. pervasive) računartsva. Razvoj Interneta i Web-a omogućili su globalnu povezanost

računara, kao i pristup, kreiranje i publikovanje velike količine podataka. Dalja

minijaturizaciju računarskih komponenti i razvoj bežičnih komunikacija omogućili su

pojavu mobilnih računarsko-komunikacionih uređaja, pametnih telefona, tableta, pametnih

satova, itd. U cilju postizanja visokih performansi u obradi velikog obima podataka

razvijene su tehnike paralelnog računarstva i paralelnih i distribuiranih računarskih sistema.

Neograničen i globalan pristup velikoj količini informacija i servisa obezbeđen je

konceptom računarstva u oblaku (eng. cloud computing). Razvojem veštačke inteligencije i

tehnika obrade prirodnog jezika treba da se omogući jednostavna i efikasna interakcija

čoveka sa računarom, čiji softver bi se adaptirao i prilagođavao kontekstu korisnika

korišćenjem tehnika mašinskog učenja.

Razvoj računarstva utiče na široko prisustvo računarskih tehnologija u savremenom

društvu. Milioni ljudi širom sveta obavljaju svoje poslovne, zabavne, edukativne i

društvene aktivnosti korišćenjem računarskih uređaja (PC-a, pametnih telefona, tableta,

servera, itd.) povezanih na Internet. Računari su izvršili nepovratan uticaj na savremeni

život i način našeg školovanja, poslovanja, zabave i održavanja društvenih kontakata da se

ponekad zapitamo da li bi uopšte mogli bez njih.

Page 19: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

3 . B R O J N I S I S T E M I

13

3 BROJNI SISTEMI

Brojevi se koriste za prebrojavanje stvari i pokazuju količinu elemenata u nekom skupu.

Svejedno da li se radi o kilometrima koje treba preći do odredišta, novcu na računu, ili

gledaocima neke utakmice, brojevi se koriste da predstave koliko je predmeta, ili lica u

određenom skupu.

Brojni sistem definiše način zapisa brojeva i pravila izvođenja osnovnih aritmetičkih

operacija (sabiranja, oduzimanja, množenja i deljenja) nad tako zapisanim brojevima. Način

zapisa brojeva određuje skup simbola (cifara) koji će se koristiti za njihovo zapisivanje

(alfabet) i pravila odredjivanja vrednosti svakog simbola u zapisu broja. Na primer, dekadni

brojni sistem ima alfabet sa deset simbola {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, dok alfabet rimskih

brojeva ima sedam simbola {I, V, X, L, C, D, M}. Prema tome kako se određuje vrednost

koju neki simbol predstavlja u zapisu broja, sve brojne sisteme delimo na:

pozicione i

nepozicione.

Kod nepozicionih brojnih sistema cifre imaju unapred definisane vrednosti koje su im

pridružene. Rimski brojni sistem je primer nepozicionog brojnog sistema. Pošto je vrednost

cifre X 10, vrednost rimskog broja XXX je 30. Vrednost koju cifra predstavlja je ista bez

obzira gde se ona u zapisu nalazi.

Kod pozicionih brojnih sistema vrednost pridružena cifri (elementu alfabeta brojnog

sistema) iz zapisa nekog broja zavisi od pozicije te cifre u zapisu. Primer pozicionog

brojnog sistema je dekadni brojni sistem koji smo mi navikli da koristimo u matematici.

Ako se kaže da imamo na računu 2395 dinara to znači da imamo 2 hiljade, 3 stotine, 9

desetica i 5 jedinica dinara. Dakle, da bi se dobila vrednost koju cifra u zapisu predstavlja,

njena osnovna vrednost se množi nekim faktorom (težinom). Uočimo da u slučaju

dekadnog brojnog sistem ti faktori kojima se cifre množe su stepeni broja 10 (1=100,

10=101, 100=10

2, 1000=10

3… ). Zato kažemo da je 10 osnova dekadnog brojnog sistema.

To znači da se broj 2395 može zapisati kao 2·103+ 3·10

2+ 9·10

1+ 5·10

0.

Generalni zapis celog broja u dekadnom brojnom sistemu je:

, gde je

Ukoliko se radi o razlomljenom (realnom) broju tada su težine iza decimalne tačke

stepenovane negativnim vrednostima pozicija cifara sa desne strane decimalne tačke.

Page 20: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

14

Primer 3.1 Vrednost decimalnog broja kao zbir proizvoda cifara i težina

Ovakvi pozicioni brojni sistemi kod kojih je težina (poziciona vrednost) cifre definisana

sa qp (q – osnova brojnog sistema, p – pozicija u zapisu broja) nazivaju se prirodni brojni

sistemi. U svakom pozicionom sistemu vrednost broja može da se predstavi kao:

Ukoliko se radi o dekadnom broju, . Generalno alfabet pozicionog

brojnog sistema sa osnovom q sadrži cifre .

3.1 Binarni, oktalni i heksadekadni brojni sistemi

Za predstavljanje brojeva u okviru računara se koristi binarni brojni sistem čija je

osnova 2, a samim tim cifre ovog brojnog sistema su 0 i 1. Broj zapisan u binarnom

brojnom sistemu ima vrednost jednaku sledećem izrazu:

Primer 3.2 Broj 1011.011 zapisan u binarnom brojnom sistemu može da se predstavi kao:

Oktalni brojni sistem je definisan osnovom 8 i ciframa 0, 1, 2, 3, 4, 5, 6, 7. Vrednost

broja u oktalnom brojnom sistemu data je sledećim izrazom:

Heksadekadni brojni sistem je definisan osnovom 16, kao i sa 16 cifara: A B, C, D, E, F. Pri tome simbol A predstavlja cifru ovog brojnog sistema kojoj odgovara

dekadna vrednost 10, cifra B predstavlja cifru sa dekadnom vrednošću 11, i tako redom,

dok cifra F predstavlja cifru sa dekadnom vrednošću 15. Vrednost broja u heksadekadnom

brojnom sistemu data je sledećim izrazom:

Kada brojimo u binarnom brojnom sistemu, koristimo isti princip kao i u dekadnom

brojnom sistemu. Kada u brojanju stignemo do najvećeg jednocifrenog broja, sledeći broj je

10, kada se odbroji najveći dvocifreni broj, sledeći je 100, i tako redom:

Na isti način brojanje u heksadekadnom brojnom sistemu izgleda ovako:

Page 21: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

3 . B R O J N I S I S T E M I

15

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A B C D E F F FF

3.2 Prevođenje brojeva između različitih brojnih sistema

Pošto svaki broj predstavlja način za prebrojavanje elemenata nekog skupa, logično je

zaključiti da za svaku vrednost postoji broj napisan u određenom brojnom sistemu koji je

predstavlja. U Tabela 3.1 prikazano je kako su vrednosti od 0 do 20 predstavljene

brojevima u brojnim sistemima osnove 10, 2, 8 i 16.

Tabela 3.1 Brojevi od 0 do 20 u napisani u brojnim sistemima osnove 10, 2, 8, i 16

Osnova 10 Osnova 2 Osnova 8 Osnova 16

0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9

10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14

3.2.1 Prevođenje brojeva iz brojnog sistema sa proizvoljnom osnovom u brojni sistem

osnove 10

Broj napisan u bilo kom pozicionom brojnom sistemu, gde svakoj cifri odgovara

određena poziciona vrednost (težina) predstavlja način za prebrojavanje elemenata nekog

skupa. Ukoliko je broj napisan u brojnom sistemu koji nije dekadni, da bi stekli uvid u broj

elemenata ili vrednost koju predstavlja, treba ga prevesti u dekadni brojni sistem.

Primer 3.3 Binarni broj 1011 može da se predstavi kao:

Page 22: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

16

Dakle, ukoliko se pomnoži svaka cifra sa njenom pozicionom vrednošću (težinom) i

izvrši sabiranje tako dobijenih vrednosti, dobija se broj u dekadnom brojnom sistemu, koji

u prethodnom primeru iznosi 11.

Praktično prevođenje brojeva napisanih u bilo kom pozicionom brojnom sistemu u

dekadni brojni sistem može se obaviti po sledećim koracima:

1. Izračunati težinu na svakoj poziciji broja stepenovanjem osnove brojnog sistema

brojem (oznakom) pozicije.

2. Pomnožiti dobijenu težinu cifrom na datoj poziciji.

3. Sabrati sve dobijene vrednosti.

Pri tome se sva izračunavanja obavljaju u dekadnom brojnom sistemu.

Primer 3.4 Izračunavanje numeričke vrednosti broja 642 zapisanog u brojnom sistemu

osnove 8 (zapisuje se kao 6428) može se obaviti sledeći ove korake:

(u dekadnom

brojnom sistemu)

Dakle, može se napisati 6428 = 41810

Primer 3.5 Na isti naćin se može odrediti dekadna vrednost broja 5A7F16, zapisanog u

brojnom sistemu osnove 16.

Primer 3.6 Koristeći isti postupak, za binarni broj 10100110.112 određuje se njegova

dekadna vrednost:

3.2.2 Prevođenje brojeva iz dekadnog brojnog sistema u pozicioni brojni sistem sa

proizvoljnom osnovom

Konvertovanje celog broja iz dekadnog brojnog sistema u bilo koji drugi brojni sistem

obavlja se sledećim koracima:

1. Podeliti broj napisan u dekadnom brojnom sistemu osnovom brojnog sistema u koji

prevodimo.

2. Zapisati ostatak pri deljenju.

3. Dok je celobrojni deo količnika različit od nule ponavljati korake 4 i 5.

4. Celobrojni deo količnika podeliti osnovom brojnog sistema u koji prevodimo.

5. Zapisati ostatak pri deljenju s leve strane poslednjeg upisanog ostatka.

Page 23: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

3 . B R O J N I S I S T E M I

17

Ukoliko se radi o realnom broju koji ima razlomljeni deo, tj. deo iza decimalne tačke,

taj razlomljeni deo broja se prevodi sledećim koracima:

1. Pomnožiti razlomljeni deo broja osnovom brojnog sistema u koji prevodimo.

2. Zapisati celi deo proizvoda, kao prvu cifru razlomljenog dela broja u novom

brojnom sistemu.

3. Ponavljati korake 3 i 4 dok razlomljeni deo proizvoda ne dobije vrednost 0 ili dok

se ne postigne zahtevana tačnost u zapisu broja u novom brojnom sistemu

4. Razlomljeni deo proizvoda pomnožiti osnovom brojnog sistema u koji prevodimo.

5. Zapisati celi deo proizvoda s desne strane u odnosu na prethodno zapisanu cifru.

Nakon završetka ovog postupka biće određen ekvivalent dekadnog broja u traženom

brojnom sistemu. Postupak prevođenja razlomljenog dela broja ne mora uvek da dâ

konačan rezultat i konačan zapis u traženom brojnom sistemu, već se određuje onoliko

cifara iza decimalne tačke zavisno od zahtevane tačnosti.

Primer 3.7 Da bi odredili ekvivalent dekadnog broja 356710 u brojnom sistemu osnove 16

obavljamo definisane korake:

3567:16=222 222:16=13 13:16=0 32 16 0 36 62 13D16 32 48 47 14 E16 32 15F16

356710 = DEF16

Primer 3.8 Pri prevođenju dekadnog broja 29.77510 u binarni broj posebno se prevodi celi

deo broja, a posebno razlomljeni deo broja po prethodno opisanim postupcima:

2910 = 111012

Ovaj postupak nije konačan već se prevođenje u ovom primeru završava sa tačnošću do

šeste decimale binarnog broja.

0.77510 =0.1100012

Page 24: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

18

Za prevođenje brojeva iz proizvoljnog brojnog sistema u neki drugi brojni sistem

primenjuje se postupak kojim se dati broj najpre prevede u dekadni brojni sistem (poglavlje

3.2.1), a zatim iz dekadnog brojnog sistema u traženi brojni sistem.

3.2.3 Prevođenje brojeva iz binarnog brojnog sistema u brojni sistem čija je osnova

stepen dvojke i obrnuto

Zanimljiv je slučaj prevođenja iz binarnog u oktalni i heksadekadni brojni sistem i

obrnuto. Pošto za osnove heksadekadnog i oktalnog brojnog sistema važi da predstavljaju

odgovarajući stepen osnove binarnog brojnog sistema, tačnije, 16 = 24 i 8 = 23, prevođenje

brojeva između ovih brojnih sistema u binarni brojni sistem obavlja se pojedinačnim

prevođenjem svake cifre heksadekadnog, odnosno oktalnog brojnog sistema. Tako svakoj

cifri heksadekadnog brojnog sistema odgovaraju četiri binarne cifre zapisane u binarnom

brojnom sistemu, u skladu sa Tabela 3.1.

Primer 3.9 Prevođenje brojeva iz oktalnog i heksadekadnog u binarni brojni sistem

A36D16 = 1010 0011 0110 1100 2

7248 = 111 010 100 2

F12.B316 = 1111 0001 0010. 1011 00112

Na analogni način vrši se prevođenje brojeva iz binarnog brojnog sistema u

heksadekadni i oktalni brojni sistem, grupisanjem po četiri, odnosno tri, cifre binarnog

brojnog sistema i njihovim prevođenjem u heksadekadni, odnosno oktalni brojni sistem.

Primer 3.10 Prevođenje brojeva iz binarnog u oktalni i heksadekadni brojni sistem

101010112 = 1010 1011 = AB16

A B

101010112 = 010 101 011 = 2538

2 5 3

1111.1012 = 001 111 . 101 = 17.58

1 7 . 5

3.3 Osnovne računske operacije u pozicionim brojnim sistemima

Osnovne računske operacije nad brojevima napisanim u dekadnom brojnom sistemu se

uče u početnim razredima osnovne škole i jednostavne su za većinu ljudi. Međutim, isti

postupak se koristi i kod računskih operacija nad brojevima u drugim brojnim sistemima.

Postupak sabiranja dva broja u određenom brojnom sistemu započinje sabiranjem dve cifre

koje se nalaze na krajnjim desnim pozicijama u zapisu brojeva. Ukoliko je rezultat zbira

veći od osnove brojnog sistema, na datoj poziciji rezultata piše se vrednost zbira umanjena

Page 25: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

3 . B R O J N I S I S T E M I

19

za osnovu brojnog sistema, a pri sabiranju cifara na poziciji veće težine dodaje se osnova

brojnog sistema koja na toj poziciji ima vrednost 1. Ovaj elementarni postupak se nastavlja

dok se ne saberu cifre najveće težine.

Oduzimanje brojeva u drugim brojnim sistemima zasniva se na istom postupku kao i

oduzimanje brojeva u dekadnom brojnom sistemu, pri čemu oduzimanje počinje od cifri

najmanje težine (krajnje desnih u zapisu brojeva). Kada je cifra umanjenika na određenoj

poziciji manja od cifre umanjioca na toj poziciji, pozajmljuje se jedinica sa mesta veće

težine koja na toj poziciji ima vrednost osnove brojnog sistema. U dekadnom brojnom

sistemu pozajmljuje se 10, u binarnom 2, a u heksadekadnom 16. Pozajmica sa mesta veće

težine smanjuje vrednost cifre umanjenika na toj poziciji za 1. Na sledećem primeru

prikazano je oduzimanje brojeva u binarnom brojnom sistemu.

Primer 3.11 Sledeći primer ilustruje postupak sabiranja dva binarna broja.

1 + 1 = 10 (upisati 0 i preneti 1 na poziciju veće težine)

1 + 0 + 0 = 1 (upisati 1)

1 + 0 + 1 = 10 (upisati 0 i preneti 1 na poziciju veće težine)

1 + 1 + 1 = 11 (upisati 1 i preneti 1 na poziciju veće težine)

1 1 1 1 + 1 = 10 (upisati 0 i preneti 1 na poziciju veće težine)

1 0 0 1 1

+ 1 0 1 1 1

1 0 1 0 1 0

Primer 3.12 Oduzimanje dva binarna broja

0 je manja od 1, tako da je pozajmljena 1 od cifre veće težine koja dobija

vrednost 0, a ova jedinica na ovoj poziciji ima vrednost osnove, tj. 10 – 1 = 1

1 0 = 1

0 10 1 1 = 0

1 0 1 1

0 1 0 1

0 1 1 0

Operacije množenja i deljenja se obavljaju po istom principu kao i u dekadnom brojnom

sistemu, budući da se svode na operacije sabiranja i oduzimanja. Tablice množenja i

deljenja binarnih cifara date su na sledeći način.

Tablica množenja Tablica deljenja

/ 0 1

0 e 0

1 e 1

∙ 0 1

0 0 0

1 0 1

Page 26: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

20

Primer 3.13 Množenje i deljenje dva binarna broja

1 0 1 1 1 0 1 1 1 0 1 1 1 / 1 0 1 = 1 0 1 1

1 0 1 1 1 0 1

0 0 0 0 1 1 1

+ 1 0 1 1 1 0 1

1 1 0 1 1 1 1 0 1

1 0 1

0

Istim postupkom se obavljaju računske operacije množenja i deljenja i u brojnim sistemima

osnove 8 i 16, pa i u nekom „egzotičnom“ brojnom sistemu, na primer osnove 13.

Primer 3.14 Sabiranje dva oktalna broja i dva binarna broja

11 1 111 5768 1101112 + 1738 + 101112

7718 10011102

Primer 3.15 Oduzimanje u heksadekadnom brojnom sistemu

7 2 5 - 3 C D

3 5 8

Primer 3.16 Izvršimo sledeće množenje paralelno u dekadnom i oktalnom brojnom

sistemu

4610 3710 568 458

322 346 4610 = 568

+138 +270 3710 = 458

170210 32468

Provera: 32468 = 3⋅83+2⋅82+4⋅8+6=170210

Page 27: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

3 . B R O J N I S I S T E M I

21

Pitanja i zadaci

1. Prevesti broj 507.23 iz dekadnog brojnog sistema u binarni brojni sistem.

2. Prevesti broj 1234.56 iz dekadnog brojnog sistema u heksadekadni brojni sistem.

3. Prevesti broj 3104.76 iz dekadnog brojnog sistema u oktalni brojni sistem.

4. Prevesti broj 11010110.1101 iz binarnog brojnog sistema u dekadni brojni sistem.

5. Prevesti broj 3104.76 iz oktalnog brojnog sistema u binarni brojni sistem.

6. Prevesti broj 10111011.1001 iz binarnog brojnog sistema u heksadekadni brojni

sistem.

7. Prevesti broj A2C8.12B iz heksadekadnog brojnog sistema u binarni brojni sistem.

8. Prevesti broj 3D91.3A iz heksadekadnog brojnog sistema u dekadni brojni sistem.

9. Prevesti broj 276.45 iz oktalnog brojnog sistema u heksadekadni brojni sistem preko

binarnog brojnog sistema.

10. Naći proizvod brojeva 1101.01 i 100.11

11. Naći količnik brojeva 1011101.11 i 110.1

Page 28: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 29: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

23

4 PREDSTAVLJANJE PODATA KA

U RAČUNARU

Po definiciji, računari su električni uređaji (mašine) koji služe za obradu podataka. To

znači da je prvi problem koji treba rešiti pri realizaciji računara, kako predstaviti podatke u

njemu. Podaci koje računar obrađuje su vrlo heterogene prirode. To mogu biti:

brojevi (numerički podaci),

tekst (alfanumerički podaci),

zvuk (ili bilo koji drugi analogni signal),

slike,

video zapisi...

Tekst, zvuk, slike i video zapisi zajedno su u računarstvu poznati još i kao

multimedijalni podaci.

Slika 4.1 Čovekova i kompjuterska reprezentacija realnog sveta

321 domaći

TEXT

111001111011

110111100001

000000100001

000011110100

Page 30: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

24

S obzirom na to da je računar električni uređaj svi podaci se u računaru predstavljaju

naponskim nivoima i to najčešće pomoću 2 naponska nivoa koji se obeležavaju kao 0 i 1.

To znači da se svi podaci u računaru predstavljaju takozvanom binarnom azbukom

(azbukom sa 2 simbola) (slika 4.1). U ovom poglavlju ćemo videti kako se podaci različite

prirode prevode u nizove nula i jedinica koje je jedino moguće registrovati (pamtiti) i

obrađivati u računaru.

Najmanja količina podataka koja može biti registrovana u računaru je 1 bit koji

predstavlja jednu binarnu cifru ili jedno slovo binarne azbuke (0 ili 1). U računarima se kao

osnovna jedinica za količinu podataka (a samim tim i za kapacitet memorije) koristi bajt

(niz od 8 bitova). Inače, memorija računara je organizovana kao skup memorijskih reči

(koje su sastaljene od 2, 4, ili 8 bajtova).

4.1 Predstavljanje numeričkih podataka u računaru

Za predstavljanje numeričkih podataka u računaru koristi se:

binarni brojni sistem i

binarno-kodirani dekadni brojni sistem (tj. različiti BCD kodovi).

Ovo poglavlje će se više baviti formatima za predstavljanje različitih vrsta brojeva koji

su zasnovani na korišćenju binarnog brojnog sistema, a zatim će, ukratko, biti predstavljeni

i BCD kodovi. Zbog preglednosti i ograničenosti prostora, za reprezentovanje podataka

koristiće se memorijske reči dužine 4 bajta (32 bita), iako su danas najrasprostranjeniji PC

računari sa 64-bitnim memorijskim rečima.

Iako se u matematici definiše veći broj skupova brojeva, sa aspekta načina

predstavljanja u računaru, sve brojeve možemo podeliti na:

cele neoznačene brojeve,

cele označene brojeve i

realne brojeve.

4.1.1 Predstavljanje celih neoznačenih brojeva

Celi neoznačeni brojevi se predstavljaju tako što se, najpre, prevedu u binarni brojni

sistem. Ukoliko je broj cifara u zapisu broja manji od dužine memorijske reči, broj se

dopunjuje nevažećim nulama sa leve strane.

Primer 4.1 Predstavimo broj 25 u 32-bitnoj reči računara.

Prvi korak pri kreiranju memorijske reprezentacije broja je uvek prevođenje broja u

binarni brojni sistem. U našem slučaju:

(25)10=(11001)2.

Smeštanje broja u memorijsku reč počinjemo od pozicije najmanje težine, a u

neiskorišćene pozicije viših težina upisujemo nevažeće nule:

Page 31: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

25

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Opseg brojeva koji se u ovom formatu mogu predstaviti u 32-bitnoj memorijskoj reči je

[0, 232

-1].

4.1.2 Predstavljanje celih označenih brojeva

Za predstavljanje celih označenih brojeva u digitalnim sismemima koriste se 4 različita

formata:

prosto označavanje (prosto kodiranje znaka, znak i apsolutna vrednost),

nepotpuni komplement,

potpuni komplement,

format s pomerajem.

Zbog jednostavnosti izvođenja operacija, u praksi je najčešće u upotrebi potpuni

komplement. Ipak, u okviru ovog poglavlja ćemo se upoznati sa svim navedenim

formatima jer se neki od njih koriste i kao pomoćni fomati pri predstavljanju realnih

brojeva.

4.1.2.1 Prosto označavanje celih brojeva

Kod prostog označavanja (ili kod prostog kodiranja znaka), kako i samo ime kaže, znak

broja se prosto kodira binarnom azbukom. S obzirom da su 2 moguća znaka broja (+ i -), za

kodiranje znaka se izdvaja jedna pozicija u zapisu broja (odnosno jedan bit u memorijskoj

reči). Za znak broja se koristi bit najveće težine. Ostaje još i problem definisati kako

predstaviti znak +, a kako znak -. Dogovoreno je da se znak + predstavlja (kodira) cifrom 0,

a znak - cifrom 1.

Primer 4.2 Predstaviti brojeve +25 i -25 u 32-bitnoj reči računara.

+25: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

-25: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Obeležena ćelija u memorijskoj reči predstavlja poziciju znaka.

Maksimalna vrednost koja u ovom formatu može biti predstavljena u 32-bitnoj reči

računara je 231

-1, a minimalna -(231

-1), tj.-231

+1. Zapis ovih vrednosti u memorijskoj reči

bio bi:

Page 32: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

26

231

-1: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

-231

+1: 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Jedan od nedostataka ovog formata je što nije jednoznačno određeno kako će se

predstaviti broj 0. 0 je po prirodi neutralan broj. Međutim, u računaru se mora znati šta će

se upisati na poziciju najveće težine. Dakle, moramo je tretirati kao pozitivan ili kao

negativan broj. Ako nulu tretiramo kao pozitivan broj njen zapis u 32-bitnoj reči računara

je:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Ukoliko nulu tretiramo kao negativan broj, njen zapis bi bio:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Izvođenje aritmetičkih operacija u formatu „znak + apsolutna vrednost“:

Da bismo uporedili efikasnost izvođenja aritmetičkih operacija kada su brojevi

predstavljeni u različitim formatima, razmotrićemo izvođenje operacije sabiranja u svakom

od razmatranih formata. Algoritam za sabiranje brojeva predstavljenih u formatu „znak +

apsolutna vrednost“ se sastoji od sledećih koraka:

Korak 1. Ispitati znake oba sabirka, ako su isti preći na korak 2, u suprotnom preći na

korak 4.

Korak 2. Na poziciji znaka upisati znak prvog sabirka.

Korak 3. Apsolutnu vrednost rezultata kreirati kao zbir apsolutnih vrednosti sabiraka.

Kraj.

Korak 4. Uporediti apsolutne vrednosti sabiraka.

Korak 5. Na poziciju znaka upisati znak sabirka čija je apsolutna vrednost veća.

Korak 6. Apsolutnu vrednost rezultata odrediti kao razliku veće i manje apsolutne

vrednosti sabiraka.

Očigledano je da je algoritam sabiranja kako hardverski tako i vremenski jako zahtevan

u ovom formatu jer je potrebno: uporediti znake, u slučaju različitih znaka uporediti i

apsolutne vrednosti brojeva i na kraju izršiti sabiranje ili oduzimanje apsolutnih vrednosti.

To znači da su nam za realizaciju ove operacije potrebni i komparator i sabirač i oduzimač

binarnih brojeva.

Page 33: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

27

4.1.2.2 Nepotpuni komplement celih brojeva

Nepotpuni komplement se u literaturi naziva još i komplementom najveće cifre, a u

slučaju binarnog brojnog sistema i komplementom jedinice. I u ovom formatu pozicija

najveće težine se koristi za znak broja. Znak + se kodira nulom, a znak - najvećom cifrom

brojnog sistema, pa se u slučaju binarnog brojnog sistema, znak - kodira jedinicom.

Vrednost broja koja se upisuje u preostale pozicije dobija se po obrascu:

0,1

0,

AAq

AAA n .

Kao što se vidi, zapis pozitivnih brojeva u nepotpunom komplementu je isti kao i kad je

korišćeno prosto kodiranje znaka.

U praksi, komplement najveće cifre negativnih brojeva se dobija tako što se najpre

kreira zapis njemu suprotnog broja (pozitivnog), zatim se na poziciju znaka (odnosno na

poziciju najveće težine) upiše najveća cifra brojnog sistema, a cifre sa svih ostalih pozicija

se zamene svojom dopunom do najveće cifre brojnog sistema.

Primer 4.3 Predstavićemo broj -25 u dekadnom brojnom sistemu u nepotpunom

komplementu sa 8 pozicija.

Najpre kreiramo zapis broja + 25:

7 6 5 4 3 2 1 0

0 0 0 0 0 0 2 5

Zatim na poziciju najveće težine upisujemo najveću cifru brojnog sistema (9), a sve

ostale cifre zamenjujemo njihovom dopunom do najveće cifre (odnosno do 9). Tako će se

izvršiti sledeće zamene: 09, 27 i 54, pa će zapis broja -25 biti:

7 6 5 4 3 2 1 0

9 9 9 9 9 9 7 4

Da vidimo sada kako bi se kreirao nepotpuni komplement negativnog broja u binarnom

brojnom sistemu. Na poziciju znaka bi se upisala jedinica, a dopuna ostalih cifara do cifre

naveće težine (u ovom slučaju do cifre 1) zahtevala bi sledeće zamene: 10 i 01. Ovo

praktično znači, da sve ostale cifre treba jednostavno komplementirati.

Primer 4.4 Predstavićemo broj -25 u nepotpunom komplementu u 32-bitnoj reči računara.

Krećemo ponovo od zapisa njemu suprotnog broja, tj. od zapisa broja + 25:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Zatim na poziciju najveće težine upisujemo najveću cifru brojnog sistema (1), a sve

ostale cifre komplementiramo. Zapis broja -25 će biti:

Page 34: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

28

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Opseg brojeva koji se na ovaj način može predstaviti u 32-bitnoj reči računara ostaje isti

[-231

+1, 231

-1].

I u ovom formatu ostaje nedostatak nejednoznačnog predstavljanja broja 0. Ako nulu

tretiramo kao pozitivan broj njen zapis u 32-bitnoj reči računara je:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Ukoliko nulu tretiramo kao negativan broj, njen zapis bi bio:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Izvođenje aritmetičkih operacija u nepotpunom komplementu:

Operacija sabiranja u nepotpunom komplementu se izvodi po sledećem algoritmu:

Korak 1. Izvršiti sabiranje po pravilima za sabiranje binarnih brojeva.

Korak 2. Ukoliko postoji prenos sa pozicije najveće težine (pozicije znaka), dodati ga

na poziciju najmanje težine.

Očigledno je da je za realizaciju ovog algoritma dovoljno posedovati samo sabirač

binarnih brojeva.

Primer 4.5 Predstaviti brojeve +27 i -25 u nepotpunom komplementu sa 8 pozicija i

izvršiti njihovo sabiranje.

8210 00011011)11011()27( NK

8210 )11100110()11001()25( NK

01000000

1

100000001

01100111

11011000

Dakle, rezultat je 108 )2()00000010( NK .

Odavde je očigledno da, iako je algoritam za sabiranje znatno pojednostavljen u odnosu

na algoritam koji se primenjuje kada je broj predstavljen pomoću znaka i apsolutne

Page 35: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

29

vrednosti, nedostatak nepotpunog komplementa je i što se operacija sabiranja izvodi u 2

koraka.

4.1.2.3 Potpuni komplement celih brojeva

Potpuni komplement se u literaturi još naziva i komplementom osnove, tj. u slučaju

binarnog brojnog sistema, komplementom dvojke (odnosno dvoičnim komplementom).

Znak broja se i u ovom formatu kodira na isti način kao kod prethodna dva formata, a

vrednost koja se upisuje u preostale pozicije dobija se po obrascu:

0,

0,

AAq

AAA n .

Kao što se vidi, zapis pozitivnih brojeva i u potpunom komplementu ostaje

nepromenjen. Ako uporedimo formule za transformaciju negativnih brojeva u nepotpuni i u

potpuni komplement, vidimo da se vrednost negativnih brojeva u potpunom komplementu

razlikuje za 1 od vrednosti istog broja u nepotpunom komplementu. To, praktično, znači da

će se potpuni komplement negativnog broja dobiti tako što se na njegov nepotpuni

komplement dodati cifra 1 na poziciju najmanje težine.

Primer 4.6 Predstavićemo broj -25 u potpunom komplementu u 32-bitnoj reči računara.

Krećemo ponovo od zapisa njemu suprotnog broja, tj. od zapisa broja + 25:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Zatim na već poznati način kreiramo nepotpuni komplement ovog broja i na poziciju

najmanje težine dodajemo jedinicu:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

+ 1

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

Opseg brojeva koji na ovaj način mogu biti registrovani u računaru sa 32-bitnim rečima

je [-231

, 231

-1]. Jedan broj više koji je moguće registrovati je dobijen na račun toga što se 0

sada predstavlja na jedinstven način. Pokušajmo da predstavimo nulu kao pozitivan i kao

negativan broj:

+0:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Formirajmo sad potpuni komplement za broj -0:

Page 36: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

30

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

+ 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Da vidimo kako izgleda broj -231

. Pozitivni ekvivalent ovog broja nije moguće

predstaviti u 32-bitnoj reči, ali, ako ga tretiramo kao neoznačeni broj njegov zapis će biti:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Na osnovu ovog zapisa kreiraćemo potpuni komplement broja -231

:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

+ 1

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

Izvođenje aritmetičkih operacija u potpunom komplementu:

Algoritam za sabiranje brojeva u potpunom komplementu se može opisati na sledeći

način:

Korak 1. Izvršiti sabiranje po pravilima za sabiranje binarnih brojeva.

Korak 2. Ukoliko postoji prenos sa pozicije najveće težine (pozicije znaka), odbaciti ga.

Primer 4.7 Predstaviti brojeve +27 i -25 u potpunom komplementu sa 8 pozicija i izvršiti

njihovo sabiranje.

8210 00011011)11011()27( PK

8210 )11100111()11001()25( PK

010000001

11100111

11011000

Sada smo u jednom koraku dobili konačan rezultat sabiranja: 108 )2()00000010( PK ,

a za realizaciju operacije su nam bili potrebni samo binarni sabirači.

Page 37: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

31

4.1.2.4 Predstavljanje celih brojeva sa pomerajem

Opseg celih brojeva koji se mogu predstaviti u 32-bitnoj reči računara prikazan je na

brojnoj pravoj na slici 4.2.

Slika 4.2 Opseg celih brojeva koji se u potpunom komplementu mogu predstaviti 32-

bitnoj reči računara

Format sa pomerajem preslikava interval sa slike 4.2 na pozitivan deo x-ose, odnosno

pre upisa u memorijsku reč brojevi se transformišu po obrascu

pAA ,

gde p predstavlja pomeraj. Vrednost pomeraja zavisi od osnove brojnog sistema u kojem je

broj predstavljen (q) i od broja pozicija kojima se broj predstavlja (n). Za vrednost

pomeraja se, obično uzima:

1 nqp , ili

11 nqp .

Ako je osnova brojnog sistema 2, a n=32, p može biti 231

ili 231

-1, tj.:

p=10000000000000000000000000000000, ili

p=01111111111111111111111111111111.

Primer 4.8 Predstaviti brojeve +25 i -25 u formatu sa pomerajem u 32-bitnoj reči

računara. Za vrednost pomeraja koristiti p=231

.

Kreirajmo najpre zapis broja +25 kao:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

+ 1 1 0 0 1

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

Zapis broja -25 biće:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

- 1 1 0 0 1

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

-231

-231

-1 0

Page 38: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

32

Obeležena pozicija najveće težine se i u ovom slučaju tretira kao znak broja. Vidimo da

se jedino kod ovog formata kodiranje znaka razlikuje od uobičajenog. Pozitivni brojevi

sada na poziciji najveće težine (odnosno, na poziciji znaka) imaju vrednost 1, a negativni 0.

Ako uporedimo sada zapise brojeva +25 i -25 u potpunom komplementu i u formatu sa

pomerajem, uočavamo da se ti zapisi razlikuju samo na poziciji znaka.

4.1.3 Predstavljanje realnih brojeva

Za predstavljanje realnih brojeva u računaru koriste se 2 formata:

format sa fiksnim zarezom i

format sa pokretnim zarezom (tj. eksponencijalni zapis broja).

Ova dva načina predstavljanja brojeva se, uglavnom, koriste i za zapis realnih brojeva u

matematici. Format sa fiksnim zarezom bi značio da se decimalna tačka u zapisu nalazi

tamo gde joj je i stvarno mesto. Na taj način predstavljeni brojevi u matematici su npr: 5.32,

,...96.37 Medjutim, "suviše velike" ili "suviše male" brojeve nikada ne zapisujemo na

ovaj način, već vršimo pomeranje decimalne tačke tako što broj dodatno množimo nekim

stepenom broja deset (što je, u stvari, osnova brojnog sistema). Na primer, vrednost

Avogadrovog broja je 000000000000006022141500 , ali se on, skoro uvek, zapisuje u

obliku 23100221415.6 . Nalektrisanje elektrona iznosi: 00000000160000000000.0 C, ali

ćete ga u svim udžbenicima naći u obliku: 19106.1 C. Slične notacije se koriste i za

predstavljanje realnih brojeva u računarima.

4.1.3.1 Predstavljanje realnih brojeva u formatu sa fiksnim zarezom

Kod ovog načina predstavljanja brojeva, memorijska reč se deli na 3 zone (slika 4.3):

poziciju za znak broja,

skup pozicija koje se koriste za predstavljanje celog dela broja i

skup pozicija koje se koriste za predstavljanje razlomljenog dela broja.

Koliko pozicija se koristi za predstavljanje celobrojnog dela, a koliko za predstavljanje

razlomljenog nije fiksno definisano. Nekada je to bilo odredjeno hardverski, dok se danas

dozvoljava da programeri sami to podešavaju u svojim programima.

Za predstavljanje negativnih brojeva u fiksnom zarezu koristi se jedna od metoda koje

se koriste i za predstavljanje celih brojeva: prosto kodiranje znaka, nepotpuni komplement i

potpuni komplement. Mi ćemo u svojim primerima uvek koristiti prosto označavanje.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

Slika 4.3 Zapis realnog broja u fiksnom zarezu

znak celobrojni deo razlomljeni deo

Page 39: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

33

Primer 4.9 Predstaviti broj 27.125 u 32-bitnoj reči računara u formatu sa fisknim zarezom

ukoliko se za predstavljanje celog dela broja koristi 15, a za predstavljanje razlomljenog

dela broja 16 pozicija.

Izvršimo najpre prevođenje ovog broja u binarni brojni sistem:

210 11011.001)()125.27( ,

pa će zapis u memorijskoj reči izgledati:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Interval brojeva koji se na ovaj način mogu predstaviti u jednoj reči računara prikazan je

na slici 4.4.

Slika 4.4 Opseg realnih brojeva koji se u fiksnom zarezu mogu predstaviti u jednoj

memorijskoj reči

Na slici 4.4 sa Rmin i Rmax označene su minimalna apsolutna vrednost i maksimalna

apsolutna vrednost koje u ovom formatu mogu biti predstavljene u računaru. Kolika će

vrednost ovih konstanti biti zavisi od broja pozicija koje se koriste za predstavljanje celog

(odnosno razlomljenog) dela broja. Ako sa n označima broj pozicija koje se koriste za

predstavljanje celobrojnog dela, a sa m broj pozicija za predstavljanje razlomljenog dela,

mR 2min , a mnR 22max .

Svi brojevi iz intervala min]min,[ RR će u računaru biti zamenjeni nulom, pa se ovaj

interval u računarstvu naziva oblašću mašinske nule. Rmin je razlika izmedju 2 susedna

broja koja u ovom formatu mogu biti predstavljena u računaru, pa se zbog toga ova

vrednost naziva i korakom diskretizacije.

Nedostatak ovakvog načina predstavljanja brojeva je što je opseg brojeva koji se na taj

način mogu predstaviti veoma mali: ]22 ,22[ mnmn . Jasno je da je ovaj interval čak

mnogo manji od intervala celih brojeva koji se mogu registrovati u memorijskim rečima

istih dužina. Zbog toga se u praksi za predstavljanje realnih brojeva mnogo češće koristi

format sa pokretnim zarezom.

4.1.3.2 Predstavljanje realnih brojeva u formatu sa pokretnim zarezom

U opštem slučaju, predstavljanje brojeva u pokretnom zarezu nije jedinstveno. Na

primer, naelektrisanje elektrona možemo zapisati u obliku:

182019 1016.01016106.1

-Rmax Rmax -Rmin 0 Rmin

Page 40: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

34

Na isti način i binarni brojevi u eksponencijalnom obliku mogu biti predstavljeni na više

načina. Na primer, broj iz primera 4.8 u eksponencijalnom obliku može da izgleda:

3541 211011001211011001.021011001.121001.1101001.11011

Napomena: U prethodnom zapisu su namerno osnova brojnog sistema i eksponent pisani u

dekadnom brojnom sistemu da bi se jasno videla veza izmedju broja pozicija za koliko se

decimalna tačka pomera i eksponenta (broja kojim se stepenuje osnova 2). Ako bismo sve

predstavili u binarnom brojnom sistemu, prethodni primer bi se transformisao na sledeći

način:

111011001 10110110011011011001.0101011001.1101001.1101001.11011

Računaru ne smemo ostaviti nikakvu proizvoljnost u pogledu kako će nešto biti

zapisano. Zato je standardom IEEE 754 strogo definisano kako treba da izgleda

eksponencijalni zapis broja. Po tom standardu realni brojevi se u pokretnom zarezu

predstavljaju u obliku:

Emz 2 ,

gde je:

z - znak broja,

m - normalizovana mantisa,

E - eksponent.

Normalizovana mantisa znači da je mantisa svedena na oblik:

1.bbbb...

gde je sa b označena proizvoljna cifra binarnog brojnog sistema. Jednostavnije rečeno, u

normalizovanoj mantisi decimalna tačka se nalazi iza prve jedinice u zapisu broja, odnosno,

celobrojni deo normalizovane mantise je uvek 1.

Kao što se iz zapisa vidi, pri memorisanju eksponencijalnog zapisa broja, memorijsku

reč opet delimo na tri zone: u prvu upisujemo znak broja, u drugu eksponent, a u treću

normalizovanu mantisu. Veličine ovih zona su ovog puta fiksne (propisane standardom). Za

predstavljanje eksponenta se koristi 8 bitova, a za predstavljanje normalizovane mantise

preostali deo memorijske reči (23 bita). Raspored ovih zona u memorijskoj reči prikazan je

na slici 4.5.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

Slika 4.5 Zapis realnog broja u pokretnom zarezu

Za predstavljanje mantise broja koristi se prosto označavanje, što znači da znak ima

vrednost 0 za pozitivne brojeve, a vrednost 1 za negativne, a u polju koje smo nazvali

normalizovana mantisa upisuje se njena apsolutna vrednost. U tom polju se prva jedinica

(jedinica koja se nalazi ispred decimalne tačke) ne piše, već se tu navode samo cifre iz

znak eksponent normalizovana mantisa

Page 41: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

35

razlomljenog dela normalizovane mantise. Pošto je cifra 1 ispred decimalne tačke

obavezna, ona se podrazumeva.

Eksponent se u ovom zapisu predstavlja u formatu sa pomerajem, pri čemu se kao

pomeraj koristi vrednost 11 nq , tj. 127127 , odnosno 01111111 u binarnom brojnom

sistemu.

Primer 4.10 Predstaviti broj 27.125 u 32-bitnoj reči računara u formatu sa pokretnim

zarezom.

Izvršimo najpre prevodjenje ovog broja u binarni brojni sistem i zatim izvršimo

normalizaciju mantise

2100

210 )101011011.1(11011.001)()125.27( .

Da bismo memorisali broj, treba još odrediti zapis eksponenta u formatu sa pomerajem:

Dakle, u memorijskoj reči biće upisano:

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 10 9 8 7 6 5 4 3 2 1 0

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

Ovo odbacivanje cifre koja se nalazi ispred decimalnog zareza dovodi do povećanja

broja cifara koje možemo zapisati u memorijskoj reči, ali stvara problem pri predstavljanju

nule u ovom formatu. Da bi se taj problem prevazišao, standardom je propisano da se nula

predstavlja tako što se i na mesto eksponenta i na mesto mantise upišu sve nule.

Druga karakteristična vrednost eksponenta je 11111111. Ona označava da je došlo do

prekoračenja opsega vrednosti koje mogu biti registrovane u ovom formatu (tada su u

mantisi sve cifre 0) ili je došlo do neke izuzetne situacije prilikom izračunavanja, kao što su

0/0, 1 i slično (tada u mantisi nisu sve cifre jednake 0). Potonje vrednosti se

obeležavaju sa NaN (što je skraćenica engleskog izraza Not a Number).

Najmanji broj po apsolutnoj vrednosti koji na ovaj način može biti registrovan u

računaru je:

38126 1020.1 ,

a najveći:

38128127 102211111111111111111111111.1 .

To znači da je opseg brojeva koji se na ovaj način mogu predstaviti u računaru

]10 ,10[ 3838 , a da je preciznost kojom se brojevi predstavljaju do 24 binarne cifre, što

odgovara preciznosti od 7 dekadnih cifara.

Niti ovaj opseg brojeva, niti ovaj broj značajnih cifara često nisu dovoljni da zadovolje

potrebe korisnika. Zato je uveden i proširen oblik za predstavljanje brojeva u računaru u

pokretnom zarezu koji se zove još i pokretni zarez sa dvostrukom preciznošću (ili

0 1 1 1 1 1 1 1

+ 1 0 0

1 0 0 0 0 0 1 1

Page 42: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

36

ekponencijalni zapis sa dvostrukom preciznošću). U skladu sa tim, oblik pokretnog zareza o

kojem je do sada bilo reč, se u literaturi sreće i pod nazivom pokretni zarez jednostruke

preciznosti (odnosno, eksponencijalni zapis jednostruke preciznosti).

Za predstavljanje realnih brojeva u formatu sa pokretnim zarezom dvostruke preciznosti

koriste se 2 susedne memorijske reči. U prvu reč se upisuje znak broja, eksponent (za čije

predstavljanje se sad koristi 11 bitova) i viši deo mantise (prvih 20 bitova iz razlomljenog

dela mantise). Cela druga reč se koristi za niži deo mantise (za preostale cifre mantise).

Ovakav zapis broja prikazan je na slici 4.6.

Slika 4.6 Zapis realnog broja u pokretnom zarezu dvostruke preciznosti

Pomeraj koji se u ovom formatu dodaje ekspnentu je 1210 , odnosno, 01111111111 u

binarnom brojnom sistemu.

Opseg brojeva koji se može registrovati je povećan na čak ]10 ,10[ 308308, dok

preciznost sad iznosi 53 binarne cifre, tj. 15 dekadnih cifara.

4.1.4 BCD kodovi

Pošto je čovek navikao da brojeve predstavlja u dekadnom brojnom sisemu, on ih

obično u tom obliku i unosi u računar i očekuje da će računar sve rezultate svoje obrade

prikazati u istom tom obliku. Dakle, čovek, obično, i nije svestan toga da računar isključivo

radi sa nulama i jedinicama. To znači da su obavezni koraci u svakoj obradi numeričkih

podataka:

Korak 1. Prevođenje ulaznih numeričkih podataka iz dekadnog brojnog sistema u

binarni,

Korak 2. Obrada,

Korak 3. Prevodjenje rezultata iz binarnog brojnog sistema u dekadni i prikaz

korisniku.

Ukoliko je stvarna obrada podataka koja se u računaru obavlja minimalna (npr.

sabiranje cena artikala pri kreiranju fiskalnog računa u trgovini), vreme potrošeno na

prevodjenje podataka iz jednog brojnog sistema u drugi i obrnuto, biće mnogo veće od

samog vremena izvršenja željenih operacija.

znak eksponent viši deo normalizovane mantise

niži deo normalizovane mantise

Page 43: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

37

Drugi nedostatak korišćenja binarnog brojnog sistema je neizbežno uvođenje greške pri

prevodjenju brojeva iz jednog brojnog sistema u drugi.

Primer 4.11 Prevesti broj 0.1 iz dekadnog u binarni brojni sistem.

Primenićemo klasični algoritam za prevođenje brojeva iz brojnog sistema sa jednom

osnovom u brojni sistem sa drugom opisan u poglavlju 3. Dakle, pošto ovaj broj ima samo

razlomljeni deo, množićemo ga osnovom 2:

Korak 1. 2.21.0 0

Korak 2. 4.22.0 0

Korak 3. 8.24.0 0

Korak 4. 6.28.0 1

Korak 5. 2.26.0 1

Korak 6. 4.22.0 0 ...

Vidimo da su korak 6 i korak 2 identični, što znači da će se u nastavku prevođenja cifre

dobijene u koracima 2-5 ponavljati. To znači da će ovaj broj u binarnom brojnom sistemu

biti 00110.0 . Dakle, iako ovaj broj u dekadnom brojnom sistemu ima sasvim jednostavan

zapis, u binarnom brojnom sistemu on je periodičan i ne može se ni u jednom formatu

predstaviti bez greške.

Zbog navedenih problema, u nekim situacijama se umesto binarnog brojnog sistema, za

predstavljanje numeričkih podataka koriste takozvani binarno-kodirani dekadni brojni

sistem.

Pre nego što razmotrimo načine za kodiranje dekadnog brojnog sistema, potrebno je

definisati pojam kodiranje.

Definicija 4.1. Kodiranje znači preslikavanje konačnog skupa reči kreiranih od simbola

jedne azbuke u reči kreiranih od simbola druge azbuke. Reči odredišne azbuke se nazivaju

kodnim rečima.

Primer 4.12 Kodirati skup imena dana u nedelji binarnom azbukom.

Skup koji treba kodirati je:

{Ponedeljak, Utorak, Sreda, Četvrtak, Petak, Subota, Nedelja}.

Ovaj skup sadrži 7 elemenata, što znači da nam je za njegovo kodiranje potrebno 7 reči

binarne azbuke. Uobičajeno je da kodne reči budu iste dužine, što znači da najpre treba

odrediti potrebnu dužinu kodne reči. Poznato je da se od 2 simbola binarne azbuke može

napraviti maksimalno 2n reči dužine n. Ako nam je poznat broj reči koje treba napraviti (k),

dužinu ćemo odrediti po obrascu kn 2log . U našem slučaju, za k=7, n=3. Kako je broj

reči dužine 3 koje možemo napraviti od simbola binarne azbuke 8, ostaje još da odlučimo

koja će reč ostati neiskorišćena i kako ćemo izvršiti preslikavanje polaznog skupa (skupa

dana u nedelji) u skup tih kodnih reči. Jedno moguće rešenje je dato u tabeli 4.1. Ovako

kreirana tabela koja pokazuje preslikavanje polaznih reči u odgovarajuće kodne reči naziva

se kodnom tablicom.

Page 44: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

38

Tabela 4.1 Primer kodiranja dana u nedelji binarnom azbukom

Dan u nedelji Kodna reč

Ponedeljak 000

Utorak 001

Sreda 010

Četvrtak 011

Petak 100

Subota 101

Nedelja 110

Definicija 4.2. Binarno-kodirani dekadni brojni sistem je pozicioni brojni sistem sa

osnovom 10 u kojem se svaka dekadna cifra kodira binarnom azbukom (odnosno zamenjuje

se binarnim rečima).

Minimalna dužina kodnih reči kojima se mogu predstaviti sve dekadne cifre je

410log2 n pa su kod većine BCD kodova kodne reči dužine 4. Kako broj kodnih reči

dužine 4 iznosi 16, a 10 je dekadnih cifara, ostaje problem koje kodne reči treba da ostanu

neiskorišćene i kako izabrati kodnu reč u koju će se odredjena dekadna cifra preslikati.

Jedno od rešenja je da se svakoj poziciji u kodnoj reči dodeli neka težina te da se

vrednost dekadne cifre koja se kodira dobija po formuli:

n

iiitcd

1

gde je:

n - dužina kodne reči,

ci - binarna cifra na poziciji i u kodnoj reči,

ti - težina pridružena poziciji i u kodnoj reči.

Ovako kreirani BCD kodovi se nazivaju težinski kodovi (jer svaka pozicija u kodnoj

reči ima svoju težinu).

Postoji više različitih težinskih BCD kodova od kojih je najkorišćeniji kod sa težinama

"8421" koji se naziva još i prirodni BCD kod. Smatra se prirodnim jer su težine stepeni

dvojke, pa odgovaraju težinama na prve 4 pozicije ispred decimalne tačke u binarnom

brojnom sistemu. Kodne tablice nekih pozicionih BCD kodova prikazane su u tabeli 4.2.

Primer 4.13 Predstaviti broj 27.625 u prirodnom BCD kodu.

Svaku cifru u zapisu broja zamenjujemo odgovarajućom kodnom rečju iz tabele 4.1 i

dobijamo broj:

0010 0111. 0110 0010 0101

Obratiti pažnju da u ovom slučaju svaka cifra mora biti predstavljena sa tačno 4 binarne

cifre te da se prve dve nule ne mogu smatrati "nevažećim", tj. ne mogu se izostaviti iz

zapisa broja.

Page 45: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

39

Tabela 4.2 Kodne tablice nekih težinskih BCD kodova

Dekadna cifra 8421

2421

(Ajkenov kod) 5421 5211 4221 3321

0 0000 0000 0000 0000 0000 0000

1 0001 0001 0001 0001 0001 0001

2 0010 0010 0010 0010 0010 0010

3 0011 0011 0011 0011 0011 0011

4 0100 0100 0100 0111 1000 0101

5 0101 1011 1000 1000 0111 1010

6 0110 1100 1001 1001 1100 1100

7 0111 1101 1010 1011 1101 1101

8 1000 1110 1011 1101 1110 1110

9 1001 1111 1100 1111 1111 1111

Osim težinskih, često su u upotrebi i kodovi sa nekim karakterističnim osobinama koje

su pogodne za specijalne primene.

Tabela 4.3 Kodne tablice nekih BCD kodova sa specijalnim osobinama

Dekadna cifra Grejov kod

Hafmenov kod

AB8C421 "višak 3"

0 0000 0000000 0011

1 0001 1101001 0100

2 0011 0101010 0101

3 0010 1000011 0110

4 0110 1001100 0111

5 0111 0100101 1000

6 0101 1100110 1001

7 0100 0001111 1010

8 1100 1110000 1011

9 1101 0011001 1100

Na primer, Grejov kod je karakterističan po tome da se kodne reči za dve susedne

dekadne cifre uvek razlikuju samo na jednoj poziciji. Kodna tablica Grejovog koda data je

u tabeli 4.3. Zbog navedene osobine, Grejov kod se koristi u A/D i D/A konvertorima jer se

očekuje da će vrednost analognog signala u 2 susedna trenutka odmeravanja razlikovati

maksimalno za 1 kvant pa će pri generisanju 2 susedne kodne reči biti potrebno promeniti

maksimalno 1 bit. O A/D konverziji biće više reči u poglavlju 4.3.

Page 46: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

40

U grupu kodova specijalnih namena svakako treba pomenuti i Hafmenov kod. Ovaj kod

se može posmatrati proširenim prirodnim BCD kodom jer on osim cifara sa težinama 8421

sadrži i dodatne cifre za takozvanu kontrolu parnosti. Bit za kontrolu parnosti uzima

vrednost 1 ukoliko je ukupan broj jedinica na pozicijama koje kontroliše neparan, a

vrednost 0 ukoliko je ukupan broj jedinica na pozicijama paran. U Hafmenovom kodu

postoje čak tri bita za kontrolu parnosti, tako da je dužina kodne reči Hafmenovog koda 7.

Bitovi u Hafmenovom kodu se obeležavaju na sledeći način: AB8C421. Bitovi na

pozicijama 8421 odgovaraju prirodnom BCD kodu, dok cifra C "kontroliše parnost" na

pozicijama sa težinama 4, 2 i 1, cifra B vrši kontrolu parnosti na pozicijama sa težinama 8,

2 i 1, a cifra A je bit za kontrolu parnosti na pozicijama sa težinama 8, 4 i 1. Kodna tablica

Hafmenovog koda prikazana je, takodje, u tabeli 4.3.

Hafmenov kod se uglavnom koristi pri prenosu podataka. U tom slučaju se na prijemnoj

strani ponovo preračunavaju vrednosti bitova za kontrolu parnosti i porede sa primljenim

vrednostima. Ukoliko se pojavi odstupanje, znači da je došlo do greške. Ukoliko je greška

pri prenosu nastala na tačno jednom bitu, pomoću Hafmenovog koda grešku je moguće

detektovati i ispraviti. Ukoliko je greška nastala na 2 ili 3 bita, grešku je moguće samo

detektovati.

U grupu kodova sa specijalnim osobinama spadaju i komplementarni kodovi. Kod

komplementarnih kodova, komplementarnim dekadnim ciframa odgovaraju

komplementarne kodne reči.

Komplementarne dekadne cifre su one čiji je zbir jednak 9. To znači da su

komplementarne cifre 0 i 9, 1 i 8, 2 i 7, 3 i 6, kao i 4 i 5. U opštem slučaju, komplementarne

cifre u brojnom sistemu sa proizvoljnom osnovom su cifre koje se dopunjuju do najveće

cifre tog brojnog sistema.

Komplementarne kodne reči su one koje se mogu dobiti jedna od druge

komplementiranjem svake cifre ponaosob. Npr. kodne reči 0010 i 1101 su

komplementarne. Iz tabele 4.1 se vidi da i neki težinski kodovi imaju osobinu

komplementarnosti. Od navedenih u tabeli, komplementarni su kodovi "2421", "4221" i

"3321". Osim ovih, komplementaran je i kod "višak 3" koji je karakterističan po tome što je

kodna reč svake dekadne cifre jednaka kodnoj reči "8421" koda cifre koja je za 3 veća.

Dakle kod cifre 0, odgovaraće kodu cifre 3 u prirodnom BCD kodu, itd. Celokupna kodna

tablica koda "višak 3" prikazana je u tabeli 4.3.

Očigledno je da je prevođenje brojeva korišćenjem BCD kodova znatno olakšano, ali je

izvođenje računskih operacija u BCD kodovima znatno složenije. S obzirom da je prirodni

BCD kod najlakši za razumevanje pokazaćemo kako se izvodi operacija sabiranja u ovom

kodu.

Sabiranje brojeva u prirodnom BCD kodu:

Ukoliko brojeve predstavljenje BCD kodom saberemo korišćenjem obične binarne

aritmetike, u rezultatu će se pojaviti tetrade koje ne odgovaraju dekadnim ciframa. Zato je u

takvim slučajevima potrebno izvršiti dodatne korekcije. Za sabiranje podataka u BCD kodu

koriste se 2 algoritma. Po jednom korekcija se vrši samo nakon sabiranja, a po drugom

izvesne korekcije se vrše pre, a neke posle sabiranja.

Page 47: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

41

Prvi algoritam se zasniva na dodavanju korekcionog niza "0110" nakon sabiranja i on se

sastoji iz sledećih koraka:

Korak 1. Sabrati brojeve korišćenjem pravila binarne aritmetike.

Korak 2. Dodati korekcioni niz 0110 u sledećim slučajevima:

1. ukoliko je vrednost tetrade veća od 9 (tj. od 1001), ili

2. ukoliko je bilo prenosa sa tekuće tetrade na narednu (prvu levu), ili

3. ukoliko je vrednost tetrade 9 (1001), a prethodna tetrada (prva desno) je

korigovana na osnovu pravila 1 ili 3.

Primer 4.14 Sabrati brojeve 275 i 328 u prirodnom BCD kodu.

Najpre kodiramo ove brojeve i vršimo sabiranje tretirajući ih kao brojeve u binarnom

brojnom sistemu.

110110010101

100000100011

010101110010

Vrednost tetrada na poziciji najmanje težine je veća od 9, pa je po pravilu 1 treba

korigovati. Vrednost druge tetrade je 9, a tetrada koja se nalazi desno od nje se koriguje, pa

po pravilu 3 i nju treba korigovati. Nakon ovih korekcija dobijamo rezultat:

001100000110

01100110

110110010101

Nakon dekodiranja ovog rezultata dobijamo broj 603 (603=275+328).

Drugi algoritam za sabiranje BCD brojeva (algoritam sa korekcijama i pre i posle

sabiranja) sadrži sledeće korake:

Korak 1. Svim tetradama prvog sabiraka dodati korekcioni niz 0110. (Prilikom ove

korekcije prenosa izneđu tetrada nema.)

Korak 2. Izvršiti sabiranje korišćenjem pravila binarne aritmetike.

Korak 3. Tetrade iz kojih nije bilo prenosa na sledeću tetradu korigovati dodavanjem

korekcionog niza 1010. Prilikom ovog sabiranja prenose na tetrade viših

težina ignorisati.

Primer 4.15 Sabrati brojeve 275 i 328 u prirodnom BCD kodu korišćenjem algoritma sa

korekcijom pre i posle sabiranja.

Page 48: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

42

001100000110

1010:3

001100001100

100000100011 :2

101111011000

011001100110 :1

010101110010

Korak

Korak

Korak

4.2 Predstavljanje znakovnih podataka u računaru

U znakovne (alfanumeričke) podatke spadaju velika i mala slova, cifre, specijalni znaci,

kao i izvesni znaci koji služe za upravljanje radom ulazno-izlaznih uređaja, za formatiranje

podataka i sl. Osnovna namena znakovnih podataka je da omoguće da se u računaru

predstavi i obrađuje tekst. Pošto je tekst jedini zapis koji čovek može da razume (čita ili

piše), čovek obično, i numeričke podatke saopštava računaru kao tekst koji se zatim

transformiše u neki od formata za predstavljanje numeričkih podataka i nakon završene

obrade, rezultati se ponovo transformišu u tekstualni zapis i tako prikazuju korisniku.

Za predstavljanje znakovnih podataka u računaru koriste se različiti binarni kodovi od

kojih su najpoznatiji:

ASCII (American Standard Code for Information Interchange),

EBCDIC (Extended Binary Coded Decimal Interchange Code) i

UNICODE.

Osim načina predstavljanja, za svaku vrstu podataka se definiše i skup standardnih

operacija koje se izvode nad njima. Osnovne operacije koje se izvode nad znakovnim

podacima su: nadovezivanje, izdvajanje pojedinih delova (podstringova), poređenje...

4.2.1 ASCII kod

ASCII kod je usvojen od strane Međunarodne organizacije za standardizaciju

(Interational Standardization Organization) pod nazivom ISO 7. Ovo je 7-bitni kod, što

znači da kodna tablica sadrži 128 znakova. S obzirom da je najmanja memorijska jedinica

koja se adresira u računaru veličine 1 bajt, za predstavljanje ASCII kodova u računaru se

koristi ceo bajt, pri čemu se bit najmanje težine ili koristi za kontrolu parnosti, ili za

proširenje ASCII tabele dodatnim znacima karakterističnim za pojedine jezike. Kodna

tablica osnovnog ASCII koda prikazana je u tabeli 4.4.

Do nedavno je ASCII kod bio najkorišćeniji kod u računarstvu. Međutim, njegov

osnovni nedostatak je bio nemogućnost da podrži različite svetske jezike. Za jezike čije se

pismo nije znatno razlikovalo od engleskog, uvođene su modifikacije ASCII tabele tako da

su pojedini specijalni znaci zamenjivani karakterističnim slovima samo za tu azbuku. Na

primer, standardom JUS I.B1.002 definisana je verzija ASCII tabele za naše latinično

pismo. Izmene koje ovaj standard uvodi u ASCII tabelu prikazane su u tabeli 4.5.

Page 49: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

43

Tabela 4.4 ASCII tabela

Binarni kod

Hexa kod

Kara-kter

Binarni kod

Hexa kod

Kara-kter

Binarni kod

Hexa kod

Kara-kter

Binarni kod

Hexa kod

Kara-kter

0000000 00 NUL 0100000 20 SP 1000000 40 @ 1100000 60 `

0000001 01 SOH 0100001 21 ! 1000001 41 A 1100001 61 a

0000010 02 STX 0100010 22 " 1000010 42 B 1100010 62 b

0000011 03 ETX 0100011 23 # 1000011 43 C 1100011 63 c

0000100 04 EOT 0100100 24 $ 1000100 44 D 1100100 64 d

0000101 05 ENQ 0100101 25 % 1000101 45 E 1100101 65 e

0000110 06 ACK 0100110 26 & 1000110 46 F 1100110 66 f

0000111 07 BEL 0100111 27 ' 1000111 47 G 1100111 67 g

0001000 08 BS 0101000 28 ( 1001000 48 H 1101000 68 h

0001001 09 HT 0101001 29 ) 1001001 49 I 1101001 69 i

0001010 0A LF 0101010 2A * 1001010 4A J 1101010 6A j

0001011 0B VT 0101011 2B + 1001011 4B K 1101011 6B k

0001100 0C FF 0101100 2C , 1001100 4C L 1101100 6C l

0001101 0D CR 0101101 2D - 1001101 4D M 1101101 6D m

0001110 0E SO 0101110 2E . 1001110 4E N 1101110 6E n

0001111 0F SI 0101111 2F / 1001111 4F O 1101111 6F o

0010000 10 DLE 0110000 30 0 1010000 50 P 1110000 70 p

0010001 11 DC1 0110001 31 1 1010001 51 Q 1110001 71 q

0010010 12 DC2 0110010 32 2 1010010 52 R 1110010 72 r

0010011 13 DC2 0110011 33 3 1010011 53 S 1110011 73 s

0010100 14 DC4 0110100 34 4 1010100 54 T 1110100 74 t

0010101 15 NAK 0110101 35 5 1010101 55 U 1110101 75 u

0010110 16 SYN 0110110 36 6 1010110 56 V 1110110 76 v

0010111 17 ETB 0110111 37 7 1010111 57 W 1110111 77 w

0011000 18 CAN 0111000 38 8 1011000 58 X 1111000 78 x

0011001 19 EM 0111001 39 9 1011001 59 Y 1111001 79 y

0011010 1A SUB 0111010 3A : 1011010 5A Z 1111010 7A z

0011011 1B ESC 0111011 3B ; 1011011 5B [ 1111011 7B {

0011100 1C FS 0111100 3C < 1011100 5C \ 1111100 7C |

0011101 1D GS 0111101 3D = 1011101 5D ] 1111101 7D }

0011110 1E RS 0111110 3E > 1011110 5E ^ 1111110 7E ~

0011111 1F US 0111111 3F ? 1011111 5F _ 1111111 7F DEL

Tabela 4.5 Razlika između osnovne ASCII tabele i verzije po standardu JUS I.B1.002

Binarni kod Heksadekadni kod Karakter primarne ASCII tabele

Karakter iz tabele poJUS I.B1.002 standardu

1000000 40 @ Ž

1011011 5B [ Š

1011100 5C \ Đ

1011101 5D ] Ć

1011110 5E ^ Č

1100000 60 ` Ž

1111011 7B { Š

1111100 7C | Đ

1111101 7D } Ć

1111110 7E ~ Č

Page 50: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

44

Očigledan nedostatak ovakvih izmena osnovne ASCII tabele je da kada se koristi srpsko

pismo ne mogu se upotrebljavati svi specijalni znaci. Zato danas sve popularniji postaje

UNICODE.

4.2.2 EBCDIC kod

EBCIDIC kod je 8-bitni kod koji je razvila firma IBM, jedna od vodećih firmi u

proizvodnji računara i danas se koristi uglavnom u IBM-ovim operativnim sistemima za

mainframe i super računare. Nastao je kao proširenje 6-bitnog dekadnog koda BCDIC.

4.2.3 UNICODE

UNICODE je nastao iz težnje da se omogući da se u jedinstvenoj tabeli nađu kodovi za

simbole iz svih svetskih jezika te da je pomoću njega moguće bez problema kreirati

višejezične dokumente. Prva standardizovana verzija ovog koda je UCS-2 (2-byte

Universal Character Set) u kojoj su kodne reči dužine 2 bajta. To znači da kodna tablica

sadrži 65536216 kodnih reči (tj. karaktera). Kodne reči su u opsegu 0000-FFFF

(heksadekadno). Prvih 27 kodnih reči iz ovog prostora odgovara istim karakterima kao i u

ASCII tabeli. Ono što je loše kod ovog standarda je da se za smeštanje znakovnih podataka

troši previše memorijskog prostora (za svaki karakter 2 bajta), a realno, u velikom broju

slučajeva koriste se samo karakteri sa početka tabele (karakteri koji postoje u ASCII tabeli

ili u proširenoj ASCII tabeli). Zato su uvedeni i algoritmi za preslikavanje kodova u nizove

bitova promenljive dužine. Ovi algoritmi su poznati kao UTF (Unicode Transformation

Format). Dužina finalnog koda (nakon transformacije) je celobrojni umnožak dužine

osnovne kodne jedinice pa ovi algoritmi u svojoj oznaci nose i dužinu osnovne kodne

jedinice. Danas je najkorišćeniji UTF-8 algoritam (8-bit Unicode Transformation Format),

a razvijeni su i standardi UTF-16 i UTF-32.

UTF-8 algoritam preslikava kodne reči UCS-2 tabele u niske dužine 1, 2 ili 3 osnovne

kodne jedinice (tj. u niske dužine 1, 2 ili 3 bajta). Sve kodne reči koje u sebi imaju do 7

značajnih cifara preslikavaju se u nizove dužine 1B. Kodne reči koje imaju između 8 i 11

značajnih cifara u svom zapisu, preslikavaju se u kodne reči dužine 2B. Kodne reči koje u

svom zapisu imaju više od 11 značajnih cifara preslikavaju se u niske dužine 3B. Tablica

preslikavanja UCS-2 kodnih reči po UTF-8 algoritmu prikazana je u tabeli 4.6.

S obzirom da se i prostor od 216

smatra malim u budućnosti za kodiranje znakova svih

svetskih jezika razvijen je i standard UCS-4 u kojem je dužina dužina kodne reči 4 bajta (32

bita). Po ovom standardu bi se svi kodovi delili u kodne strane. Prvih 16 bitova u kodu

predstavljalo bi oznaku kodne strane, a preostalih 16 kod odgovarajućeg znaka u okviru te

kodne strane. Za sada je definisana samo prva kodna strana i u njoj su smešteni karakteri

koji postoje u standardu UCS-2. Preslikavanjem kodnih reči iz UCS-4 tabele po UTF-8

algoritmu dobile bi se kodne reči dužine od 1 do čak 6 bajtova. Standard UCS-4 još uvek

nije doživeo praktičnu primenu.

Page 51: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

45

Tabela 4.6 Preslikavanje UCS-2 kodnih reči u UTF-8 format

UCS-2 opseg (heksadekadno) UTF-8 binarni zapis

0000-007F 0xxxxxxx

0080-07FF 110xxxxx 10xxxxxx

0800-FFFF 1110xxxx 10xxxxxx 10xxxxxx

4.3 Predstavljanje zvuka u računaru

Obrada zvuka na računaru se poslednjih godina primenjuje u različitim oblastima kao

što su:

1. Muzička produkcija (za snimanje CD-ova, dodavanje zvučnih efekata...),

2. Video produkcija (za dodavanje zvučnih efekata i prateće muzike video

zapisima...),

3. Web (za dodavanje zvučnih efekata na Web stranama, slušanje muzičkih CD-

ova preko Web-a, Web-radio...),

4. Digitalni radio,

5. Sinteza i prepoznavanje govora...

Zvuk je po svojoj prirodi mehanički talas, koji se odgovarajućim uređajima za prijem

(mikrofonima) pretvara u elektromagnetni talas (analogni signal) čija je osnovna osobina

kontinualnost. To znači, da bi se on predstavio u računaru, on mora da se pretvori u

takozvani digitalni (diskretan) oblik, odnosno, u niz nula i jedinica. Transformacija bilo kog

analognog signala u digitalan oblik se naziva diskretizacijom signala. U digitalnim

sistemima kontinualni signal se predstavlja skupom svojih vrednosti u konačnom broju

tačaka. To znači da je prvi korak u diskretizaciji signala, očitavanje vrednosti signala u

konačnom broju vremenskih trenutaka. Ovaj postupak se naziva odmeravanjem ili

uzorkovanjem ili kvantovanjem vremenske ose. Na slici 4.7 (a) prikazan je originalni

analogni signal, a na slici 4.7 (b) njegova aproksimacija nakon odmeravanja.

Vrednosti koje signal uzima, takođe, pripadaju kontinualnom skupu, što znači da ni

svaku tačku sa vrednosne ose ne možemo predstaviti u računaru. Zato se vrši i

diskretizacija vrednosne ose, odnosno kvantovanje vrednosne ose. Diskretizacija vrednosne

ose podrazumeva da se cela vrednosna osa deli na konačan broj nepreklapajućih intervala

(kvanata) i da se svakom takvom intervalu pridružuje jedinstveni binarni kod. Na koliko

kvanata će se vrednosna osa podeliti zavisi od toga sa koliko bitova ćemo kodirati vrednosti

signala. Uobičajeno je da se vrednosti audio signala kodiraju sa 16 bitova.

Na slici 4.7 (c) prikazano je kvantovanje vrednosne ose ukoliko se kodiranje

podintervala vrši sa 4 bita, tj. kada se interval vrednosne ose u kojem se nalaze sve

vrednosti signala podeli na 16 podintervala. Konačno, analogni signal sa slike 4.7 (a) će

pretvoriti u niz nula i jedinica kao što je prikazano u tabeli 4.7.

Page 52: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

46

Slika 4.7 Analogni signal (a), rezultat njegovog odmeravanja (b) i rezultat kvantovanja

vremenske ose (c)

Tabela 4.7 Kodiranje vrednosti analognog signala

Trenutak t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

Vrednost 0 3 6 6 4 1 -3 -7 -6 -2 1

4-bitni

kod 0000 0011 0110 0110 0100 0001 1101 1001 1010 1110 0001

Kvalitet audio signala će biti veći ukoliko je frekvenca odmeravanja veća. No, sa

porastom frekvence odmeravanja raste i veličina memorijskog prostora potrebnog za

čuvanje audio zapisa. Zbog toga su razvijene različite metode za kompresiju audio zapisa.

Neki od standarda za kompresiju audio materijala su:

1. MP3 – često korišćena kompresija na raznim multimedijalnim plejerima,

t t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

t t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

(a)

(b)

S(t)

S(t)

t t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

S(t)

0 1 2 3 4 5 6 7

-1 -2 -3 -4 -5 -6 -7 -8

(c)

Page 53: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

47

2. AAC – najkorišćeniji za kompresiju audio zapisa koji ide uz video zapis,

3. Ogg Vorbis – koristi se u video igricama, na internet sajtovima i u internet

radio stanicama.

4.4 Predstavljanje slika u računaru

Za predstavljanje slika u računarskim sistemima koriste se 2 metode:

vektorska grafika,

rasterska grafika.

Kod vektorske grafike, slika se predstavlja kao skup elementarnih geometrijskih oblika

koje se nazivaju još i geometrijske primitive. U geometrijske primitive spadaju:

polilinije (prave linije, Bezierove krive,...) i

polimarkeri (pravougaonici, krugovi, elipse...).

Za svaku geometrijsku primitivu sa slike se pamti njen oblik (matematički model),

položaj, boja, vrsta linije kojom je iscrtana, debljina linije... S obzirom da je svaka

geometrijska primitiva definisana svojim matematičkim modelom, veoma je jednostavno

vršiti njihove transformacije (pomeranje, rotiranje, skaliranje...). Vektorska grafika se

isključivo koristi za predstavljanje slika koje su kreirane u samom računaru, korišćenjem

nekog od alata za kreiranje i obradu slika, pa se zbog toga često kaže da vektorska grafika

služi za predstavljanje crteža. Najpopularniji alati za obradu slika koji koriste vektorsku

grafiku za zapis slike su:

CorelDraw (koristi CDR format),

Adobe Illustrator (AI format),

različiti alati za tehničko crtanje (CAD alati) među kojima je najpopularniji

AutoCAD (koji koristi DXF format)...

Kod rasterske grafike slika se pamti kao matrica tačaka (piksela) i obično se za svaki

piksel na slici pamti njegova boja i intenzitet osvetljenja. Broj piksela po jedinici površine

se naziva rezolucijom slike u rasterskoj grafici. Rasterska grafika se može koristiti i za

predstavljanje slika kreiranih u samom računaru (npr. pomoću alata Adobe Phooto Shop,

Paint i sl.), tako i slike preuzete sa različitih digitalnih uređaja: fotoaparata, skenera...).

Zavisno od toga koje boje koristimo na slici razlikujemo:

crno-bele slike,

slike u nijansame sive boje i

slike u boji.

Kod crno-belih slika se koriste samo 2 boje pa je za predstavljanje svakog piskela na

slici dovoljan 1 bit.

Ono što se u žargonu naziva "crno-belom" slikom je, u stvari, slika u nijansama sive

boje. Obično se koristi 256 nijansi sive, tako da se za predstavljanje svakog piksela na

slikama ove vrste koristi po 1 bajt.

Page 54: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

48

Slike u boji zahtevaju najviše memorijskog prostora jer se u digitalnim uređajima boje,

uglavnom, predstavljaju navođenjem intenziteta za 3 osnovne boje: crvenu, zelenu i plavu

(ili engleski: red, green i blue, pa se zbog toga ovaj format naziva još i RGB format). Jedan

od načina za predstavljanje slika u boji je da se za svaki piksel na slici navedu intenziteti

sve 3 komponente i da se za svaki od njih iskoristi po 1 bajt. U toj notaciji boje bi bile

predstavljene na sledeći način:

crvena (255, 0, 0),

zelena (0, 255, 0),

plava (0, 0, 255),

crna (0, 0, 0),

bela (255, 255, 255).

Ovaj način predstavljanja slike se koristi u BMP (Bitmap) formatu. Ovakvo

predstavljanje daje najbolji kvalitet slike, ali je veličina memorijskog prostora za pamćenje

slike izuzetno veliki.

Najgrublji način da se smanji memorijski prostor potreban za pamćenje slike je da se

smanji rezolucija (tj. broj tačaka po jedinici površine), čime se drastično smanjuje kvalitet

slike. Na slici 4.8. prikazana je ista slika predstavljena sa rezolucijom 256x256 piksela (a),

64x64 (b) i 8x8 (c).

(a) (b) (c)

Slika 4.8 Slika "Lena" predstavljena sa različitim rezolucijama

Sledeća metoda za sažimanje veličine memorijskog prostora potrebnog za pamćenje

slike je da se na jednom mestu zapamte definicije svih boja koje se na slici koriste. To se

obično naziva paletom boja. Tada se u matrici piksela ne pamte intenziteti sve 3

komponente boje, već pozicija (indeks) boje u paleti. Neki formati (poput GIF ili PCX

formata) uvode i ograničenje veličine palete na 256 različitih boja tako da je za

predstavljanje boje piskela dovoljan 1 bajt.

I pored uvođenja paleta, pamćenje podataka o svakom piskelu traži previše

memorijskog prostora pa su zbog toga širu primenu našli formati za predstavljanje slika

koji vrše i izvesnu kompresiju. Zavisno toga da li koriste kompresiju ili ne i koju vrstu

kompresije koriste sve formate delimo na:

formate bez kompresije (npr. BMP),

Page 55: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

49

formate sa kompresijom bez gubitaka (npr. GIF),

formate sa kompresijom sa gubicima (npr. JPG).

GIF format vrši kompresiju samo u okviru iste vrste. Umesto da se za svaki piksel u

vrsti zapamti indeks boje kojom je obojen, pamte se parovi (indeks boje, broj uzastopnih

piksela u vrsti koji su obojeni tom bojom). S obzirom na to da je i paleta ograničena na 256

boja, GIF fajlovi su veoma kratki tako da se GIF format uglavnom koristi za transport kroz

mrežu, tj. slike koje se nalaze na Web stranama su obično u GIF formatu. Razlog zašto se

GIF format koristi na Internetu je i taj što GIF format podržava transparentost boja (pa slike

mogu da posluže i kao pozadina) i što u GIF fajlu može da se zapamti i veći broj slika (tako

da se pomoću GIF formata mogu da predstave i kratke animacije).

JPG format je najšire korišćen format za predstavljanje slika. Osnovna mu je namena za

predstavljanje velikih slika sa velikim brojem različitih boja u sebi. Broj boja na slici u JPG

formatu može da bude i svih 624 107,162 boja. JPG format vrši kompresiju tako što se

slika razlaže na matrice piksela veličine 8x8 koje se kompresuju po veoma složenom

algoritmu. U JPG formatu korisnik sam može da se definiše stepen kompresije (tako da on

sam pravi balans između kvaliteta slike i veličine memorijskog prostora koji će biti

korišćen za njeno pamćenje). Na slici 4.9 prikazana je ista slika u BMP formatu, JPG

formatu sa srednjim stepenom kompresije i JPG formatu sa maksimalnim stepenom

kompresije. Očigledno je da korišćenjem algoritama za kompresiju mnogo manje gubi na

kvalitetu nego kada se grubo smanjuje njena rezolucija.

(a) (b) (c)

Slika 4.9 Slika "Lena" u JPG formatu bez kompresije, sa srednjim stepenom kompresije i

sa maksimalnim stepenom kompresije

4.5 Predstavljanje video zapisa u računaru

Video zapis, u stvari, predstavlja veliki broja slika koje se pri emitovanju smenjuju

određenom brzinom i time se stvara utisak kontinualne scene. Za predstavljanje jedne slike

u visokoj rezoluciji potrebno je i do 1MB memorijskog prostora. Ako jedna sekunda video

materijala sadrži 25 slika, onda će nam za film od 90 minuta trebati oko 135GB

memorijskog prostora. Zbog velikog memorijskog prostora koji zauzimaju nekompresovani

video podaci njihova kompresija igra važnu ulogu u manipulaciji video podacima.

Page 56: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

50

Programi za kompresiju video podataka se popularno zovu kodeci. Oni u sebi sadrže

koder koji vrši kompresiju video zapisa u veoma specifičan format, koji može biti

reprodukovan samo korišćenjem dekodera koji odgovara koderu. Kompresija kod video

zapisa se postiže redukcijom statičnih delova scene. Na primer, kod video zapisa koji sadrži

neku informativnu emisiju, delovi scene koji se pomeraju su voditeljeva usta i glava, dok je

ostatak scene statičan. Nema svrhe memorisati više puta isti deo scene, dovoljno je

memorisati jednom deo scene koji se ne menja i potom ga koristiti više puta, dok se za deo

scene koji se menja memorišu sve promene. Na ovaj način se drastično smanjuje

memorijski prostor potrebam za predstavljanje video zapisa. Na slici 4.10 prikazana su 2

susedna frejma (slike) u jednom video zapisu i razlika između njih. Očigledno je da razlika

između frejmova sadrži velike površine obojene istom bojom pa je zgodna za kompresiju.

Ovo je samo jedna od tehnika koje se koriste u kompresiji video zapisa. U praksi,

kompresija video podataka je mnogo kompleksnija.

1. Frejm 2. Frejm Razlika između frejmova

Slika 4.10 Dva susedna kadra u jednom video zapisu i razlika između njih

Organizacija koja se bavi standardizacijom metoda za kompresiju video zapisa je

MPEG (eng. Motion Picture Experts Group). Ova grupa je do sada objavila više standarda

za predstavljanje video podataka:

1) MPEG-1: Standard za audio i video kompresiju. Namenjen za CD-ROM video

aplikacije, ali je stekao popularnost na Internetu gde se video podaci prenose u

formi .mpg fajlova. Nivo 3 ovog standarda je već pomenuti MP3 standard za

kompresiju audio zapisa.

2) MPEG-2: Standard za digitalnu televiziju i DVD.

3) MPEG-4: Standard za multimediju i Web kompresiju. Glavna karakteristika

ovog standarda je da se kompresija ne vrši na nivou piksela, već na nivou

objekata koji se nalaze i pomeraju na slici.

4) MPEG-7: Standard u razvoju čiji je osnovni cilj da, za razliku od predhodnih

MPEG standarda koji opisuju sadržaje, on definiše informacije o sadržaju

(meta - sadržaj).

5) MPEG-21: Takođe, standard u razvoju - Multimedia Framework.

Page 57: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

4 . P R E D S T A V L J A N J E P O D A T A K A U R A Č U N A R U

51

Pitanja i zadaci

1) Navesti formate za predstavljanje celih brojeva u računaru i u svakom od njih

predstaviti brojeve +5 i -5 u 32-bitnoj reči računara.

2) Objasniti kako izgleda nepotpuni komplement celih brojeva i predstaviti brojeve +362 i

-362 u nepotpunom komplementu u 32-bitnoj reči računara.

3) Objasniti kako se kreira potpuni komplement celih brojeva i predstaviti brojeve +1 i -1

u 32-bitnoj reči računara u ovom formatu.

4) Objasniti kako se celi brojevi predstavljaju u formatu sa pomerajem i predstaviti brojeve

+3 i -3 u 32-bitnoj reči računara u ovom formatu.

5) Objasniti postupak sabiranja brojeva predstavljenih u nepotpunom i potpunom

komplementu.

6) Predstaviti brojeve +9 i -5 u nepotpunom komplementu i izvršiti njihovo sabiranje.

7) Predstaviti brojeve +9 i -5 u potpunom komplementu i izvršiti njihovo sabiranje.

8) Navesti formate za predstavljanje realnih brojeva u računaru i u svakom od njih

predstaviti broj 15.625.

9) Objasniti predstavljanje realnih brojeva u formatu sa pokretnim zarezom i predstaviti

broj 0.25 u ovom formatu.

10) Predstaviti broj 22 u binarnom brojnom sistemu i u prirodnom BCD kodu.

11) Kodirati imena meseci u godini binarnom azbukom. Voditi računa da dužina kodnih

reči bude minimalna.

12) Korišćenjem tabele 4.1 kodirati broj 27.625 težinskim kodovima "2421", "5421",

"5211", "4221" i "3321".

13) Kreirati kodnu tablicu težinskog komplementarnog koda „2421“ i korišćenjem kreirane

tabele kodirati broj 75. (Kodne reči ovog koda za cifre 0-4 identične su kodnim rečima

ovih cifara u prirodnom BCD kodu).

14) Kreirati kodnu tablicu Hafmenovog koda i predstaviti broj 75 u Hafmenovom kodu.

Napomena:Hafmenov kod proširuje prirodni BCD kod ciframa za kontrolu parnosti.

Pozicije u Hafmenovom kodu su AB8C421 pri čemu cifra A kontroliše pozicije 8, 4 i 1,

cifra B pozicije 8, 2 i 1, a cifra C pozicije 4, 2 i 1.

15) Objasniti kako se alfanumerički (tekstualni) podaci predstavljaju u računaru.

16) Ukratko objasniti razliku između ASCII i UNICODE kodova.

17) Objasniti postupak diskretizacije analognih signala.

18) Objasniti razliku između vektorske i rasterske grafike.

19) Kako se u računaru može predstaviti skenirana fotografija (korišćenjem vektorske ili

rasterske grafike)? Zašto?

20) Da li se slika predstavljenja u nekom formatu koji koristi vektorsku grafiku može

konvertovati u neki format koji koristi rastersku grafiku? Da li je obrnuta konverzija

moguća? Zašto?

Page 58: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 59: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

53

5 PREKIDAČKA ALGEBRA

U prethodnom poglavlju je pokazano da se svi podaci u računaru predstavljaju pomoću

samo 2 vrednosti: 0 i 1. To znači da se sva obrada podataka u računaru svodi na izvođenje

određenih operacija nad skupom B={0,1}. Kako je u matematici poznato da skup podataka

sa operacijama koje su u njemu definisane čini neku algebarsku strukturu, algebarska

struktura koja predstavlja matematičku osnovu celokupne obrade podataka u računaru je

prekidačka algebra.

Za formalno definisanje prekidačke algebre potrebno je uvesti najpre pojam Bulove

algebre.

5.1 Bulova algebra

Bulova algebra je dobila ime po svom tvorcu

Džordžu Bulu (George Boole), engleskom

matematičaru iz 19. veka. U nastavku je data formalna

definiciju Bulove algebre.

Definicija 5. 1: Neka je u skupu ,,, cbaB

definisana unarna operacija ¯ i binarne operacije + i .

Algebarska struktura (B, ¯, +, ) predstavlja Bulovu

algebru ukoliko su operacije ¯, + i zatvorene u skupu

B i zadovoljavaju aksiome Bulove algebre.

Operacija je zatvorena u nekom skupu ukoliko za

svaki skup operanada koji pripada tom skupu, rezultat

operacije, takođe, pripada tom skupu. U konkretnom

slučaju to znači:

BaBaa

BbaBbBaba ,

BbaBbBaba ,

Slika 5.1 George Boole -

tvorac Bulove algebre

Slika 4.1 George Boole -

tvorac Bulove algebre

Slika 4.2

Slika 4.3

Slika 4.4 dfsdfs

Slika 4.5 Džorž Bul

Slika 4.6

Slika 4.7

Page 60: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

54

Sve aksiome Bulove algebre se definišu kao jednakosti Bulovih izraza. Zato uvodimo i

pojam Bulovog izraza:

Definicija 5. 2: Bulov izraz se formira korišćenjem sledećih pravila:

1. Bulovi izrazi su konstante (0,1) i promenljive (a,b,c,x,y,z,...).

2. Ukoliko su 1E i 2E Bulovi izrazi, tada su i

21 EE , 21 EE , 1E i )( 1E

takođe Bulovi izrazi.

3. Bulov izraz se može kreirati samo primenom pravila 1. i 2. konačan broj

puta.

Primer 5.1 Neki primeri Bulovih izraza su: )( , , , , , ,0 zyxxyxyxyxxx

5.1.1 Aksiome Bulove algebre

(1) Operacije + i su asocijativne, tj:

,, BcBbBacba cbacba , cbacba

(2) Operacije + i su komutativne, tj:

, BbBaba abba , abba

(3) U skupu B postoje neutralni elementi za sabiranje (0) i množenje (1); tj:

Baa aaa 00 , aaa 11

(4) Za svaki element a iz skupa B, u skupu B postoji i njegov komplement a koji

zadovoljava sledeće osobine:

Baa Baa 1 aaaa , 0 aaaa

(5) Operacije + i su distributivne jedna u odnosu na drugu, tj:

,, BcBbBacba cabacba ,

cabacba

Osim ovih, operacije Bulove algebre zadovoljavaju još neka tvrđenja koja se mogu

dokazati na osnovu navedenih aksioma, pa se ta tvrđenja nazivaju teoremama Bulove

algebre.

Page 61: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

55

5.1.2 Teoreme Bulove algebre

(1) Zakon involutivnosti (dvostruke negacije):

aaBaa

(2) Zakon idempotencije:

Baa aaa , aaa

(3) U skupu B postoje nulti elementi za sabiranje (1) i množenje (0); tj:

Baa 111 aa , 000 aa

(4) Zakon sažimanja:

, BbBaba ababa , ababa )(

(5) Zakon apsorpcije:

, BbBaba abaa , abaa

(6) De Morganovi zakoni:

, BbBaba baba , baba

Da bi se skratio postupak dokazivanja teorema Bulove algebre koristi se princip

dualnosti koji je dat u sledećim definicijama:

Definicija 5. 3: Ako se Bulovom izrazu izvrši uzajamna zamena operacija “+” i “·” i

konstanti 0 i 1, a simboli promenljivih i simbol negacije ostanu nepromenjeni, dobiće se

dualni Bulov izraz.

Definicija 5. 4: Princip dualnosti - Istinitostna vrednost dualnih Bulovih izraza je jednaka,

tj. ako je neki Bulov izraz istinit, istinit je i njemu dualan izraz.

Ukoliko se pažljivo pogledaju aksiome i teoreme Bulove algebre, uočava se da se one,

uglavnom, sastoje iz dva dela, dva dualna Bulova izraza. To znači da je pri dokazivanju

teorema Bulove algebre uvek dovoljno dokazati da je samo njihov prvi deo istinit, pa na

osnovu principa dualnosti možemo tvrditi da je i odgovarajući drugi deo istinit. Inače, kad

smo već dokazali istinitiost prvog dela bilo koje teoreme, istinitost drugog dela se može

dokazati istovetnim postupkom (korišćenjem dualnih izraza istih aksioma).

Dokazi teorema Bulove algebre:

(1) Zakon involutivnosti:

Pođimo od aksiome (4) po kojoj za svaki element skupa B i njegov komplement

važe jednakosti:

Page 62: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

56

1 aa , 0aa

Ukoliko u navedenim jednakostima a zamenimo sa a dobićemo:

1 aa , 0aa

Primenom aksiome (2) dati izrazi se transformišu u

1 aa , 0aa

Poređenjem poslednjih i prvih navedenih izraza u dokazu zaključujemo da je

aa .

(2) Zakon idempotencije:

aa 1)( aa - Aksioma (3)

)()( aaaa - Aksioma (4)

aaa - Aksioma (5)

0a - Aksioma (4)

a - Aksioma (3)

(3) Postojanje nultih elemenata:

1a 1)1( a - Aksioma (3)

)()1( aaa - Aksioma (4)

aa 1 - Aksioma (5)

aa - Aksioma (3)

1 - Aksioma (4)

(4) Zakon sažimanja

abba )( bba - Aksioma (5)

1a - Aksioma (4)

= a - Aksioma (3)

(5) Zakon apsorpcije

aba baa 1 - Aksioma (3)

)1( ba - Aksioma (5)

1a - Teorema (3), već dokazana

= a - Aksioma (3)

(6) De Morganovi zakoni

Da bismo dokazali da je baba , po aksiomi (4), treba dokazati da je

1)( baba i da je 0)()( baba .

Page 63: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

57

baba )( )()( bbaaba - Aksioma (5)

= )()( bbabaa - Aksioma (2)

= )1()1( ab - Aksioma (4)

= 11 - Teorema (3), već dokazana

= 1 - Teorema (2), već dokazana

baba )( babbaa - Aksioma (5)

= abbbaa - Aksioma (2)

= ab 00 - Aksioma (4)

= 00 - Teorema (3), već dokazana

= 0 - Teorema (2), već dokazana

5.2 Prekidačka algebra

Definicija 5. 5: Bulova algebra nad skupom od samo dva elementa (B={0,1}) u kojoj su

operacije +, , i ¯ definisane tablicama prikazanim u tabelama 5.1, 5.2 i 5.3, respektivno,

predstavlja prekidačku algebru.

Tabela 5. 1. Definicija operatora +

+ 0 1

0 0 1

1 1 1

Tabela 5. 2. Definicija operatora

0 1

0 0 0

1 0 1

Tabela 5. 3. Definicija operatora ¯

¯

0 1

1 0

Operacija + prekidačke algebre je poznata još i pod nazivom LOGIČKO ILI, operacija

kao LOGIČKO I, a operacija ¯ kao LOGIČKO NE.

Page 64: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

58

Pitanja i zadaci

1) Korišćenjem aksioma i već dokazanih teorema Bulove algebre, dokazati druge delove

teorema (2)-(6).

2) Proveriti da li operacije ILI, I i NE zadovoljavaju aksiome Bulove algebre.

3) Navesti De Morganova pravila i primenom ovih pravila transformisati izraz yzxyzx

tako da u izrazu ne postoji komplement ni jednog složenog izraza (sume ili proizvoda).

4) Kako se formira dualan Bulov izraz? Napisati dualan izraz izraza: yzxyx

Page 65: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

59

6 PREKIDAČKE FUNKCIJE

Rad svakog digitalnog uređaja, pa samim tim i svakog dela računarskog sistema, se

može opisati pomoću sistema prekidačkih funkcija. U ovom poglavlju ćemo, najpre, dati

definiciju prekidačkih funkcija, a zatim ćemo se upoznati sa načinima njihovog

predstavljanja.

Definicija 6. 1: Prekidačka funkcija n-promenljivih ),...,,( 21 nxxxf se definiše kao

preslikavanje

}1,0{}1,0{: nf

Uređene n-torke (k1,k2,…,kn) gde k1,k2,…,kn uzimaju vrednosti iz skupa {0,1} se

nazivaju vekrotima prostora {0,1}n, ili ulaznim vektorima funkcije f. Ulazni vektori se

kraće zapisuju kao k1k2…kn.

Primer 6.1 Neki ulazni vektori funkcije ),,,,( 54321 xxxxxf su:

(0,0,1,0,1) ili 00101,

(1,0,0,1,1) ili 10011,

(1,1,1,1,1) ili 11111, itd.

S obzirom da svaka ulazna promenljiva prekidačke funkcije ima dve moguće vrednosti,

ukupan broj ulaznih vektora prekidačke funkcije n-promenljivih je 2n.

Primer 6.2 Ulazni vektori prekidačke funkcije 3 promenljive ),,( 321 xxxf su: 000, 001,

010, 011, 100, 101, 110 i 111.

Definicija 6. 2: Prekidačka funkcija koja ima definisanu vrednost na svkom ulaznom

vektoru se naziva potpuno definisana prekidačka funkcija.

Definicija 6. 3: Prekidačka funkcija koja nema definisanu vrednost za sve ulazne vektore

se naziva nepotpuno definisana prekidačka funkcija.

Vrednost funkcije se ne definiše na pojedinim ulaznim vektorima onda kada ne postoji

realna situacija u kojoj bi se takav vektor pojavio na ulazu. Na primer, funkcije koje opisuju

rad konvertora BCD kodova nisu definisane na svim ulaznim vektorima, jer svi ulazni

vektori nisu kodovi dekadnih cifara.

Page 66: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

60

Kada funkcija nije definisana na nekom ulaznom vektoru, njena vrednost na tom

vektoru se obeležava zvezdicom. Uvođenje zvezdice u skup mogućih vrednosti funkcije će

omogućiti da se napravi optimalna mreža za realizaciju nepotpuno definisane prekidačke

funkcije o čemu će detaljnije biti reči u poglavlju 7.

6.1 Načini predstavljanja prekidačkih funkcija

Pošto je domen prekidačke funkcije ograničen (rečeno je već da je ukupan broj ulaznih

vektora prekidačke funkcije n-promenljivih 2n), zadavanje prekidačke funkcije može da se

izvrši tako što se navede vrednost funkcije za svaki mogući ulazni vektor. U takve metode

predstavljanja prekidačkih funkcija spadaju:

predstavljanje prekidačkih funkcija tablicom istinitosti,

predstavljanje prekidačkih funkcija vektorom istinitosti,

predstavljanje prekidačkih funkcija skupovima decimalnih indeksa,

predstavljanje prekidačkih funkcija decimalnim indeksom funkcije.

Druge grupe metoda za predstavljanje prekidačkih funkcija koje će u okviru ovog

udžbenika biti razmatrane su predstavljanje prekidačkih funkcija pomoću analitičkih formi

(tj. korišćenjem Bulovih izraza).

6.1.1 Predstavljanje prekidačkih funkcija tablicom istinitosti

Tablica istinitosti prekidačke funkcije n-promenljivih je tabela koja ima 2n vrsta i 2

kolone. U prvoj koloni se navode ulazni vektori funkcije, a u drugoj vrednosti funkcije za

odgovarajuće ulazne vektore.

Primer 6.3 U tabeli 6.1 prikazana je tablica istinitosti jedne potpuno definisane prekidačke

funkcije 3 promenljive.

Tabela 6.1 Tablica istinitosti potpuno definisane prekidačke funkcije

321 xxx ),,( 321 xxxf

000 0

001 1

010 1

011 0

100 1

101 1

110 0

111 0

Page 67: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

61

Primer 6.4 Tabela 6. 2 sadrži tablicu istinitosti jedne nepotpuno definisane prekidačke

funkcije 3 promenljive.

Tabela 6.2 Tablica istinitosti nepotpuno definisane prekidačke funkcije

321 xxx ),,( 321 xxxf

000 0

001 1

010 1

011 *

100 0

101 1

110 *

111 *

6.1.2 Predstavljanje prekidačkih funkcija vektorom istinitosti

Iz tabela 6.1 i 6.2 se vidi da se u tablici istinitosti ulazni vektori uvek ređaju po

leksikografskom uređenju od najmanjeg prema najvećem. To znači da je prva kolona za sve

funkcije sa istim brojem ulaznih promenljivih u tablici istinitosti uvek ista pa je za

jednoznačno određenje funkcije dovoljno pamtiti samo drugu kolonu, tj. samo kolonu sa

vrednostima funkcije. Vektor vrednosti funkcije u kojem je zadržan navedeni redosled

navođenja članova je poznat kao vektor istinitosti funkcije.

Primer 6.5 Prekidačka funkcija iz primera 6. 3 se može predstaviti vektorom istinitosti:

T01101100F .

Primer 6.6 Prekidačka funkcija iz primera 6. 4 se može predstaviti vektorim istinitosti:

T**01*011F .

6.1.3 Predstavljanje prekidačkih funkcija skupovima decimalnih indeksa

Svaki ulazni vektor prekidačke funkcije možemo posmatrati kao jedan binarni broj. Ako

taj broj prevedemo u dekadni brojni sistem dobijamo decimalni indeks ulaznog vektora.

Decimalni ideks ulaznog vektora se izračunava po formuli:

n

i

inikd

0

2 ,

gde je ik vrednost promenljive sa rednim brojem i u ulaznom vektoru.

Page 68: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

62

Decimalni indeks ulaznog vektora funkcje n-promenljivih uzima vrednosti iz intervala

]12,0[ n.

Primer 6.7 U tabeli 6. 3 je prikazana proširena tablica istinitosti prekidačke funkcije iz

primera 6. 3. Prva kolona u tabeli (obeležena sa d) predstavlja decimalni indeks

odgovarajućeg ulaznog vektora.

Tabela 6.3 Proširena tablica istinitosti prekidačke funkcije

d 321 xxx ),,( 321 xxxf

0 000 0

1 001 1

2 010 1

3 011 0

4 100 1

5 101 1

6 110 0

7 111 0

Za potpuno definisanu funkciju n-promenljivh možemo definisati 2 skupa decimalnih

indeksa:

skup decimalnih indeksa ulaznih vektora na kojima funkcija ima vrednost 0 (koji

se obeležava sa )0(f i

skup decimalnih indeksa ulaznih vektora na kojima funkcija ima vrednost 1 (koji

se obeležava sa )1(f .

Primer 6.6 Skupovi decimalnih indeksa za funkciju iz primera 6.3 (prikazanu u tabeli 6.1)

su:

7,6,3,0)0( f i

5,4,2,1)1( f .

Potpuno defininisana prekidačka funkcija je jednoznačno određena i kada je dat samo

jedan od navedenih skupova decimalnih indeksa, tj. dovoljno je navesti samo skup )0(f ili

samo skup )1(f jer je nff 1,0)1()0( .

Za nepotpuno definisane prekidačke funkcije uvodi se i treći skup decimalnih indeksa ((*)f ) koji sadrži decimalne indekse ulaznih vektora na kojima funkcija nije definisana.

Za definisanje nepotpuno definisane prekidačke funkcije dovoljno je navesti dva od tri

moguća skupa desimalnih indeksa jer je kod nepotpuno definisanih funkcija

nfff 1,0(*))1()0( .

Page 69: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

63

Primer 6.7 Proširena tablica istinitosti nepotpuno definisane funkcije iz primera 6. 4 data

je u tabeli 6. 4. Skupvi decimalnih indeksa ove funcije su:

4,0)0( f ,

5,2,1)1( f i

7,6,3(*) f .

Tabela 6.4 Proširena tablica istinitosti nepotpuno definisane prekidačke funkcije

d 321 xxx ),,( 321 xxxf

0 000 0

1 001 1

2 010 1

3 011 *

4 100 0

5 101 1

6 110 *

7 111 *

6.1.4 Predstavljanje prekidačkih funkcija decimalnim indeksom funkcije

Pošto je i sam vektor istinitosti prekidačke funkcije je jedan niz binarnih cifara, i njega

možemo tretirati kao binarni broj. Dekadni ekvivalent tog binarnog broja predstavlja

decimalni indeks funkcije. Ostaje samo problem kojim redosledom ćemo formirati taj

binarni broj (od prve vrste iz tablice istinitosti ka poslednjoj ili od poslednje ka prvoj).

Ukoliko se broj čita počev od prve vrste, prva pročitana cifra bi imala najveću težinu, a ona

odgovara ulaznom vektoru koji ima najmanji decimalni indeks (0). Zbog toga se pri

određivanju decimalnog indeksa funkcije prva vrednost iz tablice istinitosti uzima sa

najmanjom težinom (sa težinom 20). Dakle formula za izračunavanje decimalnog indeksa

funkcije je

12

0

2)(

n

i

if ifD ,

gde je i decimalni indeks ulaznog vektora.

Primer 6.8 Decimalni indeks funkcije iz primera 6. 3 (čija je proširena tablica istinitosti

data u tabeli 6. 3) je:

542020212120212120 76543210 fD .

Page 70: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

64

NAPOMENA: Decimalnim indeksom mogu biti predstavljenje samo potpuno definisane

prekidačke funkcije.

6.2 Bulove operacije

U definiciji Bulove, pa samim tim i prekidačke algebre, navedene su 3 osnovne Bulove

operacije ¯, +, . Međutim, pod Bulovim operacijama u širem smislu se podrazumevaju sve

prekidačke funkcije jedne i dve promenljive. U tabeli 6.5 su navedene sve prekidačke

funkcije jedne promenljive, a u tabeli 6. 6 sve prekidačke funkcije 2 promenljive. U tabeli

6.6 je dodata i kolona sa naslovom Bulov izraz koja pokazuje kako se navedena operacija

može predstaviti pomoću osnovnih Bulovih operacija.

Bulove operacije se veoma jednostavno realizuju elektronskim komponentama koje se

nazivaju logička kola (o čemu će biti reči u poglavlju 7). Kombinacijom logičkih kola se

projektuju prekidačke mreže koje realizuju složenije prekidačke funkcije. To znači da se

složenije prekidačke funkcije mogu predstaviti pomoću Bulovih operacija. Skup Bulovih

operacija kojima se mogu predstaviti sve prikidačke funkcije predstavlja bazis prekidačke

algebre. Skup operacija {¯, +, } se naziva pripodni bazis prekidačke algebre. Za neki skup

operacija kažemo da je minimalni bazis prekidačke algebre ukoliko izostavljanjem bilo

koje operacije iz tog skupa, skup prestaje da bude bazis.

Tvrđenje: Skup {¯, +, } nije minimalni bazis prekidačke algebre jer skupovi {¯, } i {¯, +}

jesu bazisi prekidačke algebre i to minimalni bazisi prekidačke algebre.

Dokaz: Da bi se dokazalo da neki skup operacije jeste bazis prekidačke algebre dovoljno je

pokazati da se pomoću tih operacija mogu da realizuju sve operacije prirodnog bazisa.

Dakle, da bismo pokazali da je skup {¯, } bazis prekidačke algetre treba pokazati da se

pomoću ovog skupa operacija može da realizuje i operacija +.

yx = yx - Zakon dvostruke negacije

= yx - De Morganov zakon

Tvrđenje: Bazisi prekidačke algebre su i skupovi {¯,, }, {, }, {} i {}.

Dokaz:Pokazaćemo da skup koji sadrži samo NI operaciju ({}) jeste bazis prekidačke

algebre.

1. Pokažimo da se operacija ¯može realizovati pomoću operacije.

x = xx - Zakon idempotencije

= x x

2. Pokažimo da se operacija može realizovati pomoću operacije.

yx = yx - Zakon dvostruke negacije

= (x y) (xy) - Na osnovu već pokazane realizacije komplementa

3. Pokažimo da se operacija + može realizovati pomoću operacije.

Page 71: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

65

yx = yx - Zakon dvostruke negacije

= yx - De Morganov zakon

= (x x) (y y) - Na osnovu već pokazane realizacije komplementa

Tabela 6.5 Prekidačke funkcije jedne promenljive

x 0 1 Naziv operacije Oznaka

f0 0 0 Konstanta 0 0

f1 0 1 Promenljiva x x

f2 1 0 Negacija x

f3 1 1 Konstanta 1 1

Tabela 6.6 Prekidačke funkcije dve promenljive

x1

x2

0 0 1 1

0 1 0 1 Naziv operacije Oznaka Bulov izraz

f0 0 0 0 0 Konstanta 0 0 0

f1 0 0 0 1 Konjukcija (Logičko I) 21xx 21xx

f2 0 0 1 0 Zabrana po x2 21 xx 21 xx

f3 0 0 1 1 Promenljiva x1 x1 x1

f4 0 1 0 0 Zabrana po x1 12 xx

21xx

f5 0 1 0 1 Promenljiva x2 x2 x2

f6 0 1 1 0 Suma po modulu 2 (Isključivo ILI) 21 xx

2121 xxxx

f7 0 1 1 1 Disjunkcija(Logičko ILI) 21 xx 21 xx

f8 1 0 0 0 Pierce-ova strelica (NILI funkcija) 21 xx 21 xx

f9 1 0 0 1 Ekvivalencija 21 xx

2121 xxxx

f10 1 0 1 0 Negacija x2 2x 2x

f11 1 0 1 1 Implikacija od x2 ka x1 12 xx

21 xx

f12 1 1 0 0 Negacija x1 1x 1x

f13 1 1 0 1 Implikacija od x1 ka x2 21 xx

21 xx

f14 1 1 1 0 Sheffer-ova crtica, (NI funkcija) 21 xx

21xx

f15 1 1 1 1 Konstanta 1 1 1

Page 72: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

66

6.3 Predstavljanje prekidačkih funkcija analitičkim formama

Predstavljanje funkcije pomoću analitičkih formi, u stvari, znači predstavljanje

prekidačkih funkcija pomoću Bulovih izraza. Problem kod ovakvog načina predstavljanja

funkcija je u tome što se svaka prekidačka funkcija može predstaviti pomoću više različitih

Bulovih izraza što pokazuje sledeći primer:

Primer 6.9 Prekidačka funkcija zadata tablicom istinitosti iz tabele 6. 7 se može

predstaviti sledećim Bulovim izrazima:

321321 ),,( xxxxxxf

321321 )(),,( xxxxxxf

3231321 ),,( xxxxxxxf

Tabela 6.7 Prekidačka funkcija iz primera 6.9

321 xxx ),,( 321 xxxf

000 1

001 0

010 1

011 0

100 0

101 0

110 1

111 0

Ako se tome doda da se Bulovi izrazi mogu formirati i korišćenjem operacija iz

proširenog skupa Bulovih operacija, onda je jasno da je vrlo teško odrediti optimalnu

analitičku formu za predstavljanje prekidačkih funkcija. Zbog toga je bilo potrebno uvesti

standardizaciju u tome kakve Bulove izraze ćemo koristiti za predstavljanje prekidačkih

funkcija. Najčešće korišćene standardne analitičke forme za predstavljanje prekidačkih

funkcija su:

potpuna disjunktivna normalna forma (PDNF)

potpuna konjuktivna normalna forma (PKNF)

potpuna polinomna normalna forma (PPNF)

kanonički polinom (polinom po modulu 2).

Prve dve navedene forme za predstavljanje prekidačkih funkcija koriste prirodni bazis

Bulove algebre, (¯, +, ), dok polinomna normalna forma koristi bazis (¯,, ), a kanonički

polinom bazis (, ).

Page 73: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

67

6.3.1 Potpuna disjunktivna normalna forma

Da bi se formalno definisala potpuna disjunktivna normalna forma funkcije, potrebno je

upoznati se sa elementarnim i potpunim proizvodom i njihovim osobinama.

Definicija 6. 4: Elementarni proizvod je Bulov izraz oblika kjjj xxx ~~~

21 gde

],1[,,, 21 njjj k , a x~ predstavlja promenljivu ili njen komplement (tj. },{~ xxx ).

Primer 6.10 Neki elementarni proizvodi 3 promenljive su:

3213121 , , , xxxxxxx .

Definicija 6. 5: Bulov izraz koji se formira kao suma elementarnih proizvoda se naziva

disjunktivnom normalnom formom.

Primer 6.11 Jedna disjunktivna normalna forma 3 promenljive je:

321 xxx .

Definicija 6. 6: Elementarni proizvod u kojem učestvuju sve nezavisno promenljve

funkcije naziva se potpuni proizvod ili mintem, tj. potpuni proizvod je Bulov izraz oblika

nxxx ~~~21 .

Primer 6.12 Neki potpuni proizvodi 3 promenljive su:

321321321 , , xxxxxxxxx .

Kako proizvod ima vrednost 1 samo u slučaju kada svi njegovi članovi imaju vrednost

1, bitna osobina potpunih proizvoda je da oni imaju vrednost 1 samo na jednom ulaznom

vektoru. To znači i da je ukupan broj potpunih proizvoda n-promenljivih jednak ukupnom

broju ulaznih vektora, odnosno 2n.

Primer 6.13 Ispitajmo kada potpuni proizvod 321 xxx ima vrednost 1.

Pošto svaki proizvod ima vrednost 1 samo kada svi njegovi članovi imaju vrednost 1,

navedeni proizvod će imati vrednost 1 ako je: 1 ,1 ,1 321 xxx , tj. kada je

1 ,0 ,1 321 xxx , odnosno samo na ulaznom vektoru 101.

U tabeli 6. 8 su prikazani svi mogući ulazni vektori prekidačke funkcije 3 promenljive i

potpuni proizvodi koji imaju vrednost 1 na tim vektorima.

Definicija 6. 7: Svaka prekidačka funkcija (osim konstante 0) se može predstaviti kao

suma potpunih proizvoda koji imaju vrednost 1 na onim ulaznim vektorima na kojima i

funkcija ima vrednost 1. Ovakav Bulov izraz se naziva potpunom disjunktivnom

normalnom formom(PDNF) ili savršenom disjunktivnom normalnom formom (SDNF).

Page 74: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

68

Tabela 6.8 Ulazni vektori prekidačke funkcije 3 promenljive i potpuni proizvodi koji

imaju vrednost 1 na tim vektorima

321 xxx Potpuni proizvod

000 321 xxx

001 321 xxx

010 321 xxx

011 321 xxx

100 321 xxx

101 321 xxx

110 321 xxx

111 321 xxx

Primer 6.14 Kreirajmo potpunu disjunktivnu normalnu formu funkcije koja je zadata

tablicom istinitosti iz tabele 6. 3.

Ulazni vektori na kojima ova funkcija ima vrednost 1 su:

001,

010,

100 i

101.

Potpuni proizvodi koji imaju vrednost 1 za ove ulazne vektore su:

321 xxx ,

321 xxx ,

321 xxx i

321 xxx

pa se data prekidačka funkcija može predstati sledećom PDNF:

321321321321321 ),,( xxxxxxxxxxxxxxxf .

6.3.2 Potpuna konjuktivna normalna forma

U definiciji potpune konjuktivne normalne forme se pojavljuju potpune sume nezavisno

promenljivih funkcije. Zato moramo, najpre, definisati elementarne i potpune sume

promenljivih.

Page 75: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

69

Definicija 6. 8: Elementarna suma je Bulov izraz oblika kjjj xxx ~ ~ ~

21 gde

],1[,,, 21 njjj k .

Primer 6.15 Neke elementarne sume 3 promenljive su:

321321321 , , , xxxxxxxxx

Definicija 6. 9: Bulov izraz koji se kreira kao proizvod elementarnih suma se naziva

konjuktivnom normalnom formom.

Primer 6.16 Jedna konjuktivna normalna forma 3 promenljive je:

)()( 32121 xxxxx .

Definicija 6. 10: Elementarna suma u kojoj učestvuju sve nezavisno promenljve funkcije

naziva se potpuna suma ili maksterm, tj. potpuna suma je Bulov izraz oblika

nxxx ~~~21 .

Primer 6.17 Neke potpune sume 3 promenljive su:

321321321 , , xxxxxxxxx .

Osobina bilo koje sume je da ona ima vrednost 0 samo kada svi njeni članovi imaju

vrednost 0. Zbog toga potpune sume imaju vrednost 0 samo na jednom ulaznom vektoru.

To znači i da je ukupan broj potpunih suma n-promenljivih jednak ukupnom boju ulaznih

vektora, odnosno 2n.

Primer 6.18 Ispitajmo kada potpuna suma 321 xxx ima vrednost 0.

Da bi suma imala vrednost 0, svaki njen član treba da ima vrednost 0. U ovom primeru

cela suma će imati vrednost 0 ako je: 0 ,0 ,0 321 xxx , tj. kada je

0 ,1 ,0 321 xxx , odnosno samo na ulaznom vektoru 010.

U tabeli 6.9 su prikazani svi mogući ulazni vektori prekidačke funkcije 3 promenljive i

potpune sume koje imaju vrednost 0 na tim vektorima.

Definicija 6. 11: Svaka prekidačka funkcija (osim konstante 1) se može predstaviti kao

proizvod potpunih suma koje imaju vrednost 0 na onim ulaznim vektorima na kojima i

funkcija ima vrednost 0. Ovakav Bulov izraz se naziva potpuna konjuktivna normalna

forma(PKNF) ili savršena konjuktivna normalna forma (SKNF).

Primer 6.19 Kreirajmo potpunu konjunktivnu normalnu formu funkcije koja je zadata

tablicom istinitosti iz tabele 6.3.

Ulazni vektori na kojima ova funkcija ima vrednost 0 su:

000,

011,

110 i

111.

Page 76: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

70

Dakle, ova funkcija u obliku PKNF izgleda:

)()()()(),,( 321321321321321 xxxxxxxxxxxxxxxf

Tabela 6.9 Ulazni vektori prekidačke funkcije 3 promenljive i potpune sume koje

imaju vrednost 0 na tim vektorima

321 xxx Potpuna suma

000 321 xxx

001 321 xxx

010 321 xxx

011 321 xxx

100 321 xxx

101 321 xxx

110 321 xxx

111 321 xxx

6.3.3 Potpuna polinomna normalna forma

Definicija 6. 12: Svaka prekidačka funkcija (osim konstante 0) se može predstaviti kao

suma po modulu 2 potpunih proizvoda koji imaju vrednost 1 na onim ulaznim vektorima na

kojima i funkcija ima vrednost 1. Ovakav Bulov izraz se naziva potpunom polinomnom

normalnom formom(PPNF) ili savršenom polinomnom normalnom formom (SPNF).

Ako uporedimo definicije 6.6 i 6.11 uočićemo da se prekidačka funkcija može

predstaviti i kao suma i kao suma po modulu 2 istih potpunih proizvoda. U opštem slučaju

suma i suma po modulu 2 istih izraza nemaju istu istinitostnu vrednost. No, ako pažljivo

pogledamo tablice istinitosti operacija + i (koje su ponovo prikazane u tabeli 6. 10),

videćemo da se njihova istinitostna vrednost razlikuje samo u slučaju kada oba operanda

imaju vrednost 1. Kako dva različita potpuna proizvoda nikada ne mogu istovremeno da

imaju vrednost 1, to će suma i suma po modulu 2 potpunih proizvoda uvek imati istu

vrednost.

Tabela 6.10 Tablice istinitosti operacija + i

21xx 21 xx 21 xx

00 0 0

01 1 1

10 1 1

11 1 0

Page 77: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

6 . P R E K I D A Č K E F U N K C I J E

71

Primer 6.20 Potpuna polinomna normalna forma funkcije zadate tablicom istinitosti iz

tabele 6. 3 biće:

321321321321321 ),,( xxxxxxxxxxxxxxxf .

6.3.4 Kanonički polinom

Definicija 6. 13: Svaka prekidačka funkcija se može predstaviti u obliku:

nn

nnnnn

xxxcxxxc

xxcxxcxcxccxxxf

21...12321123

11211211021

),,,(

gde konstante ncc 120 uzimaju vrednosti iz skupa {0,1}. Ovakav Bulov izraz se naziva

kanonički polinom ili polinom po modulu 2.

Kanonički polinom se može dobiti iz potpune polinomne normalne forme zamenom

komplementa svake promenljive kx izrazom kx1 . Pri sređivanju izraza koriste se još i

sledeće osobine operacije :

xzxyzyx )( (distributivnost množenja u odnosu na operaciju ) i

0 xx

xx 0

Primer 6.21 Kreirajmo kanonički polinom funkcije predstavljene potpunom polinomnom

normalnom formom iz primera 6.16.

),,( 321 xxxf = 321321321321 xxxxxxxxxxxx

= 321321321321 )1()1)(1()1()1()1)(1( xxxxxxxxxxxx

= 3212132232131323 xxxxxxxxxxxxxxxx

3213132121311 xxxxxxxxxxxxx

= 31321 xxxxx

Page 78: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

72

Pitanja i zadaci

1) Šta je prekidačka funkcija, a šta Bulova operacija?

2) Objasniti kako izgleda tablica istinitosti prekidačke funkcije.

3) Objasniti kako se potpuno i nepotpuno definisane prekidačke funkcije predstavljaju

skupovima decimalnih indeksa.

4) Šta je to vektor istinitosti funkcije?

5) Šta je to decimalni indeks prekidačke funkcije? Da li se nepotpuno definisana funkcija

može predstaviti decimalnim indeksom? Objasniti zašto.

6) Objasniti kako izgleda potpuna disjunktivna normalna forma, a kako potpuna

polinomna normalna forma.

7) Objasniti kako izgleda potpuna konjuktivna normalna forma.

8) Šta je to kanonički polinom. Objasniti način za kreiranje kanoničkog polinoma.

9) Navesti načine za predstavljanje prekidačkih funkcija i predstaviti funkciju

( , )f x y x y na svakom od njih.

10) Navesti standardne analitičke forme za predstavljanje prekidačkih funkcija i Bulovu

operaciju "ekvivalencija" predstaviti pomoću svake od njih.

11) Kreirati tablicu istinitosti operacije NI i predstaviti je u obliku PDNF i PKNF.

12) Koja Bulova operacija ima decimalni indeks 14? Kreirati tablicu istinitosti Bulove

operacije čiji je decimalni indeks 14.

13) Kreirati tablicu istinitosti prekidačke funkcije date sledećim Bulovim izrazom:

321 )( xxxy .

14) Кreirati tablicu istinitosti prekidačke funkcije 1 2 3y x x x .

15) Za Bulovu funkciju 3 promenljive zadatu brojnim indeksom 97 odrediti potpunu

polinomnu normalnu formu.

16) Kreirati tablicu istinitosti za potpuno definisanu Bulovu funkciju 4 promenljive čiji je

decimalni indeks 157.

17) Šta je bazis u prekidačkoj algebri? Navesti 3 najčešće korišćena bazisa.

18) Korišćenjem aksioma i teorema Bulove algebra pokazati da skup koji sadrži samo NILI

operaciju ({}) jeste bazis prekidačke algebre.

Page 79: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

73

7 PREKIDAČKE MREŽE

Prekidačke mreže su osnovne komponente svakog digitalnog uređaja pa i računara.

Prekidačka mreža je skup električnih komponenata sa n ulaza i m izlaza na čije se ulaze

dovode binarni signali i na čijim izlazima se generišu, takođe, binarni signali. Praktično,

prekidačka mreža je skup električnih komponenti kojima se realizuje sistem m prekidačkih

funkcija sa n ulaznih promenljivih. Drugačije rečeno, rad prekidačke mreže se može opisati

sistemom od m prekidačkih funkcija sa n ulaznih promenljivih. Blok dijagram prekidačke

mreže prikazan je na slici 7.1.

Slika 7.1 Blok-šema prekidačke mreže

Postoje dva osnovna tipa prekidačkih mreža:

kombinacione prekidačke mreže - prekidačke mreže kod kojih vrednosti

izlaznih signala zavise isključivo od trenutnih vrednosti ulaznih signala,

sekvencijalne prekidačke mreže - prekidačke mreže kod kojih vrednosti

izlaznih signala zavise od trenutnih vrednosti ulaznih signala i od vrednosti

signala na nekim unutrašnjim linijama mreže koji opisuju stanje mreže.

Osim po zakonitostima po kojima funkcionišu, kombinacione i sekvencijalne mreže se

razlikuju i po svojoj strukturi. Kombinacione prekidačke mreže se realizuju kao skup

međusobno povezanih logičkih elemenata (logičkih kola), dok u realizaciji sekvencijalnih

prekidačkih mreža, osim logičkih kola, učestvuju i memorijski elementi koji pamte stanje

mreže.

Šema koja pokazuje kako su povezani logički elementi u kombinacionoj prekidačkoj

mreži ili logički i memorijski elementi u sekvencijalnoj prekidačkoj mreži predstavlja

strukturnu šemu prekidačke mreže.

Određivanje skupa prekidačkih funkcija koje opisuju rad prekidačke mreže na osnovu

njene strukturne šeme naziva se analizom prekidačke mreže.

Obrnut postupak, projektovanje strukturne šeme prekidačke mreže na osnovu sistema

prekidačkih funkcija koje ona treba da realizuje naziva se sintezom prekidačke mreže.

Page 80: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

74

Problemima analize i sinteze prekidačkih mreža bavi se posebna naučna oblast koja se u

literaturi može sresti pod nazivom prekidačka teorija (engl. switching theory) ili logičko

projektovanje (engl. logic design).

7.1 Logička kola

Logičko kolo, ili logički element, je skup električnih komponenti koje realizuju jednu

Bulovu operaciju. Kako su Bulove operacije definisane kao funkcije jedne ili 2

promenljive, očekuje se da logička kola imaju 1 ili 2 ulaza. U praksi se prave i logička kola

sa većim brojem ulaza, ali je broj ulaza u logičko kolo obično stepen dvojke (2,4,8...).

U strukturnim šemama prekidačkih mreža, logički elementi se prikazuju:

uniformnim grafičkim simbolom u koji je upisana oznaka operacije koju kolo

realizuje, ili

posebnim grafičkim simbolima za svaki tip logičkog elementa (tip logičkog

elementa odgovara operaciji koju realizuje).

U tabeli 7.1 navedeni su nazivi i oba navedena tipa grafičkih simbola logičkih

elemenata koji se najčešće koriste u prekidačkim mrežama.

Tabela 7.1 Grafički simboli najbitnijih logičkih elemenata

Naziv logičkog elementa Uniformni grafički simbol Poseban grafički simbol

NE kolo

I kolo ·

ILI kolo +

NI kolo ·

NILI kolo +

ISKLJUČIVO ILI kolo

Pri izboru koje ćemo logičke elemente koristiti za realizaciju svoje prekidačke mreže

treba voditi računa o različitim parametrima koji opisuju njihov rad i pouzdanost.

Najbitiniji parametri logičkih elemenata su:

1. Zakon funkcionisanja - predstavlja Bulovu operaciju koju element realizuje.

Page 81: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

75

2. Broj ulaza - određuje broj ulaznih priključaka.

3. Maksimalno opterećenje izlaza ili koeficijent izlaza - definiše broj logičkih

elementata na čije ulaze se može dovoditi izlazni signal datog logičkog

elementa.

4. Kašnjenje signala - vremenski period koji protekne od trenutka promene

vrednosti ulaznih signala do trenutka kada se uspostavi odgovarajući izlazni

signal,

5. Način kodiranja binarnih vrednosti - Binarne vrednosti 0 i 1 se u digitalnim

sistemima najčešće predstavljaju naponskim nivoima. Koliki će ti naponski

nivoi biti zavisi od tehnologije koja je korišćena za realizaciju logičkih kola.

Uobičajeno je da se logička kola se napajaju naponom nominalne vrednosti

5V. Idealno bi bilo da se logička nula predstavlja naponskim nivoom od 0V, a

logička jedinica naponskim nivoom od 5V. Međutim, ove idealne uslove je

teško postići pa se u praksi svi naponski nivoi u opsegu 0V-0.8V smatraju

binarnom nulom, a svi naponski nivoi u opsegu 2V-5V binarnom jedinicom.

Ovakav način kodiranja binarnih vrednosti naponskim nivoom se naziva

pozitivnom logikom. Neka logička kola koriste i negativnu logiku kodiranja

što podrazumeva da se logička nula kodira višim, a logička jedinica nižim

naponskim nivoom.

6. Disipacija snage - određuje količinu energije koja se troši na logičkom

elementu u jedinici vremena.

7. Temperaturni opseg pouzdanog rada - Za svaki logički element se propisuje

temperaturni opseg u kojem se garantuje njegov pouzdani rad. U slučaju kada

će elementi raditi u uslovima sobne temperature, temperaturni opseg

pouzdanog rada je 0C-70C. Za rad u ekstremnim temperaturnim uslovima

koriste se logički elementi sa temperaturnim opsegom -25C-125C.

8. Cena.

Obično su zahtevi pri odabiru logičkih elemenata kontradiktorni - traži se da cena

elemenata bude što niža, disipacija snage, takođe, manja, a pouzdanost rada veća. Zavisno

od toga u koje svrhe će se prekidačka mreža koristiti traži se kompromis između ovih

kriterijuma.

7.2 Kombinacione prekidačke mreže

Kao što je već rečeno, kombinacione mreže predstavljaju kompoziciju logičkih

elemenata ili preciznije, kompoziciju logičkih elemenata u kojoj ne postoje povratne veze.

Pod povratnom vezom se podrazumeva put u prekidačkoj mreži kojim može da prođe

signal od izlaza nekog logičkog elementa do njegovog ulaza.

Pravila za povezivanje logičkih elemenata u kombinacionoj prekidačkoj mreži su

sledeća:

1. Na ulaz logičkog elementa se može priključiti:

primarni ulaz mreže,

Page 82: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

76

izlaz drugog logičkog elementa, ili

konstanta 0 ili 1.

2. Izlazni priključci dva logička elementa ne mogu biti direktno vezani.

3. Izlazni priključak logičkog elementa ne sme biti direktno ili indirektno vezan sa

svojim ulazom.

Strukturna šema jedne kombinacione mreže prikazana je na slici 7.2. Kao što se sa slike

vidi, ulazni signal prolazi kroz više logičkih elemenata u mreži dok ne dođe do izlaza.

Maksimalni broj logičkih elemenata kroz koje prođe signal od ulaza u mrežu do njenog

izlaza naziva se stepen prekidačke mreže. Takođe, za svaki element u mreži se može

definisati stepen ili nivo kojem pripada kao maksimalni broj logičkih elemenata kroz koje

signal prođe od ulaza u mrežu do njegovog izlaza.

a

b

c

f

Slika 7.2 Strukturna šema kombinacione mreže

Mreža sa slike 7. 2 je trostepena. Na prvom nivou (stepenu) se nalazi NE kolo i I kolo

čiji su ulazi signali b i c. Na drugom nivou je I kolo na čije je ulaze priključen signal a i

izlaz NE kola, a na trećem nivou ILI kolo.

7.2.1 Analiza kombinacionih prekidačkih mreža

Analiza kombinacione mreže treba da nam omogući da razumemo kako radi prekidačka

mreža predstavljena svojom strukturnom šemom, ili formalno: zadatak analize

kombinacione mreže je da odredi sistem prekidačkih funkcija koje opisuju rad date mreže.

Koraci u analizi kombinacione mreže su:

1. Obeležiti pomoćnim simbolima izlazne signale iz svih logičkih elemenata u

mreži čiji izlazi ne predstavljaju izlaze čitave mreže.

2. Napisati izraze funkcionalnih zavisnosti izlaznih signala od ulaznih za svaki

logički element u mreži.

3. U izrazima koji definišu funkcionalnu zavisnost izlaznih signala cele mreže vršiti

zamenu pomoćnih promenljivih izrazima definisanim u koraku 2. dok se ne

dobije zavisnost izlaznih signala isključivo u funkciji primarnih ulaznih signala.

4. Predstaviti dobijenu funkciju na neki od standardnih načina.

Primer 7.1 Izvršićemo analizu kombinacione mreže sa slike 7.2.

Korak 1. Obeležićemo izlaze iz logičkih elemenata kao na slici 7.3.

Page 83: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

77

a

b

c

ed

g

f

Slika 7.3 Strukturna šema kombinacione mreže sa obeleženim izlaznim signalima iz svih

logičkih elemenata

Korak 2. Napisaćemo izraze koji opisuju rad svakog logičkog elementa u mreži:

gef

cbg

dae

bd

Korak 3. Transformisaćemo izraz za izlazni signal f.

cbbacbdagef

Korak 4. Kreiraćemo tablicu istinitosti dobijene funkcije.

Tabela 7.2 Tablica istinitosti prekidačke funkcije koja opisuje rad kombinacione

prekidačke mreže sa slike 7.2

cba b ba cb ),,( cbaf

000 1 0 0 0

001 1 0 0 0

010 0 0 0 0

011 0 0 1 1

100 1 1 0 1

101 1 1 0 1

110 0 0 0 0

111 0 0 1 1

7.2.2 Sinteza kombinacionih prekidačkih mreža

Proces sinteze kombinacionih prekidačkih mreža se odvija kroz 3 faze:

1. izbor logičkih elemenata koji će se koristiti u realizaciji mreže,

Page 84: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

78

2. određivanje neke minimalne analitičke forme na osnovu koje će se mreža

realizovati (minimizacija funkcije),

3. crtanje same strukturne šeme mreže.

Pri izboru logičkih elemenata koji će se u mreži koristiti treba voditi računa o tome da

operacije koje su realizovane izabranim logičkim elementima čine bazis u prekidačkoj

algebri (tako smo sigurni da ćemo pomoću izabranih kola moći da realizujemo bilo koju

prekidačku funkciju) i da izabrani elementi zadovoljavaju dodatne kriterijume korisnika

mreže.

Dodatni kriterijumi korisnika mogu biti:

cena celokupne mreže,

vreme kašnjenja kroz mrežu (što možemo minimizovati smanjenjem stepena

mreže ili izborom elemenata sa manjim kašnjenjem),

potrošnja energije, ...

Ipak, centralni problem koji se rešava pri sintezi kombinacionih prekidačkih funkcija je

minimizacija analitičke forme kojom je funkcija predstavljena ili kraće rečeno minimizacija

prekidačke funkcije.

7.2.3 Minimizacija prekidačkih funkcija

Da bismo razumeli cilj i postupak minimizacije prekidačkih funkcija treba najpre uvesti

pojam minimalnih analitičkih formi. Analitičke forme koje se koriste za predstavljanje

prekidačkih funkcija koje smo do sada upoznali su: potpuna disjunktivna normalna forma,

potpuna konjuktivna normalna forma, potpuna polinomna normalna forma i kanonički

polinom. Pri navođenju ovih formi istaknuta je reč "potpuna" jer ona ukazuje da u

odgovarajućim izrazima učestvuju potpune sume ili potpuni proizvodi. Potpune forme za

predstavljanje prekidačkih funkcija jesu jedinstvene, ali su često jako glomazne i sinteza

prekidačkih funkcija se nikada ne vrši na osnovu potpune forme već se one određenim

transformacijama svode na svoj minimalni oblik. Uočimo da jedino u nazivu kanoničkog

polinoma ne postoji reč potpun. Razlog je jednostavan, u kanoničkom polinomu ne

učestvuju nikakvi potpuni izrazi i jedino kanonički polinom je jedinstven.

Dakle, svaku prekidačku funkciju možemo predstaviti različitim konjuktivnim,

disjunktivnim ili polinomnim normalnim formama. Pošto ćemo sintezu kombinacionih

prekidačkih mreža raditi uglavnom na osnovu konjuktivnih i disjunktivnih normalnih formi

uvešćemo kriterijume kada ćemo neku disjunktivnu ili konjuktivnu formu smatrati

minimalnom.

Da bismo došli do pojma minimalne disjunktivne normalne forme, uvešćemo najpre

pojam imlikante i proste imlikante prekidačke funkcije.

Definicija 7. 1: Implikanta funkcije f je funkcija koja ima vrednost 0 na svim ulaznim

vektorima na kojima funkcija f ima vrednost 0 i ima vrednost 1 bar na jednom ulaznom

vektoru na kojem funkcija f ima vrednost 1.

Iz prethodne definicije se lako uočava da svaki potpuni proizvod koji učestvuje u PDNF

funkcije predstavlja implikantu te funkcije.

Page 85: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

79

Definicija 7. 2: Elementarni propizvod p1 je deo elementarnog proizvoda p ako je p1

dobijen iz proizvoda p izostavljanjem nekih promenljivih.

Primer 7.2 Elementarni proizvodi 1x , 2x , 3x , 21 xx , 31xx i 32 xx su delovi

elementarnog proizvoda 321 xxx .

Definicija 7. 3: Elementarni proizvod je prosta implikanta funkcije f ako on jeste

implikanta funkcije f, a ni jedan njegov deo nije implikanta funkcije f.

Definicija 7. 4: Nepreopširna DNF funkcije f je suma elementarnih proizvoda prostih

implikanata funkcije f takvih da je:

unija skupova vektora istinitosti na kojima svaki od elementarnih proizvoda

koji učestvuje u sumi ima vrednost 1 predstavlja skup ulaznih vektora na

kojima funkcija f ima vrednost 1,

za svaki elementarni proizvod koji učestvuje u sumi postoji bar 1 ulazni vektor

na kojem samo taj proizvod ima vrednost 1.

Ono što treba ovde učiti je da nepreopširna DNF nije jedinstvena.

Primer 7.3 Prekidačka funkcija f čija je potpuna disjunktivna normalna forma:

321321321321321321 ,, xxxxxxxxxxxxxxxxxxf

se može predstaviti sledećim nepreopširnim disjunktivnim normalnim formama:

312131321 ,, xxxxxxxxxf i

313231321 ,, xxxxxxxxxf .

Dokaz: Iz PDNF funkcije se lako uočava da funkcija ima vrednost 1 na skupu ulaznih

vektora S={000, 010, 011, 101, 111}.

Elementarni proizvod 311 xxp ima vrednost 1 na ulaznim vektorima S1={000, 010}.

Dakle proizvod 1p jeste implikanta funkcije f. Treba proveriti još i da li je prosta

implikanta. Delovi proizvoda 1p su 1x i 3x . 1x ima vrednost 1 na ulaznim vektorima

000, 001, 010 i 011 pa ovo nije implikanta funkcije f. 3x ima vrednost 1 na ulaznim

vektorima 000, 010, 100 i 110 pa ni to nije nije implikanta funkcije f. Pošto nijedan deo

proizvoda 1p nije implikanta funkcije f, tvrdimo da je 1p prosta implikanta funkcije f.

Na isti način se pokazuje i da su proizvodi 2p i 3p proste implikante funkcije f.

Elementarni proizvod 212 xxp ima vrednost 1 na ulaznim vektorima S2={010, 011}.

Elementarni proizvod 313 xxp ima vrednost 1 na ulaznim vektorima S3={101, 111}.

Lako se uočava da je SSSS 321 , da na ulaznom vektoru 000 jedino proizvod 1p

ima vrednost 1, na ulaznom vektoru 011 jedino elementarni proizvod 2p ima vrednost 1, a

Page 86: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

80

na ulaznim vektorima 101 i 111 jedino proizvod 3p ima vrednost 1 pa izraz

312131 xxxxxx jeste nepreopširna disjunktivna normalna forma funkcije f.

U prethodnoj definiciji smo koristili pojam nepreopširna, a ne pojam minimalna. Iz

skupa nepreopširnih formi se može birati minimalna po različitim kriterijumima: tako da

broj operanada u izrazu bude minimalan (čime se minimizuje broj ulaza u logička kola) ili

da broj operacija u izrazu bude minimalan (čime se minimizuje broj korišćenih logičkih

kola), itd. Međutim, čak i uzimajući sve te kriterijume u obzir može se desiti da ne možemo

doći do jedinstvene minimalne forme.

U daljem tekstu ovog udžbenika ćemo pod pojmom minimalna disjunktivna normalna

forma funkcije smatrati bilo koju nepreopširnu disjunktivnu normalnu formu.

Pošto smo potpunu konjuktivnu normalnu formu definisali kao proizvod potpunih suma

koje imaju vrednost 0 tamo gde i funkcija ima vrednost 0, za određivanje minimalne

konjuktivne normalne forme koristićemo implicente i proste implicente funkcije.

Definicija 7. 5: Implicenta funkcije f je funkcija koja ima vrednost 1 na svim ulaznim

vektorima na kojima funkcija f ima vrednost 1 i ima vrednost 0 bar na jednom ulaznom

vektoru na kojem funkcija f ima vrednost 0.

Dakle, svaka potpuna suma koja učestvuje u PKNF funcije predstavlja implicentu te

funkcije.

Definicija 7. 6: Elementarnasuma s1 je deo elementarne sume s ako je s1 dobijena iz sume

s izostavljanjem nekih promenljivih.

Primer 7.4 Elementarne sume 1x , 2x , 3x , 21 xx , 31 xx i 32 xx su delovi

elementarnog proizvoda 321 xxx .

Definicija 7. 7: Elementarna suma je prosta implicenta funkcije f ako ona jeste implicenta

funkcije f, a ni jedan njen deo nije implicenta funkcije f.

Definicija 7. 8: Nepreopširna KNF funkcije f je proizvod elementarnih suma prostih

implicenata funkcije f takvih da je:

unija skupova vektora istinitosti na kojima svaka od elementarnih suma ima

vrednost 0 predstvlja skup ulaznih vektora na kojima funkcija f ima vrednost 0,

za svaku elementarnu sumu koja učestvuje u niminalnoj DNF postoji bar 1

ulazni vektor na kojem samo ta suma ima vrednost 0.

U daljem tekstu ovog udžbenika ćemo pod pojmom minimalna konjuktivna normalna

forma funkcije smatrati bilo koju nepreopširnu konjuktivnu normalnu formu.

7.2.3.1 Minimizacija prekidačkih funkcija algebarskim metodama

Pod pojmom minimizacije prekidačkih funkcija algebarskim metodama

podrazumevamo transformaciju potpunih analitičkih formi u minimalne korišćenjem

aksioma i teorema Bulove algebre.

Page 87: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

81

Pri minimizaciji disjunktivne normalne forme koriste se sledeće teoreme:

teorema sažimanja: ababa i

teorema apsorpcije: abaa

Primer 7.5 Izvršićemo minimizaciju prekidačke funkcije datu potpunom disjunktivnom

normalnom formom:

43214321

432143214321432143214321

,,,

xxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxf

Zbog kraćeg pisanja, za svaki potpuni proizvod u PDNF uvešćemo posebnu oznaku na

sledeći način:

.

i

,

,

,

,

,

43217

43216

43215

43214

43213

43212

43211

xxxxp

xxxxp

xxxxp

xxxxp

xxxxp

xxxxp

xxxxp

Teoremu sažimanja možemo primeniti nad sledećim parovima proizvoda: ),( 21 pp ,

),( 43 pp , ),( 65 pp i ),( 76 pp . Kao što vidimo, proizvod p6 se može udružiti i sa

proizvodom p5 i sa proizvodom p7. S obzirom da u Bulovoj algebri važi da je a+a=a,

proizvod p6 možemo napisati 2 puta u zbiru pa napraviti sledeće parove za sažimanje:

)( )(

)()(,,

431321321321

4321432143214321

4321432143214321321

xxxxxxxxxxxx

xxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxf

Ako postupak udruživanja i sažimanja nastavimo dalje, dobićemo minimalnu

disjunktivnu normalnu formu na sledeći način:

)()(,,

4313221

431321321321321321

xxxxxxx

xxxxxxxxxxxxxxxxxxf

Minimizacija konjuktivne normalne forme algebarskom metodom se vrši na istovetan

način, samo uz primenom dualnih izraza istih teorema:

teorema sažimanja: ababa )()( i

teorema apsorpcije: abaa )(

Page 88: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

82

7.2.3.2 Minimizacija prekidačkih funkcija pomoću Karnoovih mapa

Karnoove mape predstavljaju još jednu tabličnu metodu za predstavljanje prekidačkih

funkcija. Karnoova mapa je tablica sa:

2n/2

vrsta i 2n/2

kolona za parno n,

2(n-1)/2

vrsta i 2(n+1)/2

kolona za neparno n.

U svakoj ćeliji Karnoove mape upisana je vrednost funkcije na jednom vektoru

istinitosti i to tako da fizički susednim ćelijama odgovaraju vektori koji se razlikuju samo

na jednoj koordinati. Na slici 7. 4 dat je raspored polja u Karnoovoj mapi za funkcije 2, 3, 4

i 5 promenljivih. Ulazni vektor koji odgovara ćeliji se dobija nadovezivanjem njegovih

delova koji se nalaze u oznakama odgovajuće vrste i kolone matrice. Sa slike se može

uočiti i da se ulazni vektori koji odgovaraju ćelijama prve i poslednje vrste mape, takođe,

razlikuju samo na jednoj koordinati. Isto tako vektori koji odgovaraju ćelijama prve i

poslednje kolone mape se, takođe, razlikuju na samo jednoj koordinati. To znači da su prva

i poslednja vrsta Karnoove mape susedne, pa ako izvršimo savijanje mape i fizički spojimo

te vrste, dobićemo cilindar. Ako nakon toga savijemo cilindar tako da spojimo susedne

ćelije iz prve i poslednje kolone, dobićemo torus. Dakle Karnoovu mapu treba posmatrati

kao jednu torusnu površinu. Na slici 7. 5 (b) u uglovima polja Karnoove mape prikazani su

decimalni indeksi odgovarajućih ulaznih vektora.

Ako se posmatra Karnoova mapa za funkcije 5 promenljivih uočava se i da se vektori

koji odgovaraju ćelijama koje se nalaze u kolonama 001 i 101, kao i 011 i 111, takođe,

razlikuju samo na jednoj koordinati, pa i ove kolone treba smatrati susednim. Zbog toga

korišćenje Karnoovih mapa nije preporučljivo za predstavljanje funkcija većeg broja

promenljivih.

Slika 7.4 Raspored ćelija u Karnoovoj mapi

Page 89: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

83

(a) (b)

Slika 7.5 Karnoova mapa posmatrana kao torus

Primer 7.6 U tabeli 7.3 data je tablica istinitosti, a na slici 7. 6 Karnoova mapa,

prekidačke funkcije f čija je potpuna disjunktivna normalna forma:

321321321321321321 ,, xxxxxxxxxxxxxxxxxxf

Tabela 7.3 Tablica istinitosti funkcije iz primera 7.6

321 xxx f

000 1

001 0

010 1

011 1

100 0

101 1

110 0

111 1

Slika 7.6 Karnoova mapa funkcije iz primera 7.6

Da bismo razumeli postupak određivanja minimalnih DNF pomoću Karnoovih mapa,

uočimo u Karnoovoj mapi sa slike 7. 6 dve susedne ćelije u koje su upisane jedinice. Neka

Page 90: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

84

su to ćelije koje odgovaraju ulaznim vektorima 000 i 010. Potpuni proizvodi koji imaju

vrednost 1 na ovim ulaznim vektrima su: 321 xxx i 321 xxx , odnosno implikanta funkcije f

koja ima vrednost 1 na ovim ulaznim vektorima je 321321 xxxxxxg . Primenom

teoreme sažimanja, ova implikanta će se transformisati u 31 xxg . Ako pogledamo ulazne

vektore 000 i 010, uočavamo da se u njima razlikuje samo vrednost promenljive 2x , a da u

konačnom izrazu za funkciju g učestvuju sve ostale promenljive (u ovom slučaju 1x i 3x ).

U opštem slučaju u Karnoovoj mapi se mogu uočiti pravilne figure ("pravougaonici")

veličine 2r (ranga r) koje su kompletno pokriveni jedinicama. Svaka takva figura određuje

po jedan elementarini proizvod koji predstavlja implikantu funkcije f, u kojem će

učestvovati n-r promenljivih koje imaju konstantnu vrednost na svim ćelijama figure.

Formalno, pravilna figura u Karnoovoj mapi se može definisati na sledeći način:

Definicija 7. 9: Pravilna figura ranga r u Karnoovoj mapi je skup od 2r susednih ćelija

koje imaju k=n-r zajedničkih koordinata. Svakoj pravilnoj figuri u Karnoovoj mapi

odgovara po jedan elementarni proizvod koji ima vrednost 1 na svim ćelijama te figure i

jedna elementarna suma koja ima vrednost 0 na svim ćelijama figure. Članovi tih proizvoda

(suma) su promenljive koje imaju konstantnu vrednost za sve ćelije figure.

Slika 7.7 Pravilne figure u Karnoovoj mapi

Primer 7.7 Na slici 7.7 dati su neki karakteristični slučajevi položaja pravilnih figura u

Karnoovoj mapi.

Algoritam za minimizaciju DNF pomoću Karnoovih mapa

Korak 1. Formirati pravilne figure maksimalnih rangova koje pokrivaju samo jedinice i

to tako da svaka jedinica bude pokrivena bar jednom pravilnom figurom,

Korak 2. Ukloniti figure za koje ne postoji ćelija koja je pokrivena samo tom figurom,

Korak 3. Definisati elementarne proizvode koji imaju vrednost 1 na tako kreiranim

figurama,

Page 91: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

85

Korak 4. Kreirati minimalnu DNF kao sumu elementarnih proizvoda određenih u

prethodnom koraku.

Primer 7.8 Korišćenjem Karnoovih mapa kreiraćemo minimalnu DNF za funkciju iz

primera 7.5. Da bi se lakše popunila Karnoovu mapa krenućemo od tablice istinitosti

funkcije koja je prikazana u tabeli 7.4. Karnoova mapa date funkcije sa obeleženim

pravilnim figurama koje pokrivaju jedinice i na osnovu tako kreiranih figura minimalna

DNF funkcije prikazani su na slici 7.8.

Tabela 7.4 Tablica istinitosti funkcije iz primera 7.8

4321 xxxx f

0000 1

0001 1

0010 1

0011 1

0100 0

0101 0

0110 0

0111 0

1000 0

1001 0

1010 1

1011 1

1100 0

1101 0

1110 0

1111 1

Slika 7.8 Minimazacija DNF pomoću Karnoove mape

Page 92: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

86

Analogno postupku dobijanja minimalne DNF, pomoću Karnoove mape može se

definisati i postupak dobijanja minimalne KNF. Problem kod kreiranja minimalne KNF je

odrediti elementarne sume proste implicente date funkcije. Prema tome, polazna tačka u

ovom postupku biće kreiranje pravilnih regiona koji pokrivaju nule funkcije.

Algoritam za minimizaciju KNF pomoću Karnoovih mapa

Korak 1. Formirati pravilne figure maksimalnih rangova koje pokrivaju samo nule i to

tako da svaka nula bude pokrivena bar jednom pravilnom figurom,

Korak 2. Ukloniti figure za koje ne postoji ćelija koja je pokrivena samo tom figurom,

Korak 3. Definisati elementarne sume koje imaju vrednost 0 na tako kreiranim figurama,

Korak 4. Kreirati minimalna KNF kao proizvod elementarnih suma određenih u

prethodnom koraku.

Primer 7.9. Korišćenjem Karnoovih mapa kreiraćemo minimalnu KNF za funkciju iz

prethodnog primera. Koristićemo istu Karnoovu mapu, ali ćemo ovoga puta u njoj obeležiti

pravilne regione koji pokrivaju nule (slika 7.9).

Slika 7.9 Minimizacija KNF pomoću Karnoovih mapa

Isprekidanom linijom je obeležena pravilna figura koja je, takođe, ranga 2, ali za koju

ne postoji ćelija koja je pokrivena samo tom figurom pa je ona suvišna.

Karnoove mape su posebno pogodne za minimizaciju nepotpuno definisanih funkcija.

Kod nepotpuno definisanih funkcija pozicije u vektoru istinitosti obeležene zvezdicom

možemo zameniti bilo nulom, bilo jedinicom. Zamenićemo ih takvom vrednošću da tražena

minimalna forma bude što jednostavnija. U Karnoovoj mapi je najlakše uočiti kojom

vrednošću treba zameniti konkretnu zvezdicu. Zamenićemo je uvek onom vrednošću koja

povećava rang uočenih pravilnih figura i/ili smanjuje broj pravilnih fuigura koje su kreirane

bez uzimanja u obzir moguće vrednosti zvezdice. Postupak određivanja kojom vrednošću

treba zameniti zvezdicu ćemo najlakše objasniti kroz primer.

Primer 7.10 Korišćenjem Karnoovih mapa kreiraćemo minimalnu DNF za nepotpuno

definisanu funkciju čija je tablica istinitosti prikazana u tabeli 7.5.

Page 93: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

87

Tabela 7.5 Tablica istinitosti nepotpuno definisane funkcije

4321 xxxx F

0000 1

0001 0

0010 0

0011 0

0100 *

0101 *

0110 *

0111 1

1000 1

1001 0

1010 0

1011 *

1100 *

1101 0

1110 1

1111 *

Pokušajmo da nađemo minimalnu DNF funkcije pomoću Karnoove mape. Kreirajmo

najpre pravilne regione u mapi koje pokrivaju isključivo jedinice funkcije (slika 7. 10).

DNF kreirana na osnovu ovako uočenih pravilnih figura bila bi:

432143214324321 ,,, xxxxxxxxxxxxxxxf

Slika 7.10 Karnoova mapa nepotpuno definisane funkcije iz primera 7.10 sa obeleženim

regionima koji pokrivaju samo jedinice

Ako zvezdice koje se nalaze na pozicijama kojima odgovaraju ulazni vektorima 0100 i

1100 zamenimo jedinicama, umesto regiona ranga 1 (koji pokriva jedinice na ulaznim

Page 94: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

88

vektorima 0000 i 1000), dobićemo region ranga 2 koji pokriva celokupnu prvu vrstu

Karnoove mape. Analogno tome, ako zvezdice koje se nalaze na pozicijama koje

odgovaraju ulaznim vektorima 0110 i 1111 zamenimo jedinicama, umesto dva regiona

ranga 0, dobićemo jedan ragion ranga 2. Ovako transformisana Karnoova mapa izgledaće

kao na slici 7.11.

Slika 7.11 Karnoova mapa nepotpuno definisane funkcije iz primera 7.10. sa obeleženim

regionima koji dovode do kreiranja minimalne DNF

Ako bismo zvezdice koje se nalaze na pozicijama koje odgovaraju ulaznim vektorima

0101 i 1011 zamenili jedinicama, prouzrokovali bismo kreiranje novih regiona za njihovo

pokrivanje pa bismo na taj način DNF funkcije usložnili. Dakle, regioni prikazani na slici

7.11 odgovaraju potpuno definisanoj funkciji, nastaloj dodefinisanju funkcije iz primera

7.10, koja ima minimalnu DNF. DNF tako dobijene funkcije je:

32434321 ,,, xxxxxxxxf

Zaključak: zvezdice u Karnoovoj mapi ćemo uključiti u pravilne figure (čime ih,

praktično, tretiramo kao jedinice) samo ako time smanjujemo broj kreiranih figura, ili

povećavamo njihov rang.

Primer 7.11 Kreirajmo minimalnu KNF nepotpuno definisane funkciju iz primera 7.10.

Slika 7.12 Karnoova mapa nepotpuno definisane funkcije iz primera 7.10 sa obeleženim

regionima koji dovode do kreiranja minimalne KNF

U Karnoovoj mapi sada obeležavamo pravilne figure koje pokrivaju nule funkcije. Pri

tome zvezdice uključujemo u te figure pod istim uslovima, ako time smanjujemo broj

Page 95: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

89

figura ili povećavamo njihov rang. Karnoova mapa sa tako obeleženim figurama je

prikazana na slici 7.12, a minimalna KNF je:

)()(),,,( 32434321 xxxxxxxf x .

7.2.4 Realizacija kombinacionih prekidačkih mreža u bazisu I, ILI, NE

Konačni ishod sinteze prekidačke mreže treba da bude strukturna šema mreže koja

pokazuje koji elementi učestvuju u realizaciji i kako su međusobno povezani.

Najjednostavnija realizacija kombinacionih prekidačkih mreža je korišćenjem I, ILI i NE

elemenata, jer se ova realizacija direktno izvodi na osnovu minimalne DNF ili minimalne

KNF.

Ukoliko se realizacija vrši na osnovu minimalne DNF funkcije, mreža se realizuje kao

tronivoska u kojoj se:

na prvom nivou nalaze NE elementi koji realizuju potrebne komplemente

promenljivh,

na drugom nivou se nalaze I kola koja realizuju proste implikante funkcije,

na trećem nivou je jedno ILI kolo.

Primer 7.12 Nacrtaćemo strukturnu šemu mreže koja realizuje prekidačku funkciju čija je

minimalna DNF data izrazom:

43132214321 ),,,( xxxxxxxxxxxf .

Dakle, na prvom nivou u ovoj mreži će se naći 2 NE kola koja realizuju 1x i 2x .

Na drugom nivou ćemo imati 2 I kola sa po 2 ulaza (koja realzuju proizvode 21xx i

32xx ) i jedno I kolo sa 3 ulaza (koje realizuje proizvod 431 xxx ).

Na poslednjem, trećem, nivou će se naći ILI kolo koje realizuje sumu proizvoda

realizovanih na drugom nivou mreže.

Konačno, strukturna šema mreže kreirane na osnovu minimalne DNF prikazana je na

slici 7.13.

f

x1

x2 x

3x4

Slika 7.13 Šema prekidačke mreže realizovane na osnovu DNF iz primera 7.12

Page 96: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

90

Potpuno analogan postupak se može primeniti i za kreiranje strukturne šeme mreže na

osnovu minimalne KNF. U tom slučaju će na prvom nivou ponovo biti NE elementi, na

drugom nivou ILI elementi i na poslednjem nivou jedan I element.

Primer 7.13 Minimalna KNF funkcije iz primera 7.12 je

))()((),,,( 3142214321 xxxxxxxxxxf .

Šema prekidačke mreže kreirane na osnovu ovog izraza prikazana je na slici 7.14.

f

x1

x2 x

3x4

Slika 7.14 Šema prekidačke mreže realizovane na osnovu KNF iz primera 7.13

Prvi nedostatak ovakve realizacije kombinacionih prekidačkih mreža je korišćenje

logičkih kola sa proizvoljnim brojem ulaza. U praksi se najčešće proizvode logička kola sa

2 ulaza ili logička kola čiji je broj ulaza jednak stepenu dvojke (2, 4, 8,...). Zato ćemo sada

razmotriti način realizacije prekidačkih mreža ukoliko su nam na raspolaganju samo

logička kola sa 2 ulaza.

Prva mogućnost za realizaciju prekidačkih mreža pomoću logičkih kola sa 2 ulaza je da

svako logičko kolo sa više ulaza zamenimo odgovarajućim skupom logičkih kola sa 2

ulaza. Na slici 7.15 je prikazano kako se proizvodi, odnosno sume, 3 ili 4 promenljive

mogu realizovati pomoću logičkih kola sa 2 ulaza.

Û

x1

x3

x2

x1x2

x3

Û

x1

x3

x2

x1x2

x3

Ûx

1

x4

x2

x1x2

x3x3

x4

Ûx

1

x4

x2

x1x2

x3x3

x4

Slika 7.15 Realizacija logičkih kola sa više ulaza pomoću logičkih kola sa 2 ulaza

Primer 7.14 Na slici7.16 prikazana je strukturna šema kombinacione prekidačke mreže

koja realizuje funkciju zadatu minimalnom DNF

Page 97: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

91

43132214321 ),,,( xxxxxxxxxxxf ,

ako se za realizaciju koriste isključivo dvoulazna logička kola.

f

x1

x2 x

3x4

Slika 7.16 Šema prekidačke mreže realizovane na osnovu DNF kada se za realizaciju

koriste isključivo dvoulazna logička kola

Iz prethodnog primera se vidi, da se korišćenjem dvoulaznih logičkih kola povećava i

broj korišćenih logičkih kola i broj nivoa u prekidačkoj mreži, a samim tim i cena mreže, i

potrošnja energije i kašnjenje signala kroz mrežu. Zato je preporučljivo, umesto da se svaki

element sa više ulaza direktno zameni skupom elemenata sa 2 ulaza, da se pokuša sa

faktorizacijom minimalne forme kako bi se dobili podizrazi u kojima učestvuju po 2

operanda.

Primer 7.15. DNF iz primera 7.14 se može transformisati na sledeći način:

)(),,,( 41232143132214321 xxxxxxxxxxxxxxxxxf

Šema, kreirana na osnovu ovako transformisanog izraza prikazana je na slici 7.17.

f

x1

x2 x

3x4

Slika 7.17 Šema prekidačke mreže realizovane na osnovu faktorizovane DNF kada se za

realizaciju koriste isključivo dvoulazna logička kola

U šemi sa slike 7.16 upotrebljeno je ukupno 8 logičkih kola, dok je u šemi sa slike 7.17

ista funkcija realizovana sa ukupno 7 logičkih kola. Ta ušteda može biti mnogo značajnija

kada se realizuju realne, mnogo kompleksnije, prekidačke funkcije.

Page 98: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

92

7.2.5 Realizacija kombinacionih prekidačkih mreža u bazisima NI i NILI

Korišćenje bazisa koji sadrže samo jednu operaciju (kakvi su bazisi koje čine samo NI

ili samo NILI operacije) se pokazalo jako pogodnim za realizaciju prekidačkih mreža jer u

tom slučaju sva kola koja čine prekidačku mrežu imaju iste karakteristike (kašnjenje,

potrošnja energije, temperaturni opseg pouzdanog rada,...) pa je samim tim i lakše proceniti

karakteristike (ponašanje) cele mreže. U poglavlju 6.2 je pokazano kako se pomoću NI

operacije mogu realizovati sve operacije prirodnog bazisa (NE, I i ILI). To znači, da se

izraz u kojima učestvuju NE, I i ILI operacije, lako može transformisati u izraz koji koristi

isključivo NI operacije. Dakle, kada vršimo realizaciju prekidačkih mreža pomoću NI ili

NILI elemenata, kao polazni izrazi se mogu koristiti minimalne DNF i minimalne KNF.

Ukoliko se za realizaciju prekidačke mreže koriste NI elementi, prekidačku funkciju

treba predstaviti izrazom u kojem učestvuju isključivo NI operacije. Najzgodnije je krenuti

od minimalne DNF funkcije. Potrebne transformacije koje treba izvršiti su sledeće:

Korak 1. Ceo izraz (DNF) 2 puta komplementirati,

Korak 2. Unutrašnji (donji komplement) transformisati primenom DeMorganove teoreme

(tj. komplement zbira transformisati u proizvod komplemenata sabiraka).

Korak 3. Svaki izraz oblika nkkk xxx

21 zameniti izrazom

nkkk xxx |||21

.

Korak 4. Komplement svake promenljive kx zameniti izrazom kk xx , tj. kk xx | .

Primer 7.16 DNF iz primera 7.14 ćemo transformisati tako da omogućimo realizaciju

funkcije isključivo pomoću NI elemenata.

)||(|)|)|((|))|(|)|((

)||(|)|(|)|(

),,,(

4313222211

4313221

4313221

431322143132214321

xxxxxxxxxx

xxxxxxx

xxxxxxx

xxxxxxxxxxxxxxxxxxf

U praksi se koraci 3 i 4 i ne rade. Na osnovu izraza dobijenog nakon primene

DeMorganove teoreme može se direktno crtati šema kombinacione prekidačke mreže.

Šema prekidačke mreže koja realizuje funkciju iz primera 7.16, a koja sadrži isključivo NI

elemente, prikazana je na slici 7.18.

f

x1 x2 x3 x4

Slika 7.18 Šema prekidačke mreže kada se za realizaciju koriste isključivo NI kola

Page 99: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

93

Ukoliko pri realizaciji treba koristiti samo kola sa ograničenim brojem ulaza (npr. 2), NI

operacije sa više operanada, možemo realizovati pomoću NI operacija sa 2 operanda na

sledeći način:

32121321321 |))|(|)|(( xxxxxxxxxxx ,

))|(|)|((|))|(|)|(( 4343212143214321 xxxxxxxxxxxxxxxx .

Primer 7.17 Na slici 7.19 prikazana je šema prekidačke mreže koja relizuje funkciju iz

primera 7.16 pri čemu su u realizaciji korišćena isključivo dvoulazna NI logička kola.

f

x1 x2 x3 x4

Slika 7.19 Šema prekidačke mreže kada se za ralizaciju koriste isključivo dvoulazna NI

kola

Ako se opredelimo da kombinacionu prekidačku mrežu realizujemo pomoću NILI kola,

funkciju treba predstaviti izrazom koji sadrži isključivo NILI operacije. Za to je najzgodnije

izvršiti transformaciju minimalne KNF na sledeći način:

Korak 1. Ceo izraz (KNF) 2 puta komplementirati,

Korak 2. Unutrašnji (donji komplement) transformisati primenom DeMorganove teoreme

(tj. komplement proizvoda transformisati u sumu komplemenata njegovih

činilaca).

Korak 3. Svaki izraz oblika nkkk xxx

21 zameniti izrazom

nkkk xxx 21

.

Korak 4. Komplement savake promenljive kx zameniti izrazom kk xx , tj. kk xx .

Primer 7.18 KNF iz primera 7.13 ćemo transformisati tako da omogućimo realizaciju

funkcije isključivo pomoću NILI elemenata.

Page 100: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

94

))(())(())((

)()()(

))()(())()((),,,(

311422221

314221

314221

3142213142214321

xxxxxxxxx

xxxxxx

xxxxxx

xxxxxxxxxxxxxxxxf

Prekidačka mreža kreirana na osnovu ovako dobijenog izraza prikazana je na slici 7.20.

f

x1

x2 x

3x4

Slika 7.20 Šema prekidačke mreže kada se za realizaciju koriste isključivo NILI kola

7.2.6 Standardni kombinacioni moduli

Uočeno je da se u mnogim kombinacionim mrežama, koje su sastavni delovi različitih

digitalnih uređaja (uključujući i računare), stalno pojavljuju isti delovi. Takvi delovi se

nazivaju standardnim kombinacinim modulima. Oni se proizvode kao posebne komponente

i koriste se za projektovanje složenijih kombinacionih mreža.

Svaki standardni modul je definisan:

skupom ulaznih i izlaznih priključaka i

funkcionalnom zavisnošću izlaznih od ulaznih signala.

U struktrunim šemama se standardni moduli predstavljaju pomoću grafičkih simbola na

kojim su obeleženi ulazni i izlazni priključci.

Najčešće korišćeni standardni kombinacioni moduli su:

multiplekseri,

demultiplekseri,

koderi,

dekoderi,

konvertori kodova,

sabirači,

inkrementatori i dekrementatori,

komparatori,...

Page 101: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

95

7.2.6.1 Multiplekseri

Multiplekseri su kombinacione mreže sa n upravljačkih (selektorskih) ulaza, 2n

informacionih ulaza i jednim izlazom. Pomoću selektorskih ulaza multipleksera se određuje

sa kog informacionog ulaza će signal biti prosleđen na izlaznu liniju. Dakle, multiplekser se

ponaša kao prekidač sa više položaja pri čemu se selektorskim signalima određuje položaj

prekidača. Na slici 7.21 (a) prikazan je princip rada multipleksera, a na slici 7.21 (b)

grafički simbol koji se koristi za predstavljanje multipleksera u strukturnim šemama.

MUX

2nx1

1l

2l

n2l

1x 2x

nx

y

1l

2l

n2l

y3l 3l

(b)(a)

1x 2x nx...

Slika 7.21 Princip rada multipleksera (a) i njegov grafički simbol (b)

Zavisno od broja informacionih ulaza razlikujemo različite vrste multipleksera: "2 u 1",

"4 u 1", "8 u 1",... koji se češće označavaju kao: 21, 41, 81,...

Tablica istinitosti multipleksera tipa 21 prikazana je u tabeli 7.6. Rad ovog

multipleksera se može opisati prekidačkom funkcijom:

2111 lxlxy

Tabela 7.6 Tablica istinitosti multipleksera tipa 21

211 llx Y

000 0

001 0

010 1

011 1

100 0

101 1

110 0

111 1

Page 102: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

96

Strukturna šema realizacije multipleksera tipa 2x1 pomoću I, ILI i NE elemenata na slici

7.22.

y

l1

l2 x

1

Slika 7.22 Realizacija multipleksera 2x1 u bazisu I, ILI, NE

Multiplekseri se često koriste za projektovanje složenijih prekidačkih mreža, jer se

svaka prekidačka funkcija može predstaviti izrazom:

),...,1,...,,(),...,0,...,,(),...,,...,,( 212121 nknknk xxxfxxxxfxxxxxf 4.

Ovo ukazuje da se funkcija f može realizovati pomoću multipleksera tipa 2x1 tako što se

na selektorski ulaz multipleksera dovede jedna od nezavisno promenljivih, a na

informacione ulaze podfunkcije ),...,0,...,,()0( 21 nk xxxfxf i

),...,1,...,,()1( 21 nk xxxfxf kao što je prikazano na slici 7.23. Podfunkcije )0( kxf i

)1( kxf se ponovo na istovetan način mogu realizovati korišćenjem multipleksera.

MUX

2x1

f(xk=0)

kx

y

f(xk=1)

Slika 7.23 Realizacija prekidačke funkcije pomoću multipleksera tipa 2x1

Primer 7.19 Realizovati prekidačku funkciju f iz primera 7.5 pomoću multipleksera tipa

2x1.

Da bismo lakše pratili postupak, tablica istinitosti funkcije je ponovljena u tabeli 7.7.

Krenućemo sa dekompozicijom funkcije po poromenljivoj x1. U tabelama 7.8 i 7.9,

respektivno, date su tablice istinitosti podfunkcija )0( 1 xf i )1( 1 xf .

4Ovaj izraz je u literaturi poznat kao Shanonova teorema razvoja

Page 103: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

97

Da bismo realizovali podfunkciju )0( 1 xf , dalje ćemo vršiti dekompoziciju po

promenljivoj 2x . Tablica istinitosti podfunkcije )0,0( 21 xxf je data u tabeli 7.10, a iz

tabele 7.8 se vidi da je podfunkcija 1)1,0( 21 xxf .

Tabela 7.7 Tablica istinitosti funkcije iz primera 7.5

321 xxx f

000 1

001 0

010 1

011 1

100 0

101 1

110 0

111 1

Tabela 7.8 Tablica istinitosti podfunkcije )0( 1 xf iz primera 7.19

32xx )0( 1 xf

00 1

01 0

1 0 1

11 1

Tabela 7.9 Tablica istinitosti podfunkcije )1( 1 xf iz primera 7.19

32xx )1( 1 xf

00 0

01 1

10 0

11 1

Tabela 7.10 Tablica istinitosti podfunkcije )0,0( 21 xxf iz primera 7.19

3x )0( 1 xf

0 1

1 0

Page 104: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

98

Iz tabele 7.9 se vidi da je 31 )1( xxf tako da dalju dekompoziciju ni ove

podfunkcije nećemo vršiti.

Konačno, realizacija prekidačke funkcije f iz primera 7.19 pomoću multipleksera tipa

2x1 prikazana je na slici 7.24.

MUX

2x1

f(x1=0)

1x

f

f(x1=1)

MUX

2x1

3x

2x

f(x1=0, x2=0)MUX

2x1

3x

1f(x1=0, x2=1)

f(x1=0, x2=0, x3=0)1

0f(x1=0, x2=0, x3=1)

Slika 7.24 Realizacije prekidačke funkcije iz primera 7.19 pomoću multipleksera tipa 2x1

Multiplekseri se mogu koristiti i za konvertovanje paralelne informacije u serijsku.

Dakle, kada reč od n bitova treba transportovati kroz neki komunikacioni kanal u serijskom

obliku (bit po bit) na informacione ulaze multipleksera tipa nx1 se dovodi reč koju treba

transportovati, a na selektorske ulaze se smenjuju redni brojevi bitova u reči koji se

prosleđuju na izlaz. To znači da se na selektorske ulaze obično dovode izlazi iz brojača koji

broji po modulu n (više o brojačima možete naći u poglavlju 7.4.6).

Multiplekseri se u telekomunikacijama koriste još i da omoguće da se informacije sa

više izvora prenose kroz jedan komunikacioni kanal. Npr. signali iz više teritorijalno bliskih

telefonskih priključaka se dovode na ulaz multipleksera, a zatim se jednom bržom

komunikacionom linijom prenose dalje. Na selektorskim ulazima se i u tom slučaju

smenjuju adrese linije sa koje će se signal prenositi (propuštati) dalje.

MUX

2nx1

1x 2x

nx

Slika 7.25 Upotreba multipleksera u telekomunikacionim linijama

7.2.6.2 Demultiplekseri

Demultiplekseri obavljaju funkciju obrnutu od one koju obavljaju multiplekseri. Dakle,

oni imaju jedan informacion ulaz, n selektorskih ulaza i 2n izlaza. Pomoću selektorskih

Page 105: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

99

ulaza se određuje koji će izlaz biti povezan sa ulazom, tj. na koju izlaznu liniju će biti

prosleđen signal koji se dovodi na informacioni ulaz demultipleksera. Tip demultipleksera

je određen brojem izlaznih linija, dakle može biti: 12, 1x4, 1x8,... Princip rada i grafički

simbol demultipleksera prikazani su na slikama 7.26 (a) i 7.26 (b), respektivno.

DMUX

1x2n

1y

2y

n2y

1x 2x

nx

l

1y

2y

n2y

l3y 3y

(b)(a)

1x 2x nx...

Slika 7.26 Princip rada (a) i grafički simbol (b) demultipleksera

Tablica istinitosti demultipleksera 1x4 je data u tabeli 7.11, odnosno izlazne funkcije

ovakvog demultipleksera su definisane izrazima:

.

,

,

,

214

213

212

211

lxxy

lxxy

lxxy

lxxy

Tabela 7.11 Tablica istinitosti demultipleksera tipa 14

lxx 21 y1 y2 y3 y4

000 0 0 0 0

001 1 0 0 0

010 0 0 0 0

011 0 1 0 0

100 0 0 0 0

101 0 0 1 0

110 0 0 0 0

111 0 0 0 1

Realizacija demultipleksera 1x4 na osnovu navedenih izraza prikazana je na slici 7.27.

Page 106: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

100

Pošto je funkcija demultipleksera obrnuta od funkcije multipleksera, demultiplekser se

može koristiti i za konverziju serijske informacije u paralelnu. Ako komunikacionu liniju

kroz koju se informacija prenosi u serijskom obliku (bit po bit) vežemo na ulaz

demultipleksera, a izlaze demultipleksera povežemo na ulaze jednog registra sa paralelnim

čitanjem, selektorskim ulazima demultipleksera ćemo birati u koji bit registra će se upisati

ulazni bit. Smenjivanjem adrese bita gde se ulazna informacija upisuje, popunićemo

registar i spremiti ga za paralelno očitavanje. Kompletan put informacije kroz serijski

komunikacioni kanal kada se za konverziju podataka iz paralelnog u serijski oblik vrši

pomoću multipleksera, a iz serijskog u paralelni pomoću demultipleksera, prikazan je na

slici 7.28.

y

l x1 x

2

1

y2

y3

y4

Slika 7.27 Realizacija demultipleksera tipa 1x4 pomoću I i NE logičkih kola

MUX

2nx1

1x 2x

nx

PREDAJNIK

a0

a1

an

komunikacioni kanal

DMUX

1x2n

1x 2x

nx

a0

a1

an

PRIJEMNIK

Slika 7.28 Upotreba multipleksera i demultipleksera u komunikacionim sistemima za

konverziju paralelne informacije u serijsku i obrnuto

7.2.6.3 Koderi

Kao što je već rečeno, svi podaci (signali) se u računaru predstavljaju binarnom

azbukom. Koderi su prekidačke mreže koje imaju više ulaza i više izlaza i koje generišu

kodnu reč za onaj ulazni signal koji je trenutno aktivan. To znači da jedan potpuni koder

ima 2n ulaznih priključaka i n izlaznih priključaka uz ograničenje da u jednom vremenskom

trenutku vrednost samo jednog ulaznog signala može biti jednaka jedinici. Termin potpuni

Page 107: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

101

označava da su sve kodne reči iskorišćene. Ako broj različitih informacija (ili signala) koje

treba kodirati nije stepen dvojke, pravi se takozvani nepotpuni koder.

Na primer, koder je sastavni deo tastature računara. Izlaz iz takvog kodera je ASCII kod

karaktera (tastera) koji je trenutno pritisnut. (Naravno, savremene tasture dozvoljavaju da

više tastera istovremeno bude pritisnuto, pa je za kodovanje potrebno koristiti i neku

dodatnu logiku).

Tip kodera se označava sa broj_ulaza/broj_izlaza pa potpuni koderi mogu biti tipa 2/1,

4/2, 8/3, 16/4... Na slici 7.29 prikazan je grafički simbol kodera.

KODER

2n/n

1x

2x

n2x

3x

1y

2y

ny

3y

Slika 7.29 Grafički simbol kodera

Tablica istinitosti kodera tipa 8/3 prikazana je u tabeli 7.11. Iz tabele su izostavljene

vrste koje odgovaraju ulaznim vektorima na kojima izlazi nisu definisani (tj. vrste koje

odgovaraju ulaznim vektorima u kojima je broj jedinica različit od 1).

Tabela 7.12 Tablica istinitosti kodera tipa 8/3

1x 2x 3x 4x 5x 6x 7x 8x 1y 2y 3y

1 0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0 1

0 0 1 0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0 0 1 1

0 0 0 0 1 0 0 0 1 0 0

0 0 0 0 0 1 0 0 1 0 1

0 0 0 0 0 0 1 0 1 1 0

0 0 0 0 0 0 0 1 1 1 1

Izlazne funkcije kodera tipa 8/3 date su izrazima:

87651 xxxxy

87432 xxxxy

86423 xxxxy

Realizacija kodera tipa 8/3 prikazana je na slici 7.30.

Page 108: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

102

y

x1 x

2

1

y2

y3

x3 x

4x

5 x6

x7 x

8

Slika 7.30 Realizacija kodera tipa 8/3

7.2.6.4 Dekoderi

Dekoderi su prekidačke mreže sa više ulaza i više izlaza koje imaju obrnutu funkciju od

kodera. Dakle, na ulaze dekodera se dovode kodne reči, a na izlazu se aktivira onaj signal

čija je kodna reč (ili redni broj) dovedena na ulazne priključke. Potpuni dekoder sa n ulaza

imaće 2n izlaza. Tip dekodera se, takođe, označava sa broj_ulaza/broj_izlaza pa dekoderi

mogu biti tipa 1/2, 2/4, 3/8... Grafički simbol koji se koristi za prikaz dekodera u šemama

prekidačkih preža prikazan je na slici 7.31.

DEKODER

n/2n

1x

2x

n2

y

3x

1y

2y

nx

3y

Slika 7.31 Grafički simbol dekodera

Tablica istinitosti dekodera tipa 3/8 prikazana je u tabeli 7.13, a njegove izlazne

funkcije definisane su izrazima:

,3211 xxxy ,3212 xxxy

,3213 xxxy ,3214 xxxy

,3215 xxxy ,3216 xxxy

,3217 xxxy .3218 xxxy

Page 109: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

103

Tabela 7.13 Tablica istinitosti dekodera tipa 3/8

1x 2x 3x 1y 2y 3y 4y 5y 6y 7y 8y

0 0 0 1 0 0 0 0 0 0 0

0 0 1 0 1 0 0 0 0 0 0

0 1 0 0 0 1 0 0 0 0 0

0 1 1 0 0 0 1 0 0 0 0

1 0 0 0 0 0 0 1 0 0 0

1 0 1 0 0 0 0 0 1 0 0

1 1 0 0 0 0 0 0 0 1 0

1 1 1 0 0 0 0 0 0 0 1

Realizacija dekodera tipa 3/8 na osnovu datih izraza prikazana je na slici 7.32.

y

x2 x

3

1

y2

y3

y4

x1

y1

y2

y3

y4

Slika 7.32 Realizacija dekodera tipa 3/8

Iz izraza za izlazne funkcije dekodera se vidi da svaka izlazna funkcija predstavlja

jedan potpuni proizvod ulaznih promenljivih. Kako je u poglavlju 6.3.1 pokazano da se

svaka funkcija može realizovati kao disjunkcija potpunih proizvoda koji imaju vrednost 1

tamo gde funkcija ima vrednost 1 (PDNF), otuda sledi da se svaka prekidačka funkcija n

promenljivih može realizovati pomoću jednog dekodera tipa n/2n i jednog ILI kola.

Page 110: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

104

Primer 7.20 Na slici 7.33 prikazana je realizacija pomoću dekodera prekidačke funkcije

čija je PDNF data izrazom:

321321321321321321 ,, xxxxxxxxxxxxxxxxxxf

DECODER

3/8

1x

2x

3x

1y

2y

3y

4y

5y

6y

7y

8y

f

Slika 7.33 Realizacija prekidačke funkcije iz primera 7.20 pomoću dekodera

7.2.6.5 Konvertori kodova

Ponekad se u različitim digitalnim uređajima koriste različiti načini za predstavljanje

istih podataka. Da bi takvi uređaji mogli međusobno da se povežu potrebno je omogućiti

prevođenje podataka iz jednog načina predstavljanja u drugi. Najočigledniji primeri

različitih načina predstavljanja istih podataka su: različiti BCD kodovi za predstavljanje

numeričkih podataka ili različiti kodovi za predstavljanje tekstualnih podataka (ASCII,

EBCDIC, UNICODE...). Konvertori kodova vrše prevođenje podataka iz jednog načina

kodiranja u drugi. Na primer, u tabeli 7.14 prikazana je tablica istinitosti konvertora koji

prevodi prirodni BCD kod u Grejov kod.

Tabela 7.14 Tablica istinitosti konvertora prirodnog BCD koda u Grejov kod

BCD kod Grejov kod

4321 xxxx 4321 yyyy

0000 0 0 0 0

0001 0 0 0 1

0010 0 0 1 1

0011 0 0 1 0

0100 0 1 1 0

0101 0 1 1 1

0110 0 1 0 1

0111 0 1 0 0

1000 1 1 0 0

Page 111: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

105

1001 1 0 0 0

1010 * * * *

1011 * * * *

1100 * * * *

1101 * * * *

1110 * * * *

1111 * * * *

7.2.6.6 Sabirači

Sabirači, kao i kombinacioni moduli koji su obrađeni u sledećim sekcijama, spadaju u

grupu aritmetičkih kombinacionih modula. Ime im potiče otuda što realizuju izvesne

aritmetičke operacije, a i u računarima se koriste u realizaciji takozvane aritmetičko-logičke

jedinice (o kojoj će detaljnije biti reči u poglavlju 9). Kada pričamo o realizaciji sabirača

binarnih brojeva, svakako je prvi problem koji treba rešiti sabiranje jednobitnih brojeva,

odnosno realizovati sabirač za jednu poziciju u broju. Podsetimo se još jednom algoritma za

sabiranje višecifrenih brojeva. Pretpostavimo da treba sabrati 2 n-tocifrena broja

01221 aaaaaA nn i 01221 bbbbbB nn . Postupak sabiranja je prikazan na slici

7.34.

1np 2np 2p 1p 0p

1na 2na 2a 1a 0a

+ 1nb 2nb 2b 1b 0b

nc 1nc 2nc 2c 1c 0c

Slika 7.34 Sabiranje 2 n-tocifrena broja

Sa slike 7.34 se vidi da se jedino razlikuje sabiranje cifara (bitova) najmanje težine.

Jedino u tom slučaju se vrši sabiranje 2 cifre, na svim ostalim pozicijama u sabiranju

učestvuju 3 ulazna podatka: cifre sa odgovarajućih pozicija iz brojeva koji se sabiraju i

prenos koji se pojavio pri sabiranju na prethoodnoj poziciji, tj. na poziciji prve manje

težine. To znači da pri realizaciji jednobitnih sabirača razlikujemo 2 slučaja:

sabirač koji ne uzimaju u obzir prenos sa prethodne pozicije - polusabirač

(engleski Half adder),

sabirač koji uzima u obzir i prenos sa prethodne pozicije - potpuni

sabirač(engleski Full adder).

Tablica istinitosti polusabirača prikazana je u tabeli 7.15, a tablica istinitosti potpunog

sabirača prikazana je u tabeli 7.16.

Na slici 7.35 (a) prikazan je grafički simbol polusabirača, a na slici 7.35 (b) grafički

simbol potpunog sabirača.

Page 112: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

106

Tabela 7.15 Tablica istinitosti polusabirača

ii ba ii pc

00 0 0

01 1 0

10 1 0

11 0 1

Tabela 7.16 Tablica istinitosti potpunog sabirača

1 iii pba ii pc

00 0 0 0

0 0 1 1 0

0 10 1 0

0 11 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

HA

ci

pi

ai

bi

(a)

FA

ci

pi

ai

bi

(a)

pi-1

Slika 7.35 Grafički simbol polusabirača (a) i potpunog sabirača (b)

Za realizaciju sabirača višecifrenih brojeva, moguće je koristiti samo jedan potpuni

sabirač, ali će se u tom slučaju sabiranje bitova na različitim pozicijama vršiti u

sukcesivnim vremenskim intervalima. Takva realizacija višebitnog sabirača se naziva još i

serijski sabirač (jer se sabiranje vrši u serijskom režimu - bit po bit). Realizacija

višecifrenog serijskog sabirača prikazana je na slici 7.36. Komponenta označena kao ME na

slici predstalja memorijski element koji čuva prenos sa prethodne pozicije dok ne krene

sabiranje cifara sa sledeće pozicije.

Page 113: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

107

FA

ci

pi

ai

bi

pi-1

ME

Slika 7.36 Serijski višecifreni binarni sabirač

FA FA . . . FA FA

an-1 bn-1 an-2 bn-2 a1 b1 a0 b0 0

c0c1cn-2cn-1pn-1 pn-2 p1 p0

Slika 7.37 Paralelni višecifreni binarni sabirač

Drugi način za realizaciju višecifrenog sabirača je da se koristi n posebnih potpunih

sabirača te da se izlazni prenos iz prethodnog sabirača vezuje na ulazni priključak sledećeg

sabirača (kao što je prikazano na slici 7.37). U tom slučaju sabiranje bitova na svim

pozicijama se vrši istovremeno pa se ovakva realizacija sabirača naziva paralelni sabirač.

Ipak, kod ovakve realizacije višecifarskog sabirača, sabiranje na poziciji i neće dati validan

rezultat dok se ne generiše prenos na poziciji i-1, za generisanje prenosa na poziciji i-1,

potrebno je generisati prenos na poziciji i-2... Zbog toga je precizniji naziv ovog sabirača

paralelni sabirač sa serijskim prostiranjem prenosa.

7.2.6.7 Inkrementatori i dekrementatori

Inkrementatori (dekrementatori) vrše povećanje (smanjenje) binarnog broja za 1. Za

inkrametiranje (odnosno dekrementiranje) se mogu koristiti i sabirači, ali se ponekad prave

posebni inkrementatori i dekrementatori jer je njihova realizacija jednostavnija od

realizacije sabirača.

Pogledajmo algoritam za inkrementiranje jednog n-tocifrenog binarnog broja (slika

7.38). Sa slike 7.38 uočavamo da se na svim pozicijama, osim na poziciji najmanje težine,

vrši sabiranje odgovarajućeg bita iz broja koji se inkrementira sa prenosom sa pozicije niže

težine. Na poziciji najmanje težine se vrši sabiranje bita najmanje težine sa jedinicom. To

znači da za inkrementiranje na svakoj poziciji možemo koristiti istu kombinacionu

prekidačku mrežu, s tim što ćemo na ulaz p na poziciji 0 stalno dovoditi jedinicu. Tablica

istinitosti jednobitnog inkrementatora u tom slučaju izgleda kao u tabeli 7.17. Ako

uporedimo tablice istinitosti polusabirača i jednobitnog inkrementatora, vidimo da su

apsolutno iste. To znači da se za realizaciju inkrementatora, u stvari, koriste polusabirači.

Naravno, višebitni inkrementator, isto kao i višebitni sabirač, može biti realizovan kao

serijski i kao paralelan.

Page 114: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

108

1np 2np 2p 1p 0p

1na 2na 2a 1a 0a

+ 1

nc 1nc 2nc 2c 1c 0c

Slika 7.38 Inkrementiranje višecifrenog broja

Tabela 7.17 Tablica istinitosti jednobitnog inkrementatora

1 ii pa ii pc

00 0 0

01 1 0

10 1 0

11 0 1

Proces dekrementiranja višecifrenog binarnog broja prikazan je na slici 7. 39. Sa pi je u

ovom slučaju obeležena pozajmica koju treba izvršiti sa pozicije više težine (odnosno cifra

koju treba oduzeti od pozicije više težine). To znači da se pri dekrementiranju broja, od

svake cifre oduzima pozajmica generisana pri dekrementiranju na prethodnom razredu,

osim na poziciji najmanje težine. Na poziciji najmanje težine se uvek oduzima cifra 1. To

znači da, ako to tretiramo kao pozajmicu sa pozicije niže težine i fiksiramo vrednost te

pozicije na 1, rad dekrementatora na svakoj poziciji se može opisati sistemom funkcija

prikazanim u tabeli 7.18.

1np 2np 2p 1p 0p

1na 2na 2a 1a 0a

- 1

nc 1nc 2nc 2c 1c 0c

Slika 7.39 Dekrementiranje višecifrenog broja

Tabela 7.18 Tablica istinitosti jednobitnog dekrementatora

1 ii pa ii pc

00 0 0

01 1 1

10 1 0

11 0 0

Page 115: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

109

7.2.6.8 Komparatori

Komparatori su kombinacione mreže koje vrše poređenje dva binarna broja. Poređenje

brojeva, u stvari, predstavlja izvršenje relacionih operatora (=, ≠, <, , >, ). Iako formalno

postoji 6 relacionih operacija, 3 su osnovne: =, < i >. Dakle, komparator 2 binarna broja (A

i B) ima 3 izlaza: A=B, A<B i A>B. Naravno u realizaciji komparatora višecifrenih

binarnih brojeva koriste se komparatori jednocifrenih binarnih brojeva. Tablica istinitosti

komparatora jednocifrenih binarnih brojeva data je u tabeli 7.19, a njegov grafički simbol

na slici 7.40.

Tabela 7.19 Tablica istinitosti jednobitnog komparatora

ii ba iiiiii bababa

00 0 1 0

01 1 0 0

10 0 0 1

11 0 1 0

ai

bi

ai bi<

ai bi=

ai bi>

Slika 7.40 Grafički simbol jednobitnog binarnog komparatora

Izlazne funkcije višebitnog binarnog komparatora (tj. komparatora binarnih brojeva

0121 aaaaA nn i 0121 bbbbB nn definisane su sledećim izrazima:

00112211221111 bababababababaBA nnnnnnnnnn ,

00112211 babababaBA nnnn ,

00112211221111 bababababababaBA nnnnnnnnnn .

7.3 Sekvencijalne prekidačke mreže

Već je poznato da stanje na izlazu kombinacione mreže zavisi od trenutne kombinacije

ulaznih promenljivih. Sa druge strane, stanje na izlazu sekvencijalnih mreža je određeno

kombinacijom ulaznih promenljivih i trenutnim (internim) stanjem mreže. Na taj način,

izlaz sekvencijalne mreže zavisi od predistorije rada mreže, a ne samo od kombinacije

ulaznih promenljivih. Kao posledica promena ulaza, ove mreže prolaze kroz sekvencu

stanja pa se iz tog razloga mreže koje pokazuju ovakvo ponašanje nazivaju sekvencijalne

mreže.

Page 116: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

110

Sekvencijalne mreže se u arhitekturnom smislu razlikuju od kombinacionih mreža u

postojanju memorijskih elemenata koji „pamte” prethodno stanje mreže.

Takođe, kao što je već napomenuto ranije, funkcionalno ponašanje kombinacione

mreže može se opisati tablicama istinitosti, gde se za svaku moguću kombinaciju ulaznih

promenljivih specificira izlaz. Sa druge strane, funkcionalno ponašanje sekvencijalne mreže

se opisuje matematičkim modelom koji se naziva konačni automat (eng. Finite State

Machine).

Funkcionalno ponašanje konačnog automata može se opisati sa dve funkcije:

funkcijom stanja i funkcijom izlaza. Funkcijom stanja određeno je sledeće stanje konačnog

automata, dok funkcija izlaza definiše odgovarajući izlaz. Naziv konačni potiče iz činjenice

da se konačni automat može naći u konačnom broju stanja. Mi ćemo se ovde baviti

determinističkim konačnim automatima, koji imaju osobinu da pod dejstvom jedne

kombinacije ulaznih signala, iz tekućog stanja prelaze u najviše jedno novo stanje. Nadalje

u tekstu će se termin konačni automat koristiti za ovu vrstu automata.

Pre formalnog opisa konačnog automata biće objašnjen način njegovog funkcionisanja.

Na početku rada konačni automat se nalazi u nekom početnom stanju. Nakon toga se zada

znak sa ulaza i prelazi u stanje definisano funkcijom stanja. Isti postupak se ponavlja tj. čita

se znak po znak i prelazi se iz stanja u stanje dok se ne stigne do kraja ulaza. Nakon čitanja

određenog znaka i prelaska u novo stanje, konačni automat se više ne vraća na taj znak. Na

osnovu prethodnog može se zaključiti da bismo predvideli dalje ponašanje automata

potrebno je znati tekuće stanje i preostali deo ulazne reči.

Ponašanje konačnih automata prisutno je u mnogim uređajima u savremenom društvu

koji izvode unapred određenu sekvencu akcija zavisno od niza događaja koji su prethodili.

Jednostavni primeri su: automat za prodaju koji u slučaju ubacivanja odgovarajuće

kombinacije novčića izbacuje određeni proizvod, liftovi čije ponašanje zavisi od toga na

kom spratu se trenutno nalaze i koje dugme je pritisnuto, brave koje zahtevaju unos brojeva

u pravilnom rasporedu radi otvaranja itd. Konačni automati nalaze primenu u mnogim

oblastima računarstva kao što su: projektovanje hardvera računara, softversko inženjerstvo,

dizajn komunikacionih protokola, veštačka intelegencija itd.

Prethodni opis konačnog automata može se izraziti i sledećom formalnom definicijom.

Definicija7.10: Rad konačnog automata se može definisati kao uređena petorka

M=(A,Q,Z,fq,fz) gde je:

A - konačan neprazan skup simbola ulazne azbuke

Q - konačan neprazan skup azbuke stanja automata

Z - konačan neprazan skup simbola izlazne azbuke

fq - funkcija prelaza (stanja)

fz - funkcija izlaza

Pretpostavlja se da se na početku rada automat nalazi u nekom određenom stanju koje

pripada skupu Q.

Na slici 7.41 je dat šematski prikaz konačnog automata. Kao što se može videti sa slike

7. 41 konačni automat sadrži kombinacionu mrežu (KM) koja realizuje funkciju stanja i

funkciju izlaza, kao i memoriju (M) koja čuva informaciju o stanju. Konačni automati su

Page 117: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

111

definisani različitim simbolima koji se koriste za ulaznu azbuku automata, azbuku stanja

automata, kao i za izlaznu azbuku automata. Kako se za njihovu praktičnu realizaciju

koriste komponente koje se baziraju na binarnoj logici ove simbole je neophodno

predstaviti binarnim sekvencama.Tako su simboli konačnih azbuka automata A, Q i Z pri

praktičnoj realizaciji predstavljeni binarnim azbukama X, Y i S, respektivno, tj. svakom

simbolu azbuke odgovara vektor vrednosti prekidačkih promenljivih. U diskretnim

vremenskim intervalima se na ulaz automata dovodi simbol iz konačne azbuke A

predstavljen vektorom x1,x2,...xl. Na izlazu automata se formira simbol koji pripada

konačnoj azbuci Z predstavljen vektorom y1,y2,...ym. U svakom trenutku automat se nalazi u

jednom od stanja koji pripada konačnom skupu stanja Q predstavljeno vektorom s1,s2,...sn.

Stanje automata se menja sa promenom ulaznog simbola u stanje predstavljeno vektorom

s1’,s2’,...sn’.

Slika 7.41 Šematski prikaz konačnog automata

U odnosu na to od čega zavisi funkcija izlaza, konačne automate možemo podeliti na

dve vrste: Milijev i Murov konačni automat. Kod konačnog automata Milijevog tipa izlazni

simbol je određen prethodnim stanjem automata i simbolom koji se trenutno nalazi na ulazu

automata, dok je kod Murovog automata izlazni simbol određen samo stanjem automata u

datom trenutku. Formalni opisi Milijevog i Murovog automata dati su kroz definicije.

Definicija 7.11: Konačni automat je Milijevog tipa ako je:

Funkcija prelaza data sa QAQfq : i,

Funkcija izlaza data sa ZAQfq :

Definicija7.12: Konačni automat je Murovog tipa ako je:

Funkcija prelaza data sa QAQfq : i,

Funkcija izlaza data sa ZQfq :

Page 118: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

112

Iz navedenih definicija se može zaključiti da je funkcija prelaza u slučaju oba automata

ista. Ona definiše novo stanje q(t) u diskretnom vremenskom trenutku t u zavisnosti od

prethodnog stanja q(t-1) (tj. stanja u prethodnom vremenskom trenutku) i ulaznog simbola

u datom vremenskom trenutku, a(t). Tako u slučaju oba automata važi:

)).(),1(()( tatqftq q

Funkcija izlaza definiše izlazni simbol, i u slučaju Milijevog automata izlazni simbol

z(t) u diskretnom vremenskom trenutku t je određen prethodnim stanjem q(t-1) i ulaznim

simbolom u istom vremenskom trenutku a(t) tj. važi:

))(),1(()( tatqftz z .

U slučaju Murovog automata izlazni simbol z(t) u diskretnom vremenskom trenutku t

je određen samo stanjem u datom trenutku tj. q(t) pa za izlaznu funkciju ovog automata

važi:

))(()( tqftz z .

Može se dokazati da su ova dva modela konačnih automata ekvivalentna. To znači da

se za svaki Milijev može naći ekvivalentan Murov i obratno. Način prelaza iz jednog u

drugi tip automata neće biti detaljnije razmatrani.

7.4 Načini predstavljanja konačnih automata

Za opis funkcija prelaza i izlaza se može koristiti više različitih načina. U zavisnosti od

svrhe za koju se koriste, konačni automati se mogu predstaviti preko tablica prelaza i izlaza,

grafova, različitih vrsta matrica ili sistemima prekidačkih funkcija.

7.4.1 Predstavljanje automata tablicama prelaza i izlaza

Tablica prelaza je tabela kod koje oznake kolona predstavljaju stanja konačnog

automata, oznake vrsta predstavljaju simboli ulazne azbuke, a element na poziciji (i,j)

predstavlja stanje u koje se prelazi iz stanja koje odgovara koloni j kada se na ulazu pojavi

simbol koji odgovara vrsti i. Tablica izlaza je tabela koja ima iste vrste i kolone kao tabela

prelaza. Element tabele izlaza je simbol izlazne azbuke koji se generiše na izlazu kada je

automat u stanju koje odgovara koloni j, a na ulazu se pojavi simbol koji odgovara vrsti i.

Umesto tablicama prelaza i izlaza, konačni automat se može predstaviti jedinstvenom

tablicom prelaza/izlaza čiji su elementi parovi novo_stanje/izlazni_simbol. U tabelama 7.

20, 7. 21 i 7. 22 dati su primeri tablice prelaza, tablice izlaza i tablice prelaza/izlaza

A={a,b}, Z={0,1,2}, Q={q1,q2,q3}.

Page 119: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

113

Tabela 7.20 Tablica prelaza

Tabela 7.21 Tablica izlaza

Tabela 7.22 Tablica prelaza/izlaza

Kako kod Murovog automata izlazni simbol zavisi samo od stanja automata u datom

trenutku, a ne i od ulaznog simbola za njegovo predstavljanje dovoljno je dati samo tzv.

modifikovanu tablicu prelaza koja predstavlja tablicu prelaza kojoj je dodata vrsta u koju se

upisuju izlazni simboli koji odgovaraju datom stanju. Npr. za A={a,b}, Z={0,1,2},

Q={q1,q2,q3} modifikovana tablica prelaza može izgledati na način prikazan u tabeli 7.23.

Tabela 7.23 Modifikovana tablica prelaza

7.4.2 Predstavljanje konačnih automata pomoću grafova

Funkcije prelaza i izlaza se mogu predstaviti i orijentisanim grafovima tj. grafovima

prelaza automata. Automat Milijevog tipa predstavlja se orijentisanim grafom kod koga

čvorovi odgovaraju stanjima konačnog automata, poteg (grana) između čvorova qi i qj

q1 q2 q3

a q1 q1 q3

b q2 q3 q1

q1 q2 q3

a 0 1 0

b 2 2 1

q1 q2 q3

a q1/0 q1/1 q3/0

b q2/2 q3/2 q1/1

Z: 0 2 1

q1 q2 q3

a q3 q2 q2

b q2 q3 q1

Page 120: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

114

postoji ukoliko u grafu postoji prelaz iz stanja qi u stanje qj. Oznaka potega predstavlja

uniju parova ulazni_simbol/izlazni_simbol takvih da ulazni_simbol prevodi automat iz

stanja qi u stanje qj i pri tome se generiše izlazni_simbol. Na slici 7.42 je dat graf Milijevog

automata koji je predstavljen odgovarajućom tablicom prelaza/izlaza.

Slika 7.42 Graf Milijevog automata

Kod Murovog automata oznaka čvora je par stanje_automata/izlazni_simbol jer

izlazni simboli zavise samo od stanja dok se u oznakama grana nalaze samo unije ulaznih

simbola koji prevode automat iz stanja qi u stanje qj. Na slici 7.43 je dat graf Murovog

automata predstavljen modifikovanom tablicom prelaza/izlaza.

Slika 7.43 Graf Murovog automata

7.4.3 Predstavljanje konačnih automata pomoću matrica

Korišćenje matrica, kao načina predstavljanja konačnih automata, omogućava da se

formalizuje niz operacija koji se na grafu automata može obaviti vizuelno. U slučaju kad se

te operacije ne mogu obaviti vizuelno ili je graf automata toliko složen da je to nemoguće

izvesti, matrice imaju prednost u zadavanju automata. Takođe, uz pomoć matrica je lakše

izvršiti minimizaciju stanja automata.

q1 q2 q3

a q1/0 q1/1 q3/0

b q2/2 q3/2 q1/1

Z: 0 2 1

q1 q2 q3

a q3 q2 q2

b q2 q3 q1

Page 121: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

115

Matrica prelaza prve vrste (matrica veza) je matrica čije dimenzije odgovaraju broju

stanja konačnog automata, a vrste i kolone odgovaraju stanjima automata. Element na

poziciji (i,j) predstavlja uniju ulaznih simbola koji prevode automat iz stanja qiu stanje qj.

Matrica prelaza/izlaza prve vrste (M) je matrica kod koje broj vrsta i kolona

odgovaraju broju stanja konačnog automata, a element na poziciji (i,j) predstavlja uniju

parova ulazni_simbol/izlazni_simbol takvih da ulazni_simbol prevodi automat iz stanja qi

u stanje qj i pri tome se generiše izlazni_simbol.

Na slici 7.44 su za graf sa slike 7.42 prikazane matrice prelaza i matrice prelaza/izlaza

prve vrste.

ab

ba

ba

0/1/

2/1/

2/0/

ab

ba

ba

a) b)

Slika 7.44 Matrica prelaza prve vrste (a) i matrica prelaza/izlaza prve vrste (b)

Drugi način matričnog zadavanja automata predstavljaju matrice prelaza druge vrste.

One opisuju raspodelu prelaza za svaki ulazni simbol posebno. Slično se definišu i matrice

izlaza. Ove matrice omogućavaju da se određenim postupkom za zadato početno stanje i

dovedenu ulaznu reč u određenom vremenskom trenutku t odrede stanje i izlazni simbol u

tom trenutku.

Matrica prelaza druge vrste je matrica koja se kreira za svaki ulazni simbol. Za izlazni

simbol al ima oznaku T(al). Ova matrica ima broj vrsta i kolona koji odgovaraju broju

stanja automata. Element na poziciji (i,j) u ovoj matrici definisan je na sledeći način:

jr

definisanonijeaqf

qaqf

qaqf

t

liq

rliq

jliqlij

,

),(,

),(,0

),(,1

Matrica izlaza druge vrste Milijevog automata kreira za svaki izlazni simbol, i za izlazni

simbol al ima oznaku Y(al) dok kod Murovog automata postoji samo jedna takva matrica.

Kod Milijevog automata ova matrica ima broj vrsta jednak broju stanja automata, dok je

broj kolona jednak broju izlaznih simbola. Element na poziciji (i,j) u ovoj matrici definisan

je na sledeći način:

jr

definisanonijeaqf

zaqf

zaqf

y

liz

rliz

jliz

lij

,

),(,

),(,0

),(,1

Na slikama 7.45 i 7.46 su za graf sa slike 7.42 prikazane matrice prelaza i matrice

izlaza druge vrste.

Page 122: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

116

001

100

010

)(

100

001

001

)( bTaT

Slika 7.45 Matrica prelaza druge vrste

010

100

100

)(

001

010

001

)( bYaY

Slika 7.46 Matrica izlaza druge vrste

Za svako stanje automata qi definiše se vektor stanja Q čiji su elementi:

ji

jisi

j,0

,1

Slično, za svaki izlazni simbol automata zi definiše se vektor izlaza Z čiji su elementi:

ji

jiwi

j,0

,1

Na osnovu ova dva vektora može se odrediti stanje nakon primene ulaznog simbola a(t),

na osnovu Q(t)=Q(t-1)T(a(t)). Slično, izlazni simbol na osnovu matrice izlaza druge vrste

se u slučaju Milijevog automata određuje preko Z(t)=Q(t-1)Y(a(t)), a u slučaju Murovog

automata preko Z(t)=Q(t-1)Y. Ovim je omogućeno da se za zadato početno stanje i

dovedenu ulaznu reč u određenom vremenskom trenutku t odrede stanje i izlazni simbol u

tom trenutku.

7.4.4 Predstavljanje konačnih automata pomoću prekidačkih funkcija

Ako se simboli ulazne azbuke, izlazne azbuke i azbuke stanja automata binarno kodiraju

tj. simbol bilo koje azbuke predstavi vektorom vrednosti prekidačkih nezavisno

promenljivih, tada se funkcija prelaza može opisati sistemom prekidačkih funkcija prelaza,

a funkcija izlaza sistemom prekidačkih funkcija izlaza. Postupak preslikavanja funkcija

prelaza i izlaza u sistem prekidačkih funkcija prelaza, odnosno izlaza odvija se na sledeći

način: simboli azbuke A se kodiraju binarnim rečima dužine l, simboli azbuke Z se kodiraju

binarnim rečima dužine m, a simboli azbuke Q se kodiraju binarnim rečima dužine n.

Page 123: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

117

Funkcijama fq i fz odgovaraju sistemi prekidačkih funkcija f i g. Funkcija prelaza

konačnog automata se sada opisuje sistemom prekidačkih funkcija na sledeći način:

Funkcija izlaza se opisuje sistemom prekidačkih funkcija izlaza i u slučaju Milijevog

automata ima sledeći oblik:

U slučaju Murovog automata funkcija prelaza ima isti oblik kao i za Milijev automat

dok sistem funkcija izlaza ima sledeći oblik:

Za predstavljanje funkcija prelaza, kao i funkcije izlaza konačnog automata se može

koristiti bilo koji način za predstavljanje prekidačkih funkcija: tablica istinitosti, vektor

istinitosti, skupovi decimalnih indeksa vektora, decimalni indeks funkcije, analitičke forme

(PKNF, PDNP, PPNF, KP), Karnoove mape, itd.

Primer 7.21 Konačni automat zadat grafom sa slike 7.42 predstaviti prekidačkim

funkcijama.

Korak 1. Iskodiraćemo najpre ulaznu azbuku i azbuku stanja binarnom azbukom. Pošto

ulazna azbuka sadrži 2 simbola (a i b), kodne reči za njihovo kodiranje će biti

dužine 1 ( 12log2 ), tj. biće nam potrebna 1 ulazna promenljiva. Način

kodiranja ulazne azbuke prikazan je u tabeli 7.24.

Azbuka stranja sadrži 3 simbola (q1, q2 i q3), pa je za njeno kodiranje dovoljno koristiti

kodne reči dužine 2 ( 23log2 ), pa ćemo koristiti 2 promenljive za predstavljanje stanja

automata. Jedan od mogućih načina za kodiranje azbuke stanja prikazan je u tabeli 7.25. Na

sličan način kodiraćemo i azbuku izlaza, što je i prikazano u tabeli 7.26.

Korak 2. U skladu sa uvedenim kodiranjem u prethodnom koraku, funkcije stanja i

funkcije izlaza konačnog automata sa slike 7.42, prikazane su tablicom

istinitosti u tabeli 7.27.

),,,,,()1(

),,,,,()1(

11

1111

nlnn

nl

QQxxgtQ

QQxxgtQ

),,,,,(

),,,,,(

11

1111

nlmm

nl

QQxxfz

QQxxfz

),,(

),,(

1

111

nmm

n

QQfz

QQfz

Page 124: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

118

Tabela 7.24 Način kodiranja ulazne azbuke

simbol x

a 0

b 1

Tabela 7.25 Način kodiranja azbuke stanja

stanje Q1Q2

q1 00

q2 01

q3 10

Tabela 7.26 Način kodiranja izlazne azbuke

izlaz y1y2

0 00

1 01

2 10

Tabela 7.27 Automat predstavljen sistemom prekidačkih funkcija

x Q1(t) Q2(t) Q1(t+1) Q2(t+1) y1 y2

0 0 0 0 0 0 0

0 0 1 0 0 0 1

0 1 0 1 0 0 0

0 1 1 * * * *

1 0 0 0 1 1 0

1 0 1 1 0 1 0

1 1 0 0 0 0 1

1 1 0 * * * *

Radi boljeg razumevanja funkcionisanja konačnog automata, ovde ćemo navesti primer

automata za prodaju bombona i opisati način njegovog rada preko konačnih automata.

Primer 7.22 Automat za prodaju prodaje bombone za 15 dinara. Automat prima metalne

novčiće od 5 i 10 dinara. Kada je suma ubačenog novca veća ili jednaka 15 dinara automat

nudi bombonu i ako postoji vraća kusur. Nakon toga, automat čeka sledeću mušteriju.

Odrediti i nacrtati tablicu prelaza automata.

Iz teksta primera možemo zaključiti da na ulazu automata može da se javi novčić od 5

dinara, novčić od 10 dinara ili nijedan od ta dva. Tako, za predstavljanje simbola ulazne

azbuke koristimo dva bita x1x2 i to tako da x1=1 predstavlja ubacivanje novčića od 10

dinara, a x2=1 predstavlja ubacivanje novčića od 5 dinara i ako su oba jednaka 0 nije

ubačen nijedan od ta dva novčića. Sa druge strane, automat se može naći u sledećim

Page 125: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

119

mogućim stanjima: početno stanje Q1 kad još nije ništa ubačeno, stanje Q2 koje označava da

je ubačeno je 5 dinara i stanje Q3 koje označava da je ubačeno je 10 dinara. Ako je automat

u stanju koje označava da je ubačeno 10 dinara i na ulazu se nađe novčić od 5 dinara

automat treba da izbaci bombonu i vrati se u početno stanje. U slučaju da se automat nalazi

u stanju koje označava da je ubačeno 10 dinara i na ulazu se nađe novčić od 10 dinara

automat treba izbaci da bombonu i kusur (od 5 dinara) i vrati se u početno stanje. Da li će

se na izlazu naći bombona, bombona i kusur ili ništa od toga predstavićemo odgovarajućim

binarnim vrednostima izlaza automata. Tako će z1=1 označavati da na izlazu treba da se

nađe bombona, z2=1 da na izlazu treba da se nađe kusur. Ako su z1=1 i z2=1 treba da se

nađe i bombona i kusur i ako su z1=0 i z2=0 na izlazu nema ničega. Na osnovu prethodnog

tablica prelaza/izlaza za ovako opisan automat data u tabeli 7.28.

Tabela 7.28 Tablica prelaza

q1 q2 q3

00 q1/00 q2/00 q3/00

01 q2/00 q3/00 q1/10

10 q3/00 q1/10 q1/11

7.4.5 Memorijski elementi

Pošto je glavna razlika između kombinacionih i sekvencijalnih mreža prisustvo

memorijskih elemenata u kojima se pamte osnovne informacije o vrednostima prethodno

dovedenih ulaza, ovde će ukratko biti objašnjeni memorijski elementi koji se koriste u tu

svrhu. Osnovna karakteristika memorijskih elemenata je da ostaju u uspostavljenom stanju

i nakon izostanka pobudnih (ulaznih) signala koji su ih doveli u to stanje. U ovom

stabilnom stanju mogu ostati neograničeno dugo, sve do pojave novih ulaznih signala. Ovi

memorijski elementi se još nazivaju elementarni automati jer imaju najmanji broj mogućih

stanja. Oni imaju dva stabilna stanja koja služe za pamćenje 1 bita u računaru i za njihovu

hardversku realizaciju koriste se bistabilna kola, tj. flip-flopovi. Elementarni automati su

obično automati Murovog tipa. Dvoma stabilnim stanjima odgovaraju dva izlazna signala

koja služe za njihovo razlikovanje. Ova dva stanja i izlazni signali se označavaju istim

simbolom Q, koji može imati vrednost "0” ili “1”. U daljem tekstu biće navedeni neki od

osnovnih flip-flopova koji služe za realizaciju konačnih automata. Za svaki od njih biće dat

zakon funkcionisanja tj. biće prikazana tablica istinitosti koja opisuje funkciju prelaza i

izveden analitički izraz. Zakon funkcionisanja se daje samo funkcijom prelaza zato što se

izlazni signal poklapa sa signalom stanja.

7.4.5.1 Osobine i zakoni funkcionisanja flip-flopova

Da bi u potpunosti razumeli način funkcionisanja flip-flopova moramo prvo objasniti

razliku između sinhronih i asinhronih automata. Sinhroni automati su oni kod kojih se sve

promene stanja memorijskih elemenata dešavaju pod kontrolom spoljašnjeg taktnog

signala. Ovo znači da se stanja menjaju u jednakim vremenskim trenucima koje određuje

generator sinhronizacionih impulsa. Za razliku od sinhronih, kod asinhronih automata

Page 126: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

120

promene stanja memorijskih elemenata zavise od promene ulaznih signala i unutrašnjih

kašnjenja logičkih kola kroz koja ti signali prolaze. Kako se za hadversku realizaciju

memorijskih elemenata koriste flip-flopovi, za svaki od opisanih flip-flopova važi da mogu

biti upravljani taktnim signalom ili ne, zavisno od primene. Ako su upravljani taktnim

signalom zvaćemo ih taktovani flip-flopovi, u suprotnom netaktovani flip-flopovi.

D flip-flop ima jedan informacioni ulazni priključak (D). U opštem slučaju, rad ovog

flip-flopa se zasniva na tome da se na izlaz automata prenosi vrednost ulaznog signala (D).

Kod taktovanog D flip-flopa, vrednost izlaznog signala se menja samo kada je taktni signal

postavljen na 1. Izlaz Q preuzima vrednost na ulazu D (D - eng. Delay (kašnjenje) zbog

zadržavanja ulaza za jedan taktni interval) u trenutku kad je taktni signal postavljen na 1.

Jedna od primena ovog flip-flopa je u pomeračkim registrima, gde se ulazni podatak u flip-

flopu pomera na izlaz flip-flopa zakašnjen zajedan taktni interval. O pomeračkim registrima

biće više reči u potpoglavlju 7.4.6.

T flip-flop ima jedan informacioni ulazni priključak (T). Kada se ulazni T priključak

postavi na vrednost 1, stanje automata se komplementira. Kada je T ulaz postavljen na

vrednost 0, stanje automata ostaje nepromenjeno. Ovakav tip flip-flopa ima primenu u

brojačkim registrima.

RS Flip-flop sa 2 ulazna priključka: S (eng. Set-postavljanje) koji postavlja stanje

automata na 1 i R (eng. Reset-brisanje) koji postavlja stanje automata na 0. Nije dozvoljeno

da S i R ulaz istovremeno budu postavljeni na 1. Kada su i S i R ulaz postavljeni na 0,

stanje automata ostaje nepromenjeno.

JK flip-flop je flip-flop sa 2 ulazna priključka: J i K. Ako je J=K=0 zadržava se

prethodno stanje automata. Ulaz J=1 postavlja stanje automata na 1 kada je K=0, dok K=1

postavlja stanje automata na 0 kada je J=0. Ako je J=K=1 stanje automata se komlementira.

Rad flip-flopa kao memorijskog elementa može biti prikazan tablicom istinitosti, ili

pomoću odgovarajućih logičkih funkcija prikazanih u analitičkom obliku. Grafički simboli

opisanih flip-flopova za slučaj netaktovanih i za slučaj taktovanih flip-flopova, gde je takt

označen sa C, kao i zakoni funkcionisanja pomenutih flip-flopova (tablicom istinitosti i u

analitičkom obliku) prikazani su redom na slikama 7.47, 7.48, 7.49 i 7.50. Radi uprošćenja,

zakoni funkcionisanja su izvedeni za netaktovane flip-flopove.

Slika 7.47 Grafički simbol i zakon funkcionisanja D flip-flopa

Slika 7.48 Grafički simbol i zakon funkcionisanja T flip-flopa

D D

0 0 000

1111

00 01 11 1

0101

Q(t)

Q(t)

Q(t+1)=D

Q(t+1)

D

D

D

D

Q

Q

Q

Q

C

T T

0 0 00

0

11

1100 1

1 11 0

0101

Q(t)

Q(t)

Q(t+1)= Q(t)+T (t)T Q

Q(t+1)

T

T

Q

Q

Q

Q

T

T

C

Page 127: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

121

Slika 7.49 Grafički simbol i zakon funkcionisanja RS flip-flopa

Slika 7.50 Grafički simbol i zakon funkcionisanja JK flip-flopa

7.4.6 Standardni sekvencijalni moduli

Pojedini delovi računara realizuju se korišćenjem različitih modula koji predstavljaju

sekvencijalne mreže i za čije projektovanje se koristi teorija konačnih automata. Ove

module nazivamo standardnim sekvencijalanim modulima. Nadalje u tekstu biće opisani

neki od njih.

Registri su sekvencijalne mreže koji u računarima i drugim digitalnim sistemima služe

za pamćenje binarnih reči. Registar koji služi za pamćenje binarnih reči od n bitova je u

stvari sekvencijalna mreža od n razreda, gde za svaki bit binarne reči postoji po jedan

razred koji predstavlja memorijski element (tj. flip-flop). Na taj način, registri predstavljaju

niz bistabilnih kola koji se tretiraju kao jedinstvena celina. Registri su neophodni i koriste

se tamo gde treba ostvariti vezu između blokova računara koji rade različitim brzinama, pri

realizovanju aritmetičko-logičkih operacija, za privremeno pamćenje operanada i rezultata

operacija, za konverzije podataka iz paralelnog načina predstavljanja u serijski ili obratno,

za brojanje događaja itd.

Za označavanje registara koriste se simbolička imena. Ako je ime registra R tada se

njegovo stanje (sadržaj) označava sa (R).Ako se registar sastoji od n razreda, stanja registra

označićemo sa Qn-1Qn-2...Q0. Postoji više vrsta registara.

RS SR

0

0

0

1

0

1

00 01 10 11

0 00

11*

*11

00

0

0

1

1

1

1

1

0

11

0

*

1

1

0 0

*

0

0

1

1

0

0

1

1

Q(t)

Q(t)

Q(t+1)= Q(t)S+R

Q(t+1)

RS

RS

Q

Q

Q

Q

R

R

S

S

C

KJ JK

0

0

0

1

0

1

00 01 10 11

0 00

110 111

00

0

0

1

1

1

1

1

0

11

0

1

1

1

0 0

0

0

0

1

1

0

0

1

1

Q(t)

Q(t)

Q(t+1)= Q(t)J (t)+Q K

Q(t+1)

JK

JK

Q

Q

Q

Q

K

K

J

J

C

Page 128: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

122

7.4.6.1 Registar sa paralelenim upisom i čitanjem

Paralelni registar tj. registar sa paralelnim upisom i čitanjem omogućava da se u jednom

vremenskom intervalu svi bitovi jedne binarne reči upišu ili pročitaju istovremeno. Kod

ovog registra se upis i čitanje vrši istovremeno na svim razredima. Za pamćenje svake cifre

u binarnoj reči koristi se po jedan flip-flop.

Funkcija prelaza jednog razreda ovog registra data je u tablici istinitosti u tabeli 7.29

gde je Ik – bit koji se upisuje, C – taktni signal. Na slici 7.51 su prikazani i princip rada i

njegova realizacija preko D flip-flopova.

Tabela 7.29 Tablica istinitosti jednog razreda paralelnog registra

Slika 7.51 Princip rada paralelnog registra i realizacija paralelnog registra preko D

flip-flopa

7.4.6.2 Registar sa serijskim upisom i čitanjem

Serijski registar je registar kod koga se u jednom vremenskom intervalu može upisati ili

pročitati samo jedan bit. Iz registra sa serijskim upisom binarna reč se upisuje serijski, bit

po bit. Iz registra sa serijskim čitanjem binarna reč se čita serijski bit po bit. Registar sa

serijskim upisom i čitanjem se naziva i pomerački registar.

Na slici 7.52 prikazan je princip rada ovog registra kao i njegova realizacija preko D

flip-flopova.

C Ik Qk(t) Qk(t+1)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

ulazni podaci

izlazni podaci

D D D D

Q Q Q Q

Q Q Q Q

clk

I0

Q0

I1

Q1

I2

Q2

I3

Q3

Page 129: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

123

Slika 7.52 Princip rada serijskog registra i realizacija registra preko D flip-flopova

Kod serijskog registra binarna reč se u registar upisuje bit po bit. Zakon funkcionisanja

pomeračkog registra koji vrši pomeranje sadržaja u levo može se predstaviti izrazima:

)1,1()()1( 1

0

nkzatQCtQ

ICQ

kk

gde je:

I – bit koji se upisuje

C – taktni signal

Pored navednih tipova postoje i paralelno-serijski i serijsko-paralelni registri koji nalaze

veliku primenu u računarskim komunikacijama.

7.4.6.3 Brojački registri

Brojač u računaru ili brojački registar je sekvencijalna mreža koja služi za brojanje

različitih događaja i merenje vremenskih intervala. Kod ovih registara binarni niz koji

predstavlja stanje (sadržaj) brojača se povećava ili smanjuje za 1 pri pojavi taktnog

impulsa. Novo stanje se zadržava do pojave sledećeg taktnog impulsa. Brojač na taj način

sekvencijalno prolazi kroz n stanja. Moduo brojača je broj stanja kroz koji prolazi brojač

pre nego što se vrati u početno stanje. Najčešće koriščeni brojači su brojači po modulu 2n i

dekadni brojači (brojači po modulu 10). Brojači po modulu 2n se realizuju kao n-to razredni

registri.

U tabeli 7.30 data je tablica istinitosti brojača po modulu 4, a na slici 7.53 njegova

realizacija preko JK flip-flopova (a) i D flip-flopova (b). Realizacija brojača po modulu 4

preko D flip-flopova pokazuje da sekvencijalna mreža, u opštem slučaju, sadrži i

kombinacioni i memorijski deo. U konkretnom slučaju memorijski deo čine flip-flopovi,

dok kombinacioni deo čini XOR kolo.

ulazni podaci izlazni podaciizlazni podaci ulazni podaci

ulazni podaci izlazni podaciD D D D

Q Q Q Q

Q Q Q Q

clk

Page 130: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

124

Tabela 7.30 Tablica istinitosti brojača po modulu 4 i realizacija brojača po modulu 4

preko JK flip-flopova

a) b)

Slika 7.53 Realizacija brojača po modulu 4 preko a) JK flip-flopova b) D flip-flopova i

XOR kola

Q1(t) Q0(t) C Q1(t+1) Q0(t+1)

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 1 0

1 0 1 1 1

1 1 0 1 1

1 1 1 0 0

J

Q

Q

K

SET

CLR

“1”

J

Q

Q

K

SET

CLR

clk

Q

QSET

CLR

D

Q

QSET

CLR

D

clk

Page 131: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

125

Pitanja i zadaci

1. Šta su prekidačke mreže?

2. Šta je logički element (logičko kolo)?

3. Navesti parametre logičkih kola i objasniti koeficijent izlaza.

4. Navesti i objasniti načine kodiranja binarnih vrednosti u logičkim kolima.

5. Navesti grafičke simbole logičkih kola koja se najčešće koriste u prekidačkim

mrežama i tablice istinitosti Bulovih operacija koje su tim kolima realizovane.

6. Objasniti razliku u strukturi i u načinu funkcionisanja kombinacionih i sekvencijalnih

prekidačkih mreža.

7. Navesti pravila za povezivanje logičkih elemenata u kombinacionoj prekidačkoj mreži.

8. Šta je to strukturna šema prekidačke мреже?

9. Šta je zadatak analize, a šta sinteze prekidačkih mreža?

10. Objasniti postupak analize kombinacione prekidačke mreže i izvršiti analizu mreže

prikazane na slici 7.41.

f

x1

x2 x

3x4

Slika 7.41 Kombinaciona prekidačka mreža za pitanje 10.

11. Izvršiti analizu prekidačke mreže sa slike 7.42 i kreirati tablicu istinitosti funkcije koja

je mrežom realizovana.

Slika 7.42 Kombinaciona prekidačka mreža za pitanja 11 i 13.

12. Šta je stepen prekidačke mreže? Kog stepena je prekidačka mreža sa slike 7. 42.

Objasniti.

13. Navesti i kratko objasniti faze u procesu sinteze kombinacionih mreža.

14. Korišćenjem aksiona i teorema Bulove algebre pokazati kako se operacije NE, I i ILI

mogu realizovati korišćenjem NI operacije. Na osnovu dobijenih izraza nacrtati šeme

prekidačkih mreža za realizaciju NE, I i ILI funkcija pomoću NI kola.

Page 132: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

126

15. Šta je implikanta, a šta prosta implikanta prekidačke funkicije?

16. Šta je implicenta, a šta prosta implicenta prekidačke funkcije?

17. Šta je to neproširena disjunktivna normalna forma.Dokazati da je izraz

313231 xxxxxx nepreopširna DNF funkcije f iz primera 7.3.

18. Tablica istinitosti prekidačke funkcije 3 promenljive data je u tabeli 7.20. Predstaviti

funkciju Karnoovom mapom i kreirati minimalnu KNF i minimalnu DNF funkcije.

Tabela 7.31 Tablica istinitosti funkcije iz pitanja 18.

x1x2x3 f

0 0

0 1

1 0

1 1

0 0

0 1

1 0

1 1 1

1

1

0

0

1

1

0

1

19. Prekidačku funkciju , ,f x y z xy xz predstaviti Karnoovom mapom.

20. Prekidačka funkija f predstavljena je Karnoovom mapom u tabeli 7.21. Odrediti sve

elementarne proizvode implikante funkcije f i sve elementarne proizvode proste

implikante funkcije f.

Tabela 7.32 Karnoova mapa funkcije za pitanje 20

21xx

43xx

00 01 11 10

00 0 0 0 0

01 1 0 0 1

11 1 0 0 1

10 0 1 0 0

21. Nacrtati šemu prekidačke mreže koja realizacije funkciju iz primera 7.18 korišćenjem

isključivo dvoulaznih NILI kola.

22. Kom tipu prekidačkih mreža pripada multilekser? Objasniti princip rada multipleksera

i kreirati tablicu istinitosti multipleksera tipa 2x1.

23. Nacrtati strukturnu šemu multipleksera tipa 2x1 korišćenjem isključivo NI kola.

Page 133: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

7 . P R E K I D A Č K E M R E Ž E

127

24. Ako se na informacione ulaze multipleksera tipa 4x1 (4-u-1) dovede kombinacija 1101,

šta treba dovesti na njegove upravljačke (selektorske) ulaze tako da na izlazu

multipleksera bude 0? Obrazložiti rešenje.

25. Kom tipu prekidačkih mreža pripada demultiplekser? Objasniti način funkcionisanja

demultipleksera. Kreirati tablicu istinitosti demultipleksera tipa 1x4 (1-u-4).

26. Koja je razlika u načinu funkcionisanja multipleksera i demultipleksera?

27. Ako se na upravljačke (selektorske) ulaze demultipleksera 1x4 (1-u-4) dovede

kombinacija 11, a na informacioni ulaz 1, šta će biti na izlazima demultipleksera?

Obrazložiti rešenje.

28. Kreirati tablicu istinitosti demultipleksera 1x4, a zatim nactrati njegovu strukturnu

šemu korišćenjem I i NE kola.

29. Kom tipu prekidačkih mreža pripada dekoder? Objasniti način funkcionisanja

dakodera. Ako se radi o dekoderu sa 3 ulaza i ako se na njih dovedu signeali 110, šta će

biti na izlazima dekodera. Obrazložiti rešenje.

30. Realizovati konvertor prirodnog BCD koda u Grejov kod korišćenjem logičkih kola I,

ILI i NE. Tablica itinitosti konvertora je data u tabeli 7.14.

31. Kreirati tablice istinitosti polusabirača i potpunog sabirača i objasniti način

funkcionisanja svakog od njih.

32. Nacrtati strukturnu šemu realizacije popusabirača i potpunog sabirača u bazisu I, ILI i

NE.

33. Kojoj grupi prekidačkih mreža pripada komparator? Kreirati tablicu istinitosti

jednobitnog komparatora.

34. Realizovati jednobitni komparator binarnih brojeva u bazisu I, ILI i NE.

35. Realizovati komparator četvorobitnih binarnih brojeva pomoću komparatora

jednobitnih binarnih brojeva i logičkih kola.

36. Opisati zadavanje automata matricama prve vrste. Objasniti na primeru.

37. Opisati zadavanje konačnih automata pomoću sistema prekidačkihfunkcija. Objasniti

na primeru.

38. Objasniti razliku između Milijevog i Murovog automata. Ilustrovati tu razliku na

primeru grafova pomenutih automata.

39. Opisati zadavanje Milijevog automata tablicama prelaza i izlaza.

40. Šta su memorijski elementi? Navesti vrste memorijskih elemenata i opisati način

finkcionisanja jednog od njih.

41. Objasniti način funkcionisanja T flip-flopa. Ako je na informacioni ulaz dovede T=1, a

flip-flop se nalazio u stanju Q(t)=0, koja je vrednost na izlazu flip-flopa? Obrazložiti

rešenje.

42. Objasniti način funcionisanja taktovanog D flip-flopa. Ako je taktni signal postavljen

na C=1, na informacioni ulaz se dovodi D=1, a flip-flop se nalazio u stanju Q(t)=0,

koja je vrednost na izlazu flip-flopa? Obrazložiti rešenje.

Page 134: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

128

43. Objasniti način funkionisanja JK flip-flopa. Šta će biti na izlazu flip-flopa ako se na

ulaze dovedu J=1 i K=0? Obrazložiti rešenje.

44. Kom tipu prekidačkih mreža pripadaju registri? Objasniti princip rada brojačkog

registra i nacrtati tablicu istinitosti funkcije prelaza brojača po modulu 4.

45. Kom tipu prekidačkih mreža pripada pomerački registar? Objasniti princip rada

pomeračkog registra.

Page 135: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

129

8 ARHITEKTURA RAČUNARA

Računar je elektronski uređaj, koji radi na osnovu instrukcija koje su smeštene u

njegovoj memoriji i ima mogućnost da prihvata podatke, obrađuje ih u skladu sa određenim

pravilima, generiše rezultate i smešta rezultate u cilju daljeg korišćenja.

Dizajn računara nastao na von Neumann-ovom principu, čija je suština da su programi i

podaci sa kojima program manipuliše smešteni na istom mestu, još uvek predstavlja osnovu

za dizajn savremenih računara. Ove karakteristike uticale su na izdvajanje pet osnovnih

komponenti von Neumann-ove arhitekture, prikazanih na slici 8.1:

memorijska jedinica u kojoj su smešteni i podaci i instrukcije programa,

aritmetičko-logička jedinica (ALJ, eng. ALU) koja omogućava izvršenje

aritmetičkih i logičkih operacija nad podacima,

kontrolna jedinica koordinira rad svih ostalih komponenti računara,

ulazna jedinica koja prenosi podatke iz spoljašnjeg sveta u računar,

izlazna jedinica koja prenosi podatke iz računara u spoljašnji svet.

Slika 8.1 Von Neumann-ova arhitektura računara

Ulazni uređaj Izlazni uređaj Kontrolna jedinica

Aritmetičko-logička jedinica

Memorijska jedinica

Centralna procesorska jedinica

Page 136: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

130

Još jedna bitna osobina von Neumann-ove arhitekture je da su jedinice za obradu

podataka i smeštanje podataka odvojene jedne od druge. Aritmetičko-logička jedinica i

kontrolna jednica zajedno čine centralni procesor računara (eng. Central Processing Unit –

CPU). Matična ploča, centralni procesor, većina memorijskih uređaja i skup linija za

komunikaciju između različitih delova računara čine sistemsku ili centralnu jedinicu

računara.

Sistemska jedinica sadrži elektronske komponente računara koje učestvuju u obradi

podataka. Može se naći u različitim oblicima i dimenzijama. Omotač sistemske jedinice je

napravljen od metala ili plastike čime štiti komponente računara od oštećenja. Svi računari i

mobilni uređaji poseduju sistemsku jedinicu. U slučaju desktop personalnih računara,

elektronske komponente i većina uređaja za skladištenje podataka su deo sistemske

jedinice. Ostali uređaji, kao što su tastatura, miš, monitor, štampač, skener i mikrofon

zauzimaju prostor van sistemske jedinice i zbog toga se četo nazivaju perifernim delovima

računara, ili, kratko, periferijama. Komponente računara kao što su procesor i memorija,

obično su deo ploče ili su povezani na ploču koja se naziva matična ploča (eng.

motherboard). Matična ploča služi za povezivanje i sinhronizaciju osnovnih delova

računara. Komponente računara su ili integrisane u matičnu ploču, ili povezane na nju. Na

slici 8.2 prikazana je matična ploča dektop personalnog računara na kojoj se mogu

identifikovati slotovi za različite vrste kartica (ekspanzioni slotovi), slot za procesorski čip i

slot za glavnu memoriju. Na matičnoj ploči se takođe nalaze priključak za hard disk,

eksterni portovi, čipset, BIOS, magistrale itd.

Slika 8.2 Matična ploča računara

8.1 Centralni procesor

Procesor interpretira i izvodi osnovne instrukcije koje se izvršavaju na računaru.

Procesor značajno utiče na celokupnu računarsku moć. Sa donje strane poseduje pinove

koji služe za vezu sa matičnom pločom, a na matičnoj ploči se nalazi priključak za procesor

Page 137: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

131

u koji se procesor utakne. Obično se prilikom opisivanja karakteristika računara kao

parametar procesora daje frekvencija radnog takta. Kod savremenih računara, ona se

uglavnom zadaje u gigahercima (GHz). Međutim, ukupna brzina računara ne zavisi

linearno od frekvencije radnog takta procesora, tj. ne može se očekivati da će se isti

program na računaru sa 2 puta većom frekvencijom (npr. 2GHz) radnog takta, obavezno

izvrštiti brže nego na računaru čija je frekvencija radnog takta 2 puta manja (npr. 1GHz).

To je zbog činjenice da procesor nije taj koji predstavlja usko grlo u radu računara, već

treba uzeti u obzir interakcije između procesora i drugih komponenata računara kao što su

glavna memorija i ulazno-izlazni uređaji. Takođe, frekvencija radnog takta ne govori o

obimu izračunavanja koja se izvode u svakom taktnom intervalu.

Mnogi današnji proizvođači procesora nude višejezgarne procesore. Višejezgarni

procesori predstavljaju čip sa jednim ili više izdvojenih procesorskih jezgara. Iako npr.

dvojezgarni (eng. dual-core) procesor ne udvostručuje procesorku brzinu (jer se značajan

deo vremena gubi na komunikaciju i sinhronizaciju), može se približiti toj brzini.

Procesor sadrži kontrolnu (upravljačku) jedinicu i aritmetičko-logičku jedinicu. Ove dve

komponente rade zajedno u cilju izvođenja različitih operacija. Kada korisnik pokrene

program, njegove instrukcije se prebacuju sa sekundarne memorije (hard disk, CD, DVD,

USB fleš) u glavnu memoriju. Podaci nad kojim program vrši obradu se, takođe po von

Neumann-ovom principu, učitavaju ili sa ulaznog uređaja ili iz sekundarne memorije.

Kontrolna jedinica nalaže pribavljanje instrukcije, vrši dekodiranje instrukcije i inicira

slanje instrukcije i podataka nad kojima se ona izvršava ka ALU. ALU izvršava

izračunavanja zadata instrukcijom nad datim podacima. Rezultat izračunavanja se pamti u

memoriji, odakle se šalje ili na izlazni uređaj ili uređaj za skladištenje podataka za neko

buduće korišćenje, ako je potrebno.

Slika 8.3 Procesor

8.1.1 Aritmetičko-logička jedinica

Aritmetičko-logička jedinica je osnovni gradivni blok procesora. Ova jedinica obavlja

osnovne aritmetičke operacije (sabiranje, oduzimanje, množenje, deljenje), logičke

operacije (I, ILI, NE) i operacije pomeranja binarnog sadržaja. Aritmetičko-logička jedinica

obavlja operacije nad rečima. Dužinu reči nekog računara određuje sama arhitektura tako

Page 138: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

132

što definiše opseg vrednosti koje se dovode na aritmetičko-logičku jedinicu. Na primer, u

slučaju Pentiuma IV reč je dužine 32 bita, a u slučaju Core i7 je dužine 64 bita.

8.1.2 Kontrolna jedinica

Kontrolna jedinica generiše upravljačke signale i koordinira sve aktivnosti unutar

procesora. Ona pribavlja, dekodira i omogućava izvršenje instrukcije. Da bi se instrukcija

izvšila, kontrolna jedinica treba da odredi o kojoj se instrukciji radi. To može biti

instrukcija za učitavanje podataka sa ulaznog uređaja, za prikazivanje podataka na izlaznom

uređaju, ili izvođenje neke operacije nad podacima. Prilikom dekodiranja instrukcije

generišu se odgovarajući upravljački (kontrolni) signali. Niz takvih upravljačkih signala

rukovodi izvršavanjem instrukcije. Računar može izvršavati samo instrukcije koje su

sadržane u skupu instrukcija njegovog mašinskog jezika (eng. instruction set) koji definiše

arhitektura procesora.

8.2 Memorije

Osnovna namena memorijskih jedinica je pamćenje programa i podataka. Postoje tri

vrste memorijskih jedinica: glavna (radna, operativna) memorija, sekundarna (spoljašnja)

memorija i keš memorija. Glavna memorija se koristi za vreme izvršenja programa,

sekundarna memorija se koristi za trajno skladištenje podataka, a keš memorija služi za

povećanje brzine rada računara. Neke memorije čuvaju podatke privremeno, dok druge

omogućavaju trajno čuvanje podataka. Proizvođači memorija izražavaju veličinu

(kapacitet) memorije kao broj bajtova na memorijskom čipu dostupnih za pamćenje

podataka.

Tabela 8.1 Mere za kapacitet memorije

Jedinica Oznaka Približni broj

bajtova

Tačni broj bajtova Približni broj

stranica teksta

Kilobajt KB 1 hiljada 1 024 ½

Megabajt MB 1 milion 1 048 576 500

Gigabajt GB 1 bilion 1 073 741 824 500000

Terabajt TB 1 trilion 1 099 511 627 776 500000000

Osnovna jedinica memorije je bit i služi za pamćenje vrednosti 0 ili 1. Bitovi se grupišu

u bajt (8 bitova čini bajt), a bajtovi se dalje grupišu u reči. Tako je Kilobajt (KB) tačno

1024 bajtova. Korisnici računara često vrše zaokruživanje kilobajta na 1000 bajtova. Na

primer, ako memorijski čip može zapamtiti 100 KB, na njemu se približno pamti 100000

bajtova. Megabajt (MB) je približno jednak milion bajtova. Gigabajt (GB) je približno

jednak bilion bajtova, dok je terabajt (TB) približno trilion bajtova. Tačne i približne

vrednosti za ove jedinice mere za kapacitet memorije su date u Tabeli 8.1.

Page 139: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

133

8.2.1 Glavna memorija

U cilju skladištenja (pamćenja, čuvanja) podataka, računar poseduje veliku kolekciju

elementarnih elektronskih kola, gde svako od njih ima mogućnost da pamti jedan bit.

Glavna memorija se sastoji od elektronskih komponenti koje pružaju mogućnost

pamćenja instrukcija koje čekaju na izvšenje na CPU, podataka potrebnih za izvršenje tih

instrukcija, kao i rezultata obrade tih podataka zadatom instrukcijom. Memorija se obično

sastoji od jednog ili više čipova na matičnoj ploči. U memoriji se pamte:

operativni sistem i ostale komponente sistemskog softvera koje kontrolišu rad

računara,

aplikacioni programi koji izvode neku specifičnu obradu, poput obrade teksta,

podaci koje obrađuju aplikacioni programi, kao i rezultat obrade aplikacionih

programa.

Nakon okončanja izvršenja aplikacionog programa, memorija koju je on koristio se

oslobađa i stavlja na raspolaganje drugim aplikacionim programima.

Adresibilnost memorije predstavlja broj bitova u svakoj memorijskoj lokaciji sa

jedinsvenom adresom. Adresibilnost memorije varira od računara do računara. Kod nekih je

to bajt, kod drugih je memorijska reč (eng. word), koju čini 4, 8, itd. bajtova. Većina

današnjih računara je bajt-adresibilna. Tako, procesor Pentium IV koji je 32-bitna mašina, a

to znači da ima ukupno 232

različitih adresa, ima 4 294 967 296 bajtova jedinstveno

adresibilno. Na primer, ako imamo da je adresibilnost memorije 8 bitova (1 bajt) a imamo

256B glavne memorije, memorijske lokacije će biti adresirane kao na slici 8.4.

Adresa Sadržaj

00000000 11100011

00000001 10101001

11111100 00000000

11111101 11111111

11111110 10101010

11111111 00110011

Slika 8.4 Adresiranje glavne memorije

Pošto je glavna memorija računara organizovana u vidu adresibilnih lokacija, njima se

može pristupati nezavisno i u bilo kom redosledu. Zato se glavna memorija često naziva i

RAM (eng. Random Access Memory), što znači da je vreme pristupa isto za bilo koju

memorijsku lokaciju. Takođe, u slučaju ove memorije moguće je izvršiti i čitanje i upis.

RAM spada u tip nepermanentnih (eng. volatile) memorija, kod koje se u slučaju

isključenja napajanja postojeći sadržaj memorije nepovratno gubi. Nasuprot RAM, postoje i

ROM (eng. Read Only Memory), čiji se sadržaj pamti i nakon nestanka napajanja tj. one

spadaju u tip permanentnih (eng. nonvolatile) memorija. Iz ove memorije moguće je samo

čitanje. Postoje dva tipa RAM memorija: statički i dinamički RAM. Razlika je u načinu

pamćenja podataka. SRAM koristi flip-flop za pamćenje jednog bita, dok DRAM koristi

Page 140: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

134

jedan tranzistor i kondezator u tu svrhu. DRAM je jeftniji od SRAM, ali zbog pražnjenja

kondenzatora, zahteva stalno osvežavanje sadržaja (punjenje kondenzatora). DRAM

memorija ima veći kapacitet i manju potrošnju, ali je i sporija u odnosu na SRAM. Zato se

SRAM koristi kao privremena radna memorija ili keš memorija, a DRAM kao glavna

memorija.

8.2.2 Sekundarne memorije

Pošto je glavna memorija nepermanentnog tipa i ograničenog kapaciteta, od ključnog

značaja je postojanje drugih uređaja za skladištenje programa i podataka gde će oni biti

sačuvani onda kad se više ne izvršavaju, ili u slučaju kad je računar isključen. Ove uređaje

zovemo sekundarna memorija. Zato što se podaci mogu učitavati sa, ili upisivati na njih,

ovi uređaji mogu biti i ulazni i izlazni uređaji. Ovi uređaji mogu čuvati velike količine

podataka, te su takođe poznati kao uređaji za masivno skladištenje podataka ili masivni

memorijski medijumi. Najrasprostranjeniji uređaji za skladištenje podataka su: hard disk

(tvrdi disk), USB fleš disk i optički diskovi (CD, DVD, Blu-ray disk).

8.2.2.1 Hard disk

Hard disk je uređaj za skadištenje podataka koga čine jedna ili više kružnih ploča

presvučenih magnetnim materijalom (slika 8.5). Ploče su pričvršćene za osovinu koja se

rotira velikom, konstantnom brzinom. Svaka ploča ima dve glave za čitanje/upis, za svaku

stranu ploče po jednu. Sistemska jedinica na većini desktop i notebook računara sadrži

najmanje jedan hard disk. Hard disk koji je ugrađen unutar sistemske jedinice naziva se i

fiksni disk, jer nije prenosiv (slika 8.6). Postoje i eksterni hard diskovi. Eksterni hard

diskovi su velikog kapaciteta (nekoliko TB), ali zato mogu biti i veoma velikih dimenzija.

Hard diskovi današnjih računara imaju kapacitet od 160GB do 2TB i više.

Slika 8.5 Organizacija hard diska

Page 141: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

135

Svaki bit binarnog podatka upisuje se na površinu hard diska primenom različitih načina

kodiranja koji vrednosti 0 i 1 prevode u magnetni fluks. Podaci na hard disku se pamte na

obe površine svake kružne ploče, u obliku koncentričnih krugova. Jedan takav krug se

naziva staza. Skup svih staza koje su na jednakom rastojanju od centra rotacije se naziva

cilindar. Svaka staza je podeljena na sektore. Sektor predstavlja najmanji blok podataka

kome se može pristupiti, tj. koji može da se adresira. Fizička adresa podatka na disku se

sastoji od brojeva površine, staze i sektora i specificira se uokviru odgovarajuće U/I

instrukcije. Uobičajena dužina sektora je 512 B. Dužina staze raste od unutrašnje staze (sa

najmanjim poluprečnikom) ka spoljašnjoj stazi (sa najvećim poluprečnikom).

Slika 8.6 Fiksni hard disk

Radi održanja gustine zapisa podataka na disku, imamo rastući broj sektora idući od

unutrašnjih ka spoljnim stazama. Kod velikog broja današnjih diskova koristi se ova

tehnika, gde se više sukcesivnih staza sa konstantnim brojem sektora po stazi grupiše u

zonu, gde imamo skokovite promene broja sektora po stazi između dve susedne zone (slika

8.7). Raspored staza i sektora se određuje prilikom formatiranja diska i nije fizički deo

diska.

Podaci se upisuju na disk i čitaju sa diska uz pomoć elektromagnetnih glava koji vrše

konverziju električnih u magnetne signale i obratno. Princip upisa na hard disk se bazira na

činjenici da elektromagnet na glavi može namagnetisati feritni materijal koji se pomera

ispod njega. Sa druge strane, kada se namagnetisani materijal pomera ispod kalema glave,

indukuje se struja u kalemu koja je istog polariteta kao ona koja je proizvela zapis na disku,

što predstavlja princip čitanja sa hard diska. Glava za ulaz/izlaz pozicionira se ručicom (na

koju su montirane sve glave) koja se pomera od staze do staze. Pomeraju se istovremeno

sve glave diska, omogućavajući pristup aktivnom delu kružnih ploča. Kada se glava za

čitanje/upis nađe iznad određene staze, ona čeka dok se rotiranjem odgovarajući sektor ne

nađe ispod nje, a zatim pročita iz njega ili upiše u njega odgovarajući podatak. Čitanje ili

upis u bilo kom trenutku može da izvršava samo jedna glava. Brzina čitanja i upisivanja

Page 142: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

136

podataka na hard disk najviše zavisi od tri stvari: brzine rotacije ploča odnosno staza, brzine

kretanja glave i veličine keš memorije na samom disku.

Slika 8.7 Zapisivanje u više zona

8.2.2.2 USB fleš disk

USB fleš (eng. Universal Serial Bus flash) disk (slika 8.8) se sastoji od štampane ploče,

na kojoj se nalazi fleš memorija, koja je zatvorena u plastično ili metalno kućište. Fleš

memorija je permanentna memorija čiji sadržaj je moguće elektronski brisati i menjati. Fleš

memorija je napravljena u poluprovodničkoj tehnologiji. USB fleš disk koristi USB

interfejs za komunikaciju sa računarom koji ne zahteva dodatne drajvere za rad (za

Windows 98 i novije dolazi uz operativni sistem). Kapaciteti memorije se kreću od 32MB

do 512 GB. USB fleš disk se priključuje na USB port, preko koga dobija napajanje.

Slika 8.8 USB fleš disk

Page 143: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

137

Postoji još jedna vrsta memorijskog medijuma koja se temelji na fleš memorijama. To

su Solid State Diskovi (SSD) koji zbog visoke cene polako ulaze u upotrebu (slika 8.9).

SSD se ponaša kao hard disk samo što nema nikakvih pokretnih delova koji predstavljaju

ograničenje brzine kod hard diska. Prednost SSD u odnosu na hard disk je izuzetno velika

brzina upisa i čitanja podataka i velika otpornost na potrese, udarce i slična fizička dejstva.

Pored ovoga, zbog odsustva mehaničkih delova i motora koji najviše troše energiju,

potrošnja je veoma mala, pa se ovakvi diskovi ugrađuju u laptopove čija baterija može da

traje 5-20h.

Slika 8.9 Solid state disk

Memorijska kartica je takođe fleš memorija, visine i širine uglavnom ne veće od 1.5

inča, koja se može umetati u različite vrste uređaja i uklanjati iz njih: slota računara,

pametnog telefona, digitalne kamere, čitača kartica, prenosivih medija plejera (MP3, MP4

plejer) itd. Ove kartice omogućavaju pokretnim korisnicima lak transport digitalnih

fotografija, muzike, fajlova sa mobilnih telefona, računara, foto aparata, i drugih uređaja

(slika 8.10).

Slika 8.10 Memorijska kartica

8.2.2.3 Optički diskovi

Kao što im i samo ime kaže upis i čitanje podataka sa ovih diskova se obavlja optičkim

putem. Princip rada ovih uređaja se bazira na pretvaranju memorisanih podataka u binarne

vrednosti 0 i 1. Na disku postoje tzv. rupe (eng. pit) i površine (eng. land) koje

Page 144: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

138

predstavljaju binarne nule i jedinice. Postupak upisa se odvija tako što se snaga mlaza

lasera bira tako da zagrevanjem osvetljene veoma male površine medijuma može povratno

ili nepovratno promeniti optičke karakteristike ovog medijuma. Postupak čitanja se odvija

tako što je snaga mlaza znatno manja, tako da ne izaziva promenu na medijumu, svetlost se

odbija od medijuma, a njena jačina se razmatra da bi se utvrdilo da li se radi o binarnoj nuli

ili jedinici. Intenzitet svetlosti koja se odbija od rupe je mnogo slabiji od inteziteta svetlosti

koja se odbija od površine. Na osnovu inteziteta reflektovane svetlosti detektuju se

vrednosti binarne “0” ili “1”, “0” u slučaju rupe, “1” u slučaju površine.

Postoji više vrsta optičkih diskova. CD-ROM (eng. Compact Disk-Read Only Memory)

je vrsta optičkog uređaja čiji sadržaj može da se čita, ali ne i da se upisuje ili briše, pa je

zato i nazvan Read Only Memory (ROM). Podaci su smešteni na spiralnoj traci koje polazi

od unutrašnjeg kruga, a završava se na spoljašnjem krugu. Proizvođač upisuje ceo sadržaj

na disk. Proizvođači softvera često distriburaju programe korišćenjem CD-ROMa. Na

tipičnom CD-ROM-u može se zapamtiti 650MB do 1GB podataka. Podaci sa CD-ROM-a

se čitaju CD-ROM uređajem.

Za razliku od CD-ROM optičkih diskova na CD-R (eng. Compact Disc-Recordable)

optički disk korisnik može upisivati podatke na disk, i taj proces se zbog zagrevanja

laserom naziva „prženje“ (eng. burning). Na ovaj disk se sadržaj može upisivati, ali ne i

brisati sa njega. Disk ima spiralnu traku koja se unapred oblikuje u procesu proizvodnje, a

na koju se kasnije upisuju podaci. Ova vrsta diska je napravljena od takve vrste materijala

koja pod uticajem svetlosti određenog inteziteta menja svoj hemijski sastav. Na taj način

izdvajaju se površine koje su “spržene“ i reflektuju manje svetlosti što se registruje kao

binarna „0“ i one koje to nisu i reflektuju više svetlosti što se registruje kao binarna „1“.

Pošto se “prženjem” nepovratno menja hemijski sastav memorijskog medijuma, snimljen

sadržaj se ne može brisati, niti se na njega može ponovo upisivati. Jedino je moguće da se

prvo izvrši upisivanje na jedan deo diska, a da se kasnije izvrši ponovno upisivanje na deo

koji nije iskorišćen, tzv. multisession.

CD-RW (eng. Compact Disc-ReWritable) je vrsta optičkog diska na koji se sadržaj

može upisivati u više navrata i čiji se sadržaj može brisati. Umesto fotosenzitivnog

materijala koristi se druga supstanca koja u zavisnosti od temperature na kojoj se zagreva i

potom ohladi, prelazi u stanje koje ili potpuno reflektuje ili potpuno apsorbuje svetlost. Ove

osobine se koriste za upis i brisanje sa diska. Dakle, CD-RW optički disk ima osobinu

"piši-briši" odnosno mogućnost brisanja sadržaja nakon upisivanja. Na obrisan prostor

mogu se upisati novi podaci, ali i ovo “pisanje-brisanje“ ne može da da se obavlja

negraničen broj puta. Zbog same prirode materijala i habanja teoretski broj „pisanja-

brisanja“ je oko 1000 puta.

Iako je veličina i oblik DVD optičkog diska umnogome slična CD optičkom disku,

podaci se pamte na neznatno drugačiji način, koji omogućava skladištenje znatno veće

količine podataka. Razlika se ogleda u tome što je rastojanje između traka na DVD

optičkom disku znatno manje od rastojanja na CD optičkom disku, kao i u tome što je

dužina spirale skoro duplo veća kod DVD optičkog diska nego kod CD optičkog diska.

Maksimalni kapacitet DVD optičkog diska može biti i do 17.08 GB.

DVD-ROM (eng. Digital Versatile Disc-Read-Only Memory ili Digital Video Disc-

Read-Only Memory) je optički disk velikog kapaciteta sa koga se sadržaj može čitati, ali se

ne može upisivati niti brisati. Proizvođači upisuju sadržaj na DVD-ROM i distribuiraju ih

potrošačima. Sadržaj DVD-ROM-a mogu činiti filmovi, muzika, baze podataka i

kompleksni softver. Da bi se sadržaj sa DVD-ROM diska pročitao potreban je DVD-ROM

uređaj ili DVD plejer. Većina DVD-ROM uređaja može čitati CD, CD-ROM, CD-R i CD-

Page 145: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

139

RW optičke diskove. Neki uređaji, tzv. DVD/CD-RW uređaji predstavljaju kombinaciju

uređaja koji mogu čitati sa/upisivati na DVD i CD diskove.

Noviji i skuplji DVD format je Blu-ray optički disk (BD) koji je većeg kapaciteta i

boljeg kvaliteta od standardnih DVD optičkih diskova. Kod ovih diskova se koristi laser

(plavi laser, odakle potiče naziv diska) mnogo manje talasne dužine nego kod DVD i CD

diskova, što omogućava mnogo gušće zapisivanje podataka nego kod DVD i CD diskova.

Blu-ray optički disk može imati kapacitet i do 128 GB, što je i nekoliko puta više od

standardnih DVD optičkih diskova, i omogućava zapis i reprodukciju "Videa visoke

definicije" (eng. High Definition Video, HD), kao i zvučnog zapisa kvaliteta koji je

identičan onom koji se koristi u modernim bioskopima.

Postoje i drugi formati DVD optičkih diskova, koji u zavisnosti od oznake imaju slično

značenje kao kod CD diskova. Tako naprimer, DVD-R, DVD+R i BD-R daju mogućnost

korisniku da podatke na disk može da upiše jednom, ali ih može čitati više puta. DVD-RW,

DVD+RW, DVD+RAM i BD-RE omogućavaju upis u više navrata na disk.

Slika 8.11 Optički disk

8.2.3 Keš memorija

Kada procesor pribavlja podatke iz glavne memorije nad kojima treba da se izvrši

obrada, potrebno je oko nekoliko desetina nanosekundi (ns) za pristup. Procesor, sa druge

strane radi mnogo brže (u ciklusima od nekoliko ns), što znači da gubi jako puno vremena

čekajući na podatke iz glavne memorije. Jaz koji se pojavio zbog nesrazmernosti u

povećanju brzine rada između procesora i memorije, tj. razlika u brzini između brzog

procesora i sporih memorija i ostalih komponenti računara, može se smanjiti uvođenjem

keš memorija. Hijerarhijska organizacija memorije, pokazala se kao idealno rešenje za

prevazilaženje ovog problema jer se dodavanjem brze memorije (SRAM tehnologije)

malog kapaciteta mogla ubrzati spora i jeftinija memorija velikog kapaciteta. Tako je na

samom procesoru nalazi tzv. L1 keš, memorija malog kapaciteta sa čijih lokacija procesor

preuzima podatke jednako brzo kao i iz svojih registara. Izvan procesora, ali blizu njega, se

nalazi L2 keš, koji je iako sporiji od L1 keša, još uvek dosta brži od glavne memorije što

doprinosi brzini rada celog računarskog sistema. L2 keš memorija ima veći kapacitet nego

L1 keš. Keš memorija je dakle, brza memorija u koji se smešta deo podataka iz glavne

memorije za koje se pretpostavlja da će ih procesor ubrzo ponovo zatražiti. Kad procesor

pokušava da pročita podatak, on prvo proverava da li je u kešu. Ako su podaci tu, procesor

Page 146: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

140

im pristupa mnogo brže. Ako podaci nisu u keš memoriji, moraju se uzeti iz glavne

memorije.

8.3 Ekspanzioni slotovi i kartice

Ekspanzioni slot predstavlja priključak na matičnoj ploči koji omogućava proširenje

postojećeg računarskog sistema. U ekspanzioni slot se postavlja kartica za proširenje

(ekspanziona kartica, adapter). Postoje različite vrste slotova koje se uglavnom razlikuju

prema brzini razmene podataka i to su : PCI (eng. Peripheral Component Interconnect),

PCI Express i AGP (eng. Accelerated Graphics Port). PCI Express je najbolji po pitanju

brzine, dok se AGP koristi samo za grafičke kartice, što se može zaključiti iz njenog imena.

Ekpanziona kartica (adapter) je štampana ploča koja proširuje funkcije komponente

sistemske jedinice i /ili obezbeđuje povezivanje perifernih uređaja (periferija).

Periferni uređaj je uređaj koji se povezuje na sistemsku jedinicu i čiji je rad kontrolisan

od strane procesora. Primeri perifernih uređaja su: monitori, miševi, modemi, hard diskovi,

štampači, skeneri i tastature. Zvučna kartica proširuje mogućnosti računara, tako što preko

mikrofona daje mogućnost da zvuk bude ulaz u računar, a preko zvučnika ili slušalica da

bude izlaz iz računara. Deo koji obavlja taj zadatak se zove CODEC u koji su integrisana

dva glavna dela koja obavljaju tu funkciju: analogno-digitalni pretvarač (A/D konvertor)

koji pretvara zvuk na ulazu kartice u digitalnu formu i digitalno-analogni pretvarač (D/A

konvertor) koji pretvara digitalne podatke u zvuk koji se šalje zvučnicima ili slušalicama.

Video kartica (grafička kartica) prevodi izlaz iz računara u video signal koji se prikazuje na

ekranu monitora. Grafička kartica se ugrađuje u matičnu ploču, obično u AGP ili PCI

Express ekpanzioni slot. Mrežna kartica obezbeđuje komunikaciju računara preko

računarske mreže. Moderne matične ploče obično na sebi imaju integrisan mrežni čip i

priključak, ali takođe postoje i mrežne kartice koje se ubacuju u PCI slot. Postoje još i:

MIDI (za povezivanje muzičkih instrumenata), modem (povezuje računar preko telefonskih

linija ili linija kablovske televizije), FireWire (za brze serijske veze sa video opremom), itd.

Slika 8.12 Ekspanziona kartica ubačena u ekspanzioni slot matične ploče računara

Page 147: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

141

8.4 Portovi

Portovi su priključci preko kojih se periferni uređaji povezuju na sistemsku jedinicu.

Kod desktop personalnih računara portovi se nalaze na zadnjoj strani sistemske jedinice

(njihov veći deo) i na prednjoj strani sistemske jedinice (njihov manji deo). Na laptop

računarima mogu biti sa svih strana laptopa, tj. na prednjoj, zadnjoj ili na bočnim stranama.

U zavisnosti od načina prenosa podataka koji se odvija preko njih, portovi se mogu podeliti

na: paralelne i serijske.

Naziv serijski potiče od činjenice da se podaci šalju bit po bit i korišćenje ovog porta je

znatno jeftinije i pouzdanije u odnosu na paralelni port, jer se koristi manji broj provodnika

(žica). Serijski port služi za povezivanje uređaja kao što su miševi ili fax/modemi. Za

razliku od serijskog prenosa podataka, paralelnim prenosom podataka se šalje više bitova

podataka istovremeno, ali sa mnogo većim brojem provodnika u kablu (8 provodnika za

prenos podataka). Zbog preslušavanja koje se javlja između provodnika prilikom ovog

načina prenosa, a koji je sve izraženiji sa povećanjem rastojanja i brzina prenosa, ovaj način

prenosa omogućava brži i pouzdaniji prenos podataka samo na malim rastojanjima u

odnosu na serijski prenos, što predstavlja njegov nedostatak. Paralelni port služi za

povezivanje štampača. Po originalnoj koncepciji preko njega je bio moguć prenos podataka

samo u jednom smeru, od računara ka uređaju koji je na njega priključen. Novija rešenja

dozvoljavaju protok podataka u oba smera, tako da se ovaj port može koristiti i kao ulazni.

U računaru postoji više različitih portova pa ćemo redom opisati njihovu namenu. USB

port je razvijen da se na njega može povezivati mnogo različitih uređaja. Karakteriše ga

velika brzina (od 12 MB/s do 5GB/s) i jednostavnost priključenja. Na njega se može

povezati štampač, miš, tastatura, skener, eksterni hard disk, modem, fleš memorije i mnogi

drugi. Desktop računari standardno sadrže 2 do 6 USB portova, ali se njihov broj može

povećati dodavanjem USB haba (sabirnice). USB hab se priključuje na jedan od USB

portova na računaru, a na njega se može priključiti nekoliko USB uređaja. USB port

omogućuje priključenje do 127 različitih perifernih uređaja na samo jedan USB priključak.

Povezivanje uređaja se može vršiti dok su računar i uređaj uključeni.

PS/2 port služi za povezivanje miša i tastature. Da se ne bi izvršilo pogrešno

povezivanje miša i tastature, PS/2 port za tastaturu je ljubičaste boje, a PS/2 port za miša je

zelene boje.

FireWire port je serijski port koji omogućava veoma brz prenos podataka (od 100 MB/s

do 3200 MB/s) i na njega se mogu povezati štampači u boji, digitalne video kamere,

skeneri, brzi diskovi itd. Kao i USB port, ovaj port pruža napajanje uređaju koji je

priključen na njega. Maksimalan broj uređaja koji se mogu priključiti na jedan FireWire

port je 63.

Infracrveni (IrDA) port se koristi za prenos podataka putem infracrvene svetlosti. U

slučaju ovog porta se ne koriste bakarni provodnici, već je za prenos potrebno obezbediti

optičku vidljivost između prijemnika/predajnika na računaru i predajnika/prijemnika na

perifernom uređaju. Infracrveni port podržava brzinu prenosa do 16Mb/s, a udaljenost na

koju se ovim putem može preneti informacija nije velika i iznosi do par metara. Uređaji

koji imaju mogućnost korišćenja infracrvenog port su tastatura, miš, štampač, pametni

telefon, PDA itd.

Na računaru se mogu uočiti i VGA (eng. Video Graphics Array) port (koristi se za

povezivanje monitora sa računarom), Ethernet port (koristi se za povezivanje RJ-45 kabla

Page 148: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

142

za mrežni hub ili ruter), MIDI (eng. Musical Instrument Digital Interface) port (koristi se za

povezivanje muzičkih instrumentata) i drugi.

Neki od pomenutih portova su prikazani na slici 8.13.

Slika 8.13 Portovi

8.5 Magistrale

Magistrala je komunikacioni put sastavljen od grupe električnih provodnika kroz koje se

binarnim signalima prenose podaci između pojedinih funkcionalnih celina (komponenti) u

računaru. Magistrala je deljivi komunikacioni put na koju je povezan veći broj komponenti,

a podatak koji se predaje od strane jedne komponente dostupan je za prijem svim ostalim

komponentama koje su povezane na magistralu. U datom trenutku samo jedna komponenta

može uspešno da vrši predaju podataka.U jednom računaru može može da postoji veći broj

magistrala. Preko magistrala sa prenose podaci sa ulaznog uređaja u memoriju, iz memorije

u procesor, iz procesora u memoriju, iz keš memorije drugog nivoa (L2 keš) u procesor, iz

procesora u keš memorije drugog nivoa (L2 keš), iz memorije na izlazni uređaj, ili u

sekundarnu memoriju. Svakom magistralom se mogu prenositi tri grupe signala: podaci,

adrese i upravljački signali. Adresa se koristi za selekciju memorijske lokacije (ili

ulaznog/izlaznog uređaja) gde se šalju podaci ili odakle se preuzimaju podaci. Magistralom

podataka se prenose podaci između CPU, memorije i ulaznih/izlaznih uređaja. Upravljački

podaci upravljaju prenosom podataka. Na primer, oni mogu određivati smer toka podataka,

da li je to od ili ka CPU.

Obim magistrale, koji češće nazivamo, širina magistrale, određuje broj bitova koji mogu

da se prenesu u jednom trenutku (istovremeno) preko magistrale. Na primer, 32-bitnom

magistralom se može preneti 32 bita istovremeno, a 64-bitnom magistralom se može preneti

64 bita istovremeno. Što je veća širina magistrale, brži je prenos podataka u računaru, što

direktno utiče na performanse celog sistema. Brzina magistrale je određena frekvencijom

radnog takta magistrale, kao i brojem prenesenih podataka u svakom ciklusu. Obično se u

jednom taktu preko jedne linije prenese jedan bit informacije. Postoje i rešenja koja u istu

svrhu troše dva takta (ISA-Industry Standard Architecture), ili naprotiv udvostručavaju

propusnost magistrale šaljući dva bita u jednom taktu (AGP).

Page 149: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

8 . A R H I T E K T U R A R A Č U N A R A

143

8.6 Čipset

Čipset predstavlja skup pojedinačnih kontrolera koji ostvaruju vezu kako između

glavnih delova računara, tako i prema ekspanzionim slotovima i brojnim periferijama.

Kontroleri koji se nalaze uokviru čipseta su: DMA (eng. Direct Memory Access) kontroler i

kontroler prekida, kontroler memorije (određuje tip i maksimalnu količinu sistemske

memorije koja se može instalirati, a takođe utiče i na brzinu rada sa njom), EIDE i S-ATA

kontroler (kontroliše protok podataka magistralama koje se koriste za povezivanje hard

diskova i optičkih uređaja za skladištenje podataka na sistem), PCI Express, PCI, ISA i

AGP kontroleri (kontrolišu rad uređaja priključenih na odgovarajuće ekspanzione slotove),

kontroleri portova (koji kontrolišu rad uređaja priključenih na odgovarajućih portove).

Čipset se obično sastoji od dva integrisana kola: sistemski kontroler (North Bridge-

severni most) i periferijski kontroler (South Bridge-južni most)

Sistemski kontroler se nalazi se u blizini komponenata koje zahtevaju brz protok

informacija, kao što su procesor, memorija i AGP ekspanzioni slot i objedinjuje kontrolere

koji imaju veze sa ovim delom sistema. Periferijski kontroler je kontroler koji objedinjuje

kontrolere periferija (uključujući kontrolere hard diskova, optičkih uređaja i flopi diska) i

kontrolere eksternih portova.

8.7 BIOS

BIOS (engl. Basic Input/Output System) je naziv za računarski program koji se prvi

pokreće nakon uključenja računara. On se učitava pre operativnog sistema i predstavlja

vezu između hardvera i softvera u računaru. Kada se računar uključi, prve instrukcije koje

procesor izvršava su upravo one koje dobija iz BIOS-a.

BIOS postavlja osnovne radne parametare računarskog hardvera te pronalazi i učitava

operativni sistem u glavnu memoriju. BIOS je obično napisan u asembleru i prilagođen

određenom hardveru računara. Sačuvan je u memorijskom čipu permanentnog tipa na

matičnoj ploči računara koji čuva sadržaj i kada nema napajanja.

BIOS nudi jednostavan korisnički interfejs, obično u obliku skupa menija, u koji se

ulazi pritiskom određenih tastera na tastaturi nakon uključenja računara. Namenjen je za

podešavanje određenih parametara računara, kao na primer:

izbor nekih parametara hardvera,

postavljanje sistemskog sata,

omogućavanje ili onemogućavanje nekih delova računara (npr. dozvoljava ili

zabranjuje upotrebu keš memorije),

izbor uređaja za pokretanje sistema (engl. boot device) tj. omogućava

definisanje uređaja ili liste uređaja koja bi se ispitivala kako bi se pronašao

uređaj iz liste na kome se nalazi operativni sistem, koji nakon toga i biva učitan

u glavnu memoriju,

postavljanje nekih lozinki, npr. lozinke koja omogućuje nastavak podizanja

računara i učitavanje operativnog sistema i lozinke za ulaz u sam BIOS itd.

Page 150: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

144

Pitanja i zadaci

1. Nacrtati osnovnu strukturnu šemu računara i objasniti funkciju aritmetičko-logičke

jedinice (ALU).

2. Nacrtati osnovnu strukturnu šemu računara i objasniti funkciju U/I jedinice.

3. Koliko bitova je u glavnoj memoriji računara koji ima 4KB RAM-a.

4. Kakve vrste memorijskih jedinica postoje? Ukratko objasniti svaku od njih.

5. Koliko ima lokacija u glavnoj memoriji ako svaka adresa memorijske lokacije može

biti predstavljena sa dva heksadekadna broja? Koliko je u slučaju kada se za adresu

koriste 4 heksadekadna broja?

6. Ako računar ima 128MB RAM-a, a svaka reč je veličine 8B koliko bitova je

neophodno da se adresira svaka reč u memoriji?

7. Šta se sve pamti u glavnoj memoriji računara?

8. Navesti dve prednosti glavne memorije u odnosu na hard disk.

9. Navesti dve prednosti hard disk-a u odnosu na glavnu memoriju.

10. Navesti vrste optičkih diskova i objasniti razlike između njih.

11. Pretpostavimo da je samo 50 GB od ukupno 120 GB hard disk-a vašeg računara

slobodno. Da li bi bilo razumno koristiti CD-ove da sačuvate sav materijal koji imate,

kao backup? Šta je sa DVD-ima?

12. Koja je prednost fleš memorija u odnosu na hard disk?

13. Šta su portovi i koja je njihova funkcija? Koji port se koristi za povezivanje monitora, a

koji za povezivanje tastature?

Page 151: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

145

9 CENTRALNA PROCESORSKA

JEDINICA

Deo računara koji interpretira i izvršava osnovne instrukcije na računaru naziva se

centralna procesorska jedinica (CPU) ili procesor. Za razliku od vremena kada su procesori

zauzimali veliki prostor, danas je, usled napretka tehnologije, drastično smanjena veličina

ovih uređaja. Novije tehnologije omogućuju smeštanje velikikog broja tranzistora na

silicijumsku pločicu čime se povećavaju performanse i smanjuje cena procesora. Procesor u

današnjim desktop i notebook računarima predstavlja malu pločicu oblika kvadrata koja se

povezuje sa matičnom pločom pomoću pinova koje poseduje sa donje strane. Kod smart

telefona, mini notebook-a i drugih mobilnih uređaja njihova veličina je znatno manja u

odnosu na desktop računare. Zbog svoje male veličine, ovi procesori se nazivaju

mikroprocesori i mogu se sresti i u kamerama, automobilima, kućnim aparatima, itd.

Logička kola u procesoru rade zajedno na donošenju odluka prilikom rada procesora

koristeći principe Bulove (prekidačke) algebre. Ta logička kola su sastavni deo registara,

multipleksera, demultipleksera, sabirača, dekodera i drugih prekidačkih mreža koji

predstavljaju funkcionalne blokove procesora. Na slici 9.1 je data struktura procesora, sa

koje se može izdvojiti više celina koje ulaze u sastav procesora: aritmetičko-logička

jedinica, kontrolna jedinica i registarska jedinica. Kao što je već ranije rečeno ALU čine

logička kola čija je funkcija manipulacija nad podacima, dok kontrolnu jedinicu čine

logička kola koja koordinišu aktivnosti procesora. Registarska jedinica se sastoji iz

registara koji služe za privremeno pamćenje podataka u okviru procesora. Kao što se sa

slike 9.1 može uočiti, u svrhu razmene podataka, procesor i glavna memorija koriste grupe

električnih provodnika koje se zovu magistrala i čija funkcija je objašnjena u prethodnom

poglavlju.

Preko magistrale, procesor čita podatke iz glavne memorije zadavanjem odgovarajuće

memorijske adrese zajedno sa upravljačkim podacima koji govore od tome da iz memorije

treba da se obavi čitanje sa zadate adrese. Na sličan način procesor upisuje u glavnu

memoriju tako što zadaje odgovarajuću memorijsku adresu, kao i podatak koji se upisuje,

zajedno sa upravljačkim podacima koji govore od tome da u memoriju treba da se obavi

upis primljenog podataka na zadatu adresu.

Registri su elementi u procesoru koji služe za memorisanje podataka i čija je glavna

karakteristika kratko vreme pristupa koje je reda nanosekunde. Neki registri u registarskoj

jedinici su registri specijalne namene koji imaju tačno određene namene, dok su drugi

registri opšte namene koji se mogu koristiti za više različitih namena. U registre specijalne

namene spadaju: brojač naredbi, registar naredbi, adresni registar memorije, prihvatni

Page 152: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

146

registar memorije itd. Njihova konkretna upotreba biće opisana kasnije. Registri opšte

namene mogu imati različite namene pa se mogu koristiti za privremeno čuvanje operanada

u procesoru, za adresiranje operanada u memoriji, kao učesnici u operacijama, itd. Broj

ovih registara u procesorima se kreće od 8 do 64. Savremeni procesori imaju najčešće 32

registra opšte namene.

Slika 9.1 Struktura procesora

9.1 Organizacija procesora

Računar izvršava program koji se nalazi u glavnoj memoriji pribavljanjem naredbi iz

memorije u procesor. Kada se naredba pribavi u procesor ona biva dekodirana i izvršena.

Redosled u kome se instrukcije pribavljaju iz memorije odgovara redosledu u kojem su

sačuvane u memoriji osim ako taj redosled ne promeni neka od naredbi grananja. Da bi se u

potpunosti razumelo kako izgleda proces izvršenja naredbi potrebno je objasniti funkcije

određenih registara specijalne namene procesora.

Da bi upravljačka jedinica u svakom trenutku imala informaciju o adresi sledeće

naredbe koja će se izvršavati u okviru procesora postoji poseban registar koji se zove

brojač naredbi (programski brojač).

Da bi se neki sadržaj (instrukcija ili podatak) pročitao iz memorije ili upisao u memoriju

potrebno je da se adresa memorijske lokacije sadržaja upiše u poseban registar procesora

koji se zove adresni registar.

Da bi naredba mogla izvršavati neku mašinsku operaciju ona se smešta u registar koji

se zove registar naredbi.

Prihvatni registar je registar u koji se smešta podatak koji treba da se upiše u

memoriju, ili podatak koji je upravo pročitan iz memorije.

Registar stanja (eng. Flag register) se sastoji iz ćelija od kojih je svaka jednobitni

registar. One ukazuju na stanje procesora posle izvršenja nekih operacija, i tada se

postavljaju na vrednosti nula ili jedan. Ovaj registar takođe se naziva i status registar jer

ukazuje na status procesora nakon izvršene operacije. Pomenućemo neke od bitova koji se

Aritmeti koč -logičkajedinica

Centralna procesorskajedinica

Upravljačkajedinica

Glavna memorija

Magistrala

Registri

Registarska jedinica

...

Page 153: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

147

koriste u ovu svrhu i ukazuju na stanja koja su nastala nakon izvršenja određenih operacija.

Jedan od nih je N (eng. Negative) bit koji se postavlja na 1, ako je rezultat operacije

negativan. U suprotnom je 0. Z (eng. Zero) bit se postavlja na 1, ako je rezultat operacije

nula. C (eng. Carry) bit se postavlja na 1, ako je došlo do pojave prenosa prilikom izvršenja

operacije. V (eng. Overflow) bit se postavlja na 1, ako je došlo do prekoračenja prilikom

izvršenja operacije.

Detaljnija struktura procesora sa osnovnim gradivnim elementima i putevima

komunikacije sa glavnom memorijom prikazana je na slici 9.2.

Slika 9.2 Detaljnija struktura procesora

9.2 Mašinsko programiranje

U cilju primene von Neumann-ovog principa gde su i programi i podaci sa kojima

program manipuliše smešteni u glavnoj memoriji, procesori su projektovani da prepoznaju

Registri

Centralna procesorska jedinica Memorija

Adresna magistrala

Magistrala podataka

Upravljačka magistrala

Inte

rna

mag

istr

ala

R1R2R3

RN

ALJ

Dekoder instrukcija

Upravlja logikačka

BN

PR

RS

AR

RN

RK

Page 154: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

148

instrukcije kodirane u vidu nizova bitova. Grupa instrukcija zajedno sa načinom njihovog

kodiranja čine mašinski jezik računara. Instrukcija predstavljena na ovom jeziku se naziva

mašinska instrukcija ili mašinska naredba. Mašinska naredba specificira operaciju kao i

vrednosti ili mesta operanada nad kojima ta operacija treba da se obavi. Mašinska naredba

treba da sadrži informacije neophodne za izvršenje jedne operacije. To su: kod operacije,

informacija o operandima nad kojima se izvršava operacija, informacija o mestu smeštanja

rezultata primene operacije i informacija o sledećoj naredbi na koju treba preći. Kao što je

već rečeno, da bi program za rešenje nekog problema mogao da bude izvršavan na računaru

on mora da bude kodiran nizovima bitova, tj. u binarno kodiranom obliku. Međutim,

pisanje programa u ovom obliku je težak proces sklon greškama jer treba pisati veliki broj

binarnih cifara, treba poznavati sve kodove operacija, treba unapred znati mesta u memoriji

gde će program biti smešten, itd. Zato je kao prvo poboljšanje koje olakšava pisanje

programa bilo uvedeno pisanje programa u heksadekadnom obliku. Proces prevođenja iz

heskadekadnog u binarni oblik je bio automatizovan i poveren posebnom programu. Ovaj

način i pored skraćenog zapisa sa manje cifara nosi nedostatke koji su navedeni za binarno

kodirane programe. Rešenje za sve pomenute manjkavosti nađeno je u uvođenju

simboličkih imena za kodove operacija i simboličkih imena za adrese operanada. Svakoj

simboličkoj naredbi odgovara jedna mašinska naredba. Za program napisan korišćenjem

ovakvih simboličkih naredbi se kaže da je napisan na simboličkom mašinskom jeziku ili

asemblerskom jeziku.

U opštem slučaju, mašinska naredba se sastoji iz dela koji specificira kod operacije

(operacioni deo) i adresnog dela, koji uglavnom specificira kako i odakle treba uzeti

operande i gde smestiti rezultat. Takođe, deo adresnog dela u nekim slučajevima može biti i

adresa naredne naredbe. Raspored, dužina i namena ovih delova (polja) predstavljaju

format naredbe i može biti različit od računara do računara. Na primer, ako ADD označava

operaciju sabiranja, naredba može da izgleda na sledeći način:

ADD A1 A2 A3

Značenje ove naredbe je sledeće: Sabrati vrednosti sa adresa A1 i A2 i rezultat smestiti

na adresu A3. Obično se u adresnom delu naredbe nalaze jedna, dve ili tri adrese operanada

i taj broj adresa u adresnom delu određuje adresnost računara. Sa druge strane, da bi se

kodiralo n različitih operacija za kodiranje svake od njih potrebno je nk 2log bitova,

gde je x prvi ceo broj veći od x. Međutim, kako je često dužina koda operacije

nedovoljna za ovakav način kodiranja i sa druge strane adresni deo nekih instrukcija ne

postoji ili može biti kraći uvodi se princip kodiranja sa proširenjem. Ovaj princip se sastoji

u sledećem: Ako polje koda operacije ima dužinu k tada se, na primer, 12 kkodnih nizova

koristi za kodiranje operacija, a jedan kodni niz koristi za proširenje koda.

Primer 9.1.

0000XXXXXXXXXXXX

0001XXXXXXXXXXXX

....................

1110XXXXXXXXXXXX

Ovde je sa prva 4 bita kodirano 15 operacija dok je 1111 ostavljen za proširenje

koje ima sledeći oblik:

Page 155: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

149

11110000XXXXXXXX

11110001XXXXXXXX

...................

11111101XXXXXXXX

Ovde je dodatnih 14 operacija kodirano sa 8 bitova dok su kodovi 11111110 i

11111111 ostavljeni za evenualno proširenje.

9.2.1 Adresnost računara

Prema broju adresa u mašinskoj naredbi tj. prema adresnosti računara, računari

mogu biti: četvoroadresni, troadresni, dvoadresni, jednoadresni i bezadresni.

Odgovarajući formati naredbi prikazani su na slici 9.3.

Slika 9.3 Formati naredbi a) četvoroadresni b) troadresni c) dvoadresni i d) jednoadresni

Može se reći da četvoroadresna naredba ima opšti format gde adrese A1 i A2

predstavljaju adrese operanada, adresa A3 je adresa na koju se smešta rezultat, a A4 adresa

sledeće naredbe. Kako se naredbe izvršavaju u prirodnom redosledu, tj. redom kojim su

zapisane u memoriji, prestaje potreba za adresom A4, ali se uvodi poseban registar u

procesoru koji služi za pamćenje adrese sledeće naredbe koja treba da se izvrši. Taj registar

služi za upravljanje tokom izvršenja programa i naziva se brojač naredbi. Računari sa

formatom koji ne sadži adresu A4 su troadresni računari. Broj adresa se može smanjiti za

još jednu ako se jedno od tri polja adrese izostavi, a da se adresa rezultata implicitno

podrazumeva. Naredba sa ovakvom strukturom je karakteristična za dvoadresne računare.

Na primer, ako A1 i A2 predstavljaju adrese operanada može se podrazumevati da se

rezultat smešta ili na adresu A1 ili na adresu A2. Pri tome se prethodni sadržaj te lokacije

uništava. Ako se u registar procesora uvede poseban registar, akumulator, koji ima

dvostruku ulogu i to da se u njemu čuva prvi operand i da se u njega smešta rezultat

operacije dobijamo format naredbe jednoadresnog računara. Kod ovog formata naredbe

adresa A1 predstavlja adresu drugog operanda.

Moguće je konstruisati i naredbe koje imaju samo kod operacije, ali je za ostvarenje

ovog koncepta potrebno da se svi podaci i rezultati nalaze u posebno organizovanoj

memoriji koja predstavlja stek. Steku se može pristupiti samo sa jednog kraja koji se naziva

vrh steka. Svi operandi koji se koriste u operaciji potrebno je da budu na vrhu steka. Pristup

steku se reguliše registrom koji se naziva pokazivač magacina. Za smeštanje podataka na

OP OP

OP OP

M M

M M

A1 A1

A1 A1

A2 A2

A2

A3 A3A4

a) b)

c) d)

Page 156: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

150

vrh magacina i za čitanje podataka sa vrha se koriste posebne operacije koje komuniciraju

sa tim delom memorije.

Danas, savremeni procesori implementiraju dvoadresne i troadresne instrukcije. Sem

adresa koje su prikazane u datim primerima, u adresnom delu naredbe se može uočiti i polje

modifikatora (M) čija uloga će detaljno opisana u potpoglavlju 9.4.

9.2.2 Naredbe procesora

Svaki program je predstavljen nizom mašinskih naredbi (instrukcija) koje se prilikom

izvršenja nalaze u glavnoj memoriji računara. Zavisno od namene i veličine procesora, broj

i vrsta mašinskih naredbi (instrukcija) se razlikuje od računara do računara. Naredbe

procesora se obično mogu svrstati u sledeće kategorije:

(1) naredbe za prenos podataka,

(2) aritmetičko-logičke naredbe,

(3) naredbe za upravljenje tokom izvršenja programa i

(4) ulazno-izlazne naredbe.

Da bi se objasnili osnovni principi rada procesora nije neophodno razmatrati neki

konkretan procesor već se može razmatrati neki hipotetički procesor sa svojim skupom

naredbi.

9.2.2.1 Naredbe za prenos podataka

Grupa naredbi za prenos podataka se sastoji iz naredbi koje zahtevaju prenos podataka

sa jedne lokacije na drugu. Taj prenos može biti: iz glavne memorije u neki registar

procesora, iz registra procesora u glavnu memoriju, iz jednog u drugi registar procesora, iz

jedne memorijske lokacije u drugu i slično. Iako se u literaturi često za ove naredbe koristi

termin naredbe za prenos ili pomeranje podataka, ovaj naziv je uslovno tačan. o sledi iz

činjenice da proces koji se odvija prilikom izvršenja ove vrste instrukcije u stvari pre

predstavlja kopiranje podataka sa jedne lokacije na drugu, nego prenos i brisanje sa

originalne lokacije. Tako na primer, naredba za prenos sadržaja iz glavne memorije sa

adrese ad u registar procesora Ri ima sledeći oblik:

LD Ri ad ; (Ri) : = Mem[ad]

Pri izvršenju ove naredbe prethodni sadržaj registra se briše, a sadržaj memorijske

lokacije sa adresom ad se ne menja. LD je simboličko ime instrukcije izvedeno iz engleske

reči LOAD.

Naredba za prenos sadržaja iz registra procesora Ri u glavnu memoriju na lokaciju sa

adresom ad ima sledeći oblik:

ST Ri ad ; Mem[ad]: = (Ri)

Page 157: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

151

Pri izvršenju ove naredbe prethodni sadržaj memorijske lokacije sa adresom ad se briše,

a sadržaj registra se ne menja. ST je simboličko ime instrukcije izvedeno iz engleske reči

STORE.

Za prenos sadržaja između dva registra može postojati posebna naredba koja ima sledeći

oblik:

MOV Ri Rj ; (Ri) : = (Rj)

Pri izvršenju ove naredbe prethodni sadržaj registra Ri se briše, a sadržaj registra Rj se

ne menja. MV je simboličko ime instrukcije izvedeno iz engleske reči MOVE.

9.2.2.2 Aritmetičko-logičke naredbe

Aritmetičko-logička grupa naredbi sastoji se iz naredbi koje ukazuju kontrolnoj jedinici

da zahteva aktivnost aritmetičko-logičke jedinice. Aritmetičko-logičke naredbe se sastoje iz

naredbi koje izvršavaju aritmetičke operacije, logičke operacije i operacije za pomeranje.

Aritmetičke naredbe uglavnom služe za izvršenje osnovnih aritmetičkih operacija

(sabiranje, oduzimanje, množenje i deljenje), poređenje dva sadržaja, komplementiranje,

povećanje (smanjenje) sadržaja za neku vrednost itd.

Logičke naredbe služe za izvršenje logičkih operacija Bulove algebre AND, OR, NOT i

XOR primenjenih na nizove bitova pokomponentno. Naredbe pomeranja služe za izvršenje

operacija pomeranja bitova u okviru registra. Ove operacije klasifikuju se na osnovu smera

pomeranja (levo ili desno) i da li je pomeranje cirkularno ili ne (rotacija ili pomeranje).

Naredba za aritmetičku operacija sabiranja ima sledeći oblik:

ADD Ri, Rj, Rk ; (Ri) : = (Rj) + (Rk)

Dejstvo ove naredbe je da se novi sadržaj registra Ri dobija sabiranjem sadržaja registra

Rj i sadržaja registra Rk.

Aritmetička operacija oduzimanja se realizuje ili posebnim naredbama za oduzimanje,

ili pomoću jedne operacije komplementiranja i jedne operacije sabiranja. Posebna naredba

za oduzimanje ima sledeći oblik:

SUB Ri, Rj, Rk ; (Ri) : = (Rj) - (Rk)

Dejstvo ove naredbe je da se novi sadržaj registra Ri dobija oduzimanjem sadržaja

registra Rj i sadržaja registra Rk.

Za operaciju dobijanja komplementa dvojke naredba ima sledeći oblik:

NEG R ; (Ri) : = - (Ri)

Page 158: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

152

Za realizaciju množenja i deljenja kada postoje, koriste se naredbe koje imaju sledeći

oblik:

MUL Ri, Rj, Rk ; (Ri) : = (Rj) * (Rk)

DIV Ri, Rj, Rk ; (Ri) : = (Rj) / (Rk)

Dejstvo ovih naredbi je slično kao i kod naredbi ADD i SUB. Inače se množenje i

deljenje mogu implementirati korišćenjem sabiranja (oduzimanja) kombinovano sa

operacijom pomeranja.

Naredbe za aritmetičke operacije nastale su od engleskih reči ADD, SUBtract,

MULtiply, DIVide.

Kao što je već rečeno, logičke naredbe služe za izvršenje logičkih operacija Bulove

algebre AND, OR, NOT i XOR dok se ostale logičke operacije mogu realizovati preko

relacija Bulove algebre. Ove operacije se izvršavaju nad vrednostima 0 i 1 na

odgovarajućim pozicijama binarne reči.

Pokomponentne logičke I, ILI i isključivo ILI operacije, kada se primene na dve 8-bitne

binarne reči funkcionišu na sledeći način:

10011010

AND 11001001

10001000

10011010

OR 11001001

11011011

10011010

XOR 11001001

01010011

NOT 11001001

00110110

Logičke naredbe koje realizuju ove naredbe imaju sledeći oblik:

AND Ri, Rj, Rk ; (Ri) : = (Rj) .AND. (Rk)

OR Ri, Rj, Rk ; (Ri) : = (Rj) .OR. (Rk)

XOR Ri, Rj, Rk ; (Ri) : = (Rj) .XOR. (Rk)

NOT Ri, Rj ; (Ri) := .NOT. (Rj)

Logička AND naredba se uglavnom koristi za maskiranje dela mašinske reči i to

postavljanjem nula u delu reči koji želimo da maskiramo i jedinica u delu reči koji ostaje

isti. Na primer:

Page 159: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

153

00001111

AND 10101010

00001010

Logička OR operacija se može koristiti za spajanje grupe bitova u jednu reč. Na primer:

11110000

OR 00001010

11111010

Logička XOR operacija se može koristiti za upoređivanje dva sadržaja u smislu

jednakosti, tj. rezultat će biti sve nule u slučaju da su sadržaji jednaki.

10101010

XOR 10101010

00000000

Već smo napomenuli da naredbe pomeranja služe za izvršenje operacija pomeranja

bitova u okviru registra. Posmatrajmo registar koji se sastoji od 8 bitova. Ako pomerimo

njegov sadržaj za jedno mesto udesno bit najmanje težine se gubi a na mestu najveće težine

ostaje praznina. U zavisnosti od toga šta će se upisati na mesto praznine razlikujemo više

vrsta pomeranja. Jedna od tehnika je da prazninu popunimo bitom najmanje težine. Ovaj

postupak odgovara cikličnom pomeranju ili rotaciji. Tako, ako primenimo 8 puta rotaciju

udesno na sadržaj u registru veličine bajta dobićemo sadržaj od kog smo krenuli.

Sadržaj registra pre i posle cikličnog pomeranja za 2 mesta udesno prikazan je u

sledećem primeru.

Pre: 01011111

Posle: 11010111

Drugi način je da se odbaci bit najmanje težine, a da se na mesto praznine uvek upisuje

0. Termin logičko pomeranje se koristi za ovakvu vrstu pomeranja. Ova vrsta pomeranja

ulevo se može iskoristiti za množenje označenih (ili neoznačenih) brojeva sa dva. Slično

kao što se pomeranje dekadnih brojeva za 1 mesto ulevo odgovara množenju sa 10,

pomeranje označenih binarnih brojeva (u potpunom komplementu) za 1 mesto ulevo

odgovara množenju sa 2. Sadržaj registra pre i posle logičkog pomeranja za 1 mesto ulevo

je prikazan u sledećem primeru.

Pre: 00001000 (= 8 dekadno)

Posle: 00010000 (= 16 dekadno)

Page 160: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

154

Pomeranje ulevo za n mesta odgovara množenju sa 2n.

Slično, logičko pomeranje neoznačenih brojeva za n mesta udesno odgovara deljenju sa

2n. Sadržaj registra pre i posle logičkog pomeranja za 1 mesto udesno je prikazan u

sledećem primeru.

Pre: 00001000 (= 8 dekadno)

Posle: 00000100 (= 4 dekadno)

Međutim, kod logičkog pomeranja označenih brojeva udesno imamo problem jer se na

mesto praznine uvek upisuje 0. Zato je u ovu svrhu mnogo korisnije koristiti aritmetičko

pomeranje udesno koje ima osobinu da prazninu na mestu znaka uvek popunjava

originalnom vrednošću, a ostali deo pomera na način kao kod logičkog pomeranja.

Sadržaj registra pre i posle aritmetičkog pomeranja za 1 mesto udesno je prikazan u

sledećem primeru.

Pre: 11110111 (= -9 dekadno)

Posle: 11111011 (= -5 dekadno)

Sadržaj registra pre i posle logičkog pomeranja za 1 mesto udesno izgleda:

Pre: 11110111 (= -9 dekadno)

Posle: 01111011 (= +123 dekadno)

Aritmetičko pomeranje ulevo se odvija na isti način kao i logičko.

Naredbe za logičko pomeranje udesno i ulevo imaju sledeći oblik:

SHL Ri, k ; Logičko pomeranje sadržaja registra Ri za k mesta ulevo

SHR Ri, k ; Logičko pomeranje sadržaja registra Ri za k mesta udesno

Naredbe za aritmetičko pomeranje udesno i ulevo imaju sledeći oblik:

SAL Ri,k ; Aritmetičko pomeranje sadržaja registra Ri za k mesta ulevo

SAR Ri, k ; Aritmetičko pomeranje sadržaja registra Ri za k mesta udesno

Nazivi operacija logičkog pomeranja nastali su od engleskih reči SHift Left i SHift

Right, dok su nazivi operacija aritmetičkog pomeranja nastali su od engleskih reči Shift

Arithmetic Left i Shift Arithmetic Right.

Naredbe za kruženje (rotaciju) udesno i ulevo imaju sledeći oblik:

ROR Ri, k ; Desno kruženje sadržaja registra Ri za k mesta

ROL Ri, k ; Levo kruženje sadržaja registra Ri za k mesta

Page 161: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

155

Operacije pomeranja se uglavnom koriste u svrhu poravnanja operanada prilikom

izvršenja aritmetičkih operacija. Ove operacije su dobile naziv od engleske reči ROtate Left

(Right).

9.2.2.3 Naredbe za upravljanje tokom izvršenja programa

Upravljačka grupa naredbi sadrži skup naredbi koje upravljaju tokom izvršenja

programa, a ne bavi se manipulacijom podataka. U ovoj grupi se nalaze mnoge instrukcije

iz skupa instrukcija procesora, ali mi ćemo se ovde zadržati na naredbama grananja. Ove

naredbe uglavnom su pripadnice porodice JUMP (ili BRANCH) instrukcija i usmeravaju

CPU tako da izvrši instrukciju koja nije sledeća po redu. Naredbe grananja omogućavaju da

se izvrši jedan ili drugi deo programa u zavisnosti od uslova koji se dobija u toku izvršenja

programa. Na taj način utiču na tok izvršenja programa. Ove naredbe mogu biti naredbe

uslovnog i bezuslovnog grananja.

Kod naredbe bezuslovnog grananja na specificiranu naredbu se prelazi bez ispitivanja

ikakvog uslova. Sledeći primer ilustruje naredbu bezuslovnog skoka na adresu ad.

J ad;

Naredba uslovnog grananja sadrži uslov grananja kao i adresu naredbe na koju se

prelazi ako je uslov ispunjen. U slučaju da uslov nije ispunjen, prelazi se na prvu naredbu

iza naredbe grananja. Naredba grananja ima sledeći oblik:

Ju ad;

gde je NVZCu ,,, . Ako je uslov u=1 tada se prelazi na izvršenje naredbe sa adresom

ad u suprotnom na prvu naredbu iza naredbe grananja. Deo naredbe u predstavlja uslov iz

registra uslova koji se prilikom ove naredbe ispituje. Uslov se postavlja nakon izvršenja

nekih aritmetičkih ili logičkih operacija. Na primer, prilikom sabiranja dva broja može se

javiti prenos. Da bi ispitali da li se prenos javio, tj. da li je C bit u registru uslova postavljen

na 1 koristi se naredba JC. Postoje i drugi uslovi koji se mogu sagledavati, koji se zasnivaju

se na proveri odgovarajućih bitova u registru uslova, kao što su nula, znak, prekoračenje

itd. Odgovarajuće naredbe u pomenutim slučajevima su: JZ, JN, JV respektivno. Naredbe

koje ispituju negaciju prethodno pomenutih uslova su: JNC, JNZ, JNN I JNV.

9.2.2.4 Ulazno-izlazne naredbe

Naredbe koje su do sada razmatrane, omogućavaju: prenos podataka između memorije

i registra i to u oba smera, prenos podataka između registara, obavljanje različitih

aritmetičko-logičkih operacija, itd. Ono što se nameće kao pitanje je odakle dolaze svi ti

podaci ili kako podatke koji predstavljaju rezultat učiniti vidljivim korisniku. U tu svrhu se

koriste ulazne i izlazne naredbe. Ulaznom naredbom se nalaže čitanje podataka sa nekog

perfernog (ulaznog) uređaja u neki registar procesora, a ponekad i istovremeni upis u

Page 162: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

156

glavnu memoriju. Izlaznom naredbom se nalaže slanje podataka iz nekog registra procesora

na periferni (izlazni) uređaj. Svaki ulazno/izlazni uređaj ima broj koji specificira njegovu

adresu. Naredbe za ulaz i izlaz ima sledeći oblik:

IN Ri, dev;

OUT Ri, dev;

gde dev u naredbi IN predstavlja adresu ulaznog uređaja, dok u naredbi OUT predstavlja

adresu izlazog uređaja. Naredbom IN se obavlja čitanje sa uređaja sa adresom dev u registar

Ri, dok se naredbom OUT obavlja slanje podataka iz registra Ri na uređaj sa adresom dev.

9.3 Izvršenje programa i ciklus izvršenja naredbe

Procesor obavlja svoj posao kontinualno ponavljajući postupak koji ga vodi kroz tri faze

koje zajedno predstavljaju ciklus izvršenja naredbe (instrukcije). Procesor izvršava svaku

naredbu u ove tri sukcesivne faze: fazu pribavljanja naredbe, fazu dekodiranja i fazu

izvršenja naredbe. Nekada se faze pribavljanja naredbe i faza dekodiranja naredbe zajedno

nazivaju faza pripreme naredbe. Faza pribavljanja prethodi fazi dekodiranja, dok faza

dekodiranja prethodi fazi izvršenja naredbe i one se ciklički menjaju. Ukratko ćemo opisati

svaku od faza.

Pribavljanje naredbe – na osnovu adrese koja se nalazi u adresnom registru, a koja je

prethodno iskopirana iz brojača naredbi, kontrolna jedinica nalaže pribavljanje instrukcije

iz memorije. Zatim se vrši njeno smeštanje u prihvatni registar, a potom u registar naredbi.

Tada se vrši i povećanje vrednosti brojača naredbi koji sada sadrži adresu naredbe koja će

sledeća da se pribavi iz memorije (u sledećem instrukcionom ciklusu).

Dekodiranje naredbe – kontrolna jedinica dekodira tekuću instrukciju u registru

naredbi, u okviru čega se ispituje kod operacije, kao i koji način adresiranja se koristi

prilikom pribavljanja operanada. Postupak dekodiranja naredbe, kao i pokretanje akcija za

njeno izvršenje se obavlja u delu upravljačke jedinice koja se zove dekoder instrukcija.

Dekoder instrukcija je kombinaciona mreža koja na osnovu mašinske instrukcije u registru

naredbi generiše signale koji određuju kojim registrima ili memorijskim lokacijama se

pristupa prilikom izvršenja instrukcije, koju operaciju treba izvršiti, itd.

Dok su ove dve faze iste za sve naredbe, faza izvršenja naredbe se odvija specifično za

svaku naredbu ili grupu naredbi. U slučaju faze izvršenja neke aritmetičko-logičke naredbe

u ovoj fazi se čitaju operandi iz glavne memorije i/ili odgovarajućeg registra, aktivira se

deo u okviru ALU koje će izvršiti odgovarajuću aritmetičko-logičku operaciju, nakon čega

se po završetku posla dobijeni rezultat iz ALU upisuje u odgovarajući registar procesora.

Kada jedna naredba iz registra naredbi završi svoj ciklus, CPU počinje ciklus izvršenja

nove naredbe.

Još od pojave prvih računara koji su sekvencijalno izvršavali naredbe postojala je težnja

da se pronađu nove tehnike i metode za brže i efikasnije izvršenje programa. Jedna od

takvih tehnika je i protočna obrada tj. protočnost. Protočnost se primenjuje u situacijama

kada treba izvršiti veći broj radnji koje prolaze kroz iste faze tokom svog izvršenja.

Objasnićemo na početku princip protočnosti na primeru koji nije vezan za računare a koji

Page 163: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

157

će jednostavnije ilustrovati princip koji se koristi. Primer izvršenja takvog skupa radnji bez

upotrebe protočnosti prikazan je na slici 9.4. Na slici 9.4 su prikazane radnje A, B, C i D u

izvođenju različitih osoba gde sve radnje prolaze kroz 4 faze: pranje odeće, sušenje odeće,

peglanje odeće i skladištenje odeće. Svaka od faza sa slike 9.4 traje isti period vremena tj.

30 minuta. Sa slike 9.4 se može se zaključiti da ovom slučaju vreme potrebno za izvođenje

sve 4 radnje iznosi 8 sati.

Slika 9.4 Pricip izvršenja četiri radnje (A,B,C,D) bez uvođenja protočnosti

Ako uvedemo princip protočnosti koji podrazumeva poklapanje faza različitih radnji sa

tim da faze ne koriste iste resurse i ne zavise jedna od druge dobićemo situaciju prikazanu

na slici 9.5. Sa slike 9.5 se može se zaključiti da je vreme potrebno za izvođenje sve 4

radnje skraćeno i iznosi 3,5 sata.

Slika 9.5 Princip izvršenja četiri radnje (A,B,C,D) sa uvodenom protočnošću

Ovaj princip se primenjuje i kod procesora. Bez uvođenja protočnosti procesor izvršava

samo jednu instrukciju u jednom trenutku. Kod savremenih procesora uvodi se princip

protočnosti koji omogućava da se u procesoru izvršava više od jedne instrukcije

istovremeno. Kako instrukcija prolazi kroz protočni sistem, hardver svakog stepena obavlja

određeni tip obrade koji predstavlja jednu fazu u izvršenju. Tako na primer, dok teče jedna

faza izvršenja tekuće instrukcije, istovremeno se može obavljati neka druga faza naredne

instrukcije. Faze u izvršenju instrukcije ne moraju trajati isti period vremena. Zbog toga se

Page 164: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

158

vrši dalja podela svake od ovih faza na akcije sa ciljem da one budu vremenski

izbalansirane i da se veći broj akcija izvršava istovremeno. Za procesore koji podržavaju

ovakav način izvršenja mašinskih instrukcija kažemo da poseduje višestepenu protočnost.

Dobre performanse kod protočne obrade postižu se zahvaljujući paralelizmu koji se postiže

istovremenom obradom nekoliko instrukcija od kojih se svaka izvršava u različitom

stepenu.

9.4 Načini adresiranja

Kao što smo već pomenuli, mašinska naredba se sastoji iz dela koji specificira kôd

operacije (operacioni deo) i adresnog dela koji uglavnom specificira kako i odakle treba

uzeti operande i gde smestiti rezultat. Adresni deo se sastoji iz dela koji predstavlja

operande i dela za modifikator.

Kod savremenih računara adresa koja je navedena u naredbi najčešće ne predstavlja

stvarnu adresu podataka u memoriji, već samo jednu komponentu za formiranje te adrese.

Fizička (stvarna) adresa operanda u glavnoj memoriji formira se na osnovu više

komponenti i naziva se efektivna adresa. Postupak određivanja efektivne adrese na osnovu

adresnih informacija naziva se metoda (način) adresiranja. Način adresiranja, koji je

sadržan u okviru instrukcije, određuje kako procesor treba da koristi i interpretira bitove

instrukcije i ostale informacije da bi izračunao efektivnu adresu.

Radi boljeg razumevanja mi ćemo ovde pomeniti i objasniti najčešće korišćene načine

adresiranja u simboličkim mašinskim jezicima. Način adresiranja se obično odnosi na jedan

operand u instrukciji dok se drugi operand nalazi skoro uvek u registru.

9.4.1 Implicitno adresiranje

Kod ovog načina adresiranja operand nije eksplicitno zadat u instrukciji već se njegova

adresa podrazumeva i određena je kodom instrukcije.

Na primer, instrukcije CLC i STC vrše postavljanje carry flega u registru stanja na 0

odnosno 1, respektivno, iako se adresa registra stanja ne zadaje eksplicitno u instrukciji.

9.4.2 Neposredno adresiranje

Kod ovog načina adresiranja operand je deo same instrukcije. Dakle, operand se ne čita

ni iz registra niti iz glavne memorije već je operand sadržan u samoj instrukciji.

Ovaj način adresiranja se koristi za konstante. Na slici 9.6 je prikazan primer instrukcije

koja je jedna od instrukcija dobijena prevođenjem instrukcije int x=321 sa višeg

programskog jezika C. Operand se pribavlja u procesor u trenutku pribaljanja instrukcije. U

primeru sa slike 9.6 broj 321 je neposredni operand. Obim pribavljenog podatka je

ograničen brojem bitova predviđenih za operand.

Page 165: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

159

Slika 9.6 Primer neposrednog adresiranja (* - kod neposrednog adresiranja)

9.4.3 Direktno memorijsko adresiranje

Kod ove vrste adresiranja operand se nalazi u memoriji, a adresa operanda u memoriji je

deo instrukcije. Dakle efektivna adresa operanda je deo instrukcije. U primeru sa slike 9.7

za broj 200 se koristi memorijsko adresiranje.

Prednost ovog načina rada adresiranja je jednostavnost izvođenja, a nedostatak

ograničeni adresni prostor.

9.4.4 Direktno registarsko adresiranje

Kod ove vrste adresiranja operand se nalazi u registru, a njegova adresa (adresa registra)

je deo instrukcije. Kod ove vrste adresiranja nema pristupa glavnoj memoriji, što može

ubrzati izvršenje ovih instrukcija. Deo instrukcije koji se koristi za adresiranje operanda u

registru je mali i sastoji od nekoliko bitova.

Primer korišćenja ove vrste adresiranja je kod dodele vrednosti promenljive. Na slici 9.8

je prikazan primer instrukcije koja je jedna od instrukcija dobijena prevođenjem instrukcije

x=y sa višeg programskog jezika C. U primeru sa slike 9.8 za broj 4 i za broj 3 se koristi

registarsko adresiranje.

kod operacije operand

instrukcija

.................

.......

MOV M*

* -

kod neposrednog adresiranja

4 321

Registri

R4

MOV R4,321; (R4):=321

Procesor

RN

Page 166: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

160

Slika 9.7 Primer direktno-memorijskog adresiranja (* - kod direktno-memorijskog

adresiranja)

Slika 9.8 Primer direktno-registarskog adresiranja (* - kod direktno-registarskog

adresiranja)

kod operacije memorijska adresa

instrukcija

............memorijska lokacija

operand

.......

M*

* - kod direktnog memorijskog adresiranja

MOV 4 200

Registri

R4

LD R4, [100] ; (R4):=Mem[200]

Procesor

200

Memorija

kod operacije adresa registra

instrukcija

............registar

operand

.......

M*

* - kod direktnog registarskog adresiranja

MOV 4 3

Registri

R4R3

MOV R4, R3; (R4):=(R3)

Procesor

Page 167: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

161

Primer upotrebe je i sabiranje dva cela broja. Na primer, instrukciji na višem

programskom jeziku c=a+b odgovara instrukcija na simboličkom mašinskom jeziku ADD

R1,R2,R3 gde je na sve operande u instrukciji primenjen ovaj način adresiranja. Naravno,

prethodnim naredbama koje su izostavljene iz ovog primera, operande a i b je potrebno

prvo pribaviti iz memorije. Ovde se sabiraju vrednosti koje se nalaze u registrima R2 i R3 i

rezultat smešta u registar R1. Prednosti ovog načina adresiranja je ta što se instrukcije koje

manipulišu sadržajem registra brzo izvršavaju, a mana je ograničen adresni prostor.

9.4.5 Indirektno memorijsko adresiranje

Kod ove vrste adresiranja, adresa koja je zadata u okviru instrukcije nije efektivna

adresa operanda, već adresa memorijske lokacije na kojoj se nalazi adresa operanda.

Operand se nalazi u memoriji. Ovde je znači potrebno dva puta pristupiti memoriji da bi se

dobio operand. Primer korišćenja ove vrste adresiranja je kod dodele vrednosti promenljive.

U primeru sa slike 9.9 za broj 200 se koristi indirektno memorijsko adresiranje.

Slika 9.9 Primer indirektno-memorijskog adresiranja (* - kod indirektno-memorijskog

adresiranja)

Nedostatak ovog načina adresiranja je, kao što je već navedeno, veći broj obraćanja

memoriji, što usporava izvršenje same instrukcije, a prednost je mogućnost pristupa većem

adresnom prostoru.

kod operacije memorijska adresa

instrukcija

............

memorijska adresa

memorijska lokacijamemorijska lokacija

operand

.......

LD 4 200

Registri

R4

LD R4, @(200) ; (R4):=Mem[Mem[200]]

Procesor

200

371

371

Memorija*

- kod indirektnog memorijskog adresiranja

M*

Page 168: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

162

9.4.6 Indirektno registarsko adresiranje

Kod ove vrste adresiranja, za razliku od memorijskog indirektnog adresiranja, adresa

efektivne adrese operanda u glavnoj memoriji se nalazi u nekom registru opšte namene, a

ne u glavnoj memoriji. U primeru sa slike 9.10 za broj 3 se koristi indirektno registarsko

adresiranje.

Slika 9.10 Primer registarsko-indirektnog adresiranja (* - kod indirektno-registarskog

adresiranja)

Ova vrsta adresiranja, kao i memorijsko indirektno adresiranje, ima primenu kod

korišćenja pokazivača (pointera) u programskom jeziku C. Naime, pokazivači su

promenljive u kojima se čuva memorijska adresa promenljive, a ne njena vrednost. Da bi se

pristupilo vrednosti promenljive koristi se ovaj način adresiranja.

Prednosti ovog adresiranja u odnosu na memorijsko indirektno adresiranje je brže

izvršenje, jer postoji samo jedan pristup glavnoj memoriji.

9.4.7 Indeksno adresiranje

Kod indeksnog adresiranja efektivna adresa operanda se dobija sabiranjem konstantne

vrednosti i sadržaja registra, koji se naziva indeksni registar. Broj registra kao i vrednost

kod operacije adresa registra

instrukcija

............registar

memorijska adresa

memorijska lokacija

operand

.......

LD 4 3

Registri

R4R3

LD R4, (R3); (R4):=Mem[(R3)]

Procesor

100

100

Memorija

* - kod indirektnog registarskog adresiranja

M*

Page 169: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

163

konstante su sadržani u instrukciji. Ovaj način adresiranja se koristi u slučaju pristupa

elementima polja.

Polje podataka je niz konačnog broja podataka istog tipa – članova (elemenata) polja. Ti

podaci mogu biti celobrojnog tipa, realnog tipa, tipa karaktera, itd. Podaci su smešteni na

sukcesivnim memorijskim lokacijama i njima se pristupa pomoću celobrojnih indeksa.

Kod indeksnog adresiranja, konstantni deo instrukcije predstavlja početnu adresu polja

u memoriji, dok sadržaj indeksnog registra služi da pamti pomeraj u odnosu na početnu

adresu polja. Povećanjem ili smanjivanjem vrednosti indeksnog registra omogućava se

pristup različitim elementima polja.

Kao što se može videti sa slike 9.11, 200 je deo instrukcije koji označava početnu

adresu polja u memoriji dok vrednost u registru R1 omogućava pristup različitim

elementima polja.

Slika 9.11 Indeksno adresiranje (* - kod indeksnog adresiranja)

9.4.8 Bazno adresiranje

Kod ovog načina adresiranja efektivna adresa se dobija sabiranjem vrednosti registra

koji se naziva bazni registar i konstantne vrednosti (pomeraja). Broj registra i vrednost

pomeraja su deo instrukcije. U baznom registru se čuva memorijska adresa dok konstantna

kod operacije adresa registra

adresa

konstanta

instrukcija

.....registar

memorijska lokacija operand

+

..............

ADD 4 1200

Registri

R4

R1

ADD R4, #200, R1 ; (R4):=Mem[200+R1]

Procesor

200 a[0]

a[1]

a[i]

Memorija

+

M*

* - kod indeksnog adresiranja

Page 170: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

164

vrednost predstavlja pomeraj u odnosu na adresu u baznom registru. Jedna od primena ove

vrste adresiranja je kod pristupa elementima struktura (slogova). Struktura (slog) je tip

podataka koji se sastoji od elemenata koji mogu biti različitog tipa i kojima se pristupa na

osnovu imena. U slučaju struktura, u baznom registru se pamti adresa početka strukture, a

konstantna vrednost predstavlja pomeraj elementa strukture u odnosu na početak strukture.

9.4.9 Programski relativno adresiranje

Ovaj način adresiranja je po formatu sličan baznom adresiranju, s tim što je registar koji

se ovde koristi brojač naredbi. Efektivna adresa operanda se dobija tako što se sadržaj

brojača naredbi (adresa tekuće instrukcije) sabira sa pomerajem. Ovde je pomeraj označen

broj predstavljen u potpunom komplementu. Efektivna adresa predstavlja pomeraj u odnosu

na adresu instrukcije.

Ovaj način adresiranja se uglavnom koristi kod instrukcija grananja gde efektivna

adresa predstavlja adresu naredne instrukcije koja se dobija sabiranjem sadržaja

programskog brojača sa delom instrukcije koji predstavlja pomeraj.

Page 171: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

9 . C E N T R A L N A P R O C E S O R S K A J E D I N I C A

165

Pitanja i zadaci

1. Objasniti funkciju aritmetičko-logičke jedinice (ALU) i kontrolne jedinice (CU).

2. Ako je zatečeno stanje akumulatora 3737 heksadekadno, a sadržaj memorijske lokacije

sa simboličkom adresom M 4884 heksadekadno, odrediti sadržaj akumulatora posle

izvršenja sledećeg niza naredbi (sve konstante su heksadekadne)

AND 7373

OR M

OR 1221

3. Pretpostavimo da treba da se izdvoje središnja četiri bita u bajtu tako da se postave

nule na ostalim bitovima a da središnji bitovi zadrže vrednosti koje su imali. Koja

maska zajedno sa kojom operacijom treba da bude korišćena da bi se ovo postiglo?

Napomena: Ako su bitovi u bajtu označeni kao b7b6b5b4b3b2b1b0, središnji bitovi su

boldirani.

4. Pretpostavimo da treba da se komplementiraju središnja četiri bita u bajtu tako da ostali

bitovi zadrže vrednosti koje su imali. Koja maska zajedno sa kojom operacijom treba

da bude korišćena da bi se ovo postiglo?

5. Koja logička operacija zajedno sa kojom maskom se može iskoristiti da bi se promenio

ASCII kod malog slova u veliko slovo? Šta se može iskoristiti da bi se izvršila

promena ASCII koda velikog slova u malo slovo?

6. Za koliko bitova se treba izvršiti levo ciklično pomeranje niza od 8 bitova da bi se

dobio isti niz bitova kao pri desnom cikličnom pomeranju za 3 bita istog polaznog

niza?

7. Objasniti funkcionisanje naredbi uslovnog skoka na primeru naredbi uslovnog skoka

JZ, JNZ, JC I JNC.

8. Objasniti sličnosti i razlike između indeksnog i baznog adresiranja kod

mikroprocesora. Navesti primere upotrebe tog tipa adresiranja.

9. Objasniti pojam registarskog adresiranja kod mikroprocesora. Navesti primere

upotrebe tog tipa adresiranja.

10. Objasniti neposredno i registarko adresiranje kod mikroprocesora.

11. Objasniti prednosti i mane indirektnog memorijskog adresiranja u odnosu na direktno

memorijsko adresiranje.

12. Objasniti pojam PIPELINE-a u arhitekturi procesora

13. Čemu služi registar naredbi a čemu brojački registar?

14. Objasniti ciklus izršenja instrukcije.

Page 172: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 173: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 0 . U L A Z N O - I Z L A Z N I U R E Đ A J I

167

10 ULAZNO /IZLAZNI UREĐAJI

Ulazno-izlazni uređaji računara omogućavaju razmenu podataka sa spoljnim

okruženjem. Pod ulazom se podrazumeva proces prenošenja podataka sa ulaznog uređaja u

glavnu memoriju ili registar procesora, dok izlaz podrazumeva proces prenošenja podataka

iz glavne memorije ili registara procesora na izlazni uređaj. Ulazni i izlazni uređaji se često

nazivaju zajedničkim imenom periferni uređaji. Procesor pribavlja instrukciju i podatke iz

glavne memorije, a onda izvršava instrukciju. Ako instrukcija, na primer, nalaže izvršenje

neke matematičke operacije, odgovarajuća logička kola unutar procesora učestvuju u

izvršavanju te instrukcije smeštajući pritom vrednosti rezultata u neki od registara

procesora. Nakon toga, binarna vrednost iz registra procesora (ili iz memorije) treba da se

prenese na odgovarajući periferni uređaj izvođenjem odgovarajuće U/I aktivnosti. Prilikom

izvršenja ulazno-izlazne aktivnosti potrebno je obezbediti izbor odgovarajućeg U/I uređaja

navođenjem njegove adrese, prenos podataka od odgovarajućeg uređaja ili ka

odgovarajućem uređaju i koordinaciju rada centralnog procesora i U/I uređaja

prilikomizvođenja odgovarajuće U/I aktivnosti.

Radom U/I uređaja upravljaju kontroleri ili adapteri U/I uređaja. Kontroler može biti

integrisan u matičnu ploču, ili se može priključiti na slot na matičnoj ploči. Kontroler se

povezuje, ili na periferni uređaj u okviru sistemske jedinice, ili na port na koji će

odgovarajući periferni uređaj biti povezan. Zbog razlike u formatima i načinima kodiranja

podataka u perifernom uređaju i u računaru, kontroler izvodi konverziju formata podataka

koji karakterišu računar i onih koji karakterišu periferni uređaj. Prvobitno, svaki kontroler

je projektovan za određeni tip perfernog uređaja. Zatim su razvijeni standardi kao što su

USB i Firewire, koji omogućavaju jednom kontroleru da upravlja većim brojem perifernih

uređaja. Tako na primer, USB kontroler upravlja radom kolekcije USB-kompatibilnih

uređaja, kao što su miš, tastatura, skener, štampač, digitalna kamera, pametni telefon itd.

Svaki kontroler se povezuje na istu magistralu na koju se povezuju i procesor i glavna

memorija (slika 10.1). Na taj način on je u mogućnosti da nadgleda signale koji se šalju

između procesora i glavne memorije, kao i da ubaci svoje signale na magistralu.

Zbog raznovrsnosti u tipovima i karakteristikama U/I uređaja koji se mogu ugraditi ili

priključiti na savremene računare, u cilju upravljanja radom ovih uređaja operativnom

sistemu, podršku pruža specijalan softver nazvan drajver uređaja. Drajvere uređaja

razvijaju proizvođači uređaja za svaki OS (platformu) i osim generičkih drajvera za U/I

uređaje osnovnih karakteristika koji predstavljaju deo operativnog sistema, specijalizovani

drajveri se dobijaju zajedno sa U/I uređajem koji je ugrađen u računar. Drajver uređaja

upravlja kontrolerom (adapterom) U/I uređaja, putem čitanja i upisa u registre kontrolera

namenjenih za naredbe, podatke, status uređaja i adresu (čitanja ili upisa). Drajver uređaja

Page 174: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

168

upravlja radom U/I kontrolera, izdajući mu komande i prihvatajući rezultat izvršenja U/I

operacije.

Slika 10.1 Povezivanje kontrolera na magistralu

Postoji više načina izvršenja U/I operacija koji se razlikuju prema stepenu učešća

procesora prilikom obavljanja U/I aktivnosti:

Programirani U/I – aplikativni program poziva U/I funkciju operativnog sistema

(read, write), koja poziva drajver uređaja koji zatim aktivira U/I kontroler.

Aplikativni program i drajver izvršava procesor. Objasnićemo princip rada ove

tehnike na primeru čitanja podataka. Procesor nalaže U/I kontroleru izvršenje U/I

operacije i kad se operacija okonča, podešavaju se odgovarajući bitovi u registru

kontrolera koji se naziva statusni registar, ali se pritom procesor ne obaveštava o

tome. Zato procesor nakon izdavanja naloga kontroleru mora povremeno da

proverava da li je operacija završena. Ako je završena, procesor čita podatak iz

registra podataka kontrolera, upisuje podatak u memoriju i vraća se na sledeću

instrukciju aplikativnog programa. Problem kod ovog obavljanja U/I aktivnosti je

to što procesor mora da čeka dok U/I kontroler ne bude spreman za predaju, ili

prijem podataka. Dok čeka mora stalno da proverava status U/I uređaja. Ova

tehnika znatno narušava performanse sistema i može biti opravdana samo u

slučaju brzih uređaja, kada vreme čekanja procesora na odziv nije veliko.

Prekidima vođen U/I – aplikativni program poziva U/I funkciju operativnog

sistema (read, write), koja poziva drajver uređaja koji zatim aktivira U/I kontroler.

Drajver završava, OS za taj aplikativni program pamti trenutne vrednosti registara

procesora koji sadrže vrednosti sa njegovim tekućim izvršenjem, postavlja ga u

stanje čekanja i aktivira neki drugi program. Kada kontroler obavi U/I operaciju,

generiše prekid koji šalje procesoru. Program koji se izvršava se prekida, i

započinje izvršenje procedure za obradu prekida koja obezbeđuje završetak U/I

operacije i prenošenje zahtevanih podataka između U/I uređaja i registra

procesora, a potom između registra procesora i glavne memorije. Sada se na

osnovu zapamćenog tekućeg sadržaja registara može ponovo aktivirati program

koji je prekinut, tj. u okviru koga je izdat nalog za U/I operacijom. Kao što se

CPU

Kontroler

Kontroler Kontroler

Kontroler

CD drajv

Monitor Disk drajv

Modem

Glavna memorija

Magistrala

Page 175: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 0 . U L A Z N O - I Z L A Z N I U R E Đ A J I

169

može zaključiti, prekidima vođen U/I je efikasniji od programiranog U/I jer

eliminiše bezpotrebno čekanje procesora. Međutim, kod ovog načina imamo i

dalje trošenje mnogo procesorskog vremena jer svaki prenos podataka između

glavne memorije i U/I uređaja mora da prođe kroz procesor.

U/I korišćenjem DMA (Direct Memory Access) kontrolera – Koristi se poseban

DMA kontroler koji omogućava prenos veće količine podataka (blokova podataka)

između memorije i U/I kontrolera bez intervencije procesora. Procesor aktivira

DMA kontroler, specificirajući adresu uređaja, adresu početka područja u

memoriji koje učestvuje u prenosu podataka sa U/I uređajem, kao i broj bajtova

koje treba prebaciti u ovo područje, ili iz ovog područja u memoriju. Ove

vrednosti procesor upisuje u odgovarajuće registre DMA kontrolera, nakon čega se

upravljanje U/I prenosom prenosi upravo DMA kontroleru koji nadalje obavlja

ulogu koju je procesor imao. Za to vreme, procesor nastavlja da izvršava neki

drugi program. DMA kontroler prebacuje ceo blok podataka (reč po reč) direktno

u memoriju ili iz nje, bez prolaska kroz procesor. Nakon završenog prenosa, DMA

kontroler generiše prekid kojim obaveštava procesor da je naloženi prenos bloka

podataka okončan. Kao što se može zaključiti, procesor je uključen samo na

početku i na kraju prenosa što čini DMA prenos efikasnijim u pogledu

performansi u odnosu na prethodna dva načina prenosa.

Izdavanje

komande čitanja

kontroleru

Čitanje statusa

kontrolera

Provera

statusa

Čitanje podatka

iz kontrolera

Upis podataka u

glavnu memoriju

Završeno?

Sledeća instrukcija

Da

Ne

Nije

spreman

Spreman

CPUU/I

U/ICPU

U/ICPU

CPUMemorija

Izdavanje

komande čitanja

kontroleru

Čitanje statusa

kontrolera

Provera

statusa

Čitanje podatka

iz kontrolera

Upis podataka u

glavnu memoriju

Završeno?

Sledeća instrukcija

Da

Spreman

CPUU/I

U/ICPU

U/ICPU

CPUMemorija

Radi nešto

drugo

Prekid

Izdavanje

komande čitanja

bloka DMA

Čitanje statusa

DMA

CPUDMA

DMACPU

Prekid

Radi nešto

drugo

Sledeća instrukcija

a) b)

c)

Ne

Slika 10.2 Načini izvršenja U/I operacija a) programirani U/I b) prekidima vođen U/I c)

U/I korišćenjem DMA

Page 176: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

170

10.1 Ulazni uređaji

Ulazni uređaji služe za unošenje podataka u računar (u procesor, glavnu memoriju ili

sekundarnu memoriju). Prema načinu unošenja podataka svi ulazni uređaji se mogu svrstati

u dve grupe: uređaje za ručno unošenje (učitavanje) i uređaje za automatsko unošenje.

10.1.1 Uređaji za ručno unošenje podataka

U uređaje za ručno unošenje spadaju: miš, tastatura, tačped, trekbol, džojstik, gejmped i

drugi.

Miš je ulazni uređaj koji pretvara pokrete, kao i pritiske na tastere korisnikove ruke, u

električni signal koji šalje računaru. Računar ove signale pretvara u pokrete kursora na

ekranu ili u aktiviranje nekih događaja. Miš je pokazivački uređaj koji se rukom pokreće po

ravnoj površini. Pokreti miša po podlozi se prenose u računar i uzrokuju kretanje

pokazivača (kursora) u istom smeru na ekranu. Miš se koristi za pomeranje pokazivača na

ekranu na objekte kao što su dugme, meni, ikona, link ili tekst. Tada treba pritisnuti dugme

na mišu u cilju izvođenja akcije vezane za taj objekat.

Postoji više vrsta miševa koji se razlikuju prema tehnologiji izrade. To su mehanički,

optički i laserski miš. Mehanički miš koristi pokretnu gumenu kuglicu sa donje strane za

pomeranje pokazivača na ekranu. Pravac njenog okretanja detektuju elektromehanički

čitači koji generišu signal na osnovu koga se vrši pomeranje pokazivača na ekranu. Sa

druge strane, optički miš sadrži izvor svetlosti i optoelektrični senzor koji tokom pokretanja

miša registruje promene u odbijanju svetlosti od podloge na osnovu čega se vrši pomeranje

pokazivača na ekranu.

Miševi se na računar mogu povezati žičanim ili bežičnim putem. Ranije su se miševi

žičano povezivali na sistemsku jedinicu preko specijalnog PS/2 porta zelene boje. Danas se

proizvode miševi koji se povezuju na sistemsku jedinicu preko USB porta koji je

univerzalan i postoji na skoro svim današnjim računarima. Bežična komunikacija sa

računarom se odvija pomoću radio talasa, infracrvene svetlosti i bluetooth-a. Za bežičnu

komunikaciju miša sa računarom potrebno je obezbediti predajnik i prijemnik. Predajnik je

smešten u samom mišu i šalje signal koji nosi informaciju o pokretima i pritiscima na

tastere miša. Prijemnik je povezan sa računarom i on prihvata poslati signal i prevodi ga u

odgovarajuću akciju u računaru. Prijemnik može biti poseban uređaj koji se priključuje na

računar (obično preko USB porta), posebna kartica koju smeštamo u neki slot za proširenje

ili ugrađena komponenta računara. Bežični miševi se napajaju preko baterije. Na slici 10.3

prikazane su različite vrste miševa.

Tač ped (eng. touch pad) je mala, pravougaona pločica osetljiva na pritisak i na pokret

koja se koristi kod prenosivih računara i kod koje pomeranje prsta po njoj omogućava

kretanje pokazivača na ekranu. Ispod pločice se uglavnom nalaze i dva tastera sa istom

ulogom kao levi i desni taster miša.

Page 177: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 0 . U L A Z N O - I Z L A Z N I U R E Đ A J I

171

a) b)

Slika 10.3 a) Mehanički i optički miš b) bežični miš

Trekbol (eng. trackball) je uređaj sličan mišu, s tim što se on ne kreće po ravnoj

podlozi, već se kuglica koja se nalazi sa gornje strane uređaja okreće prstima ili šakom

čime se vrši pomeranje pokazivača. Koristi se kod laptopova. Tač ped i trekbol su prikazani

na slici 10.4.

Slika 10.4 Tač ped i trekbol

Tastatura je jedan od najvažnijih i najčešće korišćenih ulaznih uređaja i uz pomoć nje

korisnik prenosi različite vrste informacija računaru. Zajedničko za sve tastature je da

poseduju određeni skup tastera koji uvek imaju istu veličinu i oblik i služe kako za unos

teksta, brojeva i specijalnih znakova, tako i za kontrolu operacija koje računar izvršava.

Tastatura predstavlja niz tastera koji kada se pritisnu proizvode binarni kod pritisnutog

znaka. U većini slučajeva pritisak na taster uzrokuje ispisivanje znaka koji odgovara tom

binarnom kodu. Da bi se dobili neki znaci potrebno je pritisnuti i više od jednog tastera, a

nekad pritisak na taster ne uzrokuje ispisivanje znaka već uzrokuje izvršenje neke operacije.

Tasteri na tastaturi se mogu grupisati u nekoliko funkcionalnih celina. Tako, alfanumerički

deo tastature služi za ispisivanje odgovarajućih znakova, numerički deo postoji i odvojeno

jer se tastature nekad koriste za unos velikog broja brojčanih podataka i to naročito u

poslovnom okruženju, a funkcijski i kontrolni tasteri su dodati da bi se lakše pristupalo

Page 178: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

172

operativnom sistemu i aplikacijama računara. Na desktop računare se žičane tastature

priključuju preko USB porta ili preko PS/2 porta ljubičaste boje na sistemskoj jedinici.

Neke tastature se povezuju sa sistemskom jednicom bežično putem radio talasa, bluetooth-a

ili putem infracrvene svetlosti. Kao i kod miševa, za bežičnu komunikaciju tastature sa

računarom potrebno je obezbediti i predajnik i prijemnik. Kako ne poseduju fizičku

konekciju sa računarom bežične tastature moraju raditi na baterije.

Slika 10.5 Tastatura

Džojstik (eng. joystick) i gejmped (eng. gamepad) se koriste u video igrama. Džojstik

ima ručicu čije kretanje rukovodi kretanjem grafičkog objekta na ekranu. Gejmped sadrži

tablu sa tasterima koja služi za upravljanje objektima iz video igara.

Slika 10.6 Joystick i gamepad

10.1.2 Uređaji za automatsko unošenje podataka

Uređaji za automatsko unošenje podataka se mogu podeliti na uređaje sa neposrednim

unošenjem i uređaje sa posrednim unošenjem. Kod posrednog unošenja ulaznoj aktivnosti

prethodi prikupljanje podataka. Prikupljanje podataka se sastoji u zapisivanju podataka na

posebnim nosiocima, najčešće na hard disku.

Page 179: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 0 . U L A Z N O - I Z L A Z N I U R E Đ A J I

173

Kod neposrednog unošenja podaci se unose neposredno u računar. Uređaji za

automatsko neposredno unošenje čitaju podatke sa posebnih formulara, štampani tekst i

grafičke podatke. Kod obrada koje uključuju obradu velike količine podataka, obrasci mogu

služiti i kao originalni dokumenti i kao nosioci ulaznih podataka sa kojih se čitaju

automatski pomoću posebnih uređaja za čitanje.

Ovi uređaji mogu uštedeti korisniku vreme, tako što učitavaju podatke direktno sa

izvornog dokumenta koji je i originalni oblik podataka. U te uređaje spadaju optički

skeneri, optički čitači, čitači bar koda, magnetni čitači itd.

Optički skeneri vrše optičko čitanje i diskretizaciju slika i crteža pomoću optičkog

sistema za detektovanje tamnih i svetlih mesta koji čine sadržaj zapisan/nacrtan na papiru.

Ovu sliku pretvaraju u digitalni oblik i šalju u memoriju računara. Skener se sastoji od

lampe koja osvetljava papir i optičkih senzora koji reaguju na reflektovanu svetlost od

papira. Lampa se pomera duž papira (skenira ga) dok senzori prihvataju reflektovanu

svetlost i pretvaraju je u električne signale koji se šalju u računar. Slika se prikazuje na

ekranu, a zatim se posebnim programima može menjati i doterivati.

Optički čitač je uređaj koji koristi svetlosni izvor u cilju čitanja podataka, oznaka i

kodova i konvertovanja u odgovarajući digitalni oblik koji se može obrađivati u računaru.

Postoje dve tehnologije koje se koriste od strane optičkih čitača: OCR (Optical Character

Recognition) i OMR (Optical Mark Recognition). OCR podrazumeva čitanje kucanih ili na

računaru štampanih karaktera, dok OMR podrzumeva čitanje rukom pisanih oznaka kao što

su mali krugovi ili pravougaonici. Oznaka se stavlja na formu kao što su test, anketa,

upitnik i slično.

Bar kod čitač je optički čitač koji služi za dešifrovanje bar koda. Bar kod je obično niz

debljih i tanjih crnih i belih linija koji služi za šifriranje proizvoda u supermarketima i lakši

unos podataka u računar. Danas postoje i dvodimenzionalni bar kodovi kojima se može

zapamtiti više informacija nego sa jednodimenzionalnim bar kodovima.

Slika 10.7 Skener, OMR čitač i bar kod čitač

10.2 Izlazni uređaji

Izlazni rezultati koji predstavljaju rezultate obrade mogu se koristiti u sledeće svrhe:

privremeno pamćenje na mašinski čitljivim nosiocima (na primer hard disk, optički disk,

USB fleš disk), prikaz krajnjih rezultata obrade (na primer monitor) i neposredno

korišćenje.

Page 180: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

174

10.2.1 Monitori

Primarni izlazni uređaj za kućni i poslovnu upotrebu je monitor. Kada korisnik unosi

podatke, oni se prikazuju na ekranu monitora. Isto tako, rezultati rada računara, kao i

eventualne programske poruke prikazuju se na monitoru.

Monitori su godinama bili CRT (eng. Cathode Ray Tube) uređaji. Kod RGB (eng. Red

Green Blue) CRT monitora, ekran monitora je sa unutrašnje strane pokriven matricom od

više hiljada sićušnih fosfornih tačaka. Kad snop elektrona udari u neku fosfornu tačku, ona

zasvetli. Na zadnjem delu katodne cevi se nalazi elektronski top (tačnije tri topa crvene,

plave i zelene boje) koji šalje snop elektrona u pravcu pojedinih tačaka, pa se u zavisnoti od

inteziteta zraka dobija svetlija ili tamnija tačka boje na ekranu. Kombinovanjem intenziteta

crvene, plave i zelene boje dobija se bilo koja željena boja. Brzim kretanjem elektronskog

mlaza i čestim obnavljanjem njegovog prelaza preko ekrana dobija se slika. Kvalitet

prikaza slike je određen rezolucijom i brzinom osvežavanja. Rezolucija predstavlja broj

tačaka (piksela) na ekranu monitora. Obično se meri kao broj horizontalnih i vertikalnih

piksela. Brzina osvežavanja nam kazuje koliko puta se obnovi slika na ekranu u toku jedne

sekunde. Na primer, ako u oznaci monitora piše 1600x1200/68 Hz, to znači da je sposoban

da prikaže 1600*1200 piksela dok se osvežavanje vrši 68 puta u sekundi.

Danas su mnogo šire u upotrebi LCD (eng. Liquid Crystal Display) monitori. U odnosu

CRT monitore. Ovi monitori su mnogo tanji i troše mnogo manje energije. LCD monitori

umesto katodne cevi koriste male tranzistore koji pod dejstvom napona blokiraju deo

spektra svetlosti čime se određuje intenzitet i boja piksela. LCD ekrani su se prvobitno

koristili kod notebook računara i PDA (eng. Personal Digital Assistent) uređaja, dok su

nakon što im je cena smanjena postali popularni i kao desktop monitori.

Slika 10.8 CRT i LCD monitor

10.2.2 Štampači

Štampači su još jedna vrsta izlaznih uređaja. Štampač je uređaj koji podatke iz računara

prenosi (štampa) na papir ili neki drugi medijum. Pomenućemo tri vrste štampača koji se

danas najviše koriste: matrični štampači, inkdžet štampači i laserski štampači.

Page 181: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 0 . U L A Z N O - I Z L A Z N I U R E Đ A J I

175

Matrični štampač je štampač sa dodirnim mehanizmom. Glava štampača sastoji se od

iglica koje mogu da iscrtaju bilo koji znak. Glava štampača može imati različit broj iglica:

9, 18 i 24. Veći broj iglica daje kvalitetniji otisak. Iglice udaraju u papir preko trake

natopljene mastilom i na taj način se ostavlja otisak na papiru. U toku pomeranja glave

pojedine iglice izleću i tako ostavljaju otisak na papiru. Glava se pomera levo-desno i

ispisuje liniju po liniju, dok valjak štampača pomera papir naviše. Pomeranje glave i

okretanje valjka reguliše računar. Ovi štampači su spori, bučni i male rezolucije. Danas su

ređe u upotrebi u odnosu na inkdžet i laserske štampače.

Inkdžet štamapači formiraju sliku tako što glava za štampanje sadrži cevčice kroz koje

se pod pritiskom izbacuje zagrejano mastilo koje se nalazi u kertridžima. Prilikom dodira sa

papirom mastilo se hladi i stvrdnjava. Broj cevčica određuje kvalitet otiska. Ovi štampači

imaju mogućnost štampanja u crno-beloj tehnici i u boji. U odnosu na matrične štampače

ovi štampači su brži, nisu bučni i imaju bolju rezoluciju.

Laserski štampači imaju izvor laserskih zraka koji menja intenzitet u zavisnosti od

dobijenog signala. Laserski zrak se odbija od obrtnog ogledala i osvetljava fotosenzitivni

valjak koji je pokriven jednakim naelektrisanjem. Kada je valjak izložen laserskom zraku

naelektrisanje na valjku se menja. Valjak tada dolazi u kontakt sa finim crnim prahom tzv.

tonerom, što deluje na privlačenje tonera na mestima promene naelektrisanja valjka. Nakon

toga valjak dolazi u konakt sa papirom, toner se prenosi na papir i tako nastaje slika. Posle

prenošenja tonera na papir, papir sa nanesenim tonerom prolazi kroz grejače i izlaže se

visokoj temperaturi. Na taj način se prah ispeče i fiksira na papiru.

Slika 10.9 Inkdžet i laserski štampač

Kvalitet izlaza štampača se meri rezolucijom tj. brojem tačaka po inču (eng. dots per

inch - dpi) u horizonalnom i vertikalnom pravcu. Rezolucija iznosi od 300dpi do 2400dpi i

za inkdžet i za laserske štampače. Još jedna mera se koristi za poređenje štampača, a to je

broj strana u minuti tj. ppm (eng. pages per minute) koje je štampač u mogućnosti da

odštampa. Laserski štampači mogu odštampati od 6 do 15 ppm, dok inkdžet štampači mogu

odšampati 4 ppm i više za crni tekst.

Page 182: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

176

Pitanja i zadaci

1. Šta je drajver, a šta kontroler U/I uređaja? Objasniti ulogu svakog od njih u izvršenju

U/I aktivnosti.

2. Koji načini izvršenja U/I aktivnosti postoje? Opisati jedan od njih.

3. Koja je prednost prekidom vođenog U/I u odnosu na programirani U/I.

4. Koja je prednost U/I korišćenjem DMA u odnosu na prekidom vođenog U/I i

programirani U/I.

5. Šta su ulazni uređaji i kako ih možemo podeliti?

6. Koji su uređaji za ručno unošenje podataka? Objasniti detaljno način rada jednog od

njih.

7. Kojoj vrsti ulaznih uređaja pripada skener? Objasniti detaljno njegov princip rada.

8. Šta su izlazni uređaji? Navesti dve vrste izlaznih uređaja i objasniti način rada jednog

od njih?

Page 183: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

177

11 SOFTVER RAČUNARA

Softver koji se može naći na tipičnom računarskom sistemu može se podeliti u dve

generalne klase: aplikativni i sistemski softver (Slika 11.1). Aplikativni softver je softver

namenjen specifičnim potrebama korisnika za rešavanje konkretnih problema, kao što su

aplikacije za obradu teksta, tabelarne proračune, baze podataka, računarske igre, obračun

plata, arhitektonsko projektovanje, itd. Tako će računar namenjen za održavanje inventara i

resursa proizvodne kompanije sadržati drugačiji aplikativni softver od računara koji koristi

bankovni službenik ili od kućnog računara tinejdžera. Sistemski softver predstavlja softver

za upravljanje računarskim sistemom na osnovnom nivou i zajednički je za sve računarske

sisteme, nezavisno od konkretne primene računara. Sistemski softver predstavlja osnovu za

pravilno i efikasno funkcionisanje aplikativnog softvera.

Softver

Aplikativni Sistemski

UslužniOperativni

sistem

Korisnički

interfejsKernel

Slika 11.1 Klasifikacija softvera

11.1 Aplikativni softver

Danas na softverskom tržištu postoji veliki izbor aplikativnog softvera namenjenog

poslovnim, zabavnim, edukativnim i slobodnim aktivnostima i zadacima savremenog

čoveka. Aplikativni softver možemo podeliti u više kategorija u odnosu na aktivnosti i

poslove koje korisnici izvršavaju korišćenjem odgovarajućeg softvera. Neke od ovih

aktivnosti su:

Poslovne aktivnosti i zadaci,

Grafičko projektovanje i obrada multimedijalnog sadržaja,

Korišćenje Internet-a i Web-a,

Page 184: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

178

Edukativne i zabavne aktivnosti.

Poslovni softver omogućuje podršku za poslovne aktivnosti i u njega spadaju aplikacije

za kreiranje i rad sa dokumentima (obrada teksta), kreiranje prezentacija, rad sa tabelama za

unakrsna izračunavanja, planiranje i upravljanje projektima, kao i kompleksniji softver

namenjen određenom poslovnom domenu za planiranje resursa preduzeća, upravljanje

odnosom sa klijentima, upravljanje bankarskim transakcijama, vođenje poslovanja,

računarsko izdavaštvo, itd. Primeri poslovnih aplikacija su Miscoroft Word, Excel,

PowerPoint, itd.

Grafički i multimedijalni softver uključuje aplikacije za editovanje slika i fotografija,

kreiranje crteža, kreiranje multimedijalnih sadržaja, kreiranje grafikona, kreiranje i

editovanje videa, kreiranje i reprodukovanje muzičkih sadržaja, projektovanje pomoću

računara (CAD), itd. Primeri grafičkih i multimedijalnih aplikacija su CorelDraw, 3ds

Max, AutoCAD, itd.

Internet i Web softver uključuju Web pretraživače, e-mail klijente, aplikacije za

razmenu poruka, softver za dizajn Web sajtova, itd. Primeri Internet i Web softvera su

Mozilla Firefox, Skype, Adobe Dreamweaver...

Zabavni i edukativni softver uključuje računarske igre, digitalne enciklopedije, digitalne

čitače, turisticke vodiče, edukativne programe za decu, itd. Primeri ovih aplikacija su

Minecraft i Subway surfers.

11.2 Sistemski softver

Klasifikacija softvera na aplikativni i sistemski nije u potpunosti stroga, posebno zato

što proizvođači i distributeri sistemskog softvera često u svoje softverske pakete uključuju i

aplikativni softver. Tako korisnici Microsoft Windows operativnog sistema nakon

instalacije u Start meniju mogu naći programsku grupu „Accessories“ u kojoj se nalaze

aplikativni programi, poput programa Paint i Notepad, kao i sistemske (uslužne) programe

u grupi „System tools“.

U okviru klase sistemskog softvera razlikujemo dve kategorije: prvu kategoriju čini

operativni sistem, a drugu kategoriju čini uslužni softver. Uslužni softver se sastoji od

sistemskih programa koji proširuju mogućnosti i funkcionalnost operativnog sistema.

Primere uslužnog softvera predstavljaju programi za kompresovanje datoteka,

particionisanje diska, snimanje i reprodukovanje audio sadržaja ili mrežno povezivanje,

mada su u mnogim savremenim operativnim sistemima ovi programi njihov sastavni deo.

Značajan deo sistemskog softvera, nazvan još i programski sistem, čine softverski alati

za razvoj softvera. Sistemski softver predstavlja softver za upravljanje računarskim

sistemom na osnovnom nivou i zajednički je za sve računarske sisteme, nezavisno od

konkretne primene računara. Sistemski softver predstavlja osnovu za pravilno i efikasno

funkcionisanje aplikativnog softvera. Programski sistem čini softver koji obezbeđuje

podršku za razvoj sistemskog i aplikativnog softvera, kao što su: editori, prevodioci

(kompajleri) programskih jezika, linkeri, debageri, integrisana razvojna okruženja

okruženja (IDE – Integrated Development Environment), sistemi za upravljanje bazom

podataka, i generalno softverski alati za razvoj softvera (CASE - Computer Assisted

Software Engineering). Primeri programerskog softvera su Eclipse, Microsoft Visual

Studio, Xcode, itd.

Page 185: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

179

Programski prevodilac prevodi računarski program napisan u nekom programskom

jeziku (izvorni program, kôd) u program napisan u mašinskom jeziku koji senaziva objektni

program (objektni kôd). Vrste programskih prevodilaca su:

Asembleri i makroasembleri – prevode program sa asemblerskog (makroasemblerskog)

programskog jezika, pri čemu se simbolička imena i oznake zamenjuju binarnim

kodovima.

Kompajleri (kompilatori) – prevode program sa višeg programskog jezika u mašinski

kod.

Interpretatori – prevode svaku naredbu programa i odmah je izvršavaju (interpretiraju).

Povezivač (linker) je sistemski program koji integriše objektne kodove programskih

modula i modula sistemskih biblioteka i formira izvršni program (kôd) koji je u obliku

datoteke (.exe) na disku.

Sistemski program punilac (loader) prenosi izvršni program sa diska u glavnu memoriju

prilikom startovanja izvršenja programa (npr. dvostrukim klikom miša na ikonu programa)

čime se aktivira proces (task) i započinje izvršavanje mašinskih instrukcija programa.

Postupak razvoja programa korišćenjem sistemskih programa koji čine programski sistem

prikazan je na Slika 11.2.

110100101001010011

100100010100011100

101000111010101110

110011101011001101

110100101

101000111

010101110

110011101

#include <iostream.h>

int main(void)

{

int a, b;

cin >> …;

return 0;

}

Editor teksta

Kompajler

Povezivač

(linker)

Sistemska

biblioteka Objektni

program

Izvršni

program

Slika 11.2 Postupak razvoj programa korišćenjem softvera programskog sistema

Savremena integrisana razvoja okruženja (IDE), poput Microsoft Visual Studio i

Eclipse, obuhvataju sve elemente programskog sistema u jedinstveni softverski sistem, koji

uključuje i niz pratećih softverskih alata koji obezbeđuju testiranje, projektovanje, reverzno

inženjerstvo, itd.

Page 186: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

180

11.3 Operativni sistemi

Operativni sistem (OS) je softver koji upravlja radom savremenih računarskih sistema.

Operativni sistem je prvi program koji se učitava u glavnu memoriju (RAM) prilikom

startovanja računara (boot-ovanja). Programski kôd i podaci koji čine operativni sistem

ostaju rezidentni u memoriji tokom rada računara i upravljaju učitavanjem i izvršavanjem

svih ostalih programa koji se izvršavaju na računaru. Korisnici i aplikacioni programi

pristupaju komponentama računara (CPU, U/I uređajima) preko odgovarajućih interfejsa

operativnog sistema (Slika 11.3).

Korisnik

Aplikativni softver

Operativni

sistem GUI

Sistemski pozivi

Jezgro (kernel)

Konfiguracija

Registry

-------

-------

-------

Konfiguracione

datoteke

Hardver računara

Slika 11.3 Operativni sistem kao interfejs između korisnika, aplikacija i hardware-a

Operativni sistem predstavlja skup programa koji upravljaju radom hardvera i softvera

računarskog sistema. Operativni sistem obezbeđuje aplikacionim programima, poput

programa za obradu teksta ili Web pretraživača, da interaguju sa računarskim hardverom.

Operativni sistem takođe sadrži specijalni interfejs kojim omogućuje računaru interakciju

sa periferijskim (ulazno/izlaznim, U/I) uređajima. Ovi programi za interfejs sa uređajima

nazivaju se drajveri uređaja (device drivers). Na primer, kada kliknete na ikonu Print dok

radite u vašem programu za obradu teksta, ova aplikacija signalizira operativnom sistemu

da dokument treba da bude poslat na štampač. Tada operativni sistem prosleđuje drajveru

štampača podatke koji čine dokument i ovaj drajver preuzima kontrolu i upravlja

štampačem u cilju štampanja vašeg dokumenta. Operativni sistem poseduje generičke

drajvere za standardne uređaje, poput tastature i monitora, dok za specijalizovane U/I

uređaje, poput štampača, skenera, ili Web kamera, moraju biti instalirani drajveri ovih

uređaja razvijeni od strane proizvođača uređaja.

Operativni sistem predstavlja računarski program napisan manjim delom u

asemblerskom jeziku, a pretežno u višim programskim jezicima, najčešće C i C++.

Generalno se sastoji od dva dela, jezgro (kernel) kao osnovni deo operativnog sistema i

različiti sistemski programi koji služe za podršku radu i proširenje jezgra.

Page 187: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

181

Jezgro operativnog sistema predstavlja osnovu operativnog sistema. Predstavlja

relativno mali program ili skup programa koji se prvi učitavaju u glavnu memoriju i ostaju

u memoriji sve vreme dok je računar uključen. Jezgro operativnog sistema obezbeđuje

upravljanje CPU, glavnom memorijom, hard diskovima i sadrži ostale funkcije značajne za

rad računara. Program koji je zadužen za učitavanje jezgra smešten je u okviru BIOS čipa

koji se nalazi na matičnoj ploči računara. Nakon startovanja računara, instrukcije u okviru

BIOS-a izvršavaju testiranje svih komponenti u računaru (power on self-test - POST), a

zatim vrše učitavanje jezgra operativnog sistema sa boot uređaja specificiranog u okviru

CMOS RAM-a. Kada je jezgro operativnog sistema učitano u memoriju, BIOS program

prenosi upravljanje na jezgro.

Ostale komponente operativnog sistema nazivaju se sistemske komponente ili moduli.

Glavni modul je program odgovoran za interfejs prema korisnicima u vidu grafičkog

okruženja, sa prozorima, menijima, toolbar-ovima, dialog box-ovima, itd.

Deo operativnog sistema koji predstavlja interfejs prema aplikativnim i sistemskim

programima, omogućavajući ovim programima pristup i pozivanje funkcija operativnog

sistema, čine sistemski pozivi. U okviru Microsoft Windows operativnog sistema skup ovih

funkcija predstavlja Windows API (Application Programming Interface) dok je u UNIX i

Linux operativnim sistemima skup sistemskih poziva je definisan POSIX (Portable

Operating System Interface) standardom. Drugi značajni moduli su drajveri uređaja koji

obezbeđuju vezu sa U/I uređajima. Postavljanje vrednosti parametara neophodnih za rad

operativnog sistema, kao i drugih sistemskih i aplikativnih programa obavlja se u okviru

modula za konfiguraciju, korišćenjem Registry baze podataka (MS Windows) i

konfiguracionih datoteka.

Ako ste koristili računar, morali ste da koristite operativni sistem. Većina operativnih

sistema su instalirani na hard disku računara, dok se na personalnim digitalnim asistentima

(PDA), pametnim telefonima i tabletima operativni sistem nalazi na ROM čipu. Popularni

savremeni operativni sistemi su različite verzije Microsoft Windows-a (8/7/Vista/XP),

UNIX, Linux, Mac OS X, Android, iOS, itd. Ovi operativni sistemi se razlikuju u

karakteristikama računara za koji su namenjeni, arhitekturi ili specijalnim

funkcionalnostima, ali u osnovi obavljaju iste funkcije. Operativni sistem zajedno sa

računarom na kome se izvršava obično se naziva platforma i tipično je vezana za određeni

CPU. Aplikacioni softver koji se izvršava na jednoj platformi ne bi mogao da se izvršava na

drugoj bez modifikacija i rekompajliranja. Na primer, Microsoft Word aplikacija koja se

izvršava na Windows platformi ne može da se izvršava na iMac računaru kojim upravlja

OS X.

11.4 Klasifikacija operativnih sistema

Operativni sistemi mogu biti klasifikovani prema karakteristikama i upotrebi za koju su

razvijeni. Prema tipu računara na kome se izvršavaju operativni sistemi mogu biti podeljeni

na: operativne sisteme za super računare, mainframe računare, radne stanice, servere,

personalne računare (PC), ručne računare (PocketPC), pametne telefone i tablete, ugrađene

računare, pametne kartice, praktično za svaki uređaj koji poseduje CPU. Svaki operativni

sistem je razvijen za određene oblasti primene. Na primer, Microsoft Windows i Mac OS

poseduju jednostavan i bogat korisnički interfejs koji uključuje i multimedijalne

karakteristike, pa su ovi operativni sistemi pretežno namenjeni kućnoj i poslovnoj upotrebi i

Page 188: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

182

instalirani na većini desktop računara. Unix je razvijen kao stabilan, siguran,

multiprogramski i višekorisnički operativni sistem, tako da se obično instalira kao

operativni sistem na serverima i mainframe računarima. Linux poseduje razvijen GUI i

jednostavnost upotrebe karakteristične za desktop operativne sisteme, ali i sigurnost i

stabilnost UNIX serverskih operativnih sistema. Takođe, nalazi svoju upotrebu i u

pametnim telefonima i tabletima, kao jezgro popularnih mobilnih operativnih sistema poput

Android-a.

Prema broju istovremenih korisnika razlikujemo jednokorisničke (Windows) i

višekorisničke (Unix, Linux) operativne sisteme.

Prema broju programa koji mogu istovremeno da se izvršavaju operativne sisteme

možemo podeliti na monoprogramske (eng. singletasking) koji omogućuju da se u jednom

trenutku izvršava samo jedan program (DOS, Windows 3.x), i multiprogramske (eng.

multitasking) koju pružaju mogućnost izvršenja više programa u isto vreme (Windows,

Unix, Linux, Mac OS). Ovi programi se ne izvršavaju potpuno istovremeno (paralelno) na

jednoprocesorskom računaru već se svakom programu dodeljuje veoma mali vremenski

period za izvršavanje (vremenski kvant), pa se nakon isteka jednog vremenskog kvanta

aktivira sledeći program za novi vremenski kvant, i tako u krug. Korisniku računara izgleda

da se svi programi izvršavaju istovremeno, a u stvari se izvršavaju jedan po jedan

smenjujući se u kratkim vremenskim intervalima (kvazi-paralelno). Savremeni operativni

sistemi poput, Windows, Unix, Linux i Mac OS mogu da se izvršavaju na savremenim

računarskim arhitekturama koje poseduju simetrične multiprocesore i multi core procesore

na kojima operativni sistem obezbeđuje paralelno izvršenje programa.

11.5 Funkcije operativnog sistema

Iako operativni sistemi imaju različite karakteristike i namenu, izvršavaju iste osnovne

funkcije. Na primer, obezbeđuju korisnički interfejs, planiraju i upravljaju izvršenjem

programa, upravljaju memorijom, konfigurišu U/I uređaje, obezbeđuju upravljanje

datotekama i sigurnost u pristupu podacima, a takođe obezbeđuju osnovne funkcije

povezivanja u računarske mreže. Osnovne funkcije operativnog sistema mogu se

klasifikovati u tri glavne kategorije, te svaki operativni sistem:

Obezbeđuje korisnički interfejs (interfejs za interakciju korisnika sa računarom);

Upravlja resursima računarskog sistema (procesor, memorija, hard disk, U/I

uređaji, itd.);

Omogućuje aplikacionim programima interakciju sa resursima računara.

Pri upravljanju resursima možemo razlikovati sledeće funkcije operativnih sistema prema

tipu resursa:

Upravljanje procesima (upravljanje CPU),

Upravljanje memorijom,

Upravljanje U/I uređajima,

Upravljanje podacima na sekundarnim/trajnim memorijama,

Sigurnost i zaštita u pristupu resursima.

Page 189: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

183

11.6 Korisnički interfejs

Korisnički interfejs je deo operativnog sistema koji omogućava korisnicima

komunikaciju sa računarom. Operativni sistem obezbeđuje mogućnost interakcije sa

korisnikom putem ulaznih uređaja, poput miša, tastature, ekrana osetljivog na dodir,

glasovnih komandi, itd. Operativni sistem obezbeđuje izlaz uglavnom preko monitora ili

štampača. Postoje dva osnovna tipa korisničkog interfejsa: interfejs preko komandne linije i

grafički korisnički interfejs (graphical user interface – GUI). Interfejs preko komandne

linije je karakterističan za MS DOS i UNIX operativne sisteme, pri čemu korisnik

interaguje sa operativnim sistemom unošenjem tekstualnih komandi, nakon što je prikazan

odgovarajući komandni prompt (Slika 11.4a). Nakon izvršenja komande operativni sistem

prikazuje rezultat izvršenja takođe u tekstualnom (alfanumeričkom) obliku.

Slika 11.4 Microsoft Windows a) komandni prompt i b) GUI

Operativni sistemi Windows i Mac OS, kao i Linux/UNIX sa instaliranim XWindow

sistemom, koriste grafički korisnički interfejs. Korisnici interaguju putem GUI operativnog

sistema korišćenjem tastature, miša ili nekog drugog pokazivačkog uređaja klikom na

ikone, dugmiće, kroz otvaranje grafičkih prozora i selektovanje opcija iz menija (Slika

Ikona

Prozor

Desktop

Meni

Dugme

ping komanda Izvršenje

ping komande Komandni prompt

a)

b)

Taskbar

Page 190: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

184

11.4b). Iako je Windows prvenstveno grafički operativni sistem, u okviru Windows-a

takođe je moguće pristupiti komandnom promptu (u okviru Accesories programske grupe)

koji emulira MS DOS okruženje čime je omogućena kompatibilnost unazad kroz Microsoft

operativne sisteme. Određene funkcije Windows-a prilikom instalacije ili restauracije

operativnog sistema i dalje je neophodno uraditi preko komandnog prompta.

11.7 Upravljanje procesima

Operativni sistemi su odgovorni za upravljanje procesima, što obuhvata učitavanje

(load), startovanje, izvršavanje i stopiranje procesa. Proces predstavlja program u

izvršavanju. Program je skup programskih instrukcija i podataka organizovanih u obliku

izvršne datoteke na disku (.exe). Startovanjem programa u glavnu memoriju računara

(RAM) se učitavaju instrukcije programa i podaci koji se obrađuju i započinje proces

(task). Proces može startovati druge procese u cilju obavljanja zajedničke funkcije. U

Windows-u možete videti koji su procesi startovani pritiskom na kombinaciju tastera

Ctrl+Alt+Del kojom se startuje Task Manager prozor. Selektovanjem Processes tab-a se

omogućuje prikaz osnovnih informacija o trenutno startovanim procesima. Na Slika 11.5

prikazan je primer Windows Task Manager prozora.

Slika 11.5 MS Windows Task Manager

Operativni sistemi UNIX/Linux poseduju sličnu funkciju za prikaz informacija o

trenutno aktivnim procesima unošenjem komande ps i odgovarajućih parametara u

komandnoj liniji. Iako je aktivirano više procesa u suštini na jedno-procesorskom računaru

u jednom trenutku može da se izvršava samo jedan proces. Von Neumann-ova arhitetktura

Page 191: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

185

računara podržava samo serijsko izvršavanje instrukcija; tokom jednog taktnog ciklusa

samo jedna instrukcija jednog programa može biti izvršavana. Međutim, uobičajeno je da

tokom rada na računaru slušamo CD preko određenog media player programa, dok

download-ujemo datoteku sa filmom (ili programom) sa Interneta i istovremeno koristimo

program za obradu teksta da bi napisali seminarski rad. Ako bolje pogledamo prozor Task

Manager-a možemo videti da postoji mnogo više procesa koji su aktivirani, tako da nam

može izgledati kao da se svi izvršavaju istovremeno (paralelno). Međutim, računar i njegov

CPU izvršava samo jedan proces u jednom kratkom vremenskom periodu. Savremeni CPU

su sposobni za izvršavanje milijardi instrukcija u sekundi dok je u jednoj sekundi moguće

pristupiti glavnoj memoriji više miliona puta. Pošto su memorija i U/I uređaji sporiji od

CPU, CPU izvršava svaki od aktiviranih procesa vrlo kratak vremenski period (vremenski

kvant) tipično ne više od 50-100ms. Ovaj princip rada naziva se multiprogramiranje

(multitasking) i predstavlja značajnu funkciju operativnog sistema. Operativni sistem

dodeljuje mali vremenski period CPU vremena naizmenično svakom od procesa koji su

aktivirani (time slicing). Ovo smenjivanje u izvršenju procesa obavlja se vrlo brzo tako da

korisniku izgleda da se svi procesi izvršavaju istovremeno, ali u stvarnosti radi se samo o

efikasnom korišćenju vremena CPU.

Proces koji se trenutno izvršava na CPU i kome je dodeljen određeni vremenski kvant

za izvršavanje naziva se aktivni (eng. running) proces. Kada istekne vremenski kvant

dodeljen za izvršavanje tog procesa nastane vremenski prekid (eng. timer interrupt) i ovaj

proces prelazi u stanje spreman (eng. ready) čekajući da dobije novi vremenski kvant za

izvršavanje. U ovom trenutku deo operativnog sistema nazvan planer (eng. scheduler) od

svih spremnih procesa, po određenom algoritmu, bira jedan koji će se izvršavati u sledećem

vremenskom kvantu. Proces ne mora da iskoristi ceo dodeljeni vremenski kvant. Ovo se

dešava kad proces izvrši neku U/I instrukciju, na primer, čitanje podataka sa diska. Pošto su

U/I uređaji mnogo sporiji od CPU, ovaj proces se blokira i prelazi u stanje čekanja

(waiting). Kada se završi zadata U/I operacija (blok podataka sa diska je pročitan i smešten

u glavnu memoriju u adresni prostor u koji je smešten proces) U/I kontroler generiše prekid

(interrupt) koji se odgovarajućim signalom prenosi CPU. Na osnovu tipa prekida,

operativni sistem započinje izvršavanje procedure za obradu prekida (interrupt handling

routine) koja je smeštena na određenoj lokaciji u glavnoj memoriji. Krajnji efekat ove

procedure je da se do tada blokirani proces prevodi u stanje spreman, gde će čekati da ga

planer operativnog sistema izabere za izvršavanje i dodeli mu novi vremenski kvant.

Dijagram stanja procesa kao i aktivnosti koje izazivaju promenu stanja procesa prikazan je

na Slika 11.6.

Startuje se

Spreman Aktivan

Blokiran

Završen

Dobio CPU

Istekao

vremenski kvant

U/I operacija

završena

Slika 11.6 Dijagram stanja procesa

Page 192: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

186

Da bi upravljao procesima, operativni sistem u glavnoj memoriji čuva osnovne

informacije za svaki aktivni proces u stukturi podataka koja se naziva upravljački blok

procesa (PCB - Process Control Block). PCB sadrži jedinstveni identifikator procesa,

prioritet procesa, vreme kreiranja procesa, vreme izvršenja procesa, memoriju koju

zauzima, datoteke koje koristi, itd. Skup PCB-ova svih aktivnih procesa čini tabelu

procesa koja se čuva u delu memorije koju zauzima operativni sistem.

Svaki put kada se prekine proces koji se do tada izvršavao i aktivira novi proces za

naredni vremenski kvant, nastaje promena konteksta (context switch). Vrednosti registara

CPU (programski brojač, stek pointer, statusni registar, registri opšte namene, itd.), koje

sadrže vrednosti karakteristične za određenu tačku u izvršenju prekinutog procesa, smeštaju

se u njegov PCB. Prethodno zapamćene vrednosti registara procesora za proces koji je

izabran za izvršavanje u sledećem vremenskom kvantu se iz njegovog PCB smeštaju u

registre CPU tako da taj proces nastavlja izvršavanje od instrukcije koja je prekinuta kada

je proces prešao u stanje spreman (nakon isteka dodeljenog vremenskog perioda za

izvršavanje), ili u stanje čekanja (ukoliko je aktivirao neku U/I operaciju).

Planiranje procesa (CPU Scheduling) i izbor spremnog procesa koji treba da se izvršava

naredni vremenski kvant obavlja se po principima:

Kružnog toka (round robin) - Svaki proces se izvršava određeni vremenski period

i nakon isteka tog perioda vraća se u stanje spreman (ukoliko nije završen ili nije

aktivirao neku U/I operaciju), a sledeći proces po redu se aktivira, i tako u krug.

Prioritet (statički i dinamički) - Aktivira se proces najvećeg prioriteta. Statički

prioritet se ne menja tokom životnog ciklusa procesa (na primer sistemski procesi

imaju veći prioritet od korisničkih), dok je dinamički promenljiv i zavisi od

prethodne istorije izvršenja procesa. Na primer interaktivni procesi koji

odgovaraju na korisnikove akcije tipa klik mišem ili pritisak tastera, i čiji je prozor

aktivan i na vrhu svih otvorenih prozora ima viši prioritet od procesa koji

pretežno izvršavaju operacije nad podacima u glavnoj memoriji. Šta mislite zašto

je to tako?

11.8 Upravljanje memorijom

Glavna memorija (RAM) je sledeći značajan resurs računara kojim upravlja operativni

sistem. Svi procesi koji se izvršavaju na računaru moraju biti smešteni u glavnu memoriju.

Za svaki proces u memoriju se smeštaju instrukcije programa i podaci nad kojima se

izvršavaju. Kada korisnik izda komandu za izvršavanje programa (dvostruko klikne levim

tasterom miša na ikonu programa na desktopu), operativni sistem treba da programske

instrukcije i podatke smesti sa diska u slobodne lokacije u memoriji. Tokom izvršavanja

procesa operativni sistem mora konstantno upravljati zauzetom i slobodnom memorijom i

povremeno prebacivati sadržaj iz glavne memorije na disk i obrnuto. Nakon završetka

procesa operativni sistem vrši oslobađanje memorije koju je proces zauzimao. U svakom

trenutku operativni sistem održava evidenciju o slobodnim i zauzetim lokacijama u

memoriji.

Memorija se može posmatrati kao kontinualan niz bitova, pri čemu svaki bit čuva

elementarnu binarnu informaciju 0 ili 1. Kao što je u prethodnim poglavljima rečeno, osam

bitova čini bajt (byte), a više bajtova memorijsku reč (word). Svaki bajt ili reč su direktno

adresibilni i imaju jedinstvenu adresu. Memorijske adrese počinju od 0 do određene

Page 193: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

187

maksimalne adrese u zavisnosti od veličine glavne memorije. Na primer, za računar koji

ima 128 MB memorije, i kod koga je svaka reč veličine 8 B, neophodno je 24 bita za

adresiranje svake reči u memoriji. Ova stvarna adresa naziva se fizička adresa (Slika 11.7).

Slika 11.7 Glavna memorija i adresiranje memorije

Prilikom razvoja programa sve adrese u programu, na primer, u instrukcijama granjanja

i pri referenciranju podataka, predstavljaju relativne adrese počev od početka programa i

adrese 0. Prilikom pisanja programa ne znamo u koji deo glavne memorije i počev od koje

memorijske lokacije (adrese) će naš program biti smešten kada bude započeto njegovo

izvršavanje i kada njegove instrukcije i podaci budu prebačeni sa diska u glavnu memoriju.

Stoga se ove adrese nazivaju logičke adrese. Prilikom izvršavanja programa neophodno je

pre izvršenja svake instrukcije u okviru CPU obaviti prevođenje logičke u fizičku adresu

(instrukcije ili podatka). To je značajna funkcija operativnog sistema koju obavlja uz

pomoć hardverskih komponenti računara, tačnije jedinice za upravljanje memorijom

(MMU – Memory Management Unit) koja se nalazi u okviru CPU čipa ili kao posebno

integrisano kolo.

Prilikom starovanja računara (boot-ovanja) programi i podaci koji čine jezgro

operativnog sistema, kao i pomoćni sistemski programi se smeštaju u glavnu memoriju i

ostaju u njoj do stopiranja (shutdown) računara. Preostali deo memorije rezervisan je za

aplikativne programe (procese). Postoji više strategija za upravljanje memorijom od strane

operativnog sistema, počev od jednostavnih i slabo efikasnih do kompleksnijih i efikasnijih.

Osnovnu i najjednostavniju strategiju za upravljanje memorijom predstavlja

jednoprogramsko, kontinualno upravljanje memorijom. U ovoj strategiji u memoriju se

smeštaju operativni sistem i aplikativni program koji se izvršava. Memorija je podeljena u

dve particije i sadržajem graničnog registra zaštićen je pristup aplikativnog programa

memorijskom prostoru u koji je smešten operativni sistem. Logička adresa je celobrojna

vrednost relativna u odnosu na početak aplikativnog programa. Da bi se generisala fizička

adresa, logička adresa se sabira sa adresom počev od koje je smešten aplikativni program u

glavnoj memoriji (Slika 11.8).

Page 194: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

188

Operativni

sistem

Aplikativni

program

A

A+L

Logička adresa L

se prevodi u

fizičku adresu A+L

Slika 11.8 Jednoprogramsko upravljanje memorijom

Sa pojavom koncepta multiprogramiranja bilo je neophodno da se u memoriju

istovremeno smesti više programa, tačnije njihovih programskih instrukcija i podataka nad

kojima vrše obradu. Glavna memorija je u tu svrhu podeljena na delove (particije) koji

mogu biti zauzeti i slobodni. Ove partcije mogu biti fiksne (nepromenljive) veličine, tako

da se njihova početna adresa i veličina se definišu prilikom pokretanja operativnog sistema.

Takođe, partcije mogu da se formiraju dinamički tokom izvršavanja aplikativnih programa

(startovanja i stopiranja) i takve particije su varijabilne po svojoj početnoj adresi i veličini.

U tom slučaju se radi o multiprogramiranju sa promenljivim particijama. Za proces koji se

trenutno izvršava definisana je početna adresa memorijske particije u koju je smešten, kao i

njena veličina i ove vrednosti se tokom izvršavanja tog procesa čuvaju u registrima CPU.

Bazni registar sadrži početnu adresu memorijske particije u koju je smešten program, dok

granični registar sadrži vrednost veličine memorijske particije u koju je smešten ovaj

program i odgovara veličini programa u memoriji.

Ove vrednosti omogućavaju prevođenje logičke u fizičku adresu pri svakom pristupu

memoriji tokom izvršavanja tog procesa, kao i zaštitu memorijskog prostora koji zauzimaju

drugi procesi i operativni sistem (Slika 11.9).

Operativni

sistem

A

Bazni registar

Da li je:

L < duzina ?

Ako da, adresa je u

okviru memorijskog

prostora procesa 3

Ako ne, greška u

adresiranju

Proces 1

Prazno

Proces 2

Proces 3

Prazno

A

Granični registar

duzina

A+L

Slika 11.9 Multiprogramiranje sa promenljivim memorijskim particijama

Page 195: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

189

Savremeni operativni sistemi implementiraju strategiju za upravljanje memorijom

korišćenjem tehnike straničenja (paging). Svaki program (proces) koji se izvršava je

podeljen na stranice (page) fiksne veličine, uobičajeno 4KB (može biti 512B do 64KB i

više). Glavna memorija je fiktivno podeljena u stranične okvire (page frame) iste veličine.

Prilikom smeštanja instrukcija programa i podataka u glavnu memoriju stranice procesa se

smeštaju u nekontinualne stranične okvire. Da bi se obezbedilo prevođenje logičke u

fizičku adresu za svaki aktivni proces formira se tabela mapiranja stranica (PMT – Page

Map Table). Ova tabela vodi evidenciju o tome koje stranice procesa su smeštene u

odgovarajuće stranične okvire u glavnoj memoriji. Da bi se generisala fizička adresa na

osnovu tabele mapiranja stranica nalazi se broj (početna adresa) straničnog okvira u glavnoj

memoriji u koji je smeštena i na to dodaje pomeraj koji definiše adresu konkretnog bajta

(reči) u okviru stranice (Slika 11.10).

0 5

1 12

2 15

3 7

4 22

0 10

1 13

2 1

3 11

stranica okvir

stranica okvir

Glavna memorija

P2 PMT

0

1 P2 / stranica 2

2

3

4

5 P1 / stranica 0

6

7 P1 / stranica 3

8

9

10 P2 / stranica 0

11 P2 / stranica 3

12 P1 / stranica 1

13 P2 / stranica 1

14

okvir sadržaj

15 P1 / stranica 2

.

.

.

.

.

.

.

.

.

P1 PMT

Slika 11.10 Upravljanje memorijom straničenjem i korišćenje PMT

Pošto je veličina glavne memorije po pravilu manja od memorije neophodne za

smeštanje svih aktivnih programa, u savremenim operativnim sistemima uveden je koncept

virtuelne memorije. Virtuelna memorija označava strategiju u upravljanju memorijom kod

koje se koristi deo sekundarne memorije (diska) za proširenje glavne memorije. U glavnu

memoriju se smeštaju samo stranice aktivnih procesa koje su neophodne pri njihovom

tekućem izvršavanju, dok su ostale stranice privremeno, ili trajno smeštene na disku. Kada

se pri izvršavanju procesa zahteva izvršavanje instrukcije ili pristup podacima koji se

nalaze u okviru stranice procesa koja nije u glavnoj memoriji, ova stranica se sa diska

učitava u prazni stranični okvir u glavnoj memoriji. Ukoliko su svi stranični okviri

Page 196: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

190

popunjeni stranicama aktivnih procesa, po određenom algoritmu se bira stranica koja će biti

prebačena na disk ili izbrisana iz glavne memorije da bi se u njen stranični okvir smestila

zahtevana stranica procesa koji se izvršava. Postoji više strategija i politika zamene stranica

koje obavljaju izbor stranice koja treba biti zamenjena novom, po različitim kriterijumima,

ali njihov opis prevazilazi obim ove knjige.

11.9 Upravljanje U/I uređajima

Pored CPU i glavne memorije, periferijski (ulazno/izlazni) uređaji predstavljaju širok i

raznolik skup resursa kojima upravlja operativni sistem. Upravo zbog te raznovrsnosti u

tipovima i karakteristikama U/I uređaja koji se mogu ugraditi ili priključiti na savremene

računare, u cilju upravljanja radom ovih uređaja, operativnom sistemu podršku pruža

specijalan softver nazvan drajver uređaja, o čemu je bilo reči u poglavlju 10. Operativni

sistem obezbeđuje jedinstveni interfejs prema drajverima uređaja, vrši planiranje,

dodeljivanje i oslobađanje U/I uređaja, i obezbeđuje mehanizme za efikasno izvršavanje

U/I operacija (baferovanje, keširanje i spool-ovanje). Operativni sistem upućuje komande

višeg nivoa (na primer, za čitanje, upis, traženje) drajveru uređaja za upravljanje uređajem

na najnižem nivou.

11.10 Upravljanje datotekama (File system)

Sekundarne (trajne) memorije predstavljaju poseban skup U/I uređaja za trajno čuvanje

podataka kod kojih se čitanje i upis podataka obavljaju u blokovima određene veličine

(hard disk, CD ROM, DVD ROM, USB flash memorija, SD kartice, itd). Na osnovnom

nivou i ovim uređajima se upravlja pomoću drajvera uređaja koji upravlja radom disk

kontrolera, pri čemu se koristi i DMA kontroler, na način kako je to opisano u prethodnom

poglavlju. Komponenta operativnog sistema koja upravlja podacima smeštenim na ovim

uređajima naziva se sistem za upravljanje datotekama (eng. file system). Svi podaci na

trajnim memorijskim uređajima organizovani su u datoteke (eng. file) i direktorijume (eng.

folder). Datoteka predstavlja imenovanu kolekciju logički povezanih podataka koju

karakterišu atributi: ime datoteke, tip datoteke (ekstenzija), veličina, datum

kreiranja/modifikacije, prava pristupa, itd. Direktorijumi (folderi, adresari, katalozi)

predstavljaju specijalan tip datoteka koji sadrže spisak datoteka koje su u njima

evidentirane, kao i direktorijuma nižeg nivoa.

Svaki hard disk može biti podeljen u više logičkih delova – particija. U Windows

operativnom sistemu svaka particija je označena slovom, poput C:, D:, E:, itd. Svakoj

sekundarnoj memorijskoj jedinici (CD, USB flash,...) se takođe dodeljuje odgovarajuća

oznaka u vidu velikog slova abecede i znaka :. Na svakoj memorijskoj jedinici ili particiji

diska razlikujemo korenski direktorijum (eng. root) (oznaka \, npr, C:\) i poddirektorijume

(podfoldere) koji su hijerarhijski organizovani u stablo. Svaki direktorijum i datoteka u

okviru njega su jedinstveno označeni svojim imenom i putem u odnosu na korenski ili radni

direktorijum. Razlikujemo apsolutni put – definisan počev od korenskog direktorijuma,

navođenjem svih direktorijuma na „putu“ do konačne datoteke ili direktorijuma, i relativni

– počev od radnog direktorijuma, korišćenjem simbola tačke za tekući direktorijum i dve

spojene tačke (..) za direktorijum iznad u stablu direktorijuma.

Page 197: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

191

Apsolutni put: C:\Nastava\UR\Lec1.ppt

Relativni put: ..\UR\Lec1.ppt (Radni direktorijum je, na primer, C:\Nastava\Studenti )

Na ovaj način, datoteke predstavljaju krajnje čvorove u strukturi direktorijuma u vidu

stabla. Na Slika 11.11 je prikazan primer hijerarhijske strukture direktorijuma i datoteka u

obliku stabla u Windows operativnom sistemu.

Slika 11.11 Windows Explorer aplikacija za upravljanje datotekama i direktorijumima

Operativni sistem obezbeđuje operacije korišćenjem odgovarajuće sistemske aplikacije

za kreiranje i upravljanje direktorijumima (folderima) i datotekama, poput:

Particionisanje diska,

Formatiranje diska,

Kreiranje direktorijuma i datoteka (praznih),

Prikaz i listanje sadržaja direktorijuma i datoteka,

Preimenovanje direktorijuma i datoteka,

Brisanje direktorijuma i datoteka,

Kopiranje direktorijuma i datoteka,

Premeštanje direktorijuma i datoteka.

Kreiranje i editovanje datoteka obavlja se korišćenjem aplikativnih programa

namenjenih za određeni tip datoteke, na primer MS Word za .doc datoteke, MS PowerPoint

za .ppt datoteke, CorelDraw za .cdr datoteke, itd.

Page 198: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

192

11.11 Sigurnost i zaštita

Tokom rada računara na njemu se izvršavaju procesi koje je pokrenuo korisnik, ili

procesi pokrenuti od strane drugih procesa. Takođe se izvršavaju i procesi koji izvršavaju

programe koji čine operativni sistem. Osnovna uloga operativnog sistema je da zaštiti

memoriju i ostale resurse koje koristi jedan proces od pristupa i narušavanja od strane

drugog procesa. Operativni sistem služi kao menadžer resursa vodeći računa da svi procesi

startovani na računaru dobiju resurse za svoje izvršenje.

Takođe, operativni sistem vodi računa da neautorizovani korisnici ne mogu startovati

programe i pristupati podacima i uređajima na računaru za šta nemaju ovlašćenja. Jedan od

načina da se samo autorizovanim korisnicima obezbedi pristup resursima računara je

postavljanje korisničkih naloga zaštićenih lozinkom od strane sistem administratora.

Takođe, mnogi operativni sistemi omogućuju administratorima da definišu grupe korisnika

i njihove zajedničke privilegije i prava pristupa programima, podacima i uređajima

računara. Više detalja o računarskoj sigurnosti biće predstavljeno u poglavlju 14.

Page 199: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 1 . S O F T V E R R A Č U N A R A

193

Pitanja i zadaci

1. Kako se deli softver računara?

2. Šta sve uključuje sistemski softver?

3. Šta su to resursi računarskog sistema?

4. Koje su funkcije i komponente operativnog sistema?

5. Šta je proces i koja su stanja procesa?

6. Objasniti planiranje procesa i promenu konteksta.

7. Šta je to fizička, a šta logička memorijska adresa?

8. Koje su osnovne funkcije sistema za upravljanje memorijom?

9. Šta su stranice? Objasniti upravljanje memorijom korišćenjem stranica.

10. Objasniti osnovne koncepte upravljanja sekundarnom memorijom.

11. Šta je operativni sistem i koje su njegove osnovne funkcije? Navesti primer tri aktuelna

operativna sistema i na primeru jednog od njih opisati ove funkcije.

12. Koja je razlika između aplikativnog i sistemskog softvera? Navesti po tri primera ove

dve kategorije softvera.

13. Objasniti razliku između programa i procesa i dati primere programa i procesa? Opisati

i objasniti funkcije koje operativni sistem obavlja kada dva puta kliknemo mišem na

ikonu na desktop-u računara.

14. Koja komponenta OS upravlja smeštanjem i čitanjem podataka na USB flash-u? Koja

komponenta OS vodi računa da procesi višeg prioriteta dobiju prednost u izvršavanju u

odnosu na druge procese? Koja komponenta OS obezbeđuje smeštanje instrukcija i

podataka programa u RAM nakon startovanja programa?

15. Koja komponenta OS upravlja smeštanjem i čitanjem podataka na DVD-u? Koja

komponenta OS vodi računa da svi programi startovani na računaru dobiju vreme za

izvršavanje na CPU? Koja komponenta OS obezbeđuje smeštanje instrukcija i

podataka programa u RAM nakon pokretanja programa? Objasniti ukratko.

16. Koje funkcije se izvršava multiprogramski operativni sistem kada se korisnik pritisne

kombinaciju tastera Alt+Tab?

17. Kako operativni sistem obezbeđuje korišćenje glavne memorije računara (RAM) od

strane više procesa, šta smešta u glavnu memoriju za svaki proces i kako možemo da

vidimo koliko koji proces zauzima memorije?

18. Šta je multiprogramiranje? Kako operativni sistem obezbeđuje multiprogramski rad,

tako da kad se jedan proces blokira čekajući da pročita podatke sa hard diska, OS

aktivira drugi proces? Objasniti detalje.

19. Na koji način operativni sistem organizuje podatke na trajnim memorijskim

medijumima (hard disk, CD, DVD) i koje funkcije obavlja u upravljanju tim

podacima?

Page 200: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

194

20. Kad startujete MS Word da kucate seminarski rad, Firefox za download sa Interneta i

Media Player da slušate muziku sa CD-a, objasniti na koji način operativni sistem

obezbeđuje da izgleda da se svi navedeni programi izvršavaju istovremeno iako na

računaru postoji samo jedan CPU?

21. Kad želite da priključite novi U/I uređaj na vaš računar, na primer eksterni disk, šta

vam je od softvera neophodno da bi uspešno izveli ovu akciju. Opisati kako operativni

sistem obavlja čitanje podataka iz datoteke na disku kao rezultat izvršenja naredbe

readln vašeg programa u Pascalu.

Page 201: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

195

12 RAČUNARSKE MREŽE

Računarska mreža predstavlja kolekciju računarskih i računarsko-komunikacionih

uređaja povezanih međusobno radi prenosa podataka i deljenja resursa. Resursi mogu biti

hardverski kao što su: moćan CPU, veliki i brzi diskovi, štampači, kao i softverski:

aplikacije i podaci.

Veza između računara u mreži je obezbeđena bilo žičano, korišćenjem kablova različite

vrste, ili bežično, korišćenjem radio talasa ili infracrvenih signala.

Povezivanje računara u računarsku mrežu omogućuje:

Deljenje hardverskih resursa: štampača, plotera, brzih diskova velikih kapaciteta

za arhiviranje podataka, specijalizovanog hardvera, itd. (Print server, File server)

Deljenje i razmenu podataka: brza i pouzdana isporuka podataka različitih formata

- elektronska pošta, Web dokumenti, datoteke, instant poruke, itd.

Deljenje softverskih aplikacija i komponenti (Aplikacioni server).

Poboljšanu pouzdanost ukoliko više računara u mreži izvršavaju zajednički

algoritam; otkaz jednog računara u mreži se prevazilazi tako što njegovu ulogu

preuzimaju drugi računari u mreži.

Poboljšanu skalabilnost: cena mainframe ili super računara je mnogo viša od cene

nekoliko računara opšte namene koji paralelno rade na istom problemu (Cluster

računara).

Računarsku mrežu čine hardver i softver. Hardver računarske mreže predstavlja fizička

veza između dva računara uključujući mrežne kartice, modeme, kablove, rutere, mrežne

mostove itd. Komunikacioni softver računarske mreže predstavlja skup protokola koji

omogućava da aplikacije koriste komunikacioni hardver u slanju podataka kroz mrežu.

Protokol definiše format podataka koji se razmenjuju i skup pravila za komunikaciju

između različitih računarsko-komunikacionih uređaja povezanih u mrežu.

12.1 Tipovi računarskih mreža

Postoje dva osnovna modela komunikacija u računarskim mrežama, samim tim i dve

kategorije računarskih mreža (Slika 12.1):

Serverske mreže poseduju računar izdvojen kao server koji je optimizovan za

zadovoljenje zahteva klijenata i sigurnost podataka i aplikacija (file server, Web

server, aplikacioni server, mail server, itd.)

Page 202: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

196

Mreža ravnopravnih korisnika (peer-to-peer) u kojoj su svi računari ravnopravni,

funkcionišu i kao klijenti i kao serveri bez kontrole administratora.

Server

Klijent

KlijentKlijent

Klijent

Peer

Peer

a) b)

Slika 12.1 a) Server prihvata i odgvara na zahteve više klijenata, b) Računari komuniciraju

na ravnopravnim osnovama i ponašaju se i kao klijenti i kao serveri

Da bi se signal koji nosi podatke preneo od računara do računara u računarskoj mreži

neophodno je da postoji komunikacioni (prenosni) medijum. Komunikacioni medijum je

materijal koji je provodnik elektro i/ili elektromagnetnih signala (bakarna žica, optički kabl,

vazduh). Karakteristike komunikacionog medijuma su:

Propusni opseg (bandwidth) - brzina prenosa podataka u bitovima po sekundi

(bps).

Odnos signal/šum – određena proporcija snage signala i šuma.

Greška prenosa – odnos pogrešno primljenih bitova prema ukupnom broju

prenetih bitova u specifičnom vremenskom periodu.

Slabljenje signala sa rastojanjem.

Računarske mreže se mogu podeliti po oblasti koju pokrivaju na:

PAN (Personal Area Network) – mreža personalne oblasti u bliskom okruženju

korisnika.

LAN (Local Area Network) – mreža lokalne oblasti povezuje relativno mali broj

računara na lokalnom geografskom području (spratu, zgradi, kompaniji,

univerzitetu, itd.)

MAN (Metropolitan Area Network) –mreža gradskog područja povezuje više

LAN-ova na urbanom području koristeći javnu telekomunikacionu infrastrukturu.

WAN (Wide Area Network) – mreža široke oblasti povezuje dve ili više LAN,

MAN ili WAN na širokom geografskom području. Internet predstavlja primer

WAN koji obuhvata celu planetu.

Računari opremljeni mrežnim uređajima (interfejsima, karticama) mogu biti povezani u

računarsku mrežu u različitim konfiguracijama korišćenjem odgovarajućeg usmerenog

komunikacionog medijuma (kabla) uz primenu mrežnih komunikacionih uređaja za

Page 203: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

197

formiranje računarske mreže. Ove konfiguracije se nazivaju mrežne topologije. Postoje tri

osnovne topologije za povezivanje računara u mrežu tipa LAN i to (Slika 12.2):

Magistrala (bus),

Zvezda (star),

Prsten (ring).

Server PC

PC

PC

Terminator Terminator

Štampač

Hab

Topologija magistrale

Topologija prstena Topologija zvezde

Slika 12.2 LAN topologije

12.2 Komunikacioni medijumi i mrežni komunikacioni uređaji

Komunikacioni medijumi mogu biti klasifikovani u dve osnovne kategorije: usmereni i

neusmereni. Usmereni medijumi su fizički medijumi poput bakarne žice i optičkog kabla.

Neusmereni medijum predstavlja vazduh i prostor po kome se prenose elektromagnetni

signali različitih frekvencija u radio ili infracrvenom spektru.

Usmereni komunikacioni medijumi koji se koriste u današnjim računarskim mrežama

su (Slika 12.3):

Koaksijalni kabl – bakarni provodnik obavijen metalnom košuljicom, zbog

sprečavanja elektromagnetnih uticaja iz okruženja, i oklopljen plastičnim

omotačem. Oznake postojećih kablova su 10Base2 i 10Base5 (brzine prenosa do

10 Mb/s).

Page 204: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

198

Upredene parice (twisted pairs) – dva bakarna provodnika uvrnuta jedan oko

drugoga i obavijena metalnim omotačem (shielded - STP) ili bez metalnog

omotača (unshielded - UTP). Oznake ovih kablova su 10Base-T (brzine prenosa

do 10 Mb/s), 100Base-T (brzine prenosa do 100 Mb/s), 1000Base-T (brzine

prenosa do 1Gb/s).

Optički kabl (fiber optic) sa jezgrom od stakla i plastike i reflektujućim omotačem

prenosi signale u vidu svetlosnih impulsa (brzine prenosa od 100 Mb/s– 100 Gb/s).

Slika 12.3 Usmereni komunikacioni medijumi

Bežični komunikacioni medijum obezbeđuje prenos elektromagnetnih signala u

različitim frekventnim opsezima i sa različitim brzinama prenosa.

Radio talasi u nelicenciranom frekventnom opsegu 2.4 GHz i 5 GHz

o Bluetooth (opseg 10m-100m, brzina prenosa 1-3 Mb/s);

o WLAN (Wi Fi) (opseg do 100m, brzina prenosa 11Mb/s do 54Mb/s za

IEEE 802.11g standard i do 150 Mb/s za 802.11n standard uz korišćenje

jedne antene);

WiMAX (70 M/ps; 10Mb/s – 10km) – WirelessMAN;

Radio talasi u infrastrukturi mobilne (celularne) telefonije – GPRS, EDGE (384

Kb/s), UMTS (HSPA do 14.4 Mb/s), LTE (1 Gb/s);

Radio talasi u satelitskom prenosu i komunikaciji (brzina prenosa reda 1 Mb/s);

Infracrveni signali – koriste elektromagnetne talase u infracrvenom delu spektra za

prenos podataka na maloj udaljenosti između uređaja kod kojih postoji linija

vidljivosti, poput infracrvene konekcije sa štampačem, infracrvenog miša,

mobilnog telefona (brzina prenosa do 4 Mb/s).

Pored komunikacionog medijuma povezivanje računara u računarsku mrežu obezbeđuju

mrežni komunikacioni uređaji:

Optički kabl

UTP kabl

Koaksijalni kabl

spoljni izolattor bakarna mrežica izolator bakarna žica

spoljni omotač

plastični sloj

stakleno ili plastično jezgro

mreža od kevlar-a

obloga

Page 205: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

199

Kartica za interfejs sa mrežom (Network Interface Card - NIC) predstavlja karticu

u slotu za proširenja matične ploče ili kontroler na matičnoj ploči računara.

Uključuje eksterni port za priključenje mrežnog kabla (za Ethernet mrežu) ili

antene za bežičnu komunikaciju za Wireless LAN mrežu. Poseduje jedinstvenu

48-bitnu adresu (fizičku, MAC adresu) dodeljenu od strane proizvođača kartice.

Modem - uređaj koji prilikom slanja podataka vrši konvertovanje digitalnih

podataka u analogni signal radi prenosa preko analogne komunikacione linije

(telefonske mreže, kablovske mreže), dok na prijemu vrši konvertovanje

analognog signala u digitalne podatke (Modulation/DEModulation). Modulacija

digitalnog signala može biti amplitudna (AM), frekventna (FM) i fazna (PM)

(Slika 12.4).

Slika 12.4 Frekventna, apmplitudna i fazna modulacija

Modemi se koriste za povezivanje računara preko analognih komunikacionih linija

(telefonske mreže ili mreže kablovske televizije) sa računarima pružaoca Internet usluga

(ISP - Internet Service Provider) na većim udaljenostima. Modemima se obezbeđuje

formiranje WAN mreža velike brzine prenosa koje se zasnivaju na zakupljenim linijama

telekomunikacione (telefonske) kompanije, poput T1 sa brzinom prenosa oko 1.5Mb/s

(ekvivalentno sa 24 govorne linije), T3 (ekvivalentno sa 28 T1 linija), OC3 (optički kabl

ekvivalentno sa 84 T1 linija), OC12 (ekvivalentno sa 4 OC3 linije), OC48 (ekvivalentno sa

4 OC12 linija), OC192 (4 OC48 linija) i brzinama prenosa do 9.6 Gb/s, kao i OC768 sa

brzinom prenosa oko 39 Gb/s.

Mrežni komunikacioni uređaji za formiranje i proširenje računarske mreže su:

Repetitor (Repeater)

Hab (Hub - mrežni razdelnik)

Mrežni most (Bridge)

Mrežni komutator (Switch)

Mrežni prolaz (Gateway)

Ruter (Router - usmerivač, skretnica)

Frekventna modulacija (FM)

Amplitudna modulacija (AM)

Fazna modulacija (PM)

Page 206: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

200

Repetitor regeneriše i pojačava oslabljene komunikacione signale pri slanju ka drugim

segmentima mreže.

Hab (mrežni razdelnik) predstavlja specijalni tip repetitora koji se koristi za proširenje

mreže u topologiji zvezde, pri čemu ima više ulaza i više izlaza. Hab jednostavno povezuje

sve kablove koji su na njega priključeni i koji povezuju računare sa habom. Na taj način,

svaka poruka poslata sa jednog računara prosleđuje se do svih računara priključenih na hab

uz pojačanje signala koji nosi poruku.

Mrežni most (bridge) je mrežni uređaj koji povezuje dve LAN mreže i kontroliše tok

podataka, nastalim prilikom prenosa, obezbeđuje fizičko adresiranje i upravlja pristupom

fizičkom medijumu u prenosu između dva segmenta mreže koju povezuje (Slika 12.5a).

Njegove osnovne funkcije su da omogući proširenje mreže, kao i broj čvorova mreže, a

takođe i da podelom mreže u segmente smanji obim saobraćaja u svakom od segmenata

mreže i time izoluje probleme u jednom segmentu mreže od mrežnog saobraćaja u drugom

segmentu. Poslednjih godina ulogu mrežnih mostova preuzimaju mrežni komutatori.

Mrežni komutator (switch) je mrežni uređaj sličan habu koji, takođe, ima više portova

na koje se kablovima povezuju računari. Za razliku od haba, mrežni komutator prosleđuje

podatke samo na port (računar) kome su ti podaci upućeni, na osnovu adrese u zaglavlju

podataka koji se prenose. Mrežni komutator ima funkciju da poveže više kompatibilnih

mreža (Slika 12.5b). Mrežni komutator ispituje zaglavlje podataka koji se prenose i dolaze

na ulazni port komutatora i formira konekciju prema izlazu na koji je priključen računar

adresiran adresom u zaglavlju podataka (računar kome je paket namenjen). Mrežni

komutator nije pasivan uređaj poput haba jer poseduje mogućnost ispitivanja zaglavlja

podataka i određivanja adrese odredišnog računara registrovane u zaglavlju.

a) b)

Slika 12.5 Mrežni uređaji a) Repetitor ili mrežni most povezuju dve magistrale, b) mrežni

komutator povezuje više magistrala

Mrežni prolaz (Gateway) je sličan mrežnom mostu, ali ima funkciju da poveže

međusobno heterogene (nekompatibilne) mreže koje koriste različite protokole. Pri tom

mrežni prolaz vrši preformatiranje i prevođenje podataka koji prelaze iz jedne u drugu

mrežu. Na ovaj način mrežni prolaz povezuje dva mrežna segmenta koji ne koriste iste

komunikacione protokole, strukture i formate podataka, jezike i arhitekture.

Ruter povezuje nekompatibilne računarske mreže i služi za prenos podataka između

izvorišta i odredišta uz određivanje optimalnog puta (Slika 12.6). Algoritmi rutiranja koriste

Repetitor ili mrežni most

Mrežni komutator

Page 207: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

201

takozvane tabele rutiranja (eng. routing tables) sa različitim informacijama o putevima

između rutera da bi odredili put kojim će se prenositi podaci od izvornog računara do

odredišnog računara. Ruteri omogućuju formiranje mreže mreža, tzv. Internet.

Slika 12.6 Ruter povezuje više nekompatibilnih mreža

12.3 LAN tehnologije

Da bi se podaci preko mrežnog interfejsa (mrežne kartice) preneli kroz mrežu

neophodno je obezbediti pristupu komunikacionom medijumu i slanje signala koji nosi

podatak. Pošto je na računarsku mrežu generalno povezano više računara od kojih svaki

može da prima i šalje podatke nezavisno jedan od drugog, pri čemu svi dele isti

komunikacioni medijum, neophodna je primena odgovarajućih metoda za pristup

komunikacionom medijumu. Postoje dve glavne metode za pristup komunikacionom

medijumu:

Višestruki pristup zajedničkom medijumu nadgledanjem prisustva nosećeg signala

uz detekciju kolizije (CSMA/CD – Carrier Sense Multiple Access/Collision

Detection). Varijanta ove metode za bežične mreže (Bežični LAN) naziva se

(CSMA/CA – Carrier Sense Multiple Access/Collision Avoidance).

Prosleđivanje tokena.

Kod metode višestrukog pristupa zajedničkom medijumu nadgledanjem prisustva

nosećeg signala uz detekciju kolizije svaki računar na mreži proverava da li je kabl

slobodan za emitovanje signala koji nosi podatak. Kada detektuje da nema saobraćaja na

mreži, šalje podatke i za to vreme nijedan drugi računar ne može slati svoje podatke dok

poslati podaci ne stignu do odredišta. Ukoliko dođe do istovremenog slanja podataka

(sudara), oba računara prestaju sa emitovanjem podataka određeno, slučajno izabrano,

dakle različito vreme, a onda pokušavaju ponovo, pri čemu će u tom pokušaju jedan od njih

dobiti prednost.

www.elfak.ni.ac.rs

(160.99.11.201) Kućni računar

Ruter Ruter

Ruter

WiFi mreža

WiFi mreža

LAN

Page 208: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

202

Kod metode prosleđivanja tokena specijalna vrsta podatka (token) kruži prstenastom

mrežom od računara do računara. Računar koji želi da pošalje podatke mora da sačeka

slobodan token. Računar tada preuzima kontrolu nad njim i koristi ga za prenos podataka.

Dok jedan računar koristi token ostali ne mogu da komuniciraju. Kada računar završi sa

celokupnim prenosom podataka prosleđuje token sledećem računaru u prstenu i token

nastavlja kruženje do računara koji treba da pošalje podatke, pri čemu se prethodni

postupak ponavlja.

LAN mreže mogu takođe biti klasifikovane u pogledu tehnologija koje se koriste za

povezivanje računara u mrežu. Široko korišćena tehnologija koja je postala i industrijski

standard za LAN je Ethernet.

Klasični Ethernet je bio zasnovan na topologiji magistrale, ali u današnje vreme

korišćenjem mrežnih razdelnika uglavnom je formiran u topologiju „proširene” zvezde.

Danas je Ethernet najpopularnija LAN tehnologija zbog malih troškova i jednostavnosti

instaliranja i održavanja. Metoda pristupa u Ethernet mrežama je CSMA/CD. Kao mrežni

medijum koriste se koaksijalni kablovi, upredene parice i optički kablovi. Ethernet je

standardizovan u okviru standarda IEEE 802.3 i obezbeđuje brzine prenosa: 10Mb/s,

100Mb/s, 1 Gb/s(Gigabit Ethernet), 10 Gb/s i 100 Gb/s (100Gigabit Ethernet).

Druga LAN tehnologija je Token ring koja koristi topologiju prstena i kontrolu pristupa

medijumu prosleđivanjem tokena. Kao mrežni medijum koristi upredene bakarne parice.

Token ring tehnologija je standardizovana u okviru standarda IEEE 802.5. Brzine prenosa u

standardnim token ring mrežama iznose 4-16 Mb/s, dok se Fast token ring tehnologijom

omogućuju brzine prenosa do 100 Mb/s. U današnje vreme je vrlo malo zastupljena i u

potpunosti zamenjena Ethernet mrežama koje predstavljaju de facto standard u LAN.

LAN tehnologija koja je krajem prošlog veka mogla da obezbedi veće brzine prenosa

podataka od tadašnjih Ethernet tehnologija, ali uz veću cenu instaliranja i održavanja su bile

FDDI (eng. Fiber Distributed Data Interface) zasnovana na prosleđivanju tokena po

optičkom kablu koja podržava brzine prenosa podataka do 100Mb/s. Aktuelna LAN

tehnologija je i ATM (eng. Asynhronous Transfer Mode) koja omogućava brzinu prenosa

do 2.5 Gb/s.

12.4 Prenos podataka kroz računarsku mrežu

Pri prenosu podataka kroz računarsku mrežu podaci se razbijaju na manje jedinice

nazvane paketi (eng. packets). Prenos paketa se zasniva na principu komutacije paketa (eng.

packet switching). Paketi nastali podelom originalnog podatka prenose se kroz mrežu

nezavisno jedan od drugog, često i različitim putevima, te se na odredišnom računaru

spajaju u celinu.

Osnovne komponente paketa su:

Adresa izvornog računara koji šalje podatke.

Adresa odredišnog računara kojem su upućeni podaci.

Podaci koji se prenose (između 512B i 4KB).

Instrukcije kojima se mrežnim komponentama nalaže kako da proslede podatke

kroz mrežu.

Page 209: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

203

Informacije pomoću kojih se omogućuje spajanje paketa u originalnu celinu na

odredišnom računaru.

Informacije o proveri greške kojima se proverava da li su paketi stigli neoštećeni

(ciklična provera redundantosti – CRC kod).

Komponente paketa su grupisane u tri dela: zaglavlje, podaci, prateći zapis sa

komponentama za proveru greške.

Protokoli predstavljaju skup pravila koji upravljaju prenosom podataka između

mrežnih čvorova. Protokoli su implementirani u slojevitu strukturu. Svaki protokol se

zasniva na protokolu nižeg sloja i obezbeđuje podršku za protokol u sloju iznad, tako da

čine tzv. stek protokola (eng. protocol stack). Generalno, na izvornom računaru protokoli

dele podatke u manje celine, nazvane paketi, paketima dodaju informacije o adresi

odredišnog računara na mreži i pripremaju podatke za prenos kroz mrežnu karticu i dalje

kroz komunikacioni medijum.

Na odredišnom računaru protokoli sprovode isti niz koraka ali obrnutim redosledom:

preuzimaju pakete podataka sa komunikacionog medijuma i mrežne kartice, iz paketa

uklanjaju sve informacije o prenosu u okviru zaglavlja koje je dodao izvorni računar,

sklapaju podatke iz paketa u originalni podatak i prosleđuju ga aplikaciji kojoj je namenjen

taj podatak.

12.5 ISO/OSI referentni model

U cilju definisanja standarda za komunikaciju računara u računarskim mrežama

Međunardona organizacija za standardizaciju (ISO - International Organization for

Standardization) i Internacionalni telegrafski i telefonski komitet (CCITT) definisali su OSI

(Open Systems Interconnection) referentni model koji na konceptualnom nivou definiše

proces komunikacije u obliku sedam diskretnih slojeva sa specifičnim funkcijama u

komunikaciji (Slika 12.7).

7 Aplikacioni sloj Application layer

6 Sloj predstavljanja Presentation layer

5 Sloj sesije Session layer

4 Transportni sloj Transport layer

3 Mrežni sloj Network layer

2 Sloj veze Data link layer

1 Fizički sloj Physical layer

Slika 12.7 Slojevi ISO/OSI referentnog mrežnog modela

OSI predstavlja teorijski model i standard koji specificira način međusobne komunikacije

između dva računarska sistema. Svaki sloj komunicira i sarađuje sa slojevima koji su

neposredno iznad i ispod njega.

Page 210: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

204

OSI slojevi obavljaju sledeće funkcije:

Fizički sloj prenosi nestruktuirani niz bitova preko fizičkog medijuma i

obezbeđuje aktivaciju i održavanje fizičke veze (poput kabla) između računara.

Sloj veze uokviruje podatke sa višeg sloja u okvire koji uključuju zaglavlje sa

fizičkim adresama izvora i odredišta. Odgovoran je za pouzdan prenos podataka

kroz fizički sloj bez greške.

Sloj mreže je zadužen za adresiranje paketa i prevođenje logičkih adresa i imena u

fizičke adrese, određujući optimalni put paketa od izvornog do odredišnog

računara.

Transportni sloj obezbeđuje da se paketi isporučuju bez greške, prema redosledu

kako su poslati, bez gubitaka ili dupliranja. Formira virtuelnu konekciju između

izvornog i odredišnog računara i obezbeđuje kontrolu toka prenosa, obradu

grešaka i rešavanje problema u prenosu i prijemu paketa.

Sloje sesije uspostavlja, upravlja i zatvara vezu (sesiju) između aplikacija na

različitim računarima u mreži.

Sloj predstavljanja određuje format koji se koristi pri razmeni podataka između

umreženih računara i odgovoran je za prevođenje i formatiranje podataka

neophodnih aplikacionom sloju.

Aplikacioni sloj obezbeđuje interfejs i standard za komunikaciju između

aplikacija koje pristupaju računarskoj mreži i mrežnim resursima.

Slojevi nižeg nivoa, fizički i sloje veze, definišu fizički medijum mreže i srodne

poslove, kao što je način prosleđivanja bitova podataka kroz mrežne kartice (adaptere) i

kablove i implementiraju se u hardveru i softveru. Viši slojevi definišu kako aplikacije

pristupaju komunikacionim servisima i implementiraju se u potpunosti softverski. Na Slika

12.8 prikazan je tok podataka u OSI modelu.

Poruka Poruka Poruka Poruka Poruka Poruka Poruka

PH PH PH PH PH PH

SH SH SH SH SH

TH TH TH TH

NH NHNH

DH DH

Poruka Poruka Poruka Poruka Poruka Poruka Poruka

PH PH PH PH PH PH

SH SH SH SH SH

TH TH TH TH

NH NHNH

DH DH

Komunikacioni

medijum

Aplikacioni Predstavljanja Sesije Transportni Mrežni Veze Fizički

Slika 12.8 Prenos podataka kroz mrežu u okviru ISO/OSI modela (PH, SH, TH, NH,

DH – zaglavlja koja u paket dodaje odgovarajući sloj)

Page 211: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 2 . R A Č U N A R S K E M R E Ž E

205

Slojevi su međusobno razdvojeni interfejsima i svi zahtevi jednog sloja drugom sloju

prosleđuju se preko interfejsa. Prilikom slanja, svaki sloj paketu koji je dobio od sloja iznad

dodaje odgovarajuće podatke u obliku zaglavlja (header-a) kao što su format, adresa, kod

za proveru greške, itd., koje se na odredišnom računaru izdvajaju i koriste u okviru istog

sloja dok se ostatak prosleđuje sledećem sloju iznad, sve dok sloj aplikacije originalni

podatak prenosi aplikaciji koja učestvuje u komunikaciji.

Page 212: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

206

Pitanja i zadaci

1. Šta je računarska mreža i koje su koristi od računarskih mreža?

2. Koji su osnovni žičani, a koji bežični komunikacioni medijumi?

3. Koje su osnovne kategorije računarskih mreža?

4. Navesti podelu računarskih mreža prema oblasti koju pokrivaju.

5. Navesti i opisati osnovne topologije lokalnih računarskih mreža.

6. Koja su dva najznačajnija LAN standarda/tehnologije?

7. Koji su osnovni mrežni uređaji? Navesti i opisati svaki od njih.

8. Šta je mrežno čvorište (hub), a šta mrežni preklopnik (switch) i koje su njihove

funkcije?

9. Šta je mrežni most (bridge) i koja je njegova funkcija?

10. Šta je ruter i koja je njegova funkcija?

11. Šta je mrežni prolaz (gateway) i koja je njegova funkcija?

12. Šta je protokol i koje su funkcije protokola?

13. Šta su paketi i kako se vrši prenos podataka kroz mrežu?

14. Koje podatke sadrži paket?

15. Navesti i objasniti mrežne uređaje koje treba upotrebiti da bi se formirala lokalna

mreža tipa zvezde i koji protokol će biti korišćen u takvoj mreži. Ako želimo da ovu

lokalnu mrežu povežemo na Internet koji ćemo uređaj koristiti? Objasniti.

16. Ako bi ste želeli da povežete više računara u lokalnu mrežu Ethernet tipa koje mrežne

uređaje bi upotrebili i koja metoda za pristup mrežnom medijumu bi bila

implementirana u ovoj mreži? Objasniti.

17. Koje su osnovne metode pristupa mrežnom medijumu u lokalnim računarskim

mrežama i koji je najzastupljeniji metod u savremenim LAN-ovima? Kako se naziva

LAN tehnologija i standard koji koristi ovu metodu pristupa?

Page 213: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

207

13 INTERNET I WEB

Internet predstavlja kolekciju LAN i WAN mreža koje su međusobno povezane i

formiraju globalnu WAN mrežu ili mrežu svih mreža. Kada računar povežete preko

provajdera Internet usluga (eng. ISP – Internet Service Provider), ili je LAN mreža kojoj

pripada vaš računar povezana na ISP, i vaš računar postaje deo Interneta.

Internet je prvobitno nastao kao projekat ARPANET (eng. Advanced Research Projects

Network) pokrenut 1969. godine od strane Ministarstva Odbrane SAD sa čvorovima na

univerzitetima UCLA, Stanford Research, UCSB, Utah, itd. U mrežu je 1971. godine

inicijalno povezano 15 čvorova i 23 host računara. Značajne godine u razvoju Interneta

predstavljaju 1982. godina u kojoj su TCP/IP protokoli izabrani kao komunikacioni

protokoli ARPANET-a, kao i 1990. godina kada ARPANET prestaje da postoji budući da

Vlada SAD ukida zabranu komercijalne upotrebe ove mreže, čime je otvoren put nastanku

Interneta.

Internet u današnje vreme ima više od 3 milijarde korisnika. Oko milijardu računara je

povezano na ovu mrežu, pri čemu ovaj broj neprekidno raste sa sve većom popularnošću

pametnih telefona i tablet računara povezanih bežičnim celularnim mrežama na Internet.

Internet se prostire na sve države sveta i praktično ne predstavlja jednu celinu, već

kolekciju računarskih mreža različitog tipa i mehanizama komunikacije, koje su u

vlasništvu i upravljane od različitih organizacija. Na taj način je obezbeđeno da Internet

nije ničije vlasništvo i niko nema centralnu kontrolu nad celokupnim Internetom, pa samim

tim Internet ne može biti ukinut ili uništen na globalnom nivou.

13.1 Internet protokoli

Mrežni komunikacioni uređaji i komunikacioni medijumi predstavljaju samo deo onoga

što obezbeđuje funkcionisanje Interneta. Za uspostavljanje i obavljanje komunikacije

računara u računarskim mrežama neophodni su protokoli. Osnovni protokoli koji

obezbeđuju funkcionisanje Interneta je skup protokola generalno nazvanih TCP/IP protokol

stek. Prvi protokol, TCP (Transmission Control Protocol) je odgovoran za pouzdan prenos

podataka od jednog do drugog računara. On obavlja ovaj zadatak deljenjem podataka na

manje delove fiksne veličine, nazvane segmenti i uspostavljanjem virtuelne konekcije sa

odredišnim računarom u cilju prenosa paketa. TCP, takođe, upravlja sekvencijalnim

slanjem paketa i obezbeđuje ponovno slanje paketa koji su primljeni sa greškom.

Svaki segment podatka u okviru paketa je proširen zaglavljem koje sadrži informacije,

poput rednog broja paketa u sekvenci i koda u vidu kontrolne sume (eng. checksum) za

Page 214: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

208

detektovanje grešaka u prenosu paketa. Na slici 13.1 prikazano je formiranje okvira na sloju

veze, na osnovu IP paketa i TCP segmenta.

Slika 13.1 Formiranje okvira na sloju veze

U Tabela 13.1 prikazana su polja u TCP zaglavlju. Drugi protokol, UDP (User

Datagram Protocol), predstavlja alternativu TCP-a sa osnovnom razlikom da ne

uspostavlja virtuelnu konekciju, pa je samim tim manje pouzdan, ali generalno obezbeđuje

brži prenos podataka.

Tabela 13.1 Polja u TCP zaglavlju

Polje u zaglavlju (eng) Polje u zaglavlju Veličina u bitovima

Source port Izvorni port 16

Destination port Odredišni port 16

Sequence number Broj segmenta u sekvenci 32

Acknowledge (ACK) number Broj potvrde 32

Data offset Dužina zaglavlja 4

Reserved Rezervisano 6

Flags Kontrolni bitovi 6

Window Veličina dinamičkog prozora 16

Checksum Ček suma 16

Urgent pointer Pokazivač od broja u sekvenci 16

Options Opcije 32

TCP je dakle zadužen za pouzdani prenos podataka od jednog do drugog mrežnog

čvora, ali ne pruža mogućnost adresiranja paketa da bi se obezbedilo njihovo stizanje do

odredišnog računara. Ovo je zadatak Internet protokola – IP. TCP paketi se šalju softveru

IP sloja, na kome se dodaje novo zaglavlje koje sadrži adresne informacije. U Tabela 13.2

prikazana su polja u IP zaglavlju u verziji 4 protokola.

IP (Internet Protocol, IPv4) vrši adresiranje i izbor putanje paketa i upravlja rutiranjem

paketa kroz međusobno povezane mreže do njihovog konačnog odredišta. Centralnu ulogu

u funkcionisanju ovog protokola ima IP adresa izvornog i odredišnog računara. Tokom

inicijalnog razvoja Internet Protokola definisano je da svaki računar (ili uređaj) priključen

Zaglavlje okvira

Zaglavlje paketa

Zaglavlje segmenta

Podaci segmenta

Podaci paketa

Podaci okvira

Page 215: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

209

na Internet treba da ima jedinstven identifikacioni broj – adresu. Ovaj broj – adresa je 32

bitna binarnavrednost što obezbeđuje 232

(više od 4 milijarde) različitih adresa. Iako izgleda

da je to neiscrpan broj raspoloživih adresa, tokom prošle godine iscrpljene su raspoložive

IP adrese za određene regione sveta (Azija/Pacifik), a i ostala regionalna tela će ostati bez

raspoloživih IP adresa tokom ove i narednih par godina. Zbog toga je razvijena nova verzija

IP protokola, (IPv6) koja poseduje 128-bitne adrese i omogućuje 2128

mogućih adresa.

Proces prebacivanja računara i drugih mrežnih uređaja na novu verziju IPv6 je započeo i

očekuje se da će biti obavljen tokom narednih godina.

Tabela 13.2 Polja u IP zaglavlju, verziji 4

Polje u zaglavlju (eng) Polje u zaglavlju Veličina u bitovima

Version Verzija 4

Header Length Dužina zaglavlja 4

Type of service Tip servisa 8

Total length of datagram Dužina datagram-a 16

Packet identification Identifikacija paketa 16

Flags Kontrolni bitovi 4

Fragment offset Pomeraj fragmenta 12

Time to live (TTL) Vreme života 8

Protocol number Broj protokola 8

Header checksum Čeksuma zaglavlja 16

Source IP address Izvorna IP adresa 32

Destination IP address Odredišna IP adresa 32

IP options IP opcije 32

Pošto je za čoveka, sistem administratora ili programera, teško da koristi 32-bitne

binarne adrese koje koristi računarska i mrežna oprema, IP adresa je obično predstavljena

kao skup 4 decimalna broja odvojena tačkama. Tipična IP adresa u ovoj, decimalno-

tačkastoj (decimal-dot) notaciji izgleda 160.99.32.63. Svaka od dekadnih cifara u ovako

napisanoj IP adresi predstavlja dekadnu vrednost jednog bajta (okteta) u celokupnoj 32-

bitnoj adresi (Slika 13.2). To znači da svaka dekadna vrednost može biti u opsegu od 0 do

255. Globalna organizacija za održavanje i dodelu IP adresa za ceo svet je Internet

Assigned Numbers Authority (IANA). IP adrese se u stvari dodeljuju od strane regionalnih

agencija, poput ARIN (American Registry for Internet Numbers)koja pokriva Severnu

Ameriku, RIPE NCC za Evropu, Bliski istok i delove Centralne Azije, kao i već pomenuta

APNIC za region Azija/Pacifik.

Slika 13.2 IP adresa u decimalno tačkastoj notaciji

Page 216: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

210

IP adresa je ključni deo Internet protokola. Ako računar poznaje IP adresu sledećeg

računara u mreži, čvorovi mreže, od računara do rutera, pa preko sledećeg rutera do

odredišnog računara mogu da usmeravaju pakete po korektnim komunikacionim linijama.

Kao što je već napomenuto, mrežni uređaj koji obezbeđuje funkcionisanje Interneta je ruter.

Ključna karakteristika Interneta je mogućnost da IP paketi mogu biti rutirani do korektnog

odredišta po različitim putevima (rutama) u mreži. Ruter je u stvari specijalizovani računar

koji je povezan na više različitih komunikacionih linija i programiran tako da ispita paket

koji primi preko jedne linije i rutira ga na drugu komunikacionu liniju kojom se paket šalje

bliže odredištu. Ruteri, dakle koriste da povežu više različitih, moguće nekompatibilnih

mreža. Oni time omogućuju postojanje Interneta povezivanjem svih tih mreža u jednu

celinu i prosleđivanjem IP paketa ka sledećim ruterima, ili ka njihovom konačnom

odredištu (Slika 13.3)

Web serverKućni računar

A B

C D E

F G

Ruteri

Slika 13.3 Ruteri obezbeđuju više alternativnih puteva paketima do odredišta

Razmotrimo IP adresu, 160.99.11.201 koja predstavlja IP adresu Web sajta

Elektronskog fakulteta u Nišu. Ukoliko šaljemo neke podatke na ovu IP adresu sa našeg

kućnog računara, prvi paket koji napušta naš računar se šalje ruteru našeg ISP-a (npr.

Telekom ADSL). Ovaj ruter ispituje odredišnu adresu paketa u zaglavlju paketa da bi

odredio da li je ova adresa u okviru LAN mreže našeg ISP. Ukoliko jeste, on prosleđuje

paket na komunikacionu liniju do računara u okviru ISP. Pošto je paket upućen ka drugom

LAN-u koji nije u okviru ISP-a, ruter proverava svoje interne tablice i prosleđuje paket ka

drugom ruteru koji je bliži konačnom odredištu. Kada sledeći ruter dobije paket on ponavlja

isti postupak. Najpre proverava adresu da vidi da li je ona deo LAN-a na koji je ruter

povezan. Ako nije, pretražuje svoje interne tablice i prosleđuje paket sledećem ruteru koji je

još bliži konačnom odredištu. Konačno, paket se prosleđuje ruteru u okviru LAN-a

Elektronskog fakulteta. Ruter prepoznaje da je adresa u okviru LAN-a na koji je povezan i

šalje paket preko komunikacione linije ka odredišnom računaru, Web serveru Elektronskog

fakulteta. Svaki paket koji čini našu poruku se šalje na isti način, ali ne obavezno istim

putevima do odredišnog računara. Ruteri imaju sposobnost međusobne komunikacije

tokom koje dele informacije o količini mrežnog saobraćaja preko linija na koje su povezani.

Ukoliko je komunikaciona linija koju ruter koristi za prosleđivanje paketa u prekidu ili

zagušena saobraćajem, ruter šalje paket po drugoj liniji koja je takođe bliža odredišnom

računari specificiranom u IP adresi (Slika 13.4).

Page 217: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

211

Mrežni

komutatori

Ruter

Slika 13.4 Rutiranje paketa

13.2 Protokoli višeg nivoa

U prethodnom poglavlju prikazan je OSI mrežni model koji definiše 7 slojeva protokola.

Skup protokola koji se zasnivaju na TCP/IP protokolima obezbeđuju aplikacije i servise na

Internetu i po funkcijama obuhvataju tri najviša sloja OSI modela, aplikacioni, sloj

predstavljanja i sloj sesije (Slika 13.5). To su protokoli:

Simple Mail Transfer Protocol (SMTP) – protokol za slanje elektronske pošte.

File Transfer Protocol (FTP) – protokol za prenos datoteka (download i upload)

pri čemu je neophodno postojanje ftp klijenta i ftp servera.

Telnet – protokol za rad na udaljenom računaru; omogućuje prijavljivanje (logon)

na udaljeni računar (telnet server) i rad putem lokalnog telnet klijenta.

Hyper Text Transfer Protocol (http) – prenos hipertekstualnog i hipermedijalnog

sadržaja na WWW-u.

TCP i IP obezbeđuju funkcionalnost mrežnog, transportnog i delom sloja sesije.

Protokoli višeg nivoa koriste TCP/IP protokole na Internetu za obavljanje svojih specifičnih

zadataka. Poruke upućene iz aplikacije, na primer, e-mail klijenta ili Web pretraživača, se

od strane odgovarajućeg protokola višeg nivoa upućuju TCP protokolu, koji deli podatke u

pakete, dodaje TCP zaglavlja svakom paketu i prosleđuje pakete IP protokolu radi

adresiranja. IP protokol dodaje zaglavlje sa adresama paketa i šalje pakete u niže slojeve,

sloj veze i fizički sloj, radi prenosa kroz komunikacioni medijum.

Page 218: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

212

Fizički

Veze

Mrežni IP

Transportni TCP UDP

Sesije

Predstavljanja

Aplikacioni

FTP SMTP HTTP Telnet ...

Ethernet protokoli

Slika 13.5 Internet protokoli

Uprošćeni prikaz slanja paketa kroz protokole na jednom računaru/mrežnom uređaju

preko slojeva protokola na usputnim mrežnim čvorovima do odredišnog računara prikazan

je na Slika 13.6. Aplikacioni sloj na slici uključuje funkcionalnost aplikacionog,

prezentacionog i sloja sesije OSI modela.

Veze

Mrežni

Transportni

Aplikacioni

...

Veze

Mrežni

Veze

Mrežni

Veze

Mrežni

Transportni

Aplikacioni

Izvorni računar Među računari (ruteri) Odredišni računar

Slika 13.6 Prenos paketa (podataka) kroz Internet

13.3 Simboličke adrese i DNS

Bilo bi vrlo teško zapamtiti IP adrese svih računara (Web sajta, mail servera, itd.)

kojima pristupamo. Da bi se olakšalo pamćenje i korišćenje adresa računara na Internetu,

uvode se njihove simboličke adrese. Simbolička adresa računara se sastoji od naziva

domena i hosta (računara). Na primer u simboličkoj adresi gislab.elfak.ni.ac.rs, naziv

domena je elfak.ni.ac.rs, a naziv računara je gislab. U nazivu domena razlikujemo domene

Page 219: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

213

različitog nivoa. Poslednji segment naziva domena predstavlja domen najvišeg nivoa (top-

level domain -TLD). Ovi domeni mogu označavati tip organizacije, poput com, edu, gov,

net, org, info, itd. Takođe domeni najvišeg nivoa označavaju i državu u kojoj su

registrovani i predstavljaju dvoznačne kodove država, poput rs, uk, it, ru, ca, ch, gr.

Delovi simboličke adrese razdvojeni tačkama nemaju nikakve veze sa dekadnim

brojevima razdvojenim tačkama u IP adresi. Prevođenje simboličkog imena računara u IP

adresu obavlja se od strane sepcijalizovanog računara i softvera koji se naziva DNS

(Domain Name System) server. Svaki mrežni administrator domena održava katalog

simboličkih adresa i njima odgovarajućih IP adresa u okviru svog domena. Ukoliko bi

postojao samo jedan DNS server za ceo Internet, on bi vodio evidenciju o nekoliko

milijardi simboličkih/IP adresa i bio preopterećen zahtevima za prevođenjem simboličkih u

odgovarajuće IP adrese. U stvarnosti postoji na hiljade DNS servera širom sveta. Naš ISP

održava DNS server koji ne pokriva sve domene u svetu, već je odgovoran samo za

sopstveni domen.

Postoji DNS server za svaki TLD koji sadrži informacije o svim DNS serverima nižeg

nivoa koji evidentiraju pod-domene u okviru tog TLD-a. Svaka organizacija poseduje DNS

server za sopstveni domen, pa ukoliko ne može da konvertuje simboličku adresu u

odgovarajuću IP adresu prosleđuje simboličku adresu drugom DNS serveru. Na primer,

ukoliko želimo da pristupimo Web strani Elektronskog fakulteta u Nišu, unosimo

simboličku adresu www.elfak.ni.ac.rs u adresnu liniju našeg Web pretraživača. Ovim se

šalje zahtev DNS serveru našeg ISP za prevođenje ove simboličke adrese u odgovarajuću

IP adresu. Pošto je ova simbolička adresa (domen) izvan domena našeg ISP, ovaj DNS

server prosleđuje zahtev DNS serveru najvišeg nivoa (TLD) u ovom slučaju rs. DNS server

za TLD rs vraća adresu DNS servera Akademske mreže Srbije koji je odgovaran za domen

ac.rs. Zahtev se zatim upućuje ovom DNS serveru koji poseduje informacije o DNS

serverima i njihovim IP adresama u okviru pod-domena ni.ac.rs. Kao odgovor na zahtev

naš DNS upućuje zahtevDNS serveru na Elektronskom fakultetu u Nišu odgovornom za

domen elfak.ni.ac.rs. Ovaj DNS server obezbeđuje prevođenje svih simboličkih imena

računara na ovom domenu, pa i www, u odgovarajuće IP adrese, pa se konačno određuje IP

adresa 160.99.11.201 koja se vraća DNS serveru našeg ISP koji je vraća Web pretraživaču.

Kada DNS server našeg ISP jednom odredi IP adresu za određenu simboličku adresu, on je

čuva (kešira) u slučaju da uskoro bude još zahteva za istom simboličkom adresom.

13.4 Broj porta

Ukoliko više aplikacija na jednom računaru sa jednom IP adresom istovremeno

komunicira sa odgovarajućim aplikacijama na drugim računarima na Internetu, neopodno je

da protokoli na odredišnom računaru znaju kojoj aplikaciji su upućeni paketi i od koga. Da

bi se to omogućilo uveden je broj porta. U okviru TCP protokola, ili nekog drugog

protokola transportnog sloja, obezbeđena je mogućnost specificiranja jedinstvenog porta za

istu IP adresu za svaku aplikaciju posebno. Broj porta može biti specificiran i za izvorni i za

odredišni računar u okviru TCP zaglavlja (videti Tabela 13.1). Kombinacija IP adrese i

broja porta, na neki način, odgovara adresi ulice/zgrade i broju stana. Većina protokola ima

standardne brojeve porta. Standardni broj porta za HTTP protokol je 80, a za FTP je 21.

Postoji 65 636 mogućih različitih brojeva porta koji se mogu koristiti uz svaku IP adresu. U

okviru URL adrese specificiranje porta se obavlja dodavanjem dve tačke nakon simboličke

Page 220: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

214

ili IP adrese. Na primer u URL adresi: http://192.168.2.33:8080 specificira se računar sa IP

adresom 192.168.2.33 i brojem porta 8080. Samo specifične aplikacije su podešene da

„osluškuju“ na portu 8080 i da preuzmu i odgovore na IP pakete koji stignu na tu adresu. U

Tabela 13.3 prikazan je spisak uobičajeno korišćenih brojeva porta.

Tabela 13.3 TCP/IP brojevi porta koji se uobičajeno koriste

Broj porta Protokol

21 FTP (File Transfer Protocol )

23 Telnet

25 SMTP (Simple Mail Transfer Protocol)

53 DNS (Domain Name System service)

68 DHCP (Dynamic Host Control Protocol)

80 HTTP (Hypertext Transfer Protocol)

110 POP3 (Post Office Protocol version 3)

139 NetBIOS

13.5 World Wide Web

World Wide Web (WWW) ili kraće Web je sistem povezanih hipertekstualnih i

hipermedijalnih dokumenata dostupnih na Internetu. Nastao je 1990. godine, u okviru

CERN-a, evropske organizacije za nuklearna istraživanja. Razvijen je od strane Tim

Berners Lee, danas direktora World Wide Web Consortium (W3C), kao način razmene

informacija o naučnim istraživanjima.

Prvi Web pretraživači i Web editori su bili tekst-orijentisani sve do 1993. godine i

razvoja Mosaic-a kao prvog GUI Web pretraživač-a. Danas je Web jedan od

nazastupljenijih servisa Interneta, omogućivši pojavu i razvoj e-trgovine, e-poslovanja, e-

učenja, e-medicine, socijalnih mreža, itd.

Komponente koje čine Web su Web server i Web pretraživač (eng. browser). Web

server podržava HTTP protokol, poseduje IP adresu, odgovarajući softver (Web, http

server) i Web resurse: html, multimedijalne i programske datoteke. Web pretraživač

komunicira sa Web serverom putem zahteva specificiranim korišćenjem URL (Uniform

Resource Locator) koji mu upućuje korišćenjem HTTP protokola i prikazuje sadržaj resursa

koji dobija od Web servera. URL je jedinstvena adresa resursa (datoteke) na Internetu/Web-

u. Popularni Web pretraživači danas su Mozilla Firefox, Google Chrome, MS Internet

Exlorer, Opera iSafari.

Opšti oblik URL je:

Protokol://Naziv_računara.Naziv_domena/Put/Naziv-resursa

Page 221: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

215

Primer URL kojim se u okviru Web pretraživaća zahteva prikaz sadržaja sa spiskom

studenata izgleda ovako:

http://cs.elfak.ni.ac.rs/II_godina/spisak_studenata.html

gde su:

cs - naziv računara (hosta)

elfak.ni.ac.rs - naziv domena

II_godina - folder (sekvenca foldera koji predstavljaju put do resursa)

spisak_studenata.html - naziv resursa – datoteke u html formatu

Princip funkcionisanja Web-a je sledeći (Slika 13.7). U adresnoj liniji Web pretraživača

specificira se URL adresa Web resursa (html datoteke) koji se zahteva. Najpre se URL šalje

lokalnom DNS serveru koji postupkom opisanim u poglavlju 13.3 određuje IP adresu koja

odgovara domenu i nazivu računara u URL-u. Na osnovu dobijene IP adrese Web servera,

Web pretraživač upućuje zahtev se preko HTTP protokola na tu IP adresu. Web server

zahtevani resurs (HTML datoteku) kao i povezane datoteke sa slikama, multimedijalnim

sadržajem, programima, itd. šalje Web pretraživaču koji interpretira primljeni sadržaj i

prikazuje ga korisniku.

URL

Lokalni računar

(Web klijent) Web server

HTTP zahtev

Tekst, slike,

podaci, video,...

Slika 13.7 Princip funkcionisanja Web-a

Web stranice su uglavnom tekstualne datoteke koje su kreirane korišćenjem jezika

nazvanog HTML (Hypertext Markup Language). Primarni elementi HTML jezika su

oznake, ili tagovi (tags) koji se ubacuju u dokument da bi se na poseban način označili

delovi podataka u dokumentu i da bi omogućili Web pretraživaču da na odgovarajući način

prikaže sadržaj Web strane. Tagovi su reči ograđene uglastim zagradama (<. . .>). Tako reči

poput HEAD, TITLE, i BODY definišu tagove i specificiraju elemente koje uokviruju.

Tagovi se obično koriste u parovima, tako da ukoliko je početna oznaka, na primer,

<BODY> odgovarajuća krajnja oznaka je sa znakom / ispred naziva taga, poput </BODY>.

Web pretraživač određuje na koji način će Web strana biti prikazana u zavisnosti od tagova

koji uokviruju sadržaje u dokumentu.

Neki najuobičajeniji HTML tagovi su:

<HTML></HTML> - uokviruje HTMl dokument

Page 222: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

216

<HEAD></HEAD> - definiše zaglavlje dokumenta

<TITLE></TITLE> - naslov Web dokumenta

<BODY></BODY> - sadržaj dokumenta koji se prikazuje u Web pretraživaču

<BR> - prelazak u novu liniju

<P></P> - definisanje paragrafa

<FONT></FONT> - specificira font za tekst između tagova

<A></A> - specificira link na drugu Web stranicu

<IMG> - omogućuje uključenje slike u dokument

<FORM></FORM> - definiše formu za unos podataka na Web strani

<INPUT> - specificira elemente za unos podataka u okviru forme

<TABLE></TABLE> - definiše tabelarne podatke

<TR></TR> - unutar tabele definiše vrste

<TD></TD> - unutar vrsta definiše kolone

Broj definisanih HTML tagova je veliki i prikaz i objašnjenje svih HTML tagova

prevazilazi obim ove knjige. Primer HTML dokumenta za jednostavnu Web stranu

prikazan je na Slika 13.8.

Slika 13.8 Primer HTML sadržaja jednostavne Web strane

Ovaj HTML dokument i tagovi u njemu se interpretiraju od strane Web pretraživača i

njegov sadržaj se prikazuje kao na Slika 13.9.

Page 223: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

217

Slika 13.9 Jednostavna Web strana prikazana u okviru Web pretraživača

Najznačajniji apsekt Web-a i HTML-a je mogućnost umetanja hiperlinkova u okviru

jedne Web strane koji predstavljaju poseban element te Web strane (tekst, sliku, itd.) koji

upućuje na druge Web strane. Za tu svrhu se koriste HTML tagovi <A> i </A>. Format

hiperlinka u okviru Web strane je prikazan na Slika 13.10, a Web strana prikazana u okviru

Web pretraživača je prikazana na Slika 13.11. Ukoliko korisnik klikne na neki od

hiperlinkova, pristupiće se URL-u pridruženom tom hiperlinku i dogovarajući resurs će biti

prikazan u okviru Web pretraživača.

Slika 13.10 Korišćenje <A> taga za specificiranje hiperlinkova u okviru Web strane

Slika 13.11 Prikaz strane sa hiperlinkovima u Web pretraživaču

Page 224: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

218

13.6 Dinamičke Web strane

Kada je HTML razvijen nije postojala mogućnost interakcije korisnika sa sadržajem

prikazanim u okviru Web strana. HTML strane su bile statičke i njihov sadržaj i izgled se

nije menjao između sukscesivnih zahteva korisnika. Da bi se informacije na Web stranama

učinile dinamičkim, tj. da bi njihov sadržaj i prikaz bio različit pri svakom pristupu u skladu

sa parametrima zahteva, neophodna je primena programskih tehnologija. Web pretraživači

omogućavaju dinamičke Web strane u obliku DHTML (Dynamic HTML). DHTML

obezbeđuje animacije u okviru Web strane kao i interakciju korisnika za sadržajem Web

strane.

Ovo su omogućile programske tehnologije implementirane u okviru Web pretraživača,

poput script jezika (JavaScript, VBScript), Java apleta, ActiveX kontrola, Macromedia

Flash sadržaja, itd. Ovi skript jezici i tehnologije omogućuje da se uključi programski kod u

okviru Web strane koji se izvršava usled korisnikove interakcije sa prikazom Web strane,

poput unosa teksta ili klika mišem. Web strane su i dalje statičke u smislu da se ne menjaju

između dva zahteva, ali kad su prikazane u okviru Web pretraživača mogu se menjati kao

odvogor na različite događaje ili akcije pokrenute od strane korisnika.

Dinamičko kreiranje Web strana obezbeđuje da se strane kreiraju u trenutku kada im se

pristupa. Obično se sadržaj Web strane formira na osnovu podataka iz baza podataka ili

datoteka na Web serveru, kao i podataka sa drugih Web servera. Ovo omogućavaju

programske tehnologije za razvoj softvera koji se izvršava na Web serveru, poput: CGI,

ASP, ASP.NET, JSP, Java servleti, PHP, Python, itd. Programi razvijeni korišćenjem ovih

tehnologija postavljaju se na Web serveru. Kada im se pristupi zahtevom preko HTTP-a

navođenjem URL-a u okviru pretraživača, ovi programi se izvršavaju i dinamički kreiraju

HTML ili DHTML Web strane koje vraćaju Web pretraživačima.

13.7 Standardizacija WWW

W3C je međunarodna organizacija koja razvija WWW standarde (http://www.w3c.org).

HTML ima predefinisan skup tagova i svaki tag ima unapred određeno značenje, uglavnom

vezano za način prikazivanja podataka koje uokviruje u Web pretraživaču. Nove Web

tehnologije se zasnivaju na XML (Extensible Markup Language). XML je metajezik koji

omogućava kreiranje novih markup jezika, tako da kreator dokumenta može definisati

sopstveni skup oznaka (tagova) i njima opisati sopstveni dokument, tačnije njegov sadržaj.

XML se uglavnom koristi za transfer podataka. Na Slika 13.12 prikazan je jednostavan

XML dokument sa deifinisanim tagovima koji označavaju sadržaj koji uokviruju.

Page 225: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

219

Slika 13.12 Primer XML dokumenta

XHTML je HTML opisan korišćenjem XML. XML predstavlja skup tehnologija, od

kojih su najbitnije:

XML Schema (XSD) jezik omogućava definisanje tagova i šeme dokumenta.

XSL (Extensible Stylesheet Language) – jezik koji omogućava definisanje

transformacije iz jednog u drugi XML format.

DOM – za predstavljanje strukture i obezbeđenje programskog pristupa elementima

i atributima XML dokumenta.

Page 226: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

220

Pitanja i zadaci

1. Šta je Internet, i na kojim protokolima se zasniva?

2. Šta je protokol i koje su osnovne funkcije protokola? Navesti bar tri primera protokola,

jednog na transportnom, jednog na mrežnom i jednog na aplikacionom sloju ISO/OSI

referentnog modela.

3. Šta je paket u računarskim mrežama i koje podatke sadrži? Navesti i ukratko objasniti

funkcionalnost Internet protokola koji vrši rutiranje paketa kroz mrežu.

4. Koji protokol u steku Internet protokola je zadužen za podelu podataka u pakete, radi

slanja kroz mrežu i spajanje paketa u originalni podatak na računaru kome su podaci

upućeni?

5. Objasniti način kako paket upućen sa jednog računara na mreži može stići do drugog

računara na mreži? Koji protokol u steku protokola je zadužen za to?

6. Šta je TCP i na kom sloju ISO/OSI referentnog modela funkcioniše?

7. Šta je UDP i na kom sloju ISO/OSI referentnog modela funkcioniše?

8. Šta je IP i na kom sloju ISO/OSI referentnog modela funkcioniše?

9. Navesti protokole na višim slojevima ISO/OSI referentnog modela?

10. Navesti jedan protokol mrežnog sloja, jedan protokol transportnog sloja i bar tri

protokola aplikacionog sloja, kao i njihove osnovne funkcije.

11. Šta je IP adresa i kom sloju ISO/OSI referentnog modela se koristi?

12. Šta je simbolička adresa računara na mreži?

13. Kako se vrši prevođenje simboličke u IP adresu?

14. Šta je DNS server?

15. Šta je Web i koje su komponente Web-a?

16. Šta je Web server, a šta Web klijent?

17. Objasniti format URL.

18. Opisati korake u pristupu Web sajtu.

19. Šta je HTML i koji su njegovi osnovni elementi?

20. Šta se koristi za postizanje dinamike Web stranice u Web pretraživaču i interakciju

korisnika sa sadržajem Web stranice?

21. Kako se postiže dinamičko kreiranje Web stranica na osnovu zahteva klijenta?

22. Šta je XML i za šta se koristi?

23. Napisati URL adresu Web stranice ispit.htm koja se nalazi na folderu UR, na Web

serveru nastava na domenu Elektronskog fakulteta u Nišu. Objasniti šta se dešava kada

u Web pretraživaču (browser) unesete ovu adresu i pritisnete taster Enter.

Page 227: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 3 . I N T E R N E T I W E B

221

24. Šta je IP adresa, a šta simbolička adresa? Navesti IP adresu računara čija adresa u

decimalno-tačkastoj notaciji iznosi 160.99.32.64..

25. Navesti i opisati načine za kreiranje HTML dokumenta (koji programi i na koji način

mogu kreirati HTML), i kako se taj HTML dokument prikazuje u pogodnom za

korisnika (kojim programom).

26. Kako se vrši prevođenje simboličke Internet adrese u IP adresu? Objasniti na primeru

simboličke adrese galeb.trezor.co.rs, koja se prevodi u IP adresu zapisanu u decimalno-

tačkastoj notaciji125.77.12.215.

27. Šta čini URL adresu resursa na Internetu i za šta ova adresa služi? Ako želite da

download-ujete datoteku slike.zip, sa foldera putovanje, sa file servera elektronskog

fakulteta u Nišu sa IP adresom 160.99.12.213, korišćenjem protokola za transfer

datoteka (ftp), kako bi ste napisali URL u Web pretraživaču? Objasniti.

28. Koja je funkcija softvera Web servera, a koja Web pretraživača i kako se u Web

pretraživaču specificira traženi resurs na serveru? Objasniti na primeru zahteva za

dobijanje datoteke rodjendan.gif sa foldera slike na računaru my_pc koji se nalazi na

domenu Elektronskog fakulteta u Nišu.

29. Napisati URL adresu Web stranice ispit.htm koja se nalazi na folderu UR, na Web

serveru nastava na domenu Elektronskog fakulteta u Nišu. Objasniti šta se dešava kada

u Web pretraživaču (browser-u) unesete ovu adresu i pritisnete taster Enter.

Page 228: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 229: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 4 . S I G U R N O S T

223

14 RAČUNARSKA S IGURNOST

U današnje vreme, kada sve poslovne i sve veći broj privatnih aktivnosti obavljamo

korišćenjem računara, računarska sigurnost dobija sve više na značaju. Kompanije na

računarima čuvaju sve važne informacije za svoje poslovanje: tehničke (novi dizajn čipa ili

softver), komercijalne (marketinške planove), finansijske (strategije poslovnog razvoja) ili

pravne prirode (dokumente o potencijalnom preuzimanju). Na kućnim računarima takođe

su smeštene vredne informacije za njihove vlasnike: podaci o personalnim finansijama,

plaćanju računa i poreza, značajne prepiske putem e-maila, porodične fotografije i video

snimci. Kako je sve više i više ovih informacija smešteno na računarima, sve je značajnija

potreba za njihovom zaštitom i sigurnošću.

Mnoga preduzeća memorišu i, putem Interneta, šalju informacije tehničke prirode, ili

podatke o svojim kupcima i dobavljačima, čija je poverljivost od najveće važnosti za

njihovo poslovanje. Ilegalan pristup takvim informacijama može prouzrokovati značajne

finansijske gubitke ili štete druge vrste takvoj kompaniji. Takođe, elektronski servisi koje

kompanija obezbeđuje klijentima, ili drugim kompanijama, mogu biti nedostupni u dužem

vremenskom periodu, ili u periodu značajnom za obavljanje konkretnog posla, zbog napada

na sistem od strane zlonamernih osoba, ili zbog izazvanih otkaza sistema. Posledice takvih

događaja (finansijske prirode ili druge vrste) mogu biti katastrofalne za jednu kompaniju.

Takva kompanija može pretrpeti značajne gubitke zbog lošeg iskustva svojih klijenata, ili

zbog negativnog publiciteta koji su posledica napada na njegov računarski i informacioni

sistem. Takođe krađa poverljivih podataka (dokumenata, prepiski, fotografija) sa računara

može značajno da naruši ugled korisnika računara i nanese mu materijalnu i duševnu štetu.

14.1 Pretnje računarskoj sigurnosti

Sve pretnje za sigurnost računara, a posebno sigurnost informacija sačuvanih na

računaru, mogu se klasifikovati kao:

Pristup informacijama od strane neovlašćene osobe;

Neovlašćena promena i falsifikovanje informacija;

Brisanje i uništavanje informacija;

Nedostupnost informacija i servisa i nemogućnost pristupa od strane ovlašćene osobe;

Poricanje obavljene štetne akcije nad informacijama.

Page 230: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

224

U skladu sa pretnjama i izazovima sigurnosti računarskh sistema, neophodno je razviti

metode i tehnologije računarske sigurnosti. U okviru NIST Computer Security Handbook5,

računarska sigurnost je definisana kao zaštita obezbeđena u okviru računarskih i

informacionih sistema u cilju postizanja integriteta, dostupnosti i poverljivosti resursa

računarskog i informacionog sistema, što uključuje hardver, softver, firmware,

informacije/podatke i komunikacije. Dakle osnovni ciljevi računarske sigurnosti su:

Poverljivost (eng. confidentiality) – uključuje poverljivost podataka i privatnost

korisnika i predstavlja zaštitu od otkrivanja tajnih i privatnih informacija/podataka od

strane neovlašćenih lica.

Integritet (eng. integrity) – obezbeđuje integritet podataka i programa, sprečavajući

neovlašćeno generisanje, promenu i uništenje podataka i programa. Integritet sistema

obezbeđuje da sistem obavlja sve svoje predviđene funkcije bez mogućnosti namerne

ili nenamerne, neovlašćene manipulacije sistemom.

Raspoloživost (dostupnost, eng. availability) – obezbeđenje da ovlašćeni korisnici

imaju pristup informacijama/podacima i funkcijama sistema u svakom trenutku, kad

god je potrebno.

Da bi računarski i informacioni sistem bili u potupnosti sigurni, definisana su i dva

dodatna cilja koji proširuju računarsku sigurnost:

Autentikacija (eng. authenticity) – obezbeđuje da se uvek poznaje identitet osobe koja

pristupa informacijama i servisima i da je korisnik sistema upravo taj za koga se izdaje. Odgovornost (eng. accountability) – sigurnosni cilj koji zahteva postojanje evidencije

u računarskom sistemu o aktivnostima konkretnog korisnika, tako da korisnik ne može

poreći aktivnosti u pristupu informacijama i servisima, niti uništiti dokaze o tim

aktivnostima.

Postoji mnogo načina narušavanja sigurnosti računara, softvera i informacija koji se na

njemu nalaze. Mnogi od njih se zasnivaju na korišćenju zlonamernog softvera (eng.

malicious software – malware). Ovaj softver se uglavnom prenosi na računar putem

računarske mreže, ili eksterne memorije i na njemu se izvršava. Eventualno ovaj softver se

može izvršavati na udaljenom račnaru i time uzrokovati svoje štetno delovanje na lokalnom

računaru. Primeri softvera koji se prenose na napadnut računar su virusi, crvi (eng. worms),

trojanski konji (eng. trojan horses), špijunski softver (eng. spyware), itd.

Računarski virus je softver koji „inficira“ računar tako što se priključuje nekoj

izvršnoj datoteci na računaru. Računarski virus se sistematski prenosi sa datoteke na

datoteku putem inficiranog memorijskog medijuma (CD, DVD, USB Flash), startovanjem

inficiranog programa ili otvaranjem inficirane datoteke u okviru programa. Zaražene

datoteke se daleko brže prenose računarskim mrežama, Internetom i e-mailom. Kada se

program „domaćin“ izvršava, takođe se izvršava i virus. Pri izvršavanju, mnogi virusi samo

pokušavaju da se „prikače“ na druge programe na računaru. Ali, većina njih pokreće i

izvršava neke štetne aktivnosti na računarskom sistemu, poput oštećenja dela operativnog

sistema, brisanja velikih delova sekundarne memorije ili oštećenja podataka, ili drugih

programa.

Crv je autonomni program koji se prenosi preko računarske mreže, smeštajući se na

određeni računar i šaljući sopstvene kopije na druge računare. Kao i u slučaju virusa, crv

5 http://csrc.nist.gov/publications/nistpubs/800-12/handbook.pdf

Page 231: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 4 . S I G U R N O S T

225

može biti implementiran samo da replicira samog sebe, ili da izvrši mnogo štetniju

aktivnost. Karakteristična posledica izvršavanja crva je „eksplozija“ njegovih replika što

degradira performanse ostalih aplikacija i u krajnjoj liniji, velikim povećanjem mrežnog

saobraćaja, preopterećuje celokupnu računarsku mrežu. Jedan od prvih računarskh crva bio

je Morris worm, nazvan po svom kreatoru, studentu američkog Cornell univerziteta. On je

kreiran novembra 1988. godine i koristeći slabosti sigurnosnih mehanizama, kopirao samog

sebe na više od 10% računara koji su u to vreme činili Internet, uzrokujući velike probleme

u Internet komunikaciji.

Trojanski konj je program koji se instalira na računarski sistem kao poželjan program,

poput računarske igre, ili uslužnog softvera, i kao takav se dobrovoljno instalira od strane

„žrtve“. Kada se nađe na računaru, trojanski konj izvršava aktivnosti koje mogu imati

štetne efekte. Ove aktivnosti mogu početi odmah po instaliranju trojanskog konja, dok u

nekim slučajevima trojanski konj može biti „uspavan“, sve dok se ne aktivira specifičnim

događajem u računaru, na primer, dolaskom određenog datuma/vremena. Trojanski konji

često dolaze i kao prilozi uz „primamljive“ e-mail poruke. Kada se otvori prilog poruke

aktivira se trojanski konj i započinje svoje štetne aktivnosti. Dakle, nikada ne treba otvarati

priloge e-mail poruka dobijenih od nepozantih pošiljalaca.

Još jednu formu zlonamernog softvera čini tzv. špijunski softver (ponekad nazvan i

softver-njuškalo) koji predstavlja softver koji prikuplja informacije o aktivnostima na

računaru na kome je aktiviran i šalje te informacije putem računarske mreže inicijatoru

napada. Neke kompanije koriste špijunski softver u cilju generisanja profila korisnika, kao i

za zlonamerniju primenu, kao što je analiza simbola koje korisnik unosi preko tastature da

bi u njima prepoznao lozinke ili brojeve kreditnih kartica. Nasuprot pribavljanja ovih

informacija u tajnosti, tehnika „pecanja“ (phishing) označava pribavljanje ovih informacija

na eksplicitan način, pitanjem upućenim korisniku, na koja korisnik odgovara dobrovoljnim

davanjem ovih informacija. Sam naziv tehnike označava da je korisniku ponuđen „mamac“

u vidu primamljive ponude, ili dobornamerne poruke često upućene putem e-maila u

kojima se napadač predstavlja kao predstavnik finansijske insitucije, ili neke vladine

agencije koja od „žrtve“ traži poverljive informacije neophodne za određene legalne

potrebe.

Suprotno ovim internim infekcijama računara od strane virusa ili spyware-a, računar u

mreži može takođe biti napadnut od strane softvera koji se izvršava na drugim računarima u

mreži. Primer ovog napada je uskraćivanje servisa (eng. Denial of Service – DoS) koji

predstavlja proces „zatrpavanja“ računara porukama poslatim putem računarske mreže,

tako da takav računar ne može da obezbedi odgovarajuće usluge autorizovanim

korisnicima. Ovakvi napadi su uglavnom usmereni na velike komercijalne Web servere na

Internetu, kojima se vrši ometanje komercijalnih aktivnosti kompanije, ili se takva aktivnost

potpuno onemogućava. Napad uskraćivanja servisa nastaje generisanjem i slanjem velikog

broja poruka za kratko vreme. Da bi se to izvelo, napadač postavlja odgovarajući softver na

brojne računare na mreži koji ne izazivaju sumnju sigurnosnih mehanizama i koji, po

prijemu signala za početak napada, počinju da generešu i šalju veliki broj poruka ciljnom

računaru. Procenjeno je da, čim se računar poveže na Internet, barem jedan napadač će

probati da ga napadne, ili iskoristi za napad na druge računare u roku od 20-ak minuta.

Još jedan problem vezan sa velikom količinom neželjenih poruka je prijem neželjenih e-

mail poruka, nazvanih junk mail ili spam. Nasuprot napadu uskraćivanja servisa, količina

ovih poruka nije toliko velika da ugrozi rad računara, ali je u suštini efekat spam-a

„zatrpavanje“ korisnika računara. Spam je takođe široko zastupljen mehanizam za napade

Page 232: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

226

pecanja i ubacivanja trojanskih konja putem kojih se omogućava širenje virusa i drugog

štetnog softvera.

14.2 Zaštita računara

Primarna tehnika zaštite računara predstavlja kontrola mrežnog saobraćaja koji prolazi

kroz određeni čvor u mreži. Ovo se obavlja specijalnim softverom koji se zove zaštitni zid

(eng. firewall). Zaštitni zid ima zadatak da štiti mrežu ili računar u mreži od mogućeg

štetnog pristupa iz eksterne mreže. On obavlja filtriranje potencijalno štetnog dolaznog i

odlaznog mrežnog saobraćaja u skladu sa definisanim parametrima zaštite. Na primer,

zaštitni zid može biti instaliran na mrežnom prolazu intraneta određene organizacije, tako

da filtrira sve poruke koje dolaze i odlaze iz te podmreže. Ovakav zaštitni zid može biti

konfigurisan da blokira sve poruke sa određenom ciljnom adresom, ili sve dolazne poruke

koje dolaze sa adrese računara koji je poznat kao problematičan u pogledu sigurnosti.

Zaštitni zid može biti korišćen i za zaštitu pojedinačnog računara, a ne samo podmreže i

domena, kakav je na primer Windows Firewall podešen na našim personalnim računarima

u okviru Windows Security Centra.

Neke varijacije zaštinih zidova su razvijene sa specijalnom namenom, na primer spam

filteri, koji predstavljaju zaštitne zidove namenjene blokiranju neželjenih e-mailova.

Mnogi spam filteri koriste sofisticirane tehnike da razlikuju poželjne od nepoželjnih e-mail-

ova. U procesu učenja, korisnik identifikuje spam poruke sve dok filter na osnovu ovih

primera ne počne samostalno da donosi odluke da li je primljena poruka spam ili ne.

Softver koji takođe obuhvata funkciju filtriranja mrežnog saobraćaja je i proxy server,

koji predstavlja posrednika između klijenta i servera. Uspostavljanjem proxy servera

računari klijenti u okviru računarske mreže neke organizacije bivaju zaštićeni od

potencijalno štetnog zadržaja i aktivnosti servera kome pristupaju. Organizacije obično

uspostavljaju proxy servere za važne Internet servise, poput FTP, HTTP, telnet, itd. Na taj

način, proxy server štiti intranet te organizacije i filtrira poruke upućene od strane servera

računarima-klijentima.

Značajan softver u zaštiti računara od mogućih napada na sigurnost informacija je i

anitvirusni softver, koji se koristi za detektovanje i uklanjanje poznatih virusa i drugih

štetnih softvera. Popularni atnivirusni softveri su ESET NOD32, AVG Antivirus,

Bitdefender Antivirus Plus, Kaspersky Anti-Virus, Avira Free AntiVirus, itd. Praktično,

antivirusni softver predstavlja široku kategoriju softvera namenjenih otkrivanju i uklanjanju

specifičnih vrsta inficiranja, virusima, spyware-om, itd. Budući da se nove vrste štetnog

softvera stalno stvaraju, antivirusni softver mora stalno da se ažurira i da download-uje

definicije novih virusa sa računara proizvođača softvera. Ali čak ni to ne garantuje potpunu

zaštitu: novi virus mora inficirati određeni broj računara pre nego što se otkrije i zaštita

protiv njega uključi u ažurnu bazu virusnih definicija od strane proizvođača anitvirusnog

softvera. Dakle, oprezan i mudar korisnik računara nikad ne otvara priloge e-mail poruka

dobijene od nepoznatih pošiljalaca, ne download-uje i instalira softver pre nego što dobije

potrvdu o njegovoj pouzdanosti, redovno ažurira antivirusni softver, jer se preko 200 virusa

otkrije svake nedelje, ne odgovara na „iskačuće“ reklame, ne ostavlja računar konektovan

na Internet kada takva konekcija nije potrebna i periodično pravi kopije svojih datoteka sa

podacima i programima.

Page 233: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 4 . S I G U R N O S T

227

14.3 Kriptovanje i digitalni potpis

Dok je u nekim slučajevima cilj računarskog vandalizma onemogućavanje

funkcionisanja računara (kao u napadu uskraćivanja servisa), u drugim slučajevima

primarni cilj je obezbeđenje pristupa informacijama. Osnovni način zaštite informacija je

kontrola pristupa informacijama korišćenjem lozinke (eng. password). Međutim, lozinka

može biti otkrivena i od male je koristi kada se podaci prenose preko Interneta te su

dostupni nepoznatim korisnicima. U tim slučajevima koristi se kriptovanje podataka, tako

da iako oni dođu u posed zlonamernih korisnika, kriptovana informacija ostaje zaštićena.

Kriptovanje (šifrovanje) je postupak konvertovanja originalnih, čitljivih podataka u

neprepoznatljiv oblik koje niko osim primaoca ne može pročitati. Kriptovanje se obavlja u

cilju sprečavanja neovlašćenog pristupa od strane drugih lica. Kriptografija je istorijski

nastala pre nove ere na Egipatskim hijeroglifima, a kasnije je korišćena i u starom Rimu u

doba Julija Cezara gde je algoritmom kriptovanja svako slovo u poruci zamenjeno slovom

koje se nalazilo za određeni broj mesta pre ili posle njega u alfabetu. Namena kriptografije

je da zaštiti memorisanu informaciju bez obzira ako je neko pristupio podacima, kao i da

zaštiti prenetu informaciju bez obzira ako je prenos bio posmatran od strane neovlašćenog

lica. Osnovni element koji se koristi u kriptografiji naziva se kriptografski sistem, ili

algoritam kriptovanja. Svaki kriptografski sistem obuhvata par transformacija podataka,

koje se nazivaju kriptovanje i dekriptovanje. Kriptovanje je procedura koja transformiše

originalnu informaciju u kriptovane podatke. Dekriptovanje rekonstruiše originalnu

informaciju na osnovu algoritma kriptovanja i kriptografskog ključa. Šema kriptovanja

sadrži pet komponenti (Slika 14.1). 1) Tekst koji se kriptuje, 2) Algoritam kriptovanja, 3)

Ključ kriptovanja, 4) Kriptovani tekst, 5) Algoritam dekriptovanja.

Ključ = K Ključ = K-1

Kriptovan tekst

C

Originalni tekst

P

Originalni tekst

PPošiljalac Primalac

Kriptovanje Dekriptovanje

Slika 14.1 Šema kriptovanja

Algoritmi kriptovanja predstavljaju matematičke funkcije koje se koriste za kriptovanje

i dekriptovanje. Bezbednost ovih algoritama može da se zasniva na tajnosti algoritma (ovi

algoritmi su samo istorijski interesantni) ili na tajnosti ključa, pri čemu je algoritam poznat.

Kriptovanje je predstavljeno matematičkom funkcijom čiji izlaz zavisi od dva ulazna

parametra: originalne poruke koja se kriptuje (P) i ključa K. Rezultat kriptovanja je niz

naizgled nepovezanih simbola koji se mogu, bez straha od mogućnosti da poruka dođe u

neželjene ruke, prenositi do osobe kojoj je namenjena. Da bi kriptovanu poruku mogla da

koristi osoba kojoj je namenjena, potrebno je sprovesti obrnuti postupak od kriptovanja, a

to je dekriptovanje. Dekriptovanje je predstavljeno inverznom matematičkom funkcijom

čiji izlaz zavisi od dva ulazna parametra: kriptovane poruke (C) i ključa K-1

. Kao rezultat

primene ove funkcije dobija se originalna poruka. Minimalna i potrebna informacija koju

dve osobe moraju da dele, ako žele da razmenjuju podatke na siguran način, je skup

Page 234: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

228

ključeva (K, K-1

). Prema odnosu ključeva K i K-1

, kriptografske algoritme i sisteme delimo

na simetrične i asimetrične. Simetrično kriptovanje je kriptovanje tajnim ključem, pri

čemu je ključ za kriptovanje identičan ključu za dekriptovanje, tj. K = K-1

. Dakle, u slučaju

simetričnog kriptovanja pošiljalac i primalac poruke koriste isti tajni ključ. Problem je

obezbeđenje sigurnog kanala za distribuciju tajnog ključa između pošiljaoca i primaoca.

Poznati algoritmi simetričnog kriptovanja su DES (Data Encryption Standard) sa ključem

dužine 56 bitova, Triple DES sa ključem dužine 168 bitova, i AES (Advanced Encryption

Standard) koji radi sa blokovima od po 128 bitova i koristi ključeve dužine 128, 192 i 256

bitova.

Asimetrično kriptovanje je kriptovanje javnim ključem. Svaki učesnik u komunikaciji

koristi dva ključa. Oba ključa su vezana za entitet (računar ili korisnika) koji treba da

dokaže svoj identitet, elektronski potpiše ili kriptuje podatke. Jedan ključ je javni i koristi

se za kriptovanje, dok je drugi tajni i koristi se za dekriptovanje. Tajni ključ je dostupan

samo vlasniku. Princip rada asimetričnog kriptovanja prikazan je na Slika 14.2.

Privatni

ključ B

Kriptovan tekst Originalni tekstOriginalni

tekstKriptovanje Dekriptovanje

Korisnik A Korisnik B

Javni

ključ B

Javni ključ je dostupan svima

Slika 14.2 Princip rada asimetričnog kriptovanja

Pored zaštite tajnosti podataka, asimetrično kriptovanje može da se koristi i za

autentikaciju pošiljaoca poruke. Pošiljalac kriptuje poruku svojim tajnim ključem, dok je

njegov javni ključ dostupan svima. Ako primalac uspešno dekriptuje poruku korišćenjem

tog javnog ključa, zna da je poruka poslata od strane pošiljaoca jer je kriptovana njegovim

tajnim ključem. Najpopularnija tehnologija i algoritam za asimterično kriptovanje je RSA

(Rivest-Shamir-Adleman). RSA je asimetrični algoritam kriptovanja koji koristi javni i

privatni ključ za kriptovanje i dekriptovanje podataka. Razvijen je na MIT univerzitetu

1977. godine, a patentiran je 1983. godine. RSA sistem je zasnovan na odgovarajućim

matematičkim operacijama i razvijen je na pretpostavci da je teško razložiti na činioce

velike brojeve koji su proizvod dva prosta broja. Ključevi u RSA algortimu su veličine od

1024 do 4096 bitova. RSA sistem za asimetrično kriptovanje i DES (ili neki drugi sistem za

simetrično kriptovanje) se obično koriste zajedno. Razlog tome je što je RSA relativno spor

za kriptovanje velikih blokova podataka, dok je DES pogodan za to. Računarski sistemi

koriste RSA da bi razmenili DES ključeve međusobno, a zatim koriste DES algoritam da

kriptuju blokove podataka. Ovakav protokol prepoznaje dve strane i omogućava sigurnu

razmenu ključeva. RSA je ugrađen u mnoge komunikacione protokole, programe za

kriptovanje (npr. PGP), kao i aplikacije, poput savremenih Web pretražvača Miscrosoft

Internet Explorer i Mozilla Firefox.

Page 235: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 4 . S I G U R N O S T

229

Algoritmi asimetričnog kriptovanja, posebno RSA, koriste se i kod digitalnog potpisa.

Kao i kod svojeručnog potpisa, digitalni potpis treba da potvrdi autentičnost sadržaja

poruke i obezbedi garanciju identiteta pošiljaoca poruke. Digitalni potpis (eng. digital

signature, digital ID) predstavlja način autentikacije digitalnih informacija i kriptovan kôd

koji osobe, Web sajtovi ili kompanije pridružuju svojim elektronskim porukama da bi

obezbedili dokaz da su legitimni i poverljivi akteri u komunikaciji i da poruka/dokument

nije menjan tokom prenosa.

Proces digitalnog potpisivanja sastoji se od dva koraka. U prvom koraku vrši se

generisanje skraćenog prikaza (izvoda) poruke koja se potpisuje korišćenjem algoritma

heširanja i kriptovanje tog izvoda privatnim ključem pošiljaoca, što predstavlja njegov

digitalni potpis koji se pridružuje originalnoj poruci (Slika 14.3).

Heš funkcijaPrivatni

ključ A

Poruka

Korisnik A

Slanje

korisniku B

Izvod poruke KriptovanjeKriptovan

izvod

+

Poruka zajedno sa

kriptovanim izvodom

Slika 14.3 Postupak digitalnog potpisivanja

Da bi primalac digitalno potpisane poruke bio u mogućnosti da proveri digitalni potpis,

neophodan mu je pristup javnom ključu pošiljaoca, odnosno potpisnika. Proces verifikacije

poruke i digitalnog potpisa se odvija u sledećim koracima (Slika 14.4):

Digitalni potpis se dekriptuje pomoću javnog ključa pošiljaoca što kao rezultat daje

izvod poruke.

Nad poslatom porukom primalac primenjuje istu heš funkciju koju je primenio

pošiljalac i izračunava sada izvod poruke koju je primio.

Ukoliko je H1 = H2 to znači da je pošiljalac stvarni potpisnik podataka ili dokumenta,

kao i da podaci ili dokument nisu izmenjeni tokom procesa komunikacije.

Preduslov implementacije asimteričnog kriptovanja (kriptovanja javnim ključem),

odnosno ostvarenje neporecivosti, je jednoznačna veza između javnog ključa i njegovog

korisnika. Tačnije, primalac ne može da bude siguran da javni ključ koji ima pripada

korisniku sa kojim želi da razmeni poruke i koga inače ne poznaje. Kao sredstvo

ostvarivanja jednoznačne veze između javnog ključa i korisnika pojavljuju se digitalni

sertifikati. Digitalni sertifikat izdaje sertifikaciona organizacija (Symantec) i on uključuje

lične informacije korisnika, njegov javni ključ i podatke o sertifikatu kriptovane tajnim

ključem sertifikacione organizacije. Na taj način digitalni sertifikat pridružen poruci

obezbeđuje autentikaciju pošiljaoca poruke.

Page 236: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

U V O D U R A Č U N A R S T V O

230

Heš funkcija

Javni

ključ A Korisnik B

Od

korisnika A

Izvod poruke

Dekriptovanje

Poruka zajedno sa

kriptovanim izvodom

Izvod poruke

Poređenje

Slika 14.4 Verifikacija digitalnog potpisa

Infrastruktura koja osigurava komponente neophodne za administraciju (izdavanje,

proveru) javnih ključeva i sertifikata naziva se Public Key Infrastrusture – PKI. Osnovna

komponenta PKI je Certification Authority (CA) sa funkcijama izdavanja, administriranja

i ukidanja sertifikata. Standard za digitalne sertifikate je X.509, a najveće CA kompanije su

Symantec, Comodo, Trend Micro, DigiCert, Entrust, GlobalSign, itd.

U današnje vreme, mnoge Internet aplikacije i protokoli su prošireni tehnikama

kriptovanja. Primeri su HTTPS kao sigurna verzija HTTP protokola, FTPS sigurna verzija

FTP i SSH kao sigurnosna zamena za telnet. U osnovi ovih proširenja je SSL (Secure

Socket Layer) protokol. Ovaj protokol funkcioniše na ISO/OSI sloju između aplikacionog

sloja i TCP protokola i uključuje servise sigurnosti. Svi računari u komunikaciji moraju

imati instaliran SSL; podatke kriptovane SSL-om pošiljaoca može dekriptovati samo SSL

protokol računara kome su podaci namenjeni.

Za obezbeđenje zaštite privatnosti komunikacije i kriptovanje prenošenih podataka

koristi se simetrična kriptografija (DES, RC4, itd.). Identitet strana u komunikaciji dokazuje

se upotrebom asimetrične kriptografije javnog i tajnog ključa (RSA, DSA, itd.). Pouzdanost

prenosa podataka i provera integriteta podataka obezbeđena je korišćenjem sigurnih hash

funkcija (SHA, MD5, itd.). Web adrese stranica sa Web servera na kojima je instaliran SSL

protokol počinju sa https, i imaju ikonu katanca u statusnoj liniji prozora Web pretraživača.

Prednost SSL protokola je što nije vezan za određeni informacioni servis (npr. WWW), već

se koristi kao dodatak između transportnog sloja (TCP) i aplikacionog sloja (HTTP,

FTP,...).

Page 237: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

1 4 . S I G U R N O S T

231

Pitanja i zadaci

1. Koje su pretnje sigurnosti računara i informacija?

2. Navesti i objasniti osnovne principe sigurnosti.

3. Šta je kriptovanje?

4. Koji su tipovi algoritama kriptovanja?

5. Objasniti algoritam kriptovanja jedinstvenim tajnim ključem.

6. Objasniti asimetrični algoritam kriptovanja tajnim i javnim ključem.

7. Šta je SSL protokol?

8. Šta je digitalni potpis i na koji način se generiše?

9. Opisati sigurnu komunikaciju korišćenjem digitalnog potpisa.

10. Šta je digitalni sertifikat? Objasniti način njegove primene.

11. Šta je virus i koje su vrste virusa?

12. Šta su crvi, trojanski konji i spyware?

13. Koja je razlika između kriptovanja jedinstvenim tajnim ključem i asimetričnog

kriptovanja tajnim i javnim ključem?

14. Ako je korisnik A dobio poruku od korisnik B, kako može da zna da je poruku poslao

baš korisnik B i da poruka nije promenjena tokom prenosa kroz računarsku mrežu?

15. Objasniti kako je moguće da poruku kriptujemo javnim ključem (poznatom svima), a

da poruku može da pročita samo onaj kome je poruka upućena. Koji algoritam

kriptovanja primenjujemo u tom slučaju?

Page 238: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i
Page 239: Univerzitet u Nišugimnazijakm.edu.rs/wp-content/uploads/2020/03/Racunarski... · 2020-03-18 · 5.1.2 Teoreme Bulove algebre 55 5.2 Prekidačka algebra 57. S ADRŽAJ ii Pitanja i

L I T E R A T U R A

233

LITERATURA

1. Glenn Brookshear, Computer Science: An Overview, 11th edition, Addison Wesley,

2011

2. Nell Dale, John Lewis, Computer Science Illuminated, 4th edition, Jones & Bartlett

Publishers, 2009

3. Greg Anderson, David Ferro, Robert Hilton, Connecting with Computer Science, 2nd

edition, Course Technology, 2010.

4. Živko Tošić, Osnovi računarske tehnike, Čuperak Plavi, Niš, 1994.