Innehåll

Intel Pentium 4

Inledning
Historik
Netburst
Hyper Pipelined Technology
Execution trace cache & L1 / L2
Rapid Execution Engine & ALU
FPU
SSE2
RDRAM & i850
400 MHz?
Ny Sockel
Flänsfästen & Nätaggregat
Olika demon
Testsystem & Specifikationer
Sisoft Sandra
Nvidia T&L - Treemark & DMZG
3D Mark 2000
Quake 3
Sacrifice
Flask MPG
Sammanfattning
Slutsats

1/2-01 | Axman | axman@64bits.se

Artikelsponsor


Intel - www.intel.com
Ett tack till intel för att de har lånat ut en dator till oss för dessa tester.


Netburst

Intel har sammanfattat delar av P4 arkitekturen inom namnet NetBurst. Ett diskutabelt namn som många hänger upp sig på. Intel benämner det som teknologi för morgondagen och det är mycket bra. Men det är väl idag som vi har den här? Vi skall ta oss en titt på vad NetBurst egentligen är och vad man har sammanfattat inom begreppet.

Netburst sammanfattas som:

  • Hyper Pipelined Technology,
  • Rapid Execution Engine,
  • Execution Trace Cache,
  • 400MHz system buss".

Dessutom så har man en del finesser till som skall nämnas:

  • Advanced Dynamic Execution,
  • Advanced Transfer Cache,
  • Enhanced Floating Point & Multimedia Unit,
  • Streaming SIMD Extensions 2.

Netburst är en konstruktion av Intels marknadsavdelning som vill få konsumenterna att relatera till internet och hastighet. Det satsar även en hel del på att visa processorns förträfflighet när det gäller internetapplikationer men för det första så bli inte internet snabbare med en P4 och så kan man ställa sig frågan om man verkligen behöver en P4 för att kunna utnyttja internet. Dagens internet är inte särskilt krävande.

Vi tar en titt på de olika delarna och vad de innebär.


Hyper pipelined Technology

Den största skillnaden mot Pentium 3 är djupet på processorns "pipeline". Man har ökat antalet steg som en instruktion har att gå igenom till det dubbla jämfört med P3 processorn. Resultatet är att det tar dubbelt så lång tid för en instruktion att gå igenom processorn. Det låter kanske inte så bra men det är bara halva sanningen. I en pipeline så hanteras nämligen alla instruktioner samtidigt. Så i P3 processorn som har 10 steg så hanteras alltså tio instruktioner samtidigt. Det gör att slutsumman är densamma även om varje instruktion tar längre tid på sig.
P4 processorn har hela 20 steg vilket då betyder att den hanterar tjugo instruktioner samtidigt.


Undersidan av P4 processorn.

Så ni ser att även om antalet steg ökar så blir själva hastigheten densamma eftersom även antalet instruktioner som körs ökas.

Men vad är då fördelen att göra så här?
Jo det handlar om MHz. Att rekommendera en minskning på storleken av kärnan är lätt att rekommendera men det är bara ett sätt att få upp hastigheten på processorn. Hur liten man än gör processorn så kommer någon gång fysiska hinder att sätta stopp för processorn.
Vad är det då Intel har gjort för att få upp P4 till 1.5 GHz när P3 stannar lång innan det trots att de använder samma storlek på tillverkningen (0.18) ?
Det har att göra med det jag nyss nämnt. Antalet steg i processorns 'pipeline'.

När man ökar antalet steg så kan man göra varje steg simplare och processorarkitekturen behöver inte vara så komplex för varje steg. Det betyder att man kan öka hastigheten på processorn ganska så drastiskt då de fysiska gränserna blir mer lättöverkomliga.

Det är här vi hittar Intels första knep för att få upp hastigheten. Det är dock inte något nytt knep utan ett beprövat. P5 processorn, Pentium 1 och Pentium MMX hade en 'pipeline' på fem steg.

Men allt är inte bra när det gäller en djupare 'pipeline'. När processorer arbetar så handlar det mycket om att 'gissa' sig till vad som skall hända. Detta för att den skall veta vad som händer härnäst och för att skynda på arbetet. Ju bättre den gissar desto effektivare blir arbetet. Vi kan fördjupa oss mycket i detta men det är inte funktionen utan resultatet som vi är intresserade av nu. Gissningen påskyndar arbetet mycket genom att se till att data finns tillgänglig när den behövs.

När en instruktion genomförs efter en misslyckad gissning så kontrolleras resultatet om det var riktigt eller fel. I det fall att det var fel (processorn kanske lade upp instruktionerna i fel följd) så måste den tömma hela 'pipelinen'. Det betyder alltså att om den håller på med 20 instruktioner och en är fel så måste den slänga alla. även de 19 som var rätt. Det är här som den stora käpphästen kommer och försvårar det hela för intel. Detta kan ge en enorm prestandaförlust vilket gör att P4 processorn får uträttat mindre per MHz än exempelvis en P3 som bara måste slänga 10 instruktioner.

Det blir då naturligtvis ett enormt arbete för processorn att inte bara börja om alla 20 utan även se till att all information för alla 20 instruktioner finns tillgänglig.

För att komma förbi detta så har man utvecklat flera tekniker vilka vi skall berätta lite mer om nu.



Execution Trace Cache och Level 1 / 2 minnena

Om vi börjar på minnesbiten som skall se till att processorn har data att arbeta med så kan vi börja med Level 1 minnet.
Här har stora förändringar skett. Vad vi sett än så länge på P3 processorn är ett L1 minne bestående av två delar. Ett instruktions och ett dataminne vilka har haft 16 Kb vardera. Detta är första stället som processorn tittar på och här är det viktigt att det går snabbt. Särskilt när P4 processorn har ett stort behov av att snabbt börja arbeta igen efter att den tömt sin pipeline.

Det första man gjort är att minska på data minnet till 8 Kb. Genom att göra det har man fått 50 % snabbare reaktionstid på det vilket hjälper mycket. Men detta kan samtidigt vara ett stort hinder eftersom det inte ryms så mycket information. För att jämföra så har Athlon en L1 datacache på hela 64 b vilket är avsevärt större. Dock så är den ganska så mycket långsammare.
Men man har alltså avstått från ett stort minne till förmån för ett snabbt vilket gör att den data som finns går mycket snabbt men chansen att den finns där är bara 1/8 jämfört med Thunderbird. Detta kan vara ett stort hinder för processorn men det är något som tiden får utse. Eventuellt så kan vi se en ändring på detta när man går över till 0.13 teknik eftersom man då kan få ned svarstiden betydligt mer trots att minnena är större.


Under plåten döljer sig kärnan. Dubbelt så stor som dagens
processorer. Plåten är till för att skydda kärnan mot skada
samt för att sprida värmen effektivare.

Ofta så sägs det att P4 bara har 8 Kb L1 minne men det är långt ifrån sanningen. Som jag nämnde innan så består det av två delar och det vi inte pratat om ännu är instruktions minnet. Alltså minnet för de instruktioner som skall utföras. All data delas upp i instruktioner som utförs och här har man gjort ett stort framsteg. Innan så har det inneburit fler steg för processorn av avkoda informationen och sedan använda den men nu har man gjort så att man lagrar den redan avkodade informationen i 'trace cache' minnet så när informationen skall användas igen så finns den redan avkodad och klar. Dessutom så lagras den alltid i den ordning som den skall användas så ingen tid behöver slösas på att sortera och leta upp den.

Vad detta innebär är främst att när gissningsmekanismen har missat och pipelinen är tom så finns all information som behövs redan avkodad och klar. Därmed slipper man börja om från absoluta början igen utan man sparar ett par steg.

Intel har inte släppt någon information om hur stort detta minnet är.


Advanced Transfer Cache

Tittar vi på Level 2 minnet så är det en ganska så stor skillnad mot P3 processorn. Det är att nu så kan den hämta information från L2 minnet varje klockcykel mot som innan varannan. Det gör att bandbredden ökar drastiskt och tiden det tar att hämta information minskas drastiskt. Vi kan jämföra P4, Athlon och P3.

Säg att de alla hade samma hastighet på processorn. Då skulle en P3 ha halva bandbredden till L2 minnet och en Thunderbird endast 1/8. Men som vi sagt innan så är det sällan det står och faller med en detalj. P4:an har mindre L1 datacache än både de andra vilket gör den mycket mer beroende av bandbredden till L2 minnet. Athlonen däremot är inte lika beroende av bandbredden till L2 minnet eftersom den har en så stor L1 cache.


Det finns ett till minne som jag skall nämna. Och det är ett buffertminne för gissningsmekanismen. Alltså den enhet som förutspår vilka instruktioner som kommer att användas. Den baserar sig till stor del på vad som redan utförts och har man en stor mängd data av samma typ så blir det lättare för den att gissa. Den har en buffert att arbeta med som är hela åtta gånger så stor som den P3 processorn har vilket då blir 4 Kb. Genom effektiviseringar och det större minnet så har P4:an ungefär 33 % större chans att gissa rätt än vad en P3 har. Och kom ihåg att detta är dödligt viktigt för processorn eftersom den tappar så mycket tid om den gissar fel.

Nästa sida -->

 

 

 




1/2-01 | Axman | axman@64bits.se