arhitektura računara

318
3. april 2014 ARHITEKTURA RAČUNARA 1 ARHITEKTURA RAČUNARA BANJA LUKA COLLEGE - BLC Doc. dr Srećko Stanković Predavanje-7

Upload: danijel-panda-bandulaja

Post on 23-Nov-2015

80 views

Category:

Documents


8 download

DESCRIPTION

Arhitektura računara, memorija, sve vrste diskova

TRANSCRIPT

3. april 2014 ARHITEKTURA RAUNARA 1

ARHITEKTURA RAUNARA BANJA LUKA COLLEGE - BLC Doc. dr Sreko Stankovi Predavanje-7

3. april 2014 ARHITEKTURA RAUNARA 2

Tipovi instrukcija Osnovni instrukcijski ciklusi su: Ciklus pribavljanja Ciklus izvravanja

Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa

3. april 2014 ARHITEKTURA RAUNARA 3 Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa

3. april 2014 ARHITEKTURA RAUNARA 4 Tipovi mainskih instrukcija Aritmetike i logike instrukcije Instrukcije za prenos podataka Instrukcije za kontrolu toka programa (upravljake instrukcije) Tipini formati instrukcija:

Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa Vrednost koriena u kombinaciji sa operatorom. Obino postoje dva operanda za jedan operator. Elemenat podataka nad kojim se izvrava operacija

3. april 2014 ARHITEKTURA RAUNARA 5 Tipovi mainskih instrukcija Aritmetike i logike instrukcije UNARNE ( sa jednim operandom) Postavljanje (SET) Brisanje (CLEAR) Komplementiranje (COMPLEMENT) Negacija (NEGATE) Inkrementiranje (INCREMENT) Dekrementiranje (DECREMENT) Pomjeranje (SHIFT) Rotacija (ROTATE) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014

ARHITEKTURA RAUNARA 6 Tipovi mainskih instrukcija Aritmetike i logike instrukcije BINARNE ( sa dva operanda) Aritmetike instrukcije Oduzimanje primenom prvog ili drugog komplementa (SUB) Sabiranje (ADD) Instrukcije za operacije sa bcd brojevima Instrukcije za operacije u pokretnom zarezu Logike instrukcije I (AND) ILI (OR) Ekskluzivno ILI (XOR)

Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 7 Tipovi mainskih instrukcija Instrukcije za prenos podataka Prenos podataka izmeu registara Najvea brzina izvoenja u odnosu na ostale instrukcije prenosa Instrukcije su krae od ostalih Nekada instrukcija ima samo polje koda operacije: TAB ( A B ) TBA ( B A ) U nekim instrukcijama se eksplicitno ukazuje na registre koji ue-stvuju u prenosu preko njihovih adresa): MOV A, E ( E A )

Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa

3. april 2014 ARHITEKTURA RAUNARA 8 Tipovi mainskih instrukcija Instrukcije za prenos podataka Prenos podataka izmeu memorije i registara Prenos podataka iz memorije u neki od CPU registara (LOAD) Prenos podataka iz nekog od CPU registara u memoriju (STORE) Jedinstven tip instrukcije kod Intela je MOVE MOVE x, y (y ( source) x (destination)) Mogunost prenosa bloka podataka (Z80) Mogunost istovremenog kopiranja sadraja vie registara u memoriju (MC 68020) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 9 Tipovi mainskih instrukcija Instrukcije za prenos podataka Operacije sa stekom Smetanje podataka na stek (PUSH) - SP se inkrementira Uzimanje podataka sa steka (POP) - SP se dekrementira Primeri instrukcija za rad sa stekom (MC 6800) PSH A (sadraj akumulatora A stek) PUL A (podatak sa steka akumulator A) PSH B (sadraj akumulatora B stek) PUL B (podatak sa steka akumulator B) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 10 Tipovi mainskih instrukcija Instrukcije za prenos podataka Ulazno-izlazne operacije Kod nekih procesora ( MC 68020, VAX ) ulazno/izlazni prostor se posmatra kao memorija Svakoj U/I jedinici je pridruena jedna ili vie memorijskih adresa Kod nekih procesora U/I operacije su odvojene od operacija sa memorijom Programski kontrolisan U/I prostor IN i OUT instrukcije Specijalni procesori (kanali) obavljaju ulazno/izlazne aktivnosti - IBM 370 Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 11 Tipovi mainskih instrukcija Instrukcije za upravljanje tokom izvravanja programa To su instrukcije koje omoguavaju promenu sadraja brojaa naredbi (Program Counter) Ove instrukcije skreu tok izvoenja programa bezuslovno ili uslovno Upravljake instrukcije se dele na: Instrukcije bezuslovnog skoka (jump) ili grananja (branch) Instrukcije uslovnog skoka ili grananja Specijalne upravljake instrukcije za upravljanje potprogramima, prekidima i stanjima procesora Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 12 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije bezuslovnog skoka Preusmeravaju tok izvoenja programa bez ispitivanja bilo kakvih uslova U PC se nalazi adresa memorijske lokacije na kojoj se nalazi sledea instrukcija Ne preporuuje se esta upotreba ovih instrukcija, jer mogu da dovedu do greke u izvravanju programa Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 13 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Primer za instrukciju uslovnog skoka Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 14 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Primer za instrukciju uslovnog skoka Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 15 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje potprogramima

Potprogrami (subroutine, subprogram) su niz instrukcija koje predstavljaju celinu Potprogram moe da se poziva vie puta u toku izvrenja nekog programa Raunar pre upisa nove adrese u PC (koja predstavlja poetnu adresu potprograma), sauva tekui sadraj PC na steku Postoje dva tipa instrukcija za rad sa potprogramima oInstrukcije za pozivanje potprograma (CALL) oInstrukcije za povratak iz potprograma (RETURN) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 16 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje potprogramima Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 17 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Zahtjevi za prekid (interrupt requests) su signali koji nastaju u samom procesoru u ulazno/izlaznoj jedinici ili u spoljanjem okruenju (van raunarskog sistema) Kada se pojavi zahtev za prekid, tekui program se prekida i prelazi na izvravanje posebnog kontrolno upravljakog programa za obradu prekida Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 18 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Da bi mogao da se ostvari povratak u prekinuti program moraju da se uvaju na steku: sadraj programskog brojaa (PC) sadraj svih radnih registara u CPU koji e koristiti program za obradu prekida Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 19 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Zahtjev za prekid moe da nastane bilo kada, bilo na kom mjestu u programu i nije pod kontrolom programa Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 20 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Obradu prekida vri program operativnog sistema koji se zove analizator prekida Analizator prekida bira program za obradu koji odgovara prekidu Poto nisu svi prekidi podjednako vani za raunarski sistem, neki od njih mogu privremeno ili trajno da se sprijee (maskiraju) pomou instrukcija koje mogu da postavljaju masku, da je itaju i testiraju Na kraju svake rutine za obradu prekida nalazi se instrukcija za povratak iz prekida RT (Return from Interrupt) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 21 Procesor i memorija, Tipovi instrukcija, izvravanje instrukcija Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Ako svi prekidi imaju isti prioritet Procesor ignorie ostale prekide dok obrauje jedan prekid Prekidi se obrauju onim redosljedom kojim pristiu Ako postoje prekidi razliitih prioriteta Prekidi nieg prioriteta mogu da budu prekinuti prekidima vieg prioriteta Kada se obradi prekid vieg prioriteta, procesor se vraa na obradu prekida nieg prioriteta 3. april 2014 ARHITEKTURA RAUNARA 22 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Instrukcijski ciklus u sistemu sa prekidom Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 23 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom Kod veine raunara CPU moe da se nae unekom od sljedeih stanja, pri emu se stanja koja su data u paru uzajamno iskljuuju: Neprivilegovanom / privilegovanom stanju Stanju spremnosti / stanju obrade Stanju zastoja (ekanja) / stanju obrade Stanju dozvoljenog prekida / stanju zabranjeno prekida Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 24 Tipovi mainskih instrukcija

Instrukcije za upravljanje tokom izvravanja programa Instrukcije za upravljanje prekidom U privilegovanom reimu moe u potpunosti da se kontrolie rad raunara pomou privilegovanih instrukcija koje ne mogu da se upotrebljavaju u korisnikom programu Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 25 Tipovi mainskih instrukcija

Adresiranje

Memorija slui za privremeno uvanje programa i podataka koji se upravo obrauju Adresa memorijske lokacije moe da ukazuje na instrukciju ili na podatak (operand) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 26 Tipovi mainskih instrukcija

Adresiranje

Adresa instrukcije uva se u registru, programskom brojau (PC) Sadraj PC se automatski inkrementira (PC=PC+1) i ukazuje na sljedeu lokaciju Prilikom skokova, u PC se upisuje adresa instrukcije na koju se skae Adresiranje instrukcije svodi se na prenos sadraja PC u memorijski adresni registar (MAR) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 27 Tipovi mainskih instrukcija

Adresiranje

Podaci nad kojima se vri obrada mogu da se nalaze: u registrima CPU memoriji U/I jedinici Podaci mogu da se koriste bilo kada i po bilo kom redosljedu Pristup lokaciji radi obrade podatka u naelu je sluajan (random access) Brzina izvravanja instrukcije zavisi od vremena potrebnog za pristup operandu Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 28 Tipovi mainskih instrukcija

Modovi adresiranja

Podacima se pristupa razliitim nainima adresiranja, koji su zadati u posebnom polju u formatu instrukcije Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 29 Tipovi mainskih instrukcija

Modovi adresiranja

Implicitno adresiranje Sama instrukcija (kod operacije) odrenuje fiksnu i nepromjenjivu ad-resu operanda Ovako se najee adresiraju registri u centralnom procesoru (CPU) Koristi se u instrukcijama inkrementiranja, dekrementiranja, komple-mentiranja, pomeranja, kopiranja sadraja iz jednog registra u drugi, Instrukcije su kratke i imaju samo kod operacije, dok se operand nalazi u registru Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 30 Tipovi mainskih instrukcija

Modovi adresiranja

Neposredno adresiranje Polje operanda predstavlja sam operand Podatak se nalazi u memoriji na lokaciji koja neposredno slijedi iza koda operacije Ne mogu da se adresiraju promjenljive, ve samo konstante Nain adresiranja je sadran u kodu operacije Instrukcije se brzo izvravaju Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 31 Tipovi mainskih instrukcija

Modovi adresiranja

Direktno adresiranje Polje operanda sadri fiziku (apsolutnu) adresu operanda Program je vezan za fiksne adrese, pa ovakav nain adresiranja nije pogodan za vieprogramski reim rada raunara Prednost je velika brzina, jer je adresa iza koda operacije Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 32 Tipovi mainskih instrukcija

Modovi adresiranja

Relativno adresiranje Adresa memorijske lokacije se odreuje u odnosu na tekui sadraj programskog brojaa (PC) Relativna adresa = PC + pomeraj Relativno adresiranje koriste najee razne instrukcije skoka (grananja) Relativna adresa u 8-bitnim raunarima je 8-bitni cio broj sa znakom pa je mogu skok unaprijed i unazad Relativna adresa je u granicama: -128 +127 Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 33 Tipovi mainskih instrukcija

Modovi adresiranja

Relativno adresiranje Naredbe sa relativnim adresiranjem se izvode brzo, jer je operand iza koda operacije Postoji ogranienje koliko podaci mogu da budu udaljeni od instrukcije koja ih koristi Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 34 Tipovi mainskih instrukcija

Modovi adresiranja

Indeksirano adresiranje Efektivna adresa = adresa podatka + indeks registar Sadraj indeks registra mora da bude prethodno definisan, odnosno mora da bude upisan korektan poetni sadraj Primer za sabiranja 100 brojeva na sukcesivnim memorijskim loka-cijama Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 35 Tipovi mainskih instrukcija

Modovi adresiranja

Indirektno adresiranje

Lokacija podatka u vreme pisanja programa nije poznata Poznata je lokacija pokazivaa na podatak Memorijska lokacija sadri adresu memorijske lokacije u kojoj se nalazi podatak Stvarna lokacija podatka se upisuje za vrijeme izvoenja programa Veoma fleksibilno adresiranje, ali je due vreme pristupa Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 36 Tipovi mainskih instrukcija

Modovi adresiranja

Adresiranje pomou baznih registara stvarna adresa = logika adresa+ bazna adresa Logika adresa je adresa koju vidi program Bazna adresa je adresa koju je programu dodijelio operativni sistem i samo on moe da je mijenja oBazni registar sadri poetnu adresu programa oOmogueno je pomjeranje programa u okviru memorije (relokacija) oDva programa mogu da imaju isti logiki prostor,ali se fizike lokacije koje odgovaraju tim logikim adresama razlikuju Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 37 Tipovi mainskih instrukcija

Modovi adresiranja

Adresiranje pomou baznih registara stvarna adresa = logika adresa+ bazna adresa Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 38 Tipovi mainskih instrukcija

Modovi adresiranja

Adresiranje primenom segmentnih registara Varijanta baznog adresiranja primenjena u IBM PC kompatibilnim raunarima Kod 8088/8086 fizika adresa lokacije podijeljena je na dve logike 16-bitne adrese: Logiku adresu koja se nalazi u polju operanda u instrukciji i predstavlja pomeraj (offset) Drugi deo logike adrese se nalazi u jednom od etiri segmentna registra: oCode Segment (CS) oData Segment (DS) oStack Segment (SS) oExtra Segment (ES) Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 39 Tipovi mainskih instrukcija

Modovi adresiranja

Adresiranje primenom segmentnih registara Operativna memorija je podijeljena na etiri segmenta a svaki od segmentnih registara ukazuje na adresu pojedinog segmenta:

Code Segment (CS) registar sadri poetnu adresu segmenta memorije u kome se nalazi program Data Segment (DS) i Extra Segment (ES) sadre poetne adrese segmenata sa podacima Stack Segment (SS) sadri poetnu adresu segmenta u kome se nalazi stek memorija Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa 3. april 2014 ARHITEKTURA RAUNARA 40 HVALA NA PANJI! Tipovi instrukcija, format instrukcija, izvravanje instrukcija, naini adresiranja, prekidi, upravljanje izvravanjem programa

3. april 2014 ARHITEKTURA RAUNARA 1

ARHITEKTURA RAUNARA BANJA LUKA COLLEGE - BLC Doc. dr Sreko Stankovi Predavanje-8

3. april 2014 ARHITEKTURA RAUNARA 2 Raunarski sistem Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Arhitektura raunara oznaava sastavne dijelove raunara i njihovu povezanost u funkcionalnu cjelinu Osnovne hardverske komponente svakog raunarskog sistema: Procesor Osnovna (operativna) memorija Periferije (ulazno/izlazni ureaji)

3. april 2014 ARHITEKTURA RAUNARA 3 Fon Nojmanov koncept raunara Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Osnovni koncepti fon Nojmanove arhitekture raunarskog sistema: U istoj memoriji uvaju se instrukcije i podaci Svi podaci su predstavljeni u binarnom obliku Instrukcije slijede jedna za drugom u memoriji raunara Nizom instrukacija (programom) opisuju se akcije koje treba da izvri raunar Raunar razmjenjuje podatke izmeu memorije i aritmetike jedinice preko akumulatora Instrukcije se izvravaju jedna za drugom dok se redoslijed eksplicitno ne promijeni naredbom za skok

3. april 2014 ARHITEKTURA RAUNARA 4 Fon Nojmanov koncept raunara Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Osnovni koncepti fon Nojmanove arhitekture raunarskog sistema: Fon Nojmanova koncepcija direktno je primijenjena kod ENIAC, EDVAC, IAS... raunara 50tih godina XX vijeka 3. april 2014 ARHITEKTURA RAUNARA 5 Drugi primjeri arhitektura raunarskih sistema Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Centralizovana arhitektura (IBM 360)

3. april 2014 ARHITEKTURA RAUNARA 6 Drugi primjeri arhitektura raunarskih sistema Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Arhitektura zasnovana na magistrali (DEC PDP-8)

3. april 2014 ARHITEKTURA RAUNARA 7 Drugi primjeri arhitektura raunarskih sistema Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Arhitektura raunara sa paralelnom obradom

3. april 2014 ARHITEKTURA RAUNARA 8 Drugi primjeri arhitektura raunarskih sistema Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Arhitektura mikroraunarskih sistema

3. april 2014 ARHITEKTURA RAUNARA 9 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Arhitektura mikroraunarskih sistema sa posebnom vezom memorije i mikroprocesora

3. april 2014 ARHITEKTURA RAUNARA 10 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Mikroprocesori Mikroprocesor je ip izraen od velikog broja tranzistora integrisanih na silicijumskoj povrini Danas se procesorske jedinice svih raunara prave od jednog ili vie mikroprocesora Od dizajna mikroprocesora zavisi dizajn svih komponenata u raunaru Od brzine rada mikroprocesora zavisi brzina rada cijelog raunarskog sistema 3. april 2014

ARHITEKTURA RAUNARA 11 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Mikroprocesori Murov zakon daje predvianje poveanja gustine integracije tranzistora u mikroprocesorskom ipu u toku vremena 3. april 2014 ARHITEKTURA RAUNARA 12 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Mikroprocesori

3. april 2014 ARHITEKTURA RAUNARA 13 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara Ubrzanje rada procesora Pajplajning Ugraena ke memorija (L1 i L2) Predvianje instrukcija skoka ... Balans performansi Poveanje brzine procesora Poveanje kapaciteta memorije Brzina memorije je manja od brzine procesora 3. april 2014

ARHITEKTURA RAUNARA 14 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara Rjeenje problema brzine memorije Poveanje broja bita koji se prenose u isto vrieme Redukovanje broja pristupa memoriji Vei ke i ke u ipu Poveanje propusnog opsega meuveza Brze magistrale Hijerarhija magistrala

3. april 2014 ARHITEKTURA RAUNARA 15 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara

3. april 2014 ARHITEKTURA RAUNARA 16 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara Problemi U/I ureaja Procesor troi mnogo vremena kada treba da upravlja perife-rijama: Koje zahtevaju esto obavljanje U/I operacija Koje zahtevaju prenosom vee koliine podataka Reenje problema Baferisanje Brze magistrale za povezivanje Poboljanje strukture magistrale Konfiguracije sa vie procesora 3. april 2014

ARHITEKTURA RAUNARA 17 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara Pregled brzine rada periferija 3. april 2014 ARHITEKTURA RAUNARA 18 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Ubrzanje rada raunara Hardversko poveanje brzine procesora Smanjenje dimenzije logikih kola Bre se prenose signali, smanjuje se vrijeme kanjenja Poveanje veliine i brzine ke memorije Postaje dio procesorskog ipa Znaajno se smanjuje vreme pristupa Promjena arhitekture i organizacije procesora Poveanje efektivne brzine izvravanja instrukcija Paralelizam 3. april 2014 ARHITEKTURA RAUNARA 19 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Novi pristup viestruka jezgra Vie procesora u jednom ipu Vei zajedniki ke Poveanje performansi procesora proporcionalan je kvadra-tnom korenu poveanja sloenosti ipa Umjesto jednog sloenog procesora u ipu, koriste se dva ili vie jednostavnih procesora u istom ipu

3. april 2014 ARHITEKTURA RAUNARA 20 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Novi pristup viestruka jezgra Primjer: IBM POWER4 - Dva jezgra bazirana na PowerPC-u 3. april 2014 ARHITEKTURA RAUNARA 21 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: CISC - Procesori sa sloenim skupom naredbi (engl. Com-plex Instruction Set Computer CISC) RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) 3. april 2014 ARHITEKTURA RAUNARA 22 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: CISC - Procesori sa sloenim skupom naredbi (engl. Com-plex Instruction Set Computer CISC) Ekonominost kodiranja naredbi i adresnih modova karakteristike su CISC procesora Rezultat ovakvog pristupa su naredbe koje se meusobno razlikuju: u duini i vremenu potrebnom za njihovo izvoenje, adresnim modovima i broju pristupa memoriji. Tadanja cijena memorije razlogom je ovakvom rjeenju. Meutim kada se sklopovskim rjeenjima, cjevovodima i superskalarnom obradom pokuala poveati brzina obrade, glavna prepreka bile su sloene naredbe i adresni modovi.

3. april 2014 ARHITEKTURA RAUNARA 23 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: CISC - Procesori sa sloenim skupom naredbi (engl. Com-plex Instruction Set Computer CISC) Tadanja cijena memorije razlogom je ovakvom rjeenju. PROBLEM Kada se sklopovskim rjeenjima, cjevovodima i superskalarnom obradom pokuala poveati brzina obrade, glavna prepreka: sloene naredbe i adresni modovi. 3. april 2014 ARHITEKTURA RAUNARA 24 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: CISC - Procesori sa sloenim skupom naredbi (engl. Com-plex Instruction Set Computer CISC) Opte karakteristike Kod CISC procesora ISA se projektuje s ciljem da naredbe imaju to vee mogunosti Kao rezultat CISC procesori imaju iroki opseg adresnih modova CISC procesori dozvoljavaju korisniku da operandi i rezultat budu proizvoljno pohranjeni kako u memoriji tako i u spremnicima opte namjene Rezultat ovakve arhitekture su naredbe razliitih duina i vremena izvoenja 3. april 2014 ARHITEKTURA RAUNARA 25 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: CISC - Procesori sa sloenim skupom naredbi (engl. Com-plex Instruction Set Computer CISC) Skalarni CISCskalarni tipovi podataka (cjelobrojni operandi i operandi s pominim zarezom) vrlo veliki skup (mainskih) instrukcija promjenjivi format instrukcija(16 64 i vie bitova) brojni i raskoni naini adresiranja(od 12 do 24 i vie) CPI (Cycles Per Instruction)od dvije periode taktnog signala do nekoliko desetina 3. april 2014 ARHITEKTURA RAUNARA 26 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Temelj RISC procesora su jednostavnije naredbe, jednake duine te pristup memoriji pomou naredbi pii/itaj (load/store). Projektanti su ustanovili da se jednostavne naredbe, jednake duine bolje uklapaju u sklopovska rjeenja cjevovoda i superskalarne obrade. Ovakav pristup dozvoljava veu frekvenciju takta. 3. april 2014 ARHITEKTURA RAUNARA 27 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Ovakav pristup zahtijeva veu memoriju te uestaliji pristup memoriji, Bra memorija kao i tehnike preddohvata naredbi praktiki su donijeli prevagu ovom konceptu koji je dodatno unaprijeen cjevovodom i superskalarnom obradom. 3. april 2014 ARHITEKTURA RAUNARA 28 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Ovakav pristup zahtijeva veu memoriju te uestaliji pristup memoriji, Bra memorija kao i tehnike preddohvata naredbi praktiki su donijeli prevagu ovom konceptu koji je dodatno unaprijeen cjevovodom i superskalarnom obradom. 3. april 2014 ARHITEKTURA RAUNARA 29 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Skalarni RISCskalarni tipovi podataka(cjelobrojni operandi i operandi s pominim zarezom) mali skup (strojnih) instrukcija jednako trajanje izvoenja svih naredbi (CPI - jedna perioda taktnog signala potrebna je za veinu instrukcija) Ovaj jednostavan koncept je najvaniji temelj u projektovanju RISC-a. Prve definicije RISC-a podrazumijevale su da se sve naredbe izvode u jednom ciklusu

3. april 2014 ARHITEKTURA RAUNARA 30 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Skalarni RISCskalarni tipovi podataka(cjelobrojni operandi i operandi s pominim zarezom) Realizacija cjevovoda je jednostavnija ukoliko se u svakom taktu starta po jedna naredba instrukcije su fiksne duine(npr. 32 bita) veina instrukcija su tipa registar-registar

3. april 2014 ARHITEKTURA RAUNARA 31 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) load / store arhitektura projektanti RISC raunara ograniavaju se na izvoenje svih operacija nad operandima pohranjenim u spremnicima procesora pristup operandima u memoriji ogranien je na operacije njihova dohvata (load)i pohrane (store) ova vrsta podjela izmeu pristupa operandima u memoriji i njihove obrade minimizira broj pristupa memoriji od strane procesora, odnosno reducira optereenje vanjske sabirnice 3. april 2014 ARHITEKTURA RAUNARA 32 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Dvije osnovne procesorske arhitekture: RISC - Procesori sa smanjenim skupom naredbi (engl. Reduced Instruction Set Computer RISC) Jednostavni adresni modovi sloeni adresni modovi zahtijevaju vie taktova budui da se mora provesti vie aritmetikih operacija RISC procesori obino su ogranieni na samo dva adresna moda: indirektno pomou spremnika (register indirect) i indeksno 3. april 2014 ARHITEKTURA RAUNARA 33 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo CISC ili RISC 3. april 2014 ARHITEKTURA RAUNARA 34 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Prelaz s CISC na RISC procesore Uvoenjem paralelizma u radu procesora mogue je istovremeno obraivati vie naredbi. Time se poveava propusna mo procesora, odnosno broj naredbi koje on moe obraditi u jedinici vremena Danas su uobiajena rjeenja: preddohvat naredbe (prefetching) cjevovod (pipeline) superskalarne operacije 3. april 2014 ARHITEKTURA RAUNARA 35 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Prelaz s CISC na RISC procesore Preddohvat naredbe (prefetching) Brzina obrade moe se znaajno poveati ukoliko se sljedea naredba dohvati ve za vrijeme izvoenja tekue naredbe Preddohvat naredbe predstavlja preteu cjevovoda Cjevovod (pipeline) Jednostavno reeno, cjevovod podrazumijeva dohvat i poetak izvoenja sljedee naredbe prije nego to je zavrila tekua naredba Savremeni procesori proces izvoenja sljedee naredbe privode skoro kraju u trenutku zavretka tekue naredbe

3. april 2014 ARHITEKTURA RAUNARA 36 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Prelaz s CISC na RISC procesore Superskalarne operacije Superskalarno raunanje podrazumijeva istovremeno izvoenje vie naredbi Ovi raunari imaju vie cjelovitih jedinica za izvoenje to omo-guava istovremenu obradu vie naredbi 3. april 2014 ARHITEKTURA RAUNARA 37 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Superskalarni RISC izdaju i izvravaju vie od jedne instrukcije tijekom jedne periode taktnog signala Superskalarni RISC CISC procesori koji koriste superskalarno RISC jezgro CISC instrukcije se pretvaraju tokom dekodiranja u RISC i zatim se izvravaju u RISC jezgri istovremeno se mogu izvoditi od 1 do 3 CISC instrukcije (u jednoj periodi taktnog signala) 3. april 2014 ARHITEKTURA RAUNARA 38 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo DILEMA: CISC ili RISC Oba tipa procesora su komercijalno u primjeni: Pentium procesor (Intel, AMD): CISC arhitektura (superskalarni CISC) Bazirani na RISC arhitekturi u samoj svojoj jezgri Dominantni na desktop raunalima PowerPC procesori (Apple, IBM, Motorola): RISC arhitektura (superskalarni RISC) 3. april 2014 ARHITEKTURA RAUNARA 39 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Model (mikro)procesora CISC arhitekture 3. april 2014 ARHITEKTURA RAUNARA 40 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Pribavi i izvri (fetch & execute) Izvoenje svake instrukcije se dijeli na:

fazu pribavljanja instrukcije PRIBAVI (fetch) fazu izvravanja instrukcije IZVRI (execute) 3. april 2014 ARHITEKTURA RAUNARA 41 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Pribavi i izvri (fetch & execute) Izvoenje svake instrukcije se dijeli na: fazu pribavljanja instrukcije PRIBAVI (fetch) Mikroprocesor za vrijeme faze PRIBAVI postavlja sadraj programskog brojila preko interne sabirnicena vanjsku adresnu sabirnicu. Ujedno alje i odgovarajue upravljake signale (signal ITAJ) na vanjsku upravljaku sabirnicu. Memorijski sklop dekodira postavljenu adresu (prisutnu na adresnoj sabirnici) u cilju pristupa do odgovarajue memorijske rijei. 3. april 2014 ARHITEKTURA RAUNARA 42 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Pribavi i izvri (fetch & execute) Izvoenje svake instrukcije se dijeli na:

fazu pribavljanja instrukcije PRIBAVI (fetch) Za nekolio stotina ns (npr. 500 ns) sadraj specificirane memorijske lokacije pojavit e se na vanjskoj sabirnici podataka. Taj se sadraj pohranjuje u instrukcijskom registru IR i to je operacijski kod instrukcije. Za vrijeme faze PRIBAVI mikroprocesor upotrebljava svoju internu logiku i poveava sadraj programskog brojila.

3. april 2014 ARHITEKTURA RAUNARA 43 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Pribavi i izvri (fetch & execute) Izvoenje svake instrukcije se dijeli na: fazu izvravanja instrukcije IZVRI (execute) U fazi IZVRI upravljaka jedinica, u skladu s operacijskim kodom koji je pohranjen u instrukcijskom registru, generie niz upravljakih signala. Rezultat tog niza signala su odgovarajui prenosi podataka, te operacije (npr. aktiviranje pojedinih sklopova unutar aritmetiko-logike jedinice), izvravanja (izvoenja) zadane instrukcije. 3. april 2014 ARHITEKTURA RAUNARA 44 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo SRISC Simple RISC Programerski model raunara Jednostavan procesor sa smanjenim skupom naredbi ima 32 32-bitovna spremnika opte namjene, programsko brojilo PC i spremnik naredbe IR. Memorija (Big-Endian Byte Ordering) je kapaciteta 232 okteta, ali procesor u jednom pristupu memoriji ita ili upisuje etiri okteta - 32 bita. Ovaj procesor organizovan je kao procesor sa spremnicima opte namjene tako da se memoriji moe pristupati samo preko naredbi load i store. 3. april 2014 ARHITEKTURA RAUNARA 45 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Formalan opis (S)RISCaRegister Transfer Notation (RTN)

Neformalan opis daje vie intuitivni osjeaj kako procesor radi i ta treba raditi ali je neprecizan, nepotpun, a ponekad i zbunjujui Za formalan, odnosno precizan opis rada procesora koriste se razliiti jezici. Ovdje e se koristiti RTN (engl. Register Transfer Notation). Svrha uvoenja formalnog jezika je jednostavan i jednoznaan opis funkcionisanja procesora. 3. april 2014 ARHITEKTURA RAUNARA 46 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Formalan opis (S)RISCaRegister Transfer Notation (RTN)

Ovakav pristup opravdan je iz sljedeih razloga: Osnovno djelovanje CPU-a je prenos podataka (naredbi i operanada) meu spremnicima, RTN omoguava jednostavan i jednoznaan opis strukture procesora i njegovo djelovanje, RTN omoguava direktno preslikavanje funkcija u sklopove (engl. hardware). 3. april 2014 ARHITEKTURA RAUNARA 47 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Formalan opis (S)RISCaRegister Transfer Notation (RTN)

U usporedbi sa mainskim jezikom, RTN se moe smatrati kao meta jezikili jezik koji se koristi da opie jezike RTN sprjeava greke zbog pogrene interpretacije neformalnog opisa raunara te greke u projektovanju i implementaciji RTN program prevodilac moe automatski generisati C simulator za procesor koji se projektiuje ili imati izlaz za ureaj za izradu maski za integrisane sklopove 3. april 2014 ARHITEKTURA RAUNARA 48 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Opis RTN naredbi 3. april 2014 ARHITEKTURA RAUNARA 49 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Opis RTN naredbi naredbe za pristup memoriji 3. april 2014 ARHITEKTURA RAUNARA 50 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Opis RTN naredbi naredbe za grananje 3. april 2014 ARHITEKTURA RAUNARA 51 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Opis RTN naredbi Aritmetike i logike naredbe 3. april 2014 ARHITEKTURA RAUNARA 52 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori CISC (Complex Instruction-Set Computer)

Pojedinana instrukcija moe da izvrava nekoliko osnovnih operacija: itanje podatka iz memorije, aritmetika operacija i uvanje podatka u memoriji Arhitektura je prilagoena viim programskim jezicima Do sada je Intel razvio veliki broj raznih tipova mikroprocesora 1971. 4004 sa 2300 tranzistora, 4-bitna arhitektura 1974. 8080, 8-bitna arhitektura 3. april 2014 ARHITEKTURA RAUNARA 53 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori CISC (Complex Instruction-Set Computer)

1978. 8086, 8088,16-bitna arhitektura 1982. 80286, 24 bitno adresiranje, 16-bitna arhitektura Od 1985. 32-bitne arhitekture raunara (80386, 80486, Pentium procesori) Od 2004. 64-bitne arhitekture 3. april 2014 ARHITEKTURA RAUNARA 54 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 1971. Intel 4004 3. april 2014 ARHITEKTURA RAUNARA 55 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori

1974. prvi osmobitni mikroprocesori (i8080) Od 1978. u upotrebi su 16-bitni mikroprocesori (i8086) 3. april 2014 ARHITEKTURA RAUNARA 56 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori

Od 1982. poinje upotreba 32-bitnih procesora 1981. IBM izabrao 8-bitni Intel 8088 za PC/XT raunar Adresira 1MB, frekvencija 5-12MHz 1983. IBM PC/AT sa i80286 Adresni prostor od 16MB frekvencija 5-12MHz, broj tranzistora 134000 Kopiraju ih razne firme (AMD, Cyrux, Simens, IBM, ...) 1985. pojavio se i80386/i80386SX 32-bitni, frekvencija 12-40MHz, adresirao je 4GB, broj tranzistora 275000 3. april 2014 ARHITEKTURA RAUNARA 57 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori

Od 1989 pojava procesora 80486 3. april 2014 ARHITEKTURA RAUNARA 58 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori

Od 1992 Pentium 3. april 2014 ARHITEKTURA RAUNARA 59 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 60 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 61 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 62 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 63 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori RISC (Reduced Instruction-Set Computer)

Smanjen broj taktova za izvrenje instrukcije Koristi se fiksan format instrukcije Smanjen broj instrukcija za pristup osnovnoj memoriji Smanjen broj kodova koje procesor prepoznaje Do sada je proizveden veliki broj RISC procesora Motorola (88000, ...PowerPC), Silicon Graphics (MIPS R1000, ..., R112000), Digital (Alpha), HP (PA-RISC 8200, 8600), Intel (i860XP) 3. april 2014 ARHITEKTURA RAUNARA 64 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori Spoljanje komponente su povezane sa mikroprocesorom preko sistemske magistrale Procesori se uzajamno razlikuju po irini magistrale za podatke i adresne magistrale 3. april 2014 ARHITEKTURA RAUNARA 65 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori Pregled veliine adresnih magistrala kod Intelovih procesora 3. april 2014 ARHITEKTURA RAUNARA 66 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 67 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 68 Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo Intelovi mikroprocesori 3. april 2014 ARHITEKTURA RAUNARA 69 HVALA NA PANJI! Pojednostavnjeni modeli (mikro)procesora CISC i RISC, pentium procesori, mikroprocesorski nivo

3. april 2014 ARHITEKTURA RAUNARA 1

ARHITEKTURA RAUNARA BANJA LUKA COLLEGE - BLC Doc. dr Sreko Stankovi Predavanje-9

3. april 2014 ARHITEKTURA RAUNARA 2

Projektovanje procesora Pristup projektanta 1.Funkcija procesora 2.Formalno i neformalno opisane naredbe koje procesor mora izvoditi 3.Sklopovi neophodni u realizaciji 4.Definisanje puteva podataka 5.Memorije i veze koji se koriste u procesu promjene podataka kojima se realizuju naredbe Naredni korak 1.Projektovanje sklopova

3. april 2014 ARHITEKTURA RAUNARA 3

Projektovanje procesora Projektovanje sklopova Razmatranje? Koje upravljake signale je potrebno generisati? Primjer: signal za upis u memoriju, upii, signal za postavljanje sadraja memorije na sabirnicu, postavi

3. april 2014 ARHITEKTURA RAUNARA 4 Projektovanje procesora Poslednji korak u projektovanju Realizacija upravljake jedinice (generie upravljake signale) Svaki od tri navedena koraka sadri specifikacije ta je potrebno napraviti u sledeem koraku Ponekad potrebno vie Iteracija Vaan poetni korak u procesu projektovanja procesora bio je apstraktan te kasnije precizan opis pomou RTNa njegovog skupa naredbi, odnosno arhitekture skupa naredbi

3. april 2014 ARHITEKTURA RAUNARA 5 Projektovanje procesora Apstraktan opis je potpuno nezavisan o domenu implementacije i definie statika svojstva procesora, spremnike i memoriju, te dinamika svojstva i operacije Konkretan RTN (Register Transfer Notation) opisuje detalje prenosa podataka izmeu spremnika, odnosno radnje koje se dogaaju na putevima podataka Proces izvoenja naredbe je osnovna jedinica apstraktnog opisa Koraci konkretnog RTNa odgovaraju aktivnostima sinhro-niziranim s procesorskim taktom 3. april 2014 ARHITEKTURA RAUNARA 6 Projektovanje procesora Razliite sklopovske arhitekture mogu podravati istu arhitekturu skupa naredbi Mnogi proizvoai realizovali su navedene specifikacije na razliite naine U emu su razlike? itavom nizu praktikih detalja: struktura sabirnica, vrijeme izvoenja naredbi, veliina cjevovoda, stepen paralelne obrade vie naredbi itd... 3. april 2014 ARHITEKTURA RAUNARA 7 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRCa Konkretan RTN opis slijedi iz odreene mikroarhitekture procesora kojom se namjerava realizovati arhitektura skupa naredbi Pojam mikroarhitekture odnosi se na: spremnike procesora, sistem sabirnica i ostale funkcionalne jedinice: ALU, Upravljaka jedinica, brojila 3. april 2014 ARHITEKTURA RAUNARA 8 Projektovanje procesora Meusobno povezane pojedine funkcionalne jedinice procesora 3. april 2014 ARHITEKTURA RAUNARA 9 Projektovanje procesora Dijelovi procesora 3. april 2014 ARHITEKTURA RAUNARA 10 Projekovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Osnovni podsistemi raunara su: Centralna procesna jedinica (CPU), Glavna memorija i Ulazno/izlazni ureaji. Putevi podataka (data path) su spremnici i meuveze koji se koriste u procesu promjena podatka kojima se realizuju naredbe. Putevi podataka su povezani s upravljakom jedinicom. Upravljaka jedinica dobija informacije, signale, od puteva podataka na osnovu kojih generie upravljake signale. Upravljaki signali upravljaju tokovima podataka unutar CPU-a, izmeu CPU-a i glavne memorije, te izmeu CPU-a i U/I ureaja. 3. april 2014 ARHITEKTURA RAUNARA 11 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) A, C-za privremenu pohranu operanda i rezultata prilikom obavljanja ALU nare-dbi. MA (memory address), MD (memory data)-koriste se kao meuveza s memo-rijom i ulazno/izlaznim ureajima. MA sadri memorijsku adresu ope-randa. MD meuspremnik podataka koje ulaze u CPU ili izlaze iz njega). RTN (Register Transfer Notation) - nain opisa koji omoguava da se procesor opi-e jednostavno i nedvosmisleno, a zna-ajan je za sklopovsku realizaciju funkcija procesora. Upravljaka sekvenca-slijed signala kojim se upravlja putevima podataka 3. april 2014 ARHITEKTURA RAUNARA 12 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) ADDI - naredba za neposredno sabiranje 3. april 2014 ARHITEKTURA RAUNARA 13 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje RTN-a: Postavi sadraj PCa i upii u MA. Ujedno inkrementiraj sadraj PCa pomou ALU i rezultat pohrani u privremeni spremnik C. Oitaj sadraj memorijske lokacije na adresi na koju pokazuje sadraj MA i upii u meuspremnik MD. Postavi sadraj privremenog spremnika C na sabirnicu i upii u PC. Postavi sadraj MDa na sabirnicu i upii u IR. Sklopovi sada dekodiraju naredbu i zakljuuju da se radi o sabiranju. Postavi sadraj spremnika rb na sabirnicu i upii ga u privremeni spremnik A. Postavi sadraj spremnika rc na sabirnicu, naredi ALU da izvede sabiranje sadraja privremenog spremnika A i sadraja na sabirnici te rezultat upii u privremeni spremnik C. Postavi sadraj spremnika C na sabirnicu i upii ga u spremnik ra. (prva tri koraka identina za svaku naredbu kod ovakve mikroarhitekture) 3. april 2014 ARHITEKTURA RAUNARA 14 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje upravljake sekvence: Upravljakom sekvencom se realizuje procedura dohvata i izvoenja naredbe. Nakon definisanja upravljake sekvence svake pojedine naredbe, pristupa se projektovanju upravljake jedinice koja ima zadatak generisati projektovanu upravljaku sekvencu prema zadanom vremenskom dijagramu. Upravljaka sekvenca je slijed signala kojim se upravlja putevima podataka. Upravljaki signali upisuju sadraj u spremnike (strobe) te postavljaju sadraj spremnika na odreenim linijama (gate). 3. april 2014 ARHITEKTURA RAUNARA 15 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Upravljaka jedinica je u svakom pogledu srce procesora Upravljaka jedinica prihvaa kao ulaz signale koji opisuju ta procesor mora raditi i u kojem se stanju procesor trenutno nalazi, te generie signale potrebne za voenje rada procesora. 3. april 2014 ARHITEKTURA RAUNARA 16 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC)

Izlazni signali iz upravljake jedinice su upravljaka sekvenca naredbe koja se izvodi Oni se generiu na osnovu etiri osnovna izvora informacija: Polje operacijskog koda naredbe odnosno pet bita najveeg znaenja spremnika naredbe, IR. Preostali signali s putova podataka tu spada rezultat usporedbe uvjeta, uvjet, posmano brojilo n, tj. uvjetni kodovi kod procesora sa statusnim i uvjetnim spremnikom. Podatak o koraku naredbe koji se trenutno izvodi, odnosno izlaz iz generator koraka. Vanjski signali kao to su: oStart, ekaj, Izvreno, ozahtjev za prekidom, Int ozahtjev za postavljanjem u poetno stanje, Reset. 3. april 2014 ARHITEKTURA RAUNARA 17 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje upravljake sekvence: U koraku T3 signalima Grb i Rout odabire se spremnik rb i postavlja njegov sadraj na sabirnicu. Isti sadraj se zatim upisuje u privremeni spremnik A aktiviranjem signala Ain. U koraku T5 se nakon postavljanja sadraja spremnika C na sabirnicu aktiviranjem signala Cout, odabire spremnik ra signalom Gra i upisuje u njega sadraj sa sabirnice aktiviranjem signala Rin. Sve aritmetike i logike naredbe koriste slinu upravljaku sekvencu. 3. april 2014 ARHITEKTURA RAUNARA 18 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje upravljake sekvence: ADDI - naredba za neposredno sabiranje 3. april 2014 ARHITEKTURA RAUNARA 19 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje RTN-a: Velika je slinost ove naredbe i naredbe za sabiranje sadraja dvaju spremnika, add. One se razlikuju samo u etvrtom koraku kada se drugi operand na sabirnicu postavlja direktno iz spremnika naredbe, IR, uz proirenje predznaka bitova 17..31. (Objanjenje: konstanta koja je u IRu je 16bit-na i treba se pretvoriti u 32bit-nu, pa se bit predznaka prebacuje na 31. bit tako da bi se mogla sabrati s A). 3. april 2014 ARHITEKTURA RAUNARA 20 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Objanjenje upravljake sekvence: U koraku T4 drugi operand se dohvaa iz dijela spremnika naredbe aktiviranjem signala c2out. Konstanti se sklopovski proiruje predznak, 16 bit, na preostale bitove 17..31. LD (load) i ST (store) - naredbe za prebacivanje podataka 3. april 2014 ARHITEKTURA RAUNARA 21 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) LD (load) i ST (store) - naredbe za prebacivanje podataka Sprema sadraj s memorijske lokacije u registar Sprema sadraj registra na memorijsku lokaciju 3. april 2014 ARHITEKTURA RAUNARA 22 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) LD (load) i ST (store) - naredbe za prebacivanje podataka T3 - baza adrese odreuje se kada se u privremeni spremnik A upisuje 0 ako je rb = 0, tj. sadraj spremnika rb ako je rb 0. T4 - izrauna se efektivna adresa pribrajanjem konstante(offset), koja je sastavni dio naredbe uz proirenje njenog predznaka, s bazom koja se nalazi upisana u privremenom spremniku A. T5 - upisuje se memorijska adresa u spremnik MA. Load Store T6 iz memorije u meuspremnik MD T6 podatak iz spremnika ra prebacuje se u MD T7 iz MD u odredini spremnika ra T7 iz MD u memoriju 3. april 2014 ARHITEKTURA RAUNARA 23 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Upravljaka sekvenca za load naredbu: T3 sadraj spremnika rb se postavlja na sabirnicu ne pomou signala Rout, nego pomou signala BAout (upravljaki signal (BA Base Address) koji se koristi u proraunu efektivne adrese iz bazne adrese). Ovim rjeenjem se na sabirnicu postavlja sadraj odabranog spremnika ukoliko nije odabran R[0] (kada je rb=0) kada se na sabirnicu postavljaju sve 0. Ova vrijednost se upisuje u privremeni spremnik A. 3. april 2014 ARHITEKTURA RAUNARA 24 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Upravljaka sekvenca za load naredbu: T4 - na sabirnicu se postavlja konstanta c2 kojoj se proiri predznak i ona se pribroji sadraju privremenog spremnika A. Na kraju ovog koraka u privremenom spremniku C upisana je efektivna adresa operanda iz memorije. Posljednja tri koraka slina su dohvatu naredbe. 3. april 2014 ARHITEKTURA RAUNARA 25 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) Upravljaka sekvenca za store naredbu: Naredba za upis sadraja spremnika na memorijsku lokaciju, store, slina je opisanoj naredbi upisa sadraja memorijske lokacije u spremnik. Razlika je u koracima T6 i T7. T6 - upisuje se sadraj odabranog spremnika u MD spremnik aktiviranjem signala MDbus i Upii. (signali MDbus i MDrd odabiru smjer iz kojeg se podatak upisuje u spremnik MD, prvi s procesorske sabirnice, a drugi s memorijske data sabirnice). T7 - generira se signal Pii (Write), a signal ekaj podrazumijeva odgovor memorije da je upisan sadraj s data sabirnice postavljanjem signala Izvreno. 3. april 2014 ARHITEKTURA RAUNARA 26 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) MAKSIMALNA FREKEVENCIJA TAKTA Kanjenje na sklopovima je ograniavajui faktor brzine rada. Kanjenje se definie kao vrijeme koje protekne od promjene na ulazu do promjene na izlazu sklopa. Maksimalna frekvencija ovisi o ukupnom vremenu kanjenja koje odreujemo prema kanjenju naredbe koja prolazi kroz najvie sklopova. 3. april 2014 ARHITEKTURA RAUNARA 27 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) PRENOS PODATAKA IZ REGISTRA U REGISTAR Moramo biti u mogunosti prebaciti podatak iz bilo kojeg registra u bilo koji registar, a ne imati tano odreen skup ulazinh i skup izlaznih registara (npr. registar A moe u jednom trenutku biti ulaz, a u drugom izlaz) Ovo je mogua pod uslovom da su svi a-ovi osim jednog u 0. Nakon to su samo jedna vrata(a) aktivna clock signalom se zapisuju podatak u odgovajui registar 3. april 2014 ARHITEKTURA RAUNARA 28 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) POBOLJANJE SISTEMA: Dvo-sabirnika i tro-sabirnika SRC arhitektura: Ukoliko se povea broj sabirnica, odnosno broj meuveza, mogue je istovremeno prenositi vie podataka. Tako je broj i konfiguracija sabirnica jedan od odluujuih faktora u poveanju performansi procesora. S druge strane poveanje broja sabirnice, neovisno o nivou imple-mentacije, rezultira u poveanju cijene procesora. Potrebno je pronai kompromis izmeu dva oprena zahtjeva, perfor-manse cijena. 3. april 2014 ARHITEKTURA RAUNARA 29 Projektovanje procesora Jedno-sabirnika mikroarhitektura SRC-a( Simple RISC) POBOLJANJE SISTEMA: Dvo-sabirnika i tro-sabirnika SRC arhitektura: Ukoliko se povea broj sabirnica, odnosno broj meuveza, mogue je istovremeno prenositi vie podataka. Tako je broj i konfiguracija sabirnica jedan od odluujuih faktora u poveanju performansi procesora. S druge strane poveanje broja sabirnice, neovisno o nivou imple-mentacije, rezultira u poveanju cijene procesora. Potrebno je pronai kompromis izmeu dva oprena zahtjeva, perfor-manse cijena. 3. april 2014 ARHITEKTURA RAUNARA 30 Projektovanje procesora Tro-sabirnika arhitektura: Uvoenjem tree sabirnice u arhi-tekturu SRCa moe se isto-vremeno na ALU dovesti oba ope-randa i rezultat upisati u odredini spremnik. Ovom arhitekturom smanjen je ukupan broj koraka na svega tri te je eliminiran i privremeni spremnik A Detaljnom analizom se pokae kako je stvarno poboljanje perfor-mansi znaajno. Primjer: analiza naredbe ld pokazala je smanjenje broja ko-raka s osam na etiri 3. april 2014 ARHITEKTURA RAUNARA 31 HVALA NA PANJI! Projekovanje procesora

3. april 2014 ARHITEKTURA RAUNARA 1

ARHITEKTURA RAUNARA BANJA LUKA COLLEGE - BLC Doc. dr Sreko Stankovi Predavanje-10

3. april 2014 ARHITEKTURA RAUNARA 2

Projektovanje procesora sa cjevovodom Osnovni princip rada Primjer: Praonica odjee Praonica odjee radi u tri faze: 1.Pranje u maini: 2.Suenje u suilici: 3.Peglanje i slaganje odjee Neka svaka faza zahtijeva 30 min. Predpostavka da etiri klijenta dolaze u isto vrijeme

3. april 2014 ARHITEKTURA RAUNARA 3

Projektovanje procesora sa cjevovodom Osnovni princip rada Sekvencijalna praonica 3. april 2014 ARHITEKTURA RAUNARA 4 Projektovanje procesora sa cjevovodom Osnovni princip rada Praonica sa cjevovod implementacijom

3. april 2014 ARHITEKTURA RAUNARA 5

Projektovanje procesora sa cjevovodom Osnovni princip rada Generalizacija Neka konstantno pristiu zadaci od kojih se svaki moe podjeliti u k podzadataka Svaki podzadatak izvodi se u separatnoj fazi koja zahtijeva jednu vremensku jedinicu Ukupno vrijeme izvrenja jednog zadatka zahtijeva k vremenskih jedinica Cjevovod implementacija zapoinje drugi zadatak prije kraja prvog zadatka U datom trenutku maksimalno k faza radit e paralelno na k razliitih zadataka 3. april 2014 ARHITEKTURA RAUNARA 6 Projektovanje procesora sa cjevovodom Osnovni princip rada Generalizacija Bez cjevovoda jedan zadatak zavrava se za K vremenskih jedinica Sa cjevovodom jedan zadatak zavrava se u svakoj vremenskoj jednici 3. april 2014 ARHITEKTURA RAUNARA 7 Projektovanje procesora sa cjevovodom Osnovni princip rada Sinhroni cjevovod Koristi registre za simultano snimanje rezultata izmeu faza Na poetku svakog novog ciklusa clock signala u registrima se nalaze rezultati iz prethodnih faza Svaka faza cjevovoda implementira se kao kombinatorno kolo Poeljno je izbalansirati trajanje svake faze Clock ciklus odreuje se na osnovu trajanja najdue faze

3. april 2014 ARHITEKTURA RAUNARA 8

Projektovanje procesora sa cjevovodom Osnovni princip rada Performanse Neka je ti vrijeme procesiranja faze Fi Ciklus clock signala je tada t = max(ti) tj frekvencija clock signala je f = 1/t = 1/max(ti) Cjevovod procesira n zadataka u k+n1 ciklusa ok ciklusa potrebno da cjevovod procesira prvi zadatak on1 ciklus potrebno da se procesira preostalih n1 zadataka Ubrzanje u odnosu na serijski sluaj je:

3. april 2014 ARHITEKTURA RAUNARA 9

Projektovanje procesora sa cjevovodom Osnovni princip rada Jednociklusni datapath 3. april 2014 ARHITEKTURA RAUNARA 10 Projektovanje procesora sa cjevovodom Osnovni princip rada Datapath sa cjevovodom Izmeu faza dodati cjevovod registri oCjevovod registri se oznaavaju na osnovu faza koje razdvajaju

3. april 2014 ARHITEKTURA RAUNARA 11

Projektovanje procesora sa cjevovodom Osnovni princip rada Vremenski dijagram Dijagram izvrenja dvije sukcesivne instrukcije 3. april 2014 ARHITEKTURA RAUNARA 12 Projektovanje procesora sa cjevovodom Osnovni princip rada Grafiki prikaz izvrenja u cjevovodu Tokom vie ciklusa clock signala paralelno se izvodi vie instrukcija Grafik pokazuje koritenje pojedinih resursa u cjevovodu 3. april 2014 ARHITEKTURA RAUNARA 13 Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrola jednociklusnog CPU

3. april 2014 ARHITEKTURA RAUNARA 14

Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrola i cjevovod Na isti nain kao za datapath dodati registre za formiranje cjevovoda za kontrolne signale Koristiti u svakoj fazi samo one kontrolne signale koji se odnose za datu fazu ID (Dekodiranje instrukcije i itanje registara) oGenerie sve kontrolne signale okoristi: RegDst Ex (izvravanje istrukcije ili raunanje adrese) okoristi: ALUSrc, ALUOp, Beq, Bne, J i zero MEM (Pristup memoriji) okoristi: MemRead, MemWrite i MemtoReg WB (pisanje rezultata) okoristi: RegWrite 3. april 2014 ARHITEKTURA RAUNARA 15 Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrola CPU-a sa cjevovodom 3. april 2014 ARHITEKTURA RAUNARA 16 Projektovanje procesora sa cjevovodom Osnovni princip rada Cjevovod hazardi Situacije koje nastaju u cjevovodu koje bi izazvale pogreno izvrenje instrukcije u sluaju da se neka faza cjevovoda izvri u predvienom ciklusu: Strukturni hazard (structural hazard) Kada dvije instrukcije trebaju istovremeno da koriste istu funkcio-nalnu jedinicu Data hazard (data hazard) Kada izvrenje instrukcije zavisi od rezultata instrukcije koja se jo uvi-jek izvrava u cjevovodu Kontrolni hazard (control hazard) Kada preuzimanje (fetch) instrukcije ovisi o rezultatu izvrenja in-strukcije koja je u cjevovodu

3. april 2014 ARHITEKTURA RAUNARA 17 Projektovanje procesora sa cjevovodom Osnovni princip rada Cjevovod hazardi Hazardi komplikuju implementaciju kontrole i degradiraju perfor-manse 3. april 2014 ARHITEKTURA RAUNARA 18 Projektovanje procesora sa cjevovodom Osnovni princip rada Strukturni hazard 1 Za sluaj da postoji samo jedna memorija: oSkupo postojanje dvije memorije oRjeava se uvoenjem L1 ke memorija za podatke i instrukcije 3. april 2014 ARHITEKTURA RAUNARA 19 Projektovanje procesora sa cjevovodom Osnovni princip rada Strukturni hazard 2 Istovremeno itanje i pisanje registara: oPristup registrima veoma brz oRjeenje se nalazi na nain da se pisanje obavlja u prvoj polovini ciklusa a itanje u drugoj polovini ciklusa i in-strukcije

3. april 2014 ARHITEKTURA RAUNARA 20 Projektovanje procesora sa cjevovodom Osnovni princip rada Data hazard Meuovisnost dvije instrukcije koje se pojavljuju blizu u kodu dovodi do data hazarda itanje neposredno nakon pisanja (RAW) oI instrukcija dolazi prije od J instrukcije a I zapisuje rezultat u registar koji potrauje instrukcija J npr:

3. april 2014 ARHITEKTURA RAUNARA 21 Projektovanje procesora sa cjevovodom Osnovni princip rada Data hazard- Rjeenje 1: Odgaanje izvoenja Odgoditi dekodiranje instrukcije koja ita, dok prethodna faza ne zavri upisivanje u registar (tzv pipeline stall) Bubble je NOP operacija koja ne modificira ni registre ni memoriju otroi clock cikluse ne radei nita

3. april 2014 ARHITEKTURA RAUNARA 22 Projektovanje procesora sa cjevovodom Osnovni princip rada Data hazard- Rjeenje 2: Proslijeivanje (forwarding) Rezultat iz ALU jedinice proslijeuje se sljedeoj instrukciji im postane na raspolaganju 3. april 2014 ARHITEKTURA RAUNARA 23 Projektovanje procesora sa cjevovodom Osnovni princip rada Implementacija proslijeivanja Dvije MUX jedince skupa sa njihovim kontrolnim signalima ForwardA and ForwardB dodaju se u datapath

3. april 2014 ARHITEKTURA RAUNARA 24 Projektovanje procesora sa cjevovodom Osnovni princip rada RAW hazard detekcija Trenutna instrukcija koja se dekodira je u IF/ID registru Posljednja instrukcija je u ID/EX registru Pretposljednja instrukcija je u EX/MEM registru RAW hazard uslovi: IF/ID.Rs=ID/EX.Rw IF/ID.Rt=ID/EX.Rw IF/ID.Rs=EX/MEM.Rw IF/ID.Rt=EX/MEM.Rw

3. april 2014 ARHITEKTURA RAUNARA 25 Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrola prosljeivanja 3. april 2014 ARHITEKTURA RAUNARA 26 Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrolni signal vrijednosti 3. april 2014 ARHITEKTURA RAUNARA 27 Projektovanje procesora sa cjevovodom Osnovni princip rada Kontrolni signal vrijednosti 3. april 2014 ARHITEKTURA RAUNARA 28 Projektovanje procesora sa cjevovodom 3. april 2014 ARHITEKTURA RAUNARA 29 Projektovanje procesora sa cjevovodom Kanjenje usljed load instrukcije Load instrukcija ima kanjenje koje se ne moe rijeiti proslijeivanjem U primjeru olw instrukcija nema podatak sve do kraja CC4 oand instrukcija zahtijeva podatak na poetku CC4 oproslijeivanje je mogue odraditi tek za instrukciju or 3. april 2014 ARHITEKTURA RAUNARA 30 Projektovanje procesora sa cjevovodom Detektovanje RAW hazarda nakon load Za detektovanje hazarda potrebni su uslovi: oload instrukcija je u ID/EX registru oInstrukcija koja treba podatak proitan od load instrukcije je u IF/ID register

tj: if ((ID/EX.MemRead == 1) and (ID/EX.Rw 0) and ((ID/EX.Rw == IF/ID.Rs) or (ID/EX.Rw == IF/ID.Rt))) Stall Rjeava se ubacivanjem bubble (mjehuria) nakon load instrukcije oMjehuri je sutinski nop operacija koja troi jedan ciklus 3. april 2014 ARHITEKTURA RAUNARA

31 Projektovanje procesora sa cjevovodom Pipeline interlock Pipeline interlock hardver za detekciju i tretman load hazarda oOriginalni MIPS je bez pipeline interlock hardvera oZadrava stare vrijednosti PC i IF/ID registara ne dohvata se nova instrukcija, a instrukcija nakon load odgoena je za jedan ciklus Implementira se unoenjem mjehuria (bubble) u ID/EX registre 3. april 2014 ARHITEKTURA RAUNARA 32 Projektovanje procesora sa cjevovodom Pipeline interlock implementacija 3. april 2014 ARHITEKTURA RAUNARA 33 Projektovanje procesora sa cjevovodom Kompajler optimiziranje koda Kompajleri tokom prevoenja koda mogu izvriti preinake u redosljedu izvoenja kako bi se izbjegla odgaanja instrukcija u cjevovodu Neka je dat C kod cegment: a = b + c; d = e f; 3. april 2014 ARHITEKTURA RAUNARA 34 Projektovanje procesora sa cjevovodom Kontrolni hazard: branch instrukcija 3. april 2014 ARHITEKTURA RAUNARA 35 Projektovanje procesora sa cjevovodom Dvociklusno kanjenje usljed branch Inst1 i Inst2 e biti dohvaene oRezultat tih instrukcija treba biti odbaen u sluaju da je potrebno izvriti grananje oU suprotnom, instrukcije se trebaju izvriti normalno 3. april 2014 ARHITEKTURA RAUNARA 36 Projektovanje procesora sa cjevovodom Reduciranje kanjenja usljed branch

Kanjenje usljed branch instrukcije mogue je svesti na jedan ciklus Grananje je mogue odrediti ve u fazi dekodiranja oNext PC blok se pomjera u ID fazu oKomparator se dodaje u Next PC logiku Sada se preuzima samo jedna instrukcija prije odluke o grananju Tretman hazarda: oVarijanta 1: U sluaju da se izvrava grananje preuzeta instrukcija konvertuje se u nop resetovanjem IF/ID registra (predict not taken) oVarijanta 2: Preuzeta instrukcija se uvijek izvrava bez obzira na rezultat uslova grananja (delayed branch)

3. april 2014 ARHITEKTURA RAUNARA 37 Projektovanje procesora sa cjevovodom Datapath modifikacije 3. april 2014 ARHITEKTURA RAUNARA 38 Projektovanje procesora sa cjevovodom Next PC block 3. april 2014 ARHITEKTURA RAUNARA 39 Projektovanje procesora sa cjevovodom REZIME Kod procesora s cjevovodom praktino je uvijek jedna ili vie naredbi u fazi obrade, odnosno ne postoji trenutak kad su sve naredbe izvedene. Jednostavno reeno cjevovod podrazumijeva dohvat i poetak izvoenja sljedee naredbe prije nego to je zavrila prethodna naredba. Cilj cjevovoda je zaposliti to vie funkcionalnih jedinica, tj. skratiti vrijeme u kojem nisu zaposlene. Cjevovod poveava propusnost procesora ali poveava i vrijeme izvoenja naredbi. 3. april 2014 ARHITEKTURA RAUNARA 40 Projektovanje procesora sa cjevovodom Generalno sve naredbe se mogu podijeliti na pet koraka: 1. Dohvat naredbe, 2. Dekodiranje i dohvat operanada, 3. ALU operacija, 4. Pristup memoriji, 5. Upis u spremnik. Postoji analogija izmeu procesa obrade naredbi u procesoru i izrade nekog proizvoda U oba sluaja cilj je procesne ili proizvodne potencijale maksimalno iskoristiti. To se postie podjelom posla na korake (manje cjeline) koje mogu posao raditi paralelno. 3. april 2014 ARHITEKTURA RAUNARA 41 Projektovanje procesora sa cjevovodom Dijagram stanja PRIBAVI IZVRI 3. april 2014 ARHITEKTURA RAUNARA 42 Projektovanje procesora sa cjevovodom Protoni segmenti 3. april 2014 ARHITEKTURA RAUNARA 43 Projektovanje procesora sa cjevovodom Protoni segmenti IF (Instruction Fetching) Pribavljanje instrukcije Upotrebljava se programsko brojilo PC za dohvat sljedee instrukcije. Instrukcije se obino nalaze u prirunoj memoriji (engl. cache)koja se ita tijekom faze PRIBAVI. ID (Instruction decoding and operand fetching)Dekodiranje instruk-cije i dohvat operanada Dekodira se operacijski kod instrukcije i dohvaaju se operandi iz skupa registara. EX (Instruction execution) Izvoenje (obavljanje) instrukcije Obavlja se operacija specificirana operacijskim kodom. Za instrukcije koje naslovljavaju memoriju (load, store)u ovom se protonom segmentu rauna efektivna adresa. ME (Memory access) Pristup memoriji Izvode se instrukcije load i store. Obino se upotrebljava priruna memorija. WB (Result write-back) Upis rezultata 3. april 2014 ARHITEKTURA RAUNARA 44 Projektovanje procesora sa cjevovodom Protoni segmenti 3. april 2014 ARHITEKTURA RAUNARA 45 Projektovanje procesora sa cjevovodom Osnovne pretpostavke kod projektovanja cjevovoda

Skup naredbi procesora ostaje nepromijenjen Osnovno pravilo kod projektovanja cjevovoda je da naredbe moraju izvoditi istu obradu i davati iste rezultate nezavisno o arhitekturi na kojoj se izvode Izmjene u organizaciji memorije Kod realizacije cjevovoda znaajno je osigurati da jedna naredba u svakom taktu ue u cjevovod. Nije dozvoljeno da procesor eka na sporu memoriju kako bi pristupio naredbi ili operandu. Ovo je mogue rijeiti samo skupljim brzim memorijama Drugi problem je to u konceptu cjevovoda svaka naredba u prvom taktu dohvata naredbu, a u etvrtom taktu pristupa memoriji. Potrebno je postaviti dvije nezavisne memorije, jednu za program, a drugu za podatke te im osigurati istovremeni, paralelni pristup Ova podjela na zasebnu memoriju za program i za podatke te posebni sabirniki sistem koji osigurava paralelni pristup naziva se Harvardska arhitektura 3. april 2014 ARHITEKTURA RAUNARA 46 Projektovanje procesora sa cjevovodom Osnovne pretpostavke kod projektovanja cjevovoda Spremnici opte namjene U prethodnim razmatranjima pokazano je da je efikasno imati tri sabirnice. Slino vrijedi kod procesora sa cjevovodom. Ovakav pristup zahtijeva da spremnici opte namjene imaju pristup svim sabirnicama, na neke samo piu a sa drugih itaju, tzv. spremnici s tri pristupa (three port register file). Ovakav pristup omoguava postavljanje istovremeno na dvije sabirnice dva operanda i upis rezultata 3. april 2014 ARHITEKTURA RAUNARA 47 Projektovanje procesora sa cjevovodom Osnovne pretpostavke kod projektovanja cjevovoda Izmjena sistema sabirnica i puteva podataka Cjevovod zahtijeva izmjenu sabirnike strukture. Umjesto povezivanja spremnika preko zajednike ili zajednikih sabirnica podaci se direktno prenose iz spremnika u spremnik nezavisnim putevima. Ovakav pristup povezivanja (point to point) omoguava istovremeni prenos veeg broja podataka

Dodatno sklopovlje Cjevovod obino zahtijeva i dodatne sklopove koji imaju zadatak dodatno ubrzati rad procesora i pojednostavniti neke operacije. Primjer je nezavisan sklop za inkrementiranje sadraja programskog brojila. Cilj je rasteretiti ALU ove operacije. 3. april 2014 ARHITEKTURA RAUNARA 48 Projektovanje procesora sa cjevovodom Opasnosti vezane uz primjenu cjevovoda Opasnosti vezane uz primjenu cjevovoda su posljedica izvoenja naredbe zavisne o rezultatu jedne od prethodnih naredbi ija obrada jo nije zavrila. Program prevodilac mora unaprijed predvidjeti (prije izvoenja programa) mogue izvore greaka te ih otkloniti. Pri tome se rukovodi strategijom najgoreg sluaja (worst case). Opasnosti vezane uz primjenu cjevovoda mogu se podijeliti prema tipu naredbe uz koji su vezane. Iako postoji vie moguih podjela, osnovna podjela je na: opasnosti vezane uz podatke i opasnosti vezane uz grananja 3. april 2014 ARHITEKTURA RAUNARA 49 Projektovanje procesora sa cjevovodom Opasnosti u primjeni cjevovoda vezane uz pristup podacima Prilikom odreivanja svih moguih opasnosti vezanih uz pristup podacima kod cjevovoda potrebno je analizirati sve naredbe i njihove meuzavisnosti Zadatak je mogue znatno pojednostavniti grupisanjem naredbi prema nainu kako pristupaju operandima i kako rezultat upisuju u odredini spremnik 3. april 2014 ARHITEKTURA RAUNARA 50 Projektovanje procesora sa cjevovodom Opasnosti u primjeni cjevovoda vezane uz pristup podacima U sluaju da se pristupa podacima u memoriji stvar je znatno jedno-stavnija jer problem moe samo postojati ukoliko iza naredbe za upis slijedi naredba za itanje iz iste lokacije. Kako se svaki pristup memoriji odvija u etvrtom koraku ne postoji opasnost pristupa podacima. 3. april 2014 ARHITEKTURA RAUNARA 51 Projektovanje procesora sa cjevovodom Opasnost u cjevovodu kod naredbi za grananje Kod grananja postoji problem da se obavezno izvodi naredba koja slijedi naredbu za grananje nezavisno o rezultatu grananja. To znai da je potrebno ubaciti jedno slobodno mjesto iza naredbe za grananje. 3. april 2014 ARHITEKTURA RAUNARA 52 Projektovanje procesora sa cjevovodom Usporedba pogodnosti CISC i RISC za protonu izvedbu Kraa perioda signala vremenskog voenja poveanje broja perioda za instrukciju. Uobiajeni pristup: vrijeme trajanja periode tako da dopusti izvoenje najjednostavnijih operacija u jednoj periodi izvoenje sloenijih instrukcija/operacija u vie perioda 3. april 2014 ARHITEKTURA RAUNARA 53 Projektovanje procesora sa cjevovodom Usporedba pogodnosti CISC i RISC za protonu izvedbu Tipian slijed instrukcija za CISC procesor: Svaka instrukcija ima dodijeljeno vrijeme upravo onoliko koliko joj je potrebno Tenja u RISC arhitekturi:Jedna perioda po instrukciji ! 3. april 2014 ARHITEKTURA RAUNARA 54 HVALA NA PANJI! Projektovanje procesora sa cjevovodom

3. april 2014 ARHITEKTURA RAUNARA 1 ARHITEKTURA RAUNARA

BANJA LUKA COLLEGE - BLC Doc. dr Sreko Stankovi Predavanje-11 3. april 2014 ARHITEKTURA RAUNARA 2 Organizacija i veliina glavne memorije Glavna memorija moe se promatrati kao niz spremnika jednake veliine s bita, koji se nazivaju memorijska rije (memory word). s -je najmanja rije kojoj se moe pristupati u memoriji Veliina rijei procesora w, moe se razlikovati od veliine memorijske rijei s Generalno, procesor koji ima m bitovnu adresnu rije moe pristupiti 2m memorijskih rijei, odnosno moe imati kapacitet 2mxsbita

Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 3 Organizacija i veliina glavne memorije Procesor Intel 8086moe u jednom memorijskom ciklusu prenijeti cijelu 16-bitovnu rije preko data sabirnice Procesor Intel 8088isti podatak prenosi u dva memorijska ciklusa preko 8-bitovne data sabirnice (to je napravljeno iz ekonomskih razloga s ciljem smanjenja noica integrisanog sklopa, a time i smanjenja cijene sklopa)

Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 4 Organizacija i veliina glavne memorije Kod organizacije malog kraja (Little Endian)oktet najmanjeg znaenja se pohranjuje na najniu adresu cijelog podatka Kod organizacije velikog kraja (Big Endian)oktet najveeg znaenja se pohranjuje na najniu adresu Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 5 Organizacija memorijske rijei veliki i mali kraj Kod organizacije malog kraja (Little Endian) oktet najmanjeg znaenja se pohranjuje na najniu adresu cijelog podatka Kod organizacije velikog kraja (Big Endian) oktet najveeg znaenja se pohranjuje na najniu adresu

Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 6 Operacije s memorijom itanje (read) Procesor (ili U/I jedinica) postavlja adresu lokacije (iji sadraj se oitava) na adresnu sabirnicu (sadraj spremnika MAR), dojavljuje memoriji o kojoj se operaciji radi (Read) te moe postaviti i neki sinkronizacijski signal npr. ZAHTJEV Nakon vremena potrebnog da memorija odgovori na zahtjev, koje ovisi o brzini kojom memorija moe postaviti sadraj traene lokacije na data sabirnicu (vrijeme odziva), postavlja se sadraj adresirane lokacije na podatkovnu sabirnicu te memorija dojavljuje procesoru da je podatak spreman - aktiviranjem signala ZAVRENO. Kod razliitih procesora ovaj signal ima razliit naziv (Done, Acknowledge, Ready, Accept, Wait ) Procesor prebacuje podatak s data sabirnice u meuspremnik MAD. Ovime zavrava operacija itanja.

Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 7 Operacije s memorijom itanje (read) Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije

3. april 2014 ARHITEKTURA RAUNARA 8 Operacije s memorijom pisanje (write) Na adresnu sabirnicu se postavlja adresa lokacije u koju se upisuje podatak (iz MAR spremnika) Na podatkovnu sabirnicu se upisuje podatak (iz MAD spre-mnika) Upravljaki signal (signali):Pii (Write) i po potrebi sinhro-nizacijski signal (npr. ZAHTJEV) Memorijski sustav dojavljuje zavretak upisa podatka u me-moriju postavljanjem upravljakog signala ZAVRENO. Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 9 Operacije s memorijom pisanje (write) Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 10 Parametri memorijskog sistema Vrijeme pristupa ta (access time) vremenski interval od poetka memorijske operacije (itanja ili pisanja) do postavljanja signala od strane memorijskog sustava da je operacija uspjeno okonana Vrijeme memorijskog ciklusa tc (cycle time) vremenski interval od poetka prve do poetka sljedee memorijske operacije Kod nekih memorijskih sistema ne pristupa se pojedinanim rijeima nego blokovima od k rijei (block size). Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 11 Parametri memorijskog sistema Kod takvih memorijskih sistema definie se: Latentnost tl (latency) vrijeme potrebno da se pristupi prvoj rijei bloka Brzina prijenosa - (bandwith) brzina kojom se prenose rijei bloka nakon to se pristupilo prvoj rijei bloka Vrijeme dohvata cijelog bloka - tbl= tl+ k/ Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 12 Hijerarhijska organizacija memorije Spremnici opte namjene su prvi memorijski nivoi Sljedea je RAM. Dananji raunarski sistemi koriste dva ili vie nivoa RAM-a, prvi nivo je brzi RAM manjeg kapaciteta ali vee cijene, a drugi sporiji RAM veeg kapaciteta. Trei memorijski nivo je magnetski disk, a slijedi ga magnetska traka kao sekvencijalni medij za pohranu podataka koji se obino danas koristi za sigurnosnu pohranu podataka (backup) Prema konvencijama brza memorija se naziva primarna memorija, diskovi se nazivaju sekundarna, a magnetske trake tercijarna memorija. Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 13 Hijerarhijska organizacija memorije Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 14 RAM i ROM memorija RAM Random Access Memory RAM je upisno ispisna memorija, privremena memorija, nepo-stojana memorija (iskljuivanjem napajanja nestaje i sadraj me-morije engl. Volatile) RADNA MEMORIJA omoguava izvravanje programa ili trenutnu pohranu rezultata njihovog rada. Da bi se program mogao izvriti on se u radnu memoriju "prepisuje" iz trajne memorije (npr. tvrdi disk) kako se mijenjaju zadae, tako e se mijenjati i uitani programi u radnoj memoriji ROM Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije

3. april 2014 ARHITEKTURA RAUNARA 15 RAM i ROM memorija ROM Read Only Memory ROM je preprogramirana poluvodika memorija iz koje se moe samo itati (Read Only Memory) ROM mali dio memorije koji je nepromjenjivog sadraja i koji koristi mikroprocesor prilikom ukljuivanja raunara da bi ispravno podesio poetne parametre Dio operacionog sistema upisan je u neizbrisivoj memoriji (ROM-u), a ostatak u RAM-u. Ovakvo rjeenje osigurava veu fleksibilnost raunarskog sistema na nain da se osnovni operacioni sistem nalazi u ROM-u, a u RAM-u sve to je podlono promjenama sistema (pogonski programi za tastaturu, mia, disketnu jedinicu, magnetski disk, optiki disk, ...) Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 16 RAM memorija: SDRAM, DDR I, DDR II, ... Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 17 Vrste ROM memorija PROM (Programable ROM)sklopovi koji imaju iste karakteristike kao i ROM, ali ih korisnik moe sam programirati. Koristei poseban ureaj za programiranje (PROM programator) korisnik proizvoljno pregara (burn, blow) pojedine spojeve kako bi ostvario eljeno funkcionalno djelovanje sklopa. Jednom programirani PROM nije mogue vie preprogramirati. Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 18 Vrste ROM memorija Vrste PROM-ova kod kojih se upisane veze mogu izbrisati: EPROM (Erasable PROM) brisanje pomou izlaganja ultra-ljubiastom ili rendgenskom zraenju E2PROM (Electrically Erasable PROM) brisanje elektrinim putem FLASHROM-Memorije koje se mogu reprogramirati za to posebno napisanim programom. Danas se vrlo esto koriste kako bi se omoguilo da se u ureaje ugradi poboljana verzija programske potpore npr. za BIOS, modeme i sl. Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije 3. april 2014 ARHITEKTURA RAUNARA 19 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Hijerarhijska struktura memorije Mije "podreena" memoriji Mi-1 Procesor komunicira s prvim lanom hijerarhije (M1) 3. april 2014 ARHITEKTURA RAUNARA 20 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Hijerarhijska struktura memorije 3. april 2014 ARHITEKTURA RAUNARA 21 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Hijerarhijska struktura memorije Hijerarhijski koncept memorije podrazumijeva: Nivo brze memorije (cache) kojoj procesor pristupa u jednom taktu Nivo sporije memorije koja je znatno veeg kapaciteta. Procesor pristupa informacijama, naredbama i podacima, koje su samo u brzoj memoriji. Ukoliko informacija nije u brzoj memoriji, potrebno ju je prebaciti iz sporije u brzu memoriju.

3. april 2014 ARHITEKTURA RAUNARA 22 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Hijerarhijska struktura memorije Da bi se program mogao izvoditi na raunaru mora biti u glavnoj memoriji Idealno bi bilo kad bi program i podaci u cijelosti bili pohranjeni u glavnoj memoriji. Ovo nije mogue zato to glavna memorija obino nije dovoljno velika da pohrani sve potrebne programe i podatke. Takoer, glavna memorija gubi svoj sadraj nestankom napajanja. Raunarski sistemi osim glavne (primarne) memorije imaju i sekundarnu memoriju Osnovna zadaa sekundarne memorije je da stalno pohranjuje velike koliine podataka. Tako je uobiajeno da se programi i podaci skladite u sekundarnoj memoriji (magnetski diskovi, optiki diskovi ...), a upisuju u radnu memoriju kada ih je potrebno obraivati. 3. april 2014 ARHITEKTURA RAUNARA

23 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Fiziki i logiki adresni prostor Skup stvarnih, fizikih memorijskih lokacija glavne memorije oblikuje fiziku memoriju. Fizika memorija memorija prikljuena na sabirnicu procesora (odno-sno raunara). Skup adresa koje su jednoznano dodijeljene tim memorijskim (fizikim) lokacijama predstavlja fiziki adresni prostor. Adresa koju upotrebljava programer ili koju generie program ili proces (dretva, nit) kao najmanja programska jedinica naziva se logika adresa. Logika adresa je adresa koju generie procesor. Logiki adresni prostor je skup logikih adresa. 3. april 2014 ARHITEKTURA RAUNARA 24 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Fiziki i logiki adresni prostor Adresni prostor koji koristi program prije punjenja u memoriju naziva se logiki adresni prostor koji za vrijeme izvoenja (nakon punjenja u memoriju) prelazi u fiziki adresni prostor. Funkciju preslikavanja iz logikog u fiziki adresni prostor realizuje zasebno sklopovlje nazvano sklop za upravljanje memorijom (memory management unit) 3. april 2014 ARHITEKTURA RAUNARA 25 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Virtualna memorija Memorijski sistem obavlja translaciju programskog adresnog prostora (virtualnih adresa) u stvarne, fizike adrese. Virtualna memorija je razdvajanje logikog adresnog prostora koji vidi korisnik od fizikog adresnog prostora u kojem se program izvodi. Ovo razdvajanje omoguava programeru da raspolae s neo-granienim logikim prostorom iako se program stvarno izvodi u rela-tivno malom fizikom adresnom prostoru

3. april 2014 ARHITEKTURA RAUNARA 26 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Virtualna memorija Dijeljenje logikog i fizikog adresnog prostora na blokove! Blokovi = STRANICE (ako su vrste duine) Blokovi = SEGMENTI (ako su promjenjive duine) Kod stranienja (paging), blokovi ne mogu poinjati na proizvoljnim adresnim lokacijama u primarnoj memoriji, dok je kod segmentacije to dozvoljeno 3. april 2014 ARHITEKTURA RAUNARA 27 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Virtualna memorija adresno preslikavanje 3. april 2014 ARHITEKTURA RAUNARA 28 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Lokalitet

Princip lokaliteta (principle of locality) injenica da program u nekom vremenskom intervalu pristupa relativno uskom memo-rijskom podruju. Ovo nije teoretska postavka ve injenica koju su uoili inenjeri i programeri tokom posmatranja izvoenja stvarnih programa. Prostorni lokalitet (spatial) podrazumijeva da ukoliko se u jednom trenutku pristupilo jednoj memorijskoj lokaciji da je velika vjerojatnost da se u sljedeim trenucima pristupa njoj susjednim lokacijama. 3. april 2014 ARHITEKTURA RAUNARA 29 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Lokalitet Vremenski lokalitet (temporal) je posljedica injenice da ukoliko se pristupi jednoj memorijskoj lokaciji da je velika vjerojatnost ponovnog pristupa istoj lokaciji unutar kratkog vremenskog intervala. Uz pojam lokaliteta vezuje se radni skup memorijskih lokacija (working set of memory locations) koji se odnosi na skup memo-rijskih lokacija kojima se pristupa u odreenom vremenskom inter-valu. Kod veine programa radni skup memorijskih lokacija se relativno sporo mijenja s vremenom 3. april 2014 ARHITEKTURA RAUNARA 30 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memorije Brza memorija (cache) Rad brze memorije transparentan je programeru. Program generie efektivnu adresu te definie operaciju (itanje ili pisanje). Memorijski sistem mora realizovati ovu operaciju nezavisno da li je informacija u primarnoj ili samo u sekundarnoj memoriji. Izmeu procesora i primarne memorije prenose se rijei dok se iz-meu primarne i sekundarne memorije prenose linije (blokovi) rijei. 3. april 2014 ARHITEKTURA RAUNARA 31 Projektovanje memorijskog sistema, organizacija i veliina glavne memorije, RAM i ROM, hijerarhijska organizacija memor