22
,,Skola mode I lepote“ SEMINARSKI RAD IZ INFORMATIKE Tema:Hardver I softver. Odnos izmedju hardvera I softvera.

seminarski informatika 56

Embed Size (px)

DESCRIPTION

Seminarski Informatika

Citation preview

Page 1: seminarski informatika 56

,,Skola mode I lepote“

SEMINARSKI RAD IZ INFORMATIKE

Tema:Hardver I softver.Odnos izmedju hardvera I softvera.

Profesor: Ucenik: Aleksandra Ristic I-2

Page 2: seminarski informatika 56

HARDVER I SOFTVERDva su osnovna pojma koja se sreću u oblasti računarstva:

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 uređaje, magnetske medijume,

elektronske komponente, linije za vezu opremu. Hardver predstavlja, dakle fizicke

komponente koje je potrebno instalirati i uključiti da bi računar proradio.

Pojam softver odnosi se na sveukupnost instrukcija, programa i procedura koji se

generiše, aktivira i koristi na raznorazne načine da bi omogućio hardveru da

realizuje žeijene poslove. Softver se sastoji od podataka smeštenih na magnetnim

medijumima u elektronskim memorijama itd. Digitaini računar rešava zadatak tako

što je prethodno "programiran", posebno za njega razvijenim softverom.

Prvi računari programirani su tako da su pravljene liste instrukcija pisanih u

binarnom kodu koje su u memoriju računara prenosene korišćenjem tastature

teleprintera ill bušene papirne trake. Pisanje ovakvih programa u takozvanom

internom jeziku računara bilo je veoma teško i zametno, posebno je bilo teško

otkrivanje i korigovanje grešaka u programima. Danas programeri pišu programe

na jezicima koji su veoma slični prirodnom jeziku, to naredbe su viši 2 programa u

memoriju rai algoritamski programski čunara. jezici. Programeri direktno upisuju

Posebni programi naredbe viših programskih jezika, prevode na interni mašinski

jezik računara. 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.

Page 3: seminarski informatika 56

Hardver i softver udruženi čine računarski sistem. Razvoj računarskih sistema

uslovljen je razvojem i hardvera i softvera.

ORGANIZACIJA HARDVERA RAČUNARA

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 RA: ČUNARSTVA

ARITMETIČKO LOGIČKA JEDINICA

UPRAVLJAČKA JEDINICA

MEMORIJSKAJEDINICA

ULAZNOIZLAZNA JEDINICA

U-I P

Specifičnost svakog računara čine elektronske komponente, njihova logička

Page 4: seminarski informatika 56

povezanost, kao i njihovo funkcionisanje. Ove specifi3, način pristupa podacima u

memoriji, tipove i vrste raspoloživih čnosti obuhvataju oblike

i dužinu reči operacija, način i mogućnosti provere računskih

gresaka, itd.

U/l jedinica može da omogući 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 računara. Do

kraja 60-tih godina organizacija upravljačke jedinice zavisila je od repertoara

instrukcija.

Novijom primenom koncepta mikroprogramiranja omogućeno je da se operacija

(instrukcija) formira od skupa elementarnih operacija nazvanih mikrooperacije

(čiji se binarni kodovi nazivaju mikroinstrukcije). Mikroprogrami predstavljaju

skup mikroinstrukcija i za izvršenje se smestaju u upravljacku memoriju. Na

ovaj nacin repertoar instrukcija kod računara sa mikroprogramiranjem može se

jednostavno menjati dopisivanjem novih mikroprograma.

Aritmetička jedinica obezbeđuje izvršavanje operacija (kao što su sabiranje i

oduzimanje brojeva, poredenje, pomeranje brojeva u levo i desno, množenje i

delenje itd.). Složenije operacije (kao npr. korenovanje, stepenovanje, itd.)

izvršavaju se kombinacijom više operacija čije se izvršavanje odvija pod

kontrolom programa.

Memorijska jedinica služi da se u nju upisuju i pamte (memorišu) i podaci i

instrukcije od kojih se sastoji program. Da bi se neki program mogao izvršiti mora

se najpre smestiti u memoriju računara. Isto tako i podaci koji se obraduju smeštaju

se u memoriju računara.

Upravljačka jedinica upravlja pojedinim koracima u obradi podataka i to na

osnovu informacija sadržanih u instrukciji koju upravljačka jedinica zahvata iz

Page 5: seminarski informatika 56

memoiije računara. Upravljačka jedinica brine da se svaki predviđeni detalj obrade

odvija na korektan način obezbeđujući sinhronizovan rad U/l jedinice, memorije i

aritmetičke jedinice.

U/l jedinice računara omogućavaju razmenu poruka izmedu računara i spoljnog

sveta. Naime, pre nego što se priđe izvršavanju programa potrebno je da se

instrukcije od kojih se sastoji program kao i odgovarajuci podaci učitaju u

memoriju računara. Posle završetka obrade podataka neophodno je da se dobijeni

rezultati saopšte korisniku. Ove operacije omogućavaju U/I jedinice. 3 Reč predstavlja niz bita (nula i jedinica). Dužina reči je broj bita koji je

sačinjavaju.

ORGANIZACIJA HARDVERA

Poslednjih decenija je pojam "elektronska računska mašina" zamenjen pojmom

"računarski sistem". Sama ova smena pojmova nagoveštava odredene promene u

izgradnji računara. U prve dve generacije računari su u organizacionom smislu

projektovani prema blok-semi prikazanoj na prethodnoj slici. Da bi se podaci i

programi uvodili u memoriju računara, ili rezultati obrade prikazivali korisniku

najpre su kao U/l jedinice korišćeni jednostavni uredaji (kao sto je operaterska

konzola sa sistemom prekidaca i signalnim sijalicama, kao i jednostavne električne

Page 6: seminarski informatika 56

pisaće mašine ili teleprinteri). Ovakva elektronska računska mašina evoluirala je u

računarski sistem kada joj je pridodat niz podsistema koji su omogućili rešavanje

veiikog broja problema, a ne samo izvršavanje odredenog niza računskih operacija.

Ovakvi računarski sistemi postali su sistemi opste namene, za razliku od prvih

računara koji su imali specificnu namenu. Ovu evoluciju omogućili su:

- povećanje propusne moći računara,

- povećanje broja i vrsta U/l jedinica koje rade u direktnoj vezi (engl. on-

line) ili na indirektan (engl. off-line) način i razvoj jedinica masovnih

memorija (magnetske trake i diskovi, magnetski bubnjevi).

Page 7: seminarski informatika 56

- baferovanje ulazno/izlaznih podataka dozvoljavajući istovremeno uvodenje

u memoriju računara ili izvođenje podataka iz memorije računara - različitih

skupova ulazno/izlaznih podataka uz istovremeno izvršavanje programa od

strane procesora.

Na bazi ovih promena opšta funkcionalna blok-šema savremenog računara postaje kao što je to prikazano na narednim dvema slikama 5.

CENTRALNIPROCESOR

ULAZNO/IZLAZNI PROCESOR

ULAZNO/IZLAZNI PROCESOR

ULAZNO/IZLAZNIPROCESOR

ULAZNO/IZLAZNI PROCESOR

. . .

. . .

Ujedinica

periferijskejedinice( )UJPJ

pravljačka Ujedinica

periferijske jedinice

) UJPJ (

pravljačka

OPERATIVNAMEMORIJA

RAM

Slika 2. Blok šema savremenog računara sa pojedinačnim magistralama

Page 8: seminarski informatika 56

Periferijske jedinice (ili ponekad nazvane spoljnje jedinice) računarskog sistema

služže za čuvanje velikog broja podataka ili biblioteka (sistemskih i/ili

aplikacionih) programa, kao i za komunikaciju izmedu računarskog sistema i

okruženja. Periferijske jedinice masovne memorije (jedinice magnetskih traka,

magnetskih diskova itd.), ulazne jedinice (tastature, opticki citaci, citaci bušenih

papirnih traka i bušenih papirnih kartica, itd.) i izlazne jedinice (videoekrani,

štampači, crtači krivih linija, itd.).

Centraini deo računara čine procesor, operativna memorija i U/l procesori.

Odmah računarskog sistema sa velikim brojem znatno sporijih (od se uočava

problem interakcije centralnog, veoma 1 3 do brzog, 106 puta) dela

0

periferijskih jedinica. Ukoliko bi procesor, obraćajući se periferijskoj jedinici,

čekao da periferijska jedinica završi predviđenu operaciju brzinu rada računarskog

sistema bi u potpunosti određivale periferijske jedinice. Za efikasan rad

PROCESORUpravljačka

jedinicamemorije

Zajednička magistrala

Upravljačka jedinica

periferne jedinice

Upravljačka jedinica

komunikacija

PERIFERIJSKE JEDINICE

OPERATIVNAMEMORIJA

Slika 2. Blok šema savremenog računara sa zajedničkom magistralom

Page 9: seminarski informatika 56

računarskog sistema nameće se potreba paralelnog rada periferijskih jedinica jedne

u odnosu na drugu kao i u odnosu na procesor. Ovakav način 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 upravljačke jedince

(kontrolera, adaptera) periferijskih jedinica. Multipleksni kanal namenjen je

opsiuživanju sporijih periferijskih jedinica (štampaci itd.), dok je selektorski kanal

namenjen opsluživanju brzih periferijskih jedinica (magnetske trake, magnetski

diskovi, itd.).

Ako u procesu obrade podataka dođe 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 računarskom sistemu) procesor odiucuje o nastavku izvršavanja datog

programa za čije je potrebe vrsena U/l operacija. Kao rezultat ovakvog resenja

dolazi do toga da je procesor kao najbrža jedinica (radi tipično u donjem delu

nanosekundskog područja) neprekidno zaposlen što u znatnoj meri povećava

propusnu moc računarskog sistema.

Memorija računarskih sistema ima istu namenu kao i memorija računske mašine

prikazane na slid 1. Medutim kod savremenih računara memorija je hijerarhijski

organizovana po brzinama i kapacitetima. Obično 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 obično ulazi u sastav procesora. Operativna

Page 10: seminarski informatika 56

memorija čuva programe i odgovarajuće podatke koje procesor neposredno

obrađuje. Znatno je većeg kapaciteta (i do milion puta) od ultrabrze memorije, ali

je i znatno sporija (desetak puta). Masovna memorija je znatno većeg 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 računara 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 upravljačkih programa.

S obzirom da se često javlja potreba za prilagodavanjem brzina različitih uredaja

koji međusobno 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 preko 10 5desetina

instrukcija. Dalje, broj funkcija koje realizuje softver mnogostruko hiljada.

Sistemska programska podrska sadrzi tipično 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

Page 11: seminarski informatika 56

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 računarskog

sistema pojednostavio posao pri rešavanju problema primenom računara. To se

ostvaruje primenom viših programskih jezika i odgovarajućih prevodilaca sa tih

jezika na interni mašinski jezik, zatim korišćenjem biblioteka standardnih

programa, kao i delom usiužnih 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

Page 12: seminarski informatika 56

dela (procesor sa ultrabrzom memorijom, U/i procesor i operativna memorija) i

periferijskog dela (U/I jedinice, masovna memorija itd.).

SOFTVERSKE KARAKTERISTIKE RAČUNARA

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.

Page 13: seminarski informatika 56

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

Page 14: seminarski informatika 56

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).