Anda di halaman 1dari 8

Literatura

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.

RAUNAR NA NIVOU FUNKCIONALNIH


Nain ocenjivanja ELEMENATA
Centralni procesor
Polje registara
Monitor
PC Sistemska

Pismeni ispit (zadaci) 50% ALU magistrala Grafiki


adapter Memorijska

Usmeni ispit (teorija)


magistrala
50% Interfejs Kontroler Glavna
magistrale sistema memorija
Teorija moe da se poloi preko kolokvijuma.
Polau se 2 kolokvijuma, uslov da se poloi Kontroler
UI sistema
je minimum 50% u proseku. U-I magistrala Slotovi proirenja

Laboratorijske vebe su obavezne (da bi se


dobio potpis) USB Mreni
adapter
USB Kontroler
diska
kontroler kontroler

Mi Tasta- Mrea tampa


tura Disk

Elementi raunara sa tokovima podataka Raunar na nivou pet funkcionalnih


elemenata

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

Apstrakcije koje obezbeuje


Raunar sagledan u vie nivoa operativni sistem

Klase primena raunara

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.

Poreenje po vremenu izvrenja Poreenje po performansama

Kaemo da je raunar X n puta bri od


raunara Y ako je Vreme_izvrenjaX n Poto su performanse reciprone vremenu
puta krae od Vremena_izvrenjaY , izvrenja
odnosno ako je
Performanse X
Vreme_izvr enja Y n
n Performanse Y
Vreme_izvr enja X

Vreme rada centralnog procesora Benmark programi

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.

SPECINTC2006 benmark programi izvravani na AMD Opteron X4


CINT2006 (Integer Component of SPEC CPU2006) modelu 2356 (Barcelona)
Broj Perioda Vreme Referentno SPEC
Benmark Jezik Oblast aplikacije Ime instrukcija CPI takta izvrenja vreme odnos
program 109 (nsec) (sekundi)
perl 2118 0,75 0,4 637 9770 15,3
400.perlbench C Programski jezik
bzip2 2389 0,85 0,4 817 9650 11,8
401.bzip2 C Kompresija gcc 1050 1,72 0,4 724 8050 11,1
403.gcc C C kompajler mcf 336 10,00 0,4 1345 9120 6,8
429.mcf C Kombinatorna optimizacija go 1658 1,09 0,4 721 10490 14,6
445.gobmk C Vetaka inteligencija: Go hmmer 2783 0,80 0,4 890 9330 10,5
sjeng 2176 0,96 0,4 837 12100 14,5
456.hmmer C Pretraivanje genetikog lanca
libquantum 1623 1,61 0,4 1047 20720 19,8
458.sjeng C Vetaka inteligencija: ah
h264avc 3102 0,80 0,4 993 22130 22,3
462.libquantum C Fizika / Kvantna izraunavanja omnetpp 587 2,94 0,4 690 6250 9,1
464.h264ref C Video kompresija astar 1082 1,79 0,4 773 7020 9,1
471.omnetpp C++ Simulacija diskretnih dogaaja xalancbmk 1058 2,70 0,4 1143 6900 6,0

473.astar C++ Algoritmi za nalaenje puta Geometrijska 11,7


sredina
483.xalancbmk C++ Obrada XML-a

Preciziranje uslova merenja performansi


Izvetaji o performansama na osnovu SPEC
skupova benmark programa treba da sadre
kompletan opis raunara (tip procesora, njegovu
radnu uestanost, veliinu i tip ke memorija,
glavne memorije i diska, tipove magistrala itd.) i
korienog softvera (operativni sistem, tip
kompilatora sa korienim stepenom optimizacije,
tip fajl sistema itd.) i broj korisnika raunara pri
testiranju.
Ovakav potpuni skup uslova u kojima je testiranje
obavljeno treba da obezbedi ponovljivost
dobijanja istih rezultata.

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

Teinska aritmetika sredina Takt procesora

Rad najveeg broja savremenih raunara


Teinska aritmetika sredina vremena diktiran je taktnim signalima (engl. clock)
izvrenja programa bila bi fiksne uestanosti. U daljem izlaganju
koristiemo krai izraz takt.
n Takt je periodini signal, sa odreenom
Twsr w i Ti periodom takta ili ciklusom takta
i 1
(oznaavaemo ga sa TC ).

Prosean broj taktnih ciklusa po


Vreme rada procesora instrukciji
Osim merenja broja taktnih ciklusa pri izvrenju
Vreme rada procesora pri izvrenju programa programa (oznaimo ga sa BTC), moemo meriti i
moe se izraziti kao broj izvrenih instrukcija u programu (oznaimo
ga sa BI).
Vreme_rada_CP =
Sada moemo izraunati prosean broj taktnih
Broj_taktnih_ciklusa_za_program Perioda_takta ciklusa po instrukciji, CPI (engl. cycles per
ili instruction):

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

Potreba za merenjem MIPS

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.

Amdahl-ov zakon Amdahl-ov zakon


Imamo da je TS= TPD + TOST
Ako sa PD oznaimo uee vremena Oznaimo ukupno poveanje brzine sa
izvrenja dela zadatka sa poboljanjima kojom se izvrava ceo zadatak sa PBU , pa
(poboljani deo), PD = TPD /TS, pa je emo imati
TPD=PD x TS , TOST= (1-PD) x TS, onda se 1
TS
vreme TN moe izraziti kao PBU PBU
TN PD
PD 1 PD
TN TS [(1 PD) ] PBD
PBD

Primer 1.2

Dve grupe inenjera dobile su zadatak da


poboljaju performanse nekog sistema iz
proizvodnog programa preduzea. Po isteku
dobijenog vremena, prva grupa je najavila
poboljanje, koje aktivnosti sistema sa ueem od
5% u ukupnim aktivnostima sistema ubrzava 20
puta. Druga grupa je najavila svoje reenje, koje
aktivnosti sistema sa ueem od 50% u ukupnim
aktivnostima sistema ubrzava 2 puta. ije reenje
daje vee poboljanje performansi sistema?

Anda mungkin juga menyukai