Intel Sandy Bridge architectuur in detail

Inhoudsopgave
  1. 1. Inleiding
  2. 2. MicroOp Cache
  3. 3. Load/store units
  4. 4. Floating point units
  5. 5. Geïntegreerde GPU
  6. 6. Stroomverbruik en Turbo modus

Floating point units

Ook bij de floating point execution units, ofwel de verwerkingseenheden die rekenen met gebroken getallen, zijn er flinke verbeteringen doorgevoerd. In deel 1 van onze preview schreven we al over de nieuwe AVX-instructieset waar Sandy Bridge mee werkt. Dankzij AVX kan de processor direct werken met getallen bestaande uit 256-bits. Bij de huidige Intel processors kan de verwerking van data met maximaal 128-bits tegelijk.

In onderstaande afbeelding zien we de opbouw van de execution units bij de huidige Nehalem en Westmere processors. We zien een vijftiental execution units, waarvan er telkens drie gelijktijdig door de scheduler kunnen worden aangestuurd, via iedere poort één. In de tweede afbeelding zien we de opbouw bij Sandy Bridge. Nog steeds kunnen telkens drie instructies per keer naar de executions units worden afgevuurd, maar de executions units zijn alle een stuk krachtiger geworden.


Niet geheugen gerelateerde execution units bij Nehalem en Westmere.


Niet-geheugen-gerelateerde execution units bij Sandy Bridge.

Allereerst zien we dat telkens twee execution units kunnen samenwerken om 256-bit getallen in één keer te kunnen verwerken. Waar vanuit iedere poort tot nu toe maximaal een 128-bit getal verwerkt kon worden, kunnen dankzij AVX nu vanuit iedere poort telkens 256-bit getallen verwerkt worden. Dat betekent per definitie dat bij AVX-geoptimaliseerde software er een prestatiewinst van in theorie een factor twee mogelijk is. Om dit mogelijk te maken heeft Intel een aantal executions units die tot nu toe alleen met gehele getallen (integers) konden werken nu ook opgewaardeerd naar floating point. Deze execution units kunnen echter ook nog steeds los, in hun oorspronkelijke modus gebruikt worden.

Uiteindelijk ziet de volledige CPU pipeline er als volgt uit:

Advertentie
0