Nehalem.
Nuh – hö – lem
Åtminstone är det så Intel PR uttalar det.
Jag har under den senaste månaden funderat på hur jag bäst ska granska den här saken, vilken vinkel jag ska ta, det är tufft. Du förstår, med Conroe var tillvägagångssättet enkelt: Pentium 4 var fruktansvärt, AMD bar stolt sin krona och Intel kom in och vände upp och ner på allas värld. Med Nehalem är världen bra, den behöver inte fixas. AMD:s prissättning är ganska konkurrenskraftig, Intels prestanda är stabil, strömförbrukningen går inte ur kontroll… saker och ting är trevliga.
Men vi har den där irriterande tick-tock-kadensen och saker måste förändras för förändringens skull (eller mer exakt, tekniska framsteg, jag svär att jag inte blir cynisk på min gamla ålder):
2008, det är vi, det är Nehalem.
Kan Nehalem någonsin vara tillräckligt bra? Det är den första tocken efter Conroe, det är som att gå på scen efter den bortgångne Richard Pryor, det är inte en avundsvärd position att vara i. Nehalem kommer oundvikligen inte att ha samma inverkan som Conroe gjorde, men vad skulle Intel möjligen kunna tillföra bordet som har det inte redan gjort det?
Låt oss gå vidare och börja, det här kommer att bli intressant…
Nehalems arkitektur – en sammanfattning
Jag tillbringade 15 sidor och tusentals ord på att förklara Intels Nehalem-arkitektur i detalj redan, men vad jag ska försöka göra nu är att sammanfatta det på en sida. Om du vill ha mer detaljer, se originalartikeln, men här är klippanteckningarna.
Nehalem
Nehalem, som jag har nämnt otaliga gånger tidigare, är en “tock”-processor i Intels tick-tock-kadens. Det betyder att det är en ny mikroarkitektur men baserad på en befintlig tillverkningsprocess, i det här fallet 45nm.
En fyrkärnig Nehalem består av 731M transistorer, ner från 820M i Yorkfield, den nuvarande fyrkärniga Core 2:or baserade på Penryns mikroarkitektur. Formstorleken har dock ökat från 214 mm^2 till 263 mm^2. Det är färre transistorer men mindre tätt packade, en del av detta beror på en minskning av cachestorleken och en del av det beror på en fundamental omarkitektur av mikroprocessorn.
Nehalem är Intels första “infödda” fyrkärniga design, vilket innebär att alla fyra kärnorna är en del av en stor, monolitisk form. Varje kärna har sina egna L1- och L2-cache, och alla fyra sitter bakom en stor 8MB L3-cache. L1-cachen förblir oförändrad från Penryn (den nuvarande 45nm Core 2-arkitekturen), även om den är långsammare vid 4 cykler jämfört med 3. L2-cachen blir lite snabbare men blir också mycket mindre med 256KB per kärna, medan den lägsta delen Penryns dela 3 MB L2 mellan två kärnor. L3-cachen är ett nytt tillägg och fungerar som en gemensam pool som alla fyra kärnor kan komma åt, vilket verkligen kommer att hjälpa till i cacheintensiva flertrådsapplikationer (som de du skulle stöta på på en server). Nehalem får också en tre-kanals, on-die DDR3-minneskontroller, om du inte har hört det vid det här laget.
På kärnnivån blir allt djupare i Nehalem. CPU:n är lika bred som tidigare och pipeline-stegen har inte ändrats, men reservationsstationen, laddnings- och lagringsbuffertar och OoO-schemaläggningsfönstret blev allt större. Maximal exekveringskraft har inte ökat, men Nehalem borde vara mycket effektivare på att använda sina resurser än någon Core-mikroarkitektur före den.
Återigen för att adressera serverutrymmet ökar Nehalem storleken på sina TLB:er och lägger till en ny enhetlig TLB på andra nivån. Förutsägelse av grenar är också förbättrad, men främst för databasapplikationer.
Hyper Threading är tillbaka på sitt typiska 2-vägssätt, så en enda fyrkärnig Nehalem kan arbeta på 8 trådar samtidigt. Här har vi ytterligare ett exempel på att Nehalem använder exekveringsresurserna mer effektivt än att bara kasta fler transistorer mot problemet. Med Penryn Intel nådde nästan 1 miljard transistorer för ett stationärt fyrkärnigt chip, var Nehalem uppenbarligen ett försök att både adressera servermarknaden och göra mer effektiv användning av dessa transistorer innan nästa stora hopp och passerar miljardtransistorstrecket.