AMD Piledriver vs. Steamroller vs. Excavator Leistungsvergleich der Architekturen

Artikel-Index:

2nd Generation: Piledriver

(Auszug/Zusammenfassung aus dem Arti짯kel vom 01.05.2012)

Bei der APU Tri짯ni짯ty wur짯de erst짯mals die 2. Gene짯ra짯ti짯on der Bull짯do짯zer-Archi짯tek짯tur namens Piledri짯ver ein짯ge짯setzt. Vie짯le Ein짯zel짯hei짯ten, wie z.B. der gr철짯횩e짯re TLB, die gr철짯횩e짯ren Sche짯du짯ler-Win짯dows, Befehls짯satz짯er짯wei짯te짯run짯gen wie FMA3 und F16C, zus채tz짯li짯che Wri짯te Buf짯fer f체r den L2, die IDIV-Ein짯heit oder die Auf짯he짯bung des Straf짯zolls f체r 256-Bit-AVX-Befeh짯le waren schon vor짯her durch den AMD Opti짯miza짯ti짯on Gui짯de oder durch eige짯ne Recher짯che bekannt, die durch den aktu짯el짯len Foli짯en짯satz best채짯tigt wur짯den. Das Front-End, in dem die Daten in ein Bull짯do짯zer-Modul ein짯ge짯le짯sen wer짯den, sieht man in fol짯gen짯dem Bild:

Eini짯ge Schwach짯stel짯len, die z.B. durch den Infor짯ma짯tik짯pro짯fes짯sor Agner Fog ange짯mahnt wur짯den, waren damit beho짯ben oder zumin짯dest abge짯mil짯dert. (Eine Zusam짯men짯fas짯sung der Schwach짯stel짯len gab es in unse짯rer alten Mel짯dung: Bull짯do짯zer-Archi짯tek짯tur unter der Lupe: Schwach짯stel짯len iden짯ti짯fi짯ziert).

Eine der Schwach짯stel짯len war das soge짯nann짯te Ins짯truc짯tion Win짯dow gewe짯sen. Das ist ein Paket von x86-Befeh짯len, das von der 쏤etch-Unit geschn체rt wird und dar짯auf war짯tet, durch den Deko짯der in inter짯ne 쨉Ops deko짯diert zu wer짯den. Wie auch beim K10 wer짯den beim Bull짯do짯zer 32 Byte pro Takt aus dem L1-Ins짯truc짯tion-Cache ein짯ge짯le짯sen, aber bei Bull짯do짯zer tei짯len sich die 32 Byte dann eben auf zwei Threads und damit auch auf zwei Ins짯truc짯tion Win짯dows 횪 16 Byte auf. 16 Byte sind f체r AMD des짯halb ein R체ck짯schritt. Aktu짯el짯le Intel-CPUs holen sich pro Takt zwar auch nicht mehr, aller짯dings wird Intels Deko짯der durch den Loop Stream Detec짯tor (seit der Pen짯ryn-Gene짯ra짯ti짯on, ver짯bes짯sert im Neha짯lem) und den gro짯횩en 쨉Op-Puf짯fer (seit San짯dy Bridge) stark ent짯las짯tet. Mit sol짯chen Fines짯sen kann auch Piledri짯ver nicht auf짯war짯ten, aber immer짯hin wird der Fla짯schen짯hals etwas gewei짯tet. Zu guter Letzt darf man nicht ver짯ges짯sen, dass es wei짯ter짯hin nur einen Deko짯der je Modul gibt. Das Maxi짯mum bleibt also bei zwei x86-Instruk짯tio짯nen pro Takt und pro Thread, aber mit einem gr철짯횩e짯rem Ins짯truc짯tion Win짯dow stellt man sicher, dass die짯ses Maxi짯mum 철fter erreicht wer짯den kann.

Zus채tz짯lich gab es im Front-End noch Fein짯tu짯ning an der Sprung짯vor짯her짯sa짯ge-Logik, die짯se kann mehr Ein짯tr채짯ge umfas짯sen, was man auch im Die-Foto erken짯nen kann.