Verdere verbeteringen
Naast alles wat samenhangt met 128-bit SSE instructies en de verbeterde geheugencontroller zijn er in de vernieuwde architectuur nog de nodige extra verbeteringen te vinden.
Een belangrijke vernieuwing kennen we ook van Intels Core architectuur. Destijds schreven we dat de Core 2 de eerste processor was die aanroepen voor de caches en het geheugen kan omzetten in een geoptimaliseerde volgorde en zelfs toekomstige lees-acties voor kan laten gaan op schrijf-acties, om zo iedere mogelijke vertraging te voorkomen. Dit load-before-store principe heeft AMD nu ook geïmplementeerd voor Barcelona. De processor houdt zelf bij of een eerder ingegeven maar later uitgevoerde schrijf-actie toevallig een zelfde stuk data overschrijft en maakt in dat geval de eerder ingelezen gegevens ongeldig. Het in een optimalere volgorde uitvoeren van (toekomstige) geheugentaken zorgt ervoor dat instructies in de regel veel minder land op hun data hoeven te wachten. Bij de Core 2 zorgde dit voor een flinke prestatiewinst en we mogen verwachten dat dit ook voor AMD's Barcelona zal gelden.
Verder heeft AMD de branch predictor verder geoptimaliseerd. Een branch predictor voorspelt binnen algoritmes waarin vertakkingen plaatsvinden hoe het programma verder zal verlopen en gaat op basis van die voorspellingen alvast instructies de pipeline insturen. De kwaliteit van de branch predictor heeft een grote invloed op de prestaties van een processor: wanneer er immers een keer een verkeerde vertakking is gekozen, duurt het de nodige klokslagen eer de pipeline weer leeg is en de juiste instructies kunnen worden ingeladen. Het geheugen van de branch predictor is binnen de nieuwe chip flink vergroot en dat betekent dat er meer historische data kan worden onthouden op basis waarvan bij vertakkingen nog betere inschattingen kunnen worden gemaakt. Daarnaast voorspelt de processor nu ook indirecte vertakkingen, een mogelijkheid die Intel eerder al toevoegde aan de eerste generatie Pentium M en later aan de Pentium 4 Prescott en wat bij elk van deze processors voor een flinke prestatiewinst zorgde.
Wat ook zeker niet onvermeld mag blijven is wat AMD noemt de Sideband Stack Optimizer, een apart onderdeel binnen de processor dat stack-operaties een stuk efficiënter kan uitvoeren dan wanneer deze veel gebruikte instructies door de volledige pipeline worden gestuurd. Ook deze technologie is één van de redenen waarom Intels nieuwste processors zo snel zijn: een aparte stack manager is immers al sinds de eerste Pentium M aanwezig in Intels processors.
De lijst verbeteringen is zo nog verre van compleet: zo heeft AMD een tweetal nieuwe instructies toegevoegd waar encryptie software van kan profiteren, terwijl men naar eigen inzicht ook SSE van vier nieuwe instructies heeft voorzien.