Inleiding: eindelijk
AMD heeft zijn nieuwe Fusion-platform voor laptops, dat bekendstaat als Comal, al in het afgelopen voorjaar op de markt gebracht. Op de desktopvariant, het platform dat Virgo genoemd wordt, moest bijna een half jaar worden gewacht. Door vertragingen werd de introductie uitgesteld van dit voorjaar naar het najaar. Wellicht waren productietekorten de oorzaak; AMD zou de apu's niet aangesleept krijgen. De accellerated processing units met codenaam Trinity moeten de high-end desktops vormen.
De 2012-lichting van Fusion voor de desktop valt in drie deelmarkten uiteen, waarbij Richland, Weatherford en Trinity voor achtereenvolgens het instap-, mainstream- en high-end segment zijn bedoeld. We concentreren ons vooral op het high-end segment, oftewel Trinity. De nieuwe Trinity-accellerated processing units, kortweg bekend als apu's, moeten de huidige generatie Llano-apu's van het Lynx-platform opvolgen.

Trinity is daartoe, net als Llano voordien, voorzien van cpu-kernen en een grafische rekeneenheid op één en hetzelfde plakje silicium. Waar Llano echter nog met oudere Stars-cores en Evergreen-gpu's was uitgerust, heeft AMD Trinity de nieuwste Piledriver-cores en Northern Islands-gpu's gecombineerd. De apu's worden nog steeds door GlobalFoundries op een 32nm-soi-procedé geproduceerd.
Nu Trinity voor de desktop eindelijk verkrijgbaar wordt, is het tijd voor een nadere analyse van het platform.
Een nieuw platform: nieuwe socket
We zijn het niet van AMD gewend, maar met de introductie van het nieuwe Fusion Virgo-platform introduceert AMD ook een nieuwe socket. Waar Bulldozer en Piledriver in de FX-serie processors gewoon met de bestaande AM3-socket overweg konden, wordt de vorig jaar voor Lynx aangerukte FM1-socket alweer ingehaald door de nieuwe, niet-pincompatibele FM2-socket. De FM2-socket zou echter wel toekomstvast zijn; AMD belooft voor de volgende generatie apu's dezelfde socket te handhaven.
De FM2-socket, en Trinity-, Weatherford- en Richland-apu's vormen samen met de nieuwe A85X Fusion Controller Hub het Virgo-platform. Zoals blijkt uit de codenaam voor die fch, die Hudson-D4 luidt, kan een oudere fch van Llano ook met de FM2-socket en Trinity-apu's gecombineerd worden. Zo zijn moederborden met de FM2-socket ook uitgerust met de A75- en A55-chipsets, met respectievelijk de codenamen Hudson-D3 en Hudson-D2.
/i/1348766760.jpeg?f=imagenormal)
De nieuwe Hudson-D4-chip, die we voor het gemak 'de chipset' zullen noemen, wordt net als de voorganger voor Llano op 65nm gebakken en levert net als de chipsets voor de FM1-socket vier usb 3.0-poorten. Het aantal sata-600-poorten is van zes naar acht stuks uitgebreid en voor het eerst wordt crossfire ondersteund. De zestien pci-express-lanes van de apu kunnen in tweemaal x8 gesplitst worden om twee kaarten aan te sturen.
Voor de communicatie tussen apu en fhc zijn vier pci-express-kanalen met een bandbreedte van in totaal 2GB/s beschikbaar. De acht sata-poorten kunnen in raid 0, 1, 5, en 10 gebruikt worden en een gigabitnetwerkcontroller en vierkanaalsgeluid worden eveneens ondersteund. De fch heeft naast de vier usb 3.0-poorten ondersteuning voor tien usb 2.0- en twee usb 1.1-poorten, en heeft een tdp van 7,8W.
De apu: Piledriver
De echte veranderingen ten opzichte van de Llano-generatie apu's zitten niet in de chipset of pch, maar in de accellerated processors. Bijna de enige overeenkomst met de vorige generatie is het procedé waarmee GlobalFoundries ze voor AMD bakt; dat is nog steeds 32nm-soi.
Onder de motorkap, of liever gezegd de heatspreader, ligt het plakje silicium dat AMD grondig veranderde voor de Trinity-apu's. Dat telt zo'n 1,3 miljard transistors, samengepakt op een oppervlakte van 246 vierkante millimeter. Daarvan neemt de gpu ongeveer de helft in beslag, met de rest van de ruimte voor de cpu-cores met hun L2-cache en de diverse controllers.
Voor de cpu-cores heeft AMD voor Piledriver-modules gekozen; in de Llano-apu zaten nog afgeleiden van Stars-cores die op de K10-architectuur zijn gebaseerd. Voor de Piledriver-modules werd de Bulldozer-architectuur op een aantal punten verbeterd. De Piledriver-modules bestaan ieder uit twee cores, die echter componenten onderling delen. De prestaties van een apu met twee modules, dus vier cores, zijn dan ook vaak wat minder dan die van een processor met vier volledige cores.
/i/1348767088.jpeg?f=imagenormal)
Vooral in de Bulldozer-generatie, waarin de FX-serie desktopprocessors als octacores werden aangeprezen, bleven de prestaties veelal op quadcore-niveau steken. Wellicht was een andere benaming voor de overlappende cores in de modules beter geweest. Desalniettemin, of eigenlijk uiteraard, heeft AMD de ontwikkeling van Bulldozer doorgezet en de opvolger Piledriver ontwikkeld. De prestaties van deze modules moeten een stuk verbeterd zijn ten opzichte van Bulldozer en ook vergeleken met de Trinity-apu's voor laptops; voor de desktop werden de kloksnelheden bijvoorbeeld flink verhoogd.
De cores in de Piledriver-modules delen hun instruction fetcher en decoder en hebben gedeeld L2-cache. Ook de floating point-unit wordt tussen de twee cores in de module gedeeld, maar elke core heeft zijn eigen integer execution unit, met ieder zijn eigen L1-cache. Dat geeft de Piledriver-architectuur met twee modules vier threads om integer-berekeningen te verwerken. Tot zover klinkt Piledriver als Bulldozer, maar de AMD-architecten hebben in de tussentijd niet stilgezeten en verbeterden de microarchitectuur aanzienlijk voor Piledriver en Trinity.
Piledriver: de architectuur
De Piledriver-architectuur moest de, vooral voor de desktop, tegenvallende performance van de Bulldozer-modules verbeteren. Daartoe werd de architectuur grondig onder handen genomen. Een van de grootste verschillen met de FX-serie Bulldozer-modules is het ontbreken van de L3-cache; die ruimte moest voor de gpu-cores gereserveerd worden. De Piledriver x86-modules compenseren het gemis aan deze caches en het lagere aantal modules echter op een aantal manieren.
Allereerst is de front-end aangepakt; de branch prediction is verbeterd, wat tot snellere afhandeling van instructies moet leiden. Daartoe is een 'perceptron'-algoritme toegevoegd, dat naar eerdere voorspellingen kijkt om nieuwe voorspellingen te doen. Ook de instruction cache, waaronder het instruction window, werd uitgebreid, waarmee de out-of-order-wachtrij vergroot wordt. Piledriver kreeg ook nieuwe instructiesets, FMA3 en F16C, waarmee Piledriver compatibel werd gemaakt met Intels nieuwste Haswell-instructies. Ongebruikte prefetch-data in de cache wordt ten slotte snel verwijderd om ruimte voor nieuwe data te maken.
De execution units voor integers kregen een verbetering in het aantal instructies per klokcyclus dat ze kunnen verwerken, ook wel bekend als ipc. De instructieverwerking van onder meer integer- en floating point-delingen, en calls en returns werden versneld. De eu's kregen eveneens een efficiëntere scheduler. De L1-tlb werd vergroot en ook de algoritmes voor de L2-cache werden efficiënter gemaakt.
/i/1348766828.png?f=imagenormal)
De unified north bridge heeft voortaan alleen nog een pci-express-link naar de i/o-hardware van de platform controller hub; de hypertransport-link is geschrapt. Deze fusion compute link heeft een bidirectionele bandbreedte van 128 bit en geeft i/o-apparaten toegang tot het systeemgeheugen. De gpu communiceert met dat geheugen middels de Radeon Memory Bus, die per geheugenkanaal een bidirectionele bandbreedte van 256 bit heeft. Ook de cpu-gpu-communicatie zou via deze link verlopen, waarmee deze equivalent zou zijn aan Intels ringbus, die voor de communicatie tussen cpu, gpu en geheugen zorgt.
Een aparte videokaart, mits geïnstalleerd, kan in Trinity van het virtuele geheugen van de cpu gebruik maken. Via iommu v2 kunnen i/o-apparaten of bijvoorbeeld een Tahiti-gpu zo een geheugen-naar-geheugen-kopieerstap overslaan. In Llano was Sideport-geheugen nog nodig om die extra stappen wat vlotter te maken, maar met de directe toegang tot het geheugen is dat niet langer nodig.
De Trinity-gpu: Devastator
De 'Devastator'-gpu in de Trinity-apu's is een stapje beter dan die in de Llano; die maakte gebruik van de 6000-serie gpu's met codenaam Evergreen, terwijl in Trinity de nieuwere Northern Islands-gpu's uit de 7000-serie gebruikt worden. Bovendien is de kloksnelheid van die gpu's met maximaal 800MHz flink hoger dan de 600MHz van de Llano-gpu.
Op het oog is de Trinity-gpu met zijn 384 cores wat kariger bedeeld dan de maximaal 400 cores in de Llano-gpu. Schijn bedriegt echter; voor de Trinity-gpu is het vliw4-ontwerp gekozen in plaats van het Llano vliw5-ontwerp. Dat houdt in dat de streamprocessors ieder vier in plaats van vijf alu's hebben, waardoor de afzonderlijke alu's beter benut zouden worden dan in het vliw5-ontwerp. Daar zou de vijfde 'core' namelijk relatief vaak idle zijn, wat het rendemenent nadelig beïnvloedt.
/i/1348766944.jpeg?f=imagenormal)
De Trinity-apu heeft in totaal zes simd-engines, die ieder uit zestien vliw4-groepen met elk weer vier cores bestaan. Dat brengt het aantal cores voor het topmodel Trinity-apu op 384 stuks. De gpu, die als een afgeslankte 6970-gpu oftewel een kwart Cayman-gpu beschouwd kan worden, heeft naast de 384 simd-cores nog 24 texture units, vier voor elke simd-engine, en 8 rops.
De Trinity-gpu zou dankzij het herziene, modernere ontwerp en de hogere kloksnelheid sneller zijn dan de Llano-gpu. De grafische processor kreeg een nieuwe hd media accelerator in de vorm van een accelerated video converter, ook wel bekend als uvd3. Video encoding wordt met de video codec engine in h264 ondersteund en de hardware voor dx11-tesselation kreeg een update.
Ten slotte werden de outputs voor zowel audio als video gemoderniseerd; Trinity ondersteunt displayport 1.2 en is voorzien van Eyefinity-technologie, waarmee vier beeldschermen kunnen worden aangestuurd. Over de digitale hdmi- en displayport-uitgangen kan 7.1-kanaalsgeluid worden gestuurd.
Energiebeheer en turbo
Hoewel de nieuwe generatie apu's op hetzelfde 32nm-soi-procedé wordt gemaakt als de Llano-generatie, moet Trinity een energiebesparing met zich meebrengen. De tdp's van de desktopprocessors variëren, al naar gelang positionering en aantal modules, van 100 tot 65W. Dat is dezelfde tdp als de Llano's hebben, maar desalniettemin zou de praktijk lagere energiebehoeftes vergen.
Voor de gpu is een energiebesparing vrij direct het gevolg van de reductie in het aantal cores en een verbeterde efficiëntie daarvan. Voor de cpu geldt hetzelfde; betere branch prediction en een efficiëntere front-end kunnen de pipelines beter gevuld houden, zodat een actieve core optimaal benut wordt.
Op transistorniveau heeft AMD echter eveneens maatregelen genomen om de processors zuiniger te maken. De Piledriver-modules zijn voorzien van zogeheten hard edge flip-flops, elementaire bouwstenen van een processor. In Bulldozer waren dat soft edge flip-flops, omdat die geen optimalisatie vergen voor hoge kloksnelheden. In Piledriver is die moeite wel genomen en daarom konden de zuinigere flip-flops toegepast worden. Dat moet, vergeleken met Bulldozer, tot een tien tot twintig procent lager actief energiegebruik leiden.
/i/1348766702.jpeg?f=imagenormal)
Powergating, het reguleren van de spanning en de kloksnelheid van diverse onderdelen, speelt eveneens een belangrijke rol bij energiebesparingen. Die functionaliteit wordt gekoppeld aan de nieuwe Turbo-modus van Trinity en Piledriver. Niet alleen de cpu-kernen, maar ook de gpu kan, mits de temperaturen dat toestaan, een turbo-versnelling krijgen. In Llano was die turbo voorbehouden aan de cpu.
De warmteontwikkeling van cpu en gpu wordt door een algoritme op basis van de aangeboden werklast berekend en zou een hoge precisie moeten hebben. Daardoor kan de turbomodus vaker en sneller ingeschakeld worden, zodat de kloksnelheden dynamischer worden ingesteld. Uiteraard geldt dat omlaag klokken, dankzij powergating, tot minder energieverbruik leidt.
Het assortiment: apu's en Athlons
Zoals we op pagina twee al aanhaalden, bestaat het nieuwe platform uit een FM2-socket, die kan worden gecombineerd met oude A55- en A75-chipsets, en de nieuwe A85X-chipset. Veel verschillen de chipsets niet van elkaar; de high-end A85X-chipset heeft als grootste voordeel twee extra sata-600-poorten.
De apu's zijn in vier varianten verkrijgbaar, met als topsegment de A10-serie. Iets daaronder gepositioneerd vinden we de A8-serie, die eveneens beschikt over vier cores, oftewel twee Piledriver-modules en in totaal 4MB L2-cache. De gpu's van de A10-serie hebben 384 streamprocessors, terwijl de A8-varianten het met 256 stuks moeten doen.
Het lagere segment wordt bediend met de A6- en A4-apu's, die elk over slechts twee cores, dus één Piledriver-module, beschikken. De gpu moet het met respectievelijk 192 en 128 cores stellen en de hoeveelheid cache is eveneens gereduceerd, tot 1MB.
/i/1348765924.png?f=imagenormal)
De FM2-socket wordt ook de zetel van drie Athlons, die geen grafische processor aan boord hebben, maar wel twee of vier cores. Deze Athlons zijn, net als alle apu's, voorzien van AMD's nieuwste Turbo Core 3.0-technologie.