Você está na página 1de 9

Skripta iz Arhitekture raunala, by Mataya

0. Raunala s reduciranim sklopom instrukcija


0.1. Uvod - razvoj RISC raunala poinje 1964. godine s raunalom CDC 6600 tvrtke Conrad Data Corporation - prvi pravi projekt arhitekture RISC bio je IBM 801, zapoet 1974.g. (24 bitni), dok je 1979. razvijen 32-bitni procesor nasljednik 0.2. Razlozi poveanja sloenosti arhitekture - odnos brzine memorije i brzine procesne jedinice (1:10) - mikroprogramiranje i tehnologija LSI - jezgrovitost ili kompaktnost programa - strategija trita - ustrajanje na srodnosti s prethodnicima - podrka viih programskih jezika - uporaba multiprogramiranja 0.3. Znaajke procesora arhitekture RISC - izvravanje instrukcije u jednoj periodi taktnog signala - sve instrukcije su jednake duljine - pristup memoriji se ostvaruje samo instrukcijama load i store - podrka viih programskih jezika D. Tabak predlae znaajke: - relativno mali broj instrukcija, - mali broj naina adresiranja, - mali broj formata instrukcija, - izvravanje instrukcija u jednoj periodi taktnog signala, - pristup memoriji samo instrukcijama tipa load i store, - procesor ima relativno veliki skup registara (32 i vie), a veina operacija su tipa registar-registar, dok je pristup memoriji sveden na najmanju moguu mjeru - upravljaka jedinica je realizirana kao sklopovna (oiena) - podrka viim programskim jezicima 0.4. Odgovori arhitekture RISC na razloge poveanja sloenosti - memorije su bre i jeftinije - CISC procesori imaju mikroprogramiranu upravljaku jedinicu koja zauzima velik dio povrine ipa - gustoa koda, tj. jezgrovitost programa moe se postii i proiivanjem skupa instrukcija -- 10 instrukcija predstavlja 80% svih instrukcija, 16 instrukcija 90%, 21 instrukcija 95%, a 30 instrukcija 99% svih moguih instrukcija u programu -- pogodnost arhitekture za vie programske jezike izraava se faktorom HLLESF (HLL Execution Support Factor - omjer brzine izvoenja istog programa napisanog u viem programskom jeziku) -- u RISC procesorima pojednostavljuju se postupci posluivanja iznimaka i prekida, a time se smanjuje i rzina sloenosti arhitekture procesora -- O CISC procesorima moe se ustvrditi: 1. veliki skup instrukcija sadri velik broj sloenih, vremenski zahtjevnih instrukcija - njihove razliite duljine usporavaju protonu strukturu procesora 2. prevodioci upotrebljavaju samo mali skup instrukcija - pitanje optimiziranosti? 3. sloenost i broj instrukcija produljuje vrijeme oblikovanja procesora 4. sloenija arhitektura je podlonija pogrekama izvedbe, naroito upravljake jedinice -- O RISC procesorima moe se ustvrditi: 1. mali broj jednostavnih instrukcija - jednostavni dekoderi 2. manja sloenost - vei faktor pravilnosti - nia cijena oblikovanja 3. vrijeme oblikovanja procesora se smanjuje 4. instrukcije jednakih duljina pogoduju za izvedbu protone strukture 5. jednostavniji procesor - bra primjena novijih tehnologija (GaAs - supravodljivost) 6. lake utvrivanje pogreke 7. Arhitektura RISC i performansa procesora - vrijeme odgovora: vrijeme potrebno za obavljanje kompletnog zadatka (ukljuivi rad I/O jedinica, rad OS-a, itd.) - vrijeme centralne procesne jedinice (vrijeme CPU): ukljuuje samo rad procesora: - korisniko vrijeme: vrijeme obrade programa - sustavsko vrijeme: vrijeme koje je utroio operacijski sustav - superskalarni procesori: oni koji izvode dvije, tri ili vie instrukcija u jednom periodu... - trajanje periode taktnog signala odreeno je: 1. vremenom dekodiranja instrukcije, 2. vremenom izvravanjem instrukcije, 3. vremenom pristupa memoriji

1. Raunalni sustav

Skripta iz Arhitekture raunala, by Mataya 1.1. Uvod Razine apstrakcije: - sklopovska razina (otpornici, kondenzatori,...) - razina logikog oblikovanja: - razina logikih sklopova (osnovni kombinacijski i sekvencijski logiki sklopovi) - razina prijenosa izmeu registara (registri, aritmetika jedinica, logika jedinica, sabirnice,...) - programska razina (skup instrukcija, stanja procesora, memorije, upravljanje, programi, potprogrami) - PMS razina (processor-memory-switch): - memorija M - vezna komponenta L - upravljanje K - prespoj S - pretvornik T - obradna ili aritmetika jedinica D - procesor P (graen od M, L, K, S, T) Navedene komponente opisuju tzv. model digialnog raunala s pohranjivanjem programa pod nazivom von Neumannovo raunalo - osnovna znaajka: program i podaci su u istoj memoriji... C:=Mp - Pc - T - X Veza memorije i CPU-a Backus je nazvao von Neumannovim uskim grlom Skup operacija i pravila tumaenja specificira se sa opisnim sustavom ISP (Instruction-Set-Processor), a ciklus aktivnosti u tom sustavu prikazuje se interpretacijskim dijagramom ISP. 1.2. Procesor CDC 6600 - pretea procesora arhitekture RISC To 60-bitno raunalo ima slijedee znaajke: - paralelno izvoenje vie instrukcija, - velik broj funkcijskih jedinica u ALU, - veina instrukcija je troadresnih, - upotreba veeg broja registara i viestrukih prijenosnih putova od i prema jedinicama, - jednostavan i djelotvoran skup instrukcija, - dinamika relokacija programa, - komunikacija s memorijom ostvarena je samo instrukcijama vrste load i store, - upotreba jedinice zauzea ili jedinice za razrjeavanje (engl. Scoreboard) - oznaava zauzete registre i funkcijske jedinice i rjeava konflikte tijekom izdavanja i izvoenja instrukcija --CDC 6600 ima 10 perifernih U/I procesora PPU (Peripheral and Control Processors), a znaajke periferijskog raunala Cio su: - skup od 62 instrukcije, - kapacitet memorije od 4096 12-bitnih rijei, - memorijski ciklus od 1000 ns - akumulatorski registar duljine 18 bita, - mogunost prijenosa rijei ili bloka podataka od i prema sredinjoj memoriji, - mogunost prijenosa rijei ili bloka podataka od i prema ulazno-izlaznom kanalu, - svaki od perif. procesora neovisno izvodi program pohranjen u privatnoj memoriji, - svaki perif. proc. moe komunicirati s ostalih 9 perif. procesora i to preko kanal U-I ili preko sredinje memorije - perif. proc. komunicira s CPU sredinjeg raunala preko sredinje memorije ili upotrebom posebne instrukcije --Skup registara: - osam 18-bitnih adresnih registara (A0-A7) - osam 18-bitnih indeksnih registara (B0-B7) - osam 60-bitnih aritmetikih registara (akumulatora) (X0-X7) 1.3. Funkcijske jedinice procesora CDC 6600 - jedno zbrajalo brojeva s pominim zarezom - dva mnoila brojeva s pominim zarezom - jedno dijelilo brojeva s pominim zarezom - jedno cjelobrojno zbrajalo - dvije jedinice za inkrementiranje - jedna jedinica za logike operacije - jedna jedinica za posmak - jedna jedinica grananja 1.4. Skup instrukcija procesora CDC 6600 - dva formata: 15-bitni (instrukcije registar-registar) i 30-bitni 1.5. Interpretacija instrukcija u procesoru CDC 6600 - faze: PRIBAVI i IZVRI 1.6. Protona struktura za dekodiranje instrukcija u procesoru CDC 6600 - realizira se pomonu registara U0, U1 i U2 koji predstavljaju protone zaporne sklopove

Skripta iz Arhitekture raunala, by Mataya - nakon dekodiranja instrukcija se prenosi u idui registar, tako da je prijanji spreman za prihvat nove... 1.7. Memorijski sustav raunalnog sustava CDC 6600 - organiziran je kao hijerarhijski sustav u vie razina; prva razina je primarna memorija (sredinja memorija Central storage), a drugu razinu sainjava proirena sredinja memorija izvedena kao 2D linearna memorija s magnetskim jezgricama, trea razina - eksterna memorija (magnetski bubnjevi, diskovi..) - svaki periferijski procesor ima svoju privatnu memoriju (memorijski ciklus 1000ns, kapacitet 4096 12-bitnih rijei) - primarna memorija organizirana je u 32 nezavisne memorijske banke (modula) i ima kapacitet od 4096 60bitnih rijei

2. Instrukcije
2.1. Uvod Operand = podatak na kojem se izvodi odreena operacija (aritmetika, logika,..) Operacija je odreena operacijskim kodom (niz bitova) 2.2. Organizacija instrukcije -troadresne instrukcije: adresno polje operanada i adresno polje rezultata -dvoadresne instrukcije: jedan od operanada e ujedno prihvatiti rezultat -jedno i pol adresne instrukcije: ? -jednoadresne instrukcije: odreuje se samo jedan operand, a adresa drugog se podrazumjeva implicitno (Acc.) -bezadresne instrukcije: stone instrukcije (push, pop) Po mjestu izvorita i odredita, postoje instrukcije: - registar-registar - registar-memorija odnosno memorija-registar - memorija-memorija 2.3. Polje operacijskog koda Operacijski kod odreuje operaciju koju e instrukcija izvesti, a s obzirom na vrstu operacije, postoje: a) instrukcije prijenosa podataka izmeu internih registara centralne procesne jedinice b) aritmetike instrukcije c) logike instrukcije d) posmane instrukcije e) upravljake instrukcije f) instrukcije prijenosa podataka izmeu procesne jedinice i drugih komponenata raunalnog sustava (memorije, U-I podsustava), instrukcije za komunikaciju registar-memorija, memorija-registar ili memorija-memorija g) posebne instrukcije (string-instrukcije, instrukcije za OS,...) Npr, intel80386: prefiks, operacijski kod, polje MODRM, polje adresnog pomaka, polje usputne konstante. MIPS R2000: tri formata - I-tip (Immediate), J-tip (Jump), R-tip (Register) instrukcije 2.4. Skup instrukcija Skup instrukcija moe se opisati i klasificirati na temelju pet znaajki: 1. mjesto i nain pohranjivanja operanada u procesoru 2. broj izriito naslovljavanih operanada u procesoru 3. mjesto smjetaja operanada 4. operacije odreene skupom instrukcija 5. vrsta operanada Operacije se prema vrsti operatora, mogu razvrstati kao: 1. aritmetiki i logiki operatori (izvode cjelobrojne aritmetike operacije i logike operacije) 2. operatori za prijenos podataka (load, store, move) 3. operatori za upravljanje tokom programa (uvjetno i bezuvjetno grananje, pozivanje procedura, vraanje iz procedura) 4. operatori za aritmetike operacije brojevima s pominim zarezom 5. operatori za aritmetike operacije decimalnim podacima 6. operatori za nizove i polja 7. operatori za funkcije operacijskog sustava (sustavski pozivi, instrukcije za upravljanje (virtualnom) memorijom, upuivanje perifernih ureaja)

3. Centralna procesna jedinica-registarski stroj


3.1. Uvod CPU=Registarski stroj Stanja CPU-a tijekom izvoenja instrukcije: PRIBAVI 1. iac - raunanje adrese instrukcije 2. if - pribavljanje instrukcije 3. iod - dekodiranje instrukcije

Skripta iz Arhitekture raunala, by Mataya IZVRI 4. oac - raunanje adrese operanda 5. of - dohvaanje operanda (itanje) 6. do - izvoenje operacije na operandima 7. rac - raunanje adrese rezultata 8. os - pohranjivanje rezultata (pisanje) (to je interpretacijski dijagram stanja ISP) - ukoliko se radi o nizu ili vektoru podataka, onda se faza izvri moe izvoditi vie puta... 3.2. Stanje procesora - stanje procesora je ona koliina informacije u CPU koja mora biti poznata procesoru na kraju faze IZVRI tekue instrukcije tako da omogui pravilno zapoinjanje i izvoenje sljedee instrukcije: registar stanja (zastavice), programsko brojilo, akumulator, indeksni registar, skup registara ope namjene 3.3. Skup registara ope namjene - smjeteni su u samoj CPU Stack - stog: - LIFO princip - operacije PUSH i POP - na stog se spremaju: povratna adresa (iz potprograma), stanje procesa i parametri (kod pozivanja procedura), tekui status ili stanje procesa (da bi se pravilno nastavio program prekinut iznimkom) 3.4. Prednost upotrebe skupa registara ope namjene Prednosti: 1. registri imaju krae vrijeme pristupa negoli primarna memorija i zato se instrukcije tipa registar-registar izvode bre (operandi i rezultat se pohranjuje u registrima) 2. budui da je adresirljiv prostor skupa registara mnogo manji od adresirljivog prostora primarne memorije, potrebno je krae adresno polje u instrukciji. Zbog toga su te instrukcije krae Optimalan broj registara: izmeu 8 i 32. Jezgrovitost ili kompaktnost koda: prosjena duljina instrukcija i broj instrukcija potrebnih za obavljanje nekog zadatka. 3.5. Registarka okna Kod procesora koji imaju velik broj registara, mogue je implementirati tehniku registarskih okna. Naime, svakom procesu se dodjeljuje odreen broj registara, pa kod poziva procedure nije potrebno spremati njihovo stanje na stog, ve se proceduri dodijeli novi skup registara... Registarsko okno ine: - visoka skupina, tj. registri preko kojih procedura komunicira s nadprogramom - lokalna skupina, tj. registri procedure - niska skupina,tj. registri preko kojih procedura komunicira s svojim potprogramom Svaka procedura barata s logikim registrima, tj. procedura vidi registre od rX do rY, a oni se preslikavaju na fizike registre ovisno o poziciji okna. 3.6. Rukovanje registarskim oknima Kad dubina gnjeenja procedura premai maksimalan broj raspoloivih registarskih okana, dolazi do tzv. preljeva skupa registara... U tom sluaju, potrebno je najstarije registarsko okno pohraniti na stog (tj. samo visoku i lokalnu skupinu), a zatim se njezini bivi registri koriste kao novo okno. Takoer, kazaljka CWP (u registru stanja PSW) se smanji za jedan 3.7. Prednosti i nedostaci registarskih okana -smanjenje ukupnog memorijskog prometa, no trai veu povrinu na ipu i usporuje procesor 3.8. Dodjeljivanje registara bojanjem grafa Kad program prevodioc prevodi program u zbirni jezik, onda kod prvog prolaska radi sa simboliki odnosno virtualnim registrima, jer mu je cilj da to vei dio posla prebaci u registre... Varijabla v je iva u nekoj toki programa ako postoji put u grafu toka programa od te toke do neke upotrebe varijable v (kao operanda). Varijabla v je inae mrtva. Prevodioci dakle, trebaju smanjiti memorijski promet (spill), a poveati upotrebu registara, to je mogue izvesti tehnikom bojanja grafa. Tijekom prvog prolaska, svakoj se varijabli dodjeljuje jedan virtualan registar. Tijekom drugog prolaska, za svaku se varijablu oblikuje graf interferencije koji je temelj za dodjeljivanje fizikih registara. Vrhovi u tom grafu predstavljaju simbolike registre. Ako su dva simbolika registra iva, odnosno ako istodobno sadre ive varijable, odgovarajui vrhovi u grafu su povezani bridovima. Svaki vrh boji se jednom od N boja gdje je N broj fizikih registara. Ako je graf mogue obojiti tako da se dvije iste boje ne dodiruju, onda je graf N-obojiv

4. Tipovi podataka
4.1. Uvod Podaci: a) korisniko definirani podaci b) sustavni podaci

Skripta iz Arhitekture raunala, by Mataya c) instrukcije d) Organizacija memorije Von Neumann: memorija je ureenje slijednih rijei Osnovna jedinica pohrane je bit. Najee su u upotrebi 8-bitni odsjeci tzv. bajtovi. Dvije osnovne organizacije (s obzirom na poziciju najmanje znaajnog bita u rijei): 1. ureenje slijeda bajtova slijeva udesno (Big-Endian Byte Ordering) 2. ureenje slijeda bajtova zdesna ulijevo (Little-Endian Byte Ordering) 3. Skalarni tipovi podataka - bit - niz bitova (bit string) - skalarni tipovi podataka: - diskretni - cjelobrojni - nenumeriki - booleov ili logiki tip - znakovi - nediskretni - brojevi s nepominim binarnim zarezom - brojevi s pominim binarnim zarezom (floating point) - znakovi - BCD upakirani i nepakirani format Standard IEEE Task P754 odreuje sljedee znaajke: 1. format brojeva s pominim zarezom, 2. aritmetike operacije, 3. tonost aritmetikih operacija, 4. pretvorbu izmeu cijelih brojeva i brojeva s pominim zarezom, 5. pretvorbu izmeu razliitih formata brojeva s pominim zarezom, 6. pretvorbu izmeu brojeva s pominim zarezom i niza dekadskih brojeva, 7. iznimke i rukovanje iznimkama Tri osnovna formata brojeva s pominim zarezom: - jednostruki (single): 1 bit predznaka, 8 bitova eksponent (predznak ukljuen), 23 bita mantisa = 32 - dvostruki (double): 1 bit predznaka, 11 bitova eksponent, 52 bita mantisa = 64 - etverostruki (quad): 1 bit predznaka, 15 bitova eksponent, 111 bita mantisa, 1 vodei bit = 128 Iznimke: - ako je E=255 i F 0 onda je vrijednost NaN (Not a Number), npr. korijen od neg. broja - ako je E=255 i F=0 onda je to + odnosno - - ako je 0<E<255 tada je X=... - ako je E=0 i F 0 tada je X=... - ako je E=0 i F=0 tada je X=0 4.4. Aritmetika brojevima s pominim zarezom i procesori arhitekture CISC i RISC - procesori RISC niti nemaju sklopove za podruku IEEE standardiziranih brojeva s pominim zarezom, ve to rjeavaju: - izvedbom posebne jedinice koja je fiziki ostvarena na samom procesorskom ipu, - programski, - upotrebom fiziki izdvojenih matematikih koprocesora 4.5. Strukturirani tipovi podataka - jednodimenzionalna polja ili vektori - viedimenzionalna polja: pohranjivanje po stupcima ili pohranjivanje po recima - neki procesori podravaju i rad s poljem bitova (slijedni niz od najvie 32 bita koji je smjeten u jednom 32bitnom registru) - skup - tip podataka predstavljen zbirkom vrijednosti - zapis (record) - zbirka podataka u meusobnom odnosu 4.6. Strukturirni, sustavno orijentirani tipovi podataka - stog: LIFO ureaj (potreban je StackPointer) i FIFO ureaj (potrebni su HEAD i TAIL pokazivai)

5. Naini adresiranja
5.1. Uvod Efektivna adresa = konana adresa preko koje se pristupa podatku - operandu. Izvor i odredite mogu biti: - glavna (primarna ili radna) memorija ili pak virtualna memorija - registri centralne procesne jedinice - registri ulazno-izlaznih ureaja i naprava Adresna rezolucija ili adresna zrnatost odreuje najmanju koliinu informacije izraenu brojem bitova koja je za procesor jo uvijek adresirljiva. Apsolutno najmanja koliina informacije koja je adresirljiva je 1 bit, dok procesori imaju obino adresnu zrnatost jednog bajta (8 bita). Poravnanje podataka odreuje na koji se nain podaci (i instrukcije) smjetaju u memoriju (npr. wordovi da budu na parnim adresama). Poravnati podaci mogu se dohvatiti jednim pristupom memoriji.

Skripta iz Arhitekture raunala, by Mataya Adresno podruje je odreeno brojem adresnih bitova. Npr. 32 bitna adresa odreuje prostor od 4G. 5.2. Usputno adresiranje - vrijednost operanda je neposredno ukljuena u samoj instrukciji MOV AX,1 5.3. Izravno adresiranje memorije - adresa operanda (koji je smjeten u memoriji raunala) nalazi se u adresnom polju instrukcije MOV AX,[1234] 5.4. Izravno adresiranje registara - adresiranje registar-registar MOV AX,BX 5.5. Posredno adresiranje - adresa operanda posredno je odreena putem adrese koju sadri neki registar ili memorijska lokacija MOV AX,[BX] 5.6. Indeksno adresiranje - dvije komponente: bazna adresa i adresno polje s registarskim brojem koje odreuje registar u kojem je pohranjen pomak MOV AX,[1234+SI] - osim preindeksnog posrednog naina adresiranja (adresa=[base+(X)]), postoji i postindeksno posredno adresiranje (adresa= [B]+(X)) 5.7. Bazno adresiranje s pomakom - slino je indeksnom adresiranju, no bazna adresa se sad nalazi u nekom od registara MOV AX,[BX+SI] 5.8. Odnos izmeu indeksnog i baznog adresiranja s pomakom Pomak kod baznog adresiranja s pomakom moe biti izraen i relativno (ne nuno adresom pune duljine) 5.9. Odnosno adresiranje s pomakom - upotrebljava se za programske skokove i u instrukcijama grananja JNE 1234 - offset+R 5.10. Saetak Naini adresiranja prema broju adresnih komponenti: - bez adresnih komponenti: usputni nain - jedna adresna komponenta: izravno adresiranje memoije, adresiranje registara, posredno adresiranje memorije, posredno registarsko adresiranje - dvije adresne komponente: indeksno adresiranje, bazno adresiranje s pomakom, bazno indeksno adresiranje , odnosno adresiranje s pomakom, odnosno adresiranje s indeksom - vie od dvije adresne komponente: memorijsko posredno postindeksno adresiranje, odnosno memorijsko posredno adresiranje, odnosno memorijsko posredno adresiranje s preindeksom

6. Protona organizacija procesora


6.1. Uvod Protonost - oblik paralelizma koji doputa istovremenu upotrbu razliitih sklopovnih podsustava 6.2. Put podataka Procesni dio CPU, koja se sastoji od ALU i UJ esto se opisuje putem podataka, koji ukljuuje ove glavne komponente: 1. skup registara ope namjene i privremene registre 2. ALU 3. posmani sklop (est je bavasti posmani sklop 4. programsko brojilo PC 5. posebni upravljaki registri (prekidni adresni registar, odnosno registar vektora iznimke, privremeni registar za pohranjivanje stanja tijekom izvoenja nekih upravljakih instrukcija) 6. interna sabirnica kojom se ostvaruju veze s ostalim komponentama na putu podataka Vrijeme potrebno za itanje operanada iz skupa registara, izvoenja operacije na njima i pohranjivanje rezultata natrag u jedan od registara u skupu registara, zove se vremenski ciklus puta podataka 6.3. Podrobnija analiza izvoenja instrukcija 6.4. pribavljanje instrukcije - IF 6.5. dekodiranje instrukcije - ID 6.6. izvravanje instrukcije - EX 6.7. upis rezultata - W 6.8. Protonost Protonost je oblik paralelizma koji se dobiva rastavljanjem neke funkcije u nekoliko potfunkcija koje se izvravaju u dodijeljenim samostalnim sklopovima. Ti sklopovi zovu se protoni segmenti. Niz protonih segmenata oblikuje protonu strukturu.

Skripta iz Arhitekture raunala, by Mataya Izmeu protonih segmenata potrebno je staviti zaporne sklopke (Latch) koje spreavaju da podatak koji je obraen u prethodnom protonom segmentu ometa rad sljedeega prije negoli taj zavri obradu prethodnog podatka. 6.5. Instrukcijska protona struktura 6.6. Ostvarivanje cilja: jedna instrukcija u jednoj periodi taktnog signala - sloene i raskone instrukcije iskljuuju se iz skupa instrukcija - svaka instrukcija pojedinano izvodi se u 4 takta - duina faze IF moe se skratiti pretpribavljanjem instrukcija - propusnost memorije poveava se organizacijom radne memorije koja se zove radna memorija s preklapanjem - memorija se sastoji od N nezavisnih memorijskih modula, pa kad se ita instrukcija na adresi a, onda se odmah zahvaaju i podaci a+1, a+2, a+3, ... , a+N-1, i smjetaju se u posebne registre procesora koji oblikuju spremnik. 6.7. Hazardi u protonoj strukturi - postroje tri razreda hazarda: 1. strukturni hazard - zbog resursnog konflikta (jedna instrukcija trai protoni segment koji jo nije gotov s obradom prole instrukcije) - obino se instrukcija zamrzne i prieka jedan ili vie period da se oslobodi resurs (to kanjenje uzrokovano je umetanje tzv. protonog mjehuria) 2. podatkovni hazard - kad dvije ili vie instrukcija ele pristupiti i/ili modificirati isti podatak - RAW (read after write), WAR (write after read) i WAW (write after write) - takvi hazardi rjeavaju se ili umetanjem protonih mjehuria, ili se umetne neka instrukcija load koja nije u konfliktu (6.8.) 3. upravljaki hazard - deava se kod izvoenja instrukcije grananja - naime, ako se ne umetnu protoni mjehurii (troje njih jer se akcija tek poduzima u segmentu EX), onda e se poeti izvravati instrukcije koje slijede neposredno nakon instrukcije grananja, a koje se moda trebaju preskoiti... takoer, mogue je nakon instrukcije grananja umetnuti tzv. prikljuak instrukcije grananja, instrukciju, koja e se u svakom sluaju izvesti (zakasnjele instrukcije - prikljuak branch kanjenja)... -zero cycle branch - grananje kod kojeg se adresa grananja slae s adresom koju je predvidio procesor (ve je uitao i poeo dekodirati instrukciju s te adrese) pa nema umetanja mjehuria (6.9.) 6.10. Protonost aritmetiko-logike jedinice Sklopovlje se takoer dijeli na segmente. Npr. kod zbrajanja dva broja s pominim zarezom: 1. oduzimanje eksponenta 2. poravnanje razlomakog dijela (mantise) i prilagoavanje eksponenata 3. zbrajanje 4. normalizacija rezultata (poravnavanje razlomakog dijela i prilagoavanje eksponenata)

7. Ubrzanje rada memorijskog sustava - memorija s preklapanjem i priruna memorija


7.1. Uvod Postoji veliki jaz izmeu brzine procesora i brzine memorije, koji se onda odraava kao latentnost memorije. Latentnost se izraava vremenom koje protekne izmeu zahtjeva to ga procesor upuuje memoriji i primitka podatka iz memorije. Postoje arhitekturni i tehnoloki faktori latentnosti memorije. 7.2. Memorijska hijerarhija - na temelju kapaciteta memorije i njezine brzine mogu se memorijske strukture razvrstati tako da ine hijerarhijsko ureenje: - lokalna memorija ili registri (8 do 64 registra) - priruna ili cache memorije (4 do 64K) - glavna, radna ili primarna memorija (reda M bajta) - sekundarna memorija je vrlo velikog kapaciteta (reda G bajta) Tehnike za ostvarivanje prividne brze memorije kapaciteta sekundarne memorije: - tehnika preklapanja - djelotvorno rukovanje na razini glavna memorija - priruna memorija - uporaba koncepta virtualne memorije na razini glavna memorija - sekundarna memorija 7.3. Memorija s preklapanjem Memorija s N-terostrukim preklapanjem ili s N-razinom preklapanja sastoji se od skupa N memorijskih modula organiziranih tako da se N sljednih adresa jednoliko razdjeli po modulima u skladu s pravilom prim-broja. 7.4. Priruna memorija Priruna memorija je brza memorija kapaciteta od 4 do 64K, ili vie stotina K bajtova. Tipian odnos prirune i glavne memorije je 5:1 Ona se temelji na prostornoj (program e u budunosti vjerojatno naslovljavati adrese bliske trenutnoj) i vremenskoj (program e u budunosti vjerojatno naslovljavati one adrese koje je naslovljavao u blioj prolosti) lokalnosti. Zajedniko svim prirunim organizacijama je da: - glavna memorija veliine 2M podijeljena je na sljedne blokove od b rijei, dakle, ima 2M/b blokova - priruna memorija sastoji se od Bp blokova iste veliine kao i u glavnoj memoriji; svakom bloku pridruena je adresna znaka koja sadri informaciju o adresi bloka koja odgovara poetnoj adresi

Skripta iz Arhitekture raunala, by Mataya lokacije u glavnoj memoriji; blok i adresna znaka smjetaju se u tzv. bloni prikljuak (njih ima Bp) Kad se dohvaa neki podatak, a pripadni blok nije u prirunoj memoriji, onda se cijeli blok prebacuje u prirunu memoriju. Ukoliko se naslovljena rije prosljeuje odmah, neekajui da se cijeli blok prebaci u prirunu memoriju, onda se takva tehnika zove punjenjem-kroz. Kod obnavljanja sadraja glavne memorije, koriste se dvije metode: - pohranjivanje-kroz - kad se vri promjena u prirunoj memoriji, odmah se aurira podatak u glavnoj - kopiranje nazad - upotrebljava se posebna zastavica koja se postavlja kad je blok mijenjan (prljavi bit) 7.5. Organizacija prirune memorije Pri razmatranju prirune memorije, potrebno je paziti na: 1. organizaciju prirune memorije i nain smjetanja blokova 2. nain zamjene blokova 3. veliina, odnosno kapacitet prirune memorije 4. nain obnavljanja sadraja glavne memorije 5. nain pribavljanja bloka iz glavne memorije Tri glavne organizacije prirune memorije: 1. potpuno asocijativna priruna memorija koja upotrebljava asocijativno preslikavanje za smjetavanje blokova iz glavne memorije u prirunu (bilo koji blok iz glavne memorije moe ii u bilo koji blok prirune); esto je u upotrebi bit V (valjanosti); ova memorija je skupa i kompleksna za izvoenje 2. izravna priruna memorija koja upotrebljava izravno preslikavanje za smjetavanje blokova (blokovi se mogu smjetavati samo metodom prim-broja, npr. 16bitna adresa = znaka, prikljuak, offset) 3. skupna asocijativna priruna memorija koja upotrebljava kombinaciju prethodna dva naina smjetanja blokova 4. Algoritmi zamjene blokova OPT, LRU, FIFO,... 7.7. Veliina prirune memorije Od nekoliko bajtova pa do nekoliko stotina KB. 7.8. Naini pribavljanja blokova Dva naina: - pribavljanje na zahtjev - pretpribavljanje: - pretpribavljanje uvijek (poveava memorijski promet) - pretpribavljanje u sluaju promaaja u kojem se uz zahtijevani blok pribavlja jo jedan blok - privjesno pretpribavljanje (zapoinje prilikom prvog naslovljavanja podatka u ve pretpribavljenom bloku 7.9. Koherentnost prirune memorije Sustav je koherentan, ako je vrijednost dobivena instrukcijom load uvijek vrijednost koju je posljednja instrukcija store pohranila u memorijsku lokaciju s istom adresom. 7.10. Primjeri prirunih memorija

8. Virtualni memorijski sustav


8.1. Uvod Poeci na raunalu ATLAS 8.2. Fiziki i logiki adresni prostor Fiziku memoriju ini skup stvarnih, fizikih memorijskih lokacija glavne memorije na kojima se pohranjuju program i podaci. Dodijeljen skup adresa ini fiziki adresni prostor. Logiki adresni prostor je skup logikih adresa, koje upotrebljava programer odnosno koje koristi proces. Odnos veliine moe biti: 1. logiki prostor jednak je fizikom - u malim raunalima 2. logiki prostor je manji od fizikog - upotreba memorijskih banaka 3. logiki prostor je vei od fizikog - realizacija virtualne memorije 4. Organizacija logikog adresnog prostora Linearni ili jednodimenzionalni model Segmentni model - svaki odsjeak predstavlja linearni logiki prostor (esto se naziva dvodimenzionalni model) 8.4. Adresno preslikavanje Postoji tablica preslikavanja. Denningov model - veliina stranine tablice je jednaka broju adresa u logikom prostoru 8.5. Stranienje Fiziki i logiki adresni prostori podijeljeni su na blokove jednakih veliina, tzv. stranice. Blokovi u fizikom prostoru zovu se straninim okvirima (Page Frame). Stranica predstavlja osnovnu jedinicu memorije za premjetanje na relaciji primarna-sekundarna memorija

Skripta iz Arhitekture raunala, by Mataya Svakom procesu dodjeljuje se tablica stranica (Page Table) koja se smjeta u glavnoj memoriji, a svaki element te tablice sadri poetnu fiziku adresu straninog okvira, odnosno adresu stranice koja je na sekundarnoj memoriji, takoer, u tablici su zapisana prava pristupa (R/W/E), prioritet, itd. Nedostaci: interna fragmentacija, gubitak brzine (dva pristupa glavnoj memoriji radi itanja 1 podatka) 8.6. Segmentacija Segmenti su promjenjive duljine (mogue je i dinamiki mijenjati) 8.7. Segmentacija sa stranienjem Mogue je: promaaj segmenta i promaaj stranice 8.8. Zamjena, smjetanje i nain pribavljanja blokova Algoritmi zamjene: OPT, LRU, FIFO Algoritmi smjetaja: - algoritam najboljeg pristajanja - best fit - algoritam najgoreg pristajanja - worst fit - algoritama binarnih drugova - binary buddy Nain pribavljanja: na zahtjev ili pretpribavljanje 8.9. Zatita memorijskog prostora Zatita procesa objedinjuje: - sigurnost - privatnost Zatita procesa se u raunalnom sustavu postie razliitim razinama: - na razini viih programskih jezika (koji ne sadre konstrukte koji mogu ugroziti sigurnost procesa) - na arhitekturnoj razini (vie naina rada: nadgledni, korisniki,...) - na razini memorijskog prostora (zatita segmenata,...) Mogua je zatita upotrebom prstenova prioriteta - upotreba call gate

9. Obrada iznimaka
9.1. Uvod Iznimke:- vanjske (uzrok su posebne okolnosti izazvane dogaajem van procesora) - unutarnje (npr. djeljenje s nulom) Obrada iznimke obuhvaa: 1. faza prepoznavanje iznimke (detektira se iznimka i prenosi upravljanje na pridruenu programsku proced.) 2. faza izvoenja programske procedure 3. faza povratka iz iznimke (osigurava se pravilan nastavak izvoenja prekinutog programa) 4. Prepoznavanje iznimke - utvruje se tip iznimke, skae se u nain rada za pokretanje koda,... ako se desi vie iznimaka, dodjeljuju se prioriteti,... 9.3. Podrobniji opis prepoznavanja iznimke 9.4. Obrada prekida 9.5. Faza povratka iz iznimke

Você também pode gostar