Den största förändringen av arkitekturen jämfört med föregångaren, är att den inkluderar ett grafikblock på samma chips som cpu:erna – ett mönster som annars är vanligt i applikationsprocessorer för mobiltelefoner.
En ovanlig detalj är dock att grafikblocket och cpu:erna behandlas förhållandevis jämlikt – de har samma access till minnet. Enligt Intel har förståsigpåarna varnat för detta. Men enligt arkitekturens arkitekter – som Elektroniktidningen träffade i London före jul – har experimentet fungerar utmärkt hittills. Man har dock byggt in säkerhetsspärrar mot att grafikkretsen ska översvämma bussen med sin egen trafik – det går att ange gränser för hur mycket av bussen den får utnyttja.
Intel har visat konstruktionen för en fyrkärnig variant av Sandy Bridge. De fyra cpu:erna och grafikkärnan sitter tillsammans med fyra cacheblock uppkopplade på en och samma ringbuss. De fyra cacheblocken kan accessas samtidigt men de är inte kopplade till varsin cpu – alla fem kärnorna, inklusive grafikblocket alltså, har åtkomst till alla fyra cacheblock. Minnesadresserna blandas och fördelas jämt på de fyra cachblocken med hjälp av en så kallad hashfunktion.
Cacheblocken är på 8 Mbyte. De kallas för Last Level Cache.
Konstruktionen är skalbar genom att cpu och cacheblock läggs till parvis – det är därför de är lika många. Varianter med 2, 4, 6 och 8 cpu-kärnor är planerade.
Intelarkitekten Opher Kahn avböjer under en presskonferens i London att svara på frågan hur långt arkitekturen är skalbar. Men sedan kan han ändå inte låta bli att tänka högt: ”definitivt till åtta, troligen till 16, inte till hundra, kanske till 32”.
Allokeringen av trafiken på bussen är decentraliserad – om nästa godsvagn på ringbussen är ledig är det fritt fram att hiva in sina data i den. Skulle en nod bli alltför utsvulten kan den lägga upp en klagosignal på en separat ring och beredas plats.
Ringbussen är 32 byte bred och ger varje kärna en maxtakt till cacheminnet på 96 Gbyte/s – vilket betyder att den totalt kan flytta runt 384 Mbyte/s om alla fyra cacheminnena accessas samtidigt.
Att grafikprocessorn är direktkopplad till cacheminnet är ideal lösning för det som kallas GPGPU – att använda grafikkärnor som acceleratorer för diverse parallella beräkningar. Intel är medlem i OpenCL och att det finns stöd i utvecklingsmiljön för att programmera grafikprocessorn på just detta vis.
Grafikblocket finns i två versioner med sex respektive tolv programmerbara exekveringsenheter. Det används inte bara för ”grafik” utan också för att accelerera video, delvis i hårda videoblock.
Det som Intel kallar Turbo Boost finns i version två i Sandy Bridge. För korta perioder kan klockfrekvensen skruvas upp ovanför den normala. Metoden används redan i den föregående arkitekturen Westmere. Principen är lätt att förstå – det tar ett tag för processorn att bli varm och det finns alltså rum för tillfällig överklockning.
I Sandy Bridge har tekniken blivit ännu mer förfinad. I och med att grafiken är integrerad på samma chips kan också den vara med i fördelningen av energibudgeten – när cpu:er tar det lugnt kan grafikkärnan höja klockfrekvensen och tvärtom.
Turbo Boost – som aktiveras under beräkningsintensiva operationer – följer ett fastlagt schema. Under en halvminut dras frekvensen upp till ett maxvärde och trappas sedan stegvis trappas ner till normalfrekvensen. Användaren får se datorn tappa prestanda.
Tiden en halvminut gäller för en svalnad processor. Turboläget är kortare om processorn inte hunnit svalna.
Sandy Bridge har temperaturövervakning för att skydda processorn från överhettning. Men det är uttryckligen inte temperaturen som används för att reglera turbo boost. Schemat läggs helt deterministiskt utefter hur lång tid det gått sedan den förra turboboosten. Att istället använda temperaturen som reglering låter kanske som en enklare lösning. Men den skulle bland annat leda till att enskilda komponenter fick olika prestanda, och det är inte en produktifiering som Intel är intresserad av att erbjuda.
Avkodade instruktioner, så kallade mikrooperationer, har fått ett eget cacheminne. Typiskt kan hela 80 procent av instruktionerna plockas ur detta cacheminne under körning. Detta resulterar i en hög och stabil instruktionsbandbredd, samtidigt som det – kanske framför allt – spar energi eftersom avkodningsmekanismerna kan vila.
På beräkningssidan har Sandy Bridge fått kraftfull förstärkning. Den kan operera på 256-bitars tal. Detta ökar framför allt prestanda för flyttalsoperationer.
Sandy Bridge är enligt Intel bättre på branch prediction – att förutsäga vilka instruktioner som kommer att exekveras härnäst och sedan ladda dessa i förtid – än föregångaren, eftersom den sparar längre och fler av de loggar som skapar prediktionerna. Och detta utan att öka avtrycket – man har nämligen hittat annat att spara in på. Intel har exempelvis funnit att de flesta programhopp sker till minnesceller i närheten, vilket betyder att relativa adresser kan användas istället för absoluta, vilket i sin tur netto betyder att dubbelt så många adresser får plats i historiken.
Det som Intel kallar en grafikkärna är ett block med acceleratorer för både video och grafik.
Videoprestanda är något av det som Intelarkitekterna verkar vara mest stolta över. Arkitekterna lovar tvärsäkert minst en fördubbling av prestandan för transkodning. Och i labbet har man ännu bättre siffror, upp till en faktor fem, sex gånger snabbare.
Dessutom är videokodning något som numera kan göras i bakgrunden, samtidigt som användaren störningsfritt fortsätter med annat.
Omkompilering krävs för denna videoprestanda. Programmet måste vara ”app sync video aware”. För utvecklaren handlar det dock enligt Intel bara om att sätta ett kryss i en ruta i utvecklingsmiljön.
Googles videoformat WebM nämns inte i Intels presentationer – ”vi arbetar med det”, säger arkitekterna under presskonferensen i London.
För att skryta med prestandan hos Sandy Bridge demonstrerar Intel ett användargränssnitt där många aktiviteter pågår parallellt. Det används internt för att utforska möjligheterna, men kommer kanske också att produktifieras. Gränssnittet är en filorganisatör som presenterar alla dina filer i en kalender som du steg för steg zoomar in till enskilda filer. Inzoomade filmer börjar automatiskt spelas upp.
Intel demonstrerar hur Sandy Bridge kan spela upp en film samtidigt som den dynamiskt gör ansiktsigenkänning på filmen som spelas upp – ansikten ringas in och följer människor som rör sig i filmen.
Grafiken renderas i hårda block och i 6 eller 12 programmerbara exekveringsenheter. Prestandan ska vara den dubbla mot Intels förra arkitektur – prestanda i ett 3DMark-text var 2,33 gånger högre.