Modules
Processors die gebaseerd zijn op de Bulldozer-architectuur krijgen een of meerdere Bulldozer-modules aan boord. Een zo'n module bevat in feite twee cores, maar ook weer niet helemaal. Onderstaande afbeelding van de opzet van zo'n module maakt het duidelijk:
Zoals bekend maakt iedere processor onderscheid tussen twee verschillende soorten getallen bij alle berekeningen: integers, oftewel hele getallen, en floating point-getallen met decimalen. Alle processorcores van AMD en Intel hebben aparte rekeneenheden voor integers en aparte rekeneenheden voor floating point-getallen.
Een Bulldozer module heeft twee compleet gescheiden identieke integer-segmenten, met elk een eigen scheduler en elk vier verwerkingseenheden. Beide segmenten kunnen geheel onafhankelijk van elkaar instructies van twee verschillende programma's en programmathreads uitvoeren. Je mag zeggen dat een Bulldozer module wat betreft integer-instructies geheel dual-core is. Niet voor niets ziet het besturingssysteem één Bulldozer module als twee processors. Of met de vandaag geïntroduceerde processors in de praktijk: een AMD FX chip met vier Bulldozer modules, wordt door het besturingssysteem gezien als een 8-core CPU (en door AMD ook zo genoemd).
Voor floating point-getallen zit de vork echter anders in de steel. Per module is er slechts één floating point-segment, met één scheduler en twee 128-bit verwerkingseenheden. Je zou kunnen zeggen dat een module twee integer cores en één floating point core heeft. Het besturingssysteem zal dat onderscheid echter niet maken en telkens twee programma's of programmathreads op de processor afvuren. Zodoende moet de floating point scheduler, het onderdeel dat de instructies richting de verwerkingseenheden stuurt, min of meer om-en-om instructies van de ene en de andere thread doorsturen.
Er is wat bijzonders aan de hand met het floating point-gedeelte. Vanwege de twee verwerkingseenheden kunnen twee 128-bit getallen per klokslag verwerkt worden. De twee pipelines kunnen echter ook gecombineerd worden tot één 256-bit verwerkingseenheid. Op die manier heeft AMD de ondersteuning geïmplementeerd voor de nieuwe 256-bit AVX-instructieset, zoals we die ook terugvinden bij de Intel Sandy Bridge-processors.
Keuze
De keuze om Bulldozer op deze manier vorm te geven is gewaagd, maar gefundeerd. Het gros van de instructies die een PC uitvoert maakt gebruik van integer-getallen en op dat vlak is een Bulldozer-module in feite net zo snel als twee gelijkaardige, maar geheel losse cores. Puur voor de minder vaak voorkomende floating point-instructies is er een vertraging. Volgens AMD kan een Bulldozer module gemiddeld zo'n 80% van de prestaties bieden van een theoretische, gelijkwaardige processor met twee volledig losse cores met elk integer- én floating point-verwerking. Het voordeel van de opzet van Bulldozer is dat zo'n module veel kleiner en energiezuiniger is dan twee van die hypothetische volledig losse cores. Vandaar dat AMD ook probleemloos vier modules, oftewel acht cores, in CPU's kan stoppen, die men kan verkopen voor prijzen waarvoor Intel quad-cores aanbiedt.
Het glas is half vol óf half leeg. Critici zeggen dat de toekomstige AMD 8-core CPU's eigenlijk gehandicapt zijn, maar net zo makkelijk kun je stellen dat het eigenlijk quad-cores zijn, met verdubbelde integerprestaties. Of je een AMD FX processor nu wel of niet volmondig een 8-core processor mag noemen is een discussie waar we vermoedelijk nooit uit gaan komen en eigenlijk maakt het ook niks uit: het gaat uiteindelijk om de de combinatie van prestaties, stroomverbruik en prijs. De manier waarop die combinatie wordt bewerkstelligd is feitelijk secundair.
4 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
AMD FX-4100 Boxed
|
Niet verkrijgbaar | |
![]() |
AMD FX-6100 Boxed
|
Niet verkrijgbaar | |
![]() |
AMD FX-8120
|
Niet verkrijgbaar | |
![]() |
AMD FX-8150
|
Niet verkrijgbaar |