arhitektura racunara (1)

14
ARHITEKTURA RACUNARA 1. UVOD Kompjuterski sistem je skup medjusobno povezanih elemenata koji djeluju ka ostvarenju nekog cilja. Karakterisu ga: Struktura:nacin na koje su komponente medjusobno povezane Funkcija:djelovanje pojedninih komponenti Organizacija racunara je hijerarhijska. Svaka glavna komponenta ima svoje podkomponente, a podkomponente imaju vlastitu strukturu i funkciju. Znaci hijerarskija organizacija racunara se opisuje odozgo prema dole. Osnovne komponente racunarskog sistema su: procesor, memorija, ulazno izlazne jedinice. Osnovne komponente procesora su kontrolna jedinica, registri, aritmeticko-logicka i izvrsna jedinica.Kontrolna jedinica sluzi za koordinaciju procesorskih elemenata i obezbjedjuje kontrolne signale za rad. Racunarska arhitektura se odnosi sa sistemske osobine koje su vidljive programeru, odnosno osobine koje imaju direktan uticaj na logicko izvrsavanje programa.To su : instrukcijski set, broj bitova za predstavljanje tipova podataka, U/I mehanizmi i tehnike adresiranja memorije. Racunarska organizacija se odnosi na operativne jedinici i njihovo povezivanje kojima se ostvaruju arhitekturne specifikacije. To su kontrolni signali, razliciti interfejsi, memorijske tehnologije. Razlika izmedju arhitekture i organizacije je veoma vazna, npr. Arhitektura moze trajati vise godina, ali njihova organizacija se mijenja promjenom tehnologije. Zbog toga se razliciti modeli unutar jedne familije racunarskih modela razlikuju u cijeni i karakteristikama. Nije potrebno mijenjati softver koji je razvijan za citavu familiju racunara, bez obzira na cijenu, jacinu i brzinu.

Upload: damir-fermic

Post on 13-Nov-2015

20 views

Category:

Documents


5 download

DESCRIPTION

ARHITEKTURA RACUNARA

TRANSCRIPT

ARHITEKTURA RACUNARA

1. UVOD Kompjuterski sistem je skup medjusobno povezanih elemenata koji djeluju ka ostvarenju nekog cilja.Karakterisu ga:Struktura:nacin na koje su komponente medjusobno povezaneFunkcija:djelovanje pojedninih komponentiOrganizacija racunara je hijerarhijska. Svaka glavna komponenta ima svoje podkomponente, a podkomponente imaju vlastitu strukturu i funkciju. Znaci hijerarskija organizacija racunara se opisuje odozgo prema dole. Osnovne komponente racunarskog sistema su: procesor, memorija, ulazno izlazne jedinice.Osnovne komponente procesora su kontrolna jedinica, registri, aritmeticko-logicka i izvrsna jedinica.Kontrolna jedinica sluzi za koordinaciju procesorskih elemenata i obezbjedjuje kontrolne signale za rad.Racunarska arhitektura se odnosi sa sistemske osobine koje su vidljive programeru, odnosno osobine koje imaju direktan uticaj na logicko izvrsavanje programa.To su : instrukcijski set, broj bitova za predstavljanje tipova podataka, U/I mehanizmi i tehnike adresiranja memorije.Racunarska organizacija se odnosi na operativne jedinici i njihovo povezivanje kojima se ostvaruju arhitekturne specifikacije. To su kontrolni signali, razliciti interfejsi, memorijske tehnologije.Razlika izmedju arhitekture i organizacije je veoma vazna, npr. Arhitektura moze trajati vise godina, ali njihova organizacija se mijenja promjenom tehnologije. Zbog toga se razliciti modeli unutar jedne familije racunarskih modela razlikuju u cijeni i karakteristikama. Nije potrebno mijenjati softver koji je razvijan za citavu familiju racunara, bez obzira na cijenu, jacinu i brzinu.

Racunar je slozen sistem. Sastoji se od miliona osnovnih komponenti. Zato trebamo poznavati hijerarskiju prirodu sistema. Hijerarhijski sistem je skup medjusobno povezanih podsistema.To je osnova za projektovanje i opis sistema. Na svakom nivou projektant se brine od strukturi i funkciji.

Osnovne funkcije racunara:OBRADA PODATAKA, POHRANJIVANJE PODATAKA, KRETANJA PODATAKA I KONTROLA.Racunar mora obradjivati podatke, podaci imaju razlicitu formu, a i zahtjevi za obradu su razliciti. Osnovna funkcija racunara je i pohrana podataka. Obrada u letu je obradjivanje podataka i prosljedjivanje van racunara, racunar mora i pohraniti podatke, kratkotrajno ili na duzi period. Pohranjuju se i naknadno uredjuju. Isto tako racunar mora obezbjediti kretanje podataka izmedju sebe i vanjskog svijeta.Radna okolina --> uredjaji koji sluze kao izvor ili odrediste podataka. Ulazno-izlazni proces--> prima i prosljedjuje podatke na uredjaje koji je direktno povezan na njega. Taj uredjaj je periferal. Podatkovna komunikacija--> prenosenje podataka sa vece udaljenosti ili na udaljeni uredjaj.Osnovne komponente strukture racunara:CENTRALNA PROCESNA JEDINICA (kontrolise rad racunara i obradjuje podatke)GLAVNA MEMORIJA (pohranjuje podatke)U/I (prebacivanje podataka izmedju racunara i okoline)SISTEMSKO POVEZIVANJE (mehanizam povezivanja elemenata racunara )

RAZVOJ RACUNARA I NJIHOVIH PERFORMANSIHistorija racunaraPrva generacija: vakumske cijeviPrvi digitalni racunar je bio ENIAC, izradjen na univerzitetu Penslivanija, za americku vojsku. John Mauchly je predlozio izradu racinara opce namjene pomocu vakumskih cijevi i tako je otpoceo rad na EINACU-u. Tezio je 30 tona i povrsinu od 140 kvadratnih kilometara i 18000 vakumskih cijevi.Trebalo je 140kW snage. Mogao je izvrsiti 5000 sabiranja u sekundi.To je bila decimalna, a ne binarna masina.Koristen je do 1955 godine.1945. godine Von Neumann je predlozio izradu novog racunara EDVAC. Sljedece godine su poceli projektovanje racunara, zavrsen je 1952 godine, i sluzio kao prototip kasnijih racunara opce namjene.Opca struktura IASa se sastoji od:Glavne memorije u koju su pohranjeni podaci i instrukcijeAritmeticke i logicke jedinice koja radi sa binarnim podacimaKontrolna jedinica koja prevodi instrukcije iz memorija i izvrsava ihUlazlna izlazna oprema kojom upravlja kontrolna jedinica

Glavne znacajke von Neumanovog prijedloga su:Prvo. Uredjaj ce morati izvrsavati najcesce aritmeticke operacija sabiranje, oduzimanje, mnozenje i dijeljenje. Logicno je da ima organe samo za ove operacije. To znaci da mora postojati centralni aritmeticki dio i to je prvi specificni dio CA.Drugo. Logicka kontrola je predstavljena pravilnim redosljedom operacija. To znaci da se mora napraviti razlika u operacijama kojima de definise odredjen problem.Pod centralnom kontrolom se podrazumijeva funkcija ovih dijelova i oni se nazivaju drugi specificni dio.Trece. Da bi izvrsavao duze operacije mora imati znacajnu kolicinu memorije. To znaci da ukupna memorija cini treci specificni dio uredjaja.Skracenice su CA, CC i M.Trebaju imati ulazni i izlazni organi, a to su vanjski mediji za snimanje ili R.Cetvrto. Uredjaj mora imati organe za prenos informacija od R ka Ca, CC i M. Ovi organi cine ulaz kao cetvrti specificni dio.Peto. Uredjaj mora imati organe za prenos CA,CC i M ka R. Ovi organi cine njegov izlaz , kao peti specificni dio ili O.IAS- ova kontrolna jedinica radi tako sto dobavlja jednu po jednu instrukcija iz memorije. Sadrzi lokacije za pohranjivanje koje se nazivaju registri i to:-Memorijski buffer registar: sadrzi rijec koja se pohranjuje u memoriji i salje prema I/O jedinici ili se koristi za primanje rijeci iz memorije ili I/O jedinice.-Memorijski adreski registar: odredjuje adresu rijecu u memoriji koja se upisuje iz ili ucitava u MBR.-Instrukcijski registar: sadrzi 8-bitni kod instrukcije koja se izvrsava.-Instrukcijski buffer registar: privremeno drzi desnu instrukciju rijeci u memoriji-Programski brojac: sadrzi adresu sljedeceg instrukcijskog para koji se dobavlja iz memorije.-Akumulator i multipler quotient: privremeno drze operande i rezultate ALU operacija. IAS radi tako sto ponavlja instrukcijski ciklus. Svaki ciklus se sastoji od dva podciklusa. IAS racunar je imao ukupno 21 instrukciju . Mogu se grupisati su:- Prenos podataka: izmedju memorije i 2 ALU registra -Bezuslovno grananje: potpomaze operacije koje se ponavljaju-Uslovno grananje: grananje moze zavisiti od uslova, te se na taj nacin dopusta izbor-Aritemtika: operacije koje izvodi ALU-Modifikacija adrese: dozvoljava se izracunavanje adresa u ALU, dozvoljava se adresna fleksibilnost.Komercijalni racunari. Pedesetih godina proslog vijeka rodila se comp. industrija, a dominirali su Sperry i IBM. Prva uspjesna masina je bio UNIVAC 1, namijenjen za naucnu i za komercijalnu upotrebu.UNIVAC 2 pojavio se kasnih pedesetih godina. Imao je vecu memoriju i bolje performanse.IBM, najveci proizvodjac opreme za busene kartice, predstavio je 1953. godne svoj prvi elektronski kompjuter koji je bio namjenjen za naucne svrhe. Onda izlazi IBM 702 kojom je IBM postao najveci proizvodjac racunara.Druga generacija: tranzistori Dolazi kad su se vakumske cijevi zamijenili tranzistorom, koji je manji, jeftiniji i rasipa manje toplote. Tranzistor je sacinjen od silikona. Izumljen je u Bell Labsu i izazvao elektronicku revoluciju. Koristenje tranzistora definise drugu generaciju racunara. U drugoj generaciji pojavljuju se jezici visokog nivoa i racunari sa sistemskim softverom. Narasla je velicina memorije i brzina zvrsavanja CPU-a. Sljedeca novina je multipleksor tacka u kojoj zavrsavaju svi podatkovni kanali, CPU i memorija.Treca generacija: integrisana kola Zasebni tranzistor se naziva diskretna komponenta, a one su bile prodavane zasebno i zasebno ugradjivane u racunar. To je proizvodilo dosta problema. Onda je izmisljeno integralno kolo.Vrata je uredjaj kojim se ostvarije Bulova ili logicka funkcija. Memorijska celija moze pohraniti jedan bit podatka.Cetiri osnovne racunarske funckije se mogu objasniti pomocu ovih komponenti na sljedeci nacin:-Pohrana podataka: obezbjeduje memorijske celije-Obrada podataka: obezjbjedjuje kola-Premjestanje podataka: putanje izmedju komponenti koje se koriste za premjestanje podataka od memorije do memorije-Kontrola: putanje izmedju komponenti nose kontrolne signale.Od signala zavisi koja ce se npr.vrata aktivirati.Zato se racunar sastoji od kola, memorijskih celija i veza medju njima. Integrisana kola su zapravo zasebne komponente. U ranijoj fazi kola se prave malog razmjera, vremenom sve vise i vise komponenti se postavlja na jedan cip. Prvi koji su uveli integrisana kola su bili IBM i postigli su uspjeh decenije sa odjelom od 70% ukupnog trzista. Modeli su bili kompatibilni .Karakteristike porodice suSlican ili identican instrukcijski set, slican ili isti operativni sistem, povecanje brzine, povecanje I/O prikljucaka, povecanje memorije, povecanje cijene.

Kasnije generacije Uvodi se integracija velike razine, moglo se ugraditi 1000 elemenata na jedan cip. Brzi tempo je omogucio visoku stopu uvodjena novih proizvoda, te povecanjem softvera i komunikacija. Prva upotreba integrisanih kola bila je izrada procesora od integrisanih cipova, medjutim posalo je jasno da se moze koristiti za izradu memorije. POLUPROVODNICKA MEMORIJA.Ova memorija je bila brza, medjutim bila je skupa i glomazna.Mikroprocesori, kako je vrijeme prolazilo sve je vise i vise elemenata bilo postavljano na jedan cip, tako da je sve manje i manje cipova bilo potrebno za izradu procesora. Prvi mikroprocesor je bio Intelov 4004. to se smatra rodjenjem mikroprocesora. Prvi je bio 4- bitni procesor.Brzina mikroprocesoraRazvoj racunara jos prati Mooreov zakon. Kod mikroprocesora se brzina povecava pet puta svake tri godine od Intelove x86 porodice. Tehnike ugradjene u danasnje procesore su:-Predvidjanje grananja: procesor gleda koje su instrukcije ucitanje iz memorije i nastoji predvijeti koje ce biti sljedece obradjene. Ako pravilno predvidi, moze pripremiti ispravne instukcije i pohraniti ih u buffer. Zato predvidjanje grananja povecava kolicinu rada koja stoji u procesu izvrsenja.-Analiza toka : Ovim se sprecava nepotrebno kasnjenje tako so procesor analizira instrukcije koje su zavisne ili nezavisne od rezultata...-Spekulativno izvrsavanje: koristeci prethodna dva , izvrsni dijelovi procesora se drze zaposlenim sto je vise moguce, jer izvrsavaju instrukcije koje ce vjerovatno biti potrebne.Uravnotezenje performansiProcesor se razvijao velikim tempom , dok ostale komponente i nisu. Rjesenje se nalazi u uravnotezenju performansi tj. uskladjivanje organizacije i arhitekture.Kes memorija me mala i brza memorija smjestena izmedju vece i sporije memorije i elementa koji pristupa vecoj memoriji.Poboljsanja prganizacije i arhitekture cipaBez obzira da uravnoteze performanse procesa sa glavnom memorijom i ostalim komponentama, ostaje potreba povecanja procesorske brzine. Postoje tri pristupa: Povecati hardversku brzinu procesora smanjenjem velicine logickih kola procesorskog cipaPovecanje velicine i brzine keseva koji su smjesteni izmedju procesora i glavne memorije.Promjene u organizaciji i arhitekturi procesora koje povecavaju efektivnu brzinu izvrsavanja instrukcija.

Najcesce se koristi prvi pristup. Medjutim kako se povecava brzina procesora i gustina elemenata na njemu, javljaju se prepreke:Energija: raste gustina toka energije, rasipanje toplite koje se javlja na procesorima velike brzine i gustine.Kasnjenje kola: brzina kojom se elektroni krecu po cipu izmedju tranzistora ogranicena je otporom i kapacitetom zica. Sto vece kolo to vise kasni.Memorijska latentnost: memorijske brzine zaostaju za procesorskim.Razvoj Intel-ove x86 arhitektureDok su intelovi mikroprocesori postajali brzi i slozeniji, Intel je povecavao tempo razvoja. Novi mikroprocesor bi izlazio svake 4 godine. Vazno je istaci znacajke razvoja :8080 - 8 bitni procesor8086 - 16 bitni procesor 80286 - omogucio adresiranje 16MB memorije80386 32 bitni mikroprocesor 80486- sofisticiranjija i jaca kes tehnologija Pentium- tehnike superskalara sto omogucava paralelno izvrsavanje instrukcijaPentium Pro: prosiruje superskalarnu organizacijuPentium 2: ugradnja MMX tehnologijePentium 3: floating point za 3D graficke programePentium 4: poboljsanja za muti medijeCore: x86 procesor sa duplom jezgrom Core2: 64 bitna, nudi 4 procesora na jednom cipu.Sistemski takt rukovodi izvodjenjem aritmetickih operacija, dohvatanjem instrukcija itd. Pocinju taktnim impulsom. 1GHz procesor prima milijardu impulsa u sekundi. Ova mjera je poznata kao brzina takta. Jedna promjena stanja ili jedan impuls se oznacava kao taktni ciklus ili otkucaj. Vrijeme izmedju impulsa je vrijeme ciklusa. Brzina izvrsavanja instrukcija. Procesorom upravlja njegov takt konstante frekvencije. CPU vrsi razlicite cikluse u razlicito vrijeme. Onda imamo formulnu da je ukupan CPI:

Procesorsko vrijeme datog programa je T=Ic x CPI x t. U slucaju prebacivanja memorije gornja formula se moze napisati u obliku:P je broj ciklusa procesora potrebnih za izvrsavanje instrukcije, m je broj potrebnih memorijskih referenci i k odnos izmedju memorijskog i procesorskog vremena. Pet faktora ucinka iz prethodne formule zavisi od 4 sistemske osobine: dizajn, kompajlerske tehnologije, implementacije procesora i hijerarhije kesa i memorije. Opca mjera ucinka procesora je brzina kojom se izvrsavaju instrukcije izrazena je milionima instrukcija u sekundi, koja se oznacava kao MIPS brzina:Koristi se jos jedna opca mjera za instrukcje za pokretnim zarezom a naziva se MFLOPS

Mjerila kao sto su MIPS i MFLOPS su nedovoljne za ocjenu ucinka procesora. Zbog razlika u instrukcijskim setovima, brzinu izvrsavanja nije opravdano koristiti za uporedjivanje performansi razlicitih arhitektura. U vezi s tim izmisljeni su referentni programi. Osobine referentnog programa su: napisan u jeziku visokog nivoa, predstavnik odredjene vrste programiranja, lagan za mjerenje, ima siroku distribuciju. SPEC mjerila za potrebu industrijske, akademske i i istrazivacke zajednica za opce prihvaceni mjerama racunarski performansi, dovela je do razvoja standardiziranih skupova mjerila. Programiran su u jeziku visokog nivoa.Prosjecni rezultati sluze da dobijanje pouzdane uporedbe performansi razlicitih racunara. Mjerilo brzine mjeri sposobnost racunara da vrsi jedan zadatak. Rezultati testnog sistema se prikazuju kao odnos referentnog i sistemskog vremena trajanja. Mjerilo omjera mjeri propusnost ili brzinu masine koja izvodi brojne zadatke.Tref- vrijeme izvrsavanja i tog referetnog programaN- broj kopija koje se vrse paralelnoTsut- proteklo vrijeme od pocetka izvrsavanja svih N programa

Amdahlov zakon

T- ukupno vrijeme izvrsavanja programa na jednom procesoru. Mogu se izvuci dva vazna zakljucka kad je f malo, koristenje paralelnih procesora ima malo uticaja, kakav N tezi u beskonacnost , ubrzanje je ograniceno sa 1/(1-f), tako da dolazi do pada poboljsanja koristenjem vise procesora. Ovaj zakon ilustruje probleme s kojima se suocava industrija u razvoju visejezgrenih masina uz stalno povecanje jezgri. Bilo kakvo poboljsanje rezultira ubrzanjem koje je:

RACUNARSKE FUNKCIJE I VEZEGledano odozgo elementi racunara su: CPUmemorija I/O elementi Medjusobno povezane komponente postizu osnovnu funkciju, a to je izvrsavanje programa. Zato se najvisem nivou racunarski sistem opisuje:- opisivanjem vanjskog ponasanja svake komponentem a to je razmjena podataka i kontrolnih signala sa ostalim komponentama- opisivanjem strukture povezivanja i potrebnih kontrola za upravljanje njohovog koristenja.Pogled odozgo je vazan zbog razumijevanja prirode racunara i ocjenjivanja performansi racunara.Pogled na strukturu i funkciju nudi uvid u:- sistemska uska grkla- alternative putanje-velicinu padova sistema u slucaju padova komponenti, te lakse dodavanje poboljsanja preformansi Pouzdaniji sistem dobijemo tako sto povecamo brzinu i pouzdanost komponenti i promjene u dizajnu. Danasnji racunari su zasnovani na Von Neumannovoj arhitekturi, a zasniva se na 3 koncepta:- Podaci i instrukcije su pohranjeni u jednoj memoriji koja se moze ucitavati i dopisivati- Sadrzaji memorije su adresibilni, bez obzira na vrstu podataka- Izvrsavanje se obavlja sekvencijalno od jedne do druge instrukcije.Elementi racunara Postoji mali skup osnovnih logickih komponenti koje mogu biti spojene na razlicite nacine. Tako pohranjuju podatke i izvode aritmeticko-logicke operacije. Ako treba specificno izracunavanje, onda se konstruise specijalna konfiguracija samo za taj izracun. Proces spajanja komponenti je oblik programiranja. Rezultujuci program je hardver i on se oznacuje kao hardverski program. Operacije koje ce se izvrsiti u aritmeticko logickom djelu zavisi od kontrolnih signala primljenih u hardveru. Prihvata podatke i daje rezultate.Hardver opce namjene je takav da prima podatke i kontrolne signale i daje rezultate. Zato nema ponovnog spajanja elemenata za svaki program, vec programer treba dobaviti novi skup kontrolni signala. Kontrolni signali se dobavljaju pomocu niza koraka.Korak je neka aritmeticko logicka operacija na podacima, svaki korak treba novi skup kontrolnih signala . Svaki skup kontrolni signala ima svoj jedinstveni kod. Postoji dodatni hardverski segment opce namjene on prihvata kod i proizvodi signale.Danas nema vise prespajanja hardvera za svaki novi program, samo treba obezbjediti novi niz kodova. Kod je instrukcija, a hardver je pretvara u kontrolne signale. Dakle novi metod programiranja je softver. Dva glavna elementa sistema su instrukcijski prevodilac i modul za aritmeticke i logicke funckije opce namjene. Oni cine CPU. Podaci i instrukcije moraju se ubaciti racunar, znaci trebamo ulazni modul. On sadrzava komponente za prihvatanje podataka i instrukcija i za pretvaranje signala u razumljive sistemu. trebamo i izlazni modul. A to dvoje cine I/O komponente.Za funkcionalan racunar trebamo jos jedan element, ulazni uredjaj dostavlja instrukcije sekvencijalno, medjutim cesto se program tako ne izvrsava , moze skakati okolo, tako je isto sa operacijama nad podacima. Zato nam treba mjesto njihovog privremenog pohranjivanja. Taj modul je glavna memorija.CPU razmjenjuje podatke sa memorijom, za to koristi CPU registra:MAR- odredjuje adresu u memoriji za sljedece upisivanje i ucitavanjeMBR sadrzi podatke koji se upisiju u memoriju ili prihvata podatke koji se iz nje ucitavaju I/OAR -odredjuje specificni I/O uredjaj I/OBR- za razmjenu podataka izmedju I/O modula i CPUMemorijski modul je skup lokacija, svaka lokacija sadrzi binarni broj. Binarni broj se prevodi u instrukciju ili podatak. I/O modul prenosi podatke od vanj. uredjaja ka/od CPU i memorije. Sadrzi unutrasnje bafere za privremeno prihvatanje podataka dok ne budu poslani.Osnovna funkcija racunara je izvrsavanje programa. Program je skup instrukcija koje su pohranjene u memoriji. Procesor izvrsava instrukcije koje su definisane u programu. Najjednostavniji oblik instrukcije se sastoji od dva koraka dobavljanje instrukcije iz memorije i izvrsavanje. Izvrsavanje programa je podavljanje dobavljanja i izvrsavanja instrukcija. Oznacavaju se kao ciklusi dobavljanja i izvrsavanja. Izvrsavanje moze ukljuciti nekoliko instrukcija.Obrada jedne instrukcije je instrukcijski ciklus. Izvrsavanje programa se zaustavlja ako je racunar iskljucen, pojavi se nepopravljiva greska i program sadrzi instrukciju koja zaustavlja racunar. Instrukcijski ciklus pocinje kad procesor dobavi instrukciju iz memorije. PC sadrzi adresu instrukcije koja ce biti sljedeca dobavljena, procesor uvecava PC nakon svakog dobavljanja. Uvecava da bi mogao obaviti sljedecu instrukciju.NPR. duzina intrukcije je 16 bitna rijec, PC postavljen na lokaciju 300, u sljedecim ciklusima dobavice instrukcija sa lokacija 301, 302, 303. Niz moze biti zaustavljen.Dobivena instrukcija se ucitava iz instrukcijskog registra. Instrukcija sadrzi bite koji definisu pporcesorsku aktivnost. procesor prevodi instrukciju i izvodi zahtjevanu aktivnost. Aktivnosti pripadaju jednoj od cetiri kategorije:Procesor/memorija: prebacivanje podataka sa jednog na drugo Procesor I/O: prebacivanje podataka sa procesora na IO modulObrada podataka: aritmeticko logicke operacije nad podacimaKontrola: moze se zahtijevati zaustavljanje niza.Instrukcija moze definisati I/O operaciju, satanja mogu biti nula, a mogu biti posjecena vise od jednog puta.