Trots att de var extremt väl förberedda med att ha Nehalem, moderkort, kylare och minne i god tid före lansering, var upptakten till NDA-lyftet av Intels Core i7-processorer stressande. Det fanns så mycket att testa: multi-GPU-kompatibilitet med X58, minneskontrollprestanda, allmän applikationsprestanda, överklockning, Hyper Threading, etc…
Vi arbetar alla fortfarande hårt på att reda ut detaljerna, Gary arbetar på en X58 moderkortssammanfattning och har testat 12GB minneskonfigurationer under de senaste dagarna (liksom att arbeta med kortleverantörer för att förbättra prestanda/kompatibilitet med 12GB men Jag låter dig berätta för honom om det), Derek arbetar med multi-GPU-prestanda och Kris har arbetat på en överklockningsguide. Vad har jag hållit på med? Tja, jag har försökt svara på några kvardröjande frågor om Nehalem.
Det jag har idag är de första resultaten av frågorna jag har ställt, jag har ägnat den senaste veckan åt att titta på energieffektivitet, minneslatens och prata med några av Intels bästa i telefon om Nehalem. Och jag är tillbaka för att rapportera, samlas runt för Nehalem: The Unwritten Chapters.
Uncore
Jag fick lite mer detaljer från Intel om den icke-kärna klockan. Precis som Phenom är Intels Core i7 uppdelad i ett område som kallas “kärnan” och ett område som kallas “uncore”. Kärnan innehåller de individuella processorkärnorna och deras L1/L2-cacher, medan uncore innehåller minneskontrollern och den delade L3-cachen. I vår recension nämnde jag att uncore körs på 2,66GHz, vilket är sant, men bara för Core i7-965. Core i7-940 och 920 kör båda uncore på 2,13 GHz.
Uncore-klockan definieras av Intel precis som kärnklockan är – Intel ställer in den baserat på avkastnings- och prestandamål. Som jag nämnde i lanseringsrecensionen, körs uncore-klockan med en enkel multiplikator av bclk (133MHz): 20x för i7-965 och 16x för i7-940/920. Uncore körs också på sin egen spänning (1,20V) och den spänningen skalar inte upp/ned.
På Intels egna X58-kort konfigureras uncore-klockan på sidan med minnesinställningar och kallas helt enkelt UCLK:
Jag tog i7-965, körde den på 2,66 GHz för att simulera en i7-920 och varierade uncore-klockan för att mäta effekten i L3-cache och minneslatens:
Kärnklocka | Uncore klocka | L3 latens | Huvudminnets latens | x264 HD Benchmark | Cinebench XCPU Benchmark |
2,66 GHz | 2,93 GHz | 34 cykler | 143 cykler | 72,8 fps | 13456 |
2,66 GHz | 2,66 GHz | 36 cykler | 148 cykler | 73,0 fps | 13429 |
2,66 GHz | 2,13 GHz | 41 cykler | 159 cykler | 72,7 fps | 13182 |
På en 2,66 GHz uncore-klocka verkar saker och ting träffa en sweet spot, även om översättningen till verklig prestanda helt enkelt inte finns där. Kanske i ett mycket minnesintensivt test skulle vi se något mer uttalat, men till och med x264 HD-kodningstestet visade ingen prestandaskillnad mellan de tre uncore-klockhastigheterna.
Överraskande nog kunde jag inte få i7-965:s uncore att nå 3,2 GHz – Vista skulle blåskärma innan jag ens kunde komma till skrivbordet (observera att Intel X58-kortet jag använde inte stödde justering av uncore-spänningen, så det förblev finns i lager). Som tabellen ovan visar är ökningar i uncore-frekvens inte alls lika användbara som att öka CPU-frekvensen. Intel kände också igen detta prestandaförhållande och valde att optimera uncore för strömförbrukning, inte klockhastighet, vilket innebär att uncore inte kommer att kunna klocka lika högt som själva kärnan. Du kan alltid höja spänningen mycket för att försöka öka hastigheten på uncore men just nu ser det inte ut som att avvägningen skulle vara värt det eftersom du skulle öka kraften ganska mycket.