Osnove Računarskih Arhitektura

Embed Size (px)

Citation preview

  • 8/18/2019 Osnove Računarskih Arhitektura

    1/197

    Novica Nosović i Željko Jurić

    OSNOVE RAČUNARSKIH ARHITEKTURA

  • 8/18/2019 Osnove Računarskih Arhitektura

    2/197

    Naslov

    Osnove računarskih arhitektura

    Za izdavača

    Prof.dr.sc. Narcis Behlilović

    Recenzenti

    Prof.dr.sc. Slavko Marić, Univerzitet u Banja Luci, lektrotehnički fakultet

    !oc.dr.sc. Sa"a Mrdović, Univerzitet u Sarajevu, lektrotehnički fakultet.

    DTP i izrada

     #utori

    Štampa

    lektronska for$a

    Tiraž

    lektronska for$a

    Odluko$ Senata Univerziteta u Sarajevu %r.&'()*+)(-)*/(0 od '1. '1. 0'(0. 2odine, dana jesa2lasnost da se knji2a OSNO3 4#5UN#4S678 #487969U4# izda kao univerzitetsko izdanje.

    2

    :7P ) 6atalo2izacija u ;u%likacijiNacionalna i univerzitetska %i%liotekaBosne i 8erce2ovine, Sarajevo

    ''.0

  • 8/18/2019 Osnove Računarskih Arhitektura

    3/197

    Univeri!e!ski u"#$enik"Osnove računarskih arhitektura"

    au!oraNovice Nosovića % Željka Jurića

     je "ovoljeno koris!i!i &o"Creative Commons Attribution-ShareAlike 3.0 Unported License.

    Ovo djelo smijete slobodno:

    dieliti

    umnožavati, distribuirati i javnosti priopćavati djeloremiksirati prerađivati djelo

    koristiti delo u komercialne svrhe

    Pod sljedećim uslovima:

    !menovane  Morate priznati i označiti autorstvo djela na način kako je specificirao autor ilidavaoc licence (ali ne način koji bi sugerisao da Vi ili Vaše korištenje njegovog

    djela imate njegovu izravnu podršku!ieli pod istim uvetima

     "ko ovo djelo izmijenite, preoblikujete ili stvarate koristeći ga, preradu možetedistribuirati samo pod licencom koja je ista ili slična ovoj!

    '

    (a vi)e in*or+acija, nova i"anja ovo- "jela, is&ravke -re)aka, "o"a!nesa"r#aje, kao i a &rava kori)!enja koja nisu "ijelo+

    -ore nave"ene licence &osje!i!e

    .!!&/00&eo&le1e!*1unsa1$a0nnosovic0ora01

    mailto:[email protected]?subject=Osnove%20ra%C4%8Dunarskih%20arhitekturamailto:[email protected]?subject=Osnove%20ra%C4%8Dunarskih%20arhitekturahttp://people.etf.unsa.ba/~nnosovic/ora/http://people.etf.unsa.ba/~nnosovic/ora/mailto:[email protected]?subject=Osnove%20ra%C4%8Dunarskih%20arhitekturamailto:[email protected]?subject=Osnove%20ra%C4%8Dunarskih%20arhitektura

  • 8/18/2019 Osnove Računarskih Arhitektura

    4/197

    Novica NosovićŽeljko Jurić

    Osnove ra3unarski. ar.i!ek!ura

    Sarajevo, 2012.

    4

  • 8/18/2019 Osnove Računarskih Arhitektura

    5/197

    5

  • 8/18/2019 Osnove Računarskih Arhitektura

    6/197

    6re"-ovor

    O$iro+ na veo+a in!enivan ravoj ra3unarske !e.nike, naro3i!o u !oku &ro!ekle "ecenije,&isanje u"#$enika koji će na a"ovoljavajući na3in o$ra"i!i !e+a!iku veanu a ra3unarskear.i!ek!ure &re"s!avlja iaov, ali u is!o vrije+e &re"s!avlja i .ra$ru o"luku1 Ovaj u"#$enik,

    &o" naslovo+ 7Osnove ra3unarski. ar.i!ek!ura8, &re"s!avlja &ionirski &o"u.va! 3iji je cilj "ase &o &rvi &u! na &o"ru3ju 9osne i Herce-ovine ova +a!erija &reen!ira na aka"e+ski&ri.va!ljiv na3in, &o-o"an a ivo:enje nas!ave na visoko)kolski+ ins!i!ucija+a1 U"#$enik&re"s!avlja aokru#enu cjelinu koja je nas!ala na osnovu ra"ni. +a!erijala i iskus!va koje- suau!ori s!ekli !oko+ vi)e-o"i)nje- ra"a u nas!avi na rani+ &re"+e!i+a i o$las!i ra3unarske!e.nike o"nosno "i-i!alne !e.nike o&ćeni!o na Elek!ro!e.ni3ko+ i 6riro"no;+a!e+a!i3ko+*akul!e!u Univeri!e!a u Sarajevu1Ovaj u"#$enik &rvens!veno je na+ijenjen s!u"en!i+a Elek!ro!e.ni3ko- *akul!e!a Univeri!e!au Sarajevu, ali -a +o-u koris!i!i i svi "ru-i koji &osje"uju ele+en!arno &re"nanje i o$las!ira3unarske !e.nike i koje ani+a &ro$le+a!ika koja se u nje+u ra+a!ra1 U"#$enik u&o!&unos!i &ra!i nas!avni &lan i &ro-ra+ &re"+e!a 7Ra3unarske ar.i!ek!ure8 koji s!u"en!i

    O"sjeka a ra3unars!vo i in*or+a!iku na Elek!ro!e.ni3ko+ *akul!e!u u Sarajevu slu)aju kaoo$avean kurs u IV se+s!ru I ciklusa s!u"ija, a is!i kurs se +o#e o"a$ra!i i kao i$orni kursna vi)i+ -o"ina+a s!u"ija O"sjeka a +a!e+a!iku 6riro"no;+a!e+a!i3ko- *akul!e!a uSarajevu, s+jer !eorijska ko+&ju!erska nauka1 6ore" ovo- kursa, a koji ovaj u"#$enik&re"s!avlja o$avenu li!era!uru, u"#$enik !ako:er +o#e $i!i o" koris!i kao "o&unska li!era!urana "ru-i+ kursevi+a koji se $ave &ro$le+a!iko+ ra3unarske !e.nike1 Ovo se &rvens!venoo"nosi na kurseve 7

  • 8/18/2019 Osnove Računarskih Arhitektura

    7/197

    o$ja)njava i ulo-a koju ko+&ajleri i+aju na savre+ene ar.i!ek!ure sku&a ins!rukcija1Nakon a&s!rak!ni. ra+a!ranja &rove"eni. kro &rva !ri &o-lavlja, u 3e!vr!o+ &o-lavlju seo&isuje je"an konkre!ni o-le"ni &rocesor asnovan na ar.i!ek!uri sa &ro!o3no+ s!ruk!uro+16rvo se "e!aljno o&isuje ins!rukcijski se! i *or+a! ins!rukcija, nakon 3e-a se ra+a!rae*ek!ivnos! &rikaane o-le"ne ar.i!ek!ure1 6ose$na &a#nja &osvećena je ra+a!ranju

    &ro!o3nos!i1 ko+&ajlerske? i "ina+i3ke >.ar"verske? +e!o"e u$ravanja ivr)enja &ro-ra+a kao)!o su so*!verske &ro!o3ne s!ruk!ure, !rasiranje, ko+&ajlersko s&ekulisanje u &o"r)ku.ar"vera, .ar"versko s&ekulisanje, i!"1U "eve!o+ &o-lavlju ra+a!raju se su&erskalarne ar.i!ek!ure &rocesora kao i ari!ek!ure&rocesora sa veo+a "u-i+ ins!rukcijski+ rije3i+a >VCID &rocesori?1 U &i!anju su &oku)aji"a se )!o vi)e &osla &okrene i ivr)i u svako+ ciklusu sa!a1 6ose$no se ra+a!ra vi)es!ruko&okre!anje ins!rukcija sa "ina+i3ki+ ras&ore:ivanje+, kao i o-rani3enja &rocesora kojikoris!e vi)es!ruko &okre!anje1

  • 8/18/2019 Osnove Računarskih Arhitektura

    8/197

    (a raliku o" većine u"#$enika &risu!ni. na na)e+ !r#i)!u, ovaj u"#$enik je "os!u&anisključivo u elektronskoj formi, koji &o &o!re$i korisnici +o-u )!a+&a!i u vlas!i!oj re#iji1Ovakav &ris!u& &re"s!avlja &rili3nu novinu na ovi+ &ros!ori+a1 6ore" 3injenice "a se na !ajna3in olak)ava "os!u&nos! u"#$enika svi+ ain!eresirani+, "o"a!na &re"nos! !akvo- &ris!u&a

     je )!o se even!ualno uo3ene si!nije -re)ke i &ro&us!i u +a!erijalu +o-u 7u .o"u8 "o!jeriva!i,

    !ako "a će korisnici uvijek +oći &reue!i najnoviju veriju1 Naravno, ov"je se -ovori sa+o oi+jena+a koje ne re+e!e &os!ojeći konce&! u"#$enika, jer u slu3aju &ro+jene konce&!a,neće $i!i -ovora o novoj veriji, već o novo+ i"anju u"#$enika1Au!ori se "u$oko a.valjuju recenen!i+a "r1 Slavku @ariću i "r1 Sa)i @r"oviću )!o su se&ri.va!ili a.!jevno- i o"-ovorno- &osla recenije ovo- u"#$enika i na korisni+&ri+je"$a+a1 6ore" !o-a, au!ori se a.valjuju i svi+ "ru-i+ lju"i+a koji su &o+o-lii"avanje ovo- u"#$enika1

    Au!ori

    U Sarajevu, 18. 06. 2012. godine

    F

  • 8/18/2019 Osnove Računarskih Arhitektura

    9/197

    1. Uvod u računarske arhitekture

    cijena? 3i&ova i neki "ru-i o koji+a !re$a vo"i!i ra3unaka"a se -ovori o ar.i!ek!ura+a ra3unara i nji.ovi+ &er*or+ansa+a1Pojam računarske arhitekture su još početkom 1960tih godina ra!"ičiti autori de#inisa"i nara!"ičite načine. U to do$a g"avni projektant u %&'u (!a %&')*60 sistem+ .'. -mdah" jekoristio taj pojam da opiše oso$ine sistema vi/ene od strane programera, tj. koneptua"nustrukturu i #unkiona"no ponašanje, !a ra!"iku od organi!aije protoka podataka i uprav"jačkestrukture, "ogičkog di!ajna i #i!ičke imp"ementaije. . S. Stone je rekao3Studijračunarskih arhitektura je studij organizacije i međuveza komponenti računarskih sistema.4va de#iniija $i se mog"a upotpuniti kada $i se posmatra"a u smis"u način5 na koji sehardver računara moe organi!ovati u i"ju posti!anja maksima"nih per#ormansi, mjereno npr.

     prosječnim vremenom i!vršenja instrukija. 7a taj način arhitekta računarskog sistema,ispo"javajui svoju vještinu o$"ikovanja g"avne strukture, trai kompromisna rješenja tehnike kojima e, umjerenom ijenom i s"oenošu hardvera, postii poveanje ukupnih

     per#ormansi sistema.

    Nakon rau+jevanja osnovni. &oj+ova o !o+e kako ra"e ra3unari, &o!re$no je na!i i kakoi. &rojek!ova!i i na&ravi!i1 Koje slo#ene !e.nike se koris!e !o+ &riliko+ i 3e+u koja slu#iNa&ri+jer, kako ke) +e+orija u!i3e na os!a!ak +e+orijske .ijerar.ije ili kako &ro!o3nes!ruk!ure ivr)avaju ins!rukcije &aralelno1(a)!o sve ovo u3i!i Hoće li neko o" nas i+a!i &riliku ravija!i novi &rocesor ili ra3unarVjerova!no ne, ali je vjerova!no "a će!e "oći u si!uaciju "a &rojek!uje!e neko una&re:enje ilinovu veriju &os!ojeće- sis!e+a1 S "ru-e s!rane ravoj so*!vera će va+ $i!i +no-ovjerova!nije sas!avni "io ra"no- vijeka1 Ta"a će se &os!avlja!i a.!jevi a e*ikasno ivr)enjeili &os!ianje +aksi+alni. &er*or+ansi so*!vera1 (a !o su &o!re$na nanja o ra3unarski+ar.i!ek!ura+a i .ar"veru ra3unara, kako $i ra3unarski sis!e+ >.ar"versko;so*!verska cjelina?e*ikasno ra"ila1 S "ru-e s!rane, a rukovo"ioce ra3unarski. *ir+i i a"+inis!ra!ore ra3unarski.

    G

    http://hr.wikipedia.org/wiki/Latinskihttp://hr.wikipedia.org/wiki/Latinski

  • 8/18/2019 Osnove Računarskih Arhitektura

    10/197

    sis!e+a, &o+enu!a nanja su neo&.o"na1 Rau+jevanje &rinci&a ra"a sis!e+a &o+a#e &rinje-ovoj na$avci, kori)!enju, o"r#avanju i anavljanju16os!oji "ru-a in!eresan!na o$las!, u-ra:eni ra3unari, -"je su ra3unari "io sis!e+a, u kojoj seo!varaju +no-e +o-ućnos!i a &rojek!ovanje i ravoj1 Ravoj novi. a&likacija a !akvera3unare, kao ko+&onen!e sis!e+a, &re"s!avlja in#injerski iaov1

    6oja+ ra3unarski. ar.i!ek!ura je najlak)e o$jasni!i &oveivanje+ sa -ra:evinski+ar.i!ek!ura+a1 U -ra:evinars!vu ar.i!ek!ura -ra"e je &lan ras&ore"a &ros!orija i nji.oveu&o!re$e1 (a s!a+$enu kuću !o su na&ri+jer/ "nevna so$a, s&avaća, ku.inja, ku&a!ilo i!"1Ti+e je "a! &lan *unkcionalnos!i rali3i!i. "ijelova -ra"e1 Nakon !o-a, -ra:evinski in#enjerće na osnovu !o-a &lana ura"i!i svoj "io &osla kro s!ruk!urni "iajn -ra"e, &rora3unenosivos!i, s!a$ilnos!i, !rajnos!i i!"1 Ova analo-ija va#i i a o"nos ar.i!ek!e ra3unara i in#injerakoji &rojek!uje lo-i3ke sklo&ove ; ko+&onen!e ra3unara1 6re+a !o+e ar.i!ek!ura je &lanuku&ne *unkcionalnos!i1 U ra3unarski+ ar.i!ek!ura+a !o na3i koje osnovne o&eracije će seivo"i!i i kako će se one sekvencira!i1 (a realiaciju ovakvo- &lana0ar.i!ek!ure je &o!re$an"iajner ra3unarski. sklo&ova koji će o$je"ini!i sve ko+&onen!e >!ranis!ore, o!&ornike i"ru-e? u je"nu *unkcionalnu cjelinu1 (a!o ar.i!ek!a ra3unara +ora i+a!i nanja i i

    &rojek!ovanja lo-i3ki. s!ruk!ura, iako &rojek!uje na vi)e+ nivou a&s!rakcije1A&s!rakcije se javljaju u rani+ o$las!i+a #ivo!a, in#injerin-a i nauke1 Ralika i+e:us&olja)nji. >korisni3ki.? oso$ina neke ko+&onen!e i njeni. unu!ra)nji. >"iajnerski.? "e!aljaove se apstrakcia1 Ona je va#na !e.nika &oje"nos!avljivanja $e koje $i #ivo! uciviliovano+ svije!u $io nea+isliv1 iviliovani 3ovjek ne +ora na!i kako su realiovanerane &o-o"nos!i savre+eno- svije!a1 On je"e .ranu i o$la3i o"jeću koju ne na kakona&ravi!i1 On koris!i elek!ri3ne i elek!ronske ure:aje 3iju unu!ra)njos! ne &onaje1 Koris!i !u:euslu-e 3iji "e!alji ak!ivnos!i +u nisu &ona!i1 Sa svaki+ novi+ na&re!ko+, +ali "io "ru)!vase s&ecijaliuje "a $i s&onao nje-ovu unu!ra)njos! >na&ravi!i i o"r#ava!i?, "ok veliki "io"ru)!va u3i koris!i!i !aj na&re"ak kao a&s!rak!ni ala!;sre!s!vo 3iju unu!ra)nju -ra:u ne +ora&onava!i1 Sa &ovećanje+ $roja !akvi. a&s!rak!ni. ala!a, )ansa "ru)!va "a na&re"uje ; ras!e1U ra3unarski+ a!.i!ek!ura+a &os!oji vi)e nivoa;slojeva a&s!rakcije1 A&s!rakcija na3iios!avljanje +anje va#ni. "e!alja u cilju $olje- rau+jevanja najva#niji. s!vari i &ro$le+a1Ulaeći u "u$inu a&s!rakcija koli3ina &o"a!aka se &ovećava, "ok sa vi)e a&s!rakcija koli3inain*or+acija se re"ucira1 I+e:u ar.i!ek!ure i sklo&ova &os!oji vi)e slojeva a&s!rakcije, kao )!o&os!oji i i+e:u so*!vera i .ar"vera1 A&s!rakcije &o+a#u u savla"avanju slo#enos!i16ravljenje ra3unara o" najosnovniji. ko+&onen!i je -o!ovo neivo"ljivo1 So*!ver &isan u

     jeiku visoko- nivoa >a&s!rakcije? se &o+oću ko+&ajlera &revo"i na ni#i nivo a&s!rakcije ;ase+$lerski ko", -"je se sekvenciraju +ne+onici ins!rukcija1 Na jo) ni#e+ nivou a&s!rakcijese !aj ko" ase+$lero+ &revo"i u +a)inski ko", sekvencu nula i je"inica, koju ra3unarrau+ije1 Har"ver u se$i sa"r#i vi)e nivoa a&s!rakcije >slika 11?

  • 8/18/2019 Osnove Računarskih Arhitektura

    11/197

    lavni +o"uli su 6U >&rocesor?, +e+orija, ulano;ilani ure:aji i nji.ovi kon!roleri1 Svisu veani u sis!e+ &reko sa$irnica i kon!rolera1 6?, ari!+e!i3ko;lo-i3ku je"inicu >ACU? i "ru-e ko+&onen!e, kao iunu!ra)nje vee +e:u nji+a1

  • 8/18/2019 Osnove Računarskih Arhitektura

    12/197

    Na najvi)e+ nivou je &ro-ra+ &isan u jeiku visoko- nivoa1 Na najni#e+ nivou so*!vera su+a)inske ins!rukcije &rocesoru1 I+e:u nji. je ase+$lerski sloj1 U .ar"versko+ "ijelu najvi)inivo su -lavni sas!avni $lokovi; re-is!ri, sa$ira3i >ACU? sa$irnice, "ok su na "nu osnovneko+&onen!e ; !ranis!ori1 Wokus ra3unarski. ar.i!ek!ura je u okolini !anke linije koja&re"s!avlja -ranicu i+e:u .ar"vera i so*!vera1 Tu se nalai sku& ins!rukcija koji o"re:ujeosnovne o&eracije &rocesora, sa je"ne s!rane i -lavne ko+&onen!e &rocesora koje rau+iju !eins!rukcije, sa "ru-e s!rane1 6ro-ra+er vi"i &rocesor kro sku& ins!rukcija, "ok "iajner

    .ar"vera vi"i so*!ver kro sekvencu +a)inski. ins!rukcija koje !re$a in!er&re!ira!i >ivr)i!i?1Sa o$je s!rane nave"ene !anke linije se nalai vi)e slojeva a&s!rakcija ; kako u so*!veru, !ako iu .ar"veru1 Ar.i!ek!ura ra3unara je "e*inisana in!er*ejso+ i+e:u so*!vera i .ar"vera i, kaonauka, naj3e)će se $avi najni#i+ sloje+ so*!verske i najvi)i+ sloje+ .ar"verske .ijerar.ijea&s!rakcija ; ar.i!ek!uro+ sku&a ins!rukcija >ISA? i +ikroar.i!ek!uro+ .ar"vera &rocesora1ISA se o"nosi na najni#i nivo a&s!rakcije vi"ljiv &ro-ra+eru1 6ro-ra+er ne !re$a "a $rine o!ranis!ori+a, *li&;*lo&ovi+a i lo-i3ki+ koli+a, već sa+o o osnovni+ je"inica+a ra3unanja ;ins!rukcija+a1 @ikroar.i!ek!uro+ se $avi "iajner .ar"vera i njen a"a!ak je "a se $rine olo-i3ko+ &oveivanju ins!rukcija i .ar"verski. +o"ula1 6oje"ini +o"uli >sku& re-is!ara,ACU? sa+i a se$e ne "e*ini)u sku& ins!rukcija, već na3in na koji su oni +e:uso$no&oveani u je"ins!venu cjelinu ; &u! &o"a!aka1 6olo#aj ISA +e:u .ar"verski+ i so*!verski+nivoi+a a&s!rakcije je &rikaan na slici 1'1

    2

    #lika $!)! *ardver+softver interfejs

  • 8/18/2019 Osnove Računarskih Arhitektura

    13/197

    Na vr.u su a&lika!ivni &ro-ra+i koji se ivr)avaju na &rocesoru &o+oću sis!e+sko- so*!vera1Ko+&ajler &revo"i &ro-ra+ i jeika visoko- nivoa u +a)inski ko", "ok o&era!ivni sis!e+u&ravlja resursi+a i o+o-ućava ra" ko+&ajliranje, &unjenje i ivr)avanje &ro-ra+a1 Is&o"ISA nivoa se nalai "iajn cen!ralne &rocesne je"inice >6U?, a na ni#e+ nivou lo-i3ki "iajnsklo&ova1 Na "nu je *ii3ki "iajn sa ra+je)!aje+ ko+&onen!i na siliciju+u16o-le" na &rocesor kro ase+$lerski jeik je"nona3no o"re:uje u koje+ s!anju je &rocesor1Nje-ovo s!anje u svako+ !renu!ku je o"re:eno s!anje+ re-is!ara i sa"r#aje+ +e+orije1Nakon ivr)enja svake ins!rukcije &rocesor &relai i je"no- u "ru-o s!anje1 U +e+oriji senalae ins!rukcije i &o"aci &ro-ra+a koji se ivr)ava1 Ko&ije ins!rukcija koje se !renu!noivr)avaju, kao i &o"a!aka na" koji+a se !e o&eracije ivo"e se nalae u &rocesoru>re-is!ri+a?1 Nakon avr)e!ka o$ra"e, reul!a!i se &i)u u +e+oriju1

    Ina" ase+$lersko- nivoa a&s!rakcije nalae se ko+&ajler i o&era!ivni sis!e+, kao i jeicivisoko- nivoa1 Is&o" nje-a se nalae .ar"verske ko+&onen!e visoko- nivoa >sku& re-is!ara,ACU i!"? i ni#e- nivoa >!ranis!ori, o!&ornici? koje o+o-ućavaju ivr)enje svi. ins!rukcija u+a)insko+ jeiku1 Ar.i!ek!e i+aju a"a!ak "a or-aniuju i &ove#u ove .ar"verskeko+&onen!e !ako "a se ins!rukcije ivr)avaju $e -re)ke i )!o je +o-uće $r#e1 6ore"&er*or+ansi, sve 3e)će !re$a vo"i!i ra3una i o "ru-i+ o-rani3enji+a, kao )!o je &o!ro)njaener-ije, )!o je naro3i!o va#no ko" &renosni. ure:aja koji se na&ajaju i $a!erija1Osnovna $lok;s!ruk!ura i &rinci& ra"a ra3unara je "a!a na slici 141

    '

    #lika $!! &ar procesormemorija i nji%ova osnovna komunikacija

    #lika $!-! &oložaj ar%itekture skupa instrukcija među %ardverskimi softverskim apstrakcijama

  • 8/18/2019 Osnove Računarskih Arhitektura

    14/197

    U +e+oriji se nalai ko" u +a)insko+ jeiku i &o"aci koje !re$a o$ra"i!i1 6rocesor +ora $i!iu s!anju "onije!i ins!rukcije i &o"a!ke i +e+orije i nakon o$ra"e vra!i!i reul!a!e na!ra-1O$i3no se u +e+oriji nalai i &ose$na s!ruk!ura = s!ek, koji slu#i a &oivanje *unkcija,&roce"ura i, -eneralno, &o+a#e u kreiranju .ijerar.ije &ro-ra+ski. a&s!rakcija1 Osnovneko+&onen!e 6U;a su &ro-ra+ski $roja3 >6?, ACU, sku& re-is!ara kao i re-is!ar sa ko"o+

    s!anja >en-1 = on"i!ion o"e?1 ACU ra"i ari!+e!i3ko;lo-i3ke o&eracije na" o&eran"i+ai re-is!ara, &a o&eran"e &re!.o"no !re$a "onije!i i +e+orije1 6 &okauje na ins!rukcijukoju slje"eću !re$a "onije!i i +e+orije i ivr)i!i1 Nakon !o-a &okauje na slje"eću i na !ajna3in o$e$je:uje sekvenciranje ins!rukcija1 Ins!rukcije se +e:uso$no ralikuju &o !o+ekako su ko"irane, koje o&eracije ivr)avaju i )!a u nji+a ACU !re$a "a ra"i1 U 6U;u &os!ojii u&ravlja3ka je"inica, koja nije &rikaana na slici 141, koja u&ravlja svi+ &o+enu!i+ko+&onen!a+a, kako $i o"ra"ile o"-ovarajuće &oslove u o"-ovarajuće vrije+e1 Ivr)enjeins!rukcija a#urira i s!anje re-is!ra, koji je naj3e)će "io sku&a re-is!ara, 3ije s!anje sekasnije +o#e koris!i!i a "ono)enje o"luka u &ro-ra+u kao )!o su -rananja i &e!lje &ona!e i

     jeika visoko- nivoa16o+enu!e ko+&onen!e su aje"ni3ke a sve &rocesore, je"nos!avne i slo#ene1 6os!oje

    ar.i!ek!ure &rocesora koje "onekle o"s!u&aju o" ovakve or-aniacije, ali se +o#e reći "a jeovo naj3e)ća or-aniacija &rocesora &oslje"nji. "ecenija1A&s!rakcija ovakvo- &rocesora koji i+a rela!ivno je"nos!avnu s!ruk!uru i ivr)ava

     je"nos!avne o&eracije &o+a#e u rau+jevanju osnovni. konce&a!a1 @e:u!i+, kao ko" svi.a&s!rakcija, vrlo je va#no rau+je!i )!a se a&s!ra.uje u neko+ !renu!ku i koja je ralikai+e:u "a!e a&s!rakcije i realni. s!ruk!ura u svako"nevno+ #ivo!u1 I-norisanje neki. "e!alja+o#e "oves!i "o veliki. -re)aka u rau+jevanju 3i!ave !e.nolo-ije1 6ri+jera a !o je +no-o1U &riro"i je $roj cjelo$rojni. vrije"nos!i neo-rani3en1 U ra3unari+a >.ar"veru i&ro-ra+i+a?, a nji.ovo &re"s!avljanje se koris!i o-rani3en $roj $i!a &a je i nji.ov o&se-o-rani3en1 Sli3an &ro$le+ &os!oji i u &re"s!avljanju realni. $rojeva, -"je o-rani3enja u $roju$i!a +an!ise i eks&onen!a "irek!no na+eću o-rani3enja u reoluciji i o&se-u vrije"nos!i kojese +o-u &re"s!avi!i1 S!o-a je sasvi+ +o-uće "a akoni +a!e+a!ike &res!aju va#i!i ukoliko sera3unanja sa realni+ $rojevi+a o"vijaju na "i-i!alno+ ra3unaru1 6ri+jer a !o +o#e $i!isa$iranje !ri realna $roja o" koji. neki &re"s!avljaju vrlo velike a neki vrlo +ale vrije"nos!i1O" re"oslje"a sa$iranja +o#e avisi!i !a3nos! reul!a!a, )!o se kosi sa akono+asocija!ivnos!i1 re)ka +o#e $i!i vrlo +ala, ali +o-ućnos! njeno- nas!anka &os!oji1 na ni#e+ nivou a&s!rakcije?1U &ro!ivno+, &ro-ra+er je o"vojen o" *ii3ke realnos!i ivr)enja &ro-ra+a1

    A&s!rakcija +e+orije &o"rau+jeva neo-rani3en $roj rije3i i $aj!a0$i!a u nji+a, sa is!i+vre+eno+ &ris!u&a svakoj rije3i1 U realnos!i je sasvi+ "ru-a3ije1 Ne sa+o "a su rije3io-rani3ene )irine, a +e+orija o-rani3eno- $roja rije3i ; ka&aci!e!a, već se &okauje "a je, u

     je"no+ !renu!ku, a &ris!u& nekoj lokaciji &o!re$no na!no +anje vre+ena ne-o nekoj "ru-oj,"ok se ne)!o kasnije +o#e "esi!i i o$rnu!o1 U realnos!i, +e+orija i+a vi)enivosku.ijerar.ijsku s!ruk!uru, &a vrije+e &ris!u&a rali3i!i+ lokacija+a +o#e na3ajno varira!i1 i o!o+e "o$ar &ro-ra+er +ora vo"i!i ra3una1 Vrije+e ivr)enja neko- &ro-ra+a je &ara+e!arkoji se #eli +aksi+alno re"ucira!i, kako $i se &er*or+anse ar.i!ek!ure na kojoj se on ivr)ava+aksi+alno iskoris!ile1U o$las!i u-ra:eno- ra3unars!va, "iajn sis!e+a u ko+e je ra3unar sa+o je"an "io >3es!onevi"ljiv? &o"rau+jeva, naj3e)će, &rojek!ovanje i .ar"vera i so*!vera = ko"iajn1 To je

    4

  • 8/18/2019 Osnove Računarskih Arhitektura

    15/197

    +no-o !e#e o" ra"a na sa+o je"noj o" ove "vije ko+&onen!e1 U !akvo+ okru#enju, &rocesorse +o#e &os+a!ra!i kao in!eli-en!na >&ro-ra+a$ilna? elek!ronska ko+&onen!a, a ne kako+a)ina a 7+ljevenje8 $rojeva1 (a!o nji.ova &rocesorska sna-a nije u &rvo+ &lanu, već suoso$ine kao )!o je +ala &o!ro)nja ener-ije i lakoća &ro-ra+iranja naro3i!o cijenjene1 O"!akvi. ra3unara se o3ekuje ra" u realno+ vre+enu = o$ra"a &o"a!aka 3i+ se oni &ojave1

    Veliki $roj u-ra:eni. ra3unara &ru#a +o-ućnos! nji.ovo- &rila-o:avanja novi+ &o!re$a+a,$ilo "a se ra"i o "ora"i &rocesora, &eri*erni. ure:aja ili so*!vera koji se na nje+u ivr)ava1Ovo &o"rau+jeva nanje "iajnera u o$las!i i .ar"vera i so*!vera i !o na ni#i+ nivoi+aa&s!rakcije1Na visoko+ nivou a&s!rakcije, &rocesor je is!i a sve !i&ove ra3unara1 U s!varnos!i, &os!ojena3anje ralike +e:u &rocesori+a koji se koris!e u serveri+a, s!oni+ ra3unari+a,la&!o&i+a, +o$ilni+ !ele*oni+a, +a)ina+a a &ranje su:a ili ve)a i u "ru-i+ ure:aji+a1 Iakosvi ra"e na is!o+ &rinci&u, i+aju svoj sku& ins!rukcija i ivr)avaju i. je"nu &o je"nu1 Ono &o3e+u se ralikuju jes!e, $rina ivr)enja ins!rukcija, &o!ro)nja elek!ri3ne ener-ije, cijena, asku& ins!rukcija i+ je ili &rila-o:en o&)!i+ ili s&ecijalni+ &ri+jena+a1

      1.1. Sadržaji poglavlja koja slijede

    Poglavlje 2. govori o istoji računara, tehno"oškim trendovima, kao i istorijskim datumima iakterima doga/aja koji su o$i"jei"i ra!voj računarstva. 7avedeno je i neko"iko načina podje"eračunarskih arhitektura, kao i neki načini mjerenja per#ormansi računarskih sistema.Poglavlje 3.  daje uvod u pro$"eme koji se jav"jaju pri"ikom od"učivanja koje i kakveinstrukije proesor tre$a da i!vršava, koje #ormate podataka i načine adresiranja tre$a da

     podri. 4$jašnjena je i u"oga koju kompaj"eri imaju na savremene arhitekture skupainstrukija.Poglavlje 4. opisuje jednu og"ednu arhitekturu proesora sa protočnom strukturom. eta"jno

     je prika!ana podje"a pos"a u protočnoj strukturi i u$r!anja koja se time postiu, kao i #ormatiinstrukija koje takva organi!aija diktira.Poglavlje 5.  predstav"ja osnovne pro$"eme koji se jav"jaju u protočnim strukturama :ha!adre. ata je podje"a ha!arda, kao i neki načini njihovog rješavanja. 4pisan je mehani!amuprav"janja protočnom strukturom i pro$"emi koje donose prekidi, i!u!ei, kao i višeik"usneoperaije nad $rojevima sa pomičnim !are!om.Poglavlje 6.  je posveeno otkrivanju para"e"i!ama na nivou instrukija i pet"ji u kodu, kao inačina njihovog iskorištavanja, sa i"jem posti!anja viših per#ormansi računarskog sistema.Preika!ana su dva osnovna načina dinamičkog raspore/ivanja instrukija, sa sema#orom i

     pomou ;omasu"ovog a"goritma.Poglavlje 7. opisuje dinamičko predvi/anje grananja, kao pokušaja rješavanja usporenja koje

    grananja i skokovi unose u i!vršenje koda.Poglavlje 8.  je nastavak teme i! prethodnog pog"av"ja i ana"i!ira ograničenja kojasprječava"ju da"je poveanje i iskorištenje postojeih para"e"i!ama. Pose$no su prika!anestatičke (kompaj"erske+ i dinamičke (hardverske+ metode u$r!avanja i!vršenja programa.Poglavlje 9. daje osnovne pojmove i! o$"asti superska"arnih arhitektura i arhitektura sa vr"odugom instrukijskom riječi (+, kao pokušajima da se što više pos"a pokrene i i!vrši usvakom ik"usu sata.Poglavlje 10. je posveeno memorijskoj hijerarhiji. Pose$no su opisani mehani!mi keširanjakako i prinipi virtue"ne memorije. -na"i!irana je i interakija ova dva podsistema.Poglavlje 11. ana"i!ira podsistem u"a!noi!"a!nih ure/aja, njihove per#ormanse i uska gr"a.at je opis prinipa rada magnetnih diskova, neko"iko vrsta sa$irnia i mehani!ama koji

    5

  • 8/18/2019 Osnove Računarskih Arhitektura

    16/197

    o"akšavaju uprav"janje u"a!noi!"a!nim ure/ajima : sistem prekida i direktnog pristupamemoriji.Poglavlje 12.  daje uvod u para"e"ne računarske arhitekture kro! dva osnovna prinipa :sisteme sa dije"jenom i distri$uiranom memorijom. Prika!ani su prinipi pove!ivanja parova

     proesormemorija, kao i ograničenja u per#ormansama takvih sistema.

    B

  • 8/18/2019 Osnove Računarskih Arhitektura

    17/197

    2. %storija računara

    Is!orija ra3unara je va#na "a $i se rau+jela .ronolo-ija ravoja !e.nolo-ija koje su u!icale na

    ravoj ra3unarski. ar.i!ek!ura1 Na osnovu !i. nanja lak)e je rau+je!i sa"a)njos! i $u"ućnos!ra3unarski. ko+&onen!i i sis!e+a1U &ro!ekli. 5 "o -o"ina ra3unari se +o-u &o"ijeli!i na 4 "o 5 -eneracija1 Svaku jeo$ilje#io neki na3ajan !e.nolo)ki na&re"ak1 9ilo "a se ra"ilo o na&re"ku u veli3ini, cijeni,&o!ro)nji ener-ije, e*ikasnos!i ili &ou"anos!i, on je o+o-ućio novi iskorak u is!oriji ra3unara1Na&re"ak u veli3ini je o+o-ućio "a a s+je)!aj ra3unara vi)e nije &o!re$na veća u3ionica,već "a se on +o#e s+jes!i!i na s!o, u krilo ili 3ak na "lan1Na&re"ak u cijeni je u velikoj +jeri &ovećao &ris!u&a3nos! i o+o-ućio "a se o" si!uacije ka"asu ra3unare +o-li &riu)!i!i sa+o vojska i velike "r#avne ins!i!ucije, "o:e "o !o-a "a "anasi+a vi)e ra3unara ne-o lju"i na &lane!i >ra3unajući i u-ra:ene?16o!ro)nja ener-ije u ra3unari+a se "ras!i3no s+anjila, a nekoliko re"ova veli3ine, i !i+e

    &ovećala e*ikasnos!, &er*or+anse i &ou"anos! ra3unarski. sis!e+a1 O" ra3unara i G5;!i.-o"ina, koji su i+ali sre"nje vrije+e i+e:u o!kaa re"a 2;!ak +inu!a, &ou"anos! se !oliko&o&ravila "a "ana)nji >+no-o slo#eniji? ra3unari, naro3i!o serveri, ra"e -o"ina+a $e -re)ke1#rva $eneracia  ra3unara, i G4;i. i G5;i. -o"ina, je $ila $airana na elek!ronski+vakuu+ski+ cijevi+a kao &reki"a3ki+ ele+en!i+a1 Ra3unari su $ili sku&i, -lo+ani,ne&ou"ani i !ro)ili su enor+ne koli3ine elek!ri3ne ener-ije1 Kao ulano;ilane ure:ajekoris!ili su $u)ene kar!ice ili !rake, a +e+orija je realiovana na ro!irajući+ +a-ne!ni+$u$njevi+a1 6ro-ra+irani su u +a)insko+ jeiku &o+oću s&ojni. ka$lova i vi)e&olo#ajni.&reki"a3a1ru$a $eneracia  ra3unara, i G5;i. i GB;i. -o"ina >u &rekla&anje u vre+enu sa&re!.o"no+?, je $ila $airana na !ranis!ori+a kao &reki"a3ki+ ele+en!i+a1 Oni su $ili+no-o +anji, $r#i, je*!iniji, ener-e!ski e*ikasniji i &ou"aniji o" vakuu+ski. cijevi1 6ro-ra+ia nji. su &isani u ase+$lersko+ jeiku, a &ojavile su se i &rve verije jeika visoko- nivoa =WORTRAN i O9OC1%re&a $eneracia  ra3unara, i GB;i. i G;!i. -o"ina, je $ila $airana na in!e-risani+koli+a1 U &o3e!ku !o su $ila kola +alo- s!e&ena in!e-racije >SSI, o" en-1 S+all ScaleIn!e-ra!ion, nekoliko "ese!ina !ranis!ora na siliciju+sko+ su&s!ra!u ; 3i&u?, "ok se kasnije&re)lo na sre"nji >@SI, o" en-1 @e"iu+ Scale In!e-ra!ion, nekoliko s!o!ina !ranis!ora na3i&u? i visoki s!e&en in!e-racije >CSI, o" en-1 Car-e Scale In!e-ra!ion, nekoliko .ilja"a!ranis!ora na 3i&u?1 Sa &ovećanje+ s!e&ena in!e-racije, ra3unari su &os!ajali +anji, $r#i ie*ikasniji1 6ojavo+ !as!a!ura i +oni!ora u+jes!o raniji. $u)eni. kar!ica, !raka ili !ele&rin!era,

    ra3unari su &os!ali &o-o"niji a in!erakciju sa lju"i+a1 9u)enje kar!ica, sla-anje i 3ekanjesa!i+a ili "ani+a na o$ra"u, o!klanjanje -re)aka i na kraju "o$ijanje reul!a!a je sve"eno nanekoliko sekun"i ili +inu!a1 Ta"a su se &ojavili i &rvi o$iljniji o&era!ivni sis!e+i koji suo+o-ućavali ra" vi)e &ro-ra+a i vi)e korisnika is!ovre+eno i &o"i-li e*ikasnos! kori)!enjanarasli. ra3unarski. resursa1'etvrta $eneracia ra3unara, o" G;i. "o "anas, je $airana na +ikro&rocesori+a1 Nju jeo+o-ućila &ojava in!e-risani. kola vrlo visoko- s!e&ena in!e-racije >VCSI, o" en-1 VerXCar-e Scale In!e-ra!ion, o" s!o!inu .ilja"a !ranis!ora na 3i&u, na"alje?1 6o" is!i &oja+s&a"aju i "ana)nji &rocesori sa vi)e o" +ilijar"u !ranis!ora, jer !er+in ul!ra;visoko- s!e&enain!e-racije >UCSI, o" en-1 Ul!ra Car-e Scale In!e-ra!ion? nije a#ivio1 O" &rve &olovineG;i., &os!alo je +o-uće 3i!av &rocesor s+jes!i!i na ja"an 3i&, 3i+e je &os!ao je"na

  • 8/18/2019 Osnove Računarskih Arhitektura

    18/197

    ko+&onen!a ra3unarsko- sis!e+a1 U "ru-oj &olovini G;!i., &a"o+ cijena &rocesora,&ojavili su se kućni ra3unari, u-ra:eni ra3una!i i &o3ela je era li3ni. >&ersonalni.? ra3unara1Ras! &er*or+ansi &rocesora o+o-ućio je &ojavu -ra*i3ko- korisni3ko- okru#enja >UI, o"en-1 ra&.ical User In!er*ace? i +i)a >"o$io i+e &o o$liku i ka$lu koji li3i na re&?1 Na !r#i)!usu se &o3eli &ojavljiva!i i &renosni ure:aji >HH

  • 8/18/2019 Osnove Računarskih Arhitektura

    19/197

    &rocesora1 U"vos!ru3ava se svaki. -o"inu "o -o"inu i &o1Rela!ivan ras! &er*or+ansi ra3unarski. sis!e+a je "a! na slici 2121 i &okauje eks&onencijalanras!, &o-o!ovo o" sre"ine GF;!i. -o"ina, ka"a su ar.i!ek!ure sa re"ucirani+ sku&o+ins!rukcija >RIS, o" en-1 Re"uce" Ins!ruc!ion Se! o+&u!ers? &revla"ale na !r#i)!u1

    #lika )!)! Performanse mikroprocesora od sredine 198!tih rastu znatno"rže nego ranije. #o tada se rast oslanjao na tehnologiju izrade

    integrisanih struktura$ a kasnije se pripisuje naprednim arhitekturama !

    naročito u aritmetici sa pomičnim zarezom.

    Neki klju3ni "o-a:aji u ravoju ra3unarski. sis!e+a &rikaan u !a$eli 2121

    o"ina 6ronalasci i &ronalaa3i O&is

    G'B (, Konra" (use 6rvi &ro-ra+a$ilni ra3unar

    G44 H1 Aiken, Harvar" @ark I Harvar" ar.i!ek!ura

    G4B [email protected], ENIA F Elek!ronski. cijevi

    G4F S.ockleX, !ranis!or Velika &ro+jena u is!oriji ra3unars!va

    G5 [email protected], UNIVA 6rvi ko+ercijalni ra3unar

    G5' I9@ I9@ ulai u is!oriju ra3unars!vaG54 Jo.n 9acus0I9@, WORTRAN 6rvi us&je)an jeik visoko- nivoa

    G5F J1 Kil$X, R1 NoXce, in!e-risano kolo 6ojava 73i&ova8

    GB2 S!eve Russel0@IT, S&aceZar 6rva ra3unarska i-ra

    GB4

  • 8/18/2019 Osnove Računarskih Arhitektura

    20/197

    G Alan S.u-ar!0I9@, *leksi$ilni "isk 6ona!iji kao 7*lo&X8

    G' R1 @e!kal*e0[ero\, E!.erne! +re#a 6o3e!ak u+re#avanja ra3unara

    GB A&&le I, II, o+o"ore 6o3e!ak +asovne &roivo"nje 6;a

    GF s&rea"s.ee!? >is&la!io sea "vije se"+ice?

    GG S1 Ru$ens!ein0R1 9arna$X,Dor"S!ar

    6rocesor !eks!a

    GF I9@ 6 = o$iljan kućni ra3unar 6o3e!ak revolucije &ersonalni. ra3unara

    GF @icroso*!, @S;Dillia+s;ove cijevi kao +e+orije, &ro$le+ &re-rijavanja, a !i+ei &ou"anos!i?, &a su &ravili >lo-i3ki? +ale i rela!ivno je"nos!avne ure:aje1 I&ak je, slo#eni+na3ini+a a"resiranja i +o-ućno)ću .ar"versko- +no#enja >cjelo$rojno-? 7o"sko3io8 o" "o!a"a uo$i3ajeni. "iajna1 Ne)!o kasnije, G51 -o"1, je &o3eo "a se ko+ercijalno &roivo"i+o"el @ERURY sa u-ra:eni+ .ar"vero+ a sa$iranje i +no#enje $rojeva u *or+a!u sa&o+i3ni+ areo+, a.valjujući kori)!enju &olu&rovo"ni3ki. "io"a, +anji. ven!ila0&reki"a3ane-o ko" @ARK;, kao i u&o!re$o+ *eri!ni. je-ri a s+je)!aj &o"a!aka1 Kraje+ G5;!i.-o"ina i &o3e!ko+ B;!i., &ro$le+ -rijanja0&ou"anos!i je u na!noj +jeri o!klonjen &ojavo+!ranis!ora na slo$o"no+ !r#i)!u1 Ta"a su se &ojavili &rvi 7su&erko+&ju!eri8/ ATCAS >sas!rananje+ ; vir!uelno+ +e+orijo+?, STREH, @UCTIS, &a sve "o savi)es!ruki+ *unkcionalni+ je"inica+a? koji su uje"no is!akli &o!re$u a slo#enijo+&ro-ra+sko+ &o"r)ko+ u o$liku o&era!ivni. sis!e+a, &o-o!ovo a vi)ekorisni3ka okru#enja1

      %.1.  Performanse i podjele računarskih arhitektura

    Poveati per#ormanse računarskih arhitektura se moe na tri osnovna načina31. tehno"oškim unapre/enjem,2. e#ikasnijim korištenjem postojeih tehno"ogija i*. unapre/enjem komunikaije i!me/u hardvera i so#tvera.

    Pod tehno"oškim unapre/enjem se podra!umjeva poveanje $r!ine "ogičkih ko"a imemorijskih struktura, kao i poveanje pou!danosti. Upotre$a tran!istora je omogui"a dahardver u -;=-Su $ude $ri od onoga u '?@AU@Bu jer su projektanti mog"i priuštiti

    2

  • 8/18/2019 Osnove Računarskih Arhitektura

    21/197

     para"e"ni sa$irač !a ra!"iku od ranijeg mnogo sporijeg serijskog. 4dgovarajuim napretkom umoguim stepenima integraije postignuto je da se sve vea #unkiona"nost moe integrisatina ma"i prostor, pri čemu pou!danost sistema ostaje manjeviše nepromijenjena.

    ?#ikasno korištenje postojeih tehno"ogija je g"avni !adatak projektanata arhitekataračunarskog sistema, i postie se, u g"avnom, na s"jedee načine3

    1. korištenjem višestruke hijerarhije memorije i2. korištenjem istovremenosti)para"e"i!ma (eng. onurenC+.

    Hijerarhijskom organizacijom  memorije  nastoji se, u! pomo hardverskoso#tverskihmehani!ama dati i"u!iju korisniku (proesoru+ da ima na raspo"aganju ve"iku i $r!u, a u! toi je#tinu memoriju.

    Isovremenos!"aralelizam se jav"ja u ra!"ičitim #ormama i na ra!"ičitim nivoima di!ajnasistema. 7a niskom nivou apstrakije ona se og"eda kro!3

    1. protočne tehnike (eng. pipe"ine+,2. prep"itanje memorije i*. para"e"ne #unkiona"ne jedinie

    što je, sve skupa, nevid"jivo programeru.

     7a visokom nivou apstrakije para"e"i!am o$ično podra!umjeva jedan $roj proesorame/uso$no pove!anih u ni! i"i mreu, tako da dje"uju para"e"no pri rješavanju jednog!adatka.

     7ajpo!natija k"asi#ikaija računarskih arhitektura na osnovu tipa para"e"nosti koju ispo"javaju(s"ika 1.1+, dao je 'ihae" D"Cnn 19E2. god. podje"om na3

    1 #I#$  (eng. Sing"e %nstrution stream Sing"e ata stream+ jednostruki instrukijskitok, jednostruki tok podataka. -rhitektura S%S predstav"ja arhitekturu sekvenija"nihračunara von 7eumannova mode"a računanja. Predstavnik tog tipa arhitekture su

    standardni serijski računari s jednim proesorom (uniproessor+, npr. ?Aov računarPP 11 i"i računar AA *1E0.21 #I%$  (eng. Sing"e %nstrution stream 'u"tip"e ata stream+ jednostruki

    instrukijski tok, višestruki tok podataka. Primjeri takvih računara su %=%-A %

  • 8/18/2019 Osnove Računarskih Arhitektura

    22/197

    #lika )!- /ematski prikaz tipova ar%itekture (prema 0l1nnu!

    Poveanje per#ormansi računarske arhitekture unapre/enjem komunikaije i!me/u hardvera i programske podrške se, u najveoj mjeri, odnosi na pa"jivi i!$or skupa instrukija

    (arhitekture skupa instrukija+. God nekih monih računara, mo se krije u hardveru imoe se u punoj mjeri iskoristiti i"i ručnim kodiranjem (u asem$"eru+ i"i korištenjems"oenih a"goritama u kompaj"erima.

    -rhitekture se mogu k"asi#iirati na osnovu načina i!vršavanja instrukija na3 1 arhitekture sa uprav"jačkim tokom (eng. Aontro" D"oH+ 2 arhitekture uprav"jane tokom podataka (eng. ata D"oH+ i * arhitekture uprav"jane !ahtjevom (eng. emand riven+.

    S"ika 2.I. daje gra#ički prika! neko"iko ra!"ičitih k"asi#ikaija računara.

    22

  • 8/18/2019 Osnove Računarskih Arhitektura

    23/197

      2.1.1. Von Neumann-ov model računara

    odine 19I6., autori -. >. &urks, . . o"dstine i J. von 7eumann, su o$javi"i rad u kojem je deta"jno opisan računar opšte namjene s programom smještenim u memoriju : !ajedno sa podaima (eng. genera" purpose storedprogram omputer+. 4d tada se računarske arhitektureovog tipa na!ivaju

  • 8/18/2019 Osnove Računarskih Arhitektura

    24/197

    S"ika 2.N. prika!uje mode" von 7eumannova računara. 4n se sastoji od četiri #unkiona"ne jedinie3

     1 aritmetičko"ogičke jedinie (-=U+, 2 uprav"jačke jedinie, * memorijske jedinie, i

     I u"a!noi!"a!ne (U)%+ jedinie.

    #lika )!3 Model von 4eumannovog računara!

    -ritmetičko"ogička jedinia se sastoji od sk"opova !a i!vršavanje osnovnih aritmetičkihoperaija, i registara !a privremeno pohranjivanje podataka (operanada+ koji sudje"uju uoperaijama.

    Ka osnovu je u!et $inarni $rojni sistem (!a ra!"iku od do tada popu"arnog dekadnog $rojnogsistema korištenog u računskim mašinama kao što je '-@G%+.

    -ritmetičko"ogički sk"opovi u prvom von 7eumannovom računaru su $i"i sa$irač i ši#ter. Uradu s negativnim $rojevima je korišten 2komp"ement kod.

    4perandi su ima"i duinu I0 $ita, što je omoguava"o prei!nost računanja na dvanaestdeima"a (2I0 , tj. pri$"ino 0,91012+, a kapaitet memorije je $io I096 riječi.

    Uprav"jačka jedinia je dava"a sve potre$ne uprav"jačke signa"e !a vremensko vo/enje iuprav"janje osta"im jediniama računara. Program se i!vršava tako da uprav"jačka jedinia pri$av"ja instrukije u kodiranom o$"iku, dekodira ih i u sk"adu s njihovim !načenjemgeneriše signa"e pomou kojih -=U, memorija i U)% jedinia i!vode potre$ne operaije.

  • 8/18/2019 Osnove Računarskih Arhitektura

    25/197

    #lika )!5! 6rganizacija instrukcijske riječi u von 4eumannovom računaru!

    Prvih 8 $ita instrukije (4pode+ odre/uje operaiju koja e se i!vršiti i dopušta 2N6 ra!"ičitihkodova operaija, a s"jedeih 12 $ita je adresno po"je koje odre/uje adresu operanda iomoguuje direktno adresiranje ije"e memorije (212 I096+.

    %nstrukijski skup je predvi/ao instrukije !a i!vršavanje osnovnih aritmetičko"ogičkihoperaija, instrukije !a prenos podataka i!me/u -=U i memorije, instrukije us"ovnog i

     $e!us"ovnog grananja i instrukije !a rad s U)% ure/ajima. ;a$e"a 2.*. daje preg"ed tipičnihinstrukija.

    %nstrukija Primjer 4peraija=oad =4- Q -A  memRQOStore S;4@? B memRB  -AO=oad negative =7? K -A  memRKO=oad a$so"ute va"ue =-&S > -A  -&S(memR>+O-dd - Q -A  -A T memRQOSu$trat SU& B -A  -A  memRBO

    'u"tip"C 'U= K -A  -A  memRKOivide %< > -A  -A ) memR>O&ranh "e#t &@-= Q PA  Q."e#tinstrutionO&ranh right &@-@ B PA  B.rightinstrutionO&ranh positive "e#t &P4S= Q i# -A0 then PA  Q."e#tinstrutionO&ranh positive right &P4S@ B i# -A0 then PA  B.rightinstrutionOStore address "e#t S;-= Q memRQ."e#taddress  -AOStore address right S;-@ B memRB.rightaddress  -AOShi#t "e#t S= -A  -A  2OShi#t right S@   -A  -A ) 2O

    &a'ela 2.3. Pregle( i"i)nih insr*kcija +on ,e*mann-ovog ra)*nara

    S"ika 2.E prika!uje deta"jniju organi!aiju entra"ne proesne jedinie, koja se u neko"ikodeta"ja ra!"ikuje od origina"ne !amis"i von 7eumannova računara, a"i dje"uje na potpuno

     jednak način.

    25

  • 8/18/2019 Osnove Računarskih Arhitektura

    26/197

    #I/ 2.7. rganizacija cenralne "rocesne je(inice von ,e*mannova ra)*nara.

    %!vršavanje instrukije se odvija u dvije #a!e3 PI+I  (eng. #eth+ i I+I  (eng.eFeute+.

    U #a!i P@%&-

  • 8/18/2019 Osnove Računarskih Arhitektura

    27/197

    #I/ 2.8. $ijagram "relaza sanja za von ,e*mannov ra)*nar.

  • 8/18/2019 Osnove Računarskih Arhitektura

    28/197

    anašnji PA (1GX+ ima $o"je per#ormanse, više memorijskog i diskovnog prostora negomain#ramei i! 1960tih i 19E0ih koji su košta"i više mi"iona USX. Ka tako $r! rast je!as"una3

    1. tehno"ogija i!rade komponenti (sta"no raste+ i2. unapre/enja u di!ajnu)arhitekturi (nesta$i"no raste+.

    4d 19E0tih di!ajneri sve više !avise od tehno"ogije i!rade integrisanih ko"a. o pojavemikroproesora, per#ormanse su ras"e 2N*0Y godišnje, a od kraja ZE0tih rast je *NY. 4dtada gotovo svi di!ajneri pre"a!e na mikroproesore. Još dvije stvari utiču na $r!i ra!vojnovih arhitektura3

    1. gotovo niko više ne programira u asem$"eru, pa nema potre$e !a kompati$i"nošu nanivou soure)o$jektnog koda,

    2. novi operativni sistemi (U7%Q i s".+ smanjuju ri!ik i ijenu uvo/enja noviharhitektura.

    Kato se, početkom 1980tih pojav"juju @%SA arhitekture. 4d po"ovine Z80tih, nakon i!"askana trište, njihove per#ormanse rastu N0Y godišnje (s"ika 1.8+. ;o ima !a pos"jediu da3

    1. korisnii do$ijaju !natna po$o"jšanja per#ormansi,2. dominiraju mikroproesorski $a!irani di!ajni (main#ramee !amjenjuju mu"ti

    mikroproesorski sistemi čak i u području superračunara+.ordon 'oore, jedan od osnivača %nte"a je još 196N. godine tvrdio da e se, u $udunosti,

     $roj integrisanih tran!istora na čipu udvostručavati svake godine (kasnije je to promijenio u18 mjesei+. %"ustraija ovog trenda je data na s"ii 2.9.

    @enesansa računarskih arhitektura je dove"a do toga da je 199N. godine, odnos per#ormansitada v"adajuih mikroproesora i onoga što $i nasta"o isk"jučivo tehno"oškim usavršavanjemk"asičnih arhitektura vei od 13N. Ka nastavak ovakvog trenda je neophodan jasno de#inisan

    2F

    #lika )!7! Mooreov zakon povećanja broja tranzistora u odnosu na godine pojavljivanja pojedini verzija mikroprocesora i memorijski% komponenti!

  • 8/18/2019 Osnove Računarskih Arhitektura

    29/197

    kvantitativni pristup projektovanju novih računarskih arhitektura.

    Dunkiona"ni !ahtjevi Kahtijevane i"i podrane karakteristikePo(r*)je "rimjene Ai"j računara4pšte namjene Uravnoteene per#ormanse !a ra!"ičite !adatke

     7aučno

  • 8/18/2019 Osnove Računarskih Arhitektura

    30/197

    ;rend u tehno"ogiji i!rade komponenti savremenih računarskih arhitektura poka!uje dagustoa pakovanja %Aa raste N0Y godišnje, površina čipova 102NY, što omoguuje da $rojtran!istora raste 6080Y. Pri$"ino tome raste i $r!ina rada tih sk"opova. ustoa pakovanja@-'e raste 60Y godišnje, dok je vrijeme pristupa smanjeno !a 1)* u !adnjih 10 godina.Ka to vrijeme je njihova propusnost !načajno poras"a. Gapaitet diskova raste N0Y godišnje,

    dok se vrijeme pristupa smanjuje $r!inom kao kod @-'e. 4ve tri tehno"ogije, u! sva da"ja po$o"jšanja, daju di!ajnu mikroproesora ivotni vijek od oko N godina. %majui na umu dadi!ajn o$ično traje 2 do * godine, da !a re"ativno kratko vrijeme tre$a proi!vesti i prodatidovo"jno proi!voda da $i se na tome ostvario pro#it, a da na trište tre$a i!$aivati nove

     proi!vode svakih 6 mjesei do godinu dana, poka!uje se da je p"aniranje ovakvih projekatakrajnje de"ikatno.

      1  9   E  8

      1  9  8  N

      1  9   E  9

      1  9  8  6

      1  9  8  0

      1  9  8   E

      1  9  8  1

      1  9  8  8

      1  9  8   2

      1  9  8  9

      1  9  8  *

      1  9  9  0

      1  9  8  I

      1  9  9  1

      1  9  9   2

      1  9  9  *

      1  9  9  I

      1  9  9  N

    0

    10

    20

    *0

    I0

    N0

    60

    E0

    80

    9o"ara po9@-' hipu

    ,odina

    16 G$

    6I G$

    2N6 G$1 '$

    I '$

    16 '$

    Dina"hipost

    #I/ 2.10. :ijene vi>e generacija $%-kom"oneni izra=ene * #?. ;re$a imati u vidu in#"aiju teva"ute u periodu 19EE 1982. 1'& memorije je sa XN000 u 19EE pao na oko X6 u 199N. Svaka generaija nakraju ivotnoh vijeka vrijedi 8 do 10 puta manje nego na početku. @ast ijene opreme !a proi!vodnju čini da

    ijene komponenti ipak "agano rastu. Periodi kri!e na trištu su vid"jivi (npr. 198E88 i 19929*+.

    ;rend ijena ima vanu u"ogu u čitavom opsegu računarskih arhitektura od superračunarado persona"nih računara.

  • 8/18/2019 Osnove Računarskih Arhitektura

    31/197

     prie+. 7a tu ijenu se dodaju trgovačke mare od I0N0Y i tako se do$ije trišna ijena (eng. "ist prie+.

  • 8/18/2019 Osnove Računarskih Arhitektura

    32/197

    2. vijeme od!iva,*. kašnjenje protek"o vrijeme,

    računajui vrijeme pristupa disku, memoriji, U)% aktivnosti, administriranje (operativnisistem+. God mu"tiprogramiranja se stvari još više us"onjavaju APU radi nešto drugo dokse čeka na podatke sa diska, pa se prikriva kašnjenje (eng. e"apsed time+. Kato se uvodi APU

    time što isk"jučuje čekanja na U)% i i!vršavanje drugih programa. APU time se da"je dije"ina korisnički (eng. user APU time+ i sistemski (4SAPU time+ dio. Sistemski dio činivrijeme koje potroši operativni sistem us"uujui !ahtjeve programa.

    U sk"adu s tim je potre$no pa"jivo oda$rati testni program (eng. $enhmark+ i"i ko"ekiju programa ra!"ičitih pro#i"a koji e što o$jektivnije oijeniti)i!mjeriti per#ormanse sistema(ta$e"a 2.N+. Pri tome se mora voditi računa da se isti re!u"tati moraju do$iti u više navrata($e! o$!ira na trenutne oko"nosti+. Per#ormanse persona"nog računara i radne stanie uvišekorisničkom okruenju se mjere ra!"ičitim speija"i!ovanim $enhmark : programima.

    '2

  • 8/18/2019 Osnove Računarskih Arhitektura

    33/197

    &enhmark Je!ik =inija koda 4pisespresso A 1*,N00 'inimi!ira &oo"eove #unkije."i A E,I1* =isp interpreter pisan u Au, rješava pro$"em 9

    kra"jia.e^ntott A *,*E6 Prevodi &oo"eove jednačine u ta$e"e istine.

    ompress A 1,N0* %!vodi kompresiju podataka i! 1'& #aj"a koristei=empe"Kiv kodiranje.

    s A 8,116 %!vodi unakrsno ta$e"arno proračunavanje unutarU7%Q ta$e"a.

    g A 8*,N89 Sastoji se od 7U A kompaj"era koji konvertuje preproesirani #aj" u optimi!irani Sun* asem$"erskikod.

    spie2g6 D4@;@-7 18,IE6 Program !a simu"aiju manjih e"ektronskih sk"opova.dodu D4@;@-7 N,**I 'onte Aar"o simu"aija komponenti nuk"earnog

    reaktora.md"jdp2 D4@;@-7 I,IN8 Program !a ana"i!e u hemiji, rješava jednsčine

    kretanja !a mode" od N00 atoma s"ično mode"iranjustrukture tečnog argona.

    HaveN D4@;@-7 E,628 vodimen!iona"na simu"aija e"etromagnetnihčestia !a studiranje ra!u"ičitih #enomena p"asme.@ješava jednačine kretanja N00 000 čestia u N0 000tačaka u rešetki u N vremenskih koraka.

    tomatv D4@;@-7 19N Program !a generisanje mrea moe se "akovektorisati.

    ora D4@;@-7 N*N -na"i!a pro"a!a !rak5 kro! optičke sisteme s#ernih iravnih površina.

    md"jsp2 D4@;@-7 *,88N %sto kao md"jdp2, a"i jednostruke prei!nosti.a"vinn A 2E2 Simu"ira trening neura"ne mree. Goristi jednostruku

     prei!nost.ear A I,I8* 'ode" srednjeg uha koji #i"trira i detektuje ra!"ičite

    !vuke i generiše govorne signa"e. Goristi jednostruku prei!nost.

    sHm2N6 D4@;@-7 I8E 'ode" p"itke vode koji rješava odgovarajee jednačine metodom konačnih ra!"ika sa 2N62N6mreom. Goristi jednostruku prei!nost.

    su2or D4@;@-7 2,N1I @ačuna mase e"ementarnih čestia i! _uark"uonteorije.

    hCdro2d D4@;@-7 I,I61 Program !a astro#i!iku koji rješava hidrodinamičke 7avier Stoke jednačine !a računanje ga"aktičkihm"a!ova.

    nasaE D4@;@-7 1,20I Sedam programa !a manipu"aiju matriama, DD;,aussovu e"iminaiju, kreiranje vrt"oga.

    #pppp D4@;@-7 2,E18 Program !a ana"i!u u kvantnoj hemiji, računa

    integra"ne derivaije dvaju e"ektrona.&a'ela 2.5. Programi * sklo"* #P:92 'enchmarka. Prvih šest su je"o$rojne operaije i i! njih se računa

    SP?Aint92. 4sta"i su opraije sa pomičnim !are!om (DPoperaije+ i odre/uje SP?A#p92.

      2.2.1. Kvantitativni principi dizajna računara

    Pri"ikom prav"jenja kompromisa u di!ajnu računarske arhitekture, i"j je više o$ratiti panjena ono što se češe dešava (ponav"ja+ nego na rijetke s"učajeve.

    Primjer3 ako se kod sa$iranja rijetko dešava prekoračenje, koji s"učaj optimi!irati pa da

    ''

  • 8/18/2019 Osnove Računarskih Arhitektura

    34/197

    ukupne per#ormanse sistema porastu\

    ;aj pro$"em tretira -mdha"ov !akon koji kae3  Pove'anje performansi kori(tenjem nekogu"rzanja je ograničeno dijelom vremena kada se ono može koristiti.

    Kato se nameu pitanja3

    1. ko"iko je u$r!anje i2. ko"iko vremena se koristi (do"a!i do i!raaja+\

    Parametri per#ormansi su s"jedei31. period signa"a sata (eng. "ok C"e time+ !avisi od hardverske tehno"ogije i

    organi!aije,2. $roj ik"usa sata po instrukiji (AP%+ !avisi od organi!aije i arhitekture

    instrukijskog seta (%S-+,*. $roj i!vršenih instrukija (instrution ount+ !avisi od %S-e i tehno"ogije

    kompaj"era.

    Sve ovo je me/uso$no usko pove!ano, pa se postav"ja pitanje kako mjeriti per#ormanse a pri

    tome ne i!gu$iti i! vida #aktore kao što su re!identni programi (i operativni sistem+, stanje uA-A?evima (i diskova+, oso$ine programa koji se i!vršavaju. =oka"nost re#ereniranja (umemoriji i na disku+ dovodi do toga da se 90Y i!vršenj5 i!vršava 10Y instrukija (s"ika2.1*.+.

    #lika 2.13. $ijagram "okaz*je koji "rocena insr*kcija se izvr>ava * 80@ Aamni (ioB i 90@ Asvjeliji(ioB izvr>enj5 insr*kcija. 7pr. u ompress programu oko 9Y instrukija se i!vršava u 80Y a oko 16Y u 90Y

    i!vršenj5 instrukija. Prosječno 90Y i!vršenjâ do"a!i od 10Y instrukija kod je"o$rojnih i oko 1IY uoperaijama sa pomočnim !are!om.

    Sa svakom novom generaijom računara !astarjevaju metode mjerenja per#ormansi od prethodne. '%PSi (mi"ioni instrukija po sekundi+ i 'D=4PSi (mi"ioni operaija sa pokretnim !are!om po sekundi+ nisu o$jektivni poka!ate"ji, ve više marketinški trikovi proi!vo/ača.

    '4

  • 8/18/2019 Osnove Računarskih Arhitektura

    35/197

    *. -rhitektura skupa instrukija

    Po tome kako se unutar proesora (APUa+ smještaju podai, računarske arhitekture se mogu

    dije"iti na31. stakorijentisane (0adresne+,2. akumu"atorske,*. registarske one sa registrima opšte namjene,I. memorijske.

    God stakorijentisanih, operandi se imp"iitno na"a!e na vrhu staka. God akumu"atorskih, jedan operand je imp"iitno u akumu"atoru. @egistarske arhitekture imaju samo eksp"iitneoperande $i"o direktno i! memorije (reg)mem+ i"i posredno preko privremenih registara("oad)store arhitekture+. 'emorijske arhitekture dre sve operande u memoriji. 4ne su $i"eaktue"ne u prvim generaijama digita"nih računara, a"i se više ne koriste.

    Gao i"ustraija ra!"ika i!me/u prve tri vrste arhitektura moe pos"uiti primjer kako svakai!vršava operaiju A-T&.

    S;-AG -GU'U=-;4@ @?)'?' @?(=4-)S;4@?+PUS - =4- - =4- @1, - =4- @1, -PUS & - & - @1, & =4- @2, &- S;4@? A S;4@? A, @1 - @*, @1, @2P4P A S;4@? A, @*

    ;a$e"a *.1 7ačini na koje tri ra!"ičite arhitekture i!vršavaju operaiju A-T&.

    @egistri opšte namjene su e#ikasni i! dva osnovna ra!"oga31. $ri su od vanjske memorije,2. mogu se e#ikasnije koristiti (kompaj"erski]+ od drugih tipova arhitektura.

    %!ra! (-`&+(A`+(?`D+ se moe odraditi mnoei $i"o kojim redos"ijedom, što moe $itie#ikasnije !$og po"oaja operanada i"i pro$"ema sa protokom kro! protočnu strukturu(pipe"ine+. 7a stakmašinama $i se to mora"o odra/ivati s"ijeva nadesno i"i $i se mora"eraditi !amjene operanada na staku.

    ranjem varija$"i u registrima smanjuje se sao$raaj sa memorijom, u$r!ava i!vršavanje programa, kodiranje instrukija se po$o"jšava (potre$no je manje $ita !a re#ereniranje podataka u registrima nego u memoriji+.

    Gompromisi se prave sa registrima spei#ične namjene. Go"iko registara je potre$no !avisiko"iko ih kompaj"eri koriste. 4ni re!ervišu jedan dio registara !a odra/ivanje aritmetičkihoperaija (eng. eFpression eva"uation+, drugi dio !a prenos parametara a ostatak !a dranjevarija$"i.

    -rhitekture sa registrima opšte namjene se dije"e na dvije g"avne grupe, u !avisnosti od prirode operanada !a tipičnu -=Uoperaiju

     1 -=Uinstrukija ima 2 i"i * operanda (sa 2, jedan i!vor je i odredište+, 2 ko"iko operanada se moe adresirati u memoriji (0* tipično+

    Prednosti i mane !avise od kompaj"era i načina rea"i!aije. 7ajvaniji utiaj oda$rane

    '5

  • 8/18/2019 Osnove Računarskih Arhitektura

    36/197

    kon#iguraije je u kodiranju instrukija i $roju instrukija potre$nih !a i!vršenje nekog!adatka.

      ).1. *ačini adresiranja memorije

    'oe se adresirati $ajt, po"uriječ (16 $ita+, riječ (*2+ i dvostruka riječ (6I+. 4$!irom naredos"ijed smještanja $ajta riječi u memoriji postoji3

    1 ile n(ian  adresa FFFFFF00 poka!uje na najnii $ajt u riječi (adresa podatka jeadresa najmanje !načajnog $ajta+.

    21 ig n(ian  adresa FFFFFF00 poka!uje na naj!načajniji (&ig+ $ajt u riječi (adresa podatka je adresa naj!načajnijeg $ajta+.

    Ova rali3i!os! &re!s!avlja &ro$le+ ko" ra+jene &o"a!aka +e:u +a)ina+a sa rali3i!i+re"oslije"o+ s+je)!aja $aj!a1

    Ka pristup podaima veim od jednog $ajta moe se pojaviti pro$"em poravnanja (eng.a"ignment+. Ka S$ajtni pristup na $ajtnoj adresi - se kae da je poravnat ako je - modS0, i!čega se mogu do$iti podai i! s"jedee ta$e"e.

    S poravnat na $ajtnoj adresi neporavnat na $ajtnoj adresi1 : $ajt 0, 1, 2, *, I, N, 6, E 7%G--2 : po"uriječ 0, 2, I, 6 1, *, N, EI : riječ 0, I 1, 2, *, N, 6, E8 : po"uriječ 0 1, 2, *, I, N, 6, E

    ;a$e"a *.2 Poravnanja ra!"ičitih #ormata podataka u memoriji

    Kašto je neporavnat pristup pro$"em\ Gomp"ikuje hardver jer je memorija o$ično s"oena poriječima i"i dup"im riječima. 7eporavnat pristup se svodi na više poravnatih u! dodatnosortiranje $ajta. God poravnatog pristupa, pristup pojedinim $ajtima)riječima !ahtijevadodatan hardver !a poravnavanje $ajta i po"uriječi u registru. Katim se o$ično koristeinstrukije !a proširenje pred!nakom (2kk+, i"i se !ahtijeva da one ne utiču na osta"e $ite uregistru. God upisa je potre$no mijenjati samo i!a$rani $ajt (što se moe odraditi sa više

     pristupa i dodatnim "ogičkim operaijama+.God arhitektura sa registrima opšte namjene adresiranjem se moe spei#iirati konstanta,registar i"i memorijska "okaija. Pristup memoriji je de#inisan e#ektivnom adresom.

     7ajčeše korišteni načini adresiranja kod pristupa podaima su dati u ta$e"i *.*. -dresiranjakoja !avise od stanja programskog $rojača (PA+ su ispuštena.

     7ačini adresiranja imaju sposo$nost da3 1 !načajno smanje $roj instrukija, 2 poveaju s"oenost mašine i * mogu poveati prosječan $roj ik"usa sata po instrukiji (AP%+.

     7ačin adresiranja Primjer instrukije Knačenje Gada se koristi@egistarsko -dd @I, @* @egsR@I@egsR@I

    T@egsR@*Gada je vrijednost u registru.

     7epostredno -dd @I, * @egsR@I@egsR@IT* Ka konstante.@e"ativno -dd @I, 100(@1+ @egsR@I@egsR@I

    T'emR100T@egsR@1Ka pristup "oka"nimvarija$"ama.

    'B

  • 8/18/2019 Osnove Računarskih Arhitektura

    37/197

    @egistarskoindirektno

    -dd @I, (@1+ @egsR@I@egsR@IT'emR@egsR@1

    Ka pristup poka!ivačima i"ii!računatim adresama.

    %ndeksirano -dd @*, (@1T@2+ @egsR@*@egsR@*T'emR@egsR@1T@egsR@2

    God adresiranja ni!ova3@1početak ni!aO @2indeF.

    irektno i"i

    apso"utno

    -dd @1, (1001+ @egsR@1@egsR@1

    T'emR1001

    God pristupa statičkih

     podatakaO moe $iti potre$nave"ika adresna konstanta .

    'emorijskoindirektno

    -dd @1, b(@*+ @egsR@1@egsR@1T'emR'emR@egsR@*

    -ko je @* adresa poka!ivača p, pristupa se  ̀p.

    -utoinkrement -dd @1, (@2+T @egsR@1@egsR@1T'emR@egsR@2@egsR@2@egsR@2Td 

    Ka pristupanje ni!ovima u pet"ji. @2početak ni!aO svaki pristup inkrementira @2 !ave"ičinu e"ementa, d .

    -utodekrement -dd @1, (@2+ @egsR@2@egsR@2d@egsR@1@egsR@1T'emR@egsR@2

    %sto kao autoinkrement.-utodekrement)inkrement semoe koristiti kao push)pop !area"i!aiju steka.

    Ska"irano -dd @1, 100(@2+ R@* @egsR@1@egsR@1T'emR100T@egsR@2T@egsR@*`d 

    Ka indeksiranje ni!ova. 'oe

    se primijeniti u svimindeksiranim adresiranjimakod nekih mašina.

    &a'ela 3.3 Iz'or na)ina a(resiranja sa "rimjerimaC zna)enjem i kori>enjem. +aria$"a d o!načava ve"ičinu podataka kojim se pristupa (1, 2, I i"i 8 $ajta+.

      ).%. &peracije u skupu instrukcija

    4peraije koje podrava veina savremenih (%nstrution Set -rhiteture %S-+ arhitekturasu date u ta$e"i *.I. 4pšte je pravi"o u svim %S-ma da se najčeše i!vršavaju jednostavneinstrukije.

    ;ip operatora Primjeri-ritmetički i "ogički Aje"o$rojne aritmetičke i "ogičke operaije3 dodaj, c%c, odu!mi, c%=%cPrenos podataka LitanjaPisanja (instrukije pre$aivanja na mašinama sa adresiranjem

    memorije+Uprav"jački rananje, skok, po!iv proedure i povratak, trapSistemski Po!ivi operatvnog sistema, instrukije !a uprav"janje virtue"nom

    memorijomPomični !are! 4peraije sa pomičnim !are!om3 dodaj, pomnoieima"ni eima"no sa$iranje, deima"no mnoenje, pretvaranje deima"nou

    karakterString Premještanje stringova, pore/enje stringova, pretraivanje stringovara#ički 4peraije nad pikse"ima, operaije kompresije)dekompresije

    &a'ela 3.4 /aegorije o"eraora * insr*kcijama i njihovi "rimjeri.

    ;a$e"a *.N poka!uje da je 96Y i!vršenih instrukija u SP?Aint92 na 80F86 navedenih 10instrukija. Prema tome pose$nu panju $i tre$a"o posvetiti imp"ementaiji takvih instrukija(i tim redom -mdha"ov !akon+.

    @ang 80F86 instrukija Aje"o$rojno prosjek1 čitanje i! memorije 22Y2 us"ovno grananje 20Y* pore/enje 16YI upis u memoriju 12Y

    '

  • 8/18/2019 Osnove Računarskih Arhitektura

    38/197

    N sa$iranje 8Y6 "ogičko c%c 6YE odu!imanje NY8 premještanjeregistaruregister IY9 po!iv podprograma 1Y10 povratak i! podprograma 1Y

    Ukupno 96Y&a'ela 3.5 $ese naj)e>De izvr>avanih insr*kcija i80E86 * #P:in92 "rogramima.

      3.2.1. Upravljačke instrukcije

    Uprav"jačke instrukije se o$ično dije"e na skokove ($e!us"ovne+ i grananja (us"ovna+. 4$amogu $iti apso"utna i re"ativna (re"okati$i"nost]+. eta"jnija je podje"a na3

    1. us"ovno grananje,

    2. skokove,*. po!iv proedura,I. povratak i! proedura.

    4dredišna adresa uvjek mora $iti de#inisana. %!u!etak je povratak i! proedura, kada seadresa ne !na u trenutku kompaj"iranja. 7ajčeše se ove adrese odre/uju re"ativno u odnosuna PA (prog. $rojač+. ;ako se štede $iti adrese jer se često radi o $"iskimskokovima)grananjima. 7a taj način i program postaje re"okati$i"an ne!avisan od po"oaja umemorijskom prostoru.

    Ka rea"i!aiju povratka i! proedure i indirektnih skokova (kod kojih odredišna adresa nije po!nata u vrijeme kompaj"iranja+ koristi se dinamičko odre/ivanje adrese promjenjivo u

    trenutku i!vršavanja. ;o moe $iti registarsko indirektno adresiranje.;akvi skokovi se mogu koristiti !a3

     1 A-S? i"i S>%;A i!ra!e u je!iima visokog nivoa, 2 dinamički dije"jenim $i$"iotekama (koje se učitavaju samo po potre$i+, * virtue"ne #unkije (kod o$jektno orjentisanih je!ika npr. ATT, omoguava po!ive

    ra!"ičitih rutina u !avisnosti od tipa podataka koji se koriste+.

    rananja koriste PAre"ativno adresiranje. 4snovno je pitanje ko"iko $ita je neophodnoi!dvojiti !a disp"aement (ko"iko su da"eke odredišne adrese+. S"ika *.1. daje jednu statističkuraspodje"u $roja tih $ita.

  • 8/18/2019 Osnove Računarskih Arhitektura

    39/197

    #lika 3.1. (aljenos grananja * 'roj* insr*kcija izmeF* insr*kcije grananja i o(re(i>ne insr*kcije.4dredišta su kod je"o$rojnih operaija najčeše četiri do sedam instrukija da"eko (2 do * $ita+ od grananja.

    Jedna od vanijih oso$ina grananja je da je ve"iki $roj pore/enja jednostavan test jednakosti)nejednakosti i ve"iki $roj pore/enja sa 0 (više od N0Y je"o$rojnih pore/enja kodgrananja je test jednakosti sa 0+.

    Po!ivi proedura i povrati sadre prenos kontro"e (skok)grananje+ i smještaj stanja(konteksta ako ništa drugo onda povratnu adresu+. 7eke arhitekture o$e!$je/uju mehani!me!a sačuvavanje sadraja registara, dok druge to očekuju od kompaj"era. @egistre moesačuvati po!ivajua i"i po!vana proedura !avisno od pristupa g"o$a"nim varija$"ama i

     po!iva proedura (me/uso$nih, višestrukih, ugnjedavanja+. S"oeni kompaj"eri koristekom$inaiju ove dvije metode.

      3.2.2. Tipovi i veličine operanada

     7ajčeše se tip operanda odre/uje kodiranjem u kod operaije (eng. 4PA4?+. -"ternativno,o!nake se stav"jaju u! operande i interpretiraju se hardverski i u sk"adu s tim se i!a$irajuoperaije. ;akve se arhitekture !ovu ;aggeddatamahines i danas se više ne koriste.

    ;ip operanda, u g"avnom, odre/uje i njegovu ve"ičinu31 logi)ki  1 $it,21 karaker (1 $ajt+ su najčeše u -SA%%u, ponekad &A (!apakovani i"i raspakovani+,'1 "ol*rije) (2 $ajta+, U7%A4? c16 $itni -SA%%c i41 rije) (I $ajta+ se kao je"o$rojne vrijednosti kodiraju u 2GG,51 rije) kao 'roj sa "omi)nim zarezom  jednostruke prei!nosti iB1 (*"la rije) A8 'ajaB kao 'roj sa "omi)nim zarezom  dvostruke prei!nosti (prema

    %??? ENI standardu+.

    istri$uija ve"ičine podataka kojima se pristupa u memoriji (s"ika *.2.+ pomae uod"učivanju koje tipove podataka naje#ikasnije podravati.

    'G

  • 8/18/2019 Osnove Računarskih Arhitektura

    40/197

    #lika 3.2. as"o(jela *)esanosi "ris*"a "o(acima "o veli)ini "o(aaka 'enchmark "rogramima.

      3.2.3. Kodiranje instrukcija

    Sve što je ranije navedeno utiče na način kodiranja instrukija. 4d kodiranja da"je !avisi31. ve"ičina programa i2. i!ved$a APUa.

    ;u se jav"jaju dva osnovna pro$"ema31. kako kodirati kod operaije i2. kako kodirati načine adresiranja.

    -ko se od"uči ugra/ivati ve"ik $roj kom$inaija $roja potre$nih operanada i načinaadresiranja, potre$no je uvesti pose$no po"je adresnog spei#ikatora !a svaki operand. Svako

     po"je odre/uje način pristupa operandu. S druge strane, kod "oad)store arhitektura, sa jednim

    memorijskim operandom i 12 načina adresiranja, način adresiranja se moe ukodiratidirektno u kod operaije.

     7ajčeše se potroši više $ita !a kodiranje načina adresiranja i po"ja !a adresiranje registaranego !a kod operaije.

    Kato tre$a uravnoteiti s"jedee protivrječnosti31. e"ja !a što više registara i načina adresiranja,2. utiaj ve"ičine po"ja !a de#inisanje registara i načina adresiranja na prosječnu ve"ičinu

    instrukije programa,*. e"ja da instrukije $udu one ve"ičine koja je pogodna !a o$radu i imp"ementaiju. a

    "i e instrukije $iti duine 1, 2, * i"i više $ajta i $iti kompaktne a"i teške !a

    i!vršavanje i"i e $iti #iksne duine i "ake !a imp"ementaiju a"i često g"oma!ne.U sk"adu s tim postoje tri načina kodiranja3

    1 varija'ilni  koji omoguava sve kom$inaije operaija i načina adresiranja (npr.

  • 8/18/2019 Osnove Računarskih Arhitektura

    41/197

    &iranjem i!me/u ovih načina kodiranja, $ira se i!me/u kompaktnog kVda (varija$i"nokodiranje+ i per#ormansi (#iksno kodiranje+.

      ).). +loga kompajlera

    God savremenih arhitektura skupa instrukija, projektovanje hardvera i kompaj"era su vr"ousko pove!ani (s"ika *.*.+. Ai"jevi pisa kompaj"era su3

    1. korektnost svi ispravni programi se moraju korektno kompaj"irati,2. $r!ina generisanog koda,

    a kao manje vani s"ijede31. $r!ina kompaj"iranja,2. podrška de$uggeru,*. ve!a sa drugim je!iima visokog nivoa, itd.

    #lika 3.3. $ana>nji kom"ajleri ra(e o'i)no * (va (o )erii "rolaza.

    Svaka #a!a)pro"a! kompaj"iranja pretvara kVd i! višeg u nii nivo apstrakije sve do skupainstrukija u mašinskom kodu. Gomp"eksnost kompaj"era i njegova 2, * i"i više pro"a!aograničavaju nivo optimi!aije. 4na se vrši po nivoima i nema povratnih sprega me/u njima

    (pro$"em phase orderinga+.4ptimi!aije se dije"e na3

    1 o"imizacije visokog nivoa  one kod kojih je u"a! i!vorni kVd a i!"a! s"jedea #a!aoptimi!aije,

    21 lokalna o"imizacija  nad osnovnim $"okovima, i!ravnim skupovima "inija $e!grananja,

    '1 glo'alna o"imizacija  proširuje "oka"nu kro! optimi!aiju grananja i pet"ji,41 alociranje regisara,51 o"imizacija zavisna o( konkrene ma>ine (arhitekture skupa instrukija+ deta"jno

    iskorištava po!navanje arhitekture.

    4

  • 8/18/2019 Osnove Računarskih Arhitektura

    42/197

    -"okaija registara je jedna od najvanijih optimi!aija u kompaj"erima. 4sta"i tipovioptimi!aija su dati u ta$e"i *.6. (7' nije mjer"jivo+

    4ptimi!aija 4$jašnjenje Proenat od ukupnog $rojaoptimi!aionih trans#ormaija

    +isokog nivoa ,a nivo* ili 'liz* izvornog ko(aGne zavisi o( ma>ine

    %ntegraija proedura Kamjenjuje po!ive proedure tije"om proedure

     7.'.

    okalna n*ar osnovnih 'lokova ko(a?"iminaija dup"iiranja Kamjenjuje dvije instane istog računanja

     jednom kopijom18Y

    Pros"je/ivanje konstanti Kamjenjuje sve instane dodje"jenevarija$"e tom konstantom

    22Y

    @eduiranje visine steka @earanira i!ra!e)iska!e da $i seminimi!ira"i resursi potre$ni !a njihovuo$radu

     7.'.

    lo'alna Izvan osnovnih 'lokova - "reko

    grananja"o$a"na e"iminaijadup"iiranja

    %sto kao kod "oka"ne, a"i sada i prekogrananja

    1*Y

    Pros"je/ivanje kopija Kamjenjuje sve instane varia$"e - kojoj jedodje"jena vrijednostQ (tj., -Q+ sa Q

    11Y

    Premještanje koda Uk"anja kod i! pet"je koja računa istuvrijednost u svakoj iteraiji

    16Y

    ?"iminaija indukijevaria$"i

    Pojednostav"juje)e"iminiše računanjeadresani!a unutar pet"ji

    2Y

    avisna o( ma>ine avisi o( "oznavanja ma>ine@edukija s"oenosti Primjer, !amjenjuje mnoenje konstantom

    sa$iranjima i ši#tanjima 7.'.

    @aspore/ivanje u PSi 'ijenjanje redos"ijeda instrukija radi

     poveanja per#ormansi PSe

     7.'.

    4ptimi!aija da"jinegrananja

    &iranje najkraeg grananja koje dostieodredište

     7.'.

    &a'ela 3.6. lavni i"ovi o"imizacija sa "rimjerima.

      3.3.1. Uticaj kompajlera na aritekturu

    Gompaj"eri odre/uju kako e program, pisan u je!iku visokog nivoa, koristiti arhitekturuskupa instrukija3

    1. kako se a"oiraju i adresiraju varija$"e\2. ko"iko je registara potre$no !a a"oiranje varija$"i\

    Postoje * područja u kojima je!ii visokog nivoa dre varija$"e31 #&:/   !a "oka"ne varija$"e, ug"avnom ska"arne (pojedinačne+ a ne ni!ove,21 "o(r*)je glo'alnih "o(aaka  statički dek"arisani o$jekti)g"o$a"ne varija$"e i

    konstante (najčeše ni!ovi i"i skupovi podataka strukture+,'1 HP  !a dinamičke o$jekte neve!ane !a stak disip"ine (pristupa im se

     poka!ivačima i o$ično su ska"ari.

    Ka šta se mogu a"oirati registri\

    42

  • 8/18/2019 Osnove Računarskih Arhitektura

    43/197

    1. !a S;-AG 2. !a g"o$a"ne podatke : teško]*. !a ?-P nemogue (jer im se pristupa poka!ivačima+

    Gako arhitekta moe pomoi pisu kompaj"era\

  • 8/18/2019 Osnove Računarskih Arhitektura

    44/197

    I. -rhitektura og"ednog proesora

    4snovne karakteristike arhitekture og"ednog proesora su de#inisane $rojem i namjenomregistara, tipovima podataka koji e se o$ra/ivati i podranim načinima adresiranja. Sve troje

     $itno utiče na njegovu s"oenost i per#ormanse. 7eka je skup registara de#inisan kao1. *2 *2$itna registra opšte namjene @0 @*1 i2. *2 *2$itna registra !a operaije sa pomičnim !are!om (DP od eng. D"oating Point+

     jednostruke prei!nosti i"i 16 6I$intna DP registra dvostruke prei!nosti D0, D2, ...,D*0.

    Pri tome @00 oičena vrijednost.

    ;ipovi podataka koje proesor podrava su1. 1, 2 i I $ajta !a je"o$rojne vrijednosti, (!$og postojee popu"arnosti u je!iima

    visokog nivoa, kao što je A+,

    2. I i"i 8 $ajta !a DP jednostruke)dvostruke prei!nosti, operaije rade nad *2$itnimje"o$rojnim, *2$itnim i 6I$itnim DPvrijednostima, $ajti i po"uriječi se upisuju uregistre !nakom prošire (2komp"ement kod+ i koriste kao *2$itne vrijednosti.

    4da$rani načini adresiranja su31. neposredno (!a konstante, npr. -dd @I, *+ i21 re"ativno (!a "oka"ne varija$"e, npr. -dd @I, 100(@1++.

    4$a sa 16$itnim po"jima, a od njih se i!vode registarsko indirektno (kada je disp"aement jednak 0+ i apso"utno (kada je @0 u!et !a $a!ni registar+. Prema tome, postoje I načinaadresiranja iako su samo 2 podrana arhitekturom.

    'emorija je $ajtadresa$i"na i organi!ovana po &ig ?ndian prinipu sa *2$itnom adresom.

    Svi pristupi memoriji su tipa čitaj)piši (eng. =oad)Store+ u i i! je"o$rojnih registara opšetenamjene i"i DP i moraju $iti poravnati.

      ,.1. -ormat instrukcija

    Ka programski mode" og"ednog proesora oda$rana su dva načina adresiranja, pa je toe#ikasno ukodirati !ajedno sa kodom operaije. K$og "akoe rea"i!aije protočne strukture idekodiranja sve instrukije su *2$itne sa 6 $ita osnovnog koda operaije (s"ika I.1.+ i 16

     $itnim po"jem !a re"ativno adresiranje, neposredne konstante i PAre"ativno grananje.

    % tip instrukije

    6 N N 164pkod rs1 rd 7eposredna vrijednost

    Godira3 'emorijski pristup $ajtima, riječima, po"uriječimaSve neposredne vrijednosti (rd  rs1 op neposredna vrijednost+Us"ovna grananja (rs1 je registar, rd se ne koristi+Skok na registar, skok i "ink na registar (rd0, rsodredište, neposredna vrijednost0+

    @ tip instrukije

    6 N N N 114pkod rs1 rs2 rd #unkija

    44

  • 8/18/2019 Osnove Računarskih Arhitektura

    45/197

    @egistarregistar -=U operaija3 rd  rs1 #unk rs2Dunkija kodira operaiju na putu podataka3 odaj, 4du!mi, ...Litanje)pisanje speia"nih registara i premještanja

    J tip instrukije

    6 264pkod 4#set dodat PAu

    Skok i skok sa "inkom;rap i povratak i! i!u!etka

    #lika 4.1. as"ore( "olja za ri vrse insr*kcija. Sve instrukije su kodirane kao jedan od ova tri tipa.

    4peraije31. =oad)Store (pri čemu upis u @0 nema smis"a+2. -=Uoperaije*. grananje i skokoviI. DP operaije

    =oad)Store se odnosi na sve je"o$rojne registre opšte namjene (osim upisa u @0+ i sveregistre !a rad sa pokretnim !are!om, $i"o jednostruke i"i dvostruke prei!nosti. Gonver!ija

     jednostruka dvostruka prei!nost se mora odra/ivati eksp"iitno (po %??? ENI standardu+.Primjeri su dati u ta$e"i I.1., a !načenja nekih o!naka su3

    -   n  !nači trans#er n$itne vrijednosti,- @egsR@I0  pretstav"ja pred!nak u registru @I a @egsR@* 2I..*1  donji $ajtovi

    u @* (naj!načajniji $it je na po!iiji 0+,- 02I  pretstav"ja po"je nu"a duine 2I $ita,- !nači pove!ivanje dva po"ja (eng. onatenate+.

    ;ako, na primjer3@egsR@1016[*2  ('emR@egsR@80+8  'emR@egsR@8

    !nači $ajt na memorijskoj "okaiji odre/enoj sadrajem @8 je proširena pred!nakom do 16 $ita i smješten u donjih 16 $ita @10 (gornjih 16 ostaju netaknuti+.

    Primjer instrukije %me %nstrukije Knačenje=> @1, *0(@2+ =oad Hord @egsR@1*2 'emR*0T@egsR@2=> @1, 1000(@0+ =oad Hord @egsR@1*2 'emR1000T0=& @1, I0(@*+ =oad $Cte @egsR@1*2 ('emRI0T@egsR@*0+2I

    'emRI0T@egsR@*=&U @1, I0(@*+ =oad $Cte unsigned @egsR@1*2 02I'emRI0T@egsR@*= @1, I0(@*+ =oad ha"# Hord @egsR@1*2 ('emRI0T@egsR@*0+16

    'emRI0T@egsR@*'emRI1T@egsR@*=D D0, N0(@*+ =oad #"oat @egsRD0*2 'emRN0T@egsR@*= D0, N0(@*+ =oad dou$"e @egsRD0@egsRD16I 'emRN0T@egsR@*S> N00(@I+, @* Store Hord 'emRN00T@egsR@I*2 @egsR@*SD I0(@*+, D0 Store #"oat 'emRI0T@egsR@**2 @egsRD0S I0(@*+, D0 Store dou$"e 'emRI0T@egsR@**2 @egsRD0O

    'emRIIT@egsR@**2 @egsRD1S N02(@2+, @* Store ha"#   'emRN02T@egsR@216 @egsR@*16..*1S& I1(@*+, @2 Store $Cte 'emRI1T@egsR@*8 @egsR@22I..*1

    &a'ela 4.1. Insr*kcije )ianja i "isanja * memorij*. Sve koriste jedan način adresiranja re"ativno i očekujuda je vrijednost u memoriji poravnata. 4$je vrste instrukija podravaju sve tipove podataka.

    45

  • 8/18/2019 Osnove Računarskih Arhitektura

    46/197

    (2+ -=Uoperaije su registarskoregistarske i podra!umjevaju T, , -7, 4@, Q4@,S%D;. Punjenje konstante (neposredni =%+ je sa$iranje sa R@0 kao i trans#er me/uregistrima (ta$e"a I.2.+.

    Primjer instrukije %me instrukije Knačenje

    - @1, @2, @* -dd @egsR@1@egsR@2T@egsR@*-% @1, @2, * -dd immediate @egsR@1@egsR@2T*=% @1, I2 =oad high immediate @egsR@1I2016

    S==% @1, @2, N Shi#t "e#t "ogia" immediate @egsR@1@egsR@2NS=; @1, @2, @* Set "ess than i# (@egsR@2@egsR@*+ @egsR@11

    e"se @egsR@10

    &a'ela 4.2. Primjeri arimei)kih i logi)kih insr*kcija sa i 'ez ne"osre(nih vrije(nosi.

    (*+ instrukije !a pore/enje registara (, , , , , +. -ko je us"ov ispunjen, instrukijaupisuje 1 u odredišni registar, inače upisuje 0.

    Postoje dva načina skakanja3

    1. k"asični sa upisom nove "okaije u PA i2. skok sa "inkovanjem (ostav"ja povratnu adresu u @*1+ !a po!ive proedura.

    rananja su us"ovna. Us"ov je dat u instrukiji i moe se testirati i!vorišni registar na jednakost i"i nejednakost sa nu"om, pri čemu registar moe sadrati vrijednost i"i re!u"tat pore/enja. 4dredišna adresa grananja se odre/uje dodavanjem 16$itnog o#seta na PA (koji poka!uje na s"jedeu instrukiju+. ;a$e"a I.*. daje prika! tipičih instrukija skokova igrananja (uk"jučujui i test DPstatus registra tipa tačno)netačno+.

    Primjer instrukije ime instrukije KnačenjeJ name Jump PAnameO

    ((PATI+22N+name((PATI+T22N+J-= name Jump and "ink   @egsR@*1PATIO PAnameO

    ((PATI+22N+name((PATI+T22N+J-=@ @2 Jump and "ink register   @egsR@*1PATIO PA@egsR@2J@ @* Jump register   PA@egsR@*&?_K @I, name &ranh e^ua" !ero i# (@egsR@I0+ PAnameO

    ((PATI+21N+name((PATI+T21N+&7?K @I, name &ranh not e^ua" !ero i# (@egsR@I]0+ PAnameO

    ((PATI+21N+name((PATI+T21N+

    &a'ela 4.3. &i"i)ne insr*kcije za *"ravljanje okom "rograma. Sve osim skoka na adresu i! registra su PAre"ativne.

    (I+ DPinstrukije manipu"išu DPregistrima u! indikaiju Djednostruku i dvostruku prei!nost. Postoje i instrukije !a prenošenje u)i! DP i je"o$rojnih registara i to jednostruke prei!nosti u jednoj a dvostruke u dvije instrukije. odate su instrukije !a je"o$rojnomnoenje i dije"jenje nad *2$itnim DPregistrima kao i konver!ija je"o$rojnih u DP io$ratno. DPoperaije su T, , ` i ) !a i D su#ikse. DPpore/enje setuje $it u pose$nom DPstatus registru koji testiraju PDP; i PDPD (true)#a"se+ instrukije.

     7eo$ična oso$ina og"edne arhitekture je to da koristi DPU !a je"o$rojno mnoenje idije"jenje jer je DPU svakako s"oenija od one !a je"o$rojne operaije. Kato operande tre$adrati u DPregistrima. ;a$e"a I.I. daje opis svih instrukija og"edne arhitekture.

    4B

  • 8/18/2019 Osnove Računarskih Arhitektura

    47/197

    ;ip)opkod instrukije Knačenje instrukije

    Prenos "o(aaka Premješta podatke i!me/u registara i memorije, i"i i!me/u je"o$rojnih i DPi"i speia"nih registaraO jedini način pristupa memoriji je 16$itnidisp"aementTsadraj je"o$rojnog registra opšte namjene (P@, od eng.enera" Purpose @egister+.

    =&, =&U, S& =oad $Cte, "oad $Cte unsigned, store $Cte

    =, =U, S =oad ha"# Hord, "oad ha"# Hord unsigned, store ha"# Hord=>, S> =oad Hord, store Hord (u)i! je"o$rojnih registara+=D, =, SD, S =oad SP #"oat, "oad P #"oat, store SP #"oat, store P #"oat'4

  • 8/18/2019 Osnove Računarskih Arhitektura

    48/197

  • 8/18/2019 Osnove Računarskih Arhitektura

    49/197

    %nstrukija dodue ar hCdro2d md"jdp2 su2or DP prosjek  "oad 1.1Y 0.2Y 0.1Y 1.1Y *.6Y 1Ystore 1.*Y 0.1Y 0.1Y 1.*Y 1Yadd 1*.6Y 1*.6Y 10.9Y I.EY 9.EY 11Ysu$ 0.*Y 0.2Y 0.EY 0Y

    mu" 0Ydiv 0Yompare *.2Y *.1Y 1.2Y 0.*Y 1.*Y 2Y"oad imm 2.2Y 0.2Y 2.2Y 0.9Y 1Yond $ranh 8.0Y 10.1Y 11.EY 9.*Y 2.6Y 8Y

     jump 0.9Y 0.IY 0.IY 0.1Y 0Ya"" 0.NY 1.9Y 0.*Y 1Yreturn, jmp ind 0.6Y 1.9Y 0.*Y 1Yshi#t 2.0Y 0.2Y 2.IY 1.*Y 2.*Y 2Yand 0.IY 0.1Y 0.*Y 0Yor 0.2Y 0.1Y 0.1Y 0.1Y 0Yother (For, not+ 0Y"oad DP 2*.*Y 19.8Y 2I.1Y 2N.9Y 21.6Y 2*Y

    store DP N.EY 11.IY 9.9Y 10.0Y 9.8Y 9Yadd DP 8.8Y E.*Y *.6Y 8.NY 12.IY 8Ysu$ DP *.8Y *.2Y E.9Y 10.IY N.9Y 6Ymu" DP 12.0Y 9.6Y 9.IY 1*.9Y 21.6Y 1*Ydiv DP 2.*Y 1.6Y 0.9Y 0.EY 1Yompare DP I.2Y 6.IY 10.IY 9.*Y 0.8Y 6Ymove regreg DP 2.1Y 1.8Y N.2Y 0.9Y 1.9Y 2Yother DP 2.IY 8.IY 0.2Y 0.2Y 1.2Y 2Y

    &a'ela 4.6. as"o(jela insr*kcija "ri izvr>avanj* "e #P:

  • 8/18/2019 Osnove Računarskih Arhitektura

    50/197

    #lika 4.2. (nos 'roja izvr>enih insr*kcija i "era, pokušana je !amjena S>a >om kro! skup instrukija visokog semantičkog nivoa. i!ajn %S- je $iou entru panje arhitekata.

    1980tih moderni kompaj"eri i !ahtjevi !a visokim per#ormansama dove"i su do povratka na jednostavnije %S-e na $a!i "oad)store tipa arhitektura.

    anas je jasno da preov"adavaju *2 i 6I$itni adresni %Si. Projektovanje %S- od početka sevr"o rijetko radi a emu"aija ogromne $a!e programa !a 80F86 i $inarna kompati$i"nost sumnogo aktue"nija pitanja.

    5

  • 8/18/2019 Osnove Računarskih Arhitektura

    51/197

      ,.). Protočne strukture

    Protočna struktura (PS i eng. pipe"ine+ je metoda rea"i!aije APUa kod koje se i!vršavanjeviše instrukija me/uso$no vremenski prek"apa. Pogodno je pore/enje sa proi!vodnom

    "inijom kod serijske proi!vodnje u automo$i"skoj industriji, gdje postoji mnogo(me/u+koraka od kojih se svaki o$av"ja para"e"no sa svim osta"im. Svaki korak se !ove stanjei"i segment protočne strukture. Propusnost PSe je odre/ena $rojem instrukija)automo$i"akoji i! nje i!"a!e u jedinii vremena.

  • 8/18/2019 Osnove Računarskih Arhitektura

    52/197

    -=Uoutput  - op %mm

    *.I. rananje-=Uoutput  7PA T %mmAond  (- op 4+

    -=U računa adresu grananja, op je re"aioni operator (, + nad - pročitanim u prethodnom ik"usu. Pošto se radi o =oad)Store arhitekturi, računanje e#ektivne adrese ii!vršavanje instrukije se moe (kom$inovano+ smjestiti u jedan ik"us, jer nema potre$e !as"oenim operaijama.

    I. '?' Pristup memoriji)!avršetak grananja

    U ovom ik"usu su aktivne samo =oad, Store i instrukije grananja.

    I.1 Pristup memoriji='  'emR-=Uoutput O =oad ata #rom 'emorC

    O privremeni registar 'emR-=Uoutput  & O Store

    I.2. rananjei# (ond+

    then PA  -=Uoutpute"se PA  7PA

    N. >& >rite &ak C"e

    N.1. @egistarskoregistarska -=U instrukija

    @egsR%@ 16...20  -=Uoutput

    N.2. @egistarskoneposredna -=U instrukija

    @egsR%@ 11...1N  -=Uoutput

    N.*. =oad instrukija

    @egsR%@ 11...1N  ='

    4ve instrukije pišu re!u"tat u registre $i"o i! ='a i"i -=Uoutputa. 4dredišni registar jedat u jednom od dva po"ja i !avisi od 4PA4?a (s"ika I.*.+.

    52

  • 8/18/2019 Osnove Računarskih Arhitektura

    53/197

    #lika 4.3. ealizacija "*a "o(aaka omog*Dava (a se svaka insr*kcija izvr>i za )eiri ili "e cikl*sa. %ako je PA u dije"u !a pri$av"janje, a registri u dije"u !a dekodiranje instrukija i pri$av"janje operanada i! registara,

    i! o$je ove #unkiona"ne jedinie instrukija moe čitati i u njih pisati.

     7a kraju svakog ik"usa njegovi re!u"tati se upisuju u memoriju i"i registre opšte namjene,PA i"i privremene registre (=', %mm, -, &, 7PA, -=Uoutput i"i Aond+.

    %nstrukije grananja traju I, a sve osta"e N ik"usa. 4vo nije optimi!irano jer $i se AP% mogaosmanjiti !avršavanjem -=U instrukija u '?' ik"usu, pošto su inače u njemu neaktivne.

    Uprav"jačka jedinia !a ovakav put podataka $i $i"a re"ativno jednostavna sekvenija"nastruktura, a !a s"oenije strukture $i se mogao koristiti mikrokod (mikroprogramiranje+.

    U ovoj neprotočnoj)višeik"usnoj i!ved$i dvije -=U $i mog"e $iti !amijenjene jednom (sadodatnim 'UQerima+ jer nisu o$je !au!ete u istom ik"usu, a"i $i to otea"o uvo/enje PSe.

      ,./. &snovna protočna struktura za arhitekturu oglednog procesora

    otovo $e! ikakvih promjena og"edna arhitektura $i mogao počinjati i!vršavanje instrukijesvakog ik"usa sata. ;ako svaki ik"us prerasta u segment PSe (ta$e"a I.E.+.

    &roj instrukije&roj ik"usa sata

    1 2 * I N 6 E 8 9%nstrukija i %D % ?Q '?' >&%nstrukija iT1 %D % ?Q '?' >&%nstrukija iT2 %D % ?Q '?' >&%nstrukija iT* %D % ?Q '?' >&%nstrukija iTI %D % ?Q '?' >&

    &a'ela 4.7. e(nosavna "roo)na sr*k*ra. Svakog ik"usa sata jedna instrukija se do$av"ja i počinje Nik"usno i!vršenje. U tom s"učaju per#ormanse $i $i"e pet puta više od istog puta podataka $e! protočne

    5'

  • 8/18/2019 Osnove Računarskih Arhitektura

    54/197

    strukture. %mena segmenata su ista kao na s"ii *.1. %Dpri$av"janje instrukije, %dekodiranje instrukije,?Qi!vršenje, '?'prostup memoriji i >&upis na!ad (u registre+.

    Put podataka pretstav"jen u duhu PSe je dat na s"ii I.I. ;re$a pa!iti da se jedan resurs nee"i koristiti !a dvije ra!"ičite operaije u istom ik"usu sata. U s"učaju og"edne arhitekture to

     je re"ativno "ako, a"i inače !ahtjeva deta"jnu ana"i!u.

    #lika 4.4. Proo)na sr*k*ra se mo=e "osmarai kao niz "*eva "o(aaka koji "rikaz*j* sanja izvr>enjainsr*kcija * s*sje(nim cikl*sima saa. Prika!ano je prek"apanje me/u dije"ovima puta podataka, naročito u

    ik"usu N (AAN+. Gako se registri koriste kao i!vorište u %#a!i i odredište u >&#a!i, koriste se dva puta uistom ik"usu. Litanje je o!načeno punom "inijom na "ijevoj a pisanje na desnoj strani. %'memorija instrukija,

    'memorija podataka, AAik"us sata.

    4g"edna arhitektura koristi odvojene memorije !a instrukije i podatke (u rea"nim proesorima to su odvojeni A-A?evi+, što $i, da nije tako, dove"o do kon#"ikata prido$av"janju instrukija i pristupa podaima. Ka isti ik"us sata ove memorije moraju imati pet

     puta veu propusnost nego $e! ovakve PSe.

    @egistri se koriste u dva segmenta)stanja PSe, !a čitanje u % i pisanje u >&. Po tome $i $i"o potre$no o$aviti dva čitanja i jedno pisanje u istom ik"usu (šta ako se trai čitanje i pisanje u isti registar\]+. 4 ovom pro$"emu e $iti više riječi kasnije.

    S"ika I.I. ne poka!uje u"ogu PAa. a $i u!imao novu instrukiju svakog "oka, mora sevršiti inkrementaija i ponovno smještanje u PA svakog ik"usa sata i to u %D segmentu. ;u se

     jav"ja pro$"em us"ovnih)$e!us"ovnih grananja koji mijenjaju PA a"i ne prije '?' #a!e PSe.% o ovom pro$"emu e $iti više riječi kasnije.

    Svi registri su aktivni u svakom ik"usu sata, sve se u svakom mora !avršiti !a jedan ik"us

    54

  • 8/18/2019 Osnove Računarskih Arhitektura

    55/197

    sata i to u svim kom$inaijama operaija. Prav"jenje PSe !ahtijeva da se podai)vrijednosti pros"ije/uju posredstvom ve!nih registara i"i "atheva. S"ika I.N. prika!uje arhitekturuog"ednog proesora sa takvim ve!nim registrima na!vanim po imenima segmenata koje

     pove!uju. 4vi registri pros"ije/uju i podatke i kontro"ne signa"e od jednog do drugogsegmenta (po"je registra u koji tre$a upisati re!u"tat =oad i"i -=U instrukije koji daje

    '?')>& a ne %D)% trenutne instrukije+.

    #lika 4.5. P* "o(aaka je "revoren * "roo)n* sr*k*r* (o(avanjem "regra(nih-veznih regisaraizmeF* segmenaa "roo)ne sr*k*re. 4ni prenose vrijednosti i uprav"jačke in#ormaije od jednog do drugogsegmenta.

    Svaka instrukija je aktivna u samo jednom segmentu u jednom trenutku (i!me/u dva ve!naregistra+. ;a$e"a I.8. poka!uje šta se mora dešavati u pojedinim segmentima !avisno od tipainstrukije koja se i!vršava. Po"ja u registrima su na!vana po podaima koje pros"ije/uju.

    Segm. ilo koja insr*kcijaIJ %D)%.%@ 'emRPAO

    %D)%.7PA, PA(i# ?Q)'?'.ond f?Q)'?'. -=U4utput e"se fPATI+OI$ %)?Q.-@egsR%D)%.%@ 6..10O %)?Q.&@egsR%D)%.%@ 11..1NO

    %)?Q.7PA%D)%.7PAO %)?Q.%@ %D)%.%@O%)?Q.%mm(%D)%.%@ 16+16%D)%.%@ 16..*1O insr*kcija ianje ili "isanje * mem. Insr*kcija grananja

    ?Q)'?'.%@ %)?Q.%@O ?Q)'?'.%@  %)?Q.%@ ?Q)'?'.-=U4utput%)?Q.- func %)?Q.&Oor 

    ?Q)'?'.-=U4utput%.?Q.- op %)?Q.%mmO

    ?Q)'?'.-=U4utput%)?Q.-T%)?Q.%mmO

    ?Q)'?'.-=U4utput%)?Q.7PAT%)?Q.%mmO

    ?Q)'?'.ond0O ?Q)'?'.ond0O ?Q)'?'.ond(%)?Q.- op 0+O

    ?Q)'?'.&%)?Q.&O

    55

  • 8/18/2019 Osnove Računarskih Arhitektura

    56/197

    %% '?')>&.%@ ?Q)'?'.%@O '?')>&.%@ ?Q)'?'.%@O

    '?')>&.-=U4utput?Q)'?'.-=U4utputO

    '?')>&.=''emR?Q)'?'.-=U4utputOor 

    'emR?Q)'?'.-=U4utput

    ?Q)'?'.&OK @egsR'?')>&.%@ 16..20

    '?')>&.-=U4utputOili

    @egsR'?')>&.%@ 11..1N'?')>&.-=U4utputO

    @egsR'?')>&.%@ 11..1N'?')>&.='O

    &a'ela 4.8. $ogaFaji * svakom segmen* "roo)ne sr*k*re. U %Dsegmentu, pored do$av"janja instrukija iračunanja nove vrijednosti PAa, smješta se inkrementirani PA i u PA i u pregradni registar (7PA+ da $i se

    kasnije koristio !a računanje odredišne adrese grananja. U %#a!i do$av"jaju se operandi i! registara, !nakom proširuje donjih 16 $ita %@a i pros"je/uje %@ i 7PA. Ka vrijeme ?Q i!vodi se -=U operaija i"i računanje

    adrese. Pros"je/uje se %@ i &registar (ako se radi o instrukiji pisanja u memoriju+ i postav"ja ond u 1 ako jeispunjen us"ov grananja. U '?' #a!i se odra/uje ik"us pristupa memoriji, od"učuje o grananju, upisuje PA,

    ako je potre$no, i pros"je/uju vrijednosti potre$ne u !adnjem segmentu. U >& se vrši upis u registre i!"a!a i!-=Ua i"i pročitanog i! memorije.

    Ka uprav"janje PSom tre$a de#inisati uprav"janje nad I 'UQa i! s"ike *.I. va 'UQaispred -=Ue rade u !avisnosti od tipa instrukija (%@po"je u %)?Q registru+. ornji !avisiod toga da "i je instrukija grananja i"i ne, a donji !avisi od toga da "i je instrukijaregistarskoregistarska -=U i"i neka druga. 'UQ u %D segmentu $ira i!me/u trenutnog PAai vrijednosti ?Q)'?'.7PAa (adresa grananja+ kao adrese s"jedee instrukije. 7jegakontro"iše po"je ?Q)'?'.ond. Letvrti 'UQ je odre/en time da "i je instrukija u >&segmentu "oad i"i -=Uinstrukija.

    Postoji još jedan 'UQ koji nije na s"ii I.N. a"i je njegovo postojanje jasno i! >& segmenta

    -=Uinstrukije. Po"je odredišnog registra je na jednom od dva mjesta, !avisno od tipainstrukije (reg)reg -=U i"i $i"o -=Uneposredno i"i =oad+. 'UQ je neophodan !a i!$or

     pravog po"ja %@a u '?')>& registru !a i!$or odredišnog po"ja. ;a$e"a I.8. prika!ujedoga/aje u protočnoj strukturi po segmentima i !a ra!"ičite tipove instrukija.

    PS poveava $roj i!vršenih instrukija u jedinii vremena a"i ne u$r!ava i!vršenje svake pojedine instrukije. 7aprotiv, čak ga i usporava !$og dodatnih pos"ova u uprav"janju PSom.odatno trošenje vremena do"a!i i od kašnjenja pri pro"asku kro! pregradne registre ineuravnoteenosti potrošnje vremena u pojedinim segmentima.

    5B

  • 8/18/2019 Osnove Računarskih Arhitektura

    57/197

    N. a!ardi osnovni pro$"emi kod protočnih struktura

    a!ardi su g"avne prepreke na putu projektovanja i primjene protočih struktura. ;o su

    situaije u kojima je onemogueno i!vršavanje s"ijedee instrukije (u njenom ik"usu+. ;imese u$r!anja postignuta PSom smanjuju.

    Postoje tri vrste ha!arda31 #&/&,I hazar(i nastaju kao pos"jedia nastanka kon#"ikata nad resursima

    (kada dvije i"i više instrukija !ahtijevaju korištenje istog resursa u istom ik"usu+.21 Hazar(i P$&/ se jav"jaju kada jedna instrukija !avisi od re!u"tata drugih

    (jedne i"i više+ koje još nisu i!vršene (još su u PSi+.'1 P+/I hazar(i se jav"jaju kod i!vršavanja instrukija grananja i drugih

    instrukija koje mijenjaju sadraj PAa.

    a!ardi u PSama mogu dovesti do !astoja (eng. sta""+ s"ično kao kod promašaja pri pristupu

    kešu. U PSama su !astoji s"oeniji. ?"iminisanje ha!arda $i !ahtijeva"