Professional Documents
Culture Documents
Procesori Seminarski Rad
Procesori Seminarski Rad
Procesori Seminarski Rad
LUKA
FAKULTET RAUNARSKIH NAUKA
PROCESORI
Predmet: Napredna arhitektura racunara
SEMINARSKI RAD
SADRZAJ
1.
Uvod u procesore03
2.
Funkcije procesora..04
3.
4.
5.
Struktura mikroprocesora07
6.
Arhitektura procesora.09
7.
8.
1. Uvod u procesore
Procesor (u stvari kratak oblik za re mikroprocesor, koji se esto zove i CPU ili centralna procesorska jedinica)
predstavlja sredini sastavni deo PC raunara. Ova vitalna komponenta je na neki nain odgovorna za sve to
radi PC raunar. Procesor pored ostalog odredjuje, u najmanju ruku delimino, koji operativni sistemi e se
upotrebiti, koji softverski paket moe da radi na PC raunaru, koliko mu je elektrine energije potrebno i koliko
e sistem biti stabilan. Procesor takodje uglavnom odredjuje i koliko e ceo sistem da kota: to je procesor
noviji i moniji, maina e biti skuplja.
Kada je madjar po rodjenju John von Neumann prvi predloio pamenje niza instrukcija - to e rei programa u istoj memoriji gde se nalaze i podaci, to je stvarno bila inovativna ideja. On je to napisao 1945. godine u
svom "Prvom nacrtu izvetaja o EDVAC-u". U tom izvetaju, raunar je bio organizovan u etiri glavne celine:
centralna aritmetika jedinica, centralna upravljaka jedinica, memorija i ulazno/izlazni uredjaji. Danas, posle
vie od pola veka, gotovo svi procesori imaju "von Neumann-ovu" arhitekturu.
Osnovni delovi procesora su:
1. Jezgro (Mancheter, Northwood, Prescott, Smithfield, Toledo...)
2. L2 cache
3. L1 cache (instrukcijski)
4. L1 cache (informacioni)
5. Logicki cip
6. Memorijska sabirnica (BUS)
7. FSB;
8. Pinovi (''noge procesora'')
9. Utor (nalazi se na maticnoj ploci) socket 940, 462, 939, 780,754,370, 478...}
Brzina se rada procesora kvantitativno ne mjeri u megahercima, kako se standardno oznaavaju, nego u
flopovima.Na starim je racunarima jo postojao i matematicki koprocesor, koji je omoguavao operacije s
pomicnim zarezom, a Danas je to sastavni deo samog centralnog procesora.Da bi se ubrzao racunar procesor
ima svoju prirucnu memoriju (engl. ''Cache'') za podatke i instrukcije iz koje moe dohvatati puno brze nego iz
glavne memorije.Danas mozemo videti kako kako su "spremnici" sve veci Te bolji proporcionalno sa radnim
taktom. Procesoru je mogue dici radni takt iznad nazivnog te samim time efektivno povisiti performanse - ta
se metoda zove [[overclocking]]. No, krajnji rezultat moze biti unitenje procesora.Ta metoda je zapravo sasvim
suvisna za raunala koje imaju slabe operativne delove jer necemo zapravo za tih 15% dobiti skoro nista.Brzina
procesora se mjeri u MFLOPS (Mega Floating-point Operations per Second) a ne u megahercima (MHz) ili
gigahercima (GHz) kako je uobicajeno.Na ovaj nacin moemo uporediti brzinu AMDi Intel procesora. Stariji
nacin mjerenja je bio u MIPS (Million Instructions per Second).
2. Funkcije procesora
Procesor (centralni procesor, centralna jedinica) predstavlja programski upravljan digitalni ureaj koji obavlja
sledee funkcije:
na osnovu instrukcija obrauje podatke izvravanjem nad njima relativno prostih operacija-mainskih
operacija;
donosi odluke u procesu obrade o toku odvijanja izvrenja instrukcija programa;
upravlja ostalim komponentama raunara;
obezbeuje prenos podataka izmeu komponenata raunara, kao i razmenu podataka sa spoljnim okruenjem.
Procesor radi izvravajui program smeten u operativnu memoriju, koji se sastoji od sledeih aktivnosti:
prenos (pozivanje) svake instrukcije iz operativne memorije u upravljaku jedinicu;
prenos podataka iz operativne memorije ili registra procesora u aritmetiko-logiku jedinicu;
izvrenje (realizacija) operacije predviene tom instrukcijom;
pamenje rezultata u operativnoj memoriji ili registrima.
I logiko kolo
Ako pogledamo na I i ILI logika kola na slici 1, videemo kako ona rade. Svako od ovih logikih kola ima dva
ulaza koji proizvode jedan izlazni signal. Logiko I znai da oba ulaza moraju da budu 1 da bi izlaz bio 1;
logiko ILI znai da bilo koji ulaz moe da bude 1 da bi izlaz bio 1. U I kolu, oba ulazna signala moraju da
budu na visokom nivou napona (odnosno logikom 1) da bi kolo propustilo struju kroz sebe.
Tok elektriciteta kroz svako kolo se kontrolie pomou tranzistora u tom kolu. Medjutim, ovi tranzistori nisu
pojedinane i diskretne jedinice. Umesto toga, njihov veliki broj se proizvodi od jednog komada silicijuma i
medjusobno povezuje pomou metalnih provodnika ili nekog drugog spoljanjeg materijala.
Ovakve jedinice se zovu integrisana kola (IC) i njihov razvoj je, u osnovi, uinio ostvarivom sloenost mikroprocesora. Integracija kola se nije zaustavila na prvim rezultatima. Ba kao to su prva integrisana kola
povezala vie tranzistora, tako su se kasnije povezivala i viestruka integrisana kola, u procesu koji je poznat
kao visok stepen integracije (Large Scale Integration - LSI); na kraju su i ovakvu skupovi integrisanih kola bili
povezivani, u procesu koji se zove veoma visok stepen integracije (Very Large Scale Integration - VLSI).
5. Struktura mikroprocesora
1)Magistrala podataka (Data bus) je dvosmerna, po njoj se podaci mogu prenositi iz mikroprocesora prema
memoriji ili drugim kolima mikroraunara, ili se podaci unose u mikroprocesor iz istih kola (npr. iz RAM
memorije).
2)Adresna magistrala (Address bus) preko koje se prenosi adresa na koju se smeta podatak. Ona je
jednosmerna jer smer podataka ide od mikroprocesora prema memoriji ili drugim kolima mikroraunara.
Brojem vodova (bita) adresne magistrale odreen je ukupan broj memorijskih lokacija ili registara koje se mogu
adresirati: mikroprocesor moe adresirati bilo koju lokaciju ROM ili RAM memorije, ili bilo koji drugi registar
prikljuen na magistralu. Svakoj adresi treba jednoznano da odgovara memorijska lokacija ili registar.
3)Upravljaka magistrala (Control bus) preko koje se prenose svi signali bitni za proces upravljanja
prenosom podataka, sinhronizaciju rada pojedinih komponenata, i uopte rad celog sistema. Signali koji ine
kontrolnu magistralu su READ/WRITE (R/W), zahtev za prekid rada mikroprocesora (IORQ) ili resetovanje
raunara (RESET).
Najnoviji mikroprocesori poput Pentiuma imaju veoma komplikovanu arhitekturu. Instrukcije se izvravaju
paralelno korienjem tzv. tekuih linija (pipeline). Osim toga ovde se ne nalazi skup registara ve memorija
koja se nalazi unutar mikroprocesora. To su veoma brze ke (cashe) memorije ija veliina se stalno poveava.
Zahvaljujui toj memoriji omogueno je paralelno izvravanje instrukcija, tj. postiu se vee brzine
mikroprocesora. Ke memorije mogu biti u samom procesoru ali i izdvojene u posebnu celinu.
6. Arhitektura procesora
Pod arhitekturom procesora podrazumevamo njegovu logiku organizaciju a ne harverski sklop. Arhitktura se
razlikuje kod svake generacije procesora u zavisnosti da li su 8-bitni, 16-bitni... meutim, postoje elementi koji
se javljaju kod skoro svih proizvoaa i to su:
Registri (Registers) se javljaju kod svih procesora. Mogu se razlikovati registri opte namene (general
purpose registers) i specijalizovani registri koji imaju unapred fiksiranu namenu. Registri opte namene
mogu sluiti u razliite svrhe, za realizaciju aritmetiko logikih operacija, kao brojai i sl.
Akumulator (Accumulator) se obino ubraja u registre opte namene i preko njega se realizuje veina
instrukcija.
Indeksni registri (Index register) je takoe registar opte namene i njihov broj kree od jedan ka
navie. On uva adresu nekog podatka ili nekakav sadraj na osnovu kog se formira adresa podatka.
Pokaziva instrukcija (Instruction pointer) je specijalizovan registar i ukazuje na sledeu instrukciju
(sadri njenu adresu) koja treba da se izvri. Kod nekih instrukcija se naziva i programski broja.
Stek pokaziva (Stack pointer) moe biti i registar opte namene i specijalizovani registar. Pokazuje
koji je prvi podatak u steku. Stek je organizacija podataka u memoriji za koju vai da se poslednji upisan
podatak uzima prvi prilikom obrade.
Zastavica registar (Flag register) ini elije od kojih se svaka moe tretirati kao zastavica. Ako elija
sadri 1 zastavica je podignuta, a ako sadri nulu sputena. One ukazuju na stanje posle izvrenja nekih
operacija, npr. da li je rezultat negativan ili ne, itd. Takoe se naziva i status registar jer ukazuje na status
mikroprocesora nakon izvrene operacije.
Aritmetiko logika jedinica (ALU Arithmettic Logic Unit) je funkcionalni blok koji izvodi operacije
nad celim brojevima. U savremenim procesorma ovde se radi o komplikovanim blokovima u kojima se
vri pripremanje i izvravanje instrukcija. Takoe se nazivaju i celobrojne tekue linije (Integer
pipeline).
Jedinica za brojeve sa pokretnom takom (Floating point unit) slui za izvoenje operacija nad
brojevima zapisanim u decimalnom obliku pri emu se celobrojni deo odvaja od razlomljenog
decimalnom takom. Ovu jedinicu poseduju samo savremeni procesori, kod starijih raunara ona je bila
odvojena od mikroprocesora i nazivala se koprocesor.
Upravljaka jedinica (Control unit) naziva se komandni blok i predstavlja funkcionalnu celinu iji je
glavni deo dekoder. Pomou dekodera se vri deifrovanje instrukcija na osnovu njegovih kodova.
Interfejs magistrala (Bus interface) predstavlja funkcionalni blok mikroprocesora preko kojeg se
upravlja svim magistralama.
Ke memorija (Cashe) je brza memorija koja ima ulogu posrednika izmeu RAM-a i ostalih
komponenata mikroprocesora. Javljaju se samo kod savremenih mikroprocesora jer je njihova brzina
znatno vea od brzine operativne memorije.
Baferi (Buffers) su prihvatni registri koji se pridruuju raznim komponentama
mogu da poslue za prihvat instrukcija ili podataka.
mikroprocesora,
Pojava 64-bitnih procesora u svakom sluaju predstavlja svojevrsnu revoluciju u svetu raunarskih
tehnologija. Prvi 64-bitni procesor je bio R4000, proizvodjaa MIPS Technologies, koji datira iz davne 1991.
godine. On se koristio za SGI grafike radne stanice i pokretao je 64-bitni operativni sistem IRIX, zasnovan na
UNIX-u. Nakon ovog procesora, kompanije kao to su IBM, SUN i HP napravile su svoje 64-bitne procesora.
Medjutim, oni su bili namenjeni velikim serverskim sistemima. Moemo rei da su 64-bitni procesori poeli
masovnije da se proizvode tek kada je Intel 2001. objavio svoj serverski 64-bitni procesor Itanium. Godine
2003., AMD je proizveo procesore Opteron i Athlon 64, koji je namenjen za krajnje korisnike.
Sada, kada je poeo proces migracije sa 32-bitne na 64-bitnu arhitekturu, susreemo se sa brojim
problemima. Prvo, veinu operativnih sistema je potrebno modifikovati da bi mogli da upravljaju novom
arhitekturom. Zatim, javlja se problem nekompatibilnosti starih, 32-bitnih aplikacija. Ovaj problem je mogue
reiti na dva naina: pomou reima hardverske kompatibilnosti, to se reava softverskom emulacijom, ili
hardverskom implementacijom 32-bitnog jezgra u 64-bitne procesore.
64-bitna arhitektura se zasniva na korienju 64-bitnih registara umesto dosadanjih 32-bitnih. Upotreba
veih registara dolazi do izraaja pri radu sa celim brojevima veim od 32 bita, to je relativno neuobiajno za
dananji softver.
Kada je re o FP operacijama, 64-bitni registri daju veu preciznost, jer moe da stane vie brojeva iza
decimalnog zareza. Medjutim, kod x86 arhitekture, FP registri su 80-bitni, tako da se ovde ne dobija prednost u
odnosu na 32-bitnu arhitekturu.
Postavlja se pitanje koja je svrha 64-bitne arhitekture? Odgovor lei u memoriji. Da bi procesor
pristupio nekom delu memorije radi itanja ili upisivanja podataka, potrebno je da zna adresu memorijske
lokacije predstavljenu celim brojem.
Prema tome, 32-bitni registri mogu pristupiti do 4.3 milijarde memorijskih adresa, to u stvari
predstavlja 4GB fizike memorije. 64-bitni procesor moe da pristupi preko 18 petabajta fizike memorije. To
je naroito bitno kod rada sa velikim bazama podataka gde je memorija od 4GB bila premala.
10
Intel-ov i AMD-ov pristup 64-bitnoj arhitekturi je znaajno drugaiji. Dok je Intel razvio potupuno
novu, drugaiju arhitekturu od x86, to bi primoralo programere da razvijaju nova softverska reenja ili da
koriste emulacije, AMD je jednostavno proirio postojeu x86 arhitekturu novim 64-bitnim registrima.
8.
U dananjem svetu racunara koncept viejezgrenosti u procesorima postao je opste prihvacen i svi tee da u
svom raunaru imaju vie jezgra, na veem taktu kako bi poboljali svoje performanse. to nam ustvari donosi
viejezgrenost i na koji nain je koncipiran rad ovakvih procesora je pitanje koje esto ne mui kupce, jer se
vode izrekom "vie je bolje", pa makar bilo i neto skuplje. Ipak, kako bi vaa kupovina bila to odmjerenija, a
troak novca i dobivene performanse to optimalnije odluili smo vam ukratko objasniti osnovni koncept
viejezgrenih procesora, opisati naine funkcionisanja, te objasniti istoriju razvoje ove inovativne tehnologije,
koja je u trenu kada se inilo da razvoj procesora dolazi do granice mogunosti otvorila nove horizonte.
11
temperaturu. daljni razvoj je svakako mogu, ali skup. Prema strunjacima vodeih korporacija, konstrukcija
procesora 20% vee brzine skuplja je dva puta od prethodnika.
Oito je da da poveanje performansi na ovaj nain nije trajno reenje za napredak tehnologije i proizvoai
dolaze u probleme, kako poveati performanse, ako zadrimo isti radni takt. Odgovor se namee sam po sebi,
napravimo sastav sa dva procesora koji e obavljati paralelno razliite zadatke ili jo bolje, napravimo jedan
procesor sa dva jezgra kako bi skratili komunikacijski put izmeu jezgra. Paralelno sa razvojem ove koncepcije
proizvoai se okreu poveanju prirune memorije koja je zaduena za pribavljanje odreenih instrukcija
procesoru i prije nego ih on zatreba skraujui tako vrijeme reagiranja u trenutku kad ih je potrebno pribaviti.
Ova dva koncepta temelji su razvoja dananjih procesora i svaka novija generacija postavlja nove granice broja
jezgra i veliine prirune cache memorije.
Sada
se
namee
pitanje
kako
je
mogue ciljati u
daljnji razvoj
procesora
na
osnovu poveanja broja jezgra, kad smo donedavno imali velike procesore sa samo jednom jezgrom koji su
trebali dobro aktivno hlaenje, a sada poveavamo njihov broj. Tu je industrija doskoila na nain da se
poveava stepen integracije procesora, a on ustvari predstavlja broj tranzistora koje je mogue smestiti na
jednici povrine. Napretkom tehnologije, te je tranzistore mogue smestiti meusobno sve blie, a njihove
dimenzije mogu biti sve manje, jer nove tehnologije omoguavaju precizno upravljanje naponom na njihovim
konektorima ak i u nanometarskim dimenzijama.
Vratimo se sada samim poecima viejezgrenog koncepta i pogledajmo na emu se temelji ideja o njihovoj
primjeni:Takvi procesori omoguavaju obavljanje vie zadataka istovremeno, a obavljanje viestrukih
instrukcija je 1.5x bre od jednojezgrenog procesora sukladnih karakteristika, ali imaju i odreene potrebe koje
proizlaze iz te tehnologije kao to je konstantna aktivnost svih jezgri, te zajednika priruna memorija. Donose
nie radne taktove po jezgru, manje zagrevanje, ali i manju potronju energije, emu su se naroito obradovali
proizvoai prijenosnih racunara kojima to omoguava poveanje autonomije. U primeni viejezgreni procesori
su zahtevali odreene prilagodbe od strane korisnika, a posebno profesionalnih, koji su vrili razvoj programa i
software-ske potpore za takve procesore. Sada treba obratiti pozornost na konstrukciju programa koje procesori
izvode, te se zahteva redizajn programa zbog maksimalne iskoristivosti vie jezgra, pri emu se programi
12
moraju smisleno podeliti na podjednake delove. Dielovi se paralelno izvode u razliitim jezgrima, po zavretku
izvoenja jedno od jezgra prikuplja rezultate i daje konano reenje zadatka. Spomenuli smo ideju
vieprocesorskih masina koji su prethodili viejezgrenima, ali noviji koncept se pokazao boljim, jer koriste
manje komponenti, manja je potronja energije, a komunikacija je puno bra, jer je sam fiziki razmak meu
jezgrama manji. Konkretni rezultati koje nam je ova tehnologija donela su bolje iskoricenje dostupnih
tranzistora, poveanje protonosti i brzine paralelnih aplikacija, omoguavanje blieg sparivanja jezgra, bra
komunikacija komponenti, manja potronja energije, iskljuivanje neaktivnih jezgra, to je inovacija koja
predstavlja odmak od koncepta, te je omoguen dialji neometan rast performansi pod uslovom daljeg napretka
na polju poveanja stepena integracije. Ipak tu je i par nedostaka, efektivno poveanje brzine oseti se samo kod
paralelnih aplikacija, brzina memorije postaje ograniavajui injenik u poveanju brzine komunikacije, te
problemi u prilagodjenu programa tokom prelaznog razdoblja.
Vodei prozvoai viejezgrenih procesora nezavisno razvijaju vlastite ideje temeljene na istom konceptu, te
svaki proizvoa uvodi specifinosti prilagoene zahevima ciljane grupe korisnika. Proizvoai koji su radili na
ovom konceptu su: AMD, Sun microsystems, IBM, Intel, te emo u par crta predstaviti razvojni put i ideju
svakoga od njih.
IBM
-2001. dual core
-orijentacija na multimedijalnu
industriju
-vrlo brz razvoj 4x bri procesor
odpoetnog
-grupa IBM, Sony i Toshiba razvija
CELL, procesor upotrebljen za PS3
-prelaze na 128-bitnu arhitekturu
(floating point matrice)
-poveavaju radne frekvencije do 4.6
GHz (256 Gflops)
Intel
-odlaze najdalje u
pogledu
viejezgrenosti
-16 projekata vezanih
za multicore
-procesori rade na
frekvencijama
do 3.8 GHz
-koncepti za
posluivae i
radne stanice (min. 4
procesora)
-Itanium(dual core) 1.7
miliarde. tranzistora,
tehnologija uvanja
energije, nezavisno
upravljanje
memorijskim kanalom,
energetska nezavisnost
jezgra
Vidimo da vodei proizvoai sve svoje napore ulau u ovu tehnologiju i ona svakako predstavlja budunost.
Ono o emu bi kupci trebali razmisliti je njihova potreba za vie jezgrenim procesorima, jer kako je spomenuto,
poboljanje performansi nije proporcionalno poveanju broja jezgra, te odabir quad core umjesto dual core
procesora nikako ne znai dva puta vee performanse. Igraima bi posebno trebalo biti jasno da kupovina
procesora sa veim brojem jezgra ne donosi drastina poveanja performansi. Pravu potrebu za veim brojem
13
jezgri imaju korisnici koji paralelno koriste vei broj aplikacija, oni koji trae bazu za serverskae racunare, te
profesionalni korisnici iji su programi pisani za ovakve procesore i omoguavaju da maksimalno iskoriste
njihove potencijalne performanse.
14