You are on page 1of 67

1.

Kontinualna i diskretna raunska sredstva


Sva raunska sredstva se mogu podeliti na dve velike grupe, kontinualna i diskretna raunska
sredstva. Kontinualna raunska sredstva se konstuiu tako da matematiki model sredstva
bude ekvavilentan matematikom modelu problema koji se reava. Komponente kontinualnog
sredstva se povezuju na nain analogan nekom realnom sistemu (npr. sistem proticanja vode
kroz neke posude), pa se zbog toga kontinualna raunska sredstva nazivaju i analogna raunska
sredstva. Kontinualna raunska sredstva mogu biti mehanika, gde se ulazne i izlazne vrednosti
definiu preko pozicije raznih zupanika ili tokia, i elektronska gde se vrednosti definiu
preko napona i jaine elektrine struje.
Najpoznatije analogno raunsko sredstvo antikog doba Antikitera (pretopstavlja se da je
napravljen krajem prvog veka p.n.e. i sluio je za predstavljanje vremena izmeu dva mlada
meseca).
Viljem Outred (1622) konstruie klizajui lenjir iber.
Vanevar Bu 1931. konstruie diferencijalni analizator (mehaniki) koji je sluio za
izraunavanje opte diferencijalne jednaine estog stepena. Kasnije (1942) konstruisao
elektronsku verziju koju je nazvao Rokfelerov diferencijalni analizator . Elektronska analogna
sredstva se nazivaju i analogni raunari, i njihove opte karakteristike su
1) Matematike veliine se prikazuju sa tanou koja odgovara merenju fizike veliine kojom
se predstvalja mat veliina (voltaa, poloaj zupanika)
2) Tanost zavisi od preciznosti izrade sredstva
3) Nisu programabilna.
4)Sloenost matematikog modela ne utie na brzinu dobijanja rezultata.
Za razliku od kontinualnih diskretna raunska sredstva rade sa diskretnim podacima, tj. svi
podaci se zapisuju pomou cifara, pa se ova sredstva nazivaju i cifarska odnosno digitalna (eng.
digital, digit - cifra). Predastavnici digitalnih raunskih sredstava su abakus, razliite vrste
raunaljki, registar kase, savremeni (cifarski) raunari.
Osobine digitalni raunara su:
1) Svaka cifra se zapisuje u odvojenom objektu (elije). Diskretna stanja objekta moraju biti
stabilna i moraju meusobno da se razlikuju (dananji raunari 0 i 1).
2) Tanost ne zavisi od izrade raunskog sredstva
3) Programabilna su.
4) Brzina izraunavanja zavisi od sloenosti problema.

2. Istorijat razvoja raunarskih sistema


Istorijat razvoja raunarskih sistema podeljen je na 4 perioda, premehaniki, mehaniki,
elektromehaniki I elektronski. Za premehaniki period (3000g p.n.e. - 1450g n.e.) je bitno
stvaranje pisma, brojanih sistema I primitivnih raunskih sredstava koja bi olakavala rad.
Negde oko 2000g p.n.e. Feniani su pojednistavili proces pisanja I formirali prvi alfabet koji je
odgovorao pojedinanim slogovima I suglasnicima. U kasnijem periodu je taj alfabet prihvaen I
unapreen (izmenjen). Razvojem pisma dolo je do potrebe unapreivanja naina zapisa pa
oko 2600g p.n.e. Egipani poinju da koriste papirus I neku vrstu inprovizovanog pera. U
ostalim kulturama se razvio pergrament a 100g n.e. U Kini se otkriva nain proizvodnje papira,
koji se uz manje modifikacije koristi I danas. Kako je postojala potreba za trgovinom, tako i

brojanjem, dolazi do stvaranja prvih brojanih sistema. U starom veku svaka civilizacija je imala
svoje naine zapisa brojeva i raunanja. NA prime egipani koji su sa arapima imali razvijenu
trgovinu koristili su nepozicioni brojni sistem slian rimskom, samo to se umesto slova koristili
razni znakovi za oznaavanje razliitih vrednosti. Prvi brojani sistem slian dananjem (teinski)
definisalisu indusi izmeu 100g n.e. I 200g n.e. Oni su koristili 9 cifara, od njih su arapi 875g n.e.
preuzeli sistem i dodali mu jednu cifru vie (nulu) i napravili sistem kakav danas koristimo. U
evropu je stigao negde u 12.veku. Od "pomagala" u premehanikom periodu su korieni
tapii, kamenii i kosti koje su olakavale brojanje i eventualne raunske operacije. Neki
autori smatraju da su prva raunska sredstva bili antiki tableti za brojanje ABACI, to u sutini
predstavlja preteu abakusa. Tek u 13. veku nastaje "moderna" verzija abakusa, koja dosta
olakava brojanje i elementarne raunske operacije. Koncept raunara kakav danas koristimo je
graen korak po korak kroz vekove pri emu je vili broj ljudi da svoj doprinos, meu njima je
i Muhamed ibn Musa Al Horezmi koji je prvi definisao detaljna pravila izvoenja raunskih
operacija, prema kome je algoritam dobio ime.
Mehaniki period 1450g 1840g
U premehanikom periodu prvi bitniji pomak je ostvario Johan Gutenberg (Johann Gutenber)
1450 godine kada je konstruisao prvu tamparsku presu, ime je postignuto da knjige budu
bre tampane i dostupnije irem krugu ljudi. Ali jo uvek je bilo problema pri raunskim
operacijama, tj. Problemi koji su se javljali razvijanjem trgovine i nauke, naime trebalo je reiti
probleme to bre sa to je mogue veom tanou. Prvi pomak na ovom polju napravio je
Don Neper (John Napier), on je 1614g objavio knjigu Rabdologiae u kojoj je objasnio kako je
mogue transformisati mnoenje i deljenje u sabiranje i oduzimanje, uveo pisanje decimalne
take. Takoe je konstruktor Neperove kosti i kalkulatora(kosti mnoenje jednocifrenog broja
i broja proizvoljne duine, kalkulator izraunavanje korena i kvadrata).Engleski svetenik
Viljem Outred (William Oughtred) 1622. god konstruie klizajui lenjir (iber), omoguavao je
deljenje i mnoenje sa tanou od 3 decimale. iber se intezivno koristio u 19. i 20. veku do
pojave elektronskih kalkulatora. 1642. god Blez Paskal (Blaise Pascal) konstruie mainu koja je
mogla da sabira i oduzima osmocifrene brojeve (Pascaline) . 1673. god Lajbnic pravi mainu
prema Paskalovom konceptu, stim to je lajbnicova maina mogla da sabira, oduzima, deli i
mnoi brojeve koji su imali izmeu 5 i 12 cifara a rezultat je mogao da ima 16 cifara. Francuski
inenjer akard je 1801 god konstruisao automatski razboj koji je koristio buene kartice za
kontrolu are (ovo se smatra za prvu programabilnu mainu). 1820. god arls Havijer Tomas de
Kolmar prema osnovama Lajbnicove maine konstruie aritmometar , to je ujedno i prva
raunska maina koja je ula u serijsku proizvodnju. Do kraja 19. veka konsturisano je jo mnog
raunskih maina, npr Komptometar konsturisana od strane Felta i Taranta je prva raunaska
maina u koju su se vrednosti unosile pritiskanjem tastera. Meutim najznaajniji dogaaj
mehanikog perioda je pojava diferencijske maine koju je konstruisao arls Bebid (Charles
Babbage). On je napravio prototip svoje maine koja je mogla da izraunava kvadrate i kubove

6cifrenih brojeva i razlike drugog reda. Rad na kompletnoj maini je prekinut zbog nedostatka
sredstava. U periodu izmeu 1847 i 1849god projektuje poboljanu verziju diferencijske
maine, ali i ona ostaje nedovrena zbog sredstava (1991 godine je uraena maina prema
bebidovim nacrtima i tehnologiji dostupnoj tada i maina je radila). Pored diferencijske maine
Bebid je radio i na analitikoj maini (1833god). Ideja je bila ta da se u analitiku mainu preko
buenih ploica unose vrednosti, kao i podaci o eljenoj operaciji koja treba da s izvri.
Analitika maina je pretea dananjih raunara. NA projektovanju te maine mu je pomagala i
Ada Augusta Bajron koja se zbog toga smatra prvim programerom u istoriji.
Elektromehaniki period 1840. g. - 1939. g.
Za ovaj period se vezuje otkrie metoda za generisanje i uvanje elektriciteta pomou baterija
krajem 18. veka. 1830. god. je konstruisan prvi telegraf koji je omoguio prenos informacija na
velike daljine, na znaenju je dobio definisanjem Morzeove azbuke 1835. 1866 god spojene su
Evropa i Amerika podmorskim telegrafskim kablom. Sledei pomak u komunikacionoj
tehnologiji bio je pronalazak telefona (Alexandar Graham Bell 1876. god.) i radija (Marconi
1894. god.). Na poetku ovog perioda 1854. g. Dord Bul (George Boole) je objavio knjigu
"Matematika analiza logike" , u njoj je koristio binarni sistem za simboliko i logiko
rezonovanje, danas poznat kao Bulova Algebra.Herman Holerit (Herman Holerith) je 1884. god.
patentirao svoju automatsku mainu za tabeliranje, zasnovanu na buenim karticama,
1890.god. je upotrebio usavrenu verziju maine pri popisu stanovnika u SAD. Posle uspene
saradnje sa vladom SAD osniva kompaniju pod nazivom "Hollerith Tabulating Company" koja je
nastavila sa proizvodnjom slinih maina. Kasnije je sa jo dve kompanije 1914.god. formirala
kompaniju Calculating-Tabulating-Recording koja je 1924.god. promenila ima u IBM. 1935.god.
IBM je proizveo mainu sa buenim karticama pod oznakom 601, koji obavlja mnoenje brojeva
za 1s. Konrad Cuse (Konrad Zuse) je 1931.god prvi elektromehaniki kalkulator u Nemakoj, a
1938.god. objavio poboljanu verziju kalkulatora (Z2), a 1941.god. konstruisao je i Z3 prvi
mehaniki programabilni kalkulator. Pored ve pomenutih maina i raunara, razvijane su i
maine specijalne namene (ifrovanje, deifrovanje) o njima se veoma malo zna poto su
uvani kao dravne tajne (Nemaka Enigma, ili Poljska Bomba). Dord Stibic (George Stibitz)
1939.god. konstruie elektronski relejni mehaniki kalkulator, koji je reavao probleme sa
kompleksnim brojevima, maina je bila specifna i po tome to je podatke unosio preko
teleprintera, dok je sa mainom bio povezan telefonskom linijom. Slava konstruktora prvog
elektromehanikog raunura pripala je Hauardu Ejkenu (Howard Aiken). Uz pomo IBMa je
1944 konstruisao Hardvard Mark 1, koji je bio zasnovan na Holeritovoj maini i Bebidovoj ideji
o maini ote namene. MARK 1 je vrio izraunavanja navigacionih tabela za mornaricu.
Elektronski period 1939. god. - danas
1903. god. kada je Nikola Tesla patentirao elektronsko logiko kolo nazvano vrata ili prekida,
otvorile su se mogunosti za razvoj elektroniskih raunara, pa je za njim krenula lavina
pronalazaka, koji bi (su) omoguili raunare kakve danas poznajemo . 1906.god. Li de Forest

konstruie prvu vakuumsku cev, a 1919.god. je publikovao nacrt prvog Flip Flopa (elektronsko
logiko kolo (bistabil)). Vladimir Zvornik 1928.god. konstruie prvi ekran sa katodnom cevi. Alan
Tjuring (Alan Turing) je 1936.god. objavio svoj rad o "izraunljivim brojevima" gde je predloio
reavanje matematikih problema preko automatizovane maine (veoma slina dananjim
raunarima). Ta maina je kasnije nazvana Tjuringova Maina. 1939.god. na univerzitetu u Ajovi
(SAD) konstruisan prvi 16bitni sabira sa vakuum skim cevima, konstruktori su bili Don
Atanasof (John V. Atanasoff) i Kliford Beri (Clifford Berry). Na osnovu ovog kalkulatora isti ljudi
konstruiu ABC(Atanasoff-Berry-Computer) 1940.god. , koji je reavao sisteme simultanih
lineranih jednaina. 1943. god. je puten u rad Kolos Mark 1 (Collosus Mark 1) koji je sluio za
deifrovanje nemakih ifrovanih poruka. uvan je u strogoj tajnosti i o njemu se mnogo malo
znalo. 1944.god. postaje operativan i Kolos Mark 2, meutim posle kraja drugog svetskog rata
unitene su sve maine zbog mogue pijunae. Ekert i Muli sa svojim timom 1946. god.
zavravaju ENIAC (Electronic Numerical Integrator and Calculator), raunar teak 30 tona, dug
preko 30 metara i visok 3 metra.ENIAC je bio bri od svih dotadanjih raunara . Bio je zasnovan
na dekadnom brojnom sistemu, i takt mu je bio 100KHz, programiranje ENIACA je bilo mogue
samo runo, tj. promenom raznih prekidaa i runim prekopavanjem kablova. ENIAC je vrio
niz sloenih izraunavanja na koja su koriena za proveri teorije na osnovu koje je konstruisana
vodonina bomba. Zbog toga se 1946.god. smatra poetkom nove ere u razvoju i primeni
elektronskih raunara. ENIAC je bio u upotrebi do 1955.god. Don Fon Nojman (John von
Neumann) 30. juna 1945. god. objavio je nacrt u kome je izloio ideju za konstrukciju raunara
koji bi imao mogunost uvanja programa i njegovog kasnijeg izvravanja, ovakav raunar je
nazvao EDVAC (Electronic Discrete Variable Automatic Computer) , ovakva arhitektura je dobila
ima "Fon Nojmanova arhitektura" . Juna 1947. god. Hauard Ejken i njegov tim su zavrili i
pustili u rad elektromehaniki raunar Harvard Majk 2. Ovaj raunar nije imao mogunost
uvanja programa u memoriju ve su podaci i programi odvojeno uvani, ovakva arhitektura se
naziva "Harvard arhitektura". Pri radu na konstrukciji Marka 2, Grejs Huper (Grace Murray
Hopper) je otkrila moljca koji se zaglavio i napravio spoj na jednom releju. I zavela je kvar kao
"bug" (buba), i odatle potie termin bug, koji oznaava greke u programima ili hardveru.
Inae tim sa Ejkenom na eku je napravio jo dva raunara Mark 3 (1949.god.) i Mark
4(1952.god.). Januara 1948.god. IBM je napravio SSEC mainu (Selective Sequence Control
Computer) hibridnu mainu koja je mogla interno da uva deo programa. Grupa na elu sa
Morisom Vilkisom je juna 1949.god. zavrila EDSAC (Electronic Delay Storage Automatic
Computer) kojije zasnovan na Fon Nojmanovoj ideji o EDVACu. To je prvi operativni raunar
koji jemogao da uva proigram. Ulazno izlazne operacije su ile preko buenih kartica, dok je
memorija bila realizovana pomou vakuumskih cevi ispunjene ivom. Grupa koja je radila na
univerzitetu u Manesteru, na elu sa Maks NJumenom(Max Newman) i Fredi Vilijamsom
(Freddy Wiliams) je juna 1948.god. napravio prototip raunara pod nazivom SSEM (Small - Scale
Electronic Machine) ili Beba,raunar je uvao podatke memoriji realizovanih pomou katodnih

cevi (Vilijams). Ista grupa je 1949.god. razivala Manchester Mark 1 raunar kom je program
unoen u binarnom obliku preko tastature, i kao takav uvan u memoriji i kasnije ispisivan na
katodnoj cevi. Za ovaj raunar je Tjuring razvio pritivni asemblerski jezik. MESM (Mala
elektronska raunska maina) je razvijena u periodi od 1947.god. do jaunara 1951.god., od
starne grupe koja je na elu imala Sergeja Aleksejevia Lebedeva. MESM je koristio zapis u
fiksnom zarezu i izvravao je oko 50 instrukcija u sekundi. Grupa je radila u strano loim
uslovima i koristili su odbaene radio ureaje radi delova. Grupa univerziteta u Pensilvaniji
radila je na konstrukciji EDVACa, koji je bio zavren krajem 1951.god. EDVAC je imao 4000
vakuumskih cevi 10000 dioda, i 1024 rei duine 44bita realizhovane preko ultrasonine
memorije. Brzina takta je bila 1MHz. Grupa na elu sa Fon Nojmanom je radila na univerzitetu
Prinston. Maina razvijana za napredne nauke (Insttitute For Advanced Study Machines, IAS) po
kome je kasnije i dobila ime. Maina zavrena 1952.god. Ekert i Muli su 1949.god. isporuili
vazduhoplovstvu BINAC (Binary Automatic Computer), ovaj raunar je znaajan po tome to je
prvi raunar sa dualnim procesorom (drugi je sluio u sluaju da prvi otkae). Isti ljudi su radili i
na razvoju poslovnog raunara UNIVAC (Universal Automatic Computer) meutim ostali su bez
sredstava, i bili prinueni da prodaju kompaniju firmi Remington Rad, u ijem sastavu su
nastavili sa razvojem UNIVACa, meutim, to nije bio prvi poslovni raunar, ta ast je pripala
britanskom raunaru LEO(Lyons Electronic Office) koji je izaao par meseci pre UNIVACa.
Decembra 1950 god. u rad je puten Vihor (Whirlwind) prvi raunara konstruisan da radi u
realnom vremenu. Konstruisan je na MITu (Massachusetts Institute of Techonology) od strane
tima na ijem elu je bio Dej Forester (Jay W. Forester) Raunar je konstruisan za istraivaki
institut ratne mornarice SAD. Vihor je mogao da uradi 500 000 sabiranja ili 50 000 mnoenja u
sekundi.

3. Generacije savremenih elektronskih raunara


Savremeni elektronski racunari su podeljeni, prema nacinu izrade i nekih
tehnologija, na cetiri grupe:
1. Prva generacija racunara(1939g-1958g)
2. Druga generacija racunara(1959g-1964g)
3. Treca generacija racunara(1965g-1971g)
4. Cetvrta generacija racunara(1972g-danas)
Prva generacija racunara(1939g-1958g)
------------------------------------Prva generacija je bila zasnovana na vakumskim cevima kao logickim jedinicama i magnetnim dobosima kao unutrasnja memorija.
Vakumske cevi su bile glomazne, podlozne kvarovim, trosile su mnogo struje.
Za programiranje ovih racunara koristio se masinski jezik, a kasnije pomocu
asemblera.

glavni predstavnici ovog perioda su UNIVAC II iz 1957 godine, kao i IBM 700
serija racunara.
Takodje u vom periodu Dzon Bekus pravi prvi FORTRAn prevodilac 1957.
Druga generacija racunara(1959g-1964g)
-------------------------------------Glavna razlika u odnosu na prvu generaciju racunara je sto su umesto vakumskih cevi za logicke jedinice poceli da se koriste tranzistori, a unutrasnja
memorija su bila magnetna jezgra. Ovo je dovelo do pouzdanijih racunara,
manje potrosnje energije...
Za izradu tranzistora koriscen je prvo germanijum koji je bio skup, a kasnije
se pocelo sa koriscenjem silicijuma.
U ovom periodu se pocinje razvitak operativnih sistema, prevodioca za jezike
viseg nivoa.
Tipican predstavnik je IBM 7094, kod kojih su instrukcije cuvane u memoriji
a izvrsava ih procesor.
Takodje treba napomenuti i projekat Strech, koji je prvi proces izvrsavanja
delio na fazu dohvatanja i dekodiranja i fazu izvrsavanja.
Treca generacija racunara(1965g-1971g)
-------------------------------------Integrisana kola su obelezila ovu generaciju racunara, kao i dalje razvijanje
operativnih sistema i programskih jezika viseg nivoa kao sto je C.
1970g IBM je ponudio Floppy disk.
Predstavnici su IBM S/360 zasnovan na integrisanim kolima., kao i PDP-8 koji
je bio prvi mini racunar na trzistu, bio je prenosan.
Cetvrta generacija racunara(1972g-danas)
---------------------------------------Nastavak razvoja integrisanih cipova je doveo do pojave visokointegrisanih
cipova, a umesto memorije u ovom periodu se koristila poliprovodnicka memorija koja je bila dosta brza a realizovana je u tehnologiji integrisanih kola.
Rastom procesorskih mikrocipova doslo je do pojave mikroprocesora, gde su sve
komponente CPU smestene na jednom cipu.
Predstavnik je racunar CRAY-I.
U ovom periodu dolazi i do razvoja telekomunikacionih mreza.

4. Azbuka i kodovi. Pozicioni brojani sistemi. Zapis meovitih brojeva. Primeri.


Azbuka

Pravila koje se odnose na zapis nenumerikih informacija su definisana preko azbuke i


pravopisa, a pravila koja se odnose na zapis numerikih informacija definisana preko brojanih
sistema i njihovih pravila.
Azbuka je konaan neprazan skup proizvoljnih simbola i oznaava se sa V.
primer: V={a, b, c, }
Slova ili simboli su elementi skupa V. primer: a, b, c, ...
Rei nad V su konane niske slova. Skup svih rei nad V se oznaava sa V*.
primer: V={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, rei nad V+ su brojevi u dekadnom brojanom sistemu (sa
eventualno vodeim nulama);
V={0, 1, 2}, rei nad V+ su brojevi u binarnom brojanom sistemu (sa eventualno vodeim
nulama).
Prazna re je re koja ne sadri slova, obeleava se sa i priprada V*, za svako V.
Skup V* bez se oznaava sa V+.
Jezik je proizvoljan skup rei nad V* i obeleava se sa L. primer: L={a, b, }
Duina rei je broj slova u rei P i obeleava se sa |P|. Duina prazne rei je 0.
Za pozitivan broj i i proizvoljnu re P sa Pi se oznaava i puta dopisana re P. Po definiciji, vai
P0=.
Broj rei duine d u azbuci koja ima n znakova je nd.
Kodovi

Azbuke: V1={a1, a2, , am}, V2={b1, b2, , bn}


Jezici: L1 C V1*, L1={p1, p2, , pr}; L2 C V2*, L2={q1, q2, , qs}
Funkcija kodiranja je svaka funkcija f definisana sa f: L1L2.
Funkcija dekodiranja je svaka funkcija g: L2L1, g = f-1 ako f-1 postoji.
Kodiranje predstavlja izraunavanje vrednosti f(pi).
Dekodiranje predstavlja izraunavanje vrednosti g(qj).
Kod je jednoznaan akko je funkcija f 1-1. U suprotnom kod je vieznaan.
Osnova koda je broj simbola u azbuci. Kodna re je re iz jezika.
Kod je potpun ako obuhvata sve rei odreene duine u jeziku.
Kod je ravnomeran ako je duina svih kodnih rei u jeziku ista. U suprotnom, kod je
neravnomeran. Da bi kod duine d rei P bio ravnomeran, mora da vai |P|nd, n je broj
simbola u azbuci, a d mesnost koda. Ako je |P|=nd, onda je to potpun ravnomeran kod.
Ako treba zapisati re ivog jezika, tada azbuka treba da sadri sve znake pisma (velika i mala
slova, cifre, interpunkcijske i specijalne znake). Duina kodnih rei e zavisiti od broja simbola u
azbuci, odnosno broja rei u odgovarajuem jeziku. Danas se koriste kodovi sa duinom rei 7,
8 ili 16.

Pozicioni brojani sistemi

Brojani sistemi se dele na nepozicione i pozicione. Kod nepozicionih sistema znak koji oznaava
cifru ima istu vrednost bez obzira na poziciju u zapisu broja (egipatski, rimski). Kod pozicionih
sistema vrednost znaka koji predstavlja cifru zavisi i od samog znaka i od pozicije cifre u zapisu
broja (arapski, indijski).
Osnova brojanog sistema je broj razliitih cifara pozicionog brojanog sistema.
Brojana vrednost X u sistemu sa osnovom N se dobija kao zbir vrednosti pojedinanih cifara:

gde su Xi cifre brojanog sistema, V(Xi) vrednost cifre Xi u zapisanoj nisci cifara, a i mesto cifre u
zapisanoj nisci cifara u intervalu od m do n.
Brojana vrednost cifre Xi u zapisanoj nisci cifara zavisi od vrednosti i poloaja cifre i u
najveem broju pozicionih brojanih sistema jednaka je V(Xi)=Xi * Ni. Sve operacije se vre u
brojanom sistemu sa osnovom N.
Pozicija cifre je mesto cifre u zapisu broja. Duina broja je broj cifara u zapisu broja. Teina
cifre je vrednost koliko cifra tei.
Binarni brojani sistem N=2, S={0, 1}. Koristi se u savremenim digitalnim raunarima.
Troini brojani sistem ili sistem sa osnovom 3, N=3, S={0, 1, 2}.
Balansirani troini brojani sistem N=3, S={-1, 0, 1}. (bt)
Oktalni brojani sistem N=8, S={0, 1, 2, 3, 4, 5, 6, 7}. Koristi se u raunarstvu.
Dekadni brojani sistem N=10, S={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Koristi se u svakodnevnom ivotu.
Heksadekadni brojani sistem N=16, S={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Koristi se u
raunarstvu.
Brojani sistem kod koga je osnova jednaka N se naziva brojani sistem sa negativnom
osnovom. Specijalni sluaj je kada je N=-2, S={0, 1, 2} i naziva se negabinarni brojani sistem.
(nb)
Osnova brojanog sistema moe da bude i razlomljen broj. Na primer: N=0.5
Brojani sistem sa promenljivom osnovom je sistem kod koga je svakoj poziciji i pridruena
vrednost mi.
Osobine pozicionih brojanih sistema sa fiksnom osnovom:
Poveanjem osnove brojanog sistema smanjuje se duina zapisa broja;
U svim brojanim sistemima se osnova zapisuje kao 10 (jedan, nula), dok je 0 (nula) najmanja
cifra u svim sistemima.
Zapis meovitih brojeva

Neoznaeni meoviti brojevi bez obzira na brojani sistem u kome se zapisuju mogu biti
zapisani na vie naina:

U uobiajenom obliku sa takom osnove (radix point) izmeu celobrojnog i razlomljenog dela.
Zapis u fiksnom zarezu jer je broj cifara u razlomljenom delu uvek fiksiran (jednak m) bez
obzira na veliinu broja. Svaki meovit broj se uvek zapisuje pomou n cifara, pri emu se sa m
n cifara zapisuje razlomljeni deo, a sa n - m cifara celobrojni deo broja. Ukoliko je broj cifara u
celobrojnom delu vei od n - m, vrednost ne moe da bude zapisana i javlja se greka pri zapisu.
Ukoliko je broj cifara u razlomljenom delu manji od m, preostale pozicije se popunjavaju
nulama. Ukoliko je broj cifara u razlomljenom delu vei od m, tada se zapis broja skrauje na m
cifara u razlomljenom delu.
Zapis u pokretnom zarezu pomou znaajnog dela broja (F) i eksponenta (E) koji su
predstavljeni kao brojevi u fiksnom zarezu. Vrednost broja je jednaka F*Ne.

5. Prevoenje brojeva izmeu razliitih brojanih sistema. Primeri


Postupak odreivanja vrednosti broja X u pozicionom brojanom sistemu sa osnovom M se
naziva prevoenje broja X iz sistema sa osnovom N u sistem sa osnovom M. Mogunost tanog
zapisa zavisi od osnova izmeu kojih se vri prevoenje.
Prevoenje celih brojeva:
Broj X je predstavljen u sistemu sa osnovom N. Prevoenje u sistem sa osnovom M
podrazumeva izraunavanje vrednosti broja X u sistemu sa osnovom M.
Ukoliko je broj ceo i osnova N vea od osnove M, do te vrednosti se dobija deljenjem vrednosti
broja X u sistemu sa osnovom N i osnove brojanog sistema M u koju se prevodi. Sve operacije
se vre u sistemu sa osnovom M (u koju se X prevodi). U gornjoj vrsti tabele se pie celobrojni
deo deljenja, a u donjoj ostatak pri deljenju. Deljenje se vre sve dok se kao celobrojni deo
deljenja ne dobije 0. Tada se cifre itaju sa desna u levo.
primer: (94)10=(1011110)2
Ukoliko je broj ceo i osnova M vea od osnove N, neophodno je prevesti osnovu M u sistem sa
osnovom N. Dalji postupak je isti kao kod prevoenja gde je osnova N vea od osnove M.
primer: (21012)3=(C2)16
Prevoenje razlomljenog dela:
Razlomljeni deo se prevodi tako to se razlomljeni deo broja mnoi sa vrednou osnove u koju
se prevodi. Sve operacije se vre u sistemu sa osnovom u koju se vri prevoenje. U gornjoj
vrsti tabele se pie razlomljeni deo proizvoda, a u donjoj vrsti ceo deo proizvoda. Mnoenje se
ponavlja dok se ne dobije razlomljeni deo proizvoda jednak 0. Tada se cifre itaju sa leva u
desno, s tim to je zarez odmah posle pozicije i=0.
primer: (0,84735)10=(0,11011)2
Meoviti brojevi se prevode tako to se odvojeno prevode celi i razlomljeni delovi i tako
dobijeni spoje.
Specijalni sluaj kodiranja:
Ukoliko izmeu sistema N i M postoji veza u vidu N=Ms, S>1, koristi se specijalno kodiranje.
Vrednost broja X iz sistema sa osnovom N u sistem sa osnovom M se dobija tako to se svaka
cifra broja X posebno kodira u sistem sa osnovom M. Meoviti brojevi se prevode tako to se

posebno kodiraju cifre razlomljenog i celobrojnog dela broja, i od dobijenih prevoda formira
eljeni prevod. (binarni, oktalni i heksadekadni sistem)
primer: (54,12)8=(101100,001010)2

6. Zapis oznaenih brojeva. Primeri


Oznaeni brojevi se mogu zapisati u obliku:
Znak i apsolutna vrednost;
Komplement broja;
Sa uveanjem.
Zapis pomou znaka i apsolutne vrednosti
U ovom zapisu, cifra najvee teine oznaava znak broja, dok ostale cifre predstavljaju
apsolutnu vrednost broja (odnosno neoznaen broj koji ima istu vrednost). Najmanja cifra
brojanog sistema oznaava pozitivne, a najvea negativne brojeve.
[-Nn-1+1, +Nn-1-1]
Promena znaka broja se vri tako to se na mestu najvee teine u zapisu broja upisuje najvea
cifra brojanog sistema, ako je na tom mestu bila nula i obrnuto.
Pri izvoenju osnovnih raunskih operacija, odvojeno se obrauju znaci i apsolutne vrednosti
brojeva.
Sabiranje i oduzimanje zavisi od znaka brojeva koji se sabiraju ili oduzimaju.
Ako su brojevi istog znaka, takav e biti i znak rezultata. Apsolutna vrednost rezultata se dobija
kada se saberu apsolutne vrednosti operanada.
Ako su brojevi suprotnog znaka, znak rezultata e biti znak broja koji ima veu apsolutnu
vrednost. Apsolutna vrednost rezultata se dobija tako to se od broja koji ima veu apsolutnu
vrednost oduzme broj koji ima manju apsolutnu vrednost.
Mnoenje i deljenje zavisi od znaka brojeva koji se mnoe ili dele. Ako su brojevi istog znaka,
rezultat e biti pozitivan. U suprotnom je negativan. Apsolutna vrednost rezultata je proizvod ili
kolinik apsolutnih vrednosti inilaca.
Nedostatak:
Mogunost dvostrukog zapisa nule: +0 i -0. Posledica ove mogunosti je stalna potreba da se
ispituju dve vrednosti pri ispitivanju jednakosti na nulu to uslonjava izvoenje aritmetikih
operacija.
Pri izvoenju osnovnih raunskih operacija, posebno se obrauju znaci i apsolutne vrednosti.
Zapis uz korienje komplementa broja
U ovom nainu zapisa brojeva, pozitivni brojevi se zapisuju kao i u zapisu znak i apsolutna
vrednost, dok se negativni zapisuju tako to se od komplementacione konstante K oduzme
apsolutna vrednost broja iji se zapis trai.
Promena znaka broja X se svodi na komplementiranje izraunavanjem K X.
Sabiranje dva broja X i Y zapisana pomou komplementa se vri kao sabiranje neoznaenih
brojeva po modulu koji je jednak komplementacionoj konstanti K.

Oduzimanje se vri komplementiranjem umanjioca i sabiranjem dobijene vrednosti sa


umanjenikom. X Y = X + (K Y).
Mnoenje i deljenje se realizuje na slian nain kao u dekadnom sistemu.
Nepotpuni komplement
K = Nn-1 komplement umanjene osnove ili N-1 vi komplement
[-Nn-1+1, +Nn-1-1]
Sabiranje brojeva se vri u dva koraka. U prvom se saberu vrednosti brojeva, a u drugom se
prenos sa mesta najvee teine dodaje na mesto najmanje teine zbira. Do prekoraenja moe
da doe pri sabiranju brojeva istog znaka. Do prekoraenja je dolo, ako je znak rezultata
drugaiji od znaka brojeva koji se sabiraju.
Oduzimanje brojeva se svodi na komplementiranje drugog operanda, i potom se svodi na
sabiranje.
Komplementiranje broja moe da se izvede na dva naina: izraunavanjem K X, ili zamenom
svake cifre Xi sa vrednou N 1 - Xi.
Broj pozitivnih je jednak broju negativnih predstavljenih brojeva.
Potpuni komplement
K = Nn komplement u odnosu na osnovu sistema ili N-ti komplement
[-Nn-1, +Nn-1-1]
Sabiranje brojeva se vri u dva koraka. U prvom se saberu vrednosti brojeva, a u drugom se
prenos sa mesta najvee teine zanemaruje i brie. Do prekoraenja moe da doe pri
sabiranju brojeva istog znaka. Do prekoraenja je dolo, ako je znak rezultata drugaiji od znaka
brojeva koji se sabiraju.
Oduzimanje brojeva se svodi na komplementiranje drugog operanda, i potom se svede na
sabiranje.
Komplementiranje broja moe da se izvede na dva naina: izraunavanjem K X, ili zamenom
svake cifre Xi sa vrednou N 1 Xi, a u drugom koraku se doda 1 na poziciji najmanje teine.
Za ovu izabranu vrednost 0 ima jedinstven zapis kao +0.
Interval je nesimetrian, jer se nula smatra pozitivnim brojem.
Zapis uz dodavanje uveanja
Ovaj nain zapisa predstavlja specijalan sluaj zapisa pomou komplementa u kome se oznaeni
broj zapisuje tako to se njegova vrednost sabere sa konstantom k, i dobijeni zbir se zapie
pomou komplementa osnove. Vrednost k je poznata pod nazivom uveanje ili viak, dok se za
broj zapisan sa uveanjem k kae da je zapisan u kodu viak k.
Aritmetika u ovom zapisu se svodi na aritmetiku u zapisu pomou komplementa.
X + Y + uveanje = (X + uveanje) + (Y + uveanje) uveanje
X Y + uveanje = (X + uveanje) (Y + uveanje) + - uveanje
primer:

(+127)10
Znak i apsolutna vrednost: 0127
Nepotpuni komplement: 0127
Potpuni komplement: 0127
Viak 4: 0131

(-64)8
764
713
714
720

7. Binarni i heksadekadni sistem. Hartmanova metoda prevoenja. Zapis


znakovnih podataka. Primeri.
Binarni i heksadekadni sistem

Svi podaci u savremenim digitalnim raunarima se uvaju u obliku binarnog zapisa iju osnovu
ini binarni sistem. Rad sa binarnim sistemom je sloen, pa se pri radu na mainskom nivou
koristi zapis pomou heksadekadnog brojanog sistema. Razlog je laka konverzija izmeu
binarnog i heksadekadnog sistema, i rad sa podacima zapisanim u brojevima. Na raunarima se
podaci najee uvaju u jednom ili vie bajtova. Podaci u svakom od bajtova se mogu grupisati
u dve celine po etiri bita koje se svaka pojedinano mogu predstaviti heksadekadnom cifrom.
Sabiranje i oduzimanje u binarnom i heksadekadnom sistemu se obavlja po principima
analognim sabiranju i oduzimanju u dekadnom sistemu. Kao pomo pri izvoenju ovih
operacija koriste se tabele za binarno i heksadekadno sabiranje i oduzimanje.
Pri sabiranju, sabirci se nalaze sa leve strane i na vrhu tabele, a rezultat se oitava u sredini
tabele, na mestu preseka vrste i kolone u kojoj se nalaze sabirci.
Pri oduzimanju, umanjilac se nalazi sa leve strane, umanjenik je u sredini (u istoj vrsti kao i
umanjilac), a razlika se oitava na vrhu tabele, u koloni u kojoj se nalazi umanjenik.
Sabiranje i oduzimanje viecifrenih brojeva se vri tako to se polazi sa desne strane, obrauje
pozicija po pozicija uz dodavanje prenosa narednom cifarskom mestu (kod sabiranja), odnosno
umanjenje za prenos narednog cifarskog mesta (kod oduzimanja).
primeri:
Binarno sabiranje i oduzimanje
Zbir 12 + 12 je 02 uz prenos 12.
Zbir 012 + 112 se dobija sabiranjem poevi od pozicije najmanje teine 12 + 12 = 02 uz prenos
12 na narednu poziciju. U sledeem koraku se sabira 12 + 02 + 12, to kao rezultata daje 02 uz
prenos 12. Kako je ovo bila pozicija najvee teine konani zbir je 012 + 112 = 1002.
Razlika 102 12 se odreuje tako to se u tabeli nae 1 na mestu za umanjilac i pronae u toj
vrsti umanjenik 10. Rezultat 1 se dobija na vrhu kolone u kojoj je umanjenik.

Heksadekadno sabiranje i oduzimanje

Zbir 2B16 + AE16 se dobija tako to se u prvom koraku odredi zbir B16 + E16, to je prema
tabeli 916 uz prenos 116. U narednom koraku se odreuje zbir 116 + 216 + A16. Kako je 116
+ 216 = 316 i 316 + A16 = D16 dobija se D916 kao krajnji zbir.
Razlika 3216 A16 se zapisuje kao 3216 0A16. U prvom koraku se odreuje 216 A16 (uz
pozajmicu 1 sa prethodnog cifarskog mesta), to iznosi 816. U drugom koraku se naredna
cifarska pozicija umanjenika smanji za prenos, tj. 316 116 = 216, a zatim izrauna razlika sa te
pozicije 216 016 = 216. Time je odreen krajnji rezultat 2816.
Mnoenje i deljenje u binarnom sistemu je trivijalno, dok se u heksadekadnom sistemu moe
izvesti pomou tabele. Tabela se ne koristi za deljenje nulom.
Hartmanova metoda prevoenja

Metod za direktno prevoenje izmeu dekadnog i heksadekadnog sistema je Hartmanov


metod. Hartmanov metod polazi od broja predstavljenog u izvornom (dekadnom ili
heksadekadnom) brojanom sistemu i pomou niza sabiranja (ili oduzimanja) i mnoenja
prevodi broj u ciljni (heksadekadni ili dekadni) brojani sistem. Pri radu metod koristi
korektivnu cifru i obrauje broj koji se konvertuje sa leva u desno. Za prevoenje iz dekadnog u
heksadekadni sistem korektivna cifra je -616 (A16 - 1016) pri emu se sve operacije izvode u
heksadekadnom sistemu. Pri konverziji iz heksadekadnog u dekadni sistem, korektivna cifra je
+610 (1610 1010) uz izvoenje svih operacija u dekadnom sistemu. Razlomljeni brojevi se
prevode tako to se posebno prevode celi i razlomljeni deo. Metod se sastoji iz pet koraka.
Naredna cifra (pri prvom prolazu krajnje leva cifra) se prevede u heksadekadni sistem i dobijeni
prevod postaje poetna vrednost rezultata prevoda. Ovaj korak je trivijalan, poto dekadne
cifre imaju istu vrednost i u heksadekadnom sistemu.
Ukoliko nema vie cifara koje nisu prevedene, tada rezultat predstavlja broj u heksadekadnom
zapisu. Ako ima jos cifara koje nisu prevedene, rezultata prevoda se mnoi sa korektivnom
cifrom -616.
Naredna cifra se prevede u heksadekadni sistem.
Rezultat prevoda se aritmetiki pomeri za jedno mesto u levo i sabere sa vrednou koja je
dobijena u prethodnom koraku. Dobijena vrednost je nova tekua vrednost prevoda.
Proizvod formiran u drugom koraku se sabere sa rezultatom prevoda. Dobijeni zbir je novi
rezultat prevoda. Izvravanje se prenosi na korak 2.
Pri prevoenju heksadekadnih cifara u dekadni sistem koristi se isti algoritam.
Zapis znakovnih podataka

Znakovni podaci se u raunaru zapisuju pomou binarnih kodova. Danas se koristi vie razliitih
kodova, kod kojih se svaki karakter kodira niskom binarnih cifara duine 7, 8 ili 16. Kodovi koji
se najee koriste:
ASCII U ovom kodu se moe predstaviti 128 razliitih karaktera pri emu se svaki karakter
predstavlja jednoznanom niskom od 7 binarnih cifara. Iako se za kodiranje koristi niska od 7
binarnih cifara, karakteri kodirani u ASCII kodu se skoro uvek uvaju i prenose u grupi do 8
bitova, pri emu se osmi bit koristi za kontrolu parnosti. Karatkeri u ASCII kodu se mogu podeliti
na kontrolne karaktere i karaktere koji imaju grafiku reprezentaciju na ekranu. Zasniva se na
engleskom alfabetu, i ne moe da kodira nau latinicu i irilicu.

EBCDIC U ovom kodu se moe predstaviti 256 razliitih karaktera pri emu se svaki karakter
predstavlja jednoznanom niskom od 8 binarnih cifara. Karakteri se dele na kontrolne karaktere
i karaktere koji imaju grafiku reprezentaciju na ekranu.
ISO-8 8-bitni kod koji se u prvih 127 pozicija poklapa sa ASCII kodom dok su preostale pozicije
popunjene kontrolnim i grafikim karakterima. ISO-8 grafiki karakteri formiraju kodnu stranu
koja se naziva ISO/ANSI Multilingual jer sadri grafike karaktere koji se javljaju u razliitim
evropskim jezicima.
IBM-PC 8-bitni kod koji se u prvih 127 pozicija poklapa sa ISO-8 kodom. Pozicije iznad 126 su
popunjene razliitim kontrolnim i grafikim karakterima.
UNICODE Standard za univerzalno kodiranje karaktera i omoguuje razmenu, obradu i prikaz
teksta pisanog u bilo kom jeziku savremenog sveta. UNICODE standard je kompatibilan sa ISO
standardom. Moze da se predstavi 65536 razliitih karaktera u jednoznanoj 16-bitnoj nisci.
UTF-8 Kodira svaki UNICODE simbol pomou promenljivog broja (1-4) okteta (svaki oktet ima
8 bitova), pri emu broj okteta zavisi od celobrojne vrednosti koja je dodeljena UNICODE
karakteru. UTF-8 je kompatibilan sa ASCII kodom. Danas je u irokoj upotrebi.
Kodna strana predstavlja preslikavanje izmeu grafikih karaktera i heksadekadnih
identifikacija. Svrha postojanja kodnih strana je omoguavanje razliitog rasporeda karaktera u
okviru istog koda (kombinacija irilinih i latininih slova).

8. Zapis celih brojeva u raunaru. Konverzija izmeu zapisa razliitih duina.


Primeri.
Celi brojevi se u raunaru zapisuju u obliku binarnog broja. Mesto najmanje teine je mesto u zapisu
broja na poziciji 0. Mesto najvee teine je mesto u zapisu broja na poziciji n-1. Bez obzira na duinu rei
u kojoj se zapisuju u memoriji, celi brojevi se pri izvoenju aritmetikih operacija konvertuju na duinu
registra.
Zapis neoznaenih brojeva
Neoznaen broj je broj iji zapis ne sadri znak. Zapis neoznaenih celih brojeva je identian njihovoj
reprezentaciji u binarnom brojanom sistemu.
[0, 2n 1]
primeri:
0000000000000000
65535 1111111111111111
Zapis oznaenih brojeva
Oznaen broj je broj iji zapis ukljuuje njegov znak. U binarnom sistemu komplement osnove N-ti
komplement se naziva potpuni ili drugi, a N 1-vi komplement se naziva nepotpuni ili prvi. U zapisu
oznaenih brojeva, cifra na mestu najvee teine oznaava znak broja. Ako je na tom mestu 1, broj je
negativan, a ako je 0, broj je pozitivan.
Znak i apsolutna vrednost: Najjednostvniji nain zapisa broja. Krajnje levi bit oznaava znak, a ostali
bitovi apsolutnu vrednost broja.

[-2n-1+1, 2n-1 -1]


Nedostaci:
Pri izvoenju raunskih operacija za otkrivanje eventualnog prekoraenja neophodno je ispitivati znak i
apsolutnu vrednost oba argumenta.
Nula se moe zapisati na dva naina, kao +0 ili -0, to dodatno oteava izvoenje raunskih operacija i
operacija poreenja sa nulom.
Nepotpuni komplement: Jednostavniji zapis broja nego zapis pomou znaka i apsolutne vrednosti.
Krajnje levi bit oznaava znak broja. Vrednost broja se zapisuje:
Ako je pozitivan broj, kao apsolutna vrednost tog broja;
Ako je negativan broj, kao broj koji se dobije kada se u zapisu apsolutne vrednosti broja svaka cifra
zameni njenim komplementom do najvee cifre brojanog sistema.
[-2n-1+1, 2n-1-1]
Osobine:
Jednostavnije izvoenje raunskih operacija nego sa brojevima zapisanim pomou znaka i apsolutne
vrednosti.
Nula se moe predstaviti na dva naina, kao +0 ili -0.
Potpuni komplement: Zapis razvijen da bi se prevazili svi nedostaci zapisa celih brojeva pomou znaka i
apsolutne vrednosti i nepotpunog komplementa. Krajnje levi bit oznaava znak broja, a ostali bitovi
vrednost broja. Vrednost broja se zapisuje:
Ako je pozitivan broj, kao apsolutna vrednost tog broja;
Ako je negativan broj, kao broj koji se dobije kada se na zapis broja u nepotpunom komplementu doda
jedinica na mesto najmanje teine.
Prednosti:
Jednostavnije izvoenje raunskih operacija.
Poseduje samo jedan zapis nule to olakava izvoenje operacija poreenja sa nulom.
[-2n-1, 2n-1+1] nesimetrian interval, jer se nula predstavlja kao pozitivan broj
Zapis uz dodavanje uveanja: Broj predstavlja zbir njegovog potpunog komplementa i vrednosti k koja
je poznata pod nazivom uveanje ili viak. Za broj zapisan sa uveanjem k se kae da je zapisan u kodu
viak k.
Vrednost uveanja nema numeriki znaaj, ve slui za pomeranje reprezentacije broja u potpunom
komplementu. Zbog toga u zapisu sa uveanjem postoji samo jedan reprezentacija nule. I zato se
vrednost uveanja bira tako da ima istu masku bitova kao i najmanji negativan broj.
Glavna karakteristika ovog zapisa celih brojeva je jednostavnost poreenja: bit niske koje se koriste za
zapis negativnih brojeva su numeriki manje od bit niski koje se koriste za zapis pozitivnih brojeva.
Koristi se u zapisu broja u pokretnom zarezu.
Konverzija izmeu zapisa razliitih duina
Ako je neki broj zapisan u binarnoj rei duine n i treba ga upisati u binarnu re duine m:
Ako je m < n upisivanje nije mogue, jer moe da doe do gubitka znaajnih cifara u broju i samim tim
do dobijanja pogrene vrednosti;
Ako je m = n nikakva konverzija ne postoji, jer su zapisi u obe binarne rei identini;
Ako je m n tada nain konverzije zavisi od naina zapisa celog broja.

Ako je zapisan u obliku znak i apsolutna vrednost, bit za znak se pomeri na krajnje levu poziciju i ostala
mesta se popune nulama.
Ako je zapisan u obliku nepotpunog ili potpunog komplementa, slobodne pozicije se popunjavaju
znakom broja.
primeri:
+ 127
-64
znak i apsolutna vrednost:
nepotpuni komplement:
potpuni komplement:
uveanje 128:

01111111
01111111
01111111
11111111

11000000
10111111
11000000
01000000

9. Promena znaka, sabiranje, i oduzimanje celih brojeva. Primeri.


Promena znaka celih brojeva zapisanih na racunaru se vrsi u zavisnosti
od nacina zapisa broja.
U ZAV promena znaka se vrsi tako sto se bit najvece tezine komplementira.
U nepotpunom komplementu se promena znaka vrsi tako sto se svaki bit, cak
i bit za znak komplementiram, a u potpunom komplementu se takodje svaki
bit ukljucujuci i bit za znak komplementira, pa se tako dobijeni broj
sabere sa 1 prema pravilima za sabiranje neoznacenih brojeva.
Sabiranje i oduzimanje neoznacenih brojeva se vrsi prema pravilima za
sabiranje u sistemu sa binarnom osnovom. Moze doci do nekorektnog rezultata,
jer se sabiranje vrsi po modulu 2^(n-1). To je prekoracenje.
Sabiranje brojeva u ZAV:
-----------------------1. Ako su brojevi istog znaka, isti znak ima i rezultat. A vrednost zbira se
dobija sabiranjem apsolutnih vrednosti sabiraka kao neoznacenih brojeva. Ako
se pri tom sabiranju javi prekoracenje ono ce se javiti i u konacnom rezultatu.
2. Ako su brojevi razlicitnog znaka, rezultat ce biti istog znaka kao i broj
koji ima vecu apsolutnu vrednost. A vrednost broja se dobija kada se od vece
apsolutne vrednosti oduzme manja.
3. Oduzimanje se svodi na sabiranje uz promenu znaka umanjiocu.
Sabiranje u nepotpunom komplementu:
----------------------------------U ovom zapisu broja znak i apsolutna vrednost se zajedno sabiraju, u dva koraka:
1. Brojevi se saberu kao neoznaceni celi brojevi, bez kontrole prekoracenja, a
prenos sa bita koji oznacava znak ne oznacava prekoracenje, neka je to C*.
2. Prenos C* sabere sa brojem koji se dobije uklanjanjem C* sa pozicije najvece
tezine uz kontrolu prekoracenja.
Prekoracenje se javlja kada se sabiraju brojevi istog znaka, a dobije se rezultat

drugog znaka, a oduzimanje se svodi na sabiranje.


Sabiranje u potpunom komplementu:
--------------------------------Sabiranje se vrsi u dva koraka:
1. Brojevi se saberu kao neoznaceni celi brojevi, bez kontrole prekoracenja, a
prenos sa bita koji oznacava znak ne oznacava prekoracenje, neka je to C*.
2. Konacan zbir se dobija kada se iz medjurezultata ukloni C*, bit koji oznacava
prenos sa bita za znak i proverom prekoracenja.
Prekoracenje se javlja kada se sabiraju brojevi istog znaka, a dobije se rezultat
drugog znaka, a oduzimanje se svodi na sabiranje.
Sabiranje u zapisu sa viskom:
----------------------------Prema pravilima za sabiranje odnosno oduzimanje brojeva u potpunom komplementu, uz
oduzimanje, odnosno dodavanje uvecanja da bi se dobio korektan broj.

10. Mnoenje neoznaenih celih brojeva. Primeri


Mnozenje neoznacenih brojeva je teze nego sabiranje ili oduzimanje.
Moze se vrsiti pomocu papira, prema pravilima za mnozenje neoznacenih dekadnih brojeva.
9*14
----------------00001001*00001110
----------------00000000
00001001
00001001
00001001
00000000
00000000
00000000
00000000
----------------000000001111110
Mnozenje se vrsi sabiranjem delimicnih proizvoda koji se formiraju mnozenjem mnozenika svakom
cifrom mnozioca.
Ako se mnozi 0 onda je delimicni proizvod jednak nuli, a ako se mnozi 1 onda je jednak mnozeniku.
Prvi delimicni proizvod se formira mnozenjem bitom najmanje tezine u mnoziocu.
Svaki sledeci delimicni proizvod se pomera za jedno mesto ulevo, a moze se izostaviti mnozenje nulom,
ali onda
se sledeci delimicni proizvod pomera za jos jedno mesto ulevo.
Ukoliko se mnoze brojevi od N i M bita, proizvod ne moze imati vise od N+M bita.
Poboljsanja:
------------

1. Umesto formiranja delimicnih proizvoda, koji moraju da se cuvaju da bi se sabrali, formira se


medjurezultat,
u koji se odmah dodaje delimicni proizvod. Tako se stedi prosto i umanjuje broj registara.
2. Mnozenje nulom moze da se izostavi.
Hardverski se ovaj algoritam moze implementirati pomocu serijskog mnozioca. Za to su potrebni registri
M, A, P i
jedan dodatni jednobitni registar C koji cuva prenos sa bita najvece tezine pri sabiranju.
1. Na pocetku se u registar M upisuje mnozenik, u registar P mnozilac, a u registre C i A se upisuju
nule.
2. Na osnovu sadrzaja bita najmanje tezine registra P odredjuje se ima li sabiranja registra M sa
trenutnim medjuzbirom,koji se nalazi u registru A, a prenos se belezi u C. Ako je sadrzaj bita 0
ne vrsi se sabiranje, a ako je 1 sabiranjese vrsi.
3. Vrsi se logicko pomeranje u desno registara C, A, P koji se gledaju kao jedan registar.
4. Predhodna dva koraka se ponavljaju onoliko puta kolika je duzina mnozioca.
5. Rezultat se cita u registrima AP koji je duple duzine nego mnozenik i mnozilac.

11. Mnoenje oznaenih celih brojeva. Butov Algoritam. Primeri


Algoritam za mnozenje neoznacenih celih brojeva ne moze se upotrebiti za mnozenje brojeva
zapisanih u potpunom komplementu. Zbog pocetnog bita koji odredjuje znak dobija se nekorektan
proizvod.
U racunarima se obicno ovo mnozenje implementira pomocu Butovog Algoritma za mnozenje
oznacenih
brojeva u potpunom komplementu.
Potrebna su tri registra M, A, P i jednobitni registar P-1:
1. Na pocetku se u registar M upise mnozenik, u registar P mnozilac, a u registre A i P-1 nule.
2. Formiranje medjuzbira se vrsi tako sto se uprede registri P0 i P-1. Ako se razlikuju i kombinacija
im je 10 vrsi se oduzimanje mnozenika od registra A, ukoliko su 01 vrsi se sabiranje mnozenika sa
registrom A, a ukoliko su 00 ili 11 nema akcije.
3. Posle ovoga vrsi se aritmeticko pomeranje u desno registara A, P, P-1 koji se gledaju kao jedan
registar.
Pri aritmetickom pomeranju se zadrzava bit najvece tezine i tako se cuva znak broja.
4. Predhodna dva koraka se ponavljaju onoliko puta kolika je duzina mnozioca.
5. Proizvod se cita iz registara AP i u potpunom je komplementu.

12. Modifikovan Butov algoritam. Primeri.


Modifikovani Butov algoritam je osmisljen tako da smanji broj koraka pri mnozenju
brojeva zapisanih u potpunom komplementu.
Za svaki niz uzastopnih jedinica, koristi se samo jedno sabiranje i jedno oduzimanje.

1. Ovaj algoritam se izvodi tako sto se formira modifikovani Butov mnozilac. On se formira
tako sto se citajuci s desna na levo na pojavu prve jedinice u nizu pise -1, a na pojavu
prve nule nakon niza jedinica pise 1. Na ostala mesta se upisu 0.
2. Formiraju se parovi od po dva clana iz kodiranog mnozioca i njihova vrednost se odredjuje
po formuli 2*A_(2k)+A_(2k-1). Moguce vrednosti su -2, -1, 0, +1, +2
3. Za svaki par koji se pojavi, mnozenik se pomera za 2k mesta ulevo.
4. Tako pomeren mnozenik mnozi se sa vrednoscu para i dobijaju se delimicni proizvodi.
Ako je vrednost para jednaka 0, delimicni proizvod je jednak nuli.
Ako je vrednost para jednaka 1, delimicni proizvod je jednak pomerenom mnozeniku.
Ako je vrednost para jednaka -1, delimicni proizvod je potpunom komplement pomerenog
mnozenika.
Ako je vrednost para jednaka 2, pomera se mnozenik za jos jedno mesto i to je delimicni
proizvod.
Ako je vrednost para jednaka -2, pomera se mnozenik za jos jedno mesto, pa se tako
dobijeni broj potpuno komplementira i to je delimicni proizvod.
5. Kada se svi parovi upotrebe onda se sabiraju delimicni proizvodi i dobija se konacni proizvod.
U najgorem slucaju broj koraka potreban za mnozenje bice jednak K/2 gde je K broj bita mnozioca.

13. Deljenje neoznaenih celih brojeva. Primeri.


Deljenje neoznacenih celih brojeva je dosta slozenije nego mnozenje, ali se zasniva na slicnim
principima.
Deljenje binarnih brojeva se na papiru vrsi prema pravilima za deljenje dekadnih brojeva.
1. Porede se pocetak deljenika i delilac, na duzini delioca. Uzimamo da je pocetak delioca prvi delimicni
ostatak.
2. Ukoliko je delilac veci od delimicnog ostatka u kolicnik se se upisuje 0, a ukoliko je delilac manji
od delimicnog ostatka onda se u delilac upisuje 1.
3. Ukoliko je delilac manji od delimicnog ostatka, onda se on oduzima od del. ostatka i rezultat posle
dodavanja naredne cifre deljenika postaje novi delimicni ostatak.
4. Predhodna dva koraka se vrse sve dok ima cifara deljenika. Ostatak se cita kao poslednji delimicni
proizvod. A cifre u deljenik se upisuju sa leva na desno.
Za Hardversku implementaciju ovog algoritma potrebna su tri registra M, A, P.
1. Na pocetku se u M upisuje delilac, u P se upisuje deljenik, a u A se upisuju nule.
2. Pomera se sadrzaj registara AP, gledajuci ih kao jedan registar, za jedno mesto ulevo.
3. Onda se porede sadrzaj registra M i A.
Ukoliko je A>=M onda se od A oduzima M i taj rezultat se pise u registar A, a na bit najmanje
tezine
registra P se upisuje 1.
Ukoliko je A<M onda nema oduzimanja, nego sadrzaj registra A ostaje isti, a na bit najmanje
tezine registra P se upisuje 0.
4. Korake 2. i 3. izvrsavamo onoliko puta koliki je broj bitova u registrima.

5. Kolicnik se cita u registru P, a ostatak u registru A.

14. Deljenje oznaenih celih brojeva. Primeri.


Deljenje oznacenih celih brojeva zapisanih u potpunom komplementu se vrsi uz
pomoc slicnog algoritma koji se koristi za deljenje neoznacenih celih brojeva,
samo malo prosiren.
Takodje i ovde se koriste registri M, A i P, a broj koraka je jednak duzini registra
u koji se upisuje delilac.
1. Na pocetku se u registar M upise delilac, a u registre AP posmatrane kao jedan se
upise deljenik u potpunom komplementu duzine 2n.
2. Vrsi se aritmeticko pomeranje registara A i P za jedno mesto u levo, posmatranih kao
jedan registar.
3. Porede se znaci registara A i M i ukoliko su isti vrsi se oduzimanje sadrzaja registra
M od sadrzaja registra A, ukoliko su razlicitog znaka onda se vrsi sabiranje A+M.
4. Sada se porede znaci rezultata izracunavanja iz predhodnog koraka i registra A, i ako
su isti operacija je uspesna.
5. Ukoliko je operacija uspesna onda se rezultat iz koraka 3. upisuje u registar A, a u
najmanji bit registra P se upisuje 1. Ukoliko je operacija neuspesna A ostaje nepromenjeno,
a u bit najmanje tezine registra P se upisuje 0.
6. Predhodna tri koraka se vrse n puta, gde je n broj bitova delioca. Sadrzaj u registru
A je ostatak, a sadrzaj u registru P je kolicnik.

15. Binarno kodirani dekadni brojevi. Binarni kodovi. BCD zapis. Primeri.
Zbog toga sto je nekada nemoguce tacno predstaviti dekadne razlomljene
brojeve u binarnom brojevnom sistemu, doslo se na ideju da se svaka
dekadna ciffra u zapisu broja posebno kodira pomocu binarnog zapisa.
Za uspesno kodiranje svih cifara potrebno je da binarni kod sadrzi najmanje 4 binarne cifre. To daje veliki broj razlicitih kombinacija, ali
posto su dosta njih neupotrebljivi, a i da bi se postoval pravila imamo
neke osnovne zapise koji se danas koriste.
Pravila su sledeca:
1. Kodiranje mora biti jednoznacno, tj razlicite dekadne cifre
moraju biti rezlicito binarno kodirane
2. Najvecoj dekadnoj cifri 9, mora biti pridruzena kodirana rec
koja ima najvecu vrednost posmatrana kao binarni broj
3. Parni i neparni brojevi moraju odgovarati parnim i neparnim
binarnim brojevima
4. Kod je komplementaran kada je a+b=9, gde su a i b kodovi
odgovarajucih dekadnih cifara

5. Kod je tezinski ako vazi da je q=p3*y3+p2*y2+p1*y1+p0*y0


Svi sem kodova visak 3 i ciklickog su tezinski, a komplementarni su 8421,
84-2-1, visak 3...
Ozneceni binarno kodirani brojevi poseduju dodatnu cifru u koju upisujemo
znak broja, a za njihov zapis koristimo ZAV i 10-ti komplement.
Kod visak 3 je popularan bio u kalkulatorima jer daje mogucnost da se
brojevi [0, 49999] tretiraju kao pozitivni, a [50000, 99999] kao negativni.
8421 kod-(0000-0, 0001-1, ...., 1000-8, 1001-9)
visak 3-(0011-0, 0100-1, 0101-2, .... , 1011-8, 1100-9)
Postoje pakovani i nepakovani BCD zapis. Kod nepakovanog zapisa problem je
sto za zapis jedne cifre koristimo ceo jedan registar, odnosno dupliramo
informacije. Levi polu-bajt koristimo kao neki kontrolni deo u njega stalno
upisujemo F(u EBCDIC, a 3 u ASCII), sem u poslednjem bajtu gde u levi polubajt upisujemo C za pozitivne, odnosno D za negativne brojeve.
U desni, odnosno cifarski polu-bajt upisujemo binarno kodiranu cifru.
Da bi se ustedelo na prostoru izbaceni su ti kontrolni karakteri, pa se u
jedan bajt mogu upisati dva binarno kodirana dekadna broja, sem u zadnji
u koji se u desni polu-bajt upisuje znak broja(C za plus, D za minus).

16. Grejovi kodovi i karakteristike. Konverzija u Grejov kod i obratno.


Primeri.
Grejov kod je slican ciklickom kodu.
To je funkcija G(n, i) koja 1-1 preslikava broj i u binarni kod
duzine n, a kodovi G(n, i) i G(n, i+1) se razlikuju za tacno
jedan bit. Postoji vise Grejovih kodova.
Grejov kod se koristi u karnoovim mapama.
Postoji efikasan algoritam za konvertovanje broja zapisanog u
binarnom sistemu u Grejov kod i vrsi se sa leva na desno.
1. Cifra najvece tezine se kopira, a ostale cifre se odredjuju
po formuli
2. Dekodiranje Grejovog koda se vrsi takodje po formuli, a cifra
najvece tezine se kopira.

(+) je ekskluzivna disjunkcija, ima vrednost 1, samo kada su


clanovi razliciti, inace je 0.
Binarni broj: 10110010
Grejov kod: 11101011
Binarni broj: 10110010

17. en-Ho kodiranje. DPD kodiranje. Karakteristike. Primeri.


Posto je za kodiranje jedne dekadne cifre potrebno 4 bita, za 3 cifre
je potrebno 12 bitova, pa u vecini slucajeva dolazi do gubitka prostora.
IBM naucnici su 1971 dosli na ideju da bi mogli nekako optimizovati
zapis ovih binarnih kodova i zakljucili da je za kodiranje tripleta
dekadnih cifara dovoljno 10 bita, sto je 20% poboljsanja.
Postoje Chen-Ho i DPD(2002) kodiranje, ali ideja im je u sustini ista.
Cifre su podelili na male [0, 7] i velike [8, 9]. da bi se razlikovale
male cifre potrebno je 3 bita, a za razlikovanje velikih samo jedna, pa
po tome razlikuju sledece slucajeve:
1. Sve cifre su male potrebno 9 bitova za cifre i 1 za kombin.
2. Jedna cifra je velika, 7 bitova za cifre i 3 bita za kombin.
3. Dve cifre su velike, 5 bitova za cifre i 5 za kombinaciju
4. Sve cifre su velike, 3 bita za cifre i 7(5) za kombinaciju
Kodiranje je proces u kome se 12-bitna kombinacija (abcd)(efgh)(ijkl)
kodira u 10-bitnu kombinaciju(p)(qrs)(tuv)(wxy) kod Chen-Ho, odnosno u
(pqr)(stu)(v)(wxy) kod DPD kodiranja. Kodiranje se vrsi prema tabeli,
ali je moguce i softverski implamentirati pomocu logickih funkcija.
Dekodiranje je proces odredjivanja vrednosti 12-bitne kombinacije
(abcd)(efgh)(ijkl) na osnovu 10-bitne kombinaciju(p)(qrs)(tuv)(wxy)
kod Chen-Ho, odnosno (pqr)(stu)(v)(wxy) kod DPD kodiranja. Takodje se
i dekodiranje moze implementirati pomocu logickih funkcija.
Glavne prednosti DPD u odnosu na Chen-Ho su:
1. Pri kodiranju jedne ili dve cifre stedi se prostor, dok kod
Chen-Ho kodiranja uvek za 3 cifre treba 10 bita.
2. Pri kodiranju jedne ili dve cifre vrsi se desno poravnanje
tako da pri prosirivanju zapisa nije potrebno ponovo kodirati broj, dok
kod Chen-Ho kodiranja je neophodno ponovno kodiranje.

3. Brojevi od [0, 79] su desno poravnati kao i u BCD8241 zapisu,


sto olaksava konverziju, dok su kod Chen-Ho kodiranja poravnani samo u
intervalu [0, 7]
Uzecemo kao primer kodiranje broja 596:
Chen-Ho kodiranje:
-----------------abcd efgh ijkl
0101 1001 0110

DPD kodiranje:
-----------------abcd efgh ijkl
0101 1001 0110

p qrs tuv wxy


1 011 101 110
------------------

pqr stu v wxy


101 111 1 010
------------------

18. Sabiranje i oduzimanje binarno kodiranih dekadnih brojeva u kodu 8421 i


viak 3. Primeri.
Za sabiranje i oduzimanje binarno kodiranih dekadnih brojeva vaze pravila
koja vaze za sabiranje i oduzimanje u znaku i apsolutnoj vrednosti. A
prekoracenje moze da se javi samo kada se sabiraju ili oduzimaju dva broja
istog znaka, tj kada je za zapis potrebna n+1 cifra. Prekoracenje se lako
otkriva, kao i kod celih brojeva.
Sabiranje i oduzimanje se vrsi u dve faze:
1. Binarni kodovi svake od dekadnih cifara u sabircima se sabiraju
se kao cetvorocifreni binarni brojevi, prema pravilima za sabiranje celih
neoznacenih brojeva. Ako se pri ovom sabiranju javi prekoracenje ono se
prenosi i sabira sa zbirom na narednom cifarskom mestu. Prenos na cifarsko
mesto najmanje tezine je 0. Ovo je medjurezultat koji se mora korigovati.
2. U drugom koraku se za svako cifarsko mesto odredjuje korekcija
u odnosu na dobijeni zbir ili prenos na sledece cifarsko mesto. Konacan
rezultat je jednak zbiru korekcije i medjurezultata.
Oduzimanje se vrsi analogno sabiranju, samo sto se u obe faze brojevi ne
sabiraju, vec oduzimaju.
Sabiranje i oduzimanje u kodu 8421:
----------------------------------Funkcija kodiranja u ovom zapisu je definisana kao prevodjenje dekadne
cifre u binarni brojevni sistem.

1. Prva faza je analogna opstem algoritmu, odnosno sabiraju se


binarni kodovi za svake od dekadnih cifara u sabircima prema pravilima za
sabiranje neoznacenih celih brojeva, a ako se javi prekoracenje ono se sabira
sa zbirom na narednom cifarskim mestom. Tako dobijamo medjurezultat.
2. Sabiramo binarne kodove iz medju rezultata sa prenosom koji se
javja u ovoj fazi. Prenos na najmanju tezinu je 0. Onda u zavisnosti od zbira
koji smo dobili odredjujemo korekciju za to cifarsko mesto. Ako je dobijeni
zbr >=1010 ili postoji prenos ne poziciju vece tezine u prvom koraku, onda
za korekciju uzimamo 0110, a inace korekcija je 0000. Tako dobijenu korekciju
sabiramo sa novim medjurezultatom, a ako ima prenosa sabiramo ga sa narednim
medjuzbirom iz prvog koraka i ponavljamo ovaj korak n puta. Ovako dobijeni
zbir je konacan.
Prekoracenje se javlja, ako se prenos javi sa pozicija najvece tezine bilo u
prvom ili drugom koraku.
Oduzimanje se radi analogno sabiranju, samo sto se u obe faze vrsi oduzimanje
umesto sabiranja.
Sabiranje i oduzimanje u kodu visak 3:
-------------------------------------Funkcija kodiranja u ovom zapisu definisana je
.
1. Prva faza je ista kao i u kodu 8421 ili opstem algoritmu.
2. Druga faza se sprovodi na slican nacin kao i u kodu 8421. Medjurezultat dobijen u prvoj fazi je potrebno sabrati sa korekcijom, koju u ovom
slucaju odredjujemo na osnovu toga da li je u prvoj fazi postojao prenos na
naredno cifarsko mesto. Ako jeste korekcija je 0011, a u suprotnom je 1101.
Krajnja vrednost se dobija sabiranjem ove korekcije sa medjurezultatom iz
prve faze. Ako dodje do prekoracenja ono se zanemaruje.
Prekoracenje se javlja samo u slucaju da je prenos sa cifarskog mesta najvece
tezine jednak 1.

20. Zapis realnih brojeva u pokretnom zarezu pomou binarne osnove u


ne-IEEE 754 formatu.
Zapis realnog broja se sastoji od sledeih komponenti:

~znaka broja
~frakcije i
~eksponenta.
Tipican predstavnik racunara koji su koristili zapis sa binarnom osnovom su familije PDP-11 i VAX-11
firme DEC.
Zapis u registru duzine 32 bita pomocu binarne osnove prikazan je na sledecoj slici:
Znak
broja

Eksponent sa uvecanjem
128

Frakcija

Znacajni deo broja se zapisuje u obliku znaka i apsolutne vrednosti. Znak znacajnog dela broja je
istovremeno i znak broja. Upisuje se u bit najvece tezine i ima vrednost 0 za pozitivne i 1 za negativne
brojeve. Apsolutna vrednost se prevodi u binarni sistem i zapisuje u normalizovanom obliku uz dodatnu
modifikaciju. Umesto oblika
d 0,d-1d-2..d-(p-1)
koristi se oblik
0,d0d-1d-2..d-(p-1)
s tim da se frakcija zapisuje sa 23 (0-22)binarne pozicije umesto sa 24, zbog toga sto d0 mora da bude
jednak jedinici, pa se on izostavlja.
Pa bi frakcija broja izgledala :
d-1d-2...d-(p-1)
Eksponent se zapisuje u 8 bita na pozicijama od 23-30. Vrednost eksponenta se zapisuje uz uvecanje
128. Vrednost eksponenta koji moze da se zapise pripada intervalu
[-128, +127], odnosno sa uvecanjem [0, 255].
Za vrednost s, kojom se predtavlja frakcija vazi:
Na osnovu prethodnog mogu se zapisati brojevi u intervalu
Medjutim kako

predstavlja 0 , opseg brojeva koji se mogu predstaviti na ovakav nacin je:

Odnosno dekadno:
Pokusaj da se yapise broj veci od

dovodi do pozitivnog ili negativnog prekoracenja,

u zavssnosti od znaka broja. Pri zapisu realnog broja u pokretnom zarezu moze do potkoracenja,
potkoracenje se javlja pri pokusaju zapisa broja koji je po apsolutnoj vrednosti manji od donje granice
intervala brojeva koji se mogu predstaviti u zapisu
U tom slucaju racunar generise informaciju

da je doslo do potkoracenja, zapise takav broj kao 0 i nastavi dalje sa radom. Potkoracenje takodje
moze biri pozitivno i negativno.
Realan broj se zapisuje u dvostrukoj tacnosti pomocu dva uzastopna registra velicine 32 bita. Format
zapisa u prvom registru je identican formatu zapisa u jednostukoj tacnosti, dok se ceo drugi registar
koristi za registrovanje dodatnoh cifara frakcije, dok eksponent ostaje isti.Interval realnih brojeva koji
mogu da se predstave u dvostrukoj tacnosti je:

21. IEEE 754 zapis realnih brojeva i karakteristike. Opis standarda IEEE
754-2008
Zbog lose prenosivosti numerickih programa, lose kompatibilnosti na drugim
racunarima 1985 godine uveden je IEEE 754 standard za zapis realnih brojeva
u pokretnom zarezu. On je propisivao neka pravila, algoritme za izvodjenje
aritmetickih operacija, kao i zaokruzivanja tih brojeva.
1. Zaokruzivanje i greske. Neke brojeve u pokretnom zarezu ne mozemo uvek
predstaviti pomocu izabranog broja bitova, tako da ih moramo zaokruziti i
pri tome se javlja greska koja se moze izraziti u UPL-ima ili kao relativna
greska. Greska u ulpima je greska jedinica na poslednjem mestu. A relativna
greska je apsolutna vrednost razlike broja i njegove reprezentacije, koju
delimo apsolutnom vrednoscu broja.
ULP se koristi kada zelimo da odredimo gresku prilikom zaokruzivanaj, dok za
analizu greske prilikom izracunavanja koristimo relativnu gresku. Oba nacina
su vezana za masinsko E, a oba se takodje mogu koristit za odredjivanje reda
velicine greske.
2. Cifre cuvari sluze da se prilikom izracunavanja smanje greske, tako sto se
brojevi zapisuju sa vecom preciznoscu, pa se posle zavrsene operacije svedu
na staru preciznost. U nekim slucajevima nije dovolja jedna cifra cuvar, pa
se negde koriste i dve cifre cuvara.
3. Tacno zaokruzene operacije se sastoje u tome da se rezultat po zavrsetku
operacije zaokruzi na najblizi realan broj u pokretnom zarezu, tako se dobije
veca preciznost nego pomocu cifara cuvara.
Zbog nemogucnosti predstavljanja svih dekadnih realnih brojeva pomou binarne
osnove, kao i zbog blizine dekadne osnove ljudima doslo se na ideju da se u
standard uvede i dekadna osnova. Kao nacin kodiranja je predlozen BCD, koji
je poslednjih godina promenjen u DPD.

Dekadna osnova bi morala da zadovoljava uslove kao sto su:


1. Brojevi se zapisuju u registrima, u istom prostoru koji je potreban
za zapis brojeva u binarnoj osnovi
2. Format zapisa ukljucuje znak, frakciju i eksponent
3. Potrebno je obezbediti bar zapis u jednoj od jednostruke, dvostruke
ili cetvorostruke tacnosti
4. Omoguciti tacan zapis dekadnih cifara bez konverzije
5. Preciznost da bude slicna preciznoscu pri zapisu sa binarnom osnovom
6. Specijalne vrednosti
7. Pravila za izvodjenje operacija
IEEE 754-2008 standard:
----------------------Cilj je bio da se uklone neki postojeci nedostatci, da se uvedu neke operacije,
da se olaksa prenos i konverzija izmedju realnih i celih brojeva...
Propisuje:
---------1. 2 i 10 kao osnove za zapis brojeva u pokretnom zarezu
2. Osnovne foramte zapisa u dekadnoj i binarnoj osnovi
3. Formate za razmenu podataka zapisanih u dekadnoj i binarnoj osnovi
4. Prosirene i prosirive foramte zapisa
5. Nacin izvodjenja sabiranja, oduzimanja, mnozenja, deljenja, spojenog
visestrukok sabiranja, poredjenja, dobijanja kvadratnog korena, ostatka pri
deljenju...
6. Nacin konverzije izmedju celobrojnih i podataka zapsanih u pokretnom
zarezu
7. Konverzija izmedju razlicitih tipova zapisanih u pokretnom zarezu
8. Nacin konverzije izmedju formata brojeva zapisanih u pokretnom zarezu
i njihove spoljasnje reprezentacije
9. Vrste izuzetaka i nacin njihove obrade
Osnovni tipovi zapisa:
---------------------1.
2. +oo ili -oo
3. qNaN ili sNaN
Opseg brojeva zavisi od osnove, broja cifara u frakciji(preciznosti), najvece
vrednosti exponenta EMAX i najmanje vrednosti exponenta EMIN.

22. Predstavljanje specijalnih vrednosti u IEEE 754 zapisu realnih brojeva.


Primeri.

Normalizovani brojevi poseduju eksponent e pripada [e min, e max], implicitni bit je 1, dok
frakcija moze da ima proizvoljnu vrednost.
NaN (Not a number)
NaN-ovi se u IEEE 754 predstavljaju kao broj u pokretnom zarezu sa eksponentom e max +1 (sve
jedinice) i frakcijom koja nije 0.Sadrzaj frakcije zavisi od konkretne implementacije na racunaru. U praksi
se javljaju 2 grupe NaNova:
1) sNaN signalizira izuzeto stanje kod aritmetickih operacija, poredjenja i konverzija operacija
koje su deo standarda.
1 ili 0

11.. 11

Pocinje sa 0 i bar jedan bit razlicit od 0.

2) qNaN predstavlja pojavu nedozvoljene operacije u programu. qNaN se propagira kroz


izracunavanje tako da ostaje vidljiv na njegovom kraju. Pri tome se ne signalizira pojava
izuzeca.
1 ili 0

0 ili 1

111..111

Pocinje sa 1 i ostali prozivoljno.

Bezkonacno se predstavlja u pokretnom zarezu sa eksponentom e max +1 (sve jedinice) i


frakcijom koja je 0. U zavisnosti od znaka dobija se vrednost +beskonacno ili bezkonacno.
111.. 11

0000.00000

Oznacena 0
0 se predstavlja pomocu eksponenta e min -1 dok je frakcija jednaka 0. Kako znak moze da ima 2
razlicite vrednosti, to u standardu postoje 2 zapisa za 0 : +0 i -0. Da ne bi bilo razlike pre poredjenju +0 i
-0 standardom je definisano da vazi da su one jednake.
0 ili 1

0000..00

000 000

Denoramlizovani brojevi
Ako je vrednost frakcije f i ako je vrednost eksponenta e, kada je e> e min -1, broj se predstavlja kao
1,f*2^e, dok ako vazi e=e min -1, tada se broj predstavlja kao 0,f * 2^e +1. Bez denormalizovanih
brojeva, svaki broj manji od 2^-26 je zamenjivan sa 0. Sa denormalizovanim brojevima granica je
pomerena na 1,0 * 2^-149 (frakcija sadrzi samo 1 na poslednjem mestu.) Na taj nacin se postize
postepeno potkoracenje.
1 ili 0

000..00

Bar jedan bit razlicit od 0.

23. Osnovni formati zapisa u IEEE 754. Formati za razmenu/binarna osnova.


Karakteristike. Primeri.
IEEE 754 propisuje 5 osnovnih formata za zapis:
1. Tri formata zapisa sa binarnom osnovom sa preslikavanjem u 32, 64 i 128 bita
2. Dva formata zapisa sa dekadnom osnovom sa preslikavanjem u 64 i 128 bita
Podaci zapisani u osnovnim formatimase koriste u aritmetickim operacijama, a da
bi implementacija bila u skladu sa standardom mora se implementirati bar jedan
od ovih formata.
binary32(p=24, emax=127) binary64(p=53, emax=1023) binary128(p=113, emax=16383)
decimal32(p=7, emax=101) decimal64(p=16, emax=384) decimal128(p=34, emax=6144)
Mora se omoguciti predstavljanje sledecih brojeva u pokretnom zarezu:
1. Oznacenih nula i ne nula brojeva oblika (, tako da vazi da
s=(0, 1),

, m je tipa d_0,d_1...d_(p-1)
2. Dve beskonacne vrednosti +oo i -oo
3. Dve NaN vrednosti i to qNaN i sNaN

U nekim slucajevima se frakcija predstavlja kao ceo broj umesto kao razlomljen i
u tom slucaju se konacan broj u pokretnom zarezu predstavlja kao oznacena nula
ili ne-nula vrednost obliak
gde je s=(0,1), emim<=q+p-1<=emax, a C
je broj predstavljan sa d_0.....d_(p-1)
Binarna osnova:
--------------U formatu za razmenu podataka zapisanih pomocu binarne osnove se svaki broj u
pokretnom zarezu zapisuje na jedan nacin. Da bi ovo bilo pravilo izvedeno frakcija se povecava dok exponent smanjujemo, sve dok e=emin ili m>=1. Ako je e=emin
i 0<m<1 onda smo dobili subnormalan broj u pokretnom zarezu.
Format zapisa je sledeci sa leva na desno:
1. Znak broja S velicine 1 bit
2. Uvecani exponent E=e+uvecane zapisan u W bita
3. Frakcija ili znacajan deo d_1...d(p-1) zapisan u duzini T=p-1 bita, a
vodeci ili implicitni bit je zapisan u uvecanom exponentu
Standarad definise formate za razmenu podataka zapisanih upomocu binarne osnove

velicine 16, 32, 64 i 128 bita. Formati binary32 i bynary64 odgovaraju zapisu u
jednostrukoj i dvostrukoj tacnosti. Mozemo zapisati i broj u bilo kom broju bita
koji je veci od 128, a umnozak je 32.
binary16(duz_exp=5, uvecanje=15, prec=11, min=
binary32(duz_exp=8, uvecanje=127, prec=24, min=

, max=
, max=

binary64(duz_exp=11, uvecanje=1023, prec=53, min=

, max=

binary128(duz_exp=15, uvec=16383, prec=113, min=

, max=

)
)
)
)

+15= 0 10000010 11100000000000000000000


-oo= 1 11111111 00000000000000000000000
-0= 1 00000000 00000000000000000000000

24. Osnovni formati yapisa u IEEE754. Formati za razmenu/dekadna osnova/


dekadno enkodiranje. Karakteristike. Primeri.
IEEE 754 propisuje 5 osnovnih formata za zapis:
1. Tri formata zapisa sa binarnom osnovom sa preslikavanjem u 32, 64 i 128 bita
2. Dva formata zapisa sa dekadnom osnovom sa preslikavanjem u 64 i 128 bita
Podaci zapisani u osnovnim formatimase koriste u aritmetickim operacijama, a da
bi implementacija bila u skladu sa standardom mora se implementirati bar jedan
od ovih formata.
binary32(p=24, emax=127) binary64(p=53, emax=1023) binary128(p=113, emax=16383)
decimal32(p=7, emax=101) decimal64(p=16, emax=384) decimal128(p=34, emax=6144)
Mora se omoguciti predstavljanje sledecih brojeva u pokretnom zarezu:
1. Oznacenih nula i ne nula brojeva oblika
, tako da vazi da
s=(0, 1), emin<=e<=emax, m je tipa
2. Dve beskonacne vrednosti +oo i -oo
3. Dve NaN vrednosti i to qNaN i sNaN
U nekim slucajevima se frakcija predstavlja kao ceo broj umesto kao razlomljen i
u tom slucaju se konacan broj u pokretnom zarezu predstavlja kao oznacena nula
ili ne-nula vrednost obliak
gde je s=(0,1), emim<=q+p-1<=emax, a C
je broj predstavljan sa

Dekadna osnova DPD:


------------------Realan broj moze da ima vise reprezentacija pomocu dekadne osnove i skup svih tih
razlicitih reprezentacija se naziva KOHORTE.
Za konacan ne-nula broj od n cifara postoji maximalno n-p+1 clanova kohorte, a za
broj koji se nalazi blizu granica intervala moze imati manje od n-p+1 clanova. Dok
nula ima mnogo vise clanova kohorte.
Bilo da je u pitanju konacan broj, beskonacno ili NaN vrednost moze se zapistai na
vise razlicitih nacina, ali samo jedan nacin zapisa je kanonicki zapis.
Zbog nepostojanja slaganja u standardu su predvidjene dve mogucnosti za zapis i
one su nazvane binarno i dekadno enkodiranje. Dekadno enkodiranje se lakse koristi
u hardverskoj implementaciji, dok je za softversku implementaciju bolje binarno. A
bez obzira koje kodiranje se koristi skup vrednosti koje mogu da se predstave isti
je i korisnik ne mora da vodi racuna koji nacin koristi. Takodje je i omogucena i
konverzija.
1. Znak broja S velicine 1 bit
2. Polje za kombinaciju velicine w+5bita koje kodira:
a) klasifikaciju(konacan, oo, NaN...)
b) za konacne brojeve uvecani exponent je velicine w+2 bita
c) cifru najvece tezine znacajnog dela za DPD ili 3-4 cifre najvece tezine
frakcije kod BID
3. Ostatak T frakcije koji sadrzi 10*J bita, tako da je omogucen zapis 3*J+1 cifre
u dekadnom sistemu
Standard definise format za razmenu podataka zapisanih pomocu dekadne osnove najmanje velicine 32bita, a naravno i bilo koje velicine koji je umnozak od 32.
Odredjivanje reprezentacije vrsimo pomocu 5 bitova najvece tezine u zapisu kombinacije

1. Ukoliko su tih 5 bitova jednaki 11111, vrednost je NaN. Ukoliko je


)=1 vrednost je sNaN, a inace qNaN. Ostali bitovi kombinacije su nebitni.

2. Ukoliko su tih 5 bitova jednaki 11110, vrednost je oo (Infinity), a


ostali bitnovi kombinacije se zanemaruju, a po kanonu su jednaki nuli kao i kod
NaN vrednosti.
3. Ukoliko su tih 5 bitova izmedju 00000-11101 u pitanju je konacan broj i

tu imamo sledece mogucnosti:


a) 5 bitova u intervalu 0xxxx-10xxx tada su
najvece tezine exponenta,

dva bita

kodiraju cifru na najve-

coj poziciji frakcije, a ostali bitovi kombinacije cine nastavak


exponenta.
b) 5 bitova u intervalu od 110xx-1110x onda je vrednost cifre najvece tezine frakcije je 100( ),pocetak exponenta je
,
a nastavak frakcije krece od

do kraja.

c) Ako je frakcija jednaka 0, a prvih 5 bita kombinacije su 00000,


01000 ili 10000 onda se radi o oznacenoj nuli.
Frakcija sadrzi 3*J dekadnih cifara koje su DPD enkodirane.
Nacin kodiranja ne utice na izbor velicine uvecanja exponenta i broja cifara u
znacajnom delu.
decimal32(duz_exp=8, uvec=101, prec=7, min=
decimal64(duz_exp=10, uvec=398, prec=16, min=
decimal128(duz_exp=14, uvec=6176, prec=16, min=

max=

, max=
, max=

)
)

+15= 0 01000100101 0000000000 0000010101


-0= 1 01000100101 0000000000 0000000000

25. Osnovni formati zapisa u IEEE 754. Formati za razmenu/dekadna


osnova/binarno enkodiranje. Karakteristike. Primeri.
IEEE 754 propisuje 5 osnovnih formata za zapis:
1. Tri formata zapisa sa binarnom osnovom sa preslikavanjem u 32, 64 i 128 bita
2. Dva formata zapisa sa dekadnom osnovom sa preslikavanjem u 64 i 128 bita
Podaci zapisani u osnovnim formatimase koriste u aritmetickim operacijama, a da

bi implementacija bila u skladu sa standardom mora se implementirati bar jedan


od ovih formata.
binary32(p=24, emax=127) binary64(p=53, emax=1023) binary128(p=113, emax=16383)
decimal32(p=7, emax=101) decimal64(p=16, emax=384) decimal128(p=34, emax=6144)
Mora se omoguciti predstavljanje sledecih brojeva u pokretnom zarezu:
1. Oznacenih nula i ne nula brojeva oblika
, tako da vazi da
s=(0, 1), emin<=e<=emax, m je tipa
2. Dve beskonacne vrednosti +oo i -oo
3. Dve NaN vrednosti i to qNaN i sNaN
U nekim slucajevima se frakcija predstavlja kao ceo broj umesto kao razlomljen i
u tom slucaju se konacan broj u pokretnom zarezu predstavlja kao oznacena nula
ili ne-nula vrednost obliak
gde je s=(0,1), emim<=q+p-1<=emax, a C
je broj predstavljan sa

Dekadna osnova BID:


------------------Realan broj moze da ima vise reprezentacija pomocu dekadne osnove i skup svih tih
razlicitih reprezentacija se naziva KOHORTE.
Za konacan ne-nula broj od n cifara postoji maximalno n-p+1 clanova kohorte, a za
broj koji se nalazi blizu granica intervala moze imati manje od n-p+1 clanova. Dok
nula ima mnogo vise clanova kohorte.
Bilo da je u pitanju konacan broj, beskonacno ili NaN vrednost moze se zapistai na
vise razlicitih nacina, ali samo jedan nacin zapisa je kanonicki zapis.
Zbog nepostojanja slaganja u standardu su predvidjene dve mogucnosti za zapis i
one su nazvane binarno i dekadno enkodiranje. Dekadno enkodiranje se lakse koristi
u hardverskoj implementaciji, dok je za softversku implementaciju bolje binarno. A
bez obzira koje kodiranje se koristi skup vrednosti koje mogu da se predstave isti
je i korisnik ne mora da vodi racuna koji nacin koristi. Takodje je i omogucena i
konverzija.
1. Znak broja S velicine 1 bit
2. Polje za kombinaciju velicine w+5bita koje kodira:
a) klasifikaciju(konacan, oo, NaN...)

b) za konacne brojeve uvecani exponent je velicine w+2 bita


c) cifru najvece tezine znacajnog dela za DPD ili 3-4 cifre najvece tezine
frakcije kod BID
3. Ostatak T frakcije koji sadrzi 10*J bita, tako da je omogucen zapis 3*J+1 cifre
u dekadnom sistemu
Standard definise format za razmenu podataka zapisanih pomocu dekadne osnove najmanje velicine 32bita, a naravno i bilo koje velicine koji je umnozak od 32.
Odredjivanje reprezentacije vrsimo pomocu 5 bitova najvece tezine u zapisu kombinacije
1. Ukoliko su tih 5 bitova jednaki 11111, vrednost je NaN. Ukoliko je
1 vrednost je sNaN, a inace qNaN. Ostali bitovi kombinacije su nebitni.
2. Ukoliko su tih 5 bitova jednaki 11110, vrednost je oo (Infinity), a
ostali bitnovi kombinacije se zanemaruju, a po kanonu su jednaki nuli kao i kod
NaN vrednosti.
3. Ukoliko su tih 5 bitova izmedju 00000-11101 u pitanju je konacan broj i
tu imamo sledece mogucnosti:
a) Ukoliko su

jednaki 00, 01 ili 10 onda se uvecani exp

formira od prvih w+2 cifre(8, 10, 14), a ostale 3 cifre su pocetak


frakcije
b) Ukoliko su

jednaki 11, a

onda se exponent formira od

su 00, 01 ili 10

pa do predposlednje cifre, a

prve 4 cifre frakcije su

je poslednja cifra

kombinacije
Nastavak frakcije sadrzi 20binarnih cifara koji sa pocetkom daju ukupno 7 dekadnih
cifara koje se mogu predstaviti u ovom obliku.
Nacin kodiranja ne utice na izbor velicine uvecanja exponenta i broja cifara u
znacajnom delu.
decimal32(duz_exp=8, uvec=101, prec=7, min=
decimal64(duz_exp=10, uvec=398, prec=16, min=
decimal128(duz_exp=14, uvec=6176, prec=16, min=

max=

, max
, max

)
)

+15= 0 01000100101 0000000000 0000010101


-0= 1 01000100101 0000000000 0000000000

26. Proireni i proirivi zapis u IEEE 754. Naini zaokruivanja. Primeri.


Prosireni i prosirivi zapis u IEEE 754:
--------------------------------------Standard preporucuje koriscenje prosirenog i prosirivog zapisa radi
povecanja preciznosti u operacijama koje zahtevaju vecu preciznost od
one koju pruzaju preciznosti u osnovnim formatima zapisa.
Prosireni zapis se definise kao format koji prosiruje podrzane osnovne
formate zapisa, kako po preciznosti, tako i po opsegu exponenta.
Prosirivi zapis se definise kao format zapisa kod koga korisnik odredjuje
velicine preciznosti i opsega.
Standard ne propisuje tacno granice parametara, ali oni moraju zadovoljit
karakteristike odgovarajucih formata za razmenu.
binary32(preciznost=32, emax=+1023) binary64(preciznost=64, emax=+16383)
binary128(preciznost=128, emax=+65535)
decimal64(preciz=22, emax=+6144) decimal128(preciz=40, emax=+24576)
Zaokruzivanje u IEEE 754:
------------------------Uzima se broj za koji se smatra da je zapisan sa beskonacnom tacnoscu, a
ako je potrebno modifikuje se da se uklopi u zeljeni format.
Prvo se formira medjurezultat koji je sa beskonacnom tacnoscu i preciznoscu koja je neogranicene, a zatim se zaokruzi prema nekom nacinu.
1. Zaokruzivanje na najblizu vrednost
------------------------------------a) Zaokruzivanje na parnu cifru- Medjurezultat izracunavanja se
zaokruzuje na najblizu predstavljivu vrednost, a ako se nalazi na
sredini intervala izmedju dve predstavljive vrednosti zaokruzuje
se na parnu cifru.

b)Zaokruzivanje na udaljeniju vrednost-Medjurezultat izracunavanja


se zaokruzuje na najblizu predstavljivu vrednost, uz zaokruzivanje
na vecu(po apsolutnoj) ukoliko se nalazi na sredini intervala medju
dve predstavljive vrednosti.
2. Usmereno zaokruzivanje
------------------------a) Zaokruzivanje ka pozitivnom-jos se naziva i zaokruzivanje ka +oo
jer se rezultat zaokruzuje na vecu vrednost. Moze se izvrsiti doda
vanjem jedinice na mesto od koga se odbacuju ostale cifre za broj
koji je pozitivan ili jednostavnim odsecanjem cifara sa desna
b) Zaokruzivanje ka negativnom-jos se naziva i zaokruzivanje ka -oo
jer se rezultat zaokruzuje na manju vrednost. Moze se izvrsiti oduzimanje jedinice na poslednjem mestu od koga se odbacuju ostale
cifre za broj koji je negativan ili jednostavnim odsecanjem cifara
sa desna za ostale brojeve
c) Zaokruzivanje ka nuli-Rezultat je broj koji je najblizi broju, a
ne veci po apsolutnoj vrednosti. Jednostavno se odseku sve cifre sa
desne strane

27. Aritmetike operacije u pokretnom zarezu (IEEE754 format). Primeri


ARITMETIKA U POKRETNOM ZAREZU
Osnovne arimtike operacije u pokretnom zarezu se vre u skladu sa pravimila aritmetikih
operacija za stepene jednakih osnova. Pri izvodjenju operacija eksponenti I frakcije brojeva se tretiraju
kao brojevi u nepokretnom zarezu I to eksponenti kao celi neonaeni brojevi a frakcija kao razlomljeni
brojevi( za zapis sa binarnom osnovom) odnosno kao celi ( za zapis sa dekadnom osnovom). Pri tome se
eksponent I frakcija uvaju u odvojenim registrima, ali po zavretku izraunate vrednosti eksponenta I
frakcije se ponovo spajaju I formira se broj u pokretnom zarezu koji je rezultat operacije.
Postoje odredjene specifinosti koje se javljaju kod brojeva zapisanih pomou dekadne osnove.
Jedna od njih je izraunavanje dekadnog eksopnenta. Poto realni broj u pokrentnom zarezu zapisan
pomou dekadne osnove moe da ima vie reprezentacija, aritmetika sa dekadnim brojevima ukljuuje I
izbor odgovarajue kohorte. U sluaju da operacija sa dekadnim brojevima ne proizvodi taan broj kao
rezultat da bi se dobio najvei brog znaajnih cifara koristi se lan kohorte sa najmanjim eksponentom.
Ako je rezultat tana vrednost, bira se lan kohorte zasnovan na ciljanom eksponentu za rezultat
operacije. Ciljani eksponent je fu nkcija od eksponenata ulaznih operanada.

SPECIJALNE VREDNOSTI U ARITMETIKIM OPERACIJAMA


Podaci koji uestvuju u aritmetici operacija mogu da pripadaju bilo kojoj od IEEE klasa podata. Ako
podatak predstavlja normlana broj, subnormalna broj ili nulu, rezultat se dboja u skladu sa uobiajnim
nainom izraunavanja. Pravilo za odredjivanje rezultata operacije koja ima beskonano kao operand je
jednostavno: zameni se sa konanim brojem x I odredi granica kada x. Ako pak granica kada
x ne postoji, tada je rezultat NaN. Ako je jedan od argumenata izraza NaN, tada je rezultat NaN, a
ako je artument tada crednost izzraza moe da bude vaei broj u pokretnom zarezu. Aritmetike
operacije I operacije prevodjenja sa beskonanim vrednostima uvek kao rezultat daju vaeu vrednost u
skaldu sa metamatikim pravilima. Kao to je ve reeno, vai
- < bilo koji konaan broj < +
Operacije sa beskonanostima su obino tane I ne generiu izuzetke. Sa izuzetkom operacija koje
proizvode QNaN svaka aritmetika operacija koja ukljuuje takoe daje kao rezultat.
Obe NaN vrednosti su podrane u svim aritmetikim operacijama. Signalni NaN oznaava
prisustvo neinicijalizovanih promenljivih, pogrene operacije ili proirenja u aritmetici koja nisu deo
statndarda. Tihi NaN moe da oznai postojanje informacija o pogrenim ili postojeim podacima I
rezultatima. Preporuka je da se to je mogue vie takvih dijagnostikiih informacija prosledjuje kroz
operacije tako to e rezultat operacije u kojima uestvuje NaN takodje biti NaN.

SABIRANJE I ODUZIMANJE
Neka su brojevi x I y zapisani u pokretnom zarezu kao I neka treba izraunati njihov zbir I razliku. Pri
izvodjenju operacija treba voditi rauna o generisanju I propagaciji sprecijalnih vrednosti. Osnovni koraci
u algoritmu za sabiranje I oduzimanje su:
1. Provera postojanja specijalnih vrednosti. Ukoliko je neki od argumenata operacije specijalna
vrednost, rezulatat se odredjuje po odgovarajuim pravilima.
2. Oduzimanje x-y se realizuje kao x+ (-y) uz prethodnu promenu znaka argumentu y.
3. Ukoliko je jedan od sabiraka jednak nuli, vrednost drugog sabirka je razultat sabiranja.
4. Svodjenje sabiraka na iste eksponente. Svodjenje e vri poveavanjem manjeg eksponenta
uz istovremeno pomeranje cifara frakcije udesno. Pomeranje udesno se vri za onoliko
mesta za koliko je poveana vrednsot eksponenta. Ako pri pomeranju znaajni deo postane
nula, tada vrednost drugog sabirka postaje vrednost rezultata.
5. Sabiranju se frakcije sabitaka, pri emu se uzimaju u obzir njihovi znaci. Sabiraje se vri po
pravilima za sabiranje celih brojeva u zapisu znak I apsolutan vrednost. Ukoliko je dobijeni
rezultat nula, tada je ukupan zbir nula. Ako je pri sabiranju dolo do prekoraenja, dobijeni
rezulatat se pomera za jedno mesto udesno uz poveanje vrednosti eksponenta za jedan.
Ako ovo poveanje vrednosti eksponenta dovede do prekoraenja , ukupan rezultat
sabiranje je + ili - u zavisnosti od znaka broja.
6. Traen zbir predstavlja broj u pokretnom zarezu iji su znak I frakcija jedanki znaku I frakciji
delova sabiraka, a eksponent jednak eksponentu sabiraka. Ako u rezultatu sabiranja frakcija
nije normalizovana ili nije predstavljena pomou ciljanog eksponenta, pokuava se njegova
normalizacija odnosno trai ciljani eksponent. Ukoliko je tom prilikom dolo do

potkoraenja vrednosti eksponenta, ukupan zbir je nula, dok se u ostalim sluajevima po


potrebi vri zaokruivanje I formira traeni zbir.
MNOENJE I DELJENJE
Neka su brojevi x I y zapisani u pokretnom zarezu I neka treba izraunati njih proizvod ili kolinik.
1. Proverava se postojanje specijalnih vrednosti. Ukoliko neki od argumenata operacije
predstavlja specijalnu vrednost, rezultat se odredjuje prema odgovarajuim pravilima.
2. Ukoliko je bar jedan od inilaca jednak nuli, rezultat je 0.
3. Sabru se vrednosti eksponeta I od dobijenog zbira oduzme uveanje. Ako je dolo do
prekoraenja pri ovom sabiranju, krajnji rezultat je u zavisnosti od znaka brojeva x I y.
ako je pak dolo do potkoraenja rezultat je pozitivna ili negativna nula.
4. Mnoe se frakcije. Mnoenje se vri prema pravilima za mnoenje celih brojeva zapisanih
pomou znaka I apsolutne vrednosti.
5. Dobijeni rezultata se normalizuje, odnosno odredi se ciljani eksponent slinim postupkom
kao kod sabiranja.
6. Broj cifara u proizvodu je dvostruko vei od broja cifara vrednosti oje su pomnoenje; cifre
koje su viak se odbacuju u procesu zaokruivanja.
Osnovni koraci u algoritmu za deljnje su:
1. Proverava se postojanje specijalnih vrednosti. Ukoliko je neki od argumenata operacije
specijalna vrednost, rezultat se odredjuje prema odgovarajuim pravilim
2. Ako je delilac nula, tada
Ako je delilac razliit od 0, kolinik je u zavisnosti od znaka x
Ako je deljenik =0, tada je rezultat NaN
3. Oduzmu se vrednosti eksponenata i na dobijenu razliku doda uveanje. Ako je dolo do
prekoraenja pri ovom sabiranju, krajnji rezultat je u zavisnosti od znaka brojeva x i y.
Ako je pak dolo do potkoraenja vrednosti eksponenta, krajnji rezultat je pozitivna ili
negativna (u zavisnosti od znaka brojeva x i y) nula.
4. Podele se znaajni delovi brojeva. Deljenje se vri prema pravilima za deljenje celih brojeva
zapisanih pomou znaka I apsolutne vrednosti.
5. Dobijeni rezultat se normalizuje, odnosno odredi se ciljani eksponent slinim postupkom
kao kod sabiranja.
6. Dobijeni kolini se zaokruuje prema pravilima za zaokruivanje.

28. Zapis realnih brojeva pomou heksadekadne osnove. Karakteristike.


Primeri
Tipican predstavnik racunara koji su koristili ovakav nacin zapisa je familija S/360 i S/370 firma
IBM. Kao i u slucaju binarne osnove znacajan deo broja se zapisuje u obliku znaka i apsolutna vrednosta;

znak znacajnog dela broja je istovremeno i znak broja; upisuje se u bit najvece tezinei ima vrednost 0 za
pozitivne i 1 za negativne brojeve. Frakcija znacajnog dela broja je takodje normalizovana; zapisuje se u
6 heksadekadnih cifara u 24 bita.
Eksponent se zapisuje u 7 bita na pozicijama od 24-30. Vrednost eksponenta se zapisuje u
potpunom komplementu uz uvecanje 64. Vrednost eksponenata koji mogu da se zapisu pripadaju
intervalu [-64,+63] , odnosno [0,127] sa uvecanjem 64.
Znak
broj
a

Eksponent sa uvecanjem 64

Frakcija

Za velicinu eksponenta e vazi:


Za vrednost s kojom se predstavlja frakcija vazi:
Kombinacijom ovih vrednosti dobija se interval brojeva koji mogu da se zapisu
,
odnosno
.
Pokusaj zapisa broja gde vazi da je apsolutno x vece od

dovodi do pozitivnog ili

negativnog prekoracenja u zavisnosti od znaka broja. Takodje pokusaj zapisa broja gde je apsolutno x
manje od
dovodi do pozitivnog ili negativnog (sto zavisi od znaka) potkoracenja.
I u ovom slucaju realan broj u dvostrukoj tacnosti se zapisuje pomocu 2 uzastopna registra velicine
32 bita. Format zapisa u prvom registru je identican formatu zapisa u jednostrukoj tacnosti, dok se ceo
drugi registar koristi za zapis dodatnih cifara frakcije broja. U ovom slucaju je interval realnih brojeva
koji mogu da se predstave u dvostrukoj tacnosti
.

29. Brojani sistemi sa ostacima. Karakteristike. Modularna aritmetika.


Primeri
Brojani sistem sa ostacima je pozicioni brojani sistem sa vie osnova kod koga svaka pozicija u
zapisu broja ima razliitu osnovu. Ovaj brojani sistem je zasnovan na relaciji kongruentnosti. Za dva
cela broja a i b se kae da su kongruentni po modulu m ako m deli bez ostatka razliku a-b. Broj m se
naziva moduo ili osnova. U aritmetici ostataka ostatak pri deljenju borjeva a i b je broj r koji se dobija
kada se od a oduzme najvei mogui broj c, tako da je c = d*b, tj. r = a d*b. Za r se kae da je ostatak
u odnosu na m i oznaava se sa r =|a|m.

Za dati skup {mn, mn-1,......m1} pozitivnih celih brojeva koji su vei od 1, RBS (mn|mn-1|.m1)
oznaava brojani sistem sa ostacima mn, mn-1,....m1.
Primer:
Primer: zapis broja 62 u RBS (8 | 7 | 5 | 3) je
r1=62 mod 8=6
r2=62 mod 7=6
r3=62 mod 5=2
r3=62 mod 3=2
Dakle (62)10 = ( 6 | 6 | 2 | 2)RBS(8j7j5j3)
Zapis broja 62 u RBS (9|8|7) je
r1=62 mod 9=8
r2=62 mod 8=6
r3=62 mod 7=6
Dakle: (62)= ( 8 | 6 | 6 )RBS(9j8j7)
Zapis broja 902 u pretpostavljenom RBS je
r1=902 mod 8=6
r2=902 mod 7=6
r3=902 mod 5=2
r4=902 mod 3=2
Dakle (902)10 = ( 6 | 6 | 2 | 2)RBS(8j7j5j3)
U veini brojanih sistema zapis svakog broja bi trebalo da bude jedinstven. Iz prethodnih
primera se vidi da to u sluaju . Da bi se izbegla vieznanost zapisa brojeva i pojava duplikata, moduli
moraju da budu uzajamno prosti brojevi mn, mn-1,....m1 pri emu vai mn>mn-1>.....>m1.
MODULARNA ARITMETIKA
Efikasnost korienja brojanog sistema sa ostacima zavisi od mugnosti efikasnog izvodjenja
osnovnih aritmetikih operacija sabiranja, oduzimanja, mnoenja, deljenja, kao i poredjnja dve
vrednosti.
ADITIVNI INVERZ
Za ostatak x, aditivnvi inverz x je definisan pomou jednakosti x+x=0. Aditivni inverz je jedinstven za
svaki ostatak m i izraunava se kao x=|m-x|(rauna se po m). Njegova glavna primena je u
predstavljanje negativnih brojeva i oduzimanje, i on se moe primeniti kao pojedinane ostatke, tak i na
kompletan zapis broja.
Primeri:
(62)10 = (6j6j2j2)RBS(8j7j5j3)
Aditivni inverz moe da se izracuna kao .
|8-6|8 = 2
|7-6|7 = 1
|5-2|5 = 3
|3-2|3 = 1
Odavde je (6|6|2|2)RBS(8|7|5|3) = (2|1|3|1)RBS(8|7|5|3)
(62)10 = (8|6|6)RBS(9|8|7)

Aditivni inverz moe da se izracuna kao .


|9-8|9 = 1
|8-6|8 = 2
|7-6|7 = 1
Odavde je (8|6|6)RBS(9|8|7) = (1|2|1)RBS(9|8|7)

ZAPIS NEGATIVNIH BROJEVA


Formalno, u RBS(mn|mn-1|....|m1) negativna brojeva mogu da se prestave u zapisu pomou
komplemenata gde je komplementaciona konstanta jednaka (pogledaj u knjizi ). Zapis negativnog
broja se dobija i nalaenjem aditivnog inverza apsolutne vrednosti broja.
Primeri:
(62)10 = (62)10 = (6|6|2|2)RBS(8|7|5|3) = (2|1|3|1)RBS(8|7|5|3)
Pomou zapisa broja koji se dobija komplementiranjem sa komplemenatacionom konstantom
840. Kako je 840-62=778, a zapis broja 778 u RBS (8|7|5|3) je
r1=778 mod 8=2
r2=778 mod 7=1
r3=778 mod 5=3
r3=778 mod 3=1
Odavde je (62)10 = (2|1|3|1)RBS(8|7|5|3)
SABIRANJE I ODUZIMANJE
U modularnoj aritmetici vai sledee pravilo:
|AB|m=||A|m |B|m|m
Oduzimanje se moe izvesti kao sabiranje sa adititvnim invezom umanjioca.
Primer:
Neka je RBS=(8|7|5|3), i neka su brojevi
A = 26 = (2|5|1|2)RBS(8|7|5|3) i
B = 12 = (4|5|2|0)RBS(8|7|5|3)
Zbir C = A+B je jednak
C = A+B= ((2+4)mod 8|(5+5)mod 7|(1+2)mod 5|(2+0)mod 3)RBS(8|7|5|3)= (6|3|3|2)RBS(8|7|5|3)
Razlika C = AB preko direktne operacije oduzimanja:
C = A-B= ((2-4)mod 8|(5-5)mod 7|(1-2)mod 5|(2-0)mod 3)RBS(8|7|5|3)= (-2 | 0| 4| -1)RBS(8|7|5|3)
= (6|0|4|2)RBS(8|7|5|3)
Razlika C = A-B preko sabiranja sa aditivnim inverzom:
-12 = 840-12
= 828=(4|2|3|0)RBS(8|7|5|3)
C = A-B
= ((2+4)mod 8|(5+2)mod 7|(1+3)mod 5|(2+0)mod 3)RBS(8|7|5|3)
= (6|0|4|2)RBS(8|7|5|3)

MNOENJE
U modularnoj aritmetici vai sledee pravilo:
|A B| = ||A|m |B|m|m
Primer:
Neka je RBS=(8|7|5|3)
A = 26 = (2|5|1|2)RBS(8|7|5|3)
B = 12 = (4|5|2|0)RBS(8|7|5|3)
Proizvod C = AB je jednak .
C=AB
= ((2 4)mod 8|(5 5)mod 7|(1 2)mod 5|(2 0)mod 3)RBS(8|7|5|3)
= (0|4|2|0)RBS(8|7|5|3)
MNOENJE MODULOM
Za svaku celobrojnu vrednost k I moduo m vai:
1. |k m|m = 0
2. |A k m|m = |A|m
Na osnovu njih skrauje se postupak sabiranja I oduzimanja u sluajevima kada je jedan od
sabiraka umnoak modula, tako to se ne vri sabiranje ili oduzimanje na poziciji tog modula.
A = 26 = (2|5|1|2)RBS(8|7|5|3), B = 14 = (6|0|4|2)RBS(8|7|5|3)
A+B = (2+6|5+0|1+4|2+2)RBS(8|7|5|3) = (0|5|0|1)RBS(8|7|5|3)
Kako je 14 = 27, prema prethodnim pravilima ne treba izvriti sabiranje na poziciji koja
odgovara modulu 7:
A+B = (2+6|5+4|2+2)RBS(8|7|5|3) = (0|5|0|1)RBS(8|7|5|3)
MULTIPLIKATIVNI INVERZ
Za uzajmno proste brojeve ne-nule brojeve A I m, A(na -1) je multiplikativni inverz broja A u
odnosu na na moduo m ako vai
|A A(na -1)|m = 1
Primer:
1. Neka je A = 5. Multiplikativni inverz u odnosu na moduo 11 je vrednost A(na -1) za koju vai
|5 A(na -1)|11 = 1
Za reavanje se moe koristiti diofanska jednacina 5*x = 11*y +1. Jedno
od reenja jednacine je x=9, y=4. Odavde se dobija da 9 je multiplikativni
inverz broja 5 u odnosu na moduo 11 (jer 5*9=45, 45 mod 11 = 1).
2. Neka je A = 9. Multiplikativni inverz u odnosu na moduo 13 je vrednost A(na -1) za koju vai
|9 A(na -1)|13 = 1
Za reavanje se moe koristiti diofantska jednacina 9*x = 13*y +1. Jedno
od reenja jednacine je x=3, y=2. Odavde se dobija da 3 je multiplikativni
inverz broja 9 u odnosu na moduo 13 (jer 9*3=27, 27 mod 13 = 1).
DELJENJE
Deljenje je u modularnoj aritmetici najloenija od osnovnih aritmetikih oprecaija. Deljenje se moe
definisati na pojedinanim brojevima i proiriti tako da vai za skupove torki koje prestavljaju zapise
brojeva u RBS, ali se javljaju problemi jer kolinik ne mora uvek da bude ceo broj. Pored toga nula nema

multiplikativni inverz, to predstavlja dodatne tekoe u definisanju opteg pravila za deljenje u


modularnoj aritmetici. U uobiajnoj aritmetici, deljenje se predstavlja jednakou c=a/b. Na osnovu nje,
sledi da je a=c b. U brojanom sistemu sa ostacima se poslednja jednakost moe predstaviti
ekvivalencijom c b= a(mod m). Mnoenjem obe strane sa multiplikativnim inverzom od b dobija se
c = a b(na -1) (mod m) . C predstavlja kolinik samo u sluaju da je ceo broj.
Primeri:
1. Neka m = 7 i neka treba izracunati kolicnik c = 6/2. Odavde se dobija:
2*c = 6 (mod 7)
c = 6 * 2(na -1) (mod 7)
= 6 * 4 (mod 7)
= 3 (mod 7)
2. Neka m = 7 i neka treba izracunati kolicnik c = 6/4. Odavde se dobija:
4*c = 6 (mod 7)
c = 6 * 4(na -1) (mod 7)
= 6 * 2 (mod 7)
= 5 (mod 7)
3. Neka m = 7 i neka treba izracunati kolicnik c = 4/6. Odavde se dobija:
6*c = 4 (mod 7)
c = 4 * 6(na -1) (mod 7)
= 4 * 6 (mod 7)
= 3 (mod 7)
U sva tri primera vai kongruencija c=ab(na 1) (mod m), ali je vrednost za c ispravan kolicnik samo u
prvom slucaju.

30. Brojaani sistemi sa ostacima. Nain izbora modula. Prevoenje brojeva.


Primeri.
Brojcani sistem sa ostacima(reziduumni brojcani sistem, RBS) je pozicioni
brojcani sistem sa vise osnova, kod koga svaka pozicija ima razlicitu osnovu.
Zasnovan je na kongurentnosti, tj A i B su kongurentni po modulu M, ako je
A-B=0(mod M). M je moduo ili osnova. Ostatak se dobija kada se od broja A
oduzme najveci moguci broj deljiv sa M.
Mana ovog sistema je sto nije jednoznacan, tj zapis nekih brojeva nije jedinstven. Ovo moze donekle da se otkloni, ako se kao osnove uzmu uzajamno prosti
celi brojevi, tako da
RBS(8|7|5|3) je podrazumevani sistem.
U RBS(8|7|5|3) moze da se predstavi 8*7*5*3=840 brojeva, mogu biti u intervalu
[0, 839] ili [-420, 419].
Izbor modula:

------------Za module mozemo uzeti bilo koje cele brojeve, ali zbog zahteva koje postavlja
implementacija u racunaru potrebno je izvrsiti neku optimizaciju pri izboru.
Treba koristiti sto manje module, nema svrhe koristiti jedan veliki i ostale
male module, jer taj veliki moduo usporava izvrsavanje operacija.
1. Uzimamo redom proste brojeve dok njihov proizvod ne postane veci od
postavljene granice. Na kraju mozemo pomnoziti neka dva broja, tako da dobijemo
jedan veci u opsegu bita kao najveci od njih. Takodje mozemo i izbaciti neke
manje brojeve tako da proizvod ostalih zadovoljava granicu.
2. Bolji sistem je da redom uzimamo proste brojeve, ali pre nego sto
uzmemo sledeci prost broj, ukljucimo i stepen manjih brojeva, a taj manji broj
iskljucimo.
3. Najbolje je koristit module koji su stepeni broja 2 ili stepeni broja
dva umanjeni za jedan. Takodje ovi brojevi su uzajamno prosti i uz pomoc njih
dobijamo najbolju optimizaciju.
Prevodjenje iz dekadnog u RBS:
-----------------------------Vrsi se tako sto se zeljeni broj deli svakim modulom posebno i ostatak pri tom
deljenju se upisuje redom sa leva na desno, potrebno je n cifara, gde je n broj
modula.
Prevodjenje iz binarnog u RBS:
-----------------------------Izvodi se pomocu tabele u koju se upisu ostaci pri deljenju stepena broja 2 sa
modulima za odredjeni sistem. Onda se izracunavanje vrsi tako sto se saberu sve
vrednosti ostataka iz tabele koje odgovaraju poziciji jedinica u binarnom broju,
ali se sabiranje vrsi po modulu.
Prevodjenje brojeva iz RBS:
--------------------------Moraju se odrediti tezine svake pozicije, a to se vrsi tako sto proizvod modula
na ostalim pozicijama mnozimo sa multiplikativnim inverzom u odnosu na taj moduo.
Vrednost broja iz RBS u dekadnom sistemu se dobija kada tezinu svake pozicije
pomnozimo sa ostatkom na toj poziciji, pa sve saberemo po modulu koji odgovara
proizvodu svih modula ovog sistema.
RBS(8|7|5|3)

dobijamo da je vrednost broja

Prevodjenje iz RBS u binarni sistem je analogno prevodjenju u dekadni, a racunari


poseduju predefinisane tablice za odredjene RBS radi lakseg racunanja.

34. Struktura savremenog raunarskog sistema. Fon Nojmanova maina.


Sistem prekida. Brzina obrade podataka.
Racunarski sistem se sastoji od centralnog procesora, unutrasnje memorije
i raznih U/I uredjaja.
Fon Nojman je 1945 objavio izvestaj sa modelom racunara EDVAC koji bi mogao
da cuva program zajedno sa podacima. On treba da se sastoji od:
1. Centralne aritmeticke jedinice
2. Centralni organ za upravljanje
3. Unutrasnja memorija
4. Ulaz
5. Izlaz
Savremeni racunarski sistem zasnovan na Fon Nojmanovoj arhitekturi ima
sledece koncepte:
1. Postoji samo jedna memorija u kojoj se cuvaju programi i podaci
a razlikuju se samo prema interpretaciji
2. Memorija je adresibilna, tj moze joj se pristupati bez obzira
na to sta je u njoj smesteno
3. Izvrsavanje instrukcija se izvodi sekvencijalno
Posto su izlazno/ulazni uradjeji daleko sporiji od procesora, pri izvrsenju
neke naredbe procesor bi morao da ceka da se neka naredba izvrsi i tako
gubio vreme. Zato je uveden sistem prekida.
Sistem prekida je mehanizam koji omogucava efikasniji rad racunara. Recimo
pri prenosu podataka na stampac procesor dobije prekid i on nastavlja da radi
neku drugu instrukciju, a kada ponovo dobije prekid, tj obavestenje da je rad
gotov on se vraca na tu instrukciju.
Kontrola prekida se vrsi pomocu:
1. Onemogucavanja prekida-svi ostali prekidi cekaju dok se ne izvrsi
zapoceta instrukcija, pa se onaj prvi na redu izvrsava
2. Definisanje prioriteta prekida, tako da onaj sa vecim prioritetom
moze da prekine izvrsavanje onog sa nizim prioritetom

Brzina obrade podataka:


1. MIPS-millions of instructions per second, koristi se za merenje
brzine na pojedinacnim procesorima, moze se uporediti u istoj familiji
2. FLOPS-floating point operations per second-koji se koristi za
merenje brzine super racunara
3. Merenje brzine izvrsavanja jednog instrukcijskog ciklusa

35. Organizacija centralnog procesora. Registri.


Kod prvih generacija procesora glavne komponente su bile ALU i CU.
ALU je aritmeticko logicka jedinica i ona sluzi za obradu podataka, a
CU je kontrolna jedinica koja vrsi kontrolu izvrsavanja i upravljala
prenosom podataka i instrukcija u i iz ALU.
Da bi se operacije uspesno obavljale, potrebno je negde smestiti neke
argumente, medjurezultate, dobijene vrednosti, naredna instrukcija i
za to se koriste registri. Registi cine internu memoriju procesora, a
veza sa ostalim delovima racunarskog sistema se uspostavlja preko
magistrala.
Podaci koji se obradjuju u ALU se dobijaju prenosom iz registara, a
rezultati, zastavice i indikatori se isto smestaju u registre.
Postoji vise vrsta registara, ali neka najcesca podela je na:
1. Opste-koristese za razlicite funkcije skladistenja podataka,
adresa, kodova....(akumulatori, index, pokazivace steka i segmenta)
2. Specijalizovane-oni se koriste pri izvrsavanju operacija,
njihovoj kontroli, za prikaz tekuceg stanja...

36. Tehnologije izrade mikroprocesora. Tranzistori, tehnologije izgradnje


brih ipova.
Procesorske jedinice svih racunara se danas izradjuju u obliku mikroprocesora
Mikroprocesor je cip koji sadrzi CPU i malu kolicinu memorije koja se koristi
za specijalizovane namene.
Do sredine 90-ih proslog veka za izradu mikroprocesora koriscen je silicijum,
ali posto se doslo do granice na kojoj je silicijum otporan morala se naci
neka druga tehnologija. Delom se modifikovala silicijumska, a delom uvele
potpuno nove tehnologije.

Tranzistor je uredjaj sa tri zavrsna prikljucka koji u racunaru moze da bude


prekidac ili pojacivac. Sastoji se od tri sloja poluprovodnickog materijala
koji moze da provodi struju. Koriste se silicijum ili germanijum.
Postoje bipolarni NPN i PNP tranzistori.
Postoje i FET tranzistori kod kojih se prenos struje vrsi pomocu efekta polja.
Tehnologije za izgradnju brzih cipova su tehnologija sa bakarnim zicama,
Silicijum na izolatoru...

37. CISC i RISC arhitektura mikroprocesora. Neke osobine RISC procesora.


CISC i RISC arhitekture mikroprocesora
Softverska kriza- pojava koja je nastala kao posledica manjka programera sposobnih da za neko
vreme efikasno razviju neki sofver i nedostatka odgovarajucih metoda da razvoj softvera.
Kao odgovor na softversku krizu, racunarska industrija je razvila nove metode razvoja
softvera i razvila je mocnije i slozenije programske jezike. Ti novi jezici (jezici cetvrte i pete
generacije ) dopustaju programeru da mnogo krace i preciznije izrazi algoritam. Medjutim,
ovakvo resenje dovelo je do semanticke praznine u mogucnostima postojece arhitekture
racunara i resenja predvidjenim jezicima. Izvrsavanje programa postalo je neefikasno-povecana
je velicina masinskog programa i slozenost prevodilaca.. Da bi se to premostilo nastala je
drugacija arhitektura novih modela racunara.Novi modeli su donosili povecanje skupa
instrukcija,nove nacine adresiranja i hardverdsku implementaciju pojedinih naredbi visih
programskih jezika Ove modifikacije su omogucile: Jednostavniju konstrukciju prevodilaca uz
mogucnost podrske sa slozenije programske jezike i alate kao i povecanje efikasnosti
izvrsavanja.
Pojava RISC tehnologija
Ideja o drugacijoj arhitekturi racunara nastala iz projekta IBM firme cija je ideja bila da se velike
telefonske mreze budu sposobne da podrze prijem i preusmeravanje oko 300 poziva u
sekundi.Ciljni system je projektovan na paerformanse od 12 MIPS-a zbog zahtevnog odziva u
realnom vremenu,uz obavljanje oko 20000 instrukcija po telefonskom pozivu.Ta
specijalizovanija aplikacija je zahtevala vrlo brz processor koji nije morao da obavlja
komplikovanije instrukcije i koji je imao veoma male zahteve za izracunavanjima u pokretnom
zarezu.Pored prenosenja podataka iz registara u memoriju,masina je morala da obavlja
sabiranja,kombinuje delove polja izdvojene iz registara,vrsi skokove i U/I operacije.
Nakon zavrsetka projekta,njegovi projektanti su shvatili d ace ona biti dlicna osnova za
mikroprocesor opste namene sa visokim performansama.Po njihovim predvidjanjima,takav
mikroprocesor trebalo da ima vrlo visoke performance u odnosu na proizvodnu cenu,i prema
tome da bude primenjiv u velikom broju aplikacija.

Najvaznije osobine masine koje su omogucavale dobar odnos njenih performansi i cene bile su:
Deljenje kesa za instrukcije i podatke cime je dobijena mnogo veca propusnost veze
izmedju memorije i CPU-a.
Nije bilo izvrsavanja aritmetickih operacija nad podacima u memoriji,cime je znatno
poboljsano preklapanje instrukcija.

Uniforma velicine instrukcije i jednostavna konstrukcija su omogucili vrlo kratko


izvrsavanje ciklusa.Tako su se sve operacije izmedju registara izvrsavale u jednom
instrukcionom ciklusu.
Detaljne analize programa ustanovile su da se oko 30% svih instrukcija koristi za prenosenje
podataka izmedju memorije i procesora.Takodje,razlicite studije su pokazale da izvrsavanje
skoka moze da uzme cak i do jedne trecine ukupnog procesorskog vremena.Prvi prepoznatljiv
pokusaj smanjenja performansi u slucaju izvodjenja skokova je IBM-ov racunar IBM 7030
(Stretch).Stretch je imao posebno konstruiasn hardver za bolje izvrsavanje insrukcija uslovnog
grananja koje nisu rezultovale i samim skokom.Sa preklapannjem instrukcija na dva do tri nivoa
znatn se smanjivalo efektivno vremepotrebno za pristup memoriji i vrsenje skoka.Operacije
dohvatanja iz memorijesu zahtevale dva ciklusa,jedan za izracunavanje adrese podatka i slanje
adrese na memorijsku magistralu i drugi za prijem podatka i njegovo prenosenje u odredjeni
registar.Post oza drugi ciklus nije bio potreban CPU,on je mogao da izvrsava narednu instrukciju
sem u slucaju da je ta instrukcija zahtevala upotrebu memorijske magistrale.
Velika prednost nove,eksperimentalne masine je to sto je bila u stanju da izvrsi mnogo veci broj
instrukcija u jednom ciklusu u odnosu na druge masine,npr IBM/370.Eksperimentalna masina
je bila slicna vertiaklnoj mikrokod masini,tj amsini koja je izvrsavala jednu instrukciju u jedinici
vremena.Umesto skrivanja ovih atributa iza slozenog skupa instrukcija u mikrokodu,masina je
tu mogucnost ponudila direktno krajnjem korisniku.Mikoracunar sa ogranicenim skupom
instrukcija ce izvrsavati makro instrukciju u otprilike istom broju ciklusa koliko je potrebno
masinama serije S/370 za izvrsavanje svoje odgovarajuce instrukcije.veliki potencijal masine je
predstavljala cinjenica da se takva jednostavna instrukcija izvrsava znatno brze za istu familiju
integrisanih kola zbog vremena potrebnog za isvrsavanje CISC(Complex Instruction-Set
Computer) interpretatora.
Posto je ova eksperimentalna masina osmisljena za potrebe projekta za Telefonsku mrezu,za
vreme konstruisanja je nazivana telefonska masina.Kako je to ime bilo neadekvatno,masina je
dobila ime 801,po IBM-ovoj zgradi u kojoj je projekat izvodjen,Orogonalni 801 je zavrsen 1978
godine i dugo vremena je bio IBM-ov najbrzi eksperimentalni rpocesor.U narednim godinama
je koriscen u velikom broju projekata.(40-MHz 801 procesor je bio osnovni U/I processor na
IBM S/470 masinama serije 3090,koriscen kao mikroprocesor u masinama serije 9370).
Neke osobine RISC procesora

Razne studije su pokazale da je potreba za novom arhikteturom racunara sve evca.Pored


pojave procesora IBM 801 znacajna je i pojava Berkli RISC I procesora.Pojava ovih procesora i
njihove dobre karakteristike su najavili pojavu RISC(Reduced Instruction-Set Computer)
arhikteture,zasnovane na drugacijoj osnovi od tada jedino postojece CISC arhikteture.
Slicnosti ponasanja tadasnjih procesora i programa:
*Naredbe koje su se najcesce javljale u programima su bile naredbe dodele,
uslovna naredba i poziv potprograma. Poziv i povratak iz procedure su operacije koje zahtevaju
najvie vremena u tipicnim programima pisanim na viim programskim jezicima.
*Referisanje na operande se obavlja kao referisanje na lokalne skalarne vrednosti.
Zbog toga je neophodna optimizacija procesa zapisivanja i pristupa lokalnim promenljivim.
*Pri pozivu procedura oko 98% procedura je prenosilo manje od 6 argumenata,
a cak kod 92% procedura su ti argumenti bili lokalni. Tako da broj reci potreban pri pozivu
procedure nije veliki, ali treba obratiti panju na pristup argumentima
Na osnovu ovih slicnosti,razne istrazivacke grupe su dosle do zakljucka da concept pravljenja
arhiktetura koje su vrlo bliske visim programskim jezicima nije optimalan.Visi programski jezici
su mogli bolje da budu podrzani optimizacijom njihovih osobina koje su najveci potrosaci
procesorskog vremena,i takodje su nasli tri nacina za poboljanje performansi:
1. Povecanje broja registara - Uoceno je da u nekim programima postoji jako veliki procenat
naredbi dodeljivanja i pomeranja podataka. Ova karakterstika zajedno sa skalarnim tipom
podataka sugerisala je da se performanse mogu poboljati smanjenjem referisanja memorije i
povecanim referisanjem registara. Jedan od resenja je bio povecanje broja registara.
2. Poboljanje mehanizma preklapanja instrukcija- Obzirom na visoki procenat
uslovnih skokova i poziva procedura uobicajeni nacin implementacije preklapanja
nije efikasan. Posledica uslovnih skokova i poziva procedura je postojanje velikog broja
instrukcija koje su dohvacene ali se nikada ne izvravaju.
3. Smanjen broj osnovnih instrukcija - Sa smanjenim brojem osnovnih instrukcija
jednostavnije je konstruisati mikroprocesor pa se manje vremena troi na prepoznavanje
instrukcija i instrukcije su bre jer se izvravaju u jednom ciklusu.
Suprotno ocekivanjima,program pisani za RISC se nisu mnogo razlikovali od programa za CISC
masine.RISC programi jesu duzi-imaju veci broj instrukcija.razlog je to sto prevodioci ovih
programa pokusavaju da koristo sto jednostavnije instrukcije,tako da se tesko moze naci neka
nova slozenija instrukcija.Kako je kod RISC procesora smanjen broj osnovnih
instrukcija,operacioni kod CISC programa je duzi i zauzima vise prostora u memoriji.Jos jedan
razlog zasto RISC ne zauzimaj umali deo memorije jeste to sto veliki deo RISC instrukcija sadrzi

samo operacije sa registrima.takodje se ocekivalo da se slozene instrukcije CISC procesora


izvrsavati brze nego kaok niz jednostavnijih masinskih instrukcija
Osobine RISC procesora koje su zajednicke bez obzira na proizvodjaca:
1. Izvravanje (bar) jedne mainske instrukcije za jedan mainski ciklus - Ovim
se smanjuje ili eliminie potreba za mikrokodom i kompletna mainska instrukcija
moe da bude hardverski kodirana. Takva instrukcija se izvrava bre od odgovarajucih
instrukcija CISC procesora jer nema potrebe za vrenjem mikroprogramske kontrole.
2. Najveci broj mainskih operacija je tipa registar-u-registar - rezultuje uprocenom
upravljackom jedinicom. Ovakva arhitektura omogucuje optimizaciju upotrebe registara tako
da argument kome se cesto pristupa ostaje u brzoj memoriji od koje su napravljeni registri.
3. Upotreba relativno malog broja nacina adresiranja - Najveci broj instrukcija
RISC procesora koristi registarsko adresiranje. Pored njega mogu da se jave
i drugi nacini adresiranja. Ostali kompleksniji nacini adresiranja se realizuju softverski. Ova
osobina takodje ima uticaj na jednostavnost konstrukcije upravljacke jedinice cime se povecava
brzina rada.
4. Upotreba jednostavnih formata instrukcija - Koristi se samo nekoliko razlicitih formata
instrukcija koje su fiksne duine i obicno su poravnate na granicu reci, to znaci da ne prelaze
granice stranica. Polja u instrukcijama su takodje fiksne duine to omogucuje istovremeno
dekodiranje operacionog koda i pristup operandu instrukcije.
Prednosti RISC procesora u odnosu na procesore izvedene u CISC tehnologiji se
mogu podeliti u dve grupe:
1. Jednostavnija konstrukcija - Zbog manjeg broja instrukcija i jednostavnije
strukture vreme potrebno za dizajniranje i uvodjenje takvog procesora u komercijalnu
upotrebu je znatno krace.
2. Bolje performanse - RISC cipovi poseduju znatno bolje performanse od CISC
cipova koji rade na istim brzinama. Za RISC mikroprocesore je jednostavnije
definisati prevodioce koji formiraju mnogo optimalniji kod nego za CISC
mikroprocesore. Veliki broj instrukcija koje generiu prevodioci je relativno
jednostavan. Upravljacka jedinica moe da se napravi da za ovakve instrukcije
koristi vrlo malo mikrokodiranja, tako da se one izvravaju bre nego na
odgovarajucim CISC procesorima.
Danasnji procesori RISC i CISC predstavljaju hibride obe tehnologije.Konstruktori savremenih
CISC procesora su,u cilju poboljsanja performansi ,u njih ukljucili mnoge pozitivne osobine RISC

procesora(Sistem preklapanja instrukcija,povecan broj instrukcija,...).Takodje,konstruktori RISC


procesora su ukljucili pojedine karakteristike CISC procesora kao sto je prosireni skup
instrukcija.
Najpoznatiji proizvodjaci RISC cipova su firme Motorola (88000, ..., PowerPC),
Silicon Grpahics (MIPS R1000, R3000, R4000, ..., R12000), Digital (Alpha), Hewlett
Packard (PA-RISC 8200,...,8600), Sun Microsystems (Micro SPARC i ULTRA
SPARC) i IBM (RS/6000 i PowerPC).

38. Karakteristike mainskih instrukcija. Formati i tipovi instrukcija. Broj


adresa u instrukciji. Naini adresiranja podataka u mainskim instrukcijama.
KARAKTERISTIKE MASINSKIH INSTRUKCIJA
Skup instrukcija procesora- skup razlicitih masinskih instrukcija koje se mogu izvrsavati na nekom
procesoru.
Da bi se funkcije efikasno izvrsavale svaka od njih mora da sadrzi sve informacije potrebne za
izvrsavanje:
1. OPERACIONI KOD INSTRUKCIJE- definise operaciju koja ce biti izvrsena.
2. REFERENCU NA OPERANDE INSTRUKCIJE- operandi instrukcije mogu se naci na realnoj ili virtualnoj
memoriji,registrima procesora ili na posebni lokacijama u ulazno/izlaznim uredjajima.
3. REFERENCU NA NAREDNU INSTRUKCIJU- naredna instrukcija je instrukcija koja treba da se prenese u
procesor po zavrsetku izvrsavanja tekuce instrukcije. Ona se u procesor moze preneti iz realne memorije
ili sa diska. Referenca na narednu instrukciju moze biti EKSPLICITNA (ako se u tekucoj instrukciji zahteva
grananje) ili IMPLICITNA (ako se naredna instrukcija nalazi u programu odmah iza tekuce instrukcije)
FORMAT INSTRUKCIJA
Sve instrukcije imaju slican format. Na pocetku se nalazi OPERACIONI KOD, zatim slede OPERANDI
INSTRUKCIJE. (Ukoliko ima vise operanada oni se redjaju jedan iz drugog)
Operandi instrukcije se mogu zadati na razlicite nacine (preko svojih adresa, indirektnim
adresiranjem,neposrednim navodjenjem...)
Skup instrukcija jednog procesora moze da sadrzi operacione kodove razlicitih duzina.
Razlicite instructive mogu imati razlicit broj operanada razlicite duzine.
Posto se sve instrukcije predstavljaju nizom bitova pri njihovom izvrsavanju dekodira se operacioni kod
pa se na osnovu njega odredjuju operandi instrukcije. Posto je to za ljude neefikasno uvode se
MNEMONICKE OZNAKE OPERACIONIH KODOVA I one se definesu za skup instrukcija svakog od
procesora.

Podelu skupa instrukcija moguce je izvesti po operaciji koja je zadata instrukcijom.


Skup instrukcija moe da sadri vie razlicitih instrukcija za jednu istu operaciju
koje se primenjuju u zavisnosti od tipa operanda.
Podelu formata instrukcija moguce je napraviti i prema vrsti i broju njihovih operanada. Instrukcije u
istoj grupi imaju istu duinu, broj operanada i koriceni nacin
adresiranja. Npr, instrukcije S/390 procesora se dele u grupe
prema lokaciji gde se nalaze operandi na:
RR: Registarregistar
RX: Registarindeksirana memorija
RXE: Registarindeksirana memorija sa produenim poljem za operacioni kod
RRE: Registarregistar sa produenim poljem za operacioni kod
RS: Registarmemorija
RI: Registarneposredno (operand se neposredno navodi u instrukciji)
SS: Memorijamemorija
Sami operandi mogu, po tipu podatka, da predstavljaju brojeve, niske karaktera
ili nestruktuirane logicke podatke
Brojevi mogu predstavljati:
1. Brojcane vrednosti koje ucestvuju u aritmetickim operacijama
2. Adresu na kojoj se nalazi neki podatak
3. Broj opsteg registra ili registra u pokretnom zarezu koji se koristi u instrukciji
4. Specijalne sistemske vrednosti
Niske karaktera koje se javljaju u instrukcijama zapisuju se kodovima u pakovanom I nepakovanom
zapisu
Nestruktuirani logicki podatak - svaki niz bitova ciji se elementi posmatraju kao jednobitni logicki
podatak koji ima vrednost 0 ili 1
TIPOVI INSTRUKCIJA
Instrukcije se mogu grupisati i po vrsti operacije koja se izvrava njihovim pozivanjem.
Instrukcije se dele na
1. Aritmeticke- deli se na instructive nad celim brojevima, nad brojevima u pokretnom zarezu I nad
binarno kodiranim dekadnim brojevima. Ovde spadaju instrukcije koje smanjuju ili povecavaju vrednost
operanda za 1 ili rade njegovu negaciju.
2. Logicke- implementiraju logicke operacije Bulove algebre.
3. Instrukcije za konverziju -menjanje ili modifikacija tipa podataka. Primeri instrukcija koji frse
konverziju su S/390 instrukcije: CVB ( convert to binary) I CVD ( convert to decimal)- vrse konverziju
zapisa celog broja; THDR ( convert binary flating point to hexadecimal floating point ) I TBDR ( convert
hexadecimal floating point to binary floating point); TR (translate)- koristi se za prevodjenje karaktera iz
jednog koda u drugi.
4. Instrukcije za prenos podataka - koriste se za prenos podataka izmedju dve lokacije (registar, vrh
steka, neka lokacija u memoriji)
5. Ulazno/izlazne instrukcije- koriste se za komunikaciju I prenos podataka sa ulazno/izlaznih uredjaja.
(pr. CSCH)
6. Kontrolne instrukcije- uvek su privilegovane I izvrsavaju se samo ako je program u supervizorskom
rezimu rada (pr. LPSW)
7. Instrukcije za prenos kontrole- menjaju sadrzaj brojaca instrukcija tako da on pokazuje na adresu u
memoriji na kojoj se nalazi sledeca instrukcija. Postoji vise vrsta ovih instrukcija (bezuslovni skok,
uslovni skok,poziv potprograma I povratak iz potprograma)

BROJ ADRESA U INSTRUKCIJI


Jedan od nacina klasikacije arhitektura procesora je podela racunara prema maksimalnom broju
adresa koji moze da se pojavi u instrukciji.
Minimalan broj adresa u instrukciji je 0. Takve instrukcije implicitno adresiraju svoje operande sto
predstavlja veliko ogranicenje.
Racunari mogu biti:
1. Jednoadresni- za pisanje programa neophodne su instrukcije koje sadrze bar jednu adresu. Takvi
programi se cesto vracaju memoriji za upis/citanje medjurezultata.
2. Dvoadresni - maximal broj adresa u instrukciji je dva. Rezultat operacije se upisuje na neku
privremenu lokaciju ili u lokaciju jednog od operanada. Koriscenjem dvoadresnih instrukcija smanjuje se
duzina programa.
3. Troadresni - instrukcija sa tri adrese.
primer
Posmatrajmo izvravanje aritmetickog izraza: F = (A + B +C) * (D + E). Neka
A, B, C, D, E i F oznacavaju memorijske lokacije.

NACINI ADRESIRANJA
Za navodjenje adresa operanada koriste se razlicite tehnike poznate pod nazivom nacini adresiranja.
Nacin adresiranja odredjuje algoritam po kome se izracunava stvarna adresa. Stvarna adresa moe da
oznacava registar, realnu ili virtualnu memoriju.
Skoro svi racunari koriste bar jedan od nacina adresiranja, pri cemu je vrlo cest slucaj da se nacini
kombinuju. U tom slucaju informacija o nacinu adresiranja mora da bude ukljucena i instrukciju. To se
postie na dva nacina:
1. Upotrebom razlicitih operacionih kodova za istu operaciju sa razlicitim nacinima adresiranja.
2. Upotrebom indikatora modikacije. Indikatori modikacije predstavljaju
jedan ili vie bitova u samoj instrukciji cije vrednosti oznacavaju nacin adresiranja
Najcesce se koriste sledece tehnike adresiranja:
1. Registarsko adresiranje - oznaka registra koji sadri operand je ukljucena

u instrukciju. Stvarna adresa (SA) se u ovom slucaju odredjuje kao SA = R.


2. Direktno adresiranje - stvarna adresa se direktno ukljucuje u instrukciju: SA = A.
Adrese koje se javljaju u instrukcijama sa direktnim adresiranjem se nazivaju i
apsolutne adrese. Ovaj nacin adresiranja se koristio dosta u racunarima prve I druge generacije.
3. Indirektno adresiranje - adresa operanda se navodi indirektno, preko adrese operacije na kojoj se
nalazi adresa operanda. Ako adresni deo instrukcije sadrzi adresu A lokacije na kojoj se nalazi adresa
operanda, tada je stvarna adresa operanda SA=(A). Ovaj nacin adresiranja zahteva dva memorijska
ciklusa, jedan za citanje adrese lokacije na kojoj se nalazi adresa operanda i drugi za citanje samog
operanda. Moguce je vrsiti indirektno adresiranje po dubini : SA=((A))
4. Registarsko indirektno adresiranje - slicno je indirektnom sem to se u adresnom polju instrukcije
nalazi oznaka registra a ne adresa lokacije u memoriji. Stvarna adresa se u ovom slucaju odredjuje kao
SA=( R )
5. Adresiranje sa referencom I udaljenjem - kombinacija direktnog i registarskog indirektnog
adresiranja. Instrukcija sadri referencu na dva adresna polja od kojih je bar jedno eksplicitno. Vrednost
A koja je sadrana u prvom adresnom polju se koristi kao da je u pitanju direktno adresiranje. Drugo
adresno polje sadri oznaku registra ciji sadraj se sabira sa A radi dobijanja stvarne adrese. Ako drugo
adresno polje ne postoji, tada se implicitno referie neki konkretan registar racunara.U oba slucaja vri
se referenca na registar dok vrednost A predstavlja udaljenje od pocetne adrese navedene u registru R.
Postoji vie varijanti adresiranja sa referencom i udaljenjem. Najznacajnije su:
*Relativno adresiranje - kao registar koji se referie implicitno koristi se brojac instrukcija. Za
referentnu (pocetnu) adresu se uzima adresa sadrana u broach instrukcija, tj. adresa tekuce instrukcije.
U adresni deo instrukcije se upisuje ceo broj koji predstavlja udaljenje (pozitivno ili negativno) od
pocetne adrese. Izracunata stvarna adresa je jednaka
SA = A + (PC)
*Adresiranje sa baznim registrom i udaljenjem- referentna adresa se nalazi u posebnom registru
procesora (razlicitom od brojaca instrukcija) . Udaljenje od adrese sadrane u baznom registru je
specicirano u adresnom delu. Stvarna adresa kod ovog nacina adresiranja je SA = A + (B)
*Adresiranje sa indeks registrom- referentna adresa se nalazi u adresnom delu instrukcije a
udaljenje u indeks registru. Stvarna adresa kod ovog nacina adresiranja se
dobija sabiranjem vrednosti: SA = A + (X)
Naziv indeks registar potice od njegove upotrebe jer se ovaj nacin adresiranja koristi za izvodjenje
iteracije.
*Adresiranje sa baznim registrom, indeks registrom i udaljenjem - proirenje adresiranja sa
baznim registrom I udaljenjem. Referentna adresa se nalazi u baznom registru; adresni deo instrukcije
sadri udaljenje dok indeks registar sadri udaljenje koje moe jednostavno da se poveca ili smanji.
Stvarna adresa kod ovog nacina adresiranja se dobija sabiranjem ovih vrednosti: SA = (B) + A + (X).
Dodavanjem indeks registra omogucena je primena adresiranja sa baznim registrom u iterativnim
ciklusima.
6. Neposredno adresiranje - operand se nalazi u adresnom delu instrukcije:operand = A. Operand se sa
instrukcijom prenosi u memoriju.
7. Implicitno adresiranje - javlja se kada u procesoru postoje jedinstveni objekti odredjenog tipa tako da
ih nije potrebno navoditi u instrukcijama (npr. rad sa stekom). Drugi primer implicitnog adresiranja su
instrukcije bez operanada. Operandi ovih instrukcija se nalaze na unapred poznatim lokacijama.
Oznake:
A Sadraj adresnog polja u instrukciji; SA Stvarna (efektivna) adresa lokacije koja sadri operand; R
Sadraj opteg registra koji se javlja u instrukciji; B Bazni registar; X Indeks registar, PC Brojac
instrukcija

39. Mainski i asemblerski jezici. Pozivi potprograma. Smetanje podataka u


memoriji. Primeri.
MASINSKI I ASEMBLERSKI JEZICI
Mainski jezik -skup instrukcija procesora koji poseduje semanticku interpretaciju u hardveru ili
mikrokodu racunara. Sve mainske instrukcije i njihovi operandi predstavljaju nizove binarnih cifara.
Primer
Treba programirati na mainskom jeziku A = B + C * D;
Neka program pocinje na adresi 51 heksadekadno, a prostor na kome su smetene
promenljive pocinje na adresi 81 heksadekadno. Neka su celobrojne promenljive
A, B, C i D tim redom smetene u memoriji i neka svaka od njih zauzima po 2
bajta, pri cemu su inicijalne vrednosti A=0, B=10, C=20, D=30 dekadno. Takodje, neka je adresibilna
jedinica bajt, a duina instrukcije dva bajta pri cemu prvi polubajt zauzima operacioni kod, drugi polubajt
oznaka registra, dok je u preostalom bajtu upisana adresa. Program se sastoji iz 4 instrukcije:
1. Prenesi sadraj sa lokacije 85 u opti registar 1
2. Pomnoi sadraj lokacije 87 sa sadrajem opteg registra 1.
3. Saberi sadraj lokacije 83 sa sadrajem opteg registra 1
4. Dobijeni zbir upii na lokaciju 81
Ovakvi programi su pisani na asembleskom jeziku a za njihovo prevodjenje se koristi asembler.
Programi se sa asemblerskog jezika prevode na masinski pomocu relativnih adresa.
POZIVI POTPROGRAMA
Operacija pozivanja potprograma ukljucuje sledece akcije:
1. Odredjivanje adrese potprograma koga treba pozvati
2. Odredjivanje I pripremu argumenata potprograma koji se poziva.
3. Cuvanje svih vaznih parametara trenutnog stanja programa koji se izvrsava
4. Specificne adrese na koju se vrsi povratak iz potprograma
5. Izvrsavanje instrukcije skoka kojom se izvrsavanje prenosi na naredbu potprograma
6. Izvrsavanje potprograma
7. Izvrsavanje naredbe povratka na zahtevanu adresu u pozivajucem programu
Moraju se obezbediti odgovarajuci mehanizmi za ispravno cuvanje tekuceg stanja I adrese povratka, kao
I prenos parametra I eventualnih rezultata.
Tekuce stanje uglavnom obuhvata opste registre I PSW. Vrednosti ovih programa se mogu cuvati na
steku ili u prostoru koji definise program koji poziva potprogram
Adresa povratka se moze cuvati u nekom od opstih registara, na pocetku potprograma koji se poziva ili
na steku.
Argumenti i rezultati potprograma se mogu preneti u optem slucaju na tri nacina:
1. Preko optih registara- ako je broj argumeata i rezultata relativno mali.

2. Upisivanjem u odredjenu zonu memorije cija adresa se prenosi preko optih


1. registara- pogodno je za veci broj parametra ali moguci su problemi prilikom prenosa
promemenljivih
2. Putem steka, zajedno sa adresom povrataka - pogodan za prenosenje argumenata koji imaju
veliku duzinu.
3. Reentrant potprogrami - potprogrami ciji se kod ne menja pri njihovom izvrsavanju. Pogodni su
za izvrsavanje u multiprogramskom okruzenju.
SMESTANJE PODATAKA U MEMORIJU
Redosled smetanja bajtova
Pri zapisu visebajtnih skalarnih vrednosti u memoriju moguca su dva zapisa:
1. Bajt najvece teine se upisuje u bajt sa najmanjom adresom u memoriji - sa levog kraja (
big-endian).
2. Bajt najmanje teine se upisuje u bajt sa najmanjom adresom u memoriji- sa desnog kraja
(little-endian).
U oba slucaja se preostale vrednosti upisuju redom pocevsi od zapisane vrednosti ka drugom kraju
broja.
Prednosti jednog nacina zapisa su mane drugog i obrnuto.
Prednosti i mane svakog od nacina zapisa su:
1. Sa desnog kraja Aritmeticke operacije koje zahtevaju vecu preciznost se jednostavnije
obavljaju jer se lake odredjuje bajt najmanje teine; Konverzija 32-bitne u 16-bitnu celobrojnu
adresu je jednostavnija jer ne zahteva dodatne operacije za izdvajanje bajtova najmanje teine.
2. Sa levog kraja omogucuje bre poredjenje karakter niski koje su
zapisane tako da po poravnanju odgovaraju celobrojnim vrednostima.
Nad ovakvim niskama se moe primeniti paralelno poredjenje vie bajtova
u ALU; Celobrojne vrednosti i karakter niske se zapisuju konzistentno, tj. u
istom redosledu; Pri pregledu sadraja memorije u slucaju otkrivanja greaka sve vrednosti se tampaju
s leva na desno, to je redosled na koji su
ljudi navikli.
Danas se koriste oba nacina zapisa sto moze stvoriti probleme prilikom prenosenja podataka sa jednog
procesora na drugi. Zato proizvodjaci softvera obezbedjuju programe koji sluze za konverziju medju
zapisima.
Nizovi se u memoriju zapisuju element po element u rastucem redosledu adresa. Pri zapisivanju se
postuju pravila poravnanja (broj zapisan u dvostrukoj reci pocinje na adresi deljivoj sa 8)
Redosled smetaja bitova
Ne postoji jedinstveni nacin smetanja bitova unutar bajta. U zavisnosti od proizvodjaca racunara
brojanje (i oznacavanje) bitova unutar bajta moe biti:
1 sa desnog kraja
|7| |6| |5| |4| |3| |2| |1| |0|
2 sa levog kraja |0| |1| |2| |3| |4| |5| |6| |7|
Takodje, ne postoji ni konzistentno oznacavanje rednog broja pocetnog bita: neki
proizvodjaci pocinju od 0, dok neki pocinju od 1

40. Unutranja memorija. Karakteristike. Glavna memorija. Ke memorija.


Spoljanja memorija. Magnetni i optiki medijumi. Karakteristike.
UNUTRASNJA MEMORIJA:
KARAKTERISTIKE MEMORIJE
1. Stalnost zapisa - mogu se podeliti na memorije na stalnim zapisom(cuvaju sadrzaj sve dok ne
dodje do njegove namerne promene i memorije sa privremenim zapisom (gube sadrzaj po
prestanku napajanja)
2. Fizicki tip medijuma - mogu se podeliti na osnovu tehnologije koja se koristi za zapis
inormacijen(poluprovodnicke memorije, sa magnetnom povrsinom, sa optickom tehnologijom)
3. Kapacitet - kolicina informacija koju memorija moze da sadrzi. Izrazava se u bajtovima ili
recima. Duzina reci zavisi od tipa procesora (8,16,32,64 bita) a koriste se i KB, MB, GB i TB
(KB=1024 bajta, MB=1024 KB-a...)
4. Jedinica prenosa - jednaka je broju bitova koji mogu istovremeno da se procitaju iz memorije
ili na nju upisu
5. Adresivost - svojstvo memorije da joj se moze pristupiti uz pomoc adrese. Memorije mogu
biti: adresive (pomocu adrese se pristupa bajtu ili reci), poluadresive (pomocu adrese se
pristupa grupi bajtova) i neadresive (podsredstvom adrese se ne moze pristupiti memoriji). Ova
podela se odnosi na sve tipove memorije sem na mali broj internih registara procesora kod
kojih je moguce pristupiti pojedinacnim bitovima.
6. Cena - poredi se na osnovu ulozenog novca za odredjeni kapacitet
7. Moguci nacin pristupa - postoje 4 nacina pristupa podacima u memoriji:
* Sekvencijalni pristup - podaci su organizovani u SLOGOVE koji se u memoriji
medjusobno razdvajaju kontrolnim informacijama koje se koriste pri citanju podataka. Podaci
se upisuju u redosledu unosenja a citaju ili u redosledu upisivanja ili u obrntutom redosledu.
Vreme pristupa je relativno veliko- magnetna traka
*Direktan pristup - kod ovakvih memorija postoji zavisnost izmedju adrese sloga i
negove fizicke lokacije na medijumu zato sto se na osnovu adrese direktno pristupa lokaciji gde
je smesten slog ili njegovoj okolini. Vreme pristupa zavisi od pozicije sloga na medijumu. magnetni disk
*Slucajni pristup - svaka sdresibilna lokacija poseduje jedinstven adresni mehanizam
ugradjen u memorijski sklop. Vreme pristupa je konstantno- glavna memorija racunara
*Asocijativni pristup - podtip memorije sa slucajnim pristupom koja omogucuje
poredjenja izmedju posebne maske i vrednosti odredjenih pozicija bitova u reci, pri cemu se
poredjenje vrsi istovremeno za sve reci memorije. IZ ovakve memorije rec se cita na osnovu
njenog sadrzaja - kes memorija
8. Performanse - najznacajnija karekteristika memorije. Odredjuju je sledeci parametri:

*Vreme pristupa- vreme od trenutka obracanja memoriji do trenutka kada podac bivaju
ispisani. Meri se u nanosekundama za memorije sa slucajnim pristupom ili milisekundama za
sve ostale
*Vreme memorijskog ciklusa - primenjuje se na memoriju sa direktnim ciklusom i
sastoji se od vremena pristupa i vremena koje prodje dok se ponovo omoguci pristup memoriji.
*Brzina prenosa - vreme za koje podaci mogu da se upisu ili prenesu iz memorijsku
jedinicu i iznosi :
T=1/(vreme pristupa) - za memorije sa slucajnim pristupom; T je brzina prenosa cija je velicina
odredjena bajtima.
T=N/(Vn-Vp) - za ostale vrste; T je brzina prenosa i ima jedinicu bps, Vn je prosecno vreme
potrebno za pisanje ili citanje N bitova a Vp je prosecno vreme pristupa
9. Mogucnost promene sadrzaja - Memorije ciji se sadrzaj moze promeniti zovu se
upisno-citajuce (read/write) a memorije ciji se sadrzaj ne moze promeniti nazivaju se
samocitajuce (read-only)
GLAVNA MEMORIJA
1. Organizacija - Pravi se iskljucivo od poluprovodnickih elemenata. Osnovni element
poluprovodnicke memorije je memorijska celija i ona ima sledece osobine: Poseduje dva
stabilna stanja koja se koriste da bi se predstavile 0 i 1, njen sadrzaj se upisuje najmanje jednom
i moze da se cita proizvoljan broj puta. Niz memorijskih celija se pakuje u cip (1M, 4M, 16M,
32M,64M, 256M, 512M i 1G celija)
2. Tipovi - uglavnom se koristi memorija sa slucajnim pristupom.
*Samocitajuca memorija (read only memory, ROM) - njen sadrzaj je stalan i ne moze se
promeniti. Koristi se za mikroprogramiranje, cuvanje sistemskih podataka kao i za cesto
koriscenje delove programskog koda koji je na taj nacin uvek dostupan. Proizvodi se na isti
nacin kao i cip sa integrisanim kolom, pri cemu se podaci ubacuju prilikom proizvodnje.
Problemi koji se javljaju zbog ovakvog nacina izrade: Ukoliko kod koji se upisuje ima gresku ona
se ne moze ukloniti; Preavljenje cipa mnogo kosta i moze se proizvoditi jedino u fabrici sto
onemogucuje njegovu masovnu primenu. Proizvodnja cipova se isplati jedino ako se pravi
serijski
*Programibilni ROM (PROM) - Isti su kao i ROM cipovi samo sto su inicijalno prazni.
SAdrzaj PROM-a se upisuje pomocu elektricnih impulsa. KAd se instrukcije jednom upisu PROM
postaje ROM i vise ne moze da se brise.
*Izbrisivi PROM( Erasable PROM, EPROM) - funkcionise slicno kao i PROM sem sto
njegov sdrzaj moze da se izbrise ultraljubicastim zracima pa da se zameni novim sadrzajem.
Cipovi se brisu odjednom. Za citanje i upis podataka u EPROM koriste se el. impulsi. EPROM
cipovi su skuplji od PROM cipova.

Elektricno izbrisivi PROM ( EEPROM) - za brisanje se koriste elektricni impulsi, tako da


se brisanje moze izvesti bez demontaze cipa. TAkodje, moguce je izbrisati sadrzaje
pojedinacnih bitova.
*Fles memorija - poluprovodnicka memorija koja se nalazi izmedju EPROM-a i
EEPROM-a. Za brisanje kompletnog sadrzaja otrebno je par sekundi ali moguce je izbrisati i
samo pojedinacne blokove memorije.
3. RAM (Random access memory) - sadrzaj moze da se cita i ucitava proizvoljan broj puta.
Citanje i upis podataka se vrsi pomosu elektricnih signala. RAM gubi svoj sadrzaj po prestanku
napajanja. Postoje dve vrste RAM-a:
*Staticki RAM (SRAM) - za cuvanje podatak koristi flip-flop kombinatorne mreze.
Kombinatorna mreza je skup medjusobno povezanih logickih elemenata cije stanje zavisi od
vrednosti ulaza.
*Dinamicki RAM (DRAM) - pravi se od celija koje cuvaju vrednosti kao naboje u
kondenzatorima. Prisustvo, odnosno odsustvo elektricnih naboja se interpretira kao 1 odnosno
0. Kako kondenzatori imaju prirodnu tendenciju da se isprazne, to je dinamicki RAM ima
potrebu za periodicnim osveavanjem naboja da bi zadrao neizmenjen sadraj.
Celija u DRAM-u je manja nego u SRAM-u zbog toga je moguca proizvodnja DRAM-a sa guscim
pakovanjem nego SRAM. Zbog toga je cena bita niza u DRAM-u.
4. Tehnologija izrade DRAM memorije - DRAM se deli na ASINHRONI I SINHRONI.
*FPM ( Fast Page Mode) - asinhrona memorija koja se pojavila 1990.g. Omogucava
smanjenje broja ciklusa potrebnih za izvrsavanje operacije dopustajuci pristup ostalim bitovima
podataka koji se nalaze u istom redu kao i podatak kome se trenutno pristupa. Podaci u istom
redu DRAM-a kojima se pristupa istovremeno oznacavaju se kao stranica.
*EDO (Enhanced Data Out) - asinhrona memorija koja se zove i HPM( HyperPage
Mode). Omogucava bolje performanse od FPM tako sto omogucuje pristup podacima o novoj
vrsti u toku citanja sa tekuce adrese.
*BEDO (Burst EDO) - tip je zasnovan na principu rasprskavanja EDO nacina pristupa.
Uveden je 4-bitni "rasprskivac" sto je omogucilo interno izracunavanje naredne tri adrese u
toku citanja tekuce adrese. Prva stranica se cita istom brzinom kao i kod EDI i FPM ali se
naredne tri citaju jos brze. BEDO memorija nije usla u siroku primenu jer je ranije bilo ulozeno u
drugu vrstu cipova.
*ESDRAM i CDRAM (Enhanced SDRAM i Cache DRAM) - memorija koja sadrzi SRAM kes
na DRAM cipu. NA ovaj nacin se ubrzao rad memorije.
*JEDEC SDRAM - tip SDRAM-a koji se najcesce srece na PC-evima. JEDEC je skup
standarda prema kojem je cip izgradjen. Ima sinhroni interfejs i ukljucuje arhitekturu
dvostrukih nanosa i rasprskavanja
*DDR SDRAM (Double Data Rate SDRAM) - omogucuje dvostruko vecu brzinu u odnosu
na JEDEC

*SGRAM (Synchronous Graphics RAM) - slican je SDRAM-u i ima dodatne graficke


mogucnosti
*RDRAM (Rambus DRAM) - implementira kontrolne linije i linije podataka preko iste
magistrale. Ona je proizvod firme Rambus po kojoj je dobila ime. RAmbus memorija ima manu
zato sto trenutno podrzava opcije samo sa magistralom duzine 16 bita. Postoji vise RDRAM
vrsta od kojih je najnovija Direct RDRAM sa prenosom od 1.6 GBps-a.
*SLDRAM (Synchronous Link DRAM) - prosirenje tehnologije za proizvodnju SDRAM-a
koje koristi multipleksnu magistralu za prenos podataka.SLDRAM je memorija zasnovana na
protokolu prenosa, ali tehnologija njene proizvodnjenije nicije vlasnistvo. SLDRAM jos uvek NIJE
pusten na trziste ali se ocekuje da ce moci da podrzi ekstremno velike brzine prenosa.
KES MEMORIJA
Osnovna funkcija je povecanje performansi racunara. Svrha kes memorije je da premosti razlike
izmedju brzina procesora i glavne memorije. Sastoji se od relativno male kolicine brze staticke
memorije koja omogucava asocijativan pristup podacima. KAda procesor zahteva neki podatak
tada se blok u kome je taj sadrzaj iz glavne memorije prenosi u kes pa je vreme potrebno za
prenose podataka do procesora znatno krace.
Bafer memorija je slicna kes memoriji ali dok kes memorija sadrzi kopije podataka , bufer sadrzi
originale podataka koji ne postoje nigde drugde u racunaru.
Kes memorija kod procesora
SA razvojem mikroprocesora i gustine pakovanja integrisanih kola postalo je moguce staviti kes
memoriju na cip na kojem se nalazi i procesor sto je dovelo do povecanja brzine dohvatanja
instrukcija.
Najveci broj proizvodjaca konstruise racunare tako da ukljucuju i kes na procesorskom cipu i
spoljasnji kes. Kes na procesorskom cipu predstavlja kes na prvom nivou (L1 kes) a spoljasnji
kes predstavlja kes na drugom nivou (L2 kes). L1 je manja i brza od L2 kes memorije. U slucaju
da L2 ne postoji pri zahtevu za podatkom koji nije u L1 pristupa se glavnoj memoriji preko
magistrale. U danasnje vreme i L2 je ugradjen u procesor a na njegovo mesto dolazi L3 kes
memorija koja je integrisana na maticnoj ploci i ima istu funkciju koju je imala L2 memorija.
Jedinstveni ili podeljeni L1 kes:
1. Postoji samo jedan kes u kome se cuvaju i podaci i instrukcije i on ima mogucnost da
automatski balansira odnos izmedju prostora potebnih za jedno i drugo
2. Postoje dva (razdvojena) kesa za podatke i instrukcije
SPOLJASNJA MEMORIJA
Sadrzi podatke koji se ne koriste aktivno u nekom trenutku. Njem sadrzaj je stalan i ne gubi se
prestankom napajanja.Sporija je od unutrasnje memorije ali ima veci kapacitet.
Magnetni diskovi, opticki diskovi, magnetne trake....
MAGNETNI DISKOVI

Sastoje se od kruznih ploca velicine 1,8 i 5,25 inca. Ploce se prave od metala ili plastike i
prevlace materijalom koji ima magnetna svojstva. Podaci se zapisuju i citaju preko
upisno-citajuce glave gde je glava nepokretna a ploa rotira ispod nje. Upisivanje na disk se vrsi
uz pomoc magnetnog polja koje pravi struja koja prolazi kroz glavu stvarajuci dva polariteta.
Podaci se citaju tako sto se struja indukuje magnetnim poljem koje se pomera ispod glave.
1. Struktura diska - Podaci na disku se upisuju u obliku koncentricnih krugova (staza) Sirina
staze jednaka je sirini upisno-citajuce glave. Izmedju staza se nalazi prazan prostor koji ima dve
funkcije: sprecava interferenciju izmedju magnetnih polja i pomaze u preciznom poziciranju
glave. Staze se dele na sektore fiksne ili promenljive duzine. Sektori su osnovne jedinice
prenosa podataka. Disk sadrzi jednu ili vise ploca koje se nalaze na jednoj osovini, vise glava
koje su pricvrscene za pokretace, mehanizam za poziciranje...
Formatiranje je proces upisa staza, sektora i kontrolnih podataka na disk. Kod
medjusobnog odnosa cilindara, staza i sektora razlikujemo dve mogucnosti:
*Kod disk uredjaja prethodnih generacija svaka staza sadri istu kolicinu podataka.
Zbog toga je gustina zapisa veca na unutranjim nego na spoljanjim
stazama. Ovi disk uredjaji su adresu podatka generisali kao uredjenu trojku koja je
sadravala broj cilindra, broj staze unutar tog cilindra i broj sektora unutar staze.
*Disk uredjaji nove generacije se adresiraju kao jedan veliki jednodimenzioni
niz logickih blokova, pri cemu je logicki blok najmanja jedinica prenosa. Velicina logickog bloka
je obicno 512 bajtova, mada na nekim diskovima moe
biti i drugacija. Jednodimenzionalni niz logickih blokova se redom preslikava u sektore diska.
Sektor 0 je prvi sektor na prvoj stazi cilindra sa najvecim poluprecnikom.
Proces preslikavanja se nastavlja u okviru ove staze, zatim kroz ostale
staze na tom cilindru i posle toga kroz ostale cilindre iduci od spoljanjih
cilindara ka unutranjim.Savremeni diskovi su organizovani u zone cilindara. U svakoj od tih
zona broj sektora po stazi je konstantan, pri cemu zone na obodu imaju veci broj
sektora od zona koje su blie sreditu diska. Uobicajeno je da spoljanje zone
imaju do 40% vie sektora od unutranjih zona.
2. Formatiranje diska - postoje dve vrste formatiranja:
*Formatiranje niskog nivoa (fizicko formatiranje) -upisuje sektore na disk. Obicno se
obavlja u fabrici kao deo proizvodnog procesa i omogucuje proizvodjacu da testira disk i
inicijalizuje preslikavanje izmedju brojeva logickih blokova i sektora diska koji nemaju
otecenje. Moguce je izabrati razlicite velicine sektora (256, 512 ili 1024 bajta). Sto je sektor
veci to je broj slogova na stazi manji pa je samim tim manji broj zaglavlja i zavrsnih slogova sto
znaci da ima vise mesta za podatke. Neki operativni sistemi rade samo sa diskovima koji imaju
sektore velicine 512 bajta.

DA bi ovako formatiran disk mogao da cuva podatke potrebno se da operativni sistem upise
svoje strukture podataka na disk a to se vrsi u dva koraka : disk se deli u jednu ili vise grupa
cilindra a zatim se vrsi logicko formatiranje.
*Logicko formatiranje - Operativni sistem upisuje strukture podataka koji su mu
potrebni za rad sa datotekama. Postoje i specijalni programi koji imaju mogucnost da koriste
particiju diska kao veliki sekvencijalni niz logickih blokova (ravni ulaz-izlaz).
3. Karakteristike diska - Pristup svim stazama na disku moze da se obezbedi na dva nacina:
Pomocu mehanizma koji omogucuje pomeranje glave napred-nazad i njeno pozicioniranje na
odredjenu stazu (ruka mehanizam) i obezbedjivanjem da svaka staza na ploci ima svoju glavu
koja vrsi upis-ispis samo na toj stazi(upisno-citajuce glave ). Danas se u maloj meri koriste
diskovi sa zasebnim glavama.Glave mogu i da pokazuju samo odredjene staze: ako ruka ima dve
glave, njen radijus pomeranja je manji a ako postoje dve ruke moguc je istovremen rad sa istom
stazom na dve razlicite pozicije. Danas se koriste dvostrani diskovi kod kojih je magnetni
materijal nanet na obe strane ploce, dok jednostrani vise nisu u upotrebi. Takodje, zbov velikog
kapaciteta koriste se fiksni magnetni diskovi koji su stalno montirani na disk uredjajima.
Izmenjivi diskovi imaju mogucnost demontaze i prenosa na drugi racunarski sistem.Postoji
mogucnost da glava zakaci povrsinu diska pri cemu se gube podaci i to se zove PAD GLAVE NA
DISKU.
*Vreme pristupa disku cine VREME TRAZENJA( vreme koje je potrebno za pomeranje
ruke sa glavom) i ROTACIONO KASNJENJE (vreme cekanja da se usled rotacije dista sektor
pozicionira ispod glave). Takodje, peroformanse diska odredjuje i OPSEG DISKA (ukupan broj
prenetih bajtova / ukupno vreme izmedju prvog zahteva za prenos podataka i zavrsetka
poslednjeg prenosa podataka).
OPTICKI DISKOVI
Prvi opticki diskovi nazvani su kompakt diskovi (CD) i uvedeni su 1983.godine kao medijum za
zapis muzike. Podaci se citaju tako sto se ploca diska rotira ispod mehanizma za citanje. Za
cuvanje i citanje podataka koriste se dva mehanizma:
*Konstantna ugaona brzina (Brzina rotacije diska; CAV) -kada disk ploca rotira
konstantnom brzinom onda je potrebno vise vremena da se dodje do podataka zapisanih na
obodu diska nego u centru. Ova razlika u brzinama se nadiknadjuje povecanjem prostora
izmedju bitova na delovima diska koji su blizi obodu sto dovodi do mogucnosti da se
informacije citaju istom brzinom gde god da se nalaze.
*Konstantna linearna brzina (CLV) - Podaci se zapisuju u segmente jednake velicine.
Disk rotira sporije kada se citaju podaci blizi obodu. Kapacitet staze i rotaciono kasnjenje se
povecavaju kako je staza bliza obodu diska zbog cega se citanje obavlja konstantnom linearnom
brzinom. Umesto vise koncentricnih staza moguca je i samo jedna spilarna staza.
Opticki diskovi se dele u 3 grupe: Diskove koji su nasnimljeni i ciji sadrzaj ne moze da se menja
(DO-ROM, DVD-ROM, CD-DA...); Diskove na koje korisnim moze samo jednom da upise sadrzaj

posle cega on ne moze da se menja (CD-R, BD-R i WORM...); Diskove ciji sadrzaj moze da se
pise/brise vise puta (CD-RW, DVD-RW).
1. KArakteristike CD diskova - Precnik je 120 mm, a debljina diska je 1.2 mm. Podaci se smestaju
u sektore od 2 KB. Sirina staze je 0.6 m a prostor izmedju staza je 1.6 m. Za zapis i citanje
podataka koristi se infracrveni laser. Gustina zapisa je 1Mb/mm. Mana je sto postoji
mogucnost horizontalne devijacije pri okretanju. Podaci se na diskovima upisuju u skladu sa
sledecim standardima:
*CD DA (Red Book) - koristi se za zapis muzike (74, 80 ili 90 min). Zapis sadrzi
specifikaciju zvuka, sistem za modulaciju i otklanjanje gresaka, kontrolni sistem i sistem za
prikaz i specifikaciju diska koja sadrzi pocetni i zavrsni prostor i prostor za program.
*CD ROM ( Yellow Book) - cuva razlicite tipove podataka. Pored specifikacija kao i kod
CD DA on sadrzi i podatke vezane za digitalnu strukturu: Strukturu sektora sa ECG kodom i EDC
kodom; Uvodi i poseban nacin zapisa za racunarske podatke i za razlicite tipove podataka;
Sadrzi i formate logickih podataka (ISO 9660, Joliet, Rock Ridge i UDF).
CD ROM-XA je prosirenje Yellow Book-a
*CD-I ( Green Book) - dodatak televizoru i sadrzi informacije o potrosackoj elektronici.
Sadrzi kompletan sistem zasnovan na CD-ROm formatu a moze da sadrzi i video zapis.
*CD za nasnimavanje (Orange Book) - mogu da se nasnimavaju uz mogucnost
postojanja vie sesija. Postoje tri razlicite specifikacije: za magnetno-opticke diskove, za CD-WO
(CD-Write Only) i CD-R kao i za CD-RW .
*Video CD (White Book) - Format diska ukljucuje staze, prostor za VideoCD informacije,
prostor za izvodjenje po segmentima i staze sa audio/video i CD DA zapisima, Ima MPEG
enkodiranje audio/video zapisa na stazama, prostor sa podacima korisnika za brzo
predtrazivanje i primere pokazivanja sekvenci i kontrole ponavljanja.
*CD E( Blue Book) definise prosirenja specifikacije CD-a. Specifikacija diska ukljucuje dve
sesije strukturu direktorijuma koja ukljucuje dodatne informacije, slike, podatke...
*DVD diskovi - diskovi veceg kapaciteta od CD-ROM-a (4.7 GB po jednom nivou ili 18GB
na dva nivoa). Sadrze DVD zastitu od dupliranja, regionalno kodiranje. Posroji vise DVD
formata( DVD ROM, DVD Video, DVD Audio, DVD R, DVD RAM/RW/+RW
*BD diskovi (Blue ray) - koristi plavi laser. KApacitet je 25 GB po strani ilii 50 GB ako se
radi o disku sa dva sloja
2. Nenasnimljeni opticki diskovi
*CD ROM - prave se uz pomov master diska, koji se koristi kao matrica pomocu koje se
formiraju kopije. Master disk se formira pomocu laserskog snopa velikog intenziteta. Povrine
sa rupicama na kopijama se presvlace bezbojnim lakom da bi se zatitile od prljavtine i
otecenja. CD-ROM i CD-DA diskovi koriste CLV. Kapacitet ovih diskova zavisi od gustine zapisa i
rastojanja izmedju staza, tj. delova spirale. Kacitet jednog CD-ROM diska je obicno 700MB
podataka, a CD-DA diska 80 minuta muzike. Postoje i CD-ROM i CD-DA diskovi na kojima moe

da se zapie 800MB podataka( 90 min muzike). Vreme trajanja zapisa na CD-ROM i CD-DA
diskovima
se procenjuje na oko 100 godina.
3. Opticki diskovi za jednokratno nasnimavanje *CD-R - Pomocu CD rezaca nasnimavaju se informacije na CD-R koje se kasnije ne mogu
obrisati ali ako se ostavi mogucnos i ako ima slobodnog mesta mogu se dodavati dodatne
informacije.
*WORM - sadrze tanak sloj aluminijuma izmedju dve ploce od plastike ili stakla. WORM
uredjaj upisuje podatke na disk tako sto laserom busi rupice na aluminijumu tako promena
upisanih podataka nije moguca. Kapacitet WORM diska je od 1,2GB do 9,1GB, uz razlicit broj
bajtova po sektoru(512-4096). Ovaj nacin cuvanja informacija je veoma pouzdan. Koriste CAV
zapis podataka.
4. Opticki diskovi sa promenjivim sadrzajem *Magnetno-opticki diskovi - Podaci se cuvaju na krutoj ploci od magnetnog materijala.
Magnetno-opticka glava se nalazi mnogo blize ploci nego glava kod magnetnih diskova pa se
zbog toga magnetni materijal stiti tankim slojem stakla ili plastike. Prilikom upisivanja bita,
glava osvetljava laserom povrsinu diska koja na tom mestu zagreva povrsinu i preoblikuje je
tako da povrsina postaje osetljiva na magnetno polje. Citanje se obavlja uz pomoc Kerovog
efekta- laserski zrak se odbija o povrsinu a polarizacija zraka zavisi od orijentacije magnetnog
polja i ona moze biti u smeru kazaljke na satu i obrnuto.. Glava otkriva smer rotcije i digitalizuje
ga. Ovi diskovi koriste CAV zapis podataka. Imaju isti kapacitet kao i WORM.
*Diskovi sa promenom faze (CD-RW) - pravi se od materijala koji moze da se nalazi u
kristalnom ili amorfnom stanju. U zavisnosti od stanja u kojem se nalazi, laserski zrak se
reflektuje razlicitom jacinom. Fazni sistem koristi laserski zrak razlicite jacine radi promene
faze na povrini diska, cime menja stepen refleksije.
*Diskovi sa obojenim polimerom - plasticna povrsina je obojena slojem boje koja
apsorbuje lasersku svetlost.Pri zagrevanju laserom boja sa nekog mesta moze da otekne pri
cemu nastaje praznima.

41. Ulazno-izlazni podsistem. U/I moduli. Tehnike izvravanja U/I operacija.


Ulazno-izlazni podsistem se sastoji od ulaznih i izlaznih ureaja ija je osnovna uloga efikasnije
korisenje raunarskog sistema,prvenstveno tako sto omoguavaju upravljanje samim raunarskim
sistemom (komunicira sa okolinom). Ulazni ureaji prikupljaju podatke iz okoline (mogu samostalno a
mogu i uz pomo ljudi) i prevode ih u oblik pogodan za obradu u raunarskom sistemu. Izlazni ureaji
preuzimaju podatke dobijene obradom i prosleuju ih na dalju obradu i-ili prikazuju u obliku
upotrebljivom za ljude. Ureaji koji spadaju u ovaj podsistem su:
1. Ureaji za memorisanje(diskovi,trake)
2. Ureaji za prenos(modemi)

3. Ureaji za kominikaciju sa korisnicima (tastatura,ekran,tampa)


Osnovna karekteristika ovih ureaja je mogucnost da posalje ili primi podatke iz
racunarskog sistema.
Ulazno/izlazni moduli slui kao posrednik izmeu preriferala i procesora. Procesor preko U/I modula
obavlja svu potrebnu komunikaciju sa U/I ureajima. Ovakva organizacija raunarskog sistema
omoguava bolje performance jer su periferali znatno sporiji od samog procesora tako da bi njihova
direktna komunikacija sa procesorom i memorijom(prilikom itanja i upisivanja podataka) usporila rad
celog sistema. Dodatni razlog za U/I modul je to to svaki periferal radi u skladu sa odreenim
pravilima,pa tim nije isplativo u procesor ukljuivati logiku rada velikog broja razliitih periferala, a i to bi
znailo da bi vremenom nestalo mesta u procesoru za nove periferale.
U/I modul je direktno prikljuen na sistemsku magistralu i obezbeuje razmenu informacija sa U/I
ureajima i kontrolu njihovog rada tako da ne utie isuvie na performanse samog raunarskog sistema.
Njegove glavne funkcije su:
1. Kontrola i usklaivanje saobraaja- U/I modul vri koordinaciju saobraaja izmeu periferala i
internih resursa. Koordinacija se odnosi na slanje podataka periferalu ako on nije trenutno
zauzet,prenos podataka sa periferala po zahtevu procesra itd.
2. Komunikacija sa procesorom- U/I modul prihvata komande i adrese perifernih ureaja od
CPU-,interpretira ih i po potrebi izvrava. Takoe alje(preko magistrale kontrolne signale
procesoru sa informacijom o statusu izvrenih operacija i razmenjuje potrebne odluke sa
procesorom.
3. Komunikacija sa ureajima komunikacija se sastoji u slanju i primanju podataka,kontrolnih
informacija i informacija o statusu ureaja.
4. Prihvatanje podataka Kako je brzina perifernih ureaja relativno mala u odnosu na
procesor,U/I modul prihvata i baferie podatke iz perifernih ureaja. Procesor i memorija
podatke prihvataju iz U/I bafera. Preko bafera se vrsi prenos podataka i u drugom smeru,ka
perifernim ureajima
5. Otkrivanje gresaka Kao deo kontrole nad radom perifernih ureaja U/I modul je zaduen za
otkrivanje i korekciju greaka ili prosleivanje odgovarajue informacije CPU-u kada greku ne
moze da otkloni.

Postoje razne vrste U/I modula. Oni jednostavnije konstrukcije se drugaije nazivaju U/I kontroleri i oni
se najee javljaju na mikroraunarima i radnim stanicama,a oni sloeniji se nazivaju U/I kanal ili U/I
procesor i on omoguuje mnogo sofisticiraniju vezu i najee se javlja na mainframe raunarima. Kod
linih raunara i radnih stanica, ako ureaj komunicira sa raunarom preko veze u samo jednoj taki, ta
taka prikljuka se naziva port. U/I port se najee sastoji od etiri registra koji se nazivaju :

1. Registri statusa oni sadre bitove koji oznaavaju da li je zavreno izvravanje tekue
komande, da li se u registru primljenih podataka nalazi bajt koji moe da se ita i da li je dolo
do greke na prikljuenom ureaju.
2. Registar kontrole u njega se upisuju komande koje treba izvriti ili informacije vezane za
promenu naina rada prikljuenog ureaja.
3. Registri primljenih i poslatih podataka - ovi registri sadre od 1 do 4 bajta. U registar primljenih
podataka se upisuju podaci primljeni od ureaja koje raunarski sistem moze da proita i
prenese na dalju obradu. U registar poslatih podataka se upisuju podaci koje treba preneti
prikljuenom ureaju.
Tehnika izvravanja U/I operacija
Najjednostabniji nain izvrsavanja U/I operacija je programirani U/I. Kada CPU izvrava program i naie
na zahtev za U/I operacijom, on odreuje potrebne adrese, spoljanji ureaj na kome se izvodi U/I
operacija i alje komadnu odgovarajuem U/I modulu. Postoje etiri tipa komandi koje procesor moe
da poalje U/I modulu:
1. Kontrolna komanda koja se koristi za aktiviranje perifernog ureaja i kojom se naznaava akcija
koju treba preduzeti.
2. Test komanda kojom se ispituje stanje U/I modula i odgovarajuih periferala. Obino se stanje
ureaja opisuje preko bitova u kontrolnom registru U/I modula. Kada je ureaj zauzet,
postavljen je bit koji predstavlja indikator zauzea. Vrednost ovog bita se anulira kada periferni
ureaj zavri posao. Ureaj ne moze da primi kontrolnu komandu od procesora sve dok mora
da eka i da periodicno vri proveru sadraja ovog bita.
3. Komanda za itanje izdaje direktivu U/I modulu da proita podatak iz periferala i smesti ga u
interni bafer. CPU zatim uzima podatak iz internog bafera zahtevajui od U/I modula da ga
smesti na magistralu podataka.
4. Komanda za pisanje izdaje direktivu U/I modulu da proita podatak sa magistrale i prenese ga u
periferni ureaj.
Prekidima upravljan U/I ureaj
Kako U/I operacija moe da zahteva relativno veliku koliinu vremena, U/I program mora da stane sa
radom i eka njen zavretak, istovremeno zaustavljajui i izvravanje korisnikog programa za taj
vremenski period. Sa uvoenjem prekida, za vreme trajanja U/I operacija,procesor moe da bude
angaovan na izvravanju drugih instrukcija.
DMA
Nedostaci oba prethodno opisana naina izvravanja U/I operacija su to zahtevaju intervenciju CPU-a
pri prenosu podataka izmeu memorije U/I modula. Prenos podataka se obavlja preko CPU-a i brzina
prenosa je ograniena brzinom kojom procesor moze da testira i servisira U/I modul. Pri izvravanju
svake U/I operacije procesor mora da izvri veliki broj instrukcija zbog cega ostali program moraju da

cekaju. Ovi nedostaci posebno dolaze do izraaja pri prenosu velikih koliina podataka. U tom sluaju je
efikasnije primeniti tehniku prenosa nazvanu direct memory acces-DMA.
DMA zahteva dodatni modul prikljuen na sistemsku magistralu koji se naziva DMA kontroler. DMA
kontroler u sutini predstavlja specijalizovani procesor koji moe da izvrava programirani U/I. Kada
procesor treba da izvri U/I operaciju, on upie DMA kontrolni blok u memoriju. Kontrolni blok sadri
adresu ureaja sa koga se vri prenos ili na koji treba upisati podatke, pokaziva na lokaciju u memoriju
gde treba preuzeti podatke u sluaju unosa, odnosno odakle treba preneti podatke u sluaju izlaza, kao i
informacije o broju bajtova koje treba preneti i identifikaciju akcije koja se zahteva. CPU zatim predaje
adresu DMA kontrolnog bloka DMA kontroleru i prelazi na druge poslove. DMA kontroler nastavlja
izvravanje operacie i prenosi bajt po bajt (a moe i vie,zavisi od irine magistrale), radei direktno sa
magistralom bez pomoci CPU-a. DMA dobija kontrolu nad magistralom kada je CPU ne koristi iako ako
zatrai od CPU-a da privremeno oslobodi magistralu. Ovakav nacin rada se naziva kraa ciklusa. Na kraju
DMA alje prekid procesoru kojim ga obavetava da je operacija izvrena.
U/I procesori i kanali su sloeni U/I moduli koji mogu da obave U/I operacije bez nadzora CPU-a. Kanal
ukljuuje U/I procesor koji moe da izvrava U/I instrukcije u memoriji. To doputa CPU-u da odredi niz
U/I poslova koji se obavlja bez njegovog nadzora. Kanalski procesor obavetava, putem prekida, CPU o
zavrteku izvravanja navedenog niza poslova.
Ukoliko U/i modul ima iste mogunosti kao i kanal,ali poseduje i sopstvenu memoriju,tada se on naziva
periferni procesor. Periferni procesor moe da kontrolie veliki broj perifernih ureaja bez pomoci
CPU-a.

You might also like