Top Banner
1 Razvoj računara i njihovih performansi Historija računara Prva generacija: vakuumske cijevi Prvi elektronski digitalni računar opće namjene ENIAC (Electronic Numerical Integrator And Computer), projektovan je i izrađen na Univerzitetu Pensilvanija, za potrebe američke vojske u Drugom svjetskom ratu. Vojni balistički istraživački laboratorij (World War II.The Army’s Ballistics Research Laboratory - BRL), koji je bio odgovoran za izradu tablica gađanja, imao je problema sa njihovom tačnošću i pravovremenom dostavom. Bez ovih tablica novo artiljerijsko oruđe bilo je beskorisno. BRL je zapošljavao više od 200 ljudi koji su koristili kalkulatore za balistička izračunavanja. Da bi jedan čovjek pripremio tablice samo za jedno oruđe bilo mu je potrebno desetine sati, pa i nekoliko dana rada. John Mauchly, profesor elektroinžinjerstva na Univerzitetu Pensilvanija, i jedan od njegovih diplomanata John Eckert, predložili su BRL-u izradu računara opće namjene od vakuumskih cijevi. Armija je 1943. godine prihvatila prijedlog, čime je otpočeo rad na ENIAC-u. Rezultat je bila mašina koja je težila 30 tona, zauzimala površinu od oko 140 m 2 , sadržavala je više od 18000 vakuumskih cijevi, dok je pri radu trebala 140kW snage. ENIAC je mogao izvršiti 5000 sabiranja u sekundi, što ga je činilo znatno bržim od elektromehaničkih računara. To je bila decimalna, a ne binarna mašina. To znači da su brojevi predstavljani u decimalnom obliku, a aritmetika je rađena u decimalnom sistemu. Njegovu je memoriju činilo 20 „akumulatora“, a svaki je mogao sadržavati jedan desetocifreni decimalni broj. Prsten od 10 vakuumskih cijevi predstavljao je jednu cifru. U datom trenutku, samo jedna vakuumska cijev je bila u stanju ON. Na taj način se predstavljala jedna od 10 cifara. ENIAC se morao ručno programirati postavljajući prekidače i uključujući/isključujući kablove. Završen je 1946. godine, što znači da nije bio korišten u II svjetskom ratu. Prvi zadatak mu je bio izvođenje niza složenih kalkulacija za određivanje izvodljivosti hidrogenske bombe. Korištenje ENIAC-a u svrhu za koju nije bio projektovan, pokazuje njegovu opću namjenu. BRL ga je koristio do 1955. godine. Von Neumann-ova mašina. Unos i izmjena programa u ENIAC bio je izuzetno dosadan posao. Programiranje se može olakšati ako se program može predstaviti u obliku koji je pogodan za pohranjivanje u memoriju zajedno sa podacima. Onda, računar može dobiti instrukcije čitajući ih iz memorije, a program se može postaviti ili mijenjati postavljanjem (mijenjanjem) vrijednosti u njegovom dijelu memorije. Ova ideja poznata kao koncept pohranjenog programa, obično se pripisuje ENIAC-ovim projektantima, a posebno matematičaru John-u von Neumann-u, koji je bio konsultant na projektu ENIAC. Alan Turing je razvio istu ideju skoro u isto vrijeme. Prvo predstavljanje ove ideje je bilo 1945. godine kada je von Neumann predložio izradu novog računara, EDVAC (Electronic Discrete Variable Computer).
26

Razvoj i Dostignuća Računara

Feb 20, 2016

Download

Documents

Emir Lemes

Razvoj i Dostignuća Računara
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Razvoj i Dostignuća Računara

1

Razvoj računara i njihovih performansi

Historija ra čunara Prva generacija: vakuumske cijevi Prvi elektronski digitalni računar opće namjene ENIAC (Electronic Numerical Integrator And Computer), projektovan je i izrađen na Univerzitetu Pensilvanija, za potrebe američke vojske u Drugom svjetskom ratu. Vojni balistički istraživački laboratorij (World War II.The Army’s Ballistics Research Laboratory - BRL), koji je bio odgovoran za izradu tablica gađanja, imao je problema sa njihovom tačnošću i pravovremenom dostavom. Bez ovih tablica novo artiljerijsko oruđe bilo je beskorisno. BRL je zapošljavao više od 200 ljudi koji su koristili kalkulatore za balistička izračunavanja. Da bi jedan čovjek pripremio tablice samo za jedno oruđe bilo mu je potrebno desetine sati, pa i nekoliko dana rada. John Mauchly, profesor elektroinžinjerstva na Univerzitetu Pensilvanija, i jedan od njegovih diplomanata John Eckert, predložili su BRL-u izradu računara opće namjene od vakuumskih cijevi. Armija je 1943. godine prihvatila prijedlog, čime je otpočeo rad na ENIAC-u. Rezultat je bila mašina koja je težila 30 tona, zauzimala površinu od oko 140 m2, sadržavala je više od 18000 vakuumskih cijevi, dok je pri radu trebala 140kW snage. ENIAC je mogao izvršiti 5000 sabiranja u sekundi, što ga je činilo znatno bržim od elektromehaničkih računara. To je bila decimalna, a ne binarna mašina. To znači da su brojevi predstavljani u decimalnom obliku, a aritmetika je rađena u decimalnom sistemu. Njegovu je memoriju činilo 20 „akumulatora“, a svaki je mogao sadržavati jedan desetocifreni decimalni broj. Prsten od 10 vakuumskih cijevi predstavljao je jednu cifru. U datom trenutku, samo jedna vakuumska cijev je bila u stanju ON. Na taj način se predstavljala jedna od 10 cifara. ENIAC se morao ručno programirati postavljajući prekidače i uključujući/isključujući kablove. Završen je 1946. godine, što znači da nije bio korišten u II svjetskom ratu. Prvi zadatak mu je bio izvođenje niza složenih kalkulacija za određivanje izvodljivosti hidrogenske bombe. Korištenje ENIAC-a u svrhu za koju nije bio projektovan, pokazuje njegovu opću namjenu. BRL ga je koristio do 1955. godine. Von Neumann-ova mašina. Unos i izmjena programa u ENIAC bio je izuzetno dosadan posao. Programiranje se može olakšati ako se program može predstaviti u obliku koji je pogodan za pohranjivanje u memoriju zajedno sa podacima. Onda, računar može dobiti instrukcije čitajući ih iz memorije, a program se može postaviti ili mijenjati postavljanjem (mijenjanjem) vrijednosti u njegovom dijelu memorije. Ova ideja poznata kao koncept pohranjenog programa, obično se pripisuje ENIAC-ovim projektantima, a posebno matematičaru John-u von Neumann-u, koji je bio konsultant na projektu ENIAC. Alan Turing je razvio istu ideju skoro u isto vrijeme. Prvo predstavljanje ove ideje je bilo 1945. godine kada je von Neumann predložio izradu novog računara, EDVAC (Electronic Discrete Variable Computer).

Page 2: Razvoj i Dostignuća Računara

2

Von Neumann i njegove kolege su 1946. godine počeli projektovanje računara sa pohranjenim programom kojeg su nazvali IAS kompjuter. Završen je tek 1952. godine, ali je bio prototip svih kasnijih računara opće namjene. Slika lijevoprikazuje opću strukturu IAS-a. Sastoji se od:

• Glavne memorije u koju su pohranjeni i podaci i instrukcije

• Aritmeti čke i logičke jedinice (ALU) koja je u stanju da radi sa binarnim podacima.

• Kontrolne jedinice, koja prevodi instrukcije iz memorije i uzrokuje njihovo izvršavanje • Ulazna i izlazna oprema kojom upravlja kontrolna jedinica.

Glavne značajke von Neumann-ovog prijedloga su: Prvo. Pošto je uređaj prije svega računar, moraće najčešće izvršavati osnovne aritmetičke operacije sabiranje, oduzimanje, množenje i dijeljenje. Logično je da posjeduje specijalizirane organe samo za ove operacije. To znači na mora postojati način provjere njihovog rada. U svakom slučaju, centralni aritmetički dio uređaja će vjerovatno morati postojati, i to predstavlja prvi specifični dio (CA). Drugo. Logička kontrola uređaja je predstavljena pravilnim redoslijedom operacija, a najefikasnije je može izvoditi centralni kontrolni organ. Da bi uređaj bio opće namjene, onda se mora praviti razlika između specifičnih instrukcija kojima se definiše određeni problem i općih kontrolnih organa koji moraju obezbijediti da se te instrukcije izvedu bez obzira kakav posao one izvršavaju. Ove instrukcije na neki način moraju biti pohranjene, dok kontrolne organe čine određeni radni dijelovi uređaja. Pod centralnom kontrolom se podrazumijeva funkcija ovih dijelova koji se nazivaju drugi specifični dio (CC). Treće. Da bi uređaj izvršavao duge i složene operacije, a posebno proračune, mora imati značajnu količinu memorije. Naime, instrukcije, pomoću kojih se rješava bilo kakav problem, mogu sadržavati značajnu količinu materijala, jer se u najvećem broju slučajeva radi o opširnom i detaljnom kôdu. Ovaj materijal mora biti memorisan. U svakom slučaju, ukupna memorija čini treći specifični dio uređaja (M). Tri specifična dijela CA, CC i M odgovaraju asocijativnim neuronima ljudskog nervnog sistema. Potrebno je pronaći ekvivalente za senzitivne i motorne neurone1. To su ulazni i izlazni organi uređaja. Uređaj mora biti u stanju da održava ulazne i izlazne veze sa određenim tipom medija koji će se zvati vanjski medij za snimanje (R). Četvrto. Uređaj mora imati organe za prenos informacija od R ka CA, CC i M. Ovi organi čine ulaz, kao četvrti specifični dio (I). Također, prenos je najbolje vršiti od R preko I do M, a nikad direktno od CA i CC. 1 Senzitivni neuroni (aferentni) prenose nadražaj od receptora do odgovarajućih centara u centralnom nervnom

sistemu, a motorni (eferentni) prenose nadražaj od centara u centralnom nervnom sistemu do efektora (npr.

mišići). Asocijativni neuroni (umetnuti) se nalaze u centralnom nervnom sistemu i prenose nadražaj od

senzitivnih ka motornim neuronima.

Page 3: Razvoj i Dostignuća Računara

3

Peto. Uređaj mora imati organe za prenos od CA, CC i M ka R. Ovi organi čine njegov izlaz, kao peti specifični dio (O). Ponovo je najbolje vršiti prenos od M preko O ka R, a nikad direktno od CA i CC. Sa rijetkim izuzecima svi današnji računari imaju istu opću strukturu i funkciju i zato se nazivaju von Neumann-ove mašine. Zato je važno kratko opisati rad IAS računara. Njegova

memorija se sastoji od 1000 lokacija za pohranjivanje koje se nazivaju ri-ječi. Svaka se sastoji od 40 binarnih cifara (bitova).2 Tu su pohranjeni i podaci i instrukcije. Brojevi se pred-stavljaju u binarnom obliku, a instru-kcije u binarnom kôdu. Slika lijevo predstavlja ove formate. Svaki broj se predstavlja bitom predznaka i 39-bitnom vrijednošću. Također, riječ

može sadržavati dvije 20-bitne instrukcije. Svaka instrukcija se sastoji od 8-bitnog operacijskog kôda (opkôd) definišući operaciju koju izvodi, i 12-bitne adrese označavajući jednu od riječi u memoriji (pobrojane od 0 do 999).

IAS-ova kontrolna jedinica radi tako što dobavlja jednu po jednu instrukciju iz memorije (donja slika). Sa slike se vidi da kontrolna jedinica i ALU sadrže lokacije za pohranjivanje koje se nazivaju registri, i to:

• Memorijski buffer regitar (MBR) : sadrži riječ koja se pohranjuje u memoriju i šalje prema I/O jedinici, ili se koristi za primanje riječi iz memorije ili od I/O jedinice.

• Memorijski adresni registar (MAR) : određuje adresu riječi u memoriji koja se upisuje/učitava iz/u MBR.

• Instrukcijski registar (IR) : sadrži 8-bitni opkôd instrukcije koja se izvršava.

• Instrukcijski buffer registar (IBR) : privreme-no drži desnu instrukciju riječi u memoriji.

• Programski brojač (PC): sadrži adresu sljede-ćeg instrukcijskog para koji se dobavlja iz memo-rije. memorije.

• Akumulator (AC) i multiplier quotient (MQ) : privremeno drže operande i rezultate ALU operacija. Npr., rezultat množenja dva 40-bitna broja je 80-bitni broj. Prvih 40 cifara je pohranjeno u AC, a preostalih 40 u MQ.

IAS radi tako što ponavlja instrukcijski ciklus (donja slika). Svaki instrukcijski ciklus se sastoji od dva podciklusa. Tokom ciklusa prihvatanja (fetch cycle), opkôd sljedeće instrukcije se učitava u IR a adresni dio u MAR. Ova instrukcija može biti uzeta iz IBR-a ili iz memorije učitavajući riječ u MBR pa onda u IBR, IR i MAR.

2 Ne postoji univerzalna definicija termina riječ. Uglavnom, riječ je uređeni niz bajtova ili bitova, to jest jedinica u

kojoj informacije se pohranjuju, prenose ili obrađuju unutar datog računara. Obično, ako procesor ima

instrukcijski set fiksne dužine, onda je i riječ iste te dužine.

Page 4: Razvoj i Dostignuća Računara

4

Zašto zaobilaznim putem? Elektronska kola kontrolišu ove operacije što rezultira korištenjem putanja podataka. Za poje-dnostavljenje elektronike, postoji samo jedan registar koji se koristi za određiva-nje adrese u memoriji za učitavanje ili upisivanje i samo jedan registar koji se koristi za početak ili odredište. Kad je opkôd u IR, izvodi se ciklus izvršavanja (execution cycle). Kontro-lno kolo prevodi opkôd i izvršava instrukciju šaljući odgovarajuće kontro-lne signale koji izazivaju pokretanje po-dataka ili izvođenje ALU operacije. IAS računar je imao ukupno 21 instru-kciju (donja tabela). Mogu se grupisati u:

• Prenos podataka: između me-morije i ALU registara ili izme-đu dva ALU registra.

• Bezuslovno grananje: u nor-malnim okolnostima, kontrolna jedinica izvodi instrukcije iz memorije u nizu. Ovaj niz može biti promijenjen naredbom gra-nanja, koja potpomaže pona-vljajuće operacije.

• Uslovno grananje: grananje može zavisiti od uslova, te se na taj način dopušta izbor.

• Aritmetika : operacije koje izvodi ALU.

• Modifikacija adrese: dozvo-ljava se izračunavanje adresa u ALU, te njihovo umetanje u instrukcije koje su pohranjene u memoriji. Na ovaj način programu se dozvoljava značajna adresna fleksibilnost.

Ova tabela prikazuje instrukcije u simboličkoj formi koja je jednostavna za čitanje. Međutim, svaka instrukcija mora biti u skladu sa 20-bitnom poluriječi, odnosno, mora biti u skladu sa formatom instrukcijske riječi. Opkôd (prvih 8 bita) specificira koja će se instrukcija od njih 21 izvršavati. Adresni dio (preostalih 12 bita) određuje koja od 1000 memorijskih lokacija će biti obuhvaćena izvršavanjem instrukcije. Gornja slika prikazuje izvršavanje instrukcija koje obavlja kontrolna jedinica. Neke od njih su veoma složene. Operacija množenja zahtijeva 39 podoperacija, jedna za svaki bit osim za bit predznaka.

Page 5: Razvoj i Dostignuća Računara

5

Komercijalni računari. Pedesetih godina prošlog vijeka rodila se kompjuterska industrija, a tržištem su dominirali Sperry i IBM. Eckert i Mauchly osnovali su 1947. godine Eckert-Mauchly Computer Corporation za proizvodnju komercijalnih računara. Njihova prva uspješna mašina bio je UNIVAC I (Universal Automatic Computer), kojeg je naručio Popisni biro za popis stanovništva 1950. godine. Eckert-Mauchly Computer Corporation je postao UNIVAC odjeljenje Sperry-Rand korporacije koja je nastavila sa izradom sljedećih serija mašina. UNIVAC I je prvi uspješan komercijalni računar. Bio je namijenjen za naučnu i komercijalnu upotrebu. Zadaci koje je mogao izvoditi su: algebra matrica, statistički problemi, izračunavanje premija životnog osiguranja za osiguravajuće kuće i logički problemi. UNIVAC II se pojavio kasnih pedesetih godina. Imao je veću memoriju i bolje performanse od UNIVAC I. To pokazuje trendove koji karakterišu i današnju kompjutersku industriju. Prvo, tehnološke prednosti omogućavaju firmama izradu većih i jačih računara. Drugo, svaka kompanija nastoji izraditi mašinu koja je kompatibilna sa starijim mašinama. Ova strategija je usvojena sa nadom zadržavanja kupaca. Drugim riječima, kada kupac odluči kupiti novu mašinu, vjerovatno će je kupiti od istog dobavljača kako ne bi morao investirati u nove programe. UNIVAC odjeljenje je počelo sa razvojem serije 1100, koja je trebala biti glavni izvor prihoda. Ova serija pokazuje razliku koja je nekad postojala. Prvi model UNIVAC 1103 i njegovi nasljednici primarno su namijenjeni za naučna istraživanja koja uključuju duga i složena izračunavanja. Ostale kompanije su bile usredsređene na poslovne primjene koje je podrazumijevalo obradu velikih količina tekstualnih podataka. Ova podjela je vremenom nestala, ali je bila očigledna godinama. IBM, najveći proizvođač opreme za bušene kartice, predstavio je 1953. godine svoj prvi elektronski kompjuter sa pohranjenim programom, IBM 701, čija je primarna primjena bila u naučne svrhe. 1955. godine IBM je proizveo 702 koji je imao hardverske osobine koje ga svrstavaju u poslovne svrhe. Ovo su bili prvi računari 700/7000 serije kojom je IBM postao najmoćniji proizvođač računara. Druga generacija: tranzistori Prva velika promjena dogodila se zamjenom vakuumske cijevi tranzistorom, koji je manji, jeftiniji, i rasipa manje toplote, a može se na isti način koristiti za izradu računara. Za razliku od vakuumske cijevi, koja zahtijeva žice, metalne ploče, staklenu kapsulu i vakuum, tranzistor je „solid-state“ uređaj načinjen od silicija. Tranzistor je izumljen u Bell Labs-u 1947. godine, a u pedesetim je izazvao elektroničku revoluciju. Međutim, tek krajem pedesetih su se pojavili prvi komercijalni tranzistorski računari. NCR i RCA su prvi koji su otpočeli sa primjenom nove tehnologije u računarima. IBM je došao nedugo iza njih sa serijom 7000. Korištenje tranzistora definiše drugu generaciju računara. Postala je široko prihvaćena klasifikacija računara u generacije zasnovane na osnovnoj hardverskoj tehnologiji. Svaka nova

Page 6: Razvoj i Dostignuća Računara

6

generacija u odnosu na prethodnu je imala bolje procesorske performanse, veće memorijske kapacitete i manje gabarite (donja tabela).

Pojavile su se i druge promjene. U drugoj generaciji pojavile su se složenije aritmetičke, logičke i kontrolne jedinice, koriste se jezici visokog nivoa, i računari sa sistemskim softverom. U širem smislu, sistemski softver obezbjeđuje: učitavanje programa, prenos podataka na periferale i biblioteke za izvođenje zajedničkih izračuna, što je nalik što današnji operativni sistemi rade. Druga generacija je značajna i po pojavi Digital Equipment Corporation (DEC), koja je osnovana 1957. godine. Iste godine je proizveden PDP-1, prvi minikompjuter koji će biti istaknuta klasa računara treće generacije. IBM 7094. Od uvođenja serije 700 1952. godine, da posljednjih računara serije 7000 1964. godine, IBM-ova proizvodna linija je prošla razvojni ciklus karakterističan za računare. Uspješni predstavnici proizvodne linije pokazuju povećanje performansi, kapaciteta i/ili smanjenje cijene (donja tabela).

Veličina radne memorije je narasla sa 2K (1K = 210) na 32K 36-bitnih riječi, dok je u isto vrijeme pristup jednoj riječi memorije (vrijeme memorijskog ciklusa) pala sa 30 na 1.4 µs. Broj opkôdova je porastao sa skromnih 24 na 185. Posljednja kolona pokazuje brzinu izvršavanja CPU-a u odnosu na IBM 701. Povećanja brzine su postignuta elektroničkim poboljšanjima (tranzistor je brži od vakuumske cijevi ) i složenijim kolima. Na primjer, IBM 7094 imao je Instruction Backup Register, koji se koristio za skladištenje sljedeće instrukcije. Pri dohvatanju instrukcija, kontrolna jedinica dohvata dvije susjedne riječi iz memorije. Osim u slučaju instrukcija grananja, koje nisu česte, prethodna konstatacija znači da kontrolna jedinica za jednu instrukciju pristupiti memoriji u pola instrukcijskog ciklusa. Ovo značajno smanjuje prosječno vrijeme instrukcijskog ciklusa.

Page 7: Razvoj i Dostignuća Računara

7

Na donjoj slici su mnogi periferali za IBM 7094 kao predstavnika druge generacije računara. Postoje neke razlike s obzirom na IAS. Najvažnija je korištenje podatkovnih kanala. Podatkovni kanal je nezavisan I/O modul sa vlastitim procesorom i instrukcijskim setom. Kod ovakvih računara CPU ne izvršava detaljne I/O instrukcije. One su pohranjene u glavnoj memoriji, a izvršavaju se na posebnom procesoru u samom podatkovnom kanalu. CPU inicira I/O prenos slanjem kontrolnog signala podatkovnom kanalu, govoreći mu da izvrši niz instrukcija iz memorije. Podatkovni kanal nezavisno od CPU-a izvodi ovaj zadatak, i signalizira CPU-u kad je ova operacija završena. Na ovaj način, CPU je oslobođen značajne količine

obrade. Sljedeća novina je multipleksor , tačka u kojoj završavaju svi podatkovni kanali, CPU i memorija. On raspoređuje pristup memoriji od CPU-a i podatkovnih kanala, dopuštajući da ovi uređaji djeluju nezavisno. Treća generacija: integrisana kola Zasebni tranzistor se naziva diskretna komponenta. Između 1950.-tih i 1960.-tih godina elektronička oprema je uglavnom bila sastavljena od diskretnih komponenti: tranzistori, otpornici, kondenzatori itd. Diskretne komponente su se proizvodile zasebno, pakovane u kutije, i zalemljene ili spojene na ploče slične štampanim, koje su potom ugrađivane u računare, osciloskope i drugu elektroničku opremu. Kad god je uređaj trebao tranzistor, mala metalna cjevčica, u kojoj je bio još manji komad silicija, je bila zalemljena na ploču. Cijeli proizvodni proces, od tranzistora do ploče, bio je skup i glomazan. Ova činjenica je pravila probleme kompjuterskoj industriji. Prvi računari druge generacije sadržavali su oko 10000 tranzistora. Međutim, razvojem računara, njihov broj je narastao na nekoliko stotina hiljada, tako da je proizvodnja novih i jačih mašina značajno usložnjena. Izum integralnog kola izazvalo je revoluciju u elektronici i početak mikroelektronike. To je glavna karakteristika računara treće generacije. Od početka digitalne elektronike i kompjuterske industrije postojao je stalan trend smanjenja veličine digitalnih elektroničkih kola. Kao što je poznato, digitalni računari moraju izvoditi: pohranjivanje, premještanje, obradu i kontrolu funkcija. Potrebne su samo dvije osnovne komponente: sklopovi i memorijske ćelije (donja slika).

Sklop (vrata) je uređaj koji izvodi jednostavnu Bulovu ili logičku funkciju, kao što je: IF A AND B ARE TRUE THEN C IS TRUE (I vrata). Ovakvi uređaji se zovu vrata

Page 8: Razvoj i Dostignuća Računara

8

jer kontrolišu tok podataka kao što klapna na kanalu kontroliše tok vode. Memorijska ćelija je uređaj koji može pohraniti jedan bit podataka. Drugim riječima, ovaj uređaj u bilo kojem trenutku može biti u jednom od dva stabilna stanja. Povezivanjem velikog broja osnovnih elemenata (sklopova i memorijskih ćelija) može se izgraditi računar. Znači da se četiri osnovne računarske funkcije mogu objasniti pomoću ovih komponenti na sljedeći način:

• Pohrana podataka: obezbjeđuju je memorijske ćelije. • Obrada podataka: obezbjeđuju je sklopovi. • Premještanje podataka: putanje između komponenti se koriste za premještanje

podataka od memorije do memorije i od memorije preko sklopova do memorije. • Kontrola : putanje između komponenti mogu nositi kontrolne signale. Na primjer,

sklop može imati jedan ili dva ulaza i ulazni kontrolni signal koji ga aktivira. Kad je kontrolni signal ON, sklop izvršava svoju funkciju na podatkovnim ulazima što rezultira podatkovnim izlazom. Slično, memorijska ćelija pohranjuje bit koji joj je na ulazu kad je WRITE kontrolni signal ON, a smjestiće bit na svoj izlaz kada je READ kontrolni signal ON.

Zato se računar sastoji od kola, memorijskih ćelija i veza među njima. S druge strane, kola i ćelije su izrađeni od jednostavnih digitalnih elektroničkih komponenti. Integrisana kola koriste činjenicu da se tranzistori, otpornici i kondenzatori mogu proizvesti od poluprovodnika kao što je silicij. To je samo produžetak proizvodnje zasebnih kompo-nenti na način da je bolje i lakše proizvesti čitavo kolo na tankom komadu silicija nego spajati diskretne komponente načinjene od dijelova silicija u isto kolo. Mnogo tranzistora može istovremeno biti proizvedeno na samo jednom tankom komadu silicija. Jednako važno, ovi tranzistori mogu biti povezani u kola procesom metalizacije. Slika lijevo prikazu-je ključne koncepte integralnog kola.

Tanka silicijska pločica (wafer) je podijeljena na manja područja, čije su površine nekoliko mm2. Isti uzorak kola se izrađuje na svakoj površini, a pločica se razdvaja na čipove. Svaki se čip sastoji od mnogih kola i/ili memorijskih ćelija sa brojnim ulaznim i izlaznim poveznim tačkama. Onda se čip pakuje u kućište sa iglicama pomoću kojih se priključuje u veće uređaje. Mnoga ova kućišta mogu biti međusobno povezana na štampanoj ploči u veća i složenija kola.

U početku, je samo nekoliko kola ili memorijskih ćelija moglo biti pouz-dano proizvedeno i zajedno spakova-no. Ova rana integralna kola se ozna-čavaju kao integracija malog razmje-ra (small-scale integration – SSI). Vremenom je postalo moguće sve vi-še i više komponenti postavljati na

isti čip (gornja slika3). Ovaj porast gustine tranzistora je jedan od najznačajnijih tehnološkog trendova koji je ikad zabilježen. Slika odražava poznati Moore-ov zakon (suosnivač Intel-a 1965. godine). Uočio je da broj tranzistora na jednom čipu se udvostručuje svake godine i

3 Vrijednosti na Y-osi prikazuju broj tranzistora po čipu u logaritamskoj srazmjeri

Page 9: Razvoj i Dostignuća Računara

9

predvidio je da će ovaj tempo biti nastavljen sljedećih nekoliko godina. Međutim, potrajao je nekoliko desetljeća. Tempo se usporio na udvostručenje svakih 18 mjeseci u sedamdesetim, ali od tad se zadržao do danas. Posljedice Moore-ovog zakona su:

1. Cijena čipa praktično je ostala ista tokom perioda brzog rasta gustine. To znači da cijena logičkih i memorijskih kola je drastično pala.

2. Pošto su logički i memorijski elementi bliže jedni drugima na čipu, kraća je elektronska putanja, pa je operativna brzina veća.

3. Računar postaje manji, što ga je učinilo zgodnijim za postavljanje u različita okruženja. 4. Smanjenje potrošnje energije kako za rad računara tako i za njegovo hlađenje. 5. Veze na integrisanom kolu su pouzdanije od lemova. Sa više kola na čipu, manje je

veza. IBM SYSTEM/360. Do 1964. godine IBM se čvrsto držao na tržištu računara sa svojom serijom 7000. Te je godine IBM objavio System/360, novu porodicu računara. Iako objava nije bila iznenađujuća, bila je neprijatna za dotadašnje IBM korisnike jer nova 360 nije bila kompatibilna sa starijim IBM mašinama. Zato je prelaz trebao biti bolan za tadašnje IBM korisnike. Bio je to bezobrazno smion korak za IBM, jer je IBM osjetio da je nužno prekinuti sa ograničenjima 7000 arhitekture i proizvesti sistem sa mogućnošću razvoja sa novom tehnologijom integrisanih kola. Strategija je isplatila i finansijski i tehnički. 360-ka je bila uspjeh decenije i postavila IBM na prvo mjesto proizvođača računara sa udjelom od 70% ukupnog tržišta. Sa nekim modifikaci-jama i doradama, 360 arhitektura je ostala i do danas arhitektura IBM mainframe računara. System/360 bila je prva planirana serija računara. Porodica je pokrivala velike raspone performansi i cijena. Donja tabela prikazuje ključne karakteristike različitih modela iz 1965. godine, pri čemu se modeli iste porodice razlikuju po broju. Modeli su bili kompatibilni tako da se program napisan za jedan model mogao izvršavati na drugom, a jedina se razlikovalo vrijeme izvršavanja. Koncept porodice kompatibilnih računara bio je nov i veoma uspješan. Kupac sa skromnim zahtjevima i budžetom mogao je početi sa relativno jeftinijim modelom 30. Poslije, porastom korisničkih potreba, moglo se preći na bržu mašinu sa više memorije bez gubitka investicije za softver razvijen za slabiju mašinu.

Karakteristike porodice su:

• Sličan ili identičan instrukcijski set: u mnogim slučajevima, potpuno isti instrukcijski set je podržavala cijela porodica računara. Zato se program koji se izvršavao na jednoj mašini mogao izvršavati i na drugoj. U nekim slučajevima, slabiji računari porodice imali su instrukcijski set koji je bio podskup onih većih. To znači da su se programi mogli prebacivati sa slabijih na jače mašine, ali ne i obrnuto.

• Sličan ili isti operativni sistem: isti osnovni operativni sistem bio je na raspolaganju za cijelu porodicu. U nekim slučajevima jače mašine su imale dodatna svojstva.

Page 10: Razvoj i Dostignuća Računara

10

• Povećanje brzine: brzina izvršavanja instrukcija rasla je od slabijih prema jačim računarima iste porodice.

• Povećanje broja I/O priklju čaka: broj I/O priključaka rastao je od slabijih ka jačim. • Povećanje memorije: veličina glavne memorije je rasla od slabijih ka jačim. • Povećanje cijene: u datom trenutku, cijena sistema je rasla od slabijih ka jačim.

Kako je takav koncept porodice mogao biti primijenjen? Razlike su postignute na osnovu tri faktora: osnovna brzina, veličina i stepen istovremenosti. Na primjer, veća brzina izvršavanja datih instrukcija mogla se dobiti korištenjem složenijeg kola u ALU, dopuštajući da se podoperacije izvršavaju paralelno. Drugi način povećanja brzine bilo je proširenje puta podataka između glavne memorije i CPU. Kod modela 30 samo 1 bajt (8 bita) se mogao dobaviti iz glavne memorije odjednom, dok je kod modela 75 to bilo 8 bajta. System/360 nije samo odredio budućnost IBM-a već je ostavio dubok trag u cijeloj industriji. Mnoga njegova svojstva su postala standard za ostale velike računare. DEC PDP-8. Iste godine kad se pojavio IBM System/360 pojavio se i historijski veoma značajan DEC-ov PDP-8. U to vrijeme prosječan računar je zahtijevao klimatiziranu prostoriju. Međutim, PDP-8 je bio dovoljno malen da stane na laboratorijski stol ili da bude ugrađen u drugu opremu. Nije mogao sve što i mainframe, ali za 16000 $ bio je dovoljno jeftin da ga ima svaki laboratorijski tehničar. S druge strane, serija System/360 mainframe računara koja se pojavila samo nekoliko mjeseci prije njega, koštala je stotinama hiljada dolara. Niska cijena i mala veličina omogućili su drugom proizvođaču da kupi PDP-8 i integriše ga u cijeli sistem i proda. Ovi proizvođači postali su poznati kao proizvođači originalne opreme i njihovo tržište je postalo i ostalo glavni segment tržišta računara. Pojavom, PDP-8 je postao hit i donio je DEC-u bogatstvo. Zajedno sa ostalim računarima te porodice (donja tabela), PDP-8 postigao je proizvodni status koji je bio rezervisan za IBM računare, sa oko 50000 prodanih računara u narednih desetak godina. DEC je postao vodeći prodavac miniračunara, te drugi proizvođač računara, odmah iza IBM.

Za razliku od arhitekture IBM-ovih sistema 700/7000 i 360, PDP-8 je koristio strukturu koja je danas gotovo univerzalna za miniračunare: sabirnica (bus) (donja slika).

PDP-8 sabirnica se zvala omni-bus, i sastojala se od 96 odvoje-nih signalnih putanja, koje su se

koristile za kontrolne, adresne i podatkovne signale. Pošto su sve sistemske komponente dijelile zajednički skup signalnih putanja, CPU je mogao kontrolisati njihovo korištenje. Ova arhitektura je veoma fleksibilna na način da je dozvoljavala priključivanje modula na sabirnicu, te su tako stvarane različite konfiguracije.

Page 11: Razvoj i Dostignuća Računara

11

Kasnije generacije Poslije treće generacije računara ne postoji zajednički stav o definisanju generacija računara. Prevashodno se radi o napretku tehnologije integrisanih kola. Uvođenjem integracije velike razmjere (very large-scale integration – LSI), moglo se ugraditi preko 1000 elemenata na jedan čip. Veoma velikom razmjerom integracije (very-large-scale integration – VLSI) postignuto je da jedan čip sadržava više od 10000 komponenti, dok trenutni čipovi ultra velike razmjere integracije (ultra-large-scale integration – ULSI), mogu sadržavati više od milijardu elemenata. Brzi tempo tehnološkog razvoja rezultirao je visokom stopom uvođenja novih proizvoda, te povećanjem važnosti softvera i komunikacija. Posljedica je da klasifikacija računara u generacije postaje manje jasna i gubi na važnosti. Može se reći da komercijalna upotreba novih razvojnih dostignuća je rezultirala velikim promjenama u ranim sedamdesetim, a rezultati ovih promjena se još proučavaju. Dva rezultata su najvažnija. Poluprovodnička memorija. Prva upotreba tehnologije integrisanih kola u računarima bila je izrada procesora (kontrolne, aritmetičke i logičke jedinice) od integrisanih čipova. Međutim, postalo je jasno da se ista tehnologija može koristiti i za izradu memorije. Pedesetih i šezdesetih godina prošlog vijeka velika većina računarske memorije izrađivala se od tankih prstenova feromagnetnog materijala, čiji je prečnik bio šesnaesti dio inča. Prstenovi su bili nanizani na rešetke finih žica koje se bile pričvršćene na zaslon (sličan situ) unutar računara (donje slike).

Ako je prsten (još nazivan i jezgra) bio magnetiziran u jednom smjeru, predstavljao je jedinicu, a njegova magnetizacija u drugom smjeru predstavljala je nulu. Memorija sa magnetnom jezgrom bila je prilično brza; bio je potreban milioniti dio sekunde za čitanje pohranjenog bita. Međutim, ova memorija je bila skupa, glomazna i njeno čitanje značilo je i njeno brisanje (postavljanje na nulu). Zato je bilo potrebno uvođenje kola kako bi se podaci povratili čim bi bili izvađeni. Firma Fairchild je sedamdesetih proizvela prvu relativno veliku poluprovodničku memoriju. Ovaj čip (veličine jednog magnetnog prstena) imao je kapacitet od 256 bita. Podaci se nisu gubili i bio je mnogo brži od prstena (brzina čitanja jednog bita – 70 milijarditi dio sekunde). Međutim, cijena po bitu je bila veća nego kod prstena.

Page 12: Razvoj i Dostignuća Računara

12

1974. godine cijena po bitu poluprovodničke memorije je pala ispod iste cijene memorije prstena. Nastavljen je trend pada cijene memorije zajedno sa porastom fizičke memorijske gustine. Ovo je vodilo manjim i bržim mašinama sa memorijom većom od memorije skupih mašina starih svega nekoliko godina. Razvoj memorijske i procesorske tehnologije promijenio je prirodu računara u manje od 10 godina. Iako su se još koristili glomazni i skupi računari, pojavom uredskih i personalnih računara, kompjuter je bio dostupan i „običnom“ čovjeku. Od 1970. godine, poluprovodnička memorija prošla je kroz 13 generacija: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, 1G, 4G i 16G bita po jednom čipu (1K = 210, 1M = 220, 1G = 230). Svaka sljedeća generacija je imala 4 puta veću gustinu od prethodne, što je bilo popraćeno padom cijene po bitu i smanjenjem vremena pristupa. Mikroprocesori. Isto kako je rasla gustina elemenata memorijskog čipa, rasla je i gustina elemenata procesorskog čipa. Kako je vrijeme prolazilo, sve je više i više elemenata postavljano na jedan čip, tako da je sve manje i manje čipova bilo potrebno za izradu procesora. Prekretnica je napravljena 1971. godine kada je Intel razvio procesor 4004. To je bio prvi čip koji je sadržavao sve komponente CPU-a na jednom čipu. To se smatra rođenjem mikroprocesora. 4004 je mogao sabrati dva 4-bitna broja i množiti ponavljanjem sabiranja. Po današnjim standardima 4004 je veoma primitivan, ali je označio početak stalnog povećanja mikroprocesorske snage i mogućnosti. Ovaj razvoj najbolje se ogleda u broju bita kojim procesor barata odjednom. Ne postoji čista mjera za to, ali možda najprikladnija mjera je širina podatkovne sabirnice: broj bita podataka koji mogu biti odjednom poslani prema ili od procesora. Sljedeća mjera je broj bita u akumulatoru ili u skupu registara opće namjene. Često, ali ne uvijek, ove se mjere poklapaju. Na primjer, razvijeni su brojni mikroprocesori koji rade sa 16-bitnim brojevima u registrima ali odjednom mogu učitati ili upisati 8 bita. Sljedeći važan korak razvoja mikroprocesora bilo je uvođenje Intel 8008 1972. godine. Ovo je prvi 8-bitni procesor i bio je skoro duplo složeniji od 4004. Intel je 1974. godine uveo 8080, koji je bio prvi mikroprocesor opće namjene. Dok su 4004 i 8008 bili projektovani za posebne primjene, 8080 je projektovan kao mikroprocesor opće namjene. I on je bio 8-bitni mikroprocesor, međutim, brži, sa većim instrukcijskim setom i većim adresnim mogućnostima. Skoro u isto vrijeme počelo se sa razvojem 16-bitnog mikroprocesora. Međutim, jak 16-bitni mikroprocesor pojavio se tek krajem 1970.-tih. Sljedeći korak načinili su Bell Labs i Hewlett-Packard razvojem 32-bitnog mikroprocesora 1981. godine. Intelov 32-bitni procesor 80386 pojavio se 1985. godine (donje tabele).

Page 13: Razvoj i Dostignuća Računara

13

Projektovanje za izvršavanje Iz godine u godinu dolazi do drastičnog pada cijena računarskih sistema, dok njihove performanse i mogućnosti rastu isto toliko drastično. Današnji laptopi imaju računarsku moć IBM-ovog mainframe-a od prije 10-15 godina. Ovaj stalan tehnološki razvoj omogućio je razvoj aplikacija nezamislive složenosti i mogućnosti. Na primjer, današnje desktop aplikacije uključuju: obradu slike, prepoznavanje glasa, video konferencije, pohranjivanje glasovnih i video zapisa, simulaciju i modeliranje itd. Današnje radne stanice podržavaju visoko sofisticirane inžinjerske i naučne aplikacije, kao i simulacijske sisteme, te imaju mogućnost podržavanja aplikacija za obradu slike i videa. Pored toga, poslovanja se oslanjaju na jake servere koji rukuju transakcijama i obradom baza podataka, te podržavaju klijen-server mreže koje su zamijenile velike mainframe računarske centre. Ono što je fascinantno iz perspektive računarske organizacije i arhitekture je da, s jedne strane, osnovni gradivni elementi današnjih računara začudo su isti kao kod IAS-a (1952.), dok su s druge strane, tehnike povećanja gustine elemenata čipa postale veoma sofisticirane. Brzina mikroprocesora Ono što Intel x86 procesorima ili IBM mainframe računarima daje toliko zapanjujuću snagu je nemilosrdna trka za bržim procesorima. Razvoj računara još prati Moore-ov zakon. Dokle god

Page 14: Razvoj i Dostignuća Računara

14

je ovaj zakon na snazi, proizvođači čipova će svake tri godine proizvoditi nove generacije koje će imati četiri puta više tranzistora od prethodne. Kod čipova glavne memorije, svake tri godine se kapacitet povećava četiri puta. Kod mikroprocesora, dodatna kola i povećanje brzine koje je posljedica smanjenja rastojanja između njih, povećava performanse četiri-pet puta otprilike svake tri godine od 1978. godine kada je Intel uveo x86 porodicu. Ali mikroprocesor ne može postići svoj potencijal, osim ako nije konstantno zaposlen računarskim instrukcijama. Sve što je prepreka nesmetanom radu mikroprocesora podriva njegovu snagu. U skladu s tim, dok su proizvođači opredijeljeni na povećanje gustine elemenata na čipu, projektanti procesora moraju tražiti složenije tehnike „hranjenja čudovišta“. Tehnike ugrađene u današnje procesore su:

• Pipelining: omogućava procesoru da istovremeno radi sa više instrukcija. Procesor preklapa operacije pomicanjem podataka ili instrukcija kroz sve faze linijskog koncepta obrađujući ih istovremeno. Na primjer, dok se jedna instrukcija izvršava, računar dekodira sljedeću.

• Predviđanje grananja (branch prediction): procesor „gleda unaprijed“ instrukcije koje su učitane iz memorije i predviđa koje će se grane ili grupe instrukcija najvjerovatnije sljedeće obrađivati. Ako procesor u najvećem broju slučajeva pravilno predviđa, može pripremiti ispravne instrukcije i pohraniti ih u bafer tako da bude stalno zaposlen. Sofisticiraniji primjeri podrazumijevaju predviđanje nekoliko grananja unaprijed. Zato predviđanje grananja povećava količinu rada koja stoji na raspolaganju procesoru za izvršenje.

• Analiza toka podataka (data flow analysis): procesor analizira koje su instrukcije zavisne ili od rezultata drugih instrukcija, ili njihovih podataka, te na taj način optimizira raspored instrukcija. U stvari, instrukcije se raspoređuju na izvršavanje kad su spremne nezavisno od osnovnog programskog poretka. Tako se sprečava nepotrebno kašnjenje.

• Špekulativno izvršavanje (speculative execution): koristeći predviđanje grananja i analizu toka podataka, neki procesori špekulativno izvršavaju instrukcije prije njihovog stvarnog pojavljivanja u izvršavanju programa, te se njihovi rezultati čuvaju na privremenim lokacijama. Na taj način se izvršni dijelovi procesora drže zaposlenim što je više moguće, jer izvršavaju instrukcije koje će vjerovatno biti potrebne.

Uravnoteženje performansi Dok je razvoj procesora išao vrtoglavo naprijed, ostale kritične komponente nisu pratile taj tempo. Rješenje se nalazi u uravnoteženju performansi: usklađivanje organizacije i arhitekture kako bi se amortizirala neusklađenost između različitih komponenti.

Nigdje problem neusklađenosti nije kritičniji od sučelja između procesora i glavne memorije (slika lijevo). Historijski gledano, dok je brzina procesora naglo rasla, brzina prenosa podataka između glavne memorije i procesora je značaj-no kasnila. Sučelje između procesora i glavne memorije je najvažniji put u cijelom računaru, jer je odgovoran za stalan protok programskih instrukcija i podataka između memorijskih či-pova i procesora. Ako memorije ili put ne držati

Page 15: Razvoj i Dostignuća Računara

15

korak sa zahtjevima procesora, procesor prelazi u stanje čekanja, te se dragocjeno vrijeme obrade gubi. Brojni su načini kojima projektanti sistema mogu riješiti ovaj problem, a svi se mogu naći u današnjim računarima. Na primjer:

• Povećati broj bitova koji se odjednom uzimaju iz DRAM-a, tako što će se DRAM projektovati da bude „širi“ a ne „dublji“, ili korištenjem širih podatkovnih sabirnica.

• Učiniti DRAM-sučelje efikasnijim ugradnjom keša4 ili nekog drugog međuskladišta na DRAM čipu.

• Smanjenje frekvencije pristupa memoriji ugradnjom složenijih i efikasnijih keš-struktura između procesora i glavne memorije. Ovo podrazumijeva ugradnju jednog ili više kešova kako na procesoru, tako i neposredno blizu njega.

• Povećati propusnost između procesora i memorije korištenjem sabirnica veće brzine i hijerarhije sabirnica međuskladištenjem i strukturiranjem toka podataka.

Još jedno područje projektovanja vrije-dno spomena je rukovanje I/O uređajima. Povećanjem brzine i mogućnosti računa-ra, razvijaju se i sofisticiranije aplikacije koje podržavaju korištenje periferala sa većim I/O zahtjevima (slika lijevo). Ovi uređaji imaju ogromne zahtjeve kada je u pitanju protok podataka. Mada današnji procesori mogu obraditi podatke koje do-biju od I/O uređaja, problem je prenos po-

dataka od procesora ka periferalima. Tehnike koje se koriste za rješavanje ovog problema uključuju keširanje i druge međuskladištne šeme uz korištenje bržih sabirnica sa složenijim strukturama. Osim toga, korištenje višeprocesorskih konfiguracija može pomoći u zadovoljava-nju I/O zahtjeva. Ključ je u uravnoteženju. Projektanti ulažu stalne napore da uravnoteže propusnost i obradne zahtjeve procesorkih komponenti, glavne memorije, I/O uređaja, i struktura koje ih povezuju. Projektovanje računara zahtijeva stalan razvoj i preispitivanje. Razlog su sljedeća dva faktora:

• Različite stope razvoja performansi razlitih računarskih komponenti (procesor, sabirni-ca, memorija, periferali).

• Nove aplikacije i periferni uređaji konstantno mijenjaju prirodu zahtjeva prema sistemu s obzirom na tipični instrukcijski profil i šeme pristupa podacima.

Poboljšanja organizacije i arhitekture čipa Bez obzira na nastojanje projektanata da uravnoteže performanse procesora sa glavnom memorijom i ostalim računarskim komponentama, ostaje potreba povećanja procesorske brzine. Postoje tri pristupa kojima je moguće to uraditi:

• Povećati hardversku brzinu procesora smanjenjem veličine logičkih kola procesorskog čipa, tako da više kola se ugradi na istu površinu uz smanjenje međusobnog rastojanja

4 Keš je relativno mala i brza memorija smještena između veće i sporije memorije i elementa koji pristupa većoj

memoriji. On sadržava nedavno pristupljene podatke, a projektovan je za ubrzavanje naknadnog pristupa istim

podacima.

Page 16: Razvoj i Dostignuća Računara

16

čime se povećava brzina procesora. Pošto su kola bliže jedna drugima, vrijeme prenosa signala se značajno smanjuje čime se povećava brzina procesora. Povećanje brzine znači da se pojedinačne operacije izvršavaju brže.

• Povećanje veličine i brzine keševa koji su smješteni između procesora i glavne memorije. Znatno smanjenje vremena pristupa kešu se ostvaruje tako što se dio procesorskog čipa koristi kao keš.

• Promjene u organizaciji i arhitekturi procesora koje povećavaju efektivnu brzinu izvršavanja instrukcija. Obično se radi o korištenju nekog oblika paralelizma.

Najčešće se koristi prvi pristup. Donja slika prikazuje trend Intelovih procesora. Međutim, kako se povećava brzina procesora kao i gustina elemenata na njemu, brojne prepreke postaju značajnije:

• Energija: kako raste gustina i brzina procesora, tako raste i gustina toka energije (W/cm2). Rasipanje toplote koje se javlja na procesorima velike brzine i gustine postaje ozbiljan projektantski problem.

• Kašnjenje kola: brzina kojom se elektroni kreću po čipu između tranzistora ograničena je otporom i kapacitetom žica koje ih povezuju; kašnjenje se povećava kako se povećava kolo. Kako se veličina komponenti čipa smanjuje a žice kojima su povezane postaju tanje, povećava se otpor. Također, što su žice bliže, povećava se kapacitet.

• Memorijska latentnost: već je rečeno da memorijske brzine zaostaju za procesorskim. Slika lijevo ističe glavne promjene koje su se desile tokom godina kako bi se povećao paralelizam, a time računarska efikasnost procesora. Osim povećanja brzine proceso-ra, od kraja 1980.-tih pa narednih 15-tak go-dina, korištene su dvije glavne strategije za povećanje performansi. Prvo, povećao se kapacitet keša. Sad je normalno da postoji dva ili tri nivoa keša između procesora i gla-vne memorije. Kako se povećavala gustina čipa, više je keš memorije ugrađeno na nje-ga, omogućavajući brži keš-pristup. Npr., 10% prvobitnog Pentium čipa bilo je nami-

jenjeno za keš, kod Pentuim 4 čipa to je oko 50%, a kod današnjih preko 50%. Drugo, povećala se složenost izvršavanja instrukcija logičkih kola unutar procesora, kako bi se omogućilo njihovo paralelno izvršavanje. Dva pristupa vrijedna pažnje su: linijska obrada (pipelining) i superskalar. Prvi pristup radi slično linijskoj traci u proizvodnom pogonu, te se na taj način različite faze izvršavanja različitih instrukcija pojavljuju u isto vrijeme duž linije. Superskalar u osnovi dopušta višestruke linijske obrade unutar jednog procesora tako da se nezavisne instrukcije mogu izvršavati paralelno. Do kraj 1990.-tih, oba ova pristupa dostižu tačku kada se više ne mogu dobiti poboljšanja. Unutrašnja organizacija savremenih procesora je izuzetno složena i u stanju je istisnuti veći dio paralelizma iz instrukcijskog toka. Čini se da je daljnje značajno povećanje u tom pravcu biti relativno skromno. Također se čini da su koristi od tri nivoa keš memorije na čipu procesora, pri čemu svaki nivo obezbjeđuje značajne kapacitete, dostigle granicu.

Page 17: Razvoj i Dostignuća Računara

17

Slika lijevo prikazuje prethodne koncepte.5 Linija na vrhu pokazuje kao i kod Moore-ovog zakona eksponencijalan rast tranzi-stora na čipu. Istovremeno, brzina je ostala ista kako bi se spriječilo povećanje potro-šnje energije. Da bi nastavili povećavati performanse, projektanti su morali naći na-čin iskorištavanja rastućeg broja tranzisto-ra a da nije izrada složenijeg procesora. Posljednjih godina odgovor leži u više-jezgrenom računarskom čipu.

Višejezgreni, MIC i GPGPU Imajući na umu sve ove poteškoće, projektanti su se okrenuli u potpunosti novom pristupu poboljšanja performansi: postavljanje više procesora na jedan čip sa velikim djeljivim kešom. Višejezgreni procesori obezbjeđuju potencijal za povećanje performansi bez povećanja brzine. Studije pokazuju da povećanje performansi procesora u grubo je proporcionalno kvadratnom korjenu povećanja njegove složenosti. Međutim, ako softver može podržati efikasno korištenje više procesora, onda udvostručavanje broja procesora skoro da udvostručuje performanse. Zato je bolje koristiti dva jednostavna procesora na jednom čipu nego još jedan složeniji procesor. Osim toga, postojanje dva procesora opravdava veći keš. To je važno, jer je potrošnja energije memorije na čipu je mnogo manja nego obradnog dijela. Kako gustoća logike na čipovima raste, tako se nastavljaju i oba trenda na jednom čipu (poveća-nje jezgri i keša). Ubrzo iza dvojezgrenih su se pojavili 4-jezgreni, 8-jezgreni, 16-jezgreni itd. Kako keševi rastu, sa stanovišta performansi, imalo je smisla napraviti dva a onda i tri nivoa keša na čipu, pri čemu je prvi nivo namijenjen pojedinačnim procesorima a drugi i treći nivo dijele svi procesori. Proizvođači čipova sada mogu napraviti veliki skok kada je u pitanju broj jezgri na čipu (više od 50 jezgri po čipu). Skok performansi kao i izazovi razvoja softvera kojim se može iskoristiti toliki broj jezgri, vodili su uvođenju novog pojma: many integrated core – MIC (mnogo integrisanih jezgri). Višejezgrena i MIC strategija uključuju homogene skupine procesora opće namjene (general-purpose processors) na istom čipu. Istovremeno, proizvođači prate još jednu projektantsku mogućnost: čip sa više procesora opće namjene zajedno sa jedinicama za grafičku obradu (graphics processing units – GPUs) i specijalizirane jezgre za video-obradu i druge zadatke. U širem smislu, GPU je jezgra projektovana za izvođenje paralelnih operacija na grafičkim podacima. Tradicionalno, kod plug-in grafičkih kartica se koristi za kodiranje i izvedbu 2D i 3D grafike kao i za video-obradu. Pošto GPU-ovi izvode paralelne operacije na višestrukim skupovima podataka, raste njihova upotreba kao vektorskih procesora za raznovrsne aplikacije koje zahtijevaju ponovljene

5 Slika koja pokazuje Moore-ov zakon prikazuje broj tranzistora za DRAM-glavnu memoriju. DRAM podržava veću

gustinu tranzistora negoneko procesorski čipovi sa gornje slike.

Page 18: Razvoj i Dostignuća Računara

18

izračune. Na ovaj način nestaje razlika između GPU-a i CPU-a. Kada ovakav procesor podržava širok spektar aplikacija, koristi se termin general-purpose computing on GPUs (kompjuting opće najene na GPU-ovima).

Razvoj Intel-ove x86 arhitekture Decenijama Intel je broj jedan proizvođač mikroprocesora za neugradbene sisteme, a čini se da će teško izgubiti mjesto još neko izvjesno vrijeme. Evolucija ovog mikroprocesora služi kao dobar pokazatelj evolucije kompjuterske tehnologije općenito. Gornja tabela pokazuje taj razvoj. Zanimljivo je da dok su mikroprocesori postajali brži i složeniji, Intel je povećavao tempo razvoja. Intel je uobičavao razvoj novog mikroprocesora svake četiri godine. Međutim, kako bi zadržali prvo mjesto, u Intelu se nadaju da će taj ciklus skratiti za godinu ili dvije, što je već urađeno sa novim x86 generacijama. Važno je istaći značajke razvoja Intelove proizvodne linije:

• 8080: prvi mikroprocesor opće namjene (8-bitni, sa 8-bitnom putanjom prema memoriji). Korišten je u prvom personalnom računaru (Altair).

• 8086: mnogo jači 16-bitni mikroprocesor. Pored šire sabirnice i većih registara, 8086 je imao instrukcijski keš, ili red, za predprihvatanje nekoliko instrukcija prije njihovog izvršavanja. Varijanta ovog procesora, 8088, je korištena u IBM-ovom prvom personalnom računaru, čime je bio osiguran uspjeh Intel-a. 8086 je prva x86 arhitektura.

• 80286: produžetak 8086 koji je omogućio adresiranje 16 MB memorije umjesto samo 1 BM.

• 80386: Intelov prvi 32-bitni mikroprocesor, i velika revizija proizvoda. Sa 32-bitnom arhitekturom, 80386 je svojom složenošću i snagom parirao miniračunarima i mainframe-ovima koji su uvedeni samo nekoliko godina ranije. Ovo je bio prvi Intelov procesor koji je podržavao višezadaćnost (multitasking) – mogućnost istovremenog pokretanja više programa.

• 80486: uvodi se sofisticiranija i jača keš tehnologija kao i bolji instrukcijski pipelining. Ugrađen je i matematički koprocesor, te je glavni procesor oslobođen složenih matematičkih operacija.

• Pentium: uvodi tehnike superskalara što je omogućilo paralelno izvršavanje instrukcija.

• Pentium Pro: proširuje superskalarnu organizaciju uvođenjem registarskog preimenovanja (register renaming)6, predviđanja grananja, analize toka podataka i špekulativnog izvršavanja.

• Pentium II : ugradnja Intelove MMX tehnologije, specijalno projektovana za efikasnu obradu videa, zvuka i grafike.

• Pentium III : dodatne instrukcije pokretnog zareza (floating-point) za 3D grafičke programe.

• Pentium 4: još dodataka za pokretni zarez i druga poboljšanja za multimedije. • Core: ovo je prvi Intel x86 mikroprocesor sa duplom jezgrom, čime se označava

implementacija dva procesora na jednom čipu.

6 To je tehnika izbjegavanja stanja trke, o kojem će biti riječi u Operativnom sistemima.

Page 19: Razvoj i Dostignuća Računara

19

• Core 2: proširenje arhitekture na 64 bitnu. Core 2 Quad nudi 4 procesora na jednom čipu.

I nakon više od 30 godina od uvođenja 1978. godine, x86 arhitektura dominira tržištem procesora s izuzećem ugrađenih sistema. Iako je x86 organizacija i tehnologija drastično se promijenila u ovom periodu, arhitektura instrukcijskog seta razvijala se tako da podrži ranije verzije. Zato se svaki program napisan za stariju verziju x86 arhitekture može izvršavati na novim verzijama. Sve promjene instukcijskog seta uključile su dodavanje novih, ali ne i oduzimanje starih instrukcija. Tokom perioda od 30 godina stopa promjena je otprilike dodavanje jedne instrukcije mjesečno, tako da danas instrukcijski set sadrži preko 500 instrukcija. X86 je odlična ilustracija poboljšanja do kojih se došlo u kompjuterskom hardveru posljednjih 30 godina. 1978. godine 8086 imao je brzinu od 5 MHz i 29000 tranzistora. Intel Core 2 sa četiri jezgre, uveden 2008. godine, radi na 3 GHz, što je 600 puta više nego 8086, i ima 820 miliona tranzistora (oko 28000 puta više nego kod 8086). Ipak veličina Core 2 je neznatno veća od 8086, a i cijene su im slične.

Ugrađeni sistemi i ARM ARM arhitektura se odnosi na procesorsku arhitekturu koja se razvila od RISC projektantskih principa i koristi se u ugrađenim sistemima. Ugrađeni sistemi Izraz ugrađeni sistem se odnosi na korištenje elektronike i softvera unutar proizvoda, nasuprot računaru opće namjene, koa što je laptop ili desktop PC. Opća definicija glasi: ugrađeni sistem je kombinacija računarskog hardvera i softvera, i možda dodatnih mehaničkih i ostalih dijelova, projektovan za izvođenje namjenskih funkcija. U mnogim slučajevima, ugrađeni sistemi su dio većeg sistema ili proizvoda, kao što je ABS sistem kočenja kod automobila. Uzimajući u obzir široku primjenu, ugrađeni sistemi brojem značajno premašuju računarske sisteme opće namjene. Pred ove sisteme postavljaju se raznoliki zahtjevi i ograničenja i prema vrsti i prema veličini, kao što su:

• Od malih do velikih sistema, što ukazuje na različita ograničenja troškova; zato su različite potrebe za optimizaciju i ponovnu upotrebu

• Od fleksibilnih do vrlo strogih zahtjeva, te u kombinaciji sa različitim kvalitativnim uslovima, na primjer, s obzirom na sigurnost, pouzdanost, i izvršavanje u realnom vremenu

• Od kratkog do dugog životnog vijeka • Različiti uslovi okoline npr. radijacija, vibracije i vlažnost • Različite karakteristike primjene koje rezultiraju statičkim u odnosu na dinamička

opterećenja, mala u odnosu na veliku brzinu, proračunski zadaci u odnosu na zadatke koji su više okrenuti interfejsu, i/ili njihovoj kombinaciji

• Različiti modeli proračuna od prekidnih do neprekidnih sistema.

Page 20: Razvoj i Dostignuća Računara

20

Često, ugrađeni sistemi su usko povezani sa svojom okolinom. Na taj način može doći do povećanja realnih ograničenja do kojih dolazi zbog interakcije sa okolinom. Ograničenja, kao što su zahtjevana: brzina kretanja, preciznost mjerenja, vrijeme trajanja, diktiraju pravovremeno izvršavanje softverskih operacija. Pored toga, ako se istovremeno mora raditi na više operacija, nameću se složenija ograničenja realnog vremena.

Slika desno prikazuje opću organizaciju ugrađenog sistema. Osim procesora i memorije, brojni su elementi koji se razlikuju od tipičnog laptopa ili PC-a: • Mogu postojati raznoliki interfejsi koji omogućavaju si-stemu mjerenje, manipulaciju ili drugačije oblike interakcije sa vanjskim okruženjem. • Interfejs prema čovjeku može biti jednostavan kao trepću-će svjetlo ili složen kao robotski vid u realnom vremenu. • Dijagnostički port (priključak) se može koristiti za praće-nje sistema koji se kontroliše, a ne samo za računar.

• Specijalne vrste hardvera (special-purpose field programmable hardware – FPGA, application specific hardware – ASIC, ili nondigital hardware) se mogu koristiti za povećanje performansi ili sigurnosti.

• Softver obično ima fiksne funkcije i specifičan je za određenu primjenu. ARM razvoj ARM je familija RISC baziranih mikroprocesora i mikrokontrolera koje je projektovala firma ARM Inc., Cambridge iz Engleske. Firma ne proizvodi procesore, već projektuje mikroproce-sorske i višejezgrene arhitekture i licencira ih za proizvođače. ARM čipovi su procesori velike brzine poznati po malim dimenzijama i potrošnji struje. Velika im je upotreba u PDA i drugim prenosivim uređajima, uključujući igraće konzole i telefone kao i raznolike proizvode. ARM čipovi su procesori u Apple-ovim iPod-ima i iPhone-ima. To su najvjerovatnije najviše korištena ugrađena procesorska arhitektura i zaista najviše korištena procesorska arhitektura uopće. Porijeklo ARM tehnologije potiče od kompanije Acorn Computers sa sjedištem u Britaniji. Ranih 1980.-tih British Broadcasting Corporation (BBC) joj je dodijelio ugovor za razvoj nove mikroprocesorske arhitekture za BBC projekat računarske pismenosti. Uspjeh ugovora Acorn-u je omogućio razvoj prvog komercijalnog RISC procesora, Acorn RISC Machine (ARM). Prva verzija ARM1 bila je operativna 1985. godine i korištena je za vlastita istraživanja ali također i koprocesor u BBC mašini. Također 1985. godine Acorn je distribuirao ARM2 koji je imao veću funkcionalnost i brzinu unutar istog fizičkog prostora. Dalja poboljšanja su postignuta 1989. godine distribucijom ARM3. Tokom ovog perioda, Acorn je koristio firmu VLSI Technology za proizvodnju čipova. VLSI je bio licenciran da samostalno prodaje čipove i imao je određenog uspjeha kada je bila u pitanju korištenje ARM procesora u proizvodima drugih firmi, pogotovo kao ugrađenih procesora. Pojava ARM-a se poklapala sa rastućom komercijalnom potrebom za procesorom velikih performansi, malom potrošnjom, veličinom i cijenom za primjenama u ugradnju u druge proizvode. Daljnji razvoj bio je iznad mogućnosti Acorn-a. Zato su Acorn, VLSI i Apple Computer osnovali novu firmu Arm Ltd. Acorn RISC Machine je postao Advanced RISC Machine. Nova je firma prvo ponudila pomoljšani ARM3, označen kao ARM6. nakon toga, uvedene su brojne nove familije, sa povećanom funkcionalnošću i performansama. Prema ARM-u, ARM procesori su projektovani za tri vrste sistema:

Page 21: Razvoj i Dostignuća Računara

21

• Ugrađene sisteme realnog vremena: sistemi za pohranjivanje, automobili i vozovi, te industrijske i mrežne primjene.

• Aplikacijske platforme : uređaji sa open OS-ovima uključujući Linux, Palm OS, Symbian OS i Windos CE u bežičnim okruženjima velikog broja korisnika, kao i aplikacijama za digitalnu obradu slike.

• Sigurnosne aplikacije: pametne i SIM kartice i terminali za plaćanje. Procjena učinka Pri razmatranju razvoja procesora i realizacije zahtjeva za nove sisteme, jedan od ključnih parametara uz cijenu, veličinu, sigurnost, pouzdanost, u nekim slučajevima potrošnja energije, je učinak. Teško je napraviti smisleno upoređivanje performansi različitih procesora, čak i među procesorima iste porodice. Samo brzina je mnogo manje važna od načina rada procesora kada izvršava datu aplikaciju. Nažalost, ovo izvršavanje zavisi ne samo od brzine procesora, već i od instrukcijskog seta, načina realizacije jezika, efikasnosti kompajlera, te od programerskih vještina ugrađenih u aplikaciju. Radni takt i broj instrukcija u sekundi Sistemski takt. Operacijama koje izvodi procesor: kao što su dohvatanje instrukcije, njeno prevođenje, izvođenje aritmetičkih operacija itd., rukovodi sistemski takt. Obično, sve operacije počinju taktnim impulsom. Zato, na najosnovnijem nivou, brzinu procesora diktira frekvencija taktnog impulsa, čija je mjerna jedinica broj ciklusa u sekundi, odnosno Herc (Hz).

Obično, kvarcni kristal generiše taktne signale, čime se proizvodi konstantan signalni talas dok je računar uključen. Ovaj se talas pretvara u konstantan tok digi-talnih impulsa unutar procesorskih kola (slika lijevo). Na primjer, 1 GHz procesor prima milijardu impulsa u sekundi. Ova mjera je poznata kao brzina (radnog) takta. Jedna promjena stanja, ili jedan impuls se označava kao taktni ciklus , ili otkucaj. Vrijeme između impulsa je vrijeme ciklusa.

Brzina radnog takta nije proizvoljna, ali mora biti odgovarajuća za fizički raspored procesora. Aktivnosti u procesoru zahtijevaju slanje signala od jednog ka drugom procesorskom elementu. Kada se signal linijski postavlja unutar procesora, potrebno je određeno vrijeme za uspostavlja-nje naponskih nivoa, tako da se dobije tačna vrijednost (1 ili 0). Osim toga, ovisno o fizičkom rasporedu kola unutar procesora, neki signali mogu se brže mijenjati od drugih. Zato operacije moraju biti sinhronizovane i usklađene, tako da se pravilno postave tačne vrijednosti napona za svaku operaciju. Izvršavanje instrukcije uključuje brojne zasebne korake, kao što su: prihvatanje instrukcije iz memorije, dekodiranje njenih različitih dijelova, učitavanje i pohranjivanje podataka i izvođe-nje aritmetičkih i logičkih operacija. Zato, za svoje izvršenje većina instrukcija na većini proce-sora zahtijeva više taktnih ciklusa. Za neke instrukcije je to svega nekoliko, dok je za druge

Page 22: Razvoj i Dostignuća Računara

22

potrebno na desetine ciklusa. Osim toga, kod pipelining-a, simultano se izvršava više instrukci-ja. Zbog toga, bezuslovno upoređivanje radnih taktova različitih procesora nije dovoljno za upoređivanje njihovih performansi. Brzina izvršavanja instrukcija. Procesorom upravlja njegov takt konstantne frekvencije f, čemu je ekvivalentno konstantno vrijeme ciklusa τ =1/f. Definiše se programski broj instrukcija (instruction count for a program), Ic, kao broj izvršenih mašinskih instrukcija za taj program koji se izvodi do završetka ili u nekom definisanom vremenskom intervalu. Treba zapaziti da je ovo broj izvršenih operacija, a ne broj instrukcija objektnog kôda programa. Važan parametar je prosječan broj ciklusa po instrukciji programa (average cycles per instruction – CPI). Ako sve instrukcije zahtijevaju isti broj taktnih ciklusa, onda CPI ima konstantnu vrijednost za procesor. Međutim, kod bilo kojeg procesora, za različite tipove instrukcija (učitavanje, pohranjivanje, grananje itd.) različit je broj zahtijevanih taktnih ciklusa. Neka je, za dati program, CPIi potreban broj ciklusa za instrukciju i-tog tipa, a I i broj izvršenih instrukcija i-tog tipa. Onda je ukupan CPI:

��� �∑ ����� � �����

Procesorsko vrijeme T potrebno za izvršenje datog programa je: � � � � ��� � �. Tokom izvršavanja instrukcije, dio posla odrađuje procesor, a drugi dio vremena se riječ prebacuje iz ili u memoriju. U tom slučaju, vrijeme prenosa zavisi od vremena ciklusa memorije, koje može biti veće od vremena ciklusa procesora, tako da se gornja formula može napisati u obliku:

� � � � �� � �� � �� � �

Gdje je p broj ciklusa procesora potrebnih za dekodiranje i izvršava-nje instrukcije, m broj potrebnih me-morijskih referenci, i k odnos između memorijskog i procesorskog vremena

ciklusa. Pet faktora učinka iz prethodne formule zavisi od četiri sistemske osobine: dizajn instrukcijskog seta (arhitektura instrukcijskog seta), kompajlerske tehnologije (efikasnost kompajlera u prevođenju programa visokog nivoa u mašinski), implementacije procesora, i hijerarhije keša i memorije. Gornja tabela se bazira na matrici čija jedna dimenzija prikazuje pet faktora učinka, a druga četiri sistemske osobine. X u ćeliji ukazuje na uticaj sistemske osobine na faktor učinka. Opća mjera učinka procesora je brzina kojom se izvršavaju instrukcije izražena milionima instrukcija u sekundi (millions instructions per second – MIPS), koja se označava kao MIPS brzina. Ona se može izraziti kao odnos brzine takta i CPI:

���������� ��

� � 10!�

"

��� � 10!

Na primjer, izvršava se program koji rezultira izvršavanjem 2 miliona instrukcija na 400 MHz procesoru. Program se sastoji od četiri glavna tipa instrukcija. Udio pojedinih instrukcija i CPI za svaku od njih dobijen je testiranjem programa, a predstavljeni su donjom tablicom:

Tip instrukcije CPI Udio instrukcije Aritmetička i logička 1 60% Učitavanje/pohranjivanje sa keš pogađanjem 2 18%

Page 23: Razvoj i Dostignuća Računara

23

Grananje 4 12% Memorijska referenca sa keš promašajem 8 10%

Prosječni CPI kad se program izvodi na jednom procesoru je: CPI = 0.6 + (2X0.18) + (4X0.12) + (8X0.1) = 2.24. MIPS brzina = (400X106)/(2.24X106) ≈ 178. Još jedna opća mjera koja se koristi samo za instrukcije sa pokretnim zarezom, koje su uobičajne za naučne i igraće aplikacije. Njihov učinak se izražava u milionima operacija sa pokretnim zarezom u sekundi (millions floating-point operations per second – MFLOPS):

�#$%�� ������ = ��&' ��(�š*��ℎ &�*��,�'� �&��*-�&. ���*�� / ��&.���/(��'*�* ��(�š�(��'� × 10!

Mjerila Mjere kao što su MIPS i FLOPS su nedovoljne za ocjenu učinka procesora. Zbog razlika u instrukcijskim setovima, brzinu izvršavanja nije opravdano koristiti za upoređivanje performa-nsi različitih arhitektura. Na primjer, linija koda u jeziku visokog nivoa: A = B + C /* pretpostavlja se da su svi kvantiteti u glavnoj memoriji */

Koristeći tradicionalnu arhitekturu instrukcijskog seta, koja se označava kao CISC (complex instruction set computer), gornja se operacija kompajlira u jednu procesorsku:

add mem(B), mem(C), mem(A)

Na RISC (reduced instruction set computer) procesoru kompajliranjem bi se dobilo:

load mem(B), reg(1); load mem(C), reg(2); add reg(1), reg(2), reg(3); store reg(3), mem(A)

Zbog prirode RISC arhitekture oba procesora mogu izvršavati izvornu operaciju jezika visokog nivoa za skoro isto vrijeme. Ako se ovaj primjer izvršava na oba procesora, te ako je brzina CISC procesora 1 MIPS, onda je brzina RISC procesora 4 MIPS, ali oba izvršavaju istu operaciju jezika visokog nivoa za isto vrijeme. Nadalje, učinak datog procesora na datoj aplikaciji možda neće biti koristan za određivanje ponašanja procesora na aplikaciji sasvim drugog tipa. U vezi s tim, počevši od kraja 1980.-tih i početka 1990.-tih, mjerenje učinka sistema se vrši na skupu referentnih programa. Isti skup programa se izvršava na različitim mašinama, te se upoređuju vremena izvršavanja. Poželjne osobine referentog programa su:

1. Napisan u jeziku visokog nivoa, i prenosiv je na različite mašine. 2. Predstavnik je određene vrste programiranja, kao što su: sistemsko, numeričko ili

komercijalno. 3. Lagan je za mjerenje. 4. Ima široku distribuciju.

Page 24: Razvoj i Dostignuća Računara

24

SPEC mjerila. Zajednička potreba industrijske, akademske i istraživačke zajednice za opće prihvaćenim mjerama računarskih performansi, dovela je do razvoja standardiziranih skupova mjerila. Skup mjerila je skup programa, programiranih u jeziku visokog nivoa, na kojima se nastoji obezbijediti reprezentativno testiranje računara u određenoj primjeni ili području sistemskog programiranja. Najbolji skupovi mjerila su proizvod SPEC (System Performance Evaluation Corporation) konzorcija. SPEC-ova mjerila performansi se masovno koriste za upoređivanja i istraživanja, a najbolji je SPEC CPU2006, standard za procesorske aplikacije7. Zasniva se na postojećim aplikacijama koje rade na različitim platformama SPEC članova. Sastoji se od 17 programa sa pokretnim zarezom koji su napisani u C, C++ i Fortranu; i 12 programa sa cjelobrojnim podacima (integer programs) napisani u C i C++. Skup sadrži preko 3 miliona linija kôda. Ovo je peta generacija SPEC procesorskih programa, koji zamjenjuju SPEC CPU2000, SPEC CPU95, SPEC CPU92 i SPEC CPU89. Ostali SPEC programi su:

• SPECjvm98: namijenjen za ocjenjivanje učinka hardverskih i softverskih aspekata Java Virtual Machine (JVM) klijent-platforme,

• SPECjbb2000 (Java Business Benchmark): mjerilo za ocjenjivanje serverske strane Java-baziranih komercijalnih aplikacija,

• SPECweb99: ocjenjuje performanse WWW servera. • SPECmail2001: projektovan za mjerenje mail servera.

Prosječni rezultati. Za dobijanje pouzdane uporedbe performansi različitih računara, poželjno je pokrenuti različite referentne programe na različitim mašinama i onda uprosječiti rezultate. Na primjer, za m različitih referentnih programa aritmetička sredina je:

01 = 1� 2 0�3

���

Gdje je Ri brzina izvršavanja instrukcije jezika visokog nivoa za i-ti referentni program. Alternativa je izračunavanje harmonijske sredine:

04 = �∑ 10�

3���

Na kraju, korisnika interesuje vrijeme izvršavanja sistema, a ne njegova brzina izvršavanja. Ako se izračuna aritmetička sredina brzina instrukcija različitih referentnih programa, onda je rezultat proporcionalan zbiru recipročnih vrijednosti vremena izvršavanja. S druge strane, harmonijska sredina brzine instrukcije je recipročna vrijednost prosječnog vremena izvršavanja. Važna su dva osnovna mjerila: mjerilo brzine i mjerilo odnosa. Mjerilo brzine mjeri sposobnost računara da završi jedan zadatak. SPEC definiše osnovno vrijeme trajanja svakog referentnog programa koristeći referentnu mašinu. Rezultati testnog sistema se prikazuju kao odnos referentnog i sistemskog vremena trajanja:

�� = ��*"��5/-� Gdje je: Trefi vrijeme izvršavanja i-tog referentnog programa na referentnom sistemu, a Tstuti vrijeme izvršavanja i-tog referentnog programa na testnom sistemu. Primjer je Sun Blade 6250, koji se sastoji dva 4-jezgrena čipa. Jedan od SPEC CPU2006 referentnih programa sa cjelobrojnim podacima je 464.h264ref, što je referentna

7 Procesorska aplikacija (processor-intensive application) – aplikacija koja zahtijeva znatno više izračunavanja

nego I/O opercija.

Page 25: Razvoj i Dostignuća Računara

25

implementacija H.264/AVC (Advance Video Coding) video kompresijski standard. Sun sistem izvršava ovaj program 934 sekunde. Referentna implementacija treba 22135 sekundi. Odnos je: 22136/934 = 23,7. Pošto je vrijeme testnog sistema u nazivniku, veći odnos znači veću brzinu. Ukupna mjera učinka testnog sistema se izračunava kao prosjek vrijednosti odnosa za svih 12 referentnih programa sa cjelobrojnim podacima. SPEC određuje korištenje geometrijske sredine:

�6 = 78 ��

���9

� :

Gdje je r i odnos za i-ti referentni program. Za SUN Blade 6250 odnosi brzina programa sa cjelobrojnim podacima su:

Mjera brzine se dobije izračunavanjem dvanaestog korijena proizvoda ovih odnosa: √17.5 � 14 � 13.7 � 17.6 � 14.7 � 18.6 � 17 � 31.3 � 23.7 � 9.23 � 10.9 � 14.7

EF� 18.5

Mjerilo omjera mjeri propusnost ili brzinu mašine koja izvodi brojne zadatke. Za mjerila omjera više kopija referentnih programa se izvršavaju paralelno. Obično, broj kopija referentnih programa je jednak broju procesora u računaru. Ponovo se izračunava odnos mada je izračunavanje složenije:

�� �G � ��*"�

�5/-�

Trefi – vrijeme izvršavanja i-tog referentnog programa na referentnom sistemu, N - broj kopija programa koje se izvršavaju paralelno, Tstuti – proteklo vrijeme od početka izvršavanja programa na svih N procesora testnog sistema do završetka svih kopija programa. Ponovo se izračunava geometrijska sredina za određivanje ukupne mjere učinka. SPEC koristi geometrijsku sredinu jer je najpogodnija za normalizirane brojeve kao što su odnosi. Geometrijska sredina ima svojstvo održavanja konstantnim veza između performansi bez obzira na računar koji se koristi kao osnova za normalizaciju. Amdahl-ov zakon Pri razmatranju performansi sistema njegovi projektanti traže načine poboljšavanja performansi poboljšanjima tehnologije ili promjenama u dizajnu. Primjeri uključuju korištenje paralelnih procesora, hijerarhije keša i ubrzavanja pristupa memoriji, te povećanje brzine I/O prenosa uslijed tehnoloških poboljšanja. U svim ovim slučajevima, važno je zapaziti da povećanje brzine jednog aspekta tehnologije ili dizajna ne rezultira odgovarajućim napretkom performansi. Ovo ograničenje jasno se izražava Amdahl-ovim zakonom. Ovaj je zakon predstavio Gene Amdahl, a tiče se potencijalnog povećanja brzine programa korištenjem više procesora u odnosu na jedan procesor. Amdalh-ov zakon glasi: ako je f dio programa koji može biti paralelizovan, a (1 – f) dio programa koji se ne može paralelizirati, onda povećanje brzine na N paralelnih procesora je:

Page 26: Razvoj i Dostignuća Računara

26

/�����'* = (��'*�* ��(�š�(��'� ��&,*5&�� �� '*H�&� ��&,*5&�/(��'*�* ��(�š�(��'� ��&.���� �� G ����I*I��ℎ ��&,*5&��= ��1 − " + �"

��1 − " + �"G= 1

�1 − " + "G

T – ukupno izvršavanje programa na jednom procesoru. Ova jednačina je ilustrovana na grafiku desno. Mogu se izvući dva važna zaključka:

1. Kad je f malo, korištenje paralelnih procesora ima malo uticaja.

2. Kad N teži u beskonačnost, ubrzanje je ograničeno sa 1/(1 – f), tako da dolazi do pada poboljšanja korištenjem više procesora.

Amdahl-ov zakon ilustruje probleme s kojima se suočava industrija u razvoju višejezgrenih mašina uz stalno povećanje jezgri: softver koji se izvršava na takvim mašinama mora biti prila-gođen okruženju sa velikim paralelizmom kako bi se iskoristile sve prednosti paralelne obrade. Generalizacija ovog zakona može se koristiti za ocjenjivanje tehničkih ili dizajnerskih poboljša-nja u kompjuterskim sistemima. Bilo kakvo poboljšanje rezultira ubrzanjem koje je:

/�����'* = �*�"&����5* ���&� �&�&I'š��'��*�"&����5* ���'* �&�&I'š��'�= (��'*�* ��(�š�(��'� ���'* �&�&I'š��'�(��'*�* ��(�š�(��'� ���&� �&�&I'š��'�

Neka je za svojstvo sistema prije poboljšanja potreban dio vremena izvršavanja f, a nakon poboljšanja SUf. Onda je ukupno ubrzanje sistema:

/�����'* = 1�1 − " + "�KL

Na primjer, neka zadatak zahtijeva 40% vremena za operacije sa pomičnim zarezom. Hardverskim poboljšanjem, modul sa pomičnim zarezom se ubrzava faktorom K. Onda je ukupno ubrzanje:

/�����'* = 10,6 + 0,4N

Zato je maksimalno ubrzanje, koje je nezavisno od K, 1,67. Literatura: William Stallings, COMPUTER ORGANIZATION AND ARCHITECTURE, DESIGNING FOR PERFORMANCE NINTH EDITION, Copyright © 2013, 2010, 2006 by Pearson Education, Inc., Upper Saddle River, New Jersey, 07458.