You are on page 1of 8

Predavanje br-3

INFORMACIONE tehnologije 2002

HARDVER I SOFTVER
Dva su osnovna pojma koja se sreu u oblasti raunarstva: Hardver (engl. hardware) i softver (engl. software). Pojam hardver (u nasem jeziku se koristi i izraz tehnicka podrska) odnosi se na opremu koja predstavlja fizicku (materijainu) realizaciju bilo kog sistema koji obavlja odredene funkcije. Odnosi se, na merne ureaje, magnetske medijume, elektronske komponente, linije za vezu opremu. Hardver predstavlja, dakle fizicke komponente koje je potrebno instalirati i ukljuiti da bi raunar proradio. Pojam softver odnosi se na sveukupnost instrukcija, programa i procedura koji se generie, aktivira i koristi na raznorazne naine da bi omoguio hardveru da realizuje eijene poslove. Softver se sastoji od podataka smetenih na magnetnim medijumima u elektronskim memorijama itd. Digitaini raunar reava zadatak tako to je prethodno "programiran", posebno za njega razvijenim softverom. Prvi raunari programirani su tako da su pravljene liste instrukcija pisanih u binarnom kodu koje su u memoriju raunara prenosene korienjem tastature teleprintera ill buene papirne trake. Pisanje ovakvih programa u takozvanom internom jeziku raunara bilo je veoma teko i zametno, posebno je bilo teko otkrivanje i korigovanje greaka u programima. Danas programeri piu programe na jezicima koji su veoma slini prirodnom jeziku, to su vii i algoritamski programski jezici. Programeri direktno upisuju naredbe2 programa u memoriju raunara. Posebni programi naredbe viih programskih jezika, prevode na interni mainski jezik raunara. Posebnu klasu ovih programa ine asembleri (engl. assembler), zatim prevodioci ili kompajleri (engl. compiler), interpreteri, pa se u torm smislu govori o asemblerskim, kompajlerskim i interpreterskim jezicima. Hardver i softver udrueni ine raunarski sistem. Razvoj raunarskih sistema uslovljen je razvojem i hardvera i softvera.

ORGANIZACIJA HARDVERA RAUNARA


Organizacija racunara prema Von Neumann-ovom konceptu (Von Neumann-ov automat) predstavljena je na slid 1.3.1. Prema ovom konceptu racunar se sastoji od cetiri osnovne jedinice: - aritmeticka jedinica, - memorijska jedinica, - upravljacka jedinica i - ulazno-izlazna (U/l) jedinica.
2

Naredba je element programa pisanog u visem programskom jeziku i po pravilu se prevodi tako da jednoj naredbi odgovara vise instrukcija.

D. Obradovi: OSNOVI RAUNARSTVA

ULAZNO IZLAZNA JEDINICA

MEMORIJSKA JEDINICA

UPRAVLJAKA JEDINICA

U-I
ARITMETIKO LOGIKA JEDINICA

Specifinost svakog raunara ine elektronske komponente, njihova logika povezanost, kao i njihovo funkcionisanje. Ove specifinosti obuhvataju oblike i duinu rei3, nain pristupa podacima u memoriji, tipove i vrste raspoloivih operacija, nain i mogunosti provere raunskih gresaka, itd. U/l jedinica moe da omogui serijski (bit po bit) ili paraleini (svi bitovi odednom) prenos podataka odnosno instrukcija. Broj raspolozivih instrukcija (koji se jos naziva i repertoar instrukcija) u velikoj meri zavisi od vrste i tipa raunara. Do kraja 60-tih godina organizacija upravljake jedinice zavisila je od repertoara instrukcija. Novijom primenom koncepta mikroprogramiranja omogueno je da se operacija (instrukcija) formira od skupa elementarnih operacija nazvanih mikrooperacije (iji se binarni kodovi nazivaju mikroinstrukcije). Mikroprogrami predstavljaju skup mikroinstrukcija i za izvrenje se smestaju u upravljacku memoriju. Na ovaj nacin repertoar instrukcija kod raunara sa mikroprogramiranjem moe se jednostavno menjati dopisivanjem novih mikroprograma. Aritmetika jedinica obezbeuje izvravanje operacija (kao to su sabiranje i oduzimanje brojeva, poredenje, pomeranje brojeva u levo i desno, mnoenje i delenje itd.). Sloenije operacije (kao npr. korenovanje, stepenovanje, itd.) izvravaju se kombinacijom vie operacija ije se izvravanje odvija pod kontrolom programa. Memorijska jedinica slui da se u nju upisuju i pamte (memoriu) i podaci i instrukcije od kojih se sastoji program. Da bi se neki program mogao izvriti mora se najpre smestiti u memoriju raunara. Isto tako i podaci koji se obraduju smetaju se u memoriju raunara. Upravljaka jedinica upravlja pojedinim koracima u obradi podataka i to na osnovu informacija sadranih u instrukciji koju upravljaka jedinica zahvata iz memoiije raunara. Upravljaka jedinica brine da se svaki predvieni detalj obrade odvija na korektan nain obezbeujui sinhronizovan rad U/l jedinice, memorije i aritmetike jedinice.

U/l jedinice raunara omoguavaju razmenu poruka izmedu raunara i spoljnog sveta. Naime, pre nego to se prie izvravanju programa potrebno je da se instrukcije od kojih se sastoji program kao i odgovarajuci podaci uitaju u memoriju raunara. Posle zavretka obrade podataka neophodno je da se dobijeni rezultati saopte korisniku. Ove operacije omoguavaju U/I jedinice.

Re predstavlja niz bita (nula i jedinica). Duina rei je broj bita koji je sainjavaju.

ORGANIZACIJA HARDVERA
Poslednjih decenija je pojam "elektronska raunska maina" zamenjen pojmom "raunarski sistem". Sama ova smena pojmova nagovetava odredene promene u izgradnji raunara. U prve dve generacije raunari su u organizacionom smislu projektovani prema blok-semi prikazanoj na prethodnoj slici. Da bi se podaci i programi uvodili u memoriju raunara, ili rezultati obrade prikazivali korisniku najpre su kao U/l jedinice korieni jednostavni uredaji (kao sto je operaterska konzola sa sistemom prekidaca i signalnim sijalicama, kao i jednostavne elektrine pisae maine ili teleprinteri). Ovakva elektronska raunska maina evoluirala je u raunarski sistem kada joj je pridodat niz podsistema koji su omoguili reavanje veiikog broja problema, a ne samo izvravanje odredenog niza raunskih operacija. Ovakvi raunarski sistemi postali su sistemi opste namene, za razliku od prvih raunara koji su imali specificnu namenu. Ovu evoluciju omoguili su: - poveanje propusne moi raunara, - poveanje broja i vrsta U/l jedinica koje rade u direktnoj vezi (engl. on-line) ili na indirektan (engl. off-line) nain i razvoj jedinica masovnih memorija (magnetske trake i diskovi, magnetski bubnjevi).

- baferovanje ulazno/izlaznih podataka dozvoljavajui istovremeno uvodenje u memoriju raunara ili izvoenje podataka iz memorije raunara - razliitih skupova ulazno/izlaznih podataka uz istovremeno izvravanje programa od strane procesora. Na bazi ovih promena opta funkcionalna blok-ema savremenog raunara postaje kao to je to prikazano na narednim dvema slikama 5.
CENTRALNI PROCESOR
ULAZNO/IZLAZNI PROCESOR

OPERATIVNA MEMORIJA

ULAZNO/IZLAZNI PROCESOR

RAM
Upravljaka jedinica periferijske jedinice (UJPJ) Upravljaka jedinica periferijske jedinice (UJPJ)

...

ULAZNO/IZLAZNI PROCESOR

...

ULAZNO/IZLAZNI PROCESOR

Slika 2. Blok ema savremenog raunara sa pojedinanim magistralama


Zajednika magistrala

PROCESOR

Upravljaka jedinica memorije

Upravljaka jedinica periferne jedinice

OPERATIVNA MEMORIJA

PERIFERIJSKE JEDINICE

Upravljaka jedinica komunikacija

Slika 2. Blok ema savremenog raunara sa zajednikom magistralom

Periferijske jedinice (ili ponekad nazvane spoljnje jedinice) raunarskog sistema slue za uvanje velikog broja podataka ili biblioteka (sistemskih i/ili aplikacionih) programa, kao i za komunikaciju izmedu raunarskog sistema i okruenja. Periferijske jedinice masovne memorije (jedinice magnetskih traka, magnetskih diskova itd.), ulazne jedinice (tastature, opticki citaci, citaci buenih papirnih traka i buenih papirnih kartica, itd.) i izlazne jedinice (videoekrani, tampai, crtai krivih linija, itd.). Centraini deo raunara ine procesor, operativna memorija i U/l procesori. Odmah se uoava problem interakcije centralnog, veoma brzog, dela raunarskog sistema sa velikim brojem znatno sporijih (od 103 do 106 puta) periferijskih jedinica. Ukoliko bi procesor, obraajui se periferijskoj jedinici, ekao da periferijska jedinica zavri predvienu operaciju brzinu rada raunarskog sistema bi u potpunosti odreivale periferijske jedinice. Za efikasan rad raunarskog sistema namee se potreba paralelnog rada periferijskih jedinica jedne u odnosu na drugu kao i u odnosu na procesor. Ovakav nain rada omogucavaju U/l procesori (U/l kanali) kao i sistem prekidanja (engl. interrupt) programa. Dva su osnovna tipa U/l kanala: (a) multipleksni i (b) selektorski. Veza izmedu jednog tipa periferijskih jedinica i kanala ostvaruje se preko upravljake jedince (kontrolera, adaptera) periferijskih jedinica. Multipleksni kanal namenjen je opsiuivanju sporijih periferijskih jedinica (tampaci itd.), dok je selektorski kanal namenjen opsluivanju brzih periferijskih jedinica (magnetske trake, magnetski diskovi, itd.). Ako u procesu obrade podataka doe do potrebe da se koristi neka periferijska jedinica (npr. potrebno je tampati rezultate obrade) procesor aktivira odgovarajuci U/l kanal i snabdeva ga potrebnim informacijama. U/l kanal samostaino izvrsava datu U/l operaciju, a procesor se oslobada za izvrsavanje drugih poslova. Po zavrsetku U/l operacije U/l kanal generise signal prekida obavestavajuci procesor o zavrsetku U/l operacije. Na bazi ovog signala (i drugih signala prekida koji se pojavljuju u raunarskom sistemu) procesor odiucuje o nastavku izvravanja datog programa za ije je potrebe vrsena U/l operacija. Kao rezultat ovakvog resenja dolazi do toga da je procesor kao najbra jedinica (radi tipino u donjem delu nanosekundskog podruja) neprekidno zaposlen to u znatnoj meri poveava propusnu moc raunarskog sistema. Memorija raunarskih sistema ima istu namenu kao i memorija raunske maine prikazane na slid 1. Medutim kod savremenih raunara memorija je hijerarhijski organizovana po brzinama i kapacitetima. Obino se razlikuju tri osnovna hijerarhijaska nivoa: (a) ultrabrza memorija, (b) operativna (glavna, primarna) memorija i (c) masovna (spoljna) memorija. Ultra brza memorija je velike brzine i relativno malog kapaciteta. Namenjena je za ubrzanje rada procesora i obino ulazi u sastav procesora. Operativna memorija uva programe i odgovarajue podatke koje procesor neposredno obrauje. Znatno je veeg kapaciteta (i do milion puta) od ultrabrze memorije, ali je i znatno sporija (desetak puta). Masovna memorija je znatno veeg kapaciteta (i preko nekoliko desetina miliona puta) i znatno sporija (i preko hiljadu puta) od operativne memorije. Namenjena je da uva programe i podatke, koji e kasnije biti potrebni u procesu obrade i ulazi u sastav periferijskih jedinica. esto se kod savremenih raunara izdvaja i posebna memorija nazvana upravljacka memorija. Ova memorija je po pravilu stalna memorija (njen sadrzaj se moze samo itati ali se pod normalnim uslovima ne moze menjati) i namenjena je za uvanje dela upravljakih programa.

S obzirom da se esto javlja potreba za prilagodavanjem brzina razliitih uredaja koji meusobno razmenjuju podatke (npr. periferijska jedinica i procesor) kao poseban hijerarhijski nivo esto se uvodi bafer memorija. Bafer memorija se po pravilu realizuje kao deo operativne memorije namenjen za U/l operacije.

ORGANIZACIJA SOFTVERA
Treba odmah napomenuti da je organizacija softvera znatno slozenija od organizacije hardvera. To mozemo ilustrovati i cinjenicom da broj elementarnih logickih kola retko prelazi broj od 100 000 i kod najvecih racunarskih sistema, dok je tipican broj logickih kola od nekoliko hiljada do nekoliko desetina hiljada. Sistemska programska podrska sadrzi tipino preko 105 instrukcija. Dalje, broj funkcija koje realizuje softver mnogostruko prevazilazi broj funkcija koje realizuje hardver. Razvojem organizacije hardvera razvijao se i softver racunarskih sistema. Tako su racunari prve generacije programirani u asemblerskom jeziku, sa mogucnoscu koriscenja potprograma i elementarnim usiuznim programima. U drugoj generaciji se vec koriste visi programski jezici (FORTRAN, COBOL, ALGOL, PASCAL), zatim se javljaju asembleri sa makroinstrukcijama, pocinje i razvoj sistemskih programa (prvenstveno monitora, preteca savremenih operativnih sistema). Trecu generaciju karakterise razvoj mnostva programskih jezika i sistemskih programa u danasnjem smislu te reci. Upravljacki deo sistemskih programa tipicno obuhvata: 1. Upravljanje prekidima, 2. Raspodelu resursa, 3. Lansiranje programa, 4. Upravljanje U/l operacijama, 5. Obradu i Upravljanje greskama. Drugu veliku grupu sistemskih programa ine programski sistemi za programiranje namenjeni za obezbedenje pripreme programa, kako bi se korisniku raunarskog sistema pojednostavio posao pri reavanju problema primenom raunara. To se ostvaruje primenom viih programskih jezika i odgovarajuih prevodilaca sa tih jezika na interni mainski jezik, zatim korienjem biblioteka standardnih programa, kao i delom usiunih programa (kao sto su programi za sortiranje podataka i sl.) Od pocetka sezdesetih godina dolazi do bitne izmene u organizaciji racunara (o cemu ce biti reci nesto kasnije). Naime, aritmeticka jedinica i upravljacka jedinica udruzuju se u jednu jedinicu nazvanu procesor, uvodi se nova jedinica nazvana U/I procesor, uvodi se nekoliko hijerarhijskih nivoa memorije (ultrabrza, operativna i masovna memorija), a racunar se globaino sastoji od centralnog dela (procesor sa ultrabrzom memorijom, U/i procesor i operativna memorija) i periferijskog dela (U/I jedinice, masovna memorija itd.).

SOFTVERSKE KARAKTERISTIKE RAUNARA


Kao sto smo to vec napomenuli, pojam softver odnosi se na sveukupnost raspolozivih programa, kako za resavanje specijalnih problema, tako i onih pisanih za efikasno koriscenje racunarskog sistema, za pojednostavljivanje programiranja i za odrzavanje samog racunarskog sistema. Razvoju softvera poslednjih godina se poklanja narocita paznja, pa cemo se sada upoznati sa osnovnim pojmovima vezanim za softver. Sa pojmom masinski jezik vec smo se upoznali. Naime, masinski jezik vezan je sa predstavljanjem informacija pomocu reci sastavijenih od slova binarnog alfabeta koje procesor moze direktno interpretirati koristeci ugradenu (hardversku) logiku. S obzirom da se alfabet procesora sastoji od dva slova koje usiovno oznacavamo sa "0" i "1" to je za coveka veoma tesko da se reci sastavljene od ovih slova (kodovi) nauce. Medutim, za rad procesora neophodno je da programi budu u masinskom jeziku. Iz navedenih razloga, programer obicno pise svoje programe koristeci se simbolima koji su veoma slicni simbolima iz prirodnog jezika (obicno engleskog jezika). Ovi programi se nazivaju izvorni programi (engl. source program). U ovu svrhu programer koristi asembierske ill vise programske jezike. Ovako napisan program smesta se najpre na masovnu memoriju, a zatim se u cilju prevodenja na masinski jezik skupa sa programom prevodiocem unosi u operativnu memoriju racunara. Ovako pripremljeni programi (ili njihovi segmenti nazvani i potprogrami) mogu da se ukljuce u softversku (programsku) biblioteku racunara. Programi pripremljeni za racunar mogu se pogodno svrstati u sledece grupe: - aplikacioni program!, - sistemski programi. Aplikacioni programi predstavljaju skup programa koje obicno razvijaju korisnici (cesto se nazivaju i korisnicki programi ili programi korisnika) racunarskih sistema za resavanje svojih specificnih problema. Sistemski programi se odnose na programe za organizaciju i upravljanje procesima rada racunarskog sistema (cesto nazvani i upravljacki programi) i automatizaciju procesa programiranja. U upravljacke programe spadaju operativni sistemi, koji imaju za zadatak upravljanje radom racunarskog sistema, obezbedenja komunikacija izmedu centralnog dela racunara i periferijskih jedinica u koju svrhu pozivaju usiuzne programe koji su namenjeni za obavljanje brojnih specificnih poslova (kao sto su ispitivanje stanja racunarskog sistema, upravljanje radom periferijskih Jedinica, uprav!janje podacima i sl,). U sistemske programe spadaju i programi simulator), koji omogucavaju softversku simulaciju jednog racunarskog na drugom racunarskom sistemu (za razliku od emulatora gde se na jednom racunarskom sistemu vrsi simulacija drugog racunarskog sistema hardverskim putem). U sistemske programe takode spadaju i programski sistemi za programiranje gde spadaju programi asembleri, prevodioci i interpreteri. Kao sto smo to vec napomenuli oni predstavljaju familiju programa koji izvorne programe prevode na masinski jezik racunara. Ovde je od interesa nagiasiti razliku izmedu asemblera i kompaji&ra odnosno interpretera. Asembler se po pravilu razvija za dati racunarski sistern i sluzi da jednL: naredbu iz asemblerskog jezika prevede u Jednu instrukciju masinskog jezika. 2a raziiku od asemblera prevodilac i interpreter, po pravilu, za jednu naredbu napisanu u visern programskom jeziku generisu vise instrukcija masinskog jezika. Prevodilac i interpreter se razlikuju po tome sto prevodilac

na interni masinski jezik prevodi dlav program, pa se tek onda pristupa izvrsavanju programa, dok interpreter prevodi jednu naredbu iz viseg programskog jezika na niz instrukcija masinskog jezika, pristupa izvrsavanju ovih instrukcija, potom prelazi na prevodenje i izvrsavanje sledece naredbe. Bitna karaktenstika prevodilaca i interpretera sastoji se u tome sto su oni, po pravilu, nezavisni od tipa racunarskog sistema, tako da kad se programiranje nauci r,a jednom programskom jeziku, uz neznatne izrnene, mogu se pisati program; za biio koji racunarski sistem, koji poseduje prevodilac/interpreter za dati programski jezik. Sa tacke gledista racunarskog sistema programiranje u asemblerskom jeziku irna odredene prednosti u odnosu na programiranje u visim programskim jezidma. Naime, prevodilac/interpreter generise obicno vise programskih koraka nego sto je to minimaino potrebno, pa je za programe pisane u visem programskom jeziku potrebno vise memorijskog prostora i vise vremena za obradu nego za programe pisane u asemblerskom jeziku. Medutim, sa aspekta korisnika visi programski jezici su zriatno pogodniji s obzirom da se za pisanje programa i njihovu proveru zahteva neuporedivo manje vremena nego za programe pisane u asemblerskom jeziku (u sto cemo se uveiiti kasnije).

You might also like