AW: AMDs Zen: Neue Architekturdetails sprechen für deutlich höhere Integer-Leistung
ich kenne das design, deswegen finde ich den unsinn von den unechten kernen auch so schlimm!
aber wie ich es mir dachte, niemand kann es begründen...
Keine Ahnung, ob es eine global anerkannte Definition eines CPU-Kerns gibt, aber grob betrachtet wird das immer auf Fetch, Decode und Execute heruntergebrochen.
Indem Fall kann ein Bulldozer-Integer-Core nicht selbstständig und unabhängig operieren.
So gesehen wäre ein Bulldozer ein 4-Kern Prozessor.
Die Betrachtung ist aber grob und das meiste Zeug was grob ist, hat keine ausschlaggebende Bedeutung.
Wenn man eine einfache Fetch-Einheit, einen billigen Decoder und eine billige Integer-Pipe + FPU verwendet und 16 davon durch einen Interconnect kommunizieren lässt, hat man einen "echten" 16-Kerner, der einen Haufen Mist leistet, aber sicherlich nichts anständiges.
Da man keine seriösen Vergleiche aufgrund eines "Kerns" machen kann, hat es für die Praxis keine Bedeutung.
Die Philosophen werden sich vermutlich nie einigen.
Die Bulldozer-Ableger haben in Anwendungen mit wenigen leistungshungrigen Threads sogar eine sehr ausgeprägte Integer-Schwachstelle. Mit nur zwei ALUs pro Kern und Thread befindet man sich hier auf dem Niveau von Low-End-CPUs wie den hauseigenen Jaguaren oder Intels Atom-Architekturen. Bei Oberklasse-Desktop-CPUs gab es das sonst zuletzt beim Pentium 4.
Ich habe keine Quelle, habe es nur gehört von Opteron von Planet3DNow!, dass eine dritte Integer-Pipe im Schnitt nur 5% mehr IPC bringen soll.
Was man da als Ausgangspunkt nimmt, weiß ich nicht, aber grundlegend falsch hört es sich nicht an.
Haswell hat mehr Ports und eine vierte Integer-Pipe spendiert bekommen und das Resultat war praktisch 0.
Entsprechend denke ich auch, dass eine dritte Integer-Pipe nicht vollständig von den meisten Threads ausgelastet wird.
Dann kann man sich selbst aus Hochleistungssicht die Frage stellen, ob sich eine dritte Pipe lohnt?
Bulldozers Konzept war entsprechend zwei schmale Integer-Cores mit jeweils einem Thread und zugesicherten Ressourcen.
Bei Intel ist es ein fetter Integer-Core, welcher dann mit bis zwei Threads gefüttert wird, wo dann entsprechend auch alle möglichen Konflikte gelöst werden müssen.
Keine Ahnung welches Konzept von den logischen und physikalischen Gesetzen unter optimaler Umsetzung überlegen wäre.
Grob von der Idee findet man Argumente für beides.
Interessant finde ich aber, dass AMD nicht an weiteren mutmaßlichen Schwachstellen arbeitet. Die L1-Caches gelten auch als sehr klein, bleiben aber unverändert. Auch der Decoder wird nicht verbreitert und ausgeprägte Vorhaltestrategien für bereits dekodierte Befehle (wie bei Intel) fehlen ebenfalls im Diagramm.
Auf den ersten Blick würde ich sagen:
Zen ist ein Excavator-Modul, bei dem der erste Kern vier statt zwei ALUs erhält und der zweite Kern komplett fehlt.
Bulldozer-Steamroller hatte einen L1D$ der gerade mal 16KB fasste und 4-Way angebunden war.
Erst mit Excavator hat man das auf 32KB verdoppelt und damit trotzt reduzierten L2$ die IPC behalten oder gar erhöht.
Intel hat schließlich auch keinen größeren.
Ich selber würde auf den ersten Blick sagen, Zen ist ein doppelt so breiter Jaguar-Kern, garniert mit SMT.
