seminarski cpu

Upload: aleksandar-filipovic

Post on 18-Jul-2015

98 views

Category:

Documents


1 download

TRANSCRIPT

PROCESORI

Procesori

1

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.

PrincipiPrincipi kojima podleu svi raunari su isti. U osnovi, oni svi uzimaju signale u obliku nula (0) i jedinica (1) (koji se zato zovu binarni signali), manipuliu njima saglasno nekom skupu instrukcija i proizvode izlaze, opet u obliku nula i jedinica. Napon na liniji u trenutku kada se signal poalje odredjuje da li je taj signal 0 ili 1. U sistemu koji radi na 3,3V, napon od 3,3V znai da je to 1, dok napon od 0V znai da je 0. Savremeni mikroprocesori sadre na desetine miliona mikroskopski malih tranzistora. Upotrebljeni u kombinaciji sa otpornicima, kondenzatorima i diodama, oni ine logika kola. Logika kola grade integrisana kola, a integrisana kola - elektronske sisteme. Prvi slavan rezultat firme Intel bio je integracija visokog nivoa svih logikih kola u jedinstven sloeni procesorski ip - Intel 4004 - koji se pojavio krajem 1971. godine. To je bio 4-bitni mikroprocesor, namenjen za upotrebu u kalkulatoru. On je obradjivao podatke od 4 bita, ali su mu instrukcije bile duine od 8 bita. Memorije za program i podatke bile su razdvojene. Intel 4004 je imao 46 instrukcija, koristio je svega 2300 tranzistora u 16-pinskom pakovanju sa dvojnim prikljunim sklopom (Dual in Line Package - DIP) i imao je brzinu generatora takta od 740 kHz (osam ciklusa generatora takta po ciklusu centralne procesorske jedinice od 10,8 mikrosekundi). Dve familije mikroprocesora su nekoliko godina vladale industrijom PC raunara Pentijumi firme Intel i PowerPC firme Motorola. Ove centralne procesorske jedinice bile su takodje prvi primeri dve konkurentne procesorske arhitekture u poslednje dve decenije - od kojih se prva klasifikuje kao CISC, a druga kao RISC ip. CISC Raunar sa sloenim skupom instrukcija (complex instruction set computer - CISC) je tradicionalna raunarska arhitektura, u kojoj centralna procesorska jedinica koristi mikrokd da bi izvravala veoma irok skup instrukcija. Te instrukcije mogu da buduProcesori 2

promenljive duine i da koriste sve naine adresiranja, to zahteva sloenu elektroniku za njihovo dekodovanje. Proizvodjai raunara su jedno vreme teili da izgrade sve sloenije centralne procesorske jedinice koje su imale sve vee skupove instrukcija. 1974. godine, John Cocke iz IBM-ovog istraivakog sektora odluio je da pokua sa pristupom koji bi dramatino smanjio broj instrukcija koje ip izvrava. Do sredine 80-ih godina to je dovelo do toga da je jedan broj proizvodjaa raunara obrnuo trend gradei centralne procesorske jedinice koje su mogle da izvravaju samo veoma ogranien skup instrukcija. RISC Centralne procesorske jedinice raunara sa smanjenim skupom instrukcija (reduced instruction set computer - RISC) imaju konstantnu duinu instrukcija, iskljuile su indirektni nain adresiranja i zadrale su samo one isntrukcije koje mogu da se preklapaju i izvravaju u jednom mainskom ciklusu ili manje od toga. Prednost RISC centralnih procesorskih jedinica je u tome to one mogu veoma brzo da izvravaju instrukcije, jer su te instrukcije tako jednostavne. Druga, moda mnogo vanija prednost je u tome to RISC ipovi zahtevaju manje tranzistora, to ih ini jevtinijim za projektovanje i proizvodnju. Jo uvek postoji znaajna rasprava izmedju eksperata o krajnjoj vrednosti RISC arhitektura. Njihove pristalice istiu da su RISC maine i jevtinije i bre, pa su zbog toga maine budunosti. Skeptici primeuju da uinivi hardver jednostavnijim, RISC arhitekture vie optereuju softver - RISC prevodioci moraju da generiu softverske rutine za izvravanja sloenih instrukcija koje se u CISC raunarima izvode u hardveru. Oni istiu da to ne vredi uloenog truda, jer su konvencionalni procesori i tako postali brzi i jevtini.

Istorijska perspektivaProcesor 4004 bio je pretea svih dananjih ponuda firme Intel i, do dana dananjeg, svi procesori PC raunara bili su zasnovani na originalnim projektima ove firme. Prvi ip koji je upotrebljen u IBM PC raunaru bio je Intel 8088. U vreme kada je odabran, to nije bila najbolja raspoloiva centralna procesorska jedinica, u stvari Intel-ov sopstveni procesor 8086 bio je moniji i pojavio se ranije. Procesor 8088 je odabran iz ekonomskih razloga: njegova 8-bitna magistrala podataka je zahtevala jevtinije matine ploe od 16-bitnog 8086. Takodje, u vreme kada je projektovan originalni PC raunar, veina raspoloivih ipova za sprege bila je namenjena za upotrebu u 8bitnim konstrukcijama. Ovi rani procesori ne bi imali ni blizu dovoljnu snagu da izvravaju dananje programe. Sledea tabela prikazuje generacije procesora od prve generacije 8088/86 firme Intel u kasnim 70-tim godinama do sedme generacije AMD Athlon koja je uvedena u leto 1999. godine:

Procesori

3

Tip/ Generacija

Godin a 1979 1978 1982 1985 1988 1989 1989 1992 1994 1993 1997 1995 1997 1998 1999

8088/Prva 8086/Druga 80286/Druga 80386DX/Trea 80386SX/Trea 80486DX/etvrta 80486SX/etvrta 80486DX2/etvrta 80486DX4/etvrta Pentium/Peta MMX/Peta Pentium Pro/esta Pentium II/esta Pentium II/esta Pentium III/esta

irina magistral e podataka / adresa 8/20 bit 16/20 bit 16/24 bit 32/32 bit 16/32 bit 32/32 bit 32/32 bit 32/32 bit 32/32 bit 64/32 bit 64/32 bit 64/36 bit 64/36 bit 64/36 bit 64/36 bit

Skrivena memorija 1. nivoa (KB) Nema Nema Nema Nema 8 8 8 8 8 8 16 8 16 16 16

Brzina memorijske magistrale (MHz) 4.77-8 4.77-8 6-20 16-33 16-33 25-50 25-50 25-40 25-40 60-66 66 66 66 66/100 100

Brzina unutranjeg generatora takta (MHz) 4.77-8 4.77-8 6-20 16-33 16-33 25-50 25-50 50-80 75-120 60-200 166-233 150-200 233-300 300-450 450-600

ipovi tree generacije, zasnovani na Intel-ovim 80386SX i DX procesorima, bili su prvi 32-bitni procesori koji su se pojavili u PC raunarima. Glavna razlika medju njima bila je u tome to je 386SX bio 32-bitni procesor samo u svojoj unutranjosti, dok su njegove sprege sa spoljanjim svetom bile preko 16-bitne magistrale podataka. To je znailo da su se podaci kretali izmedju SX procesora i ostatka sistema upola manjom brzinom nego kod procesora 386DX. etvrta generacija procesora je bila takodje 32-bitna. Ipak, oni su svi nudili izvestan broj poboljanja. Prvo, itava konstrukcija je bila paljivo uradjena za Intel-ovu familiju 486, inei ove procesore inherentno vie od dva puta brim. Drugo, oni su svi imali 8 Kbajta skrivene (ke) memorije na samom ipu, ba uz procesorsku logiku. Ovi skriveni prenosi podataka iz glavne memorije su znaili da je procesor u proseku morao da eka na podatak sa matine ploe samo 4% od ukupnog vremena, jer je obino bio u stanju da dobije traenu informaciju iz ke memorije. Model 486DX razlikovao se od 486SX samo po tome to je imao i matematiki koprocesor na ploi. To je bio zaseban procesor, projektovan da preuzme proraune sa pokretnim zarezom. On je imao malo uticaja na svakodnevne primene, ali je menjao performansu tabelarnih prorauna, programa za projektovanje pomou raunara itd. Pentijum je definiui procesor pete generacije koji obezbedjuje veoma poveanu performansu u odnosu na ipove 486 koji su mu prethodili, zahvaljujui veem broju promena u arhitekturi koje ukljuuju i udvostruavanje irine magistrale podataka na 64 bita. Procesor P55C MMX je napravio dalja znaajna poboljanjaProcesori 4

udvostruavanjem primarne skrivene memorije na ploi na 32 Kbajta i proirenjem skupa instrukcija u cilju optimizovanja izvravanja multimedijskih funkcija. Procesor Pentijum Pro, uveden 1995. godine kao naslednik Pentijuma, bio je prvi u estoj generaciji procesora i uveo je vie jedinstvenih osobina arhitekture koje nikada ranije nisu bile vidjene u procesorima PC raunara. To je bila prva centralna procesorska jedinica iz glavnog proizvodnog toka koja je radikalno promenila nain izvravanja instrukcija, prevodei ih u mikroinstrukcije sline onima kod RISC procesora i izvravajui ih u vrlo naprednom jezgru. Takodje je uvedena skrivena memorija koja je imala dramatino vii nivo performanse u poredjenju sa svim ranijim procesorima. Umesto da se koristi ke memorija sa matine ploe koja radi brzinom memorijske magistrale, upotrebljena je integrisana skrivena memorija drugog nivoa sa njenom sopstvenom magistralom, koja radi punom brzinom procesora, tipino tri puta bre od skrivene memorije na Pentijumu.

Osnovna strukturaGlavni funkcionalni sastavni delovi procesora su (Slika 2): Jezgro: Srce moderne izvrne jedinice. Pentijum ima dva paralelna sklopa za protonu obradu koji mu omoguavaju da ita, interpretira, izvrava i alje dve instrukcije istovremeno. Jedinica za predvidjanje grananja: Ovaj sklop pokuava da pogodi koja sekvenca e biti izvrena svaki put kada program sadri uslovni skok, tako da jedinica za prethodno donoenje i dekodovanje moe unapred da pripremi instrukcije. Jedinica za obradu u pokretnom zarezu: Trea izvrna jedinica u Pentijumu u kojoj se vre necelobrojna izraunavanja. Primarna skrivena memorija: Pentijum ima dve skrivene memorije na ipu, svaka od po 8 Kbajta, od kojih je jedna za kd a druga za podatke i koje su daleko bre od vee spoljanje sekundarne skrivene memorije. Sprega za magistralu: Ovaj sklop donosi centralnoj procesorskoj jedinici pomeane podatke i kd, odvaja ih kada treba da se koriste i ponovo ih kombinuje i vraa natrag.

Procesori

5

Slika 2: Glavni funkcionalni sastavni delovi procedsora

Napredovanja u arhitekturiPrema Moore-ovom zakonu (koji je 1965. godine formulisao Gordon Moore, jedan od osnivaa firme Intel), centralne procesorske jedinice udvostruavaju svoje kapacitete i sposobnosti na svakih 18 do 24 meseca. Poslednjih godina Intel je uspevao da se uporno dri ovog zakona i ostane na elu svih konkurenata, uvodei vie monih ipova za PC raunare od bilo kog drugog preduzea. 1978. godine, procesor Intel 8086 je radio na uestanosti generatora takta od 4,77 MHz i imao manje od milion tranzistora. Do kraja 1995. godine njihov Pentijum Pro je imao zapanjujuih 21 milion tranzistora na ipu i radio je na uestanosti od 200 MHz. Fiziki zakoni ograniavaju projektante u beskrajnom poveavanju brzine generatora takta i, mada te brzine rastu svake godine, samo to ne bi dalo poveanja performanse na koja smo se navikli. To je razlog zato inenjeri stalno trae naine da procesor preuzme na sebe sve vie rada sa svakim otkucajem generatora takta. Jedan od pristupa je da se proire magistrala podataka i registri. ak i 4-bitni procesor moe da sabere dva 32-bitna broja, ali je za to potrebno mnogo instrukcija, dok 32-bitni procesor moe da obavi taj zadatak u jednoj jedinoj instrukciji. Veina dananjih procesora ima 32-bitnu arhitekturu, ali ve stiu i 64-bitne varijante. Kada se kae "da se neke stvari deavaju sa svakim otkucajem generatora takta", potcenjuje se koliko je stvarno vremena potrebno da bi se izvrila neka instrukcija.Procesori 6

Tradicionalno, potrebno je pet taktova - jedan da se uita instrukcija, jedan da se dekodira, jedan da se uzme podatak, jedan da se instrukcija izvri i jedan da se upie rezultat. U ovom sluaju, vidi se da je procesor koji radi na 100 MHz sposoban da izvri 20 miliona instrukcija u sekundi.

Softverska kompatibilnostU prvim danima raunarstva, mnogi ljudi su pisali svoj sopstveni softver, tako da je taan skup instrukcija koje bi procesor mogao da izvrava bio od malog znaaja. Danas, medjutim, ljudi oekuju da mogu da koriste gotov softver, tako da je skup instrukcija najvaniji. Mada sa tehnike take gledita arhitektura procesora Intel 80x86 nije nita posebno, ona je odavno postala industrijski standard. Ako tree lice pravi procesor koji ima razliite instrukcije, on nee moi da izvrava standardni industrijski softver, to e rezultovati praktino nikakvom prodajom. Zato su, u vreme procesora 386 i 486, firme kao to je AMD klonirale Intel-ove procesore, to je znailo da su one bile uvek za oko jednu generaciju u zaostatku. Procesori Cyrix 6x86 i AMD K5 su bili suparnici Intel-ovom Pentijumu, ali oni nisu bili kopije "pod indigo-papirom". K5 je imao svoj sopstveni skup instrukcija i prevodio je instrukcije 80x86 u svoje pre nego to ih je uzimao u obradu, tako da firma AMD nije morada da eka na Pentijum da bi projektovala svoj K5. Mnogo toga oni su projektovali paralelno sa Intel-om - samo je sklop za prevodjenje bio zadravan. Kada se K5 pojavio, on je nadmaio Pentijum u performansi u sluajevima kada su brzine generatora takta bile podjednake.

PentijumRe Pentijum ne znai nita, ali sadri slog pent, grki koren za broj pet. Na poetku, Intel je nazvao ovaj procesor 80586, da bi nastavio seriju prethodnika ovog ipa 80x86. Ali, kompaniji se nije dopala ideja da AMD, Cyrix i drugi proizvodjai klonova takodje koriste ime 80x86, pa je zato Intel odluio da novom proizvodu da zatieno ime - odatle Pentijum. Uvodjenje Pentijuma u 1993. godini napravilo je revoluciju na tritu PC raunara, stavljanjem vie moi u PC kuite nego to je NASA imala u svojim klimatizovanim raunarskim salama ranih 1960-ih godina. Pentijumova CISC arhitektura predstavljala je skok napred u odnosu na procesore 486. Verzije sa 120 MHz i vie, imale su preko 3,3 miliona tranzistora, proizvedenih u 0,35-mikronskom procesu. U svojoj unutranjosti, procesor je imao 32-bitnu magistralu, ali spoljna magistrala podataka imala je irinu od 64 bita. Spoljna magistrala je zahtevala drukiju matinu plou i da bi to podrao, Intel je takodje uveo poseban skup ipova za povezivanje Pentijuma sa 64-bitnom spoljanom skrivenom memorijom i PCI magistralom.

Pentium Pro

Procesori

7

Intel-ov Pentijum Pro, koji je bio uveden krajem 1995. godine sa jezgrom centralne procesorske jedinice koje se sastojalo od 5,5 miliona tranzistora i 15,5 miliona tranzistora u skrivenoj memoriji drugog nivoa, bio je prvo namenjen tritu servera i vrhunskih radnih stanica. To je superskalarni procesor koji ima procesorske osobine vieg reda, optimizovan za rad na 32 bita. Pentijum Pro je isto tako bio i prvi Intel-ov procesor koji nije koristio cenjeno podnoje tipa Socket 7, zahtevajui vei 242-pinski interfejs podnoja tipa Socket 8 i novu konstrukciju matine ploe. Pentijum Pro se razlikuje od Pentijuma po tome to ima skrivenu memoriju drugog nivoa na ipu kapaciteta izmedju 256 Kbajta i 1 Mbajta koja radi na uestanosti unutranjeg generatora takta. Smetanje sekundarne skrivene memorije na ip, a ne na matinu plou, omoguava signalima da prolaze preko 64-bitnog spojnog puta za podatke, a ne preko 32-bitnog puta Pentijumovih sistemskih magistrala. Fizika bliskost takodje doprinosi poboljanju performanse. Kombinacija je toliko mona da Intel izjavljuje kako je 256 Kbajta skrivene memorije na ipu ekvivalentno ili ak nadmauje 2 Mbajta skrivene memorije na matinoj ploi.

Pentijum IIUveden sredinom 1997. godine, Pentijum II je doneo vei broj vanih promena u oblasti procesora PC raunara: Prvo, sam ip i sistemska skrivena memorija drugog nivoa su povezani pomou posebne namenske magistrale koja je mogla da radi istovremeno sa magistralom koja povezuje procesor sa sistemom. Drugo, procesor, sekundarna skrivena memorija i rashladni element su svi montirani na malu plou koja se ukljuuje u slot na matinoj ploi, na nain koji vie potsea na dodatne kartice nego na tradicionalni raspored procesor/podnoje. Intel je ovo nazvao jednoivini kertrid (single-edge cartridge SEC). Trea promena je stvarno vie sinteza, jer Pentijum II ujedinjuje osobinu udvojenih nezavisnih magistrala (Dual Independent Bus - DIB) Pentijuma Pro sa MMX poboljanjima, pravei tako novu vrstu Pentijum Pro/MMX hibrida. Prema tome, dok izgleda vrlo razliito u odnosu na prethodne Intel-ove procesore, u svojoj unutranjosti Pentijum II je meavina novih tehnologija i poboljanja onih starijih.

Za razliku od Pentijuma Pro koji radi na 3,3V, Pentijum II radi na 2,8V, dozvoljavajui tako Intel-u da koristi vie uestanosti bez preteranog poveavanja zahteva za napajanjem. Dok Pentijum Pro na 200 MHz sa skrivenom memorijom od 512 Kbajta troi oko 37,9 W snage, Pentijumu II na 266 MHz sa skrivenom memorijom od 512 Kbajta potrebno je 37,0 W.

Procesori

8

CeleronU pokuaju da se bolje obrati sektoru PC raunara niske cene, do tada carstvu proizvodjaa klonova, firmi AMD i Cyrix, koje su nastavile da razvijaju nasledjenu arhitekturu oko Podnoja 7, Intel je u aprilu 1998. godine uveo svoj niz procesora Celeron. Zasnovani na istoj arhitekturi P6 kao i Pentijum II i koristei isti 0,25-mikronski proizvodni proces, sistemi Celeron nude celokupno pakovanje najnovijih tehnologija, ukljuujui podrku AGP grafici, pogone diskova ATA-33, sinhronu dinamiku memoriju sa direktnim pristupom (SDRAM) i ACPI. Celeron e raditi sa svakim skupom ipova za Intel Pentijum II koji podrava sistemsku magistralu od 66 MHz, ukljuujui 440LX, 440BX i novi 440EX, koji je posebno projektovan za trite "osnovnih PC raunara". Za razliku od Pentijuma II sa njegovim pakovanjem u kertridu sa jednoivinim kontaktom (SEC), Celeron nema plastinu zatitnu oblogu oko procesorske kartice, to Intel zove Jednoivino procesorsko pakovanje (Single Edge Processor Package - SEPP). On je jo uvek kompatibilan sa Slotom 1, dozvoljavajui da se koriste postojee matine ploe, ali mehanizam za zadravanje kartice centralne procesorske jedinice treba da se prilagodi da bi mogao da radi sa SEPP faktorom forme. Prvi Celeroni na 266MHz i 300MHz, bez skrivene memorije drugog nivoa, nisu ba naili na neki oduevljen odziv trita, jer su nudili malu ili nikakvu prednost u odnosu na sisteme sa Podnojem 7 zasnovane na klonovima, a ipak ne uspevajui da daju znaajnije preimustvo u performansi. U avgustu 1998. godine, Intel je pojaao svoj niz Celeron sa procesorom prvobitno nazvanim Mendocino. Shodno tome, poevi od tipa 300A, svi celeroni su doli opremljeni sa 128 Kbajta skrivene memorije drugog nivoa na ipu koje su radile punom brzinom centralne procesorske jedinice, uz spoljanju komunikaciju preko magistrale od 66 MHz. Ovo je uinilo novije Celerone daleko sposobnijim od njihovih tromih prethodnika. Ono to donekle zbunjuje je injenica da su svi procesori Celeron, od 300A do 466 MHz, bili raspoloivi u dve verzije - u faktorima forme SEPP ili plastina matrica pinova (plastic pin grid array - PPGA). Prvi od njih je verzija za glavni tok proizvodnje, kompatibilan sa postojeom Intel-ovom arhitekturom oko Slota 1, dok je drugi Podnoje Pin 370 koje nije ni Podnoje 7 ni Slot 1. Upotreba podnoja, pre nego slota, daje projektantima matinih ploa vie fleksibilnosti, jer podnoje zauzima manje mesta i istovremeno ima bolje karakteristike disipacije toplote. Posledica je da ono obezbedjuje proizvodjaima originalne opreme vie mogunosti za konstrukcije sistema manje cene. Verzija od 500 MHz bila je raspoloiva samo u PPGA pakovanju.

Pentium IIIIntel-ov naslednik Pentijuma II, prvobitno nazvan Katmai, doao je na trite u prolee 1999. godine. Sa uvodjenjem procesora MMX, doao je i proces nazvan

Procesori

9

Jedna instrukcija - viestruki podaci (SIMD). To je omoguilo da jedna instrukcija izvede istu funkciju na vie podataka istovremeno, poveavajui brzinu kojom su skupovi podataka koji su zahtevali iste operacije mogli biti obradjivani. Novi procesor je uveo 70 dodatnih SIMD proirenja - ali nije napravio nikakva poboljanja u arhitekturi. Od tih novih SIMD proirenja, 50 je bilo namenjeno poboljanju performanse za rad u pokretnom zarezu. Da bi se pomoglo manipulisanje podacima, postoji osam novih 128-bitnih registara. U kombinaciji, ova poboljanja su dovela do toga da je do etiri rezultata u pokretnom zarezu moglo biti vraeno u svakom ciklusu procesora. Postoji takodje 12 novih instrukcija za medije koje se dopunjavaju sa postojeih 57 celobrojnih MMX instrukcija obezbedjivanjem dodatne podrke obradi multimedijskih podataka. Poslednjih 8 instrukcija se kod Intel-a oznaavaju kao nove instrukcije za skrivenu memoriju. One poboljavaju efikasnost skrivene memorije prvog nivoa centralne procesorske jedinice i dozvoljavaju naprednijim projektantima softvera da pojaaju performanse svojih primena ili raunarskih igara.

ItaniumU junu 1994. godine Hewlett-Packard je najavio njihov zdrueni istraivako-razvojni projekat namenjen da se dobiju napredne tehnologije za radnu stanicu za kraj milenijuma, server i raunarske proizvode za preduzea, a u oktobru 1997. godine oni su otkrili prve detalje njihove 64-bitne raunarske arhitekture. U to vreme, prvi lan Intel-ove nove porodice 64-bitnih procesora - nazvan Merced, po reci u Kaliforniji - bio je pripremljen za proizvodnju u 1999. godini, upotrebom 0,18mikronske tehnologije. U situaciji kada je razvojni program Merced posrnuo i bio procenjen na jo uvek godinu dana daleko od zavretka, Intel je objavio izbor imena Itanium na svom razvojnom forumu u oktobru 1999. godine. Glavna korist od 64-bitne raunarske arhitekture je koliina memorije koja moe da se adresira. Sredinom 1980-ih godina, 4 Gbajta adresibilne memorije 32-bitnih platformi je bilo vie nego dovoljno. Medjutim, do kraja milenijuma, velike baze podataka su prevazile tu granicu. Vreme potrebno da se pristupi memorijskim uredjajima i podaci smeste u virtuelnu memoriju ima znaajan uticaj na performansu. 64-bitne platforme mogu adresiraju enormnih 16 Tbajta memorije. U stvarnim terminima to znai da opsluuju baze podataka dovoljno velike da, dok 32-bitna platforma moe da opslui bazu podataka dovoljno veliku da zapamti ime svakog stanovnika SAD od 1977. godine, ona 64-bitna je dovoljno mona da zapamti ime svake osobe koja je ikada ivela od postanka sveta! Medjutim, bez obzira na uticaj koji e imati poveano adresiranje memorije, njegova tehnologija Eksplicitnog raunanja pomou paralelnih instrukcija (Explicitly Parallel Instruction Computing EPIC) - temelj nove 64-bitne arhitekture skupa instrukcija (Instruction Set Architecture - ISA) - je ono to predstavlja Itanijum-ov najvei tehnoloki napredak. EPIC, koji sadri inovativnu kombinaciju spekulacije, predvidjanja i eksplicitnog paralelizma, predstavlja napredak u najsavremenijim dostignuima u procesorskim tehnologijama, posebno se obraajui ogranienjima performanse koja se nalaze u

Procesori

10

RISC i CISC tehnologijama. Dok obe od ovih arhitektura ve koriste razne interne tehnike da bi pokuale da obradjuju vie od jedne instrukcije odjednom gde je to mogue, stepen paralelizma u kdu je odredjen jedino u vreme izvrenja od strane delova procesora koji nastoje da analiziraju i promene redosled instrukcija u hodu. Ovaj pristup troi vreme i prostor na ipu koji bi mogli biti upotrebljeni za izvrenje, a ne za organizaciju instrukcija. EPIC vri proboj kroz sekvencijalnu prirodu uobiajenih arhitektura procesora, dozvoljavajui softveru da komunicira eksplicitno sa procesorom kada operacije treba da se izvode paralelno. Rezultat je da procesor moe jednostavno da zgrabi to je mogue veu gomilu instrukcija i izvrava ih istovremeno, sa minimalnom predobradom. Poveana performansa je ostvarena pomou smanjivanja broja grana i promaaja u pogadjanju grananja i pomou smanjivanja efekata kanjenja izmedju memorije i procesora. IA64 arhitektura skupa instrukcija - objavljena u maju 1999. godine - primenjuje tehnologiju EPIC da prui velike resurse sa urodjenom skalabilnou, to nije bilo mogue sa arhitekturama prethodnih procesora. Na primer, sistemi mogu da se projektuju da se ukljuuju u nove izvrne jedinice kad god se zahteva nadgradnja, slino kao to se ukljuuje vie memorijskih modula u postojee sisteme. Prema firmi Intel, IA-64 ISA predstavlja najznaajniji napredak u mikroprocesorskoj arhitekturi od uvodjenja njihovog ipa 386 u 1985. godini. Procesori IA-64 e imati masivne raunarske resurse koji ukljuuju 128 celobrojnih registara, 128 registara za pokretni zarez i 64 predikatna registra, uz jo jedan broj registara posebne namene. Instrukcije e biti pakovane u grupama za paralelno izvravanje pomou razliitih funkcionalnih jedinica. Skup instrukcija je optimizovan za potrebe kriptografije, video kodovanja i drugih funkcija koje e biti vie potrebne u sledeoj generaciji servera i radnih stanica. U procesorima IA-64 je odraana i unapredjena podrka Intelovoj tehnologiji MMX i proirenjima za SIMD.

Pentium 4

Nove osobine koje je uvela nova mikroarhitektura Pentijuma 4, nazvana NetBurst, obuhvataju: inovativnu implemenraciju skrivene memorije prvog nivoa koja sadri - pored 8 Kbajta podataka - ke za praenje izvrenja, koji pamti do 12K dekodovanih instrukcija x86 (mikrooperacija), otklanjajui tako kanjenje pridrueno sa dekoderom instrukcija u glavnim petljama izvrenja; brzu mainu za izvrenje koja gura procesorske aritmetiko-logike jedinice na dvostruku uestanost jezgra, to rezultuje veom propusnom moi izvrenja i njegovim smanjenim kanjenjem - ip u stvari koristi tri odvojena generatora takta: na uestanosti jezgra, aritmetiko-logikih jedinica i magistrale;

Procesori

11

veoma duboku, izvrnu mainu za vanredno spekulativno izvrenje - koje se zove Maina za napredno dinamiko izvrenje - za izbegavanje zastoja koji mogu se pojave dok instrukcije ekaju da se razree medjusobne zavisnosti, a pomou obezbedjivanja velikog skupa instrukcija iz koga izvrne jedinice mogu da biraju; Skrivenu memorija drugog nivoa sa naprednim prenosom od 256 Kbajta koja obezbedjuje spregu od 256 bita (32 bajta) za prenos podataka u svaki blok jezgra, dajui tako mnogo veu propusnu mo kanala podataka - 44,8 Gbajta u sekundi (32 bajta x 1 prenos podataka po ciklusu x 1,4 GHz) za procesor Pentijum 4 na 1,4 GHz; SIMD proirenja 2 (SSE2) - najnovija iteracija Intel-ove tehnologije Jedna instrukcija - vie podataka (SIMD) - koja ima 76 novih SIMD instrukcija i poboljanja za 68 celobrojnih SIMD instrukcija, to dozvoljava ipu da zgrabi 128 bitova podataka istovremeno i za rad u pokretnom zarezu i za celobrojni rad i tako ubrza operacije kodovanja i dekodovanja koje zahtevaju intenzivan rad centralne procesorske jedinice, kao to su procedure za video, govor, trodimenzionalno prokazi, multimediju i slino; Prvu industrijsku sistemsku magistralu na 400 MHz, koja obezbedjuje trostruko poveanje propusne moi, poredjeno sa trenutnom Intel-ovom sistemskom magistralom na 133 MHz.

Pentium PresscotStigao je novi procesor Pentium 4 "E", poznat takodje i kao "Prescott". Prescott sadri iste sastavne blokove kao i njegov prethodnik, procesor Pentium 4 "Northwood", ali ima dvostruko vee skrivene memorije oba nivoa (16 KB za nivo L1 i 1 MB za nivo L2), dodaje SSE-3 i poboljano predvidjanje programskog grananja, kao i desetine drugih manjih doterivanja. U isto vreme, prineena je rtva na oltaru brzine generatora takta: protona obrada je poveana sa 21 na 31 stepen. Kako je sistem distribucije signala iz generatora takta procesora Presscot znatno poboljan u odnosu na onaj kod procesora Northwood i moe da se skalira do 5 GHz, jasno je da je tome morala da se prilagodi i sama arhitektura procesoa. Sa druge strane, duboke protone obrade predstavljaju otre kazne za pogrena predvidjanja programskog grananja i duga kanjenja, ako je jednoj instrukciji potreban rezultat prethodne instrukcije. Ali pre svega, obratiemo panju na novu arhitekturu procesora Pentium 4 "Prescott" i utvrdiemo da li vlasnici procesora Northwood mogu ili ne mogu da nadgrade svoje sisteme na ovu novu centralnu procesorsku jedinicu.

Specifikacije centralne procesorske jedinice

Procesori

12

U ovoj tabeli su najvanije tehnike specifikacije porodice procesora Pentium 4, zajedno sa njenom konkurencijom.Svojstva Brzina generatora takta Procesna tehnologija (m) Tranzistori (milioni) Napon Veliina matrice (mm) Duina protone obrade (celobrojna/FP) Adresni prostor Najvei fiziki adresni prostor Najvei virtuelni adresni prostor SIMD Konfiguracija skrivene memorije Skrivena memorija L1 (podaci/instrukcije) Kanjenje skrivene memorije L1 (uitavanje do upotrebe) Skrivena memorija L2 irina skrivene memorije nivoa L2 Kanjenje skrivene memorije L2 (uitavanje do upotrebe (+kanjenje L1) Skrivena memorija L3 Memorija Konfiguracija memorije Najvea irina propusnog opsega memorije do centr. procesora Athlon 64 FX 2,22,4 GHz (uskoro) 0,13 SOI Cu 105,9 1,55V 193 12/17 Athlon 64FX 1024 GB flat (40 bitova) 256 TB (48 bitova) SSE2 / 3DNow! / SSE Athlon 64FX 64/64 KB 3 1024 KB 128 bitova 16 Athlon 64FX Athlon 64 2 2,2 GHz 0,13 SOI Cu 105,9 1,550V 193 12/17 Athlon 64 Pentium 4 "C" 2,4-3,4 GHz 0,13 Cu 55 1,5-1,55V 131 21 Pentium 4 "C" Pentium 4 "E" 2,83,4 GHz 0,09 Cu 125 1,3V 1,5V 112 31 Pentium 4 "E" Pentium 4 EE 3,2-3,4 GHz 0,13 Cu 168 1,55V > 200 21 Pentium 4 EE Athlon XP 3200+ 2,2 GHz 0,13 Cu 37,5 1,65V 101 10/15 Athlon XP 3200+

1024 GB 64 GB PSE 64 GB PSE 64 GB PSE 4 GB flat (40 (36 bitova) (36 bitova) (36 bitova) bitova) 256 TB 4 GB 4 GB 4 GB 4 GB (48 bitova) SSE2 / SSE / SSE2 / SSE2 / 3DNow! / SSE2/SSE 3DNow!/SS SSE SSE SSE 3 E Pentium 4 Pentium 4 Pentium 4 Athlon XP Athlon 64 "C" "E" EE 3200+ 8 KB/ 8-16 16 KB/ 8-16 8 KB/ 8-16 64/64 KB 64/64 KB KB** KB** KB** 3 1024 KB 128 bitova 16 Athlon 64 2 512 KB 256 bitova 9-20 Pentium 4 "C" 2x DDR400 6,4 GB/s 2 1024 KB 256 bitova 9-20*** Pentium 4 "E" 2x DDR400 6,4 GB/s 2 512 KB 256 bitova 9-20 2 MB Pentium 4 EE 2xDDR400 6,4 GB/s 3 512 KB 64 bita 11-20 (*) Athlon XP 3200+ DDR400 3,2 GB/s

2x DDR400 1x DDR400 6,4 GB/s 3,2 GB/s

** 12000 Mikro operacija u sekundi, to je uporedivo sa oko 8 KB x86 instrucione skrivene memorije sa mnogo sloenih instrukcija, ali sa 16 KB konvencionalne instruktione memorije, ako se program sastoji od jednostavnih instrukcija *** Nije mereno. Naravno, veliko iznenadjenje bilo je to to su u kompaniji Intel proirili protonu obradu procesora Pentium 4 za jo 10 stepeni iza kea trasiranja. Da su stepeni za dekodovanje ispred kea za trasiranje ostali isti, to bi znailo da bi PresscotProcesori 13

verovatno imao oko 39 (31+8) stepeni ukupno. Zaista, tih 8 dodatnih stepeni nee imati u veini sluajeva nikakvog efekta na kanjavanje zbog promaaja u predvidjanju programskog grananja, ali to vam daje izvesnu zamisao koliko mnoge je ta arhitektura razradjena zbog brzine generatora takta. Radi poredjenja, Athlon 64 ima samo 12 stepeni u protonoj obradi, ukljuujui tu i dekodovanje. Mi sada imamo mnogo taniju procenu koliko je velika skrivena memorija za trasiranje u poredjenju sa uobiajenom skrivenom memorijom za instrukcije nivoa L1: u Intelu procenjuju da je ona negde izmedju 8 KB i 16 KB. Sa skrivenom memorijom za podatke udvostruenom na 16 KB, porodica procesora Pentium 4 konano ima skrivenu memoriju nivoa L1 priblino iste veliine kao stari Pentium III, mada sa brim ciklusom. Veliina matrice procesora Presscot je takodje vredna pomena: samo 112 mm sa 125 miliona tranzistora! Kada ove jeseni kompanija AMD predje na 90-nanometarsku (0,09-mikronsku) tehnologiju, odgovarajue skupljanje matrice dovee do veliine matrice procesora Athlon 64 od oko 120 mm.

125 miliona tranzistora?Pomenutih 125 miliona tranzistora zapanjilo je mnogo ljudi, ukljuujui tu i skromnog potpisnika ovih redova. Hajde prvo da izraunamo koliko mnogo novih tranzistora se zahteva za dodatnih 512 KB skrivene memorije nivoa L2: 512*1024 (KBajtova) * 8 (8 bitova) * 6 (1 elija SRAM memorije) = 25,2 miliona Sada to dodajte broju tranzistora procesora Northwood (55 miliona) i stii ete na oko 80 miliona tranzistora. Jo jedan milion za 16 KB skrivene memorije nivoa L1 i nekoliko veih bafera I jo uvek smo kratki za reenu cifru od 125 miliona. Markus Weingartner, Intel Europe: Veliki broj tranzistora takodje odlazi na tehnologiju Full Scan. To je tehnologija za otkrivanje i otklanjanje greaka, koja nam dozvoljava da otkrivamo greke u centralnoj procesorskoj jedinici do najmanje funkcionalne grupe. Trebalo bi takodje da uzmete u obzir druge nove instrukcije. I one su dodate procesoru Prescott a ne samo jo 512KB za skrivenu memoriju. Ugradjeni testovi za samoispitivanje (Built-In Self Tests, ili skraeno BIST), koriste se od strane mnogih proizvodjaa da bi se otkrili kvarovi u ipovima. Oni su se nalazili u ugradjenim centralnim procesorskim jedinicama, grafikim procesorima i drugim centralnim procesorskim jedinicama za stone sisteme ili servere, ukljuujui tu i one koje proizvodi firma Sun. ak i uz ovakvo obanjenje, veoma je verovatno da izvestan broj tranzistora unutar procesora Presscot u ovom trenutku nije u funkciji. Verovatni kandidati za njihovu upotebu su podrka za 64-bitne arhitekture x86 i podrka za dinamiku obradu po vie programskih niti (Dynamic Multi-Threading, DMT) sa spekulativnim prethodnim izvrenjem.

Architektura centralne procesorske jediniceU osnovi, procesor Prescott je Northwood Pentium 4 sa etiri glavne kategorije poboljanja: poboljano skaliranje frekvencije;Procesori 14

smanjen uticaj dugake protone obrade; poboljana performansa hiperobrade po vie programskih niti (Hyperthreading); opte poboljanje IPC (instruction per clockcycle, broja instrukcija po ciklusu generatora takta).

Prvo unapredjenje arhitekture podrazumeva poboljanu distribuciju signala generatora takta, koja je etiri puta bolja u poredjenju sa procesorom Northwood, kao i automatizovanu konstrukciju funkcionalnih blokova za bolje skaliranje generatora takta. Zato, hajde da prodiskutujemo ova razliita pojaanja arhitekture porocesora. Naa slika desno prikazuje razliite delove arhitekture Netburst, koja je poboljana u okviru procesora Presscot.

Ublaavanje uticaja ultra duboke protone obradeUz sve te silne prie oko pogrenog predvidjanja programskog grananja, esto se zaboravlja da sem njega postoje i drugi problemi koji mue centralne procesorske jedinice sa veoma dubokom protonom obradom. Uzmite u obzir mnoge algoritme u kojima jedan proraun zahteva rezultat onog prethodnog. Ili, drugim reima, jedno uitavanje ne moe da se dogodi, pre nego to se drugo memorisanje ponovo upie. Zaista, dok izvrenje instrukcije moe da se deava van redosleda, pravila x86 i dalje zahtevaju da se upisivanja deavaju u redosledu programa. Tako je mogue da kanjenje izmedju memorisanja koje ima vaei podatak i podatka koji se upisuje u skrivenu memoriju bude dosta veliko, naroito u sluaju sa toliko dugakom protonom obradom. Sluajevi u kojima uitavanje mora da eka na memorisanje da zavri sa svojim podatkom, mogu za rezultat da imaju znaajno smanjenje performanse, a vee skrivene memorije ovde ne mogu da pomognu. Svaki put kada je instrukciji potreban rezultat prethodne instrukcije, sa dugakom protonom obradom zapadate u nevolju. Savremene centralne procesorske jedinice pokuavaju da donekle otklone ovaj problem pomou prosledjivanja memorisanja do uitavanja (Store-to-Load Forwarding). Mehanizam prosledjivanja omoguava uitavanju zavisnom od podatka iz memorije da ime svoj podatak "prosledjen" ak i pre nego to je podatak memorije upisan nazad u skrivenu memoriju nivoa L1. Ovaj mehanizam kod procesora Presscot je fleksibilniji i dobro obradjuje sluajeve koji su bili ignorisani u procesoru Northwood. Da bi smanjili pogreno predvidjanje programskog grananja, u kompaniji Intel su poboljali kako statiko, tako i dinamiko (odluka zasnovana na prethodnim sluajevima) predvidjanje grananja. Prvo poboljanje se odnosi na jednostavnu statiku emu predvidjanja koja se koristi kada bafer ciljnog grananja (Branch Target Buffer, BTB) nema predvidjanje za uslovno grananje. Statiko predvidjanje grananja na osnovu prethodnih sluajeva kod procesora Northwood, jednostavno je predvidjalo da se grananje preduzima ukoliko je smer grananja unazad, a da se ne preduzima ukoliko se skae unapred, to se deava u veini petlji. Tipino, petlje se ponaaju po pravilu "uradi ovo grananje mnogo puta, sve dok neka posevba vrednost ne bude jednaka ", kao to se vidi u sledeem primeru:

Procesori

15

for (int inc = 0; inc < limit; inc++) { ... }

Medjutim, nisu sva grananja unazad u vezi sa zavretkom petlje. Jedinica za predvidjanje grananja (Branch Prediction Unit, BPU) procesora Presscot razmatra takodje i "rastojanje" izmedju grane i uslova od koga zavisi grananje, kao i vrstu uslova, zato to su istraivanja u Intelu pokazala da izvesne vrste uslova ee nisu bile uzete u obzir i da rastojanje izmedju izmedju grananja unazad i njegovog cilja moe da ukae na to da li se radi o grananju kao delu petlje ili ne. Moglo bi se rei da je Presscotova jedinica za predvidjanje grananja (BPU) postala mnogo "pametnija". U Intelu su takodje ukazali da su dodali "indirektni prediktor grananja" da pomogne dinamikom predvidjanju grananja, ali trenutno nemam nikakvih podataka ta ta BPU u stvari radi. Ta ideja o indirektnoj BPU potie od tazvojnog tima procesora Pentium M, koji ju je sa uspehom implementirao na P-M ("Cetralna procesorska jedinica Centrino"). Sve u svemu, rezultati ostavljaju dubok utisak. U predjenju sa Northwoodovom, jedinica za predvidjanje grananja procesora Prescott je samo 4% bolja na testu Crafty (ahovski program u ispitivanju performansi SPECint2000) ali do 18% bolja u testovima kompilacije (gcc) i parsiranja (parser) u SPECint2000. Nai prvi prorauni na potpunom izvrenju testa SPECint2000 (podaci: Intel) pokazuju da ima 9% manje pogrenih predvidjanja, zato to je broj pogreno predvidjenih grananja opao sa 0,88 na 0,8 od 100 instrukcija.

Procesori

16