För ett par veckor sedan lanserade AMD deras minst sagt efterlängtade 64bit-processorer för desktopmarknaden, Athlon 64 och Athlon 64 FX. Tyvärr hade vi då ingen möjlighet att titta närmare på AMDs alster men vi lät Intels nya flaggskepp, Pentium 4 3.2 GHz Extreme Edition, bekänna färg. Processorn är tänkt som Intels "tillfälliga" svar på Athlon 64 och visade upp imponerande prestanda med sin enorma L3-cache på 2 MB.
Nu är det dock dags för AMD att åtminstone försöka ge svar på tal och det i form av Athlon 64 3200+.
Tyvärr har vi inte haft möjlighet att testa AMDs entusiastmodell, Athlon 64 FX och detta pga. den stora bristen på moderkortplattformar för denna processor. Vi kommer försöka få tag på även denna plattform men Athlon 64 är trots allt det mest intressanta valet för flertalet av konsumenterna i dagsläget.
Athlon 64 FX har i dagsläget ett flertal nackdelar där det sammanlagda systempriset är det klart största problemet. Vi kommer gå in lite närmare på detta under recensionens gång men all djupgående information väntar vi med tills vi fått in Athlon 64 FX i testlabbet.
Nu
är det alltså Athlon 64 3200+ det handlar om och med en ny processorarkitektur
som bas finns det självklart mycket att titta närmare på.
AMD har under ett flertal år rönt stora framgångar med deras K7-arkitektur som introducerades i och med lanseringen av AMDs Athlon-processorer. Det senaste året har dock varit en hård kamp för AMD mot Intel och dess numer mogna NetBurst-arkitektur. Pentium 4-processorerna har under en längre tid haft ett fast grepp om desktopmarknaden och trots AMDs introducering av Barton-kärnan har man fått se sig akterseglad av chipgiganten.
AMD
har under längre tid varit i behov av sin oändligt försenade
K8-arkitektur och i somras dök den så upp, om än enbart för
servermarknaden. Det var varken en succéartad introducering eller en
flopp, men om Intel har ett bra inflytande på desktopmarkanden är
det inget jämfört med servermarknaden där AMD inte alls har samma
erfarenhet och förtroende.
AMD Opteron (som är namnet på servermodellen av Hammer) har funnit ett flertal anhängare men många företag har avvaktat framtiden och inte velat ta några risker så tidigt.
Nu har det då äntligen blivit dags för oss vanliga konsumenter att lägga vantarna på AMDs efterlängtade processorer för dekstopmarknaden. Innan vi gör en djupdykning i K8-arkitekturen ska vi nämna de två modeller av arkitekturen som finns i dagsläget. Hammer har alltid varit det gemensamma namnet för K8-arkitekturen men några av er kanske känner igen följande namn, ClawHammer och SledgeHammer. Detta är i alla fall kodnamnen för de två kärnor AMD utvecklat mot två skilda marknader, ClawHammer för desktop och SledgeHammer för server.
Den
ursprungliga planen var alltså att enbart serverprocessorerna, Opteron,
skulle baseras på SledgeHammer-kärnan medan desktop-processorerna,
Athlon 64, skulle använda sig av ClawHammer-kärnan. När vi nu
sett AMDs lansering av Athlon 64 vet vi att så faktiskt inte blev fallet
utan att AMD även lanserat en Athlon 64-processor baserad på deras
serverkärna, SledgeHammer.
Man kan då fråga sig vad som egentligen skiljer dessa kärnor åt och det ska vi försöka svara på här.
ClawHammer (Athlon 64) |
SledgeHammer (Opteron, Athlon 64 FX) |
Barton (Athlon XP) |
|
---|---|---|---|
Arkitektur:
|
K8
|
K8
|
K7
|
Interface:
|
Socket
754 |
Socket
940 |
Socket
A (462) |
Antal
transistorer: |
105.9
milj |
105.9
milj |
54.3
milj |
Tillverkningsteknik:
|
0.13
micron, SOI |
0.13
micron, SOI |
0.13
micron |
Processorkärnans
yta: |
193 mm2
|
193 mm2
|
101 mm2
|
Systembuss:
|
HyperTransport
|
HyperTransport
|
Front
Side Bus |
32-bit
instruktionsstöd: |
Ja
|
Ja
|
Ja
|
64-bit
instruktionsstöd: |
Ja,
AMD64 tech. |
Ja,
AMD64 tech. |
Nej
|
Integrerad
minneskontroller: |
Singelchannel 64-bit
|
Dualchannel 128-bit
|
Nej,
integrerad på moderkortet. |
Total
Processor-till-system bandbredd: |
HT:
6.4 GB/s @ 1.6 GHz MCT: 6.4 GB/s @ 400 MHz Totalt: 12.8 GB/s |
HT:
6.4 GB/s @ 1.6 GHz MCT: 3.2 GB/s @ 400 MHz Totalt: 9.6 GB/s |
Totalt:
3.2 GB/s @ 400 MHz |
Integrerad
nordbrygga: |
Ja,
128-bit dataväg @ CPU klockfrekvens |
Ja,
128-bit dataväg @ CPU klockfrekvens |
Nej,
integrerad på moderkortet, 64-bit dataväg @ 200 MHz |
Pipelinesteg:
|
12
|
12
|
10
|
Integrerat
cacheminne: |
L1:
128KB* L2: 1024 KB exclusive Totalt: 1152 KB |
L1:
128KB* L2: 1024 KB exclusive Totalt: 1152 KB |
L1:
128KB* L2: 512 KB exclusive Totalt: 640 KB |
3D
och multimedia instruktioner: |
3DNow!,SSE/SSE2
|
3DNow!,
SSE/SSE2 |
3DNow!
|
Här kan man
se att det är väldigt få skillnader mellan ClawHammer och SledgeHammer.
Skillnaden i processorinterface är direkt beroende av de skillnader vi
ser i arkitekturen på de två processorkärnorna. Anledningen
till att SledgeHammer har 25% fler pins i dess processorinterface är dess
integrerade stöd för dubbla minneskanaler. ClawHammer-arkitekturen
är enbart utrustad med en enkanalig integrerad minneskontroller och behöver
således inte lika stora dataväg till moderkortet.
En skillnad mellan
K7 och K8-arkitekturen är antalet pipelinesteg som processorerna använder
sig av. Vi kommer inte gå in mycket djupare på det här med
pipelinesteg men det är samma koncept som det löpande bandet inom
industrin. Processorn kan genom pipelinestegen utföra operationer på
flera instruktioner samtidigt och på så sätt effektivisera
arbetat betydligt. Idealt kommer varje pipelinesteg alltid bearbeta en instruktion
men så är tyvärr inte fallet.
Kort och gott tillåter en längre pipeline processorn att nå
högre klockfrekvenser då den behöver utföra mindre arbete
per klockcykel. Genom att utöka pipelinestegen till 12 i K8 från
10 i K7-kärnan har AMD större möjligheter att öka klockfrekvenserna
för Hammer-arkitekturen.
12 steg kan
jämföras med Pentium 4-processorns 20 steg vilket är förklaringen
till varför Pentium 4-processorernas prestanda inte går att jämföra
MHz mot MHz mot AMDs processorer. Pentium 4-processorn gör helt enkelt
mindre arbete fler gånger per sekund, jämfört med AMDs-processorarkitektur
som gör mer arbete färre gånger per sekund. I slutändran
blir skillnaden i resultatet inte speciellt stor.
De integrerade
minneskontrollerna är en av de mest intressanta nyheterna med Hammer-arkitekturen
och något vi kommer titta närmare på under recensionens gång.
Innan vi går vidare med detta och mer om processorns inre, ska vi se hur
Athlon 64 3200+ ter sig fysiskt.
Med introduktionen av en ny processorarkitektur är det ingen överraskning att inte bara de interna skillnaderna är stora utan även de fysiska. Athlon 64 och Athlon XP är två helt olika processorer sett till dess paketering och fysiska utseende. Även om de har flera likheter internt är det onekligen svårt att skönja det på utsidan av processorerna. Uppifrån är Athlon 64 faktiskt mycket lik Intels Pentium 4-processorer som synes här nedan.
Det som gör likheterna stora med Intels flaggskepp är den mycket efterlängtade heatspreadern på AMDs processorer. Heatspreadern är den metallplatta som kan misstas för processorns kärna. Själva kärnan sitter dock under denna metallplatta och är alltså inte direkt exponerad. Heatspreadern både fördelar processorns värmeutveckling på en större yta och skyddar kärnan mot yttre våld. Det sistnämnda är en gudsgåva för återförsäljare som under flera år fått slita med reklamerade processorer som fått förödande skador av felaktig installering av processorkylare osv. Att ta kål på en Athlon 64-processor genom att installera processorkylaren på fel sätt ska mer eller mindre vara omöjligt.
Men skillnaderna blir större om vi vänder på processorn och tittar närmare på dess pins som är många fler till antalet på Athlon 64-processorn, 276 st för att vara exakt. Intels Pentium 4-processorer huserar 478 pins medan Athlon 64 använder hela 754 pins, detta är dock ingenting mot Athlon 64 FX som huserar 940 pins(!).
Antalet pins för oss osökt in på AMDs nya socketinterface för Athlon 64 som passande går under namnet Socket 754. Man går alltså ifrån den symboliska namngivelsen man använde på Athlon XPs socket, Socket A.
Redan någon månad efter den officiella lanseringen av Athlon 64 har alla stora chipsettillverkare hoppat på Socket 754-tåget, NVIDIA, VIA, SiS, och ALi har alla Socket 754-chipset i deras produktsortiment.
Nu vet vi lite mer om Athlon 64-processorns yttre men hur ser det fysiska upplägget ut inne i kärnan kanske man kan fråga sig? Jo på följande sätt:
Såhär
ser alltså Athlon 64-kärnan ut i många gångers förstoring
och eftersom denna bild gäller för både Athlon 64 och Athlon
64 FX kan vi konstatera att själva kärnan är identisk rent fysiskt.
Arkitekturen har samma minneskontroller med dubbelkanalsstödet är
enbart aktiverat på Opteron/FX-modellerna. Detta var dock något
vi misstänkte redan när de första specifikationerna dök
upp på Athlon 64 och Athlon 64 FX eftersom båda processorerna använde
exakt lika många transistorer.
Det är inte svårt att förstå svårigheterna med att integrera stora mängder cache i en processorkärna när man ser dessa bilder. L2-cachen på Hammer-kärnan utgör mer än 50 % av dess yta och ökar tillverkningskostnaderna. Tyvärr har vi inga bilder på Pentium 4 Extreme Editions kärna men med sin 2 MB L2-cache gissar vi på att cachen tar upp en hel del av utrymmet.
L1-cachen är alltså uppdelad i två separata cache, data och instruktion-cache. Som synes är det L1-cachen som ligger närmast processorns execution units och är första anhallt för processorns datalagring (bortsett från processorns register, Load/Store).
Lägg även märke till AMDs nya processorbuss, HyperTransport, som är i direktkontakt med alla viktiga delar i processorn för att på bästa sätt hantera dataflödet.
För er som är intresserade av vad systeminformationsprogrammet WCPUID har att säga om Athlon 64 3200+ har vi en skärmdump här.
Vi kommer gå in i mer detaljerade beskrivningar för delar av processorn senare i recensionen. Men först ska vi undersöka en av Hammer-arkitekturens största PR-dragplåster, 64-bit processorarkitektur.
Det är förmodligen många av er som någon gång sett "x86" nämnas i samband med PCn, men alla kanske inte vet vad det står för. Benämningen myntades faktiskt redan på 80-talet och härstammar från Intels dåvarande processorlinje som hade numret 86 i slutet av deras modellnamn t.ex 386, 486.
Alla desktopprocessorer från Intel och AMD har under de senaste 20 åren byggt på just x86 ISA
(Instruction Set Architecture) vilket är anmärkningsvärt i sig då det minst sagt hänt mycket processorerna under 20 år. Prestandan på dagens processorer skiljer ju sig löjligt mycket i dagsläget mot dem vi såg för 20 år sedan.
Frågan är då hur man kunnat vidbehålla samma grund genom åren och kanske ännu viktigare, varför?
Alla processorer jobbar med att utföra instruktioner som är de kommandon datorns program skickar ut. Instruktionerna består i grunden av enbart ettor och nollor (Binära siffror) som processorn jobbar med för att utföra de uppgifter den får, som att addera två tal t.ex.
Eftersom en processor (med dagens teknik) inte kan ta några egna initiativ måste man först "lära" processorn vad den ska göra och hur den ska göra det. Detta görs genom att man programmerar specifika program för varje uppgift datorn ska utföra.
Men eftersom processorn enbart förstår sitt binära maskinspråk blir det en omöjlig uppgift för en programmerare att skriva avancerade program direkt mot processorns språk.
Ytterligare ett problem med att skriva program direkt mot en specifik processor
är att man inte kan använda dessa program på andra processorer
som inte är identiskt uppbyggda och allt vad bakåtkompabilitet heter
är kastat i sjön.
Varje gång det lanserades en ny processor skulle man behöva börja om från början genom att tvingas skriva om alla program och anpassa dem efter den nya processorns hårdvara.
Detta var något man tidigt förstod (slutet av 1970-talet) och man var tvungen att försöka lösa det hela på något sätt. Lösningen blev till slut x86 ISA.
Funktionen på en Instruction Set Arcitecture (ISA) är som en adapter, den paras ihop med en unik hårdvara i ena änden och i andra änden har vi den programmerade mjukvaran. Genom att inte ändra “kontaktytan” på den del som kommunicerar med mjukvaran utan enbart den ände som kommunicerar med processorn kan man alltså bibehålla kompabilitet mellan olika processorer och äldre mjukvara.
Den komplicerade maskinkoden "översätts" av ISA till specifika och fasta instruktioner som sedan programmerarna i sin tur kan komma åt och använda genom deras programmeringsspråk.
Genom att aldrig ändra eller ta bort de grundläggande instruktionerna i ISA kan man alltså bibehålla bakåtkompabliteten.
Detta medför ju dock att man blir låst vid de grundstenar som utgör ISAn och även om x86 ISAn är väl genomtänkt har det hunnit hända en hel del på två decennier och programmerarna får allt svårare att brottas med arkitekturens begränsningar.
Även om den absoluta grunden inte går att ändra om man vill bibehålla bakåtkompabilitet är det fritt fram att utveckla och lägga till nya funktioner i ISAn. Detta är något som speciellt Intel tagit fasta på och har under årens lopp utvecklat x86 ISAn vid flera tillfällen.
Bland dessa ser vi t.ex. de utökande MMX och SSE/SSE2-instruktionerna, och flera mindre tillägg av instruktioner som x86-arkitekturen fått stöd för.
Det är faktiskt så att x86-arkitekturen från början var en 16-bit men vid lanseringen av Intels 386-processor gick man över till en 32-bit modell.
AMD är nu nästa aktör att utöka processorns interna bredd, från 32-bit till 64-bit med deras x86-64-arkitektur.
För att förstå vad och varför man utökar processorns interna bredd ska vi gå vidare med lite grundläggande information om processorns funktionalitet.
Vi kan börja med att förklara vad "bit" står för och svaret hittar vi i det binära räknesättet då "bit" just betyder "binary digit" (rakt översatt; binär siffra).
Utan att fördjupa
oss i binärt räknesätt ska vi försöka förklara
hur det fungerar. I vårt vanliga decimala räknesätt kan en enskild
siffra ha ett av tio olika värde, 0 till 9. För att få ett tal
med ett värde över 9 får vi använda oss av fler siffror
som t.ex. en 1:a och en 3:a för att få talet 13.
Binär information/siffror kan dock bara ha två olika värde, 1 eller 0. För oss som är vana vid det decimala räknesättet blir detta mycket opraktiskt och knepigt att förstå sig på, men det har flera fördelar i digital information.
I processorns fall kan t.ex en elektrisk impuls betyda antingen 1 eller 0 (1 = spänning, 0 = ingen spänning) vilket så klart är lättare än att t.ex ha olika starka spänningar för de nio olika värdena i det decimala räknesättet.
När man utrycker hela tal med binära siffror blir resultatet väldigt förvillande för människor som i vanliga fall bara använder decimalt räknesätt.
Talet 38 skrivet binärt ser ut på följande sätt; 100110. Detta på grund av att varje siffras värde i ett binärt tal fördubblas och man börjar med 1 från höger. Här nedan har vi två exempel på talen 38 och 73 och hur dessa skrivs i binärform.
Decimaltal = 38 |
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binärtal = 100110 |
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
Decimaltal = 73 |
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
Binärtal = 1001001 |
0
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
Den binära siffran får här en Ja/Nej funktion kan man säga, är den binära siffran en nolla tar den inget värde men är den en etta tar den det värde som motsvaras i decimaltal. Sen är det bara att addera de decimaltal binärtalets 1:or motsvarar, i fallet för 38 blir det 2+4+32.
1 Bit är alltså den minsta information datorn jobbar med och står i relation med övriga storleksbeteckningar som följande.
Beteckning
|
Förkortning och värde
|
---|---|
bit:
|
1 b
|
Byte:
|
1 B = 8 b
|
Kilobyte:
|
1 KB = 1024 B
|
Megabyte:
|
1 MB = 1000 KB
|
Gigabyte:
|
1 GB = 1000 MB
|
Terrabyte:
|
1 TB = 1000 GB
|
Petabyte:
|
1 PB = 1000 TB
|
Exabyte:
|
1 EB = 1000 PB
|
Då 1 MB egentligen motsvarar exakt 1,048.576 bytes är ovanstående värde något felaktiga men det är de som oftast används i detta samband.
Man ska även veta att förkortningen av bit alltid skrivs med gemenen "b" medan byte skrivs med versalen "B". Därav är 1 Mbit det samma som ~0,125 MB (används bland annat för att mäta nätverksbandbredd).
Med detta som bakgrund kan vi alltså enkelt men korrekt säga att en 32-bit processor kan spara binära tal med upp till 32 siffror i sina GPRs (general-purpose registers). Och en 64-bit processor kan spara tal med upp till 64 siffror och behandla dem under en klockcykel. Vi kommer gå in närmare på funktionen av processorns GPRs senare i recensionen men det är kort och gott processorns primära minnesbank där all information måste passera.
Då varje binär siffra ökar med faktorn 2 ger en 64-bit arkitektur en enorm ökning i användbara heltal, från 4.3e9 (2^32) till 1.8e19 (2^64).
Genom att kunna hantera fler siffror och mycket större tal kan man använda ännu mer avancerade instruktioner i sina program som kan överskrida 32-bit i storlek.
Men hur fungerar då den 64-bit arkitektur som AMD implementerat i Hammer-kärnan?
För er som känt till AMDs Hammer-arkitektur under en längre tid har nog termen x86-64 dykt upp vid ett flertal tillfällen. X86-64 som stod för AMDs 64-bit arkitektur har på senare tid blivit utbytt mot AMD64 som verkar vara ett kärt begrepp för AMD då man vill slopa alla utvecklingsnamn som K8, x86-64 och även Hammer till förmån för det nya, AMD64.
Vi kommer dock fortsätta att använda de olika begreppen ett tag till då det helt enkelt är svårt att vänja sig av med dem men x86-64 lämnar vi bakom oss och benämner istället AMDs 64-bit arkitektur AMD64.
Som titeln för detta avsnitt lyder har AMD satsat mycket hårt på bakåtkompabilitet under utvecklingen av AMD64-kärnan (okej då vi börjar väl mjukna vi också..). Det har hela tiden varit klart att AMD64 skulle bli en arkitektur som både skulle vara framtidssäker men samtidigt hålla 32-bit marknaden bakom ryggen.
De stora förändringarna i en 64-bit arkitektur är som vi tidigar nämnt den interna "bredden" på datavägen i processorn. Vilket i sin tur gör det möjligt för processorn att utnyttja mer avancerade instruktioner och inte minst adressera mer minne i systemet. Detta kommer vi titta närmare på snart men först en överblick på vilka förändringar AMD gjort i x86 ISAn.
Av
diagramet ovan kan vi utläsa att general-purpose registerna har breddats
till 64-bit men också utökats i antal. Utöver x86-arkitekturens
8 GPRs finns nu ytterligare 8 GPRs tillgängliga för programmerare.
Även antalet SIMD registers (singel instruction, multiple data), som används
för SSE/SSE2-kod, är utökade till 16 st från tidigare 8
i x86-arkitekturen. Även SSE2-stödet är nytt för Hammer
och AMD vilket gör att alla Intels specifika decimaltalsinstruktioner (floating-point)
nu också stöds av AMD.
Nu är då den stora frågan hur AMD lyckats implementera alla dessa breddade och utökade register för 64-bit operationer utan att förlora bakåtkompabiliteten? Jo genom att använde sig av flera olika processorlägen som vi här ska försöka förklara lite kort.
Legacy Mode är ett arv från tidigare 32-bit processorer inom x86 ISAn och har tre olika underlägen. Dessa används i 32-bit operativsystem och när Hammer-processorerna används i denna miljö skiljer de sig inte från sin föregångare K7 (Athlon XP). I Legacy Mode är helt enkelt alla utökningar och breddningar av processorns register bortkopplade.
Det kan liknas med effekten när en CD-brännare får gå ner i hastighet då själva CDn inte klarar av samma höga hastighet som brännaren faktiskt klarar av. I ett 32-bit operativsystem har du alltså ingen som helst nytta av AMD64-arkitekturen, även om det kan ses som självklart är det värt att nämna återigen.
När vi går över till 64-bit operativsystem får vi desto mer nytta av AMD64:an och dess nya processorläge, Long Mode. Även Long Mode är uppdelat i flera underlägen, två för att vara exakt, 64-bit Mode och Compatibility Mode.
Det sistnämnda är det läge som används i 64-bit operativsystem för att köra 32-bit-applikationer. Även under detta läge är AMD64-arkitekturens utökade egenskaper avstängda.
Det är inte förren vi kommer till 64-bit Mode som det roliga börjar då man här har tillgång till både de breddade/utökade 64-bit registren och de utökade SSE/SSE2 registren.
Det finns en liten detalj i tabellen ovan och det är "Operand Size" som faktiskt står som 32-bit även i 64-bit Mode. Detta alltså trots AMD64-arkitekturens stöd för 64-bit instruktioner. Aneldningen till detta är helt enkelt att 64-bit integer instruktioner (integer = heltal) inte ofta behövs. Och eftersom 64-bit instruktioner både tar mer plats i cacheminnet och ger större belastning på minnesbandbredden, pga. dess storlek helt enkelt, är det inte direkt önskvärt att använda 64-bit instruktioner i onödan.
Genom att sätta heltalsinstruktionerna på 32-bit som default även i 64-bit Mode sparar man alltså både minnesbandbredd och cacheminne. När väl 64-bit instruktioner behövs får programmerarna använda ett prefix i instruktionen går förbi defaultvärdet och tillåter 64-bit instruktioner, detta prefix går under namnet REX.
För merparten av de som köper Athlon 64/FX i dagsläget kommer alltså AMD64-arkitekturen vara helt ointressant vilket är väldigt synd. Men vi ska snart titta närmare på hur man kan dra nytta av AMDs 64-bit arkitektur och en 64-bit arkitektur överhuvudtaget. Först ska vi dock orda lite om Intels egen 64-bit arkitektur, IA-64.
AMD64 + Intel IA-64 = falskt
Trots att AMD fått mycket medietäckning för sin 64-bit arkitektur har faktiskt Intel haft en egen 64-bit arkitektur under ett flertal år. Men det är inte själva 64-bit arkitekturen som AMD blivit påpassad för utan det faktum vi nämnt flera gånger redan i recensionen, de erbjuder 64-bit teknik med full bakåtkompabilitet för den uppsjö av 32-bit-mjukvara som dykt upp under de senaste två decennierna.
Hur AMD lyckats med detta har vi redan förklarat och anledningen till deras satsning på bakåtkompabilitet har varit direkt relaterad till Hammer-arkitekturens marknadstäckning.
Eftersom vi osökt kommer in på skillnaderna mellan AMDs och Intels 64-bit arkitekturer tänkta vi titta lite närmare på vad som just skiljer dem två åt.
AMD är alltså långt ifrån först eller ensamma med en 64 bits processor. Vi har SPARC, PowerMac G5 och inte minst Intels Itanium med flera. Intel och AMD har, som vi nämnde på förra sidan, valt skilda stigar när det gäller skapandet av sina processorer och därför tänkte vi dedikera en sida åt skillnaderna mellan deras tillvägagångssätt.
Vi kan hårddra skillnaderna på följande vis: AMD bygger vidare på den tidigare nämnda X86-aktitekturen medan Intel bygger om från grunden. Vilken approach som är att föredra är svårt att säga men klart står att AMD har ett långt mycket bättre stöd för att köra 32 bits applikationer och operativsystem än Intel har. Intels IA64-processorer är en ny design där man "lagt till" X86-kompabilitet medan AMD är en X86-procesor där man lagt till 64 bits-stöd om man så vill.
Fördelen med AMDs väg är så klart fullgott stöd för den nuvarande x86-plattformen vi alla är så vana vid. Alla spel, program och operativsystem du tidigare kört på din gamla processor fungerar utmärkt på en Athlon 64. Med en IA64 Itanium från Intel blir det värre då processorn som nämnt tidigare enbart klarar av att köra 32 bits-tillämpningar i ett "kompabilitetslager" vilken innebär en prestandaförlust då det enbart kan ske genom emulering. På den första Itaniumprocessorn var denna prestandaförslust så pass stor att vissa kallade det obrukbart men på Itanium 2 är prestandan i alla fall skaplig.
Det är inte bara tekniken som skiljer sig utan även marknaden. Itanium riktar sig enbart mot servrar och high end workstations medan Athlon 64/Opteron avser att möta behoven hos gamers, serveradministratorer, 3D-grafiker och alla andra tänkbara användare.
När vi går in på den mer tekniska biten finner vi att AMD brukar längre pipelines (12 steg) än Intel (10 steg) för sina 64 bits processorer. Dvs. motsatt hur det sett ut om vi jämförde deras 32 bits processorer. Vidare har båda processorerna nio stycken "execution units" men implementeringen skiljer sig något åt då AMD måste dras med tre olika typer av addreseringslägen medan Intel bara har ett. Detta resulterar i att AMD behöver tre enheter (ren 32 bit, blandat eller ren 64 bit) för adressgenerering medan Intel inte behöver en enda då de hela tiden är i samma addresseringsläge. Om man ska förklara det i lekmanstermer: Intels processor har lättare att "koncentrera" sig.
AMD och Intel har också satsat olika mycket ammunition på flyttals- vs. heltalsprestanda. Här har AMD ett övertag vad det gäller flyttalsprestanda medan Intel ligger före med heltalsprestanda.
En stor skillnad hittar vi i de två processorernas registerantal. Här ser AMD ganska tama ut med 16 GPRs mot Intels 128. Å andra sidan behöver AMD bara en klockcykel för att nå ett register medan Intel behöver två. Huruvida 16 är för lite eller 128 är "overkill" kan snillena spekulera och vi kommer säkert få många bud. Men generellt sett hade man nog kunnat säga att tex. 32-64 register med en klockcykels latency vore ganska optimalt och dessutom rimligt.
Andra skillnader är givetvis AMDs fördelar som de får genom den integrerade minneskontrollern (inte minst trevligt när man kör multipla processorer då varje processor då får egen/egna minneskanaler). Den andra fördelen är AMDs HyperTransport, något som Intel helt enkelt får klara sig utan. Mer information om dessa två "egenheter" kommer ni få senare i recensionen.
Det är inte vår avsikt att kora någon vinnare här. De två arkitekturerna har, som vi visat, både fördelar och nackdelar. Vad som väger tyngst beror helt klart på vad man tänkt sig för tillämpning. Det som vi definitivt ser är att AMD satsat på en all around-lösning medan Intel satsat på en mer specifikt inriktad sådan.
Om det inte står klart vid detta laget kanske det också kräver förtydling: Intel Itanium kan inte köra X64-64-kod och AMD Hammer kan i sin tur inte köra IA64-kod.
Den kanske annars största fördelen med 64-bit arkitektur är den enorma ökning av minnesadressering jämfört med en 32-bit arkitektur. 32-bit arkitekturen kan adressera upp till 4 gigabyte (2^32) medan 64-bit arkitekturen teoretiskt kan adressera upp till 18 miljarder terrabyte (2^64).
Dock är den verkliga minnesadressering på x86-64 arkitekturen inte
lika svinlande men med god marginal tillräcklig kan vi säga.
Hammer (Opteron, Athlon 64 FX, Athlon 64) |
NetBurst (Pentium 4, Pentium 4 C, Pentium 4 EE) |
Barton (Athlon XP) |
|
---|---|---|---|
Max. fysisk minnesadressering:
|
1024 GB flat (40 bit)
|
64 GB PSE* (36 bit)
|
4 GB (32 bit)
|
Max. virtuell minnesadressering:
|
256 TB (48 bit)
|
4 GB (32 bit)
|
4 GB (32 bit)
|
Antal transistorer:
|
105.9 milj
|
105.9 milj
|
54.3 milj
|
PSE = Page Size Extension
Den fysiska minnesadresseringen väger in på 40-bit och 1024 GB minne medan den virtuella minnesadresseringen är 48-bit och stödjer 256 TB minne. Med andra ord ljusår från tidigare x86-processorer. Pentium 4-processorerna (och tidigare Pentium-modeller) kan också adressera mer än 4 GB fysiskt minne (ramminne) genom deras PSE-teknik men det är inte "äkta" 36-bit adressering och kräver både speciell hård- och mjukvara.
Även Hammer-arkitekturen kräver ny mjukvara, först och främst ett 64-bit operativsystem då dess utökade 64-bit arkitektur inte aktiveras i ett 32-bit operativsystem vilket vi tidigare förklarat.
I
dagsläge är det nog inte många vanliga konsumenter som behöver
mer än 4 GB ramminne, eller har lust att lägga pengar på det.
Men på server och workstation-marknaden är det annorlunda. Där
har databasservers och liknande maskiner sedan länge klivit över
4 GB-gränsen. Här har Hammer en stor fördel mot sina x86-bröder
men på den tyngre server/workstation-markanden är det en annan
femma där renodlade 64-bit processorer regerar (SPARC, Power4, Alpha
m.fl), dock i ett helt annat prissegment.
Ska vi vara helt ärliga är det just servers och arbetstationer som har nytta av 64-bit arkitekturen i dagsläget då det ännu inte finns något mainstream OS med 64-bit stöd, Windows 64-bit Extended är dock under utveckling. Visst finns det 64-bit stöd i Linux t.ex. och även om Linux-användarna ökar är det en väldigt liten del av konsumentmarknaden som hoppat på Linuxtåget.
Det är dock inte enbart bristen på mjukvara som ligger bakom denna slutsats då varken komplexa 64-bit instruktioner eller 4 GB ramminne är något vi vanliga konsumenter har något större behov av. Men Då ska vi ha i åtanke att mjukvarutillverkarna hittills inte haft någon anledning att utveckla 64-bit kompatibel/optimerad mjukvara för desktopdatorer. Med AMDs lansering av Hammer och Windows 64-bit Extended hoppas vi att detta tar fart och det är mycket möjligt att man inom en snar framtid kommer ha större nytta av 64-bit arkitekturen även på desktopmarknaden.
Det finns också en del i AMD64-arkitekturen som kan ge märkbara prestandaökningar i mer eller mindre all 64-bit mjukvara, de 8 extra general-purpose registers (GPRs) som frigörs i 64-bit miljöer.
Vi har tidigare i recensionen nämnt att dessa är det lagringsutrymme som finns närmast processorns function units (ALU, FPU m.fl som utför matematiska och logiska operationer på data). Vilket också innebär att det är den snabbaste "lagringsplatsen" för data i och i närheten av processorn.
Som vi såg på förgående sida, i diagrammet över AMD64-arkitekturens registers, har dagens x86-processorer enbart 8 GPRs integrerade i kärnan. Även om dessa 8 register är de enda som är tillgängliga för programmerare och compilers använder dagens processorer flera gömda register som enbart processorns hårdvara hanterar. Du kan på detta sätt lagra mer information i närheten av de enheter som utför operationer på data (ALU är en av dessa "Execution Units").
Men dessa dolda register går alltså inte att ta med i beräkningarna när man skriver/kompilerar mjukvara för processorn. Genom att utöka antalet register har AMD gett programmerare och compilers bättre förutsättningar för att optimera prestandan för Hammer-processorerna.
Med detta i åtanke har vi tänkt gå vidare med mer information om just register och cacheminne som är processorns viktiga lagringscentral.
För er som redan läst vår recension av Intel Pentium 4 Extreme Edition är detta ett bekant område. Vi gick där igenom cacheminnets funktion och vad man tjänar på att använda större cache. Lite av denna informationen kommer upprepas här men det mesta är nytt och viktigast av allt kommer vi även ta upp processorns register.
Som vi tidigare nämnt är processorns register (även benämnda Load/Store) det snabbaste lagringsutrymmet processorn har tillgång till och dessa används för att temporärt lagra den data/information som execution-enheterna (de som verkställer processorinstruktionerna) behöver för att utföra t.ex en matematisk beräkning. Som ett exempel kan vi ta följande.
En instruktion skickas till processorns ALU (arithmetic-logic unit) och bestämmer att en matematisk uträkning ska göras på två tal, för enkelhetens skull addera två tal. Dessa två tal måste då hämtas från processorns register och när uträkningen är färdig ska resultatet också skickas till registren. Varje register kan enbart innehålla ett enskilt tal och i ett 32-bit register kan talet bestå av maximalt 32 binära siffror, och 64 binära siffror i ett 64-bit register.
Denna enkla uträkning tar alltså upp 3 av processorns totala 8 register och med fler komplicerade uträkningar tar det inte lång tid för processorn att få slut på plats i sina register. Genom att använda gömda register som vi nämnde på föregående sida går man runt detta problem till stor del och detta kallas register renaming. Men det optimala är självklart att använda flera "äkta" register i processorn för att minska processorns behov att läsa data ur cache eller ramminnet (där den data som inte får plats i registren hamnar) som är mycket tidskrävande.
En fördubbling av antalet register synliga för programmerare och compilers har alltså sina klara fördelar och även om antalet register styrs av processorns specifika ISA behöver inte AMD oroa sig för detta. All mjukvara måste i vilket fall skrivas om för deras AMD64-arkitektur och det är enbart då dessa 8 extra register är tillgängliga.
Självklart räcker inte processorns register på lång väg för att lagra all information/data som används. Det är här ramminnet och cache kommer in i bilden. I det kommande exemplet använder vi oss av ALUn som den utförande enheten (kan lika gärna vara FPUn).
ALUn behöver en mängd data tillgänglig för att utföra sina uppgifter och för detta ändamål har vi ramminnet (även hårddisken i slutändan men vi tar inte med den i detta exempel) som är så pass stort att det kan lagra större delen av den data som frekvent används av ALUn i dessa beräkningar. Jämför med processorn är dock ramminnet hopplöst långsamt och att hämta data från ramminnet tar många klockcykler och är således slöseri med viktig processorkraft. För att minska processorns behov att hämta data från ramminnet använder man sig av en mellanhand, som i dagens processorer ofta är uppdelad i två. Vi pratar såklart om cacheminnet, Level 1 och Level 2.
Cacheminnet kan hålla mycket mer data än processorns register och genom att vara fysiskt integrerade i processorkärnan är åtkomsttiden mycket lägre än till ramminnet. Cacheminnet är dock inte i direkt kontakt med processorns ALU och är alltså inte fullt så snabbåtkomliga som registren men skillnaderna är inte alls lika enorma som "register <-> ramminne". Level 1 cachen är den som sitter närmast ALUn och har således lägre åtkomsttid än level 2 cachen. En enkel bild över relationen mellan de olika "lagringsstationerna" finns här ovan.
Processorn hanterar de olika stationerna på följande enkla sätt, mest använd data i snabbast möjliga lagringsstation. Sedan går prioriteringen utefter denna grundregel men oftast använder sig processorer av "inclusive" cache som betyder att alla data i L1 cachen även ska finnas lagrad i L2-cachen.
AMD är dock ett undantag och använder sig av en "exclusive" cachemodell där L1 och L2-cachen lagrar olika data vilket ökar den effektiva cachestorleken jämfört med en inclusive-modell där samma data måste lagras dubbelt.
Kort och gott blir lagringsytan mindre i takt med att den blir snabbare. Anledningen till detta är såklart produktionskostnader då de extremt snabba cacheminnena både kostar mer att tillverka och implementera (antalet register i sin tur är låsta för processorns ISA). Därav får man väga pris och prestandavinst mot varandra när man designar en processor för att få fram den realistiskt användbara mängden cacheminne. Denna utvärdering är något Intel tänjt lite på i designen av Pentium 4 Extreme Edition där prestandavinsten av L2-cachen är tydlig men knappast värd sitt pris för en vanlig konsument.
Skillnaderna i cachestruktur mellan K7 och K8-arkitekturerna är faktiskt inte speciellt stora. Den mest märkbara skillnaden är den kraftigt utökade mängden L2-cache som med K8-arkitekturen är uppe i 1 MB, K7-arkitekturen erbjuder som mest 512 KB (Barton).
L1-L2 cache-bussen är också förbättrad i K8-arkitekturen, genom att använda dubbla 64-bit bussar mellan cacherna har man både ökat bandbredden och minskat latencyn jämfört med K7-arkitekturen (enkel 64-bit buss).
Mer detaljerad information om Athlon 64-processorns cache kan ni få från WCPUID och CPU-Z.
Cacheinformation – CPU-Z |
Slutsatsen man kan dra av det vi diskuterat här är att mycket av processortillverkarnas energi går åt för att snabba upp lagringsplatsen för den data som används i processorn. Dagens processorer är helt enkelt för snabba för att man på ett enkelt och effektivt sätt ska kunna förse dem med den data de behöver.
Eftersom alla de steg (för datahämtning) vi visade i bildexemplet ovan användas mer eller mindre frekvent är det väldigt viktigt att optimera alla dessa "lagringsstationer" som vi kallar dem. En kedja är inte starkare än sin svagaste länk som man brukar säga.
Därav har AMD gett sig på minneskontrollern som är nästa länk i kedjan, efter cacheminnet, och man har inte visat någon barmhärtighet.
För att minimera den plågsamt långsamma åtkomstiden (i sammanhanget), latencyn, för ramminnet valde AMD att integrera hela minneskontrollern i Hammer-processorernas kärna. Vi kan faktiskt se exakt hur den är implementerad i processorn genom att återigen titta närmare på dess kärna.
Genom att integrera minneskontroller direkt i processorkärnan arbetar den även i samma klockfrekvens som själva processorn. Men det finns inget ramminne i dagsläget som är i närheten av klockfrekvenserna på en processor varav själva klockfrekvensen för minnet måste sänkas.
Detta görs genom en divider som i minneskontrollerns fall enbart kan vara ett heltal (integer). AMD valt att arbeta efter en nominell-klockfrekvens på 200 MHz vilket betyder att man kommer öka klockfrekvenserna på deras processorer med just 200 MHz-intervaller.
Eftersom minneskontrollern styrs av processorns klockfrekvenser kan detta bidra
till lite suspekta minnesklockfrekvenser.
Detta gäller dock inte Athlon 64 då processorn har stöd för
DDR400 (64-bit enkelkanals). Eftersom DDR400 ger en effektiv minnesfrekvens
på 200 MHz går den alltid att multiplicera med ett heltal som passar
processorernas klockfrekvens. Men för Opteron-plattformen som fortfarande
inte har officiellt stöd för DDR400 kan minnesfrekvenserna avvika
från sina specifikationer enligt följande modell.
Processorklockfrekvens: | DDR266: Effektiv klockfrekvens (multiplier) | DDR333: Effektiv klockfrekvens (multiplier) | DDR400: Effektiv klockfrekvens (multiplier) |
---|---|---|---|
1600 MHz
|
133 MHz (13)
|
160 MHz (10)
|
200 MHz (8)
|
1800 MHz
|
129 MHz (14)
|
164 MHz (11)
|
200 MHz (9)
|
2000 MHz
|
133 MHz (15)
|
166 MHz (12)
|
200 MHz (10)
|
2200 MHz
|
129 MHz (17)
|
157 MHz (14)
|
200 MHz (11)
|
Som synes ska det inte vara några problem med minnesfrekvenserna på Athlon 64 / 64 FX som stödjer DDR400-minne. Men om/när AMD lanserar en processor med DDR500-stöd kommer situationen bli annorlunda då 250 MHz inte har rätt relation till basfrekvensen på 200 MHz som AMD använder. Märk väl att vi säger "lanserar en processor med DDR500-stöd", eftersom minneskontrollern är integrerad i processorn är det även hela processorn som måste uppdateras inför en ny minnesstandard. Inte bara moderkort-chipset som vi är vana vid.
Den stora fördelen med integrerad minneskontroller i CPU-kärnan är kort och gott lägre åtkomsttider (latency). Kortare åtkomsttider fås genom att minneskontrollern arbetar med samma höga klockfrekvens som processorn och även är direkt kopplad till själva minnet, processorn behöver inte gå igenom nordbryggan för att komma åt informationen lagrad i minnet. Detta medför ingen högre minnesbandbredd men åtkomsttiden är mycket viktig för att på bästa sätt utnyttja processorns hastighet. Då minneskontrollerns hastighet är i direkt relation till AMD64-processorernas klockfrekvens borde en ökning i klockfrekvens för processorn även innebära en ytterligare sänkning av åtkomsttiderna vilket borgar för riktigt hög prestandaskalning vid ökade processorklockfrekvenser.
Det är nu hög tid att titta närmare på den buss som binder samman alla delar i Hammer-processorerna, HyperTransport.
1997 startades
HyperTransport Consortium för
att utveckla en systembussarkitektur och från detta uppkom HyperTransport-bussen.
Det är ett hundratal företag involverade i HyperTransport Consortiumet
och AMD är inte först med att använda tekniken. NVIDIA använder
en modell av HyperTransport-tekniken i deras nForce 2-chipset för att länka
samman nord- och syd-bryggorna i chipset. Nu har du AMD gått ett steg
längre genom att både markant öka bandbredden för HyperTransport-bussen
och implementera den direkt i deras Hammer-processorer.
Detta betyder att AMDs Hammer-arkitektur inte använder sig av en vanlig FSB (Front Side Bus) som de flesta av dagen processorer tillämpar. HyperTransport-bussen är istället processorns dataväg mot moderkortchipset och datorns övriga komponenter.
En av skillnaderna mellan HyperTransport-bussen och de vanliga processorbussarna vi ser idag är att HT-bussen är mycket "smalare" än sina vanliga FSB-konkurrenter. Upp till 32-bit bred kan HT-bussen vara men för Hammer-arkitekturen är det 16-bit bredd som gäller maximalt. Med bredd menar vi hur mycket data bussen kan transportera per klockcykel, precis som för den interna bredden på processorns dataflöde.
Hammer (Opteron, Athlon 64 FX, Athlon 64) |
NetBurst (Pentium 4, Pentium 4 C, Pentium 4 EE) |
Barton (Athlon XP) |
|
---|---|---|---|
Processorbuss:
|
HyperTransport
|
FSB
|
FSB
|
Klockfrekvens på processorbuss:
|
1.6 GHz
|
800 MHz
|
400 MHz
|
Bussbredd (Data per klockcykel):
|
16
|
64
|
64
|
Bandbredd:
|
6.4 GB/s
|
6.4 GB/s
|
3.2 GB/s
|
Tabellen ovan visar att HT tar igen bristen på databredd med höga klockfrekvenser. Dagens HT-länk har som synes en effektiv klockfrekvens på 1.6 GHz. I själva verket är klockfrekvensen på 800 MHz men HT arbetar med DDR-teknik vilket födubblar den effektiva klockfrekvensen. HT-bussens 800 MHz kommer från bussens basfrekvens på 200 MHz och fås genom en multiplier av värdet 4. I moderkortens BIOS brukar detta stå som LTD multiplier (Lig ) som är den äldre benämningen på HyperTransport.
Även om ekvationen för HyperTransports bandbredd inte verkar stämma (1600 x 16 / 8* = 3.2 GB/s?) beror det på att en HyperTransport link består av två "Sub links" med vardera 3.2 GB/s bandbredd (Tx Sub link = Transmit, Rx Sub link = Receive).
I fallet för Opteron finns det faktiskt hela 3 tillgängliga HyperTransport-länkar, 1 för processorbussen och I/O medan de två övriga är till för multiprocessorkonfigurationer. Men eftersom Athlon 64 enbart är en singelprocessor finns det bara en aktiv HyperTransport-länk i denna processor.
* Vi delar med 8 för att få värdet i byte istället för bit.
Ovan exempel är med 32-bit databredd därav den maximala bandbredden på 12.8 GB/s
Hur HyperTransport är implementerad i AMD-8000-chipset kan vi se på bilden nedan.
AMDs implementering av HyperTransport i AMD-8000-chipset
Ett vanligt moderkortchipset består oftast av två chip, nord och sydbryggan, som vi tidigare nämnde. Nordbryggan i ett sådant system "talar" med processorn genom processorbussen (FSB) där bandbredden är olika beroende på vilken processor man använder (Se tabellen längst upp på sidan). Nordbryggan hanterar i ett sådant system både minneskontrollern och AGP-porten.
Genom att integrera minneskontrollern i processorn har AMD nu bara lämnat kvar AGP-porten för "nordbryggan" och istället för att använda bryggor har AMD gått över till "tunnlar". Dessa HyperTransport tunnlar är förgreningar på själva HT-länken mellan processorn och den slutgiltiga I/O-hubben (In/Out) som kan ge stöd för t.ex. PCI-X-buss eller i fallet för desktopmodeller, AGP-grafikinterface.
HT-tunnlarna blir som en mellanhand för AGP och HT-bussen då AGP-bussen inte kan kopplas in direkt på HyperTransport-länken. Informationen som kommer in i tunneln är 16-bit i båda riktningarna men informationsflödet ur tunneln, vidare till I/O-hubben, är bara 8 bit. Detta ger AMD-8000-chipsets I/O-hubb en maximal bandbredd på 1.6 GB/s vilket står sig mycket bra mot konkurrenterna.
Det är fortfarande upp till chipset-tillverkarna att både styra HT-bussen för processorn och sedan välja om man överhuvudtaget vill använda HT-bussen mellan "nord och sydbryggorna". Fördelarna är många med HT-bussen, hög prestanda, bra bak/fram-kompabilitet med sina HT-tunnlar, lägre produktionskostnader med dess relativt smala databredd och stöd för upp till 32 enheter. Men trots detta är det inte alla tillverkare som utnyttjar tekniken till fullo.
AMD-8000 | ALi
M1687 |
NVIDIA nForce3 150 | VIA K8T800 | SiS 755FX | |
---|---|---|---|---|---|
Processorbuss:
|
HyperTransport
|
HyperTransport
|
HyperTransport
|
HyperTransport
|
HyperTransport
|
Processorbuss
-,klock: |
1.6 GHz
|
1.6 GHz
|
1.2 GHz
|
1.6 GHz
|
1.6 GHz
|
CPU-Bussbredd:
|
16b/16b
|
16b/16b
|
16b/8b
|
16b/16b
|
16b/16b
|
Bandbredd:
|
6.4 GB/s
|
6.4 GB/s
|
3.6 GB/s
|
6.4 GB/s
|
6.4 GB/s
|
I/O-buss:
|
HyperTransport
|
HyperTransport
|
HyperTransport
|
VIA V-Link
|
SiS MuTIOL 1G
|
I/O-bandbredd:
|
1.6 GB/s
|
1.6 GB/s
|
3.6GB/s
|
533 MB/s
|
1.0 GB/s
|
Det chipset som sticker ut något från mängden är NVIDIAs nForce3-chipset som har nästan hälften så hög processorbussbandbredd men markant högre I/O-bandbredd. Anledningen till den lägre processorbussbandbredden är att NVIDIA valt en lägre klockfrekvens på HyperTransport-bussen (600 MHz, 1.2 GHz effektiv) och samtidigt sänkt databussbredden på Rx Sub linken till 8 bit. Men då NVIDIA implementerat alla komponenter i ett chip slipper de använda sig av en extra HT-länk till en extern I/O-hubb (sydbrygga). I/O-hubben kan ni utnyttja samma bandbredd som processorn vilket självklart är positivt. Frågan är dock om detta kan uppväga förlusten i bandbredd för processorn.
Vi är något tveksamma inför detta men vi ämnar ta reda på fakta i kommande Athlon 64-moderkortsrecensioner.
Nu är det snart dags att gå från teori till praktik men först ska vi dra lite ytterligare information om VIA K8T800-chipset som är vår testplattform under denna recension.
VIA var en av de som snabbast hoppade på AMD64-arkitekturen med deras K8T800-chipset. Moderkortchipset finns i två versioner och inte helt oväntat är det en modell för prestanda PCs och en för servers och arbetsstationer.
Det är också precis så de benämns ‘K8T800 Performance PC’ och ‘K8T800 Server/Workstation’. Skillnaderna är som mest minimala dem två emellan där servermodellen har stöd för Opteron/Athlon FX med Socket 940-interface och även ger stöd för en Dual PCI-X buss genom VIA VPX2. Prestanda PC-modellen har stöd för Socket 754 och ingen PCI-X kompabilitet, thats it.
Bland
VIAs PR-dragplåster ser vi Hyper8 titt som tätt och detta är
helt enkelt VIAs namn på deras 16bit/1.6 GHz HyperTransport-buss. Som
vi såg på förgående sida är de dock inte ensamma
om detta på marknaden då det bara är NVIDIA som ännu inte
följt detta exempel (nForce3 250 ryktas vara av 16bit/1.6 GHz modell).
VIA K8T800-chipsets upplägg kan vi se ovan i blockdiagrammet och bland dess features kan vi nämna native SATA-RAID, Gigabit Ethernet och den första integrerade 7.1 kanals ljudkretsen. VIA Envy 24PT som ska vara en mycket stark utmanare till dagens tillgängliga lösningar, även externa sådana.
Mer djupgående information om VIA K8T800-chipset kan du hitta här.
VIA K8T800:s största akilleshäl är obevekligen dess i sammanhanget pinsamma bandbredd mellan nord och sydbryggan. Som vi såg på föregående sida är bandbredden för VIA V-Link maximal 533 MB/s vilket inte är mycket att skryta med. Men även om hög I/O-bandbredd är positivt och framtidssäkert är det inte alls nödvändigt för de flesta användare. Men för de som använder Gigabit Ethernet och flera snabba hårddiskar i t.ex. en RAID-konfiguration kan bandbredden snabbt gå åt.
Med VIAs stora fokusering just på SATA-RAID hade det varit roligt att se lite högre bandbredd att leka med. Huruvida vi kommer stöta på några bandbreddsproblem är tveksamt men för de som vet att man kommer belasta I/O-bussen hårt kan detta vara värt att ta med i beräkningarna.
Albatron K8X800 Pro II är det VIA K8T800-kort vi använt oss av i testriggen men vi kommer inte gå in i detaljer kring detta moderkort nu. Vi sparar det till kommande moderkortsrecensioner.
Testsystem
|
|
AMD Athlon64
|
|
Processor: |
Athlon64 3200+ (Hammer, 1.6 GHz HT, 1MB L2-cache)
|
Moderkort: |
Albatron K8X800 Pro II (VIA K8T800) |
AMD AthlonXP
|
|
Processor: |
AthlonXP 3200+ (Barton, 400 MHz FSB, 512KB L2-cache)
|
Moderkort: |
ABIT NF7-S v2.0 (NVIDIA nForce2) |
Intel Pentium 4
|
|
Processor: |
Intel Pentium 4 3.2 GHz Extreme Edition (800MHz FSB, 512KB L2-cache + 3 MB L3-cache)
Intel Pentium 4 2.8Ghz (800MHz 512Kb L2 Cache) |
Moderkort: |
ABIT IC7-MAX3 (Intel 875P) |
Övrig hårdvara som återfinns i alla testsystem
|
|
RAM:
|
2 x 256MB GeILPC3500 Ultra CL2
|
Grafikkort:
|
nVidia GeForce FX5900 Ultra@ 475/950MHz
|
Hårddisk:
|
120GB S-ATA Seagate Baracuda V
|
Mjukvara
|
|
Operativsystem: |
Windows XP Professional SP1
|
Upplösning: |
1024x768x32bit, 90Hz
|
Drivrutiner: |
nVidia Detonator 51.75
DirectX 9.0b Intel Chipset Driver 5.0.2 |
Testprogram:
|
Sisoftware Sandra 2003 |
Tabellen ovan säger det mesta om vår testrigg och för att verkligen sätta den nya Athlon64-processorn på prov har vi toppmodellerna från både Intels Pentium 4-serie och AMDs egen AthlonXP-serie. I Intels fall handlar det om Pentium 4 3.2 GHz Extreme Edition men vi har även en "vanlig" Pentium 4 2.8 GHz C och en 2.8 GHz EE-modell. Den sistnämnda är egentligen 3.2 GHz-modellen nerklockad med multiplier.
På AMD sidan har vi AthlonXP 3200+ som kämpar för K7-arkitekturens ära.
Den enda vi saknar är Athlon64 FX-51 som visat sig vara en skygg processor i detta avlånga land, men förhoppningsvis kan vi titta närmare även på Athlon64 FX inom kort.
Innan vi sätter igång med vår "benchmark-bonanza" ett par kvicka ord om testinställningarna.
Minnet som användes i samtliga tester med 200MHz FSB (DDR400) var 2x256MB GeIL PC3500 CL2 minne som kördes i minnesratiot 1:1 med 2-2-5-2 timings. För Athlon64-plattformen kunde vi enbart använda oss av 2-2-6-2-timings då det var de aggressivaste minnesinställningar moderkortet erbjöd helt enkelt.
Huruvuda detta påverkar testresultaten märkbart kan vi inte veta ännu men vi ämnar ta reda på det i en kommande minnesartikel där vi kommer testa ytterligare VIA K8T800-kort men också moderkort baserade på nForce3 150-chipset. Med lite tur även NVIDIAs nForce3 250-chipset som det ska dyka upp testexemplar av nästa månad.
Vi kommer även spara våra överklockningstester till den artikeln då vårt testmoderkort inte var utrustad med den fästanordning som används för att fästa processorkylaren. Vi fick inte denna anordning till varken kylare eller CPU heller så vi fick improvisera med fästningen av kylaren. För vanliga tester fungerade det bra men vid överklockning fungerade det inte önskvärt, vidare ville vi inte riskera processorns hälsa på detta sätt.
Under våra tester höll sig processortemperaturen som högst på 46 grader och idle-temperaturen låg på 32 grader vilket får ses som klart godkänt med tanke på omständigheterna. Detta var dock uppmätt med den interna tempdioden så vi kommer titta närmare även på detta i våra kommande artiklar.
Vad det gäller 3D-testerna gjordes alla tester med V-Sync, FSAA och ANISO avslaget. Ett litet undantag finns dock då Aquamark 3 testet kör med 4xANISO i standardinställningarna.
Låt festligheterna börja. Först ut är minnestesterna.
Vi börjar alltså med lite minnestester och det med hjälp av SiSoft Sandra 2003. Först ut är buffered memory benchmark.
include_once("/public_html/dia.php"); ?> |
Som synes har Athlon-processorerna inte en chans att hänga med Pentium 4-plattformen i detta avseende men det har sina förklaringar. AthlonXP 3200+ har visserligen en hög teoretisk minnesbandbredd (i.o.m nForce2-chipsets DualDDR) men hindras av sin relativt lågt klockade processorbuss. Athlon64 har teoretiskt hälften så hög minnesbandbredd som sin föregångare AthlonXP då den enbart har singelkanalsminneskontroller men tackvare en mycket effektiv och snabb kontroller kan Athlon64 hålla jämna steg med AthlonXP.
I detta test påverkas inte resultaten märkbart av minnestimings varav Hammer-arkitekturens integrerade minneskontroller inte tjänar så mycket på sin låga åtkomsttid.
do_diagram(444); ?> do_diagram(445); ?> |
I unbuffered-testet påverkas resultaten mer av minnestimings och snabb åtkomsttid.
Här ser vi också att Athlon64 drar ifrån sin föregångare med god marginal trots sin teoretiskt sätt lägre minnesbandbredd. Pentium 4-plattformen med sin höga minnesbandbredd och snabba processorbuss är det dock inget att göra åt. Vi hade dock gärna sett Athlon64 FX i detta test då Intel fått det mycket svettigare med FX-processorns dubbelkanals minneskontroller.
I vår kommande minnes/chipset-artikel kommer vi titta närmare på latencytester för att pressa Athlon64-processorns interna minneskontroller men nu går vi vidare med lite speltester.
Först
ut bland speltesterna är Aquamark 3 som är ett av få DirectX
9.0-tester.
include_once("/public_html/dia.php"); ?> do_diagram(423); ?> |
Resultaten är överlag jämna i detta test som lägger stor vikt vid testsystemets grafikkort. Något som alltså reflekteras i resultaten. Athlon64 lyckas klämma in sig mellan de två Pentium 4 EE-processorerna på en andra plats.
do_diagram(424); ?> |
Commanche 4 har alltid varit ett test med glupska systemkrav där processorhastighet och minnesbandbredd är viktiga ingredienser. Trots sin effektiva minneskontroller och det utökade cacheminnet får Athlon64 se sig slagen med en smärtande marginal av båda Pentium 4 EE-modellerna. Det står klart att Commanche 4 älskar cacheminne och inte ens Athlon64-processorns 1 MB L2-cache räcker till i detta avseende. Athlon64-processorns, i sammanhanget, låga minnesbandbredd är förmodligen också en stor faktor i underlaget då det faktiskt inte skiljer speciellt mycket mellan Athlon64 och AthlonXP i detta test.
do_diagram(425); ?> |
Unreal Tournament 2003 är också glupsk på minnesbandbredd men av resulaten att dömma är det låg latency som är favoritreceptet. Athlon-processorerna har förvisso alltid varit starka i UT2003 men här tar Athlon64 en klar seger över Intels flaggskepp.
do_diagram(426); ?> |
Det
kanske mest cacheslukande testet i vår testsvit är det allt jämt
populära Quake 3. Till skillnad från UT2003 är detta ett test
som Intel alltid klarat sig bra i och med Extreme Edition pulveriserar man konkurrenterna,
även Athlon64 3200+. Även här hade det varit intressant att se
vad AMDs Athlon 64 FX hade kunnat göra med sin höga minnesbandbredd.
Nu är det dags för lite syntetiska tester, 3Dmark med andra ord.
do_diagram(427); ?> |
I vår recension av Pentium 4 Extreme Edition var 3Dmark2001 ett annat test som reagerade mycket positivt på den utökade L3-cachen och därför var utgången av detta test inte dirket någon överraskning. Pentium 4 3.2 GHz EE i topp med Athlon64 3200+ jagandes på en andraplats. Det skiljer dock knappt 1000 poäng dem emellan. Men vi ser att Athlon64 3200+ trots en lägre klockfrekvens slår sin föregångare AthlonXP 3200+ ordentligt på fingrarna. Det är helt klart att den integrerade minneskontrollern och utökade cacheminnet gör sitt till, men tyvärr saknas fortfarande minnesbandbredd för att peta ner Intel från tronen.
do_diagram(428); ?> |
Precis som i Aquamark 3, det andra DirectX 9.0-testet, är 3Dmark03 kraftigt grafikkortsberoende och den enda processor som inte hänger med i svängarna är AthlonXP 3200+.
3DMark03 är alltså löjligt grafikkortsbegränsat och passar sig knappast som processortest egentligen. Det är dock viktigt att visa det här då kommande spel lär mer och mer visa upp samma beteende då grafikkortens Pixel och Vertex Shaders kommer stå för den stora delen av prestandabegränsningarna i framtiden. Futuremark har dock varit goda nog att bygga in två stycken CPU-tester i 3DMark03, låt oss ta en titt på resultaten från dessa:
do_diagram(429); ?> do_diagram(430); ?> |
Athlon64 3200+ hänger med bra i CPU-testerna och speciellt i test 1 där det skiljer ytterst lite till 3.2 EEs fördel.
Låt oss gå vidare med lite vardagsapplikationer.
Audio
och video-encodning har alltid varit en av Intels starka sidor, mycket pga.
deras SSE/SSE2-instruktioner som med rätt stöd kan öka prestandan
avsevärt i multimediaapplikationer. Nu har dock AMD stöd för
både SSE och SSE2-instruktioner i deras Athlon64-processorer så
det ska bli intressant att se vilka resultat vi får i dessa tester. Först
ut har vi ett videoklipp i MPEG(1)-format som vi kodar om till DivX 5.1 i 780
kbps. Vi valde att inte koda om ljudet i detta test.
include_once("/public_html/dia.php"); ?> do_diagram(431); ?> |
Återigen ser vi att cacheminnet gör står skillnad för prestandan och Athlon64 3200+ får återigen se sig akterseglad av Intels flaggskepp. Prestandan är dock markant hägre än på föregångaren AthlonXP 3200+.
do_diagram(432); ?> |
För att testa hur pass bra processorn är på att hantera ljudencoding tar vi en 200 MB WAV-fil och gör om den till MP3 i 192 kbps. I detta test är det mycket fokus på ren processorhastighet och Intel står som en klar vinnare i detta test. Noterbart är att Athlon64 3200+ trots sin lägre klockfrekvens återigen lämnar AthlonXP 3200+ bakom sig med märkbar marginal.
Härnäst ska vi ta samma WAV-fil fast istället ska vi komprimera den med förlustlös komprimering med hjälp av WinAce.
do_diagram(433); ?> |
Winace och filkomprimering överhuvudtaget förlitar sig väldigt mycket på processorns möjlighet att hantera stora mängder data. Något som innebör hög belastning på cacheminne och systemminnet. Pentium 4 EE går med hjälp av sitt cacheminne och höga bandbredd segrande även ur denna striden men Athlon64 visar mycket goda potential.
do_diagram(434); ?> do_diagram(435); ?> |
Ovan hittar vi några syntetiska tester från PCMark2002 som mäter generell "kontorsprestanda". Egentligen hade vi velat använda Sysmark här men vi är inte allt för sugna på att slänga tusentals kronor på ett syntetiskt test när det finns sådana som är gratis. Som vi ser är CPU-testet nästan uteslutande begränsat av antal MHz. Minnestestet visar dock upp helt andra resultat.
Minnestestet i PCMark2002 kan vi lika gärna bortse ifrån då det utan tvekan lägger för mycket vikt vid cacheminnet vilket gör att EE-modellernas enorma L3-cache gör dem oslagbara. Men vi tog med testet denna gång för att se effekterna av Athlon64-processorns utökade L2-cache. Som väntat gav den också en fin boost i detta test men minnesbandbredden blir ändå en klar flaskhals så även Intels "vanliga" Pentium 4 2.8 GHz får marginellt bättre prestanda i detta test.
Låt oss gå vidare med lite mer workstationbetonade tester i form av SPECViewperf 7.1.
De avancerade 3D-testerna utförs med SPECviewperf 7.1. För er som inte är bekanta med SPECviewperf så är det ett testprogram som innehåller 3D-renderingar från sex olika 3D program som finns på marknaden i dag och används i professionella sammanhang. Testerna som körs är följande:
|
||
|
||
|
||
|
||
|
||
|
Dessa tester körs i fönster och påverkas därför av systemets skrivbordsupplösning. Under våra tester använda vi oss av en upplösning på 1024x768x32bit och en uppdateringsfrekvens på 90Hz.
include_once("/public_html/dia.php"); ?> do_diagram(436); ?> |
do_diagram(437); ?> |
do_diagram(438); ?> |
do_diagram(439); ?> |
do_diagram(440); ?> |
do_diagram(441); ?> |
Senast när vi jämförde processorer i SPECViewperf var i vår Pentium 4 EE-recension och Intel gjorde då processen kort med den underlägsna AthlonXP 3200+. Vi visste alltså redan från början att Intel var mycket starka i dessa tester och inte helt oväntat ser vi samma mönster denna gång. Men Athlon64 3200+ ger ändå AMD en helt klart roligare sitst genom att klara sig riktigt bra i ett par av testerna, även dem där AthlonXP 3200+ hamnar hjälplöst efter.
I 3D-rendering lägger man stor vikt på hela systemets prestanda och inte minst ren processorkraft kombinerat med minnesbandbredd, förutom grafikkortet såklart. Athlon64 3200+ klarar sig alltså klart mycket bättre än sin föregångare AthlonXP 3200+ men Intel Pentium 4 3.2 GHz EE är den som går segrande även ur denna strid.
Prestandasummering
Överlag har vi sett att AMD Athlon64 3200+ är en klart snabbare processor än sin föregångare AthlonXP 3200+. Även om skillnaderna inte alltid är häpnandsväckande är de klart märkbara i mer eller mindre alla tester. De tester där Athlon64 3200+ har lite svårt att stå emot motståndet är inte helt oväntat när minnesbandbredden blir en avgörande roll. I dagens applikationer är "tyvärr" hög minnesbandbredd nästan alltid nödvändigt och därför har vi en känsla av att Athlon64 FX kan ge en prestandaökning mot sin lillebror i mer eller mindre alla applikationer. Självklart med olika differenser men en prestandaökning likväl.
Det som hade kunnat stjälpa Athlon64 FX i vissa tester är den något högre latencyn man får av registrerade minnesmoduler, som är ett krav på FX-plattformen. Men det är inga stora skillnader och förhoppningsvis kan vi titta närmare på detta i en kommande artikel.
Jämfört med Pentium 4-plattformen står sig Athlon64 3200+ mycket bra rent prestandamässigt och även om vi inte kunnat testa dess jämnlike, Pentium 4 3.2 GHz C, har vi en viss föraning om att en fajt mellan dessa två hade blivit mycket intressant.
Det som grusar Athlon64s herravälde i denna recension är dock Intels nya flaggskepp, Pentium 4 3.2 GHz Extreme Edition. En ruggigt snabb processor som inte ens Athlon64 kan rå på. Men varför detta egentligen är rätt ointressant ska vi snart gå in närmare på.
När Intel lanserade deras NetBurst-arkitektur var man mycket noga med att påpeka dess framtidspotential. Det var inte så konstigt då de första modellerna av Pentium 4 trots höga klockfrekvenser hade mycket svårt att stå upp mot dåtidens Athlon och Pentum 3-processorer. Intel lovade att NetBurst-arkitekturen skulle visa upp en helt ny sida när arkitekturen hade mognat och klockfrekvenserna ökade. Idag vet vi att Intel hade mer rätt än vad många trodde då Pentium 4-plattformen än i dag, knappt 3 år efter dess lansering, är en av marknadens hetaste PC-plattformar. Med effektivare tillverkningsteknik och relativt små ingrepp i kärnan för att förbättra dess ÏPC-värde (fritt översatt: prestanda per klockcykel), som större cache och snabbare processorbuss, har man lyckats hålla Pentium 4-processorerna i toppen av marknaden under mycket lång tid.
AMD i sin tur har ofta använt sig av en "här och nu"-metod där man kanske tänkt mindre på framtiden utan istället satsat hårt på nuet. Även denna taktik har visat sig vara mycket effektiv och AMD har genom ren råstyrka hållit sig klart konkurrensmässiga med deras K7-arkitektur (Athlon). På senare tid har det dock blivit svårare tider för AMD då K7-arkitekturen visat fler och fler ålderstecken medan Pentium 4 fortsatt sin utveckling.
AMDs K8-arkitektur har varit på tapeten under flera år nu och nu när den äntligen kommer för att ta över för K7-arkitekturen i toppsegmentet av PC-marknaden får i alla fall vi lite av en deja vú.
K8-arkitekturen har precis som NetBurst flera egenskaper som talar för en mycket effektiv prestandautveckling och bland dessa kan såklart nämnas stöd för 64-bit mjukvara, HyperTransport buss och integrerad minneskontroller.
64-bit arkitekturen är i högsta grad en feature för framtiden som inte många konsumenter kommer ha nytta av i dagsläget. Även om vi gått igenom 64-bit-arkitekturen i denna recension har vi avstått från att publicera några 64-bit prestandatester och sparar dessa till kommande artiklar när vi bekantat oss mer med processorn och Microsoft kommit längre med deras 64-bit version av Windows.
Den integrerade minneskontrollern på Athlon64 har också stora framtidspotential då inte bara den rena processorkraften ökar i takt med att klockfrekvenserna på processorn ökar. Även minnesprestandan kommer få en extra kick vid varje klockfrekvensuppdatering och när AMD går över till 0.09micron kommer den effektiva prestandaskalningen för K8-arkitekturen visa sitt rätta ansikte. Tyvärr hade vi ingen möjlighet att testa överklockning i någon större utsträckning men vi garanterar att det kommer inom en snar framtid, och då på flera moderkortplattformar.
Men det är helt klart att AMD inte enbart satsat på framtiden då Athlon64 står sig mycket bra mot konkurrenterna redan i dagsläget. Ett bevis på detta är att Intel gjorde en diskutabel nylansering av deras Pentium 4-processor i samband med AMDs lansering av Athlon64 /64 FX. Intel Pentium 4 Extreme Edition är en Pentium 4 3.2 GHz C på steroider och med sin enorma L3-cache kan Intel fortfarande hålla AMD bakom sig.
Men till vilket pris kan man fråga, jo till ett av de högsta priserna i PC-marknadens historia.
Intel Pentium 4 3.2 GHz Extreme Edition går i dagsläget att hitta (om du har tur) i Sverige för runt 9600kr, Athlon64 3200+ går i sin tur att hitta för runt 4000 kr jämnt.
Även om Intel vinner prestandaronden i avseendet EE vs. A64 är de två processorerna inte ens i samma liga när vi diskuterar prisvärdhet. I våra ögon har inte Intel Pentium 4 3.2 GHz Extreme Edition någon prisvärdhet överhuvudtaget för en vanlig konsument.
Athlon64 3200+ är faktiskt en relativt dyr processor i sig men trots detta är Intel Pentium 4 3.2 GHz Extreme Edition nästan 2.5 gånger så dyr (!!)
AMD Athlon64 har i vår mening redan visat sig som en värdig utmanare på processormarkanden och det ser bara ut att bli ännu bättre i framtiden. Med mognare plattformar och förfinad tillverkningsteknik kommer Athlon64 förbli ett stort hot mot Intel på desktopmarknaden under en lång tid.
Detta var allt vi hade att säga denna gång men vi lovar er att det kommer mer Athlon64-artiklar inom en snar framtid här på NordicHardware.