AMD Piledriver vs. Steamroller vs. Excavator — Leistungsvergleich der Architekturen

Artikel-Index:

Die Bulldozer-Architektur

(Auszug/Zusammenfassung aus dem Arti­kel vom 12.10.2011)

Vor­aus­schi­cken möch­ten wir aber ein paar tech­ni­sche Hin­ter­grün­de dazu, wor­über wir hier eigent­lich spre­chen: die Bull­do­zer-Archi­tek­tur. Bereits 2005 gab es Aus­sa­gen von AMDs dama­li­gem CTO Fred Weber, wel­cher über die Rich­tun­gen für zukünf­ti­ge Ent­wick­lun­gen sprach. Die­se Punk­te wur­den dabei von ihm hervorgehoben:

  • Bevor­zu­gung von Thread Level Par­al­le­lism (TLP) statt Ins­truc­tion Level Par­al­le­lism (ILP), also höhe­re Per­for­mance durch mehr Threads anstel­le von höhe­rer Single-Thread-Leistung
  • Kom­bi­na­ti­on von Befeh­len (wie bei Intels MicroOp-Fusi­on, von Weber „Ins­truc­tion Com­bi­ning“ genannt)
  • Höhe­re Takt­fre­quen­zen für höhe­re Single-Thread-Leistung
  • Nied­ri­ge­re Speicherzugriffslatenzen
  • Nied­ri­ge­re Sprung­vor­her­sa­ge­la­tenz und deut­lich bes­se­re Sprungvorhersage
  • Geteil­te Nut­zung von Ein­hei­ten wie die FPU durch zwei Ker­ne zu deren bes­se­ren Aus­las­tung und damit erhöh­ter Energieeffizienz
  • Hel­per-Threads, wel­che bald benö­tig­te Daten vor­ab in die Caches laden

Von die­sen Punk­ten wur­de bis auf die Hel­per-Threads alles so im Bull­do­zer verwirklicht.

Schließ­lich gab es eben­falls 2005 einen Hin­weis von AMDs CTO Charles R. Moo­re, einem wei­te­ren wich­ti­gen Mann hin­ter der Bull­do­zer-Archi­tek­tur. Die­ser lie­fer­te schon damals in einer Folie Argu­men­te für ein ent­spre­chen­des Archi­tek­tur­kon­zept — dem “Clus­ter-based Mul­ti­th­re­a­ding” oder kurz CMT. Dem­nach soll­te für die Aus­füh­rung von zwei Threads — pas­send zu Fred Webers Aus­sa­gen — ein Teil der Ein­hei­ten eines Pro­zes­sor­kerns ver­dop­pelt und der Rest gemein­sam von den Threads genutzt werden:

Nach die­sen ers­ten eher vagen Andeu­tun­gen tauch­ten erst­mals 2008 in Paten­ten Archi­tek­tur­bil­der auf, wel­che den grund­sätz­li­chen Auf­bau eines Bull­do­zer-Moduls darstellten:

Inter­es­sant hier­bei ist die Bezeich­nung des Moduls als “Core”, wäh­rend die jet­zi­gen “Inte­ger Cores” den in den Paten­ten beschrie­be­nen “Inte­ger Clus­tern” ent­spre­chen. Wie man das aber genau nennt, ist eine Fra­ge der Defi­ni­ti­on. Aber da hat selbst Fred Weber schon 2005 von zwei Ker­nen gespro­chen, die sich eine FPU tei­len. Somit ist die­se Dar­stel­lung nicht erst eine Erfin­dung des Mar­ke­tings aus den letz­ten Jahren.

In der fol­gen­den Folie ist zu sehen, wie es dar­ge­stellt wur­de, als Bull­do­zer 2011 auf den Markt kam: