Anda di halaman 1dari 9

Literatura

ARHITEKTURA I
1. Neboja Milenkovi, ARHITEKTURA I
ORGANIZACIJA RAUNARA ORGANIZACIJA RAUNARA, Elektronski
(2+2+1) fakultet, Ni, 2004, ISBN: 86-80135-85-2.
2. D. Patterson and J. Hennessy, COMPUTER
Nastavnik: Vladimir Stankovi ORGANIZATION AND DESIGN: The
Hardware/Software Interface, Fourth edition,
kab. 524, vladimir.stankovic@elfak.ni.ac.rs Morgan Kaufmann Publishers, 2009,
ISBN: 978-0-12-374493-7.
Asistenti: Vladimir Stankovi
3. W. Stallings, ORGANIZACIJA I
Duan Gaji, kab. 532 ARHITEKTURA RAUNARA, Projekat u
funkciji performansi, Raunarski fakultet i CET,
Aleksandar Milenkovi, kab. 533 Beograd, 2006.

RAUNAR NA NIVOU FUNKCIONALNIH


ELEMENATA
Nain ocenjivanja Centralni procesor
Polje registara
Monitor
PC Sistemska

Pismeni ispit (zadaci) 50% ALU magistrala Grafiki


adapter Memorijska
magistrala
Usmeni ispit (teorija) 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
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 Arhitektura, kao logiki ili apstraktni opis
jeziku.
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
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.
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_izvrenja Y n=
n= Performanse Y
Vreme_izvrenja 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.
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.
benmark programa (engl. SPEC Svi ovi skupovi benmark programa sadre
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
benmark programe su birani programi sa izraunavaju SPECfpX performanse, X {89, 92,
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.
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):
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 = CPI i 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).

Vreme izvrenja programa Nedostaci MIPS-a kao mere performansi

MIPS nije pouzdana mera performansi procesora iz


vie razloga:
Za dati MIPS, vreme izvrenja programa je MIPS zavisi od skupa instrukcija, to oteava
poreenje MIPS-ova raunara sa razliitim
skupovima instrukcija,
MIPS varira od programa do programa za isti
raunar,
to je najgore, MIPS moe ocenjivati promene
suprotno menjanju performansi, mereno
objektivnijim merilima.
MFLOPS
Za ocenu sposobnosti procesora pri raunanju sa Amdahl-ov zakon
realnim podacima, tj. podacima sa pokretnom
zapetom (engl. floating point data), kao alternativa Posmatrajmo izvrenje nekog zadatka, koje traje
vremenu izvrenja programa koristi se mera u TS sekundi. Nali smo nain da izvrenje dela
obliku broja miliona operacija sa pokretnom zadatka prikazanog sivom linijom, u trajanju TPD ,
zapetom u sekundi (engl. Million FLoating point poboljamo PBD puta. Sa tim poboljanjem, vreme
Operations Per Second, skr. MFLOPS, izgovara se izvrenja celog zadatka se skrauje na TN<TS. To
megaflops) 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.

TS

TPD Amdahl-ov zakon


TN Imamo da je TS= TPD + TOST
TPD/PBD
Ako sa PD oznaimo uee vremena
izvrenja dela zadatka sa poboljanjima
(poboljani deo), PD = TPD /TS, pa je
TPD=PD x TS , TOST= (1-PD) x TS, onda se
vreme TN moe izraziti kao
PD
TN = TS [(1 PD) + ]
PB D

Amdahl-ov zakon Primer 1.2

Oznaimo ukupno poveanje brzine sa Dve grupe inenjera dobile su zadatak da


poboljaju performanse nekog sistema iz
kojom se izvrava ceo zadatak sa PBU , pa proizvodnog programa preduzea. Po isteku
emo imati dobijenog vremena, prva grupa je najavila
poboljanje, koje aktivnosti sistema sa ueem od
TS 1 5% u ukupnim aktivnostima sistema ubrzava 20
PB U = PB U = puta. Druga grupa je najavila svoje reenje, koje
TN PD
1 PD + aktivnosti sistema sa ueem od 50% u ukupnim
PB D aktivnostima sistema ubrzava 2 puta. ije reenje
daje vee poboljanje performansi sistema?

Anda mungkin juga menyukai