Arkitekturen Jaguar: Överblick

AMD och Intel arbetar båda på två olika arkitekturer simultant: en "liten" och en "stor" arkitektur, som tillsammans ska täcka upp alla marknadssegment. Strategin tillkännagavs av AMD under 2010 och den första stora arkitekturen blev Bulldozer, som numera ersatts av Piledriver, som i sin tur efterträdas av Steamroller i slutet av året – den första stora revisionen av Bulldozer.

Samma tempo syns inte för den lilla arkitekturen, där Bobcat gjorde entré i början av 2011. Den introducerades i plattformen Brazos, vilket AMD inte gjort några större förändringar på. Det handlar om marginella lyft i klockfrekvens, samt att plattformen uppdaterats med en mer energieffektiv sydbrygga (Brazos 2.0) och pressats ner till 4,5 watt (Hondo) för användning i surfplattor.

Jaguar är andra generationens lilla arkitektur – "Cat Family" – från AMD. Arkitekturen bygger vidare på Bobcat men kommer med flera stora förändringar, optimeringar och avvägningar för att passa in i företagets Semi-Custom Business Unit – avdelningen för skräddarsydda systemkretsar.

Processorarkitekturen Jaguar

Jaguar_2.jpg

I arkitekturens Front End ligger instruktionscachen (L1 Icache) kvar på 32 kilobyte och är 2-vägsassociativ och har effektiviserats för att dra 75 procent mindre ström. Helt nytt är en "loop buffer" på 4 x 32 byte, som sparar de instruktioner som väntas komma till användning flera gånger. Det primära syftet är att spara ström men det ger även en positiv bieffekt i form av ökad IPC (instruktioner per klockcykel).

För snabbare hämtning av data från cacheminnet är Prefetchern förbättrats och även dess Branch Prediction för att, precis som namnet antyder, förutspå nästa instruktion. Även Decode-enheten har lyfts upp, men har samtidigt fått ett längre steg i sin pipeline vilket ofta associeras med sämre prestanda.

AMD:s teknikchef Joe Macri, mer känd som personen bakom grafikminnena GDDR3, GDDR4 och GDDR5, förklarar att det längre steget ger arkitekturen en bättre kurva mellan frekvens och spänning, vilket i slutändan innebär högre prestanda och energieffektivitet än om pipelinen lämnats orörd.

Jaguar_3.jpg
Jaguar_4.jpg

Beräkningsenheterna kommer också med sina förbättringar. Enheten för beräkning av heltal kommer med en ny Divider tagen från Stars-arkitekturen i Llano. Det här ger en tvåfaldig prestandaökning vid just division. Därtill syns flera och förbättrade cops-instruktioner för översättning av x86, större schemaläggare och upp till 70 procent fler buffers för OOO-resurser (Out of Order).

Flyttalsenheten är en helt ny kreation för Jaguar. Bobcat har en bredd på 64-bit, vilket innebär att SSE-instruktioner på 128-bit måste passera två gånger ("double pump"). Med Jaguar dubbleras kapaciteten till 128-bit. Därtill syns även stöd för 256-bit AVX, dock med samma kompromiss Bobcat möts av vid beräkningar av 128-bit SSE-instruktioner.

Flyttalsenheten är kapabel till fyra adderingar och fyra multipliceringar vid beräkningar i singelprecision. I dubbelprecision går detta ner till två adderingar och en multiplicering. Flyttalsenheten är inte lika känslig för höga latenser som andra delar i processorn och är därför placerad längre bort från minneskontrollerna i förhållande till föregångaren Bobcat.

Jaguar_5.jpg
Jaguar_6.jpg

Load/Store har fler OOO-resurser än tidigare och skyfflar inte runt data lika ofta i onödan. Dess bandbredd har dubblerats från tidigare, och därtill har kommunikationsbussen till flyttalsenheten utökats till 128-bit. Kommunikation med övriga kärnor sker via en ny bussenhet och ett numera delat L2-cacheminne.