ARHITEKTURA I
1. Neboja Milenkovi, Arhitekura i organizacija
ORGANIZACIJA RAUNARA raunara, Elektronski fakultet, Ni, 2004.
(2+2+1) 2. Vladimir Stankovi, Arhitektura i organizacija
raunara: praktikum za vebe na raunaru,
Nastavnik: Vladimir Stankovi Elektronski fakultet, Ni, 2015.
kab. 524, vladimir.stankovic@elfak.ni.ac.rs 3. D. Patterson and J. Hennessy, Computer
Organization and Design: The Hardware/Software
Asistenti: Vladimir Stankovi Interface, Fourth edition, Morgan Kaufmann
Publishers, 2009.
Aleksandar Milenkovi, kab. 533 4. W. Stallings, Organizacija i arhitektura
Filip ivanovi, kab. 332b raunara, Raunarski fakultet i CET, Beograd,
2006.
1
PROGRAM PIEMO NA VIEM PROGRAMSKOM JEZIKU,
RAUNAR RAZUME SAMO BINARNI JEZIK
Prikaz rada
raunara
ARHITEKTURA I
Implementacija raunara
IMPLEMENTACIJA RAUNARA
Arhitektura raunara ili arhitektura skupa Implementacija raunara predstavlja
instrukcija (engl. Instruction Set Architecture,
skr. ISA) definie se kroz atribute i ponaanje otelovljenje arhitekture raunara.
raunara kako ih vidi programer na mainskom
jeziku. Arhitektura, kao logiki ili apstraktni opis
Ova definicija ukljuuje skup instrukcija, formate raunara, materijalizuje se hardverom
instrukcija, kodove operacija, naine adresiranja, raunara.
tipove i formate podataka, uslove izuzetaka, i sve
registre i memorijske lokacije kojima direktno Implementacija ima dve komponente:
moe manipulisati programer na mainskom organizaciju i hardver.
jeziku.
Organizacija raunara
Termin organizacija raunara ukljuuje aspekte Hardver raunara
projektovanja funkcionalnih jedinica raunara, kao
to su centralni procesor, memorijski sistem,
magistrale, ulazno-izlazni sistem i druge, na Termin hardver raunara koristi se da
visokom nivou. ukae na specifinosti maine. On ukljuuje
Danas se esto za ovaj nivo elemenata raunara detaljan logiki projekat i tehnologiju
koristi termin mikroarhitektura raunara (engl. pakovanja, napajanja elektrinom energijom
computer microarchitecture).
i hlaenja maine.
Primeri: Intel NetBurst mikroarhitektura za
Pentium 4, Nehalem mikroarhitektura za
Multicore procesore, Sandy Bridge
mikroarhitektura za drugu generaciju procesora sa
vie jezgara
2
2nd Generation
Intel Core
Processor Family
Desktop Platform
Podela raunara prema njihovoj nameni Lini raunari (stoni raunari i laptop raunari)
su projektovani za korienje od strane
pojedinaca, i obino ukljuuju grafiki displej,
Raunari opte namene treba da efikasno tastaturu i mia.
izvravaju programe iz irokog kruga moguih Serveri su raunari korieni za izvravanje
aplikacija. obimnijih programa esto istovremeno i za vie
Raunari za posebne namene ciljaju na ui skup korisnika, sa tipinim pristupom samo preko
aplikacija, za koje se zahtevi mogu preciznije
definisati. mree (oblaci raunara).
Ugraeni raunari (embedded computer) su
raunari u sastavu drugih ureaja korieni za
izvravanje unapred definisane jedne aplikacije ili
kolekcije softvera.
3
PERFORMANSE RAUNARA
Mere performansi
Kada kaemo da je jedan raunar, recimo X,
bri od drugog raunara, recimo Y, imamo Pri tome kao meru koristimo:
u vidu da raunar X izvrava programe za
vreme odziva (engl. response time),
krae vreme od raunara Y.
odnosno drugi termin vreme izvrenja
(engl. execution time), ili
propusnost (engl. throghput), odreenu kao
obim posla obavljen u jedinici vremena.
Vreme rada centralnog procesora (engl. CPU Za odreivanje performansi raunara koriste
time) je vreme koje procesor utroi na se programi sa pridruenim ulaznim
izvrenje programa, iskljuujui ekanje na podacima poznati kao benmark programi
U-I aktivnosti i izvrenje drugih programa. (engl. benchmark).
korisniko vreme rada CP-a,
Najbolji benmark programi su realni
sistemsko vreme rada CP-a. (aplikacioni) programi, napravljeni za
obavljanje odreenih poslova.
4
Dosadanja izdanja SPEC-a
SPEC skup benmark programa
Do sada su uraena i publikovana pet izdanja
SPEC benmark programa, poznata kao SPEC89,
Za ocenu performansi procesora, ve due SPEC92, SPEC95, SPEC CPU2000 i najnoviji
od decenije, najee se koristi SPEC skup SPEC CPU2006.
Svi ovi skupovi benmark programa sadre
benmark programa (engl. SPEC podskupove benmark programa koji su
benchmark suite). orijentisani na celobrojne vrednosti, na osnovu
kojih se izraunavaju SPECintX performanse, i
Benmark programi iz ovog skupa su realni podskupove benmark programa koji su
programi ili njihovi znaajni delovi. Za orijentisani na realne vrednosti, na osnovu kojih se
izraunavaju SPECfpX performanse, X {89, 92,
benmark programe su birani programi sa 95, CPU2000, CPU2006}.
dovoljnim stepenom prenosivosti.
5
Aritmetika sredina vremena izvrenja Teine programa
Neka na svakih k izvrenja programa P1 ide m
Kako u ovakvim kontradiktornim situacijama izvrenja P2. Izraunajmo uee k
zakljuiti koji raunar ima najbolje performanse? izvrenja programa P1 u k+m izvrenja oba
Jedan kriterijum mogao bi biti aritmetika sredina programa, i nazovimo to teinom w1
vremena izvrenja svih programa na jednom programa P1:
raunaru. Za n programa sa vremenima izvrenja
w1= k/(k+m).
Ti , i=1,,n, aritmetika sredina je
Teina programa P2,
1 n w2= m/(k+m).
Tsr Ti
n i 1
6
Krajnji izrazi
Za grupe instrukcija
Veliina CPI prua informacije o stilu
skupa instrukcija raunara i njegovoj Kada u izvravanom programu imamo
implementaciji, pa emo je esto koristiti u grupe instrukcija sa istom vrednou CPI,
daljem izlaganju. Uvodei CPI u izraz za broj taktnih ciklusa procesora moemo
izraunati kao
vreme rada procesora imamo (TCP je vreme
n
rada procesora) BTC CPIi BI i
TCP = BICPITC i 1
gde BIi predstavlja broj pojavljivanja u
ili programu instrukcija sa vrednou CPIi .
BI CPI
TCP
fC
U prethodnim izrazima vrednost CPI se ne moe MIPS (od Million Instructions Per Second) je broj
uzeti iz tehnikih podataka za korieni procesor, miliona izvrenih instrukcija u sekundi. Za dati
ve se mora izmeriti pri izvrenju programa. Ovo program, MIPS se dobija kao
moe biti posledica:
nepredvidivosti ponaanja ke memorije u toku
izvrenja programa (o tome emo govoriti u
poglavlju 6),
varijacija u broju obraanja memoriji instrukcija
istog tipa u nekim arhitekturama (o tome emo
govoriti u sledeem poglavlju).
MFLOPS
Nedostaci MIPS-a kao mere performansi Za ocenu sposobnosti procesora pri raunanju sa
realnim podacima, tj. podacima sa pokretnom
MIPS nije pouzdana mera performansi procesora iz zapetom (engl. floating point data), kao alternativa
vie razloga:
vremenu izvrenja programa koristi se mera u
MIPS zavisi od skupa instrukcija, to oteava
poreenje MIPS-ova raunara sa razliitim obliku broja miliona operacija sa pokretnom
skupovima instrukcija, zapetom u sekundi (engl. Million FLoating point
MIPS varira od programa do programa za isti Operations Per Second, skr. MFLOPS, izgovara se
raunar, megaflops)
to je najgore, MIPS moe ocenjivati promene
suprotno menjanju performansi, mereno
objektivnijim merilima.
7
TS
Amdahl-ov zakon TPD
TN
Posmatrajmo izvrenje nekog zadatka, koje traje
TS sekundi. Nali smo nain da izvrenje dela TPD/PBD
zadatka prikazanog sivom linijom, u trajanju TPD ,
poboljamo PBD puta. Sa tim poboljanjem, vreme
izvrenja celog zadatka se skrauje na TN<TS. To
skraenje vremena izvrenja zadatka postignuto je
skraenjem vremena TPD na TPD / PBD , dok se
ostatak vremena izvrenja u TS prenosi u TN u
nepromenjenom iznosu.
Primer 1.2