Članki » Strokovni članki » Procesorske tehnologije (II. del)
Procesorske tehnologije (II. del)
- Malecky ::
Slycer je pojasnil delovanje vsakega procesorja na osnovi Pentium 4, jaz se bom pa poglobil v stvari, ki so jih Intelovci razvijali pet let in ki naj bi bile revolucionarne, tudi par let pred vsakim konkurenčnim izdelkom. V tem poglavju se bomo osredotočili na razlike med Intel Pentium 4 in AMD Athlonom XP. Ker je Athlon še zelo konvencionalen procesor in ne vsebuje pretiranih novosti in posebnosti bomo pregledali kaj ima P4, kar Athlon XP nima in če so te nove tehnologije tako dobre kot Intel trdi, da so. Skozi to primerjavo bomo predelali nekatere pojme, ki temeljijo na Slycerjevih opisih, in jih boste morali prebrati in razumeti če hočete razumeti nove tehnologije, ki stojijo pod imenom Pentium 4.
Slike so angleške - pobrane iz Tom's Hardware strani. Problem je, da je večina izrazov v slovenščino zelo težko prevedljiva. So pa v tekstu razloženi vsi izrazi, tako da ne boste prikrajšani, če ne znate angleščine.
Kaj je Netburst?
Intel je svojo novo načrtovano arhitekturo poimenoval Netburst, to pa z nobenimmi posebnimi razlogi v mislih. Netburst bi lahko pomenilo Net (kot internet) Burst (rafal, velika pohitritev), kar je pa zelo naivno celo za navadne uporabnike, ker se danes že vsak zaveda, da mu procesor ne bo pripomogel pri dolpotegovanju programov z interneta ali hitrejšim brskanjem po njem. Intel je le hotel izkoristiti BUM interneta in njegovo hitro rast ter razvoj kot reklamo za svoj novi procesor, čeprav nam ne nudi nobenih pohitritev v zahtevnih programskih rešitvah. AMD tudi ni bil imun na nategovanje z imenovanjem - poleg cvetke poimenovanja AMDjevih procesorjev, imenovanega P(performance) R(rating), so AMDjevci morali tudi upravičiti le-to poimenovanje. Podobno kot Intel so si zamislili ime za arhitekturo v Athlon procesorjih ter ji nadeli ime Qantispeed techology, kar ni nič drugega kot skrit pomen - štirikrat več (qanty) na frekvenco samega procesorja (speed). To naj bi pomenilo, da Athlon XP naredi veliko več v eni urni periodi kot Pentium 4. Intelovi marketing guruji so v NetBurstu videli možnost za velik uspeh, a se zavedali, da njihov P4 pri isti frekvenci Athlonu ne bo kos, imel bo pa eno veliko prednost - to je naivnost kupca. Običajni kupci sistema se še nikoli niso zavedali, da pri procesorjih ne štejejo samo dobri stari megaherci ampak tudi koliko precesor naredi v eni urini periodi. Ker se hitrost lahko izrazi v Hz, delo na urino periodo pa ne, je lahko Intel iztržil iz slabo zasnovanega procesorja karseda največ.
Netburst in njegovove posebnosti:
Netburst arhitektura vsebuje:- Hitrejše sistemsko vodilo
- Hiper cevovodno tehnologijo
- Hitro izvršilno enoto
- Naprednejši prenosni predpomnilnik
- Hardware prefetch
- Naprednejša dinamična izvrševanja (Execution Trace Cache, Enhanced Branch prediction)
- Nadgrajena FPU enota in multimedijska enota z dodanimi SSE2 ukazi
Sistemsko vodilo P4
Prva novost, ki jo bomo obdelali v tem članku je sistemsko vodilo. Tej novi tehnologiji vodila se je Intel posvečal kar nekaj časa in s pomočjo Rambusa izdelal 4x100 MHz vodilo, ki pa podobno kot AGP4x. Pentium 4 tako omogoča pasovno širino 3,200 MB/s, kar je veliko več kot vsi drugi procesorji na trgu (P3 zmore, za primerjavo, 1,066MB/s). Kako se to izračuna?: vodilo P4 je 4x (quad pumped), široko 64bitov in 100 MHz, kar pomeni, da je teoretični prenos: 8 bytov * 100 milijonov/s*4= 3,200MB/s. Primerjajmo to z Athlonovim EV6 vodilom - le-ta je tudi 64biten, dvokanalen, tiktakajoč na 133 MHz, kar znese: 8 bytov * 133 milijonov/s * 2 = 2,233 MB/s. Hitro sistemsko vodilo pa pri P4 še ne pomeni popolne zmage nad tekmeci. Potreben je še enako hitri pomnilnik. Ker je Intel sodeloval z Rambusom, je Rambus izdal enako hiter RDRAM, ki deluje na popolnoma drugačnem principu kot SDRAM in je zato tudi veliko dražji. Pentium 4 in Rambusov najhitrejši PC800 RDRAM sta perfektna sodelavca vsaj v teoriji, ker dvokanalni RDRAM omogoča pasovno širirino 3,200 MB/s. Za celoten sistem je izjemno priporočljivo, da deluje na povsem enakem nivoju in ne, da se podatki nekje "zatikajo" ali pa zavlačujejo. Če je celoten sistem enako hiter, bo izkoristek popoln, ker bodo vse naprave delovale brez prekinitev. Pentium 4 za svoje delovanje potrebuje dva dvokanalna RDRAM RIMM-a, ker je procesorsko vodilo 4X in en dvokanalni RIMM ne bi bil dovolj. Pomnilnik in procesor morata pa tudi delovati sinhrono, kar pomeni, da mora tudi hitrost RIMM modulov biti enaka.
Naprednejši transfer cache
Transfer (prenos) Cache (predpomnilnik)Naslednja novost v P4 je napreden transfer cache (L2-predpomnilnik). L2 predpomnilnik je vse do Northwooda ostal nespremenjen, ker je predpomnilnik zelo drag. Ker vsak KB šteje, je velikost predpomnilnika ostala pri velikosti 256 KB. Predpomilnik Pentiuma 4 uporablja 128bitne linije, ki so razdeljene na dva 64bitna dela. To pomeni, da ko P4 prevzema podatke iz pomnilnika, prebere naenkrat 64 bitov, kar je tudi najmanjši in hkrati največji kos, ki ga prevzame. V praksi to izgleda tako: če od P4 zahtevamo, da prebere 1 bit, procesor prebere 64 bitov, kar je zelo slabo. Bralna latenca (latancy; zaostanek) pri L2 je 7 urinih period, vezava med jedrom in L2 predpomnilnikom je široka 256 bitov in deluje s hitrostjo procesorja. S temi podatki si lahko tudi preračunate, kakšna je hitrost prenosa med L2 predpomnilnikom in jedrom.
L1 predpomnilnik
Tudi L1 predpomnilnik ni ostal nespremenjen. S prvotnih 32KB L1 pri Pentium 3 procesorjih (16KB podatki, 16KB ukazi) so pri P4 podatkovni del skrčili na samo 8 KB! To je skoraj nič pred Athlonomovimi 64 kilobajti. Dodali so pa izvršilno sledilni predpomnilnik (Execution Trace Cache), ki ga bom opisal kasneje. L1 predpomnilnik v P4 ima zardai svoje velikosti tudi eno prednost - latenca je samo 2 urine periode, kar je pol manj kot pri P3 procesorjih. Ponavadi pri predpomnilnikih drži "večji je, boljši je", kar je tudi po mojem mnenju trditev, ki ima nekaj teže pri zmogljivosti.
Hardware Prefetch
Hardware prefetch je tudi novost v sklopu predpomnilnikov, a je žal težko razumljiva. Upam, da jo bom lahko razumljivo opisal. Pentium 3 je že imel vdelano podobno tehnologijo, le v manjšem obsegu. veliko je bilo odvisno od samega programa ter podpore za ta proces. V Pentiumu 4 je pa to nadgrajeno in deluje skoraj povsem avtomatsko. Ta nova enota omogoča, da na podlagi vzorcev prej izvedenih ukazov "ugane", katere podatke bo procesor potreboval v naslednji operaciji in tako poskrbi za njihov "predčasen" prihod v predpomnilnik. To Pentiumu 4 zelo pomaga pri delu z ogromnimi tabelami podatkov.
Trace Cache Branch Prediction Unit
Ta na dolgo poimenovana enota pomaga izvršilno-sledilnemu predpomnilniku. Vsebuje 4096 vnosov, kar je osemkrat več kot v Pentiumu 3. Intel trdi, da lahko izniči 33% narobe predvidenih vejitev v P3.
Hyper Pipeline (Hipercevovod)
Zdaj smo pa pri eni od najbolj zanimivih in kontraverznih lastnosti P4, to je hipercevovod. Cevovod pri P4 je ekstremno dolg, saj ima kar dvajset stopenj za primerjavo. Pentium 3 jih ima deset, Athlon pa enajst. Razlog za tako dolg cevovod je bolj marketinška poteza kot tehnologija za tem, saj si je Intel želel, da bi Pentium 4 dosegal zelo velike frekvence, kar jim je s podaljšanjem cevovoda tudi uspelo. Manjši in krajši je cevovod, manj potrebuje logičnih vrat in s tem tudi manj tranzistorjev. Posledica je hitrejše delovanje. Slabost dolgega cevovoda so pa tudi napake, ki se vedno dogajajo, ko imamo vejitev in se Branch prediction Unit zmoti ter pokaže na drug naslov kot programska oprema. Tako se mora cel cevovod izprazniti in pričeti ponovno polnitev. To pomeni, da daljši ko je cevovod, več dela bo šlo v nič, ko in če se naredi napaka. Po intelovih besedah se to dogaja le redko, ampak ko se, ima pa procesor polne roke dela.
Trace cache zasede le prve 4 dele 20 stopenjskega cevovoda. Ostalo je:
Poišče podatke, preimenuje registre, vpiše v mikrooperacijsko vrsto, vpiše v FPU Schedulerje, odpošlje mikrooperacije v izvršilne enote, prebere registre (da zagotovi da so bili uporabljeni pravi med 128 večnamenskimi registrskimi datotekami za določen ukaz)
Rapid Execution Engine
Rapid Execution Engine (REE) je sestavljen iz dveh dvokanalnih ALU (Arithmetic Logic Unit) in AGUjev (Adress generation Unit). Razlog, da Intel omenja samo ta dva, je sledeči: sta zelo hitra, saj delujeta z dvokratno hitrostjo procesorja, kar pomeni, da lahko sprejmeta eno mikrooperacijo na pol urine periode. Eno in pol gigaherčni P4 ima 3 GHz ALU in AGU enoti. Intel pa pod tem pojmom ne omenja počasnega ALUja, shranjevalno-premične enote in multimediskega dela, ki je tudi počasen, vsebuje pa SSE, SSE2, MMX ipd.. Problem pri tem je, da gre večina mikrooperacij skozi zelo počasen enokanalni ALU, ki obdeluje kompleksne ukaze, na srečo pa večji del kode uporablja zelo preproste AND, OR, XOR ter podobne funkcije, ki se pa potem vršijo v REE z dvokratnikom hitrosti procesorja.
SSE2
SSE2 sestavlja 144 novih ukazov, ki vsebujejo, logično, tudi predhodne SSE ukaze. To so streaming SIMD (Simple Instruction Multiple Data) razširitve. Za uporabo teh ukazov je zadolžena programska oprema in za to prirejeni in dodelani prevajalniki kode, saj če ukaz ni uporabljen med prevajanjem programa, procesorju to NE pomaga. AMD bo tako v Hammer procesorje tudi vgradil SSE2 ukaze, ker so proizvajalci programske opreme Intelu naklonili nekaj dobre volje in nekaj programov dodelali tako, da vsebujejo dotične skupke ukazov.
Pakiranje, podnožje, velikost jedra
Če primerjamo velikost jedra P4 proti drugim procesorjem opazimo, da je OGROMEN. Veliko ljudi trdi, da je manjši pod železnim pokrovom, ker ima pač zasčitno ploščico ampak to ne drži. Pentium 4 meri 217 mm2 (to je površina jedra), kar je ogromno če vemo, da to znese skoraj dvokratno velikost Athlonovega jedra. Zanimivo je pa to, da ima "samo" pet milijonov tranzistorjev več kot Athlon, oba sta pa izdelana z isto 0.18 mikrnosko tehnologijo. Sedaj vemo, zakaj Intel nujno potrebuje 0.13 mikronsko tehnologijo za izdelovanje P4. AMDju se, po drugi stran, nikakor ne mudi s pomanjšanjem. Najbolj pa Intela muči cena P4. Če bi procesor bil manjši, bi bil tudi cenejši, pa še problemov z prekomernim oddajanjem toplote ne bi bilo več.
Kot lahko opazimo na zgornji sliki, je Intel dodal zasčito na P4, kar se je naučil že od okrušenih Celeronov in Pentiumov 3. Ta ploščica pomaga tudi pri hlajenju, saj s svojo velikostjo razprši oddajanje toplote na celo površino ploščice, kar nato dodatno pomaga hladilniku. Pentium 4 2.0 Ghz porabi 73 W energije, kar je 1W več od 1,4Ghz Athlona. Logično bi bilo, da bi se potem P4 s BOX hladilnikom vnel ali pa deloval na 60-70 stopinj Celzija - ampak se ne. Zasluga gre velikosti procesorja in s tem tudi boljši razporeditvi toplote kot na majhnih Athlon jedrih.
Zakaj Pentium 4 ni izpolnil naših pričakovanj?
Prva napaka: Majhen podatkovni L1 predpomnilnik - že zgoraj smo obdelali velikosti predpomnilnika najpopularnejših procesorjev na trgu. Take velikosti predpomnilnika se spomnimo že od časa 486. Že takrat je Intel odkril, da 8 KB nikakor ni dovolj. Zakaj ima P4 8KB L1, vprašajte podjetje. Jaz sem manjšo razlago že podal, a dejstvo ostaja - Intel bi nujno moral povečati količino L1 predpomnilnika (v tem času je Intel vsaj povečal količino L2 predpomnilnika na novih Northwood jedrih).
Druga napaka: Ni L3 predpomnilnika - Intel je prvotno načrtoval 1 MB L3 predpomnilnika za P4. Ta predpomnilnik pomaga procesorju, da mu ni treba tako pogosto v počasni glavni pomnilnik. V P4, takih kot so na policah danes, ni niti bita L3 - sploh ne obstaja. Intelu se je mudilo z izdajo P4 in zgleda, da je bil to razlog, da P4 nima prvotno načrtovanega L3. Pa tudi cena bi bila še višja.
Tretja napaka: Sledilni predpomnilnik ima premajhno prepustnost - kot vemo iz opisov zgoraj (če ste zelo natančno brali), lahko sklepate, da lahko sledilni predpomnilnik poda največ 3 mikrooperacije na urino periodo izvršilnim enotam. Te izvršilne enote se nahajajo v jedru, kjer se potem ukaz izvrši. Če pogledate sliko pod Rapid Execution Unit vidite, da je teh enot vseh skupaj 7. Skupaj lahko te enote v teoriji procesirajo devet mikrooperacij na urino periodo, štiri enostavne integer (celoštevilčne) operacije, en integer pomik/rotacijo, eno branje in eno vpisovanje v pomnilnik, eno FPU operacijo in eno MMX operacijo. Vse skupaj lahko primerjamo s sledilnim predpomnilnikom, ki pa tem enotam lahko poda "LE" 3 mikrooperacije. Tako pridemo do zaključka, da koda, ki je napisana po pravilu 4+1+1 in je optimalizirana za delovanje s P3 in Athlon procesorji, zagotovo teče veliko počasneje na Pentiumih 4.
Četrta napaka: Ukazi potrebujejo več časa za izvršitev - ta napaka ni določena na specifičnemu primeru ampak je posledica napak v arhitekturi P4. Koda potrebuje veliko več časa, da se izvrši. Intel vseeno upa na rešitev v veliki frekvenci in ne toliko na sami moči procesorja - izgleda, da mu uspeva. Koda, ki jo generira C++ prevajalnik, traja več urinih period, da jo izvede, zaradi Intelove neumne odločitve, da P4 dekodira le 1 ukaz na urino periodo ter da poda le 3 mikrooperacije jedru na urino periodo. Majhna posledica je tudi zelo dolg cevovod P4, saj ukazi (vejitve, skoki...) trajajo zelo dolgo, ker je polnjenje cevovoda dolgotrajen postopek.
Upam, da ste se pri branju članka veliko naučili in da je bil moj napor upravičen. Če se vam bo zdel ta članek zanimiv in boste veliko stvari odnesli od njega, bom napisal še kakšnega in tako upam, da na Slo-Techu dvignemo izučenost naših bralcev in s tem pripomoremo k bolj kvalitetnemu forumu, ki je sposoben nuditi pomoč tistemu, ki rabi nasvet.
Pentium 4 Extreme Edition
- Simon Belak ::
AMD je izpljunil svoje Athlone64, Intel pa nič. Njihovo edino železo v ognju je dobesedno to. Razbeljeno. Prihajajoči Prescotti so tako vsem najbolj poznani po naravnost fantastičnih količinah proizvedene toplote. Je velikan končno dobil zaušnico? Daleč od tega. ...
Kaj kupiti (1. del)
- Korosec Luka ::
Kaj kupiti, je večno vprašanje, ki si ga vsak izmed nas zastavi vsakokrat, ko se odpravi v trgovino, pa naj bo to lokalna prehrambeno usmerjena prodajalna ali pa kaj zanimivejšega -- naprimer računalniška trgovina. Kamorkoli pridemo, tam nas čaka nekdo, ki želi od nas ...
Pentium 4 2,2 GHz
Glede ekskluzivnosti moramo tudi mi kdaj biti na prvem mestu, mar ne? Tokrat nam je dobesedno padla sekira v med, saj smo prvi v Sloveniji na test dobili popolnoma delujoče računalo, v katerem je svoje urne takte izvajal 2200 MHz Pentium 4, grajen na jedru Northwood. Seveda smo si rekli, ...
Procesorske tehnologije (I.del)
Človek je že od nekdaj hotel posnemati naravo. Tako kot so se razni zgodnji sanjači o tem, kako bo človek nekoč poletel med oblake, zgledovali po pticah, tako so si inženirji, ki so hoteli izdelati prvi računalniški procesor, za zgled vzeli človeške možgane ...
Primerjava Athlonov XP
[st.slika 42115] Sredi maja leta Gospodovega 2001 je AMD premierno izdal procesor, ki je temeljil na novem jedru, katerega je AMD taktično poimenoval Athlon4. Pod kodnim imenom Palomino znani procesor naj bi ponujal več od legendarnega Thunderbirda, se manj grel ter bil nasploh prodajna uspešnica. ...