#25
anee ezt most neked mondom, remélem tisztában vagy pár alapfogalommap, mint pl. az IPC(Instruction Per Clock-cycle)...
ja és most mondeom, hogy sem inteles, sem AMDs nem vagyok, csak elismerem, hogy most az AMD processzorok egyértelműen olcsóbbak, és jobbak is.
amit most írok, az nem (csak:) saját kútfőből van, ha már valaki olvasta ne anyázzon... jó? bár nem hiszem hogy itt olyan sok angol sajtót olvasó egyén forumozgatna...(tiszt. kiv.)
tehát: a p4 órajelnövelésével kapcsolatban:
mint tudjuk a processzorok teljesítményét 2 úton lehet növelni:
1: növelni az IPCt
2 növelni az órajelet:
1: ha ezt akarjuk növelni, akkor egyre többszörösen szuperskalár és multi-threading processzorokat kell gyártanunk rövid pipeline-al. ezek a processzorok rövid távon sokkal jobban fognk fejlődni, de hosszú távon elbuknak, leírom, miért:
tehát az IPC az az, hogy 1 órajel alatt hány utasítást tud a proci végrehajtani. ennek van elméleti értéke. pl pentium: 2 pentium pro(p6):3
pentum 3masok : 6
pentium 4 : 9
ezezk az elméleti maximumok. ezzel szemben a gyakorlat az, hogy ha valaki C fordítót használ, akor már annak is nagyon örül, ha sikerül 1 felé kúszni.(ebben az is benne van, hogy a processzorok mikrokódot hajtanak végre, amiben sokkal egyszerűbb utasítások vannak, mint az X86 kódban) ha valaki HC ASM programozó, még esetleg elérheti a 2.5 öt, de carmackékon kívül ez nemsokmindenkinek megy. ha egy processzor 16*an szuperskalár lenne(azaz elméleti max. IPC = 16) akkor olyan max 4ig fel lehetne csúszni mind ASMben, mind Cben. 4 felé egyszerűen semmikép, ennek oka a programokban található logikai műveletek aránya(a gyengébbek kedvéért olyan 1/5) tehát ez van. max. de még persze ilyen processzorok sincsenek. ekkor jön be a multi-threading. ha a regisztekerekből(az összesből) és pipeline bemenetből és kimenetből csinálnak n darabot, akkor az a processzor képes lesz n darab szálat futtatni egyszerre(no persze nem arról van szó, hogy odapakolni a DIE szélére, hanem bele kell tervezni... a gyeng. kedv.) tehát ezekkel elméletileg ki lehetne használni mégtöbb utasításvégrehajtó egységet is. ha van 8 thread akkor az ICP olyan 16ig növelhető. de a mai rendszerek struktúrája miatt ennél több threadra nincs szükség, így is elég ritka az a rendszer, ahhol van 6 domináns processz... tehát ez a max amit ki lehet hozni 1 processzorból. ennek az ára, hogy az órajel nem kifejezetten emelhető...
2: már féradt vagyok, leegyszerűsítem. az órajel drasztikus növelésével hosszú távon(8 év) sokkal komolyabb eredményeket lehet elérni, mint az 1. megoldással. félelmetesen hosszú pipelineok, és keskenyek, és gyorsak. az intel ezt az elképzelést már ajdnem jól megvalósította, a tanulmányt, ami erről szól, viélágszerte elismerik. annak oka, hogy az intelféle implementáció miért ilyen sikertelen a következő: az eredeti tanulmányban nem volt szó "pihenő" lépcsőkről a pipeline-ban.(ne is keressétek a blokkdiagrammon, azok annyira le vannakegyszeűsdíve, mintha 1 göböt 1 kockával modeleznének... az ilyemire csak az intel-doksiban bukkan az ember...kb 1700 oldal PDF;)a p4 pipeline-ja pl. 3 szálból áll... meg vagy 40 lképcsőből. csak ezek közül sok egyszerre műxik. azok a blokkdiagrammok, amiket pl a tomshardwaren találsz, nos anak a valósaághoz nem sok köze van, azaz az kb olyan, mint a program algoritmusa. eléggé messze áll a DIEn találhatótól...) az intel féle "20" lépcsős pipeline-ban pedig 3 pihenő.(csak ez persze nem reklámozzák... a HWsiteok jobban szeretnek működni, mint mindent megírni...) ez pedig az amúgyis elég alacsony IPCt félelmetesen lenyomja. de a jövő mindenképpen ez. hosszútávon. előbb utóbb az AMD is fog ilyen procikat csinálni, bár nekik sokkal nagyobb tapoasztalatuk lesz az IPC emelésének terén, ami feltétlen előnyt jelent majd akkor is.(az IPC a 2. megoldásnál is számít)
hú bázzeg... vagy 25 percig írtam... hosszú lett. bocs a helyesírási hibákért.
ja, és magzar billentzü ruley!