{"id":26077,"date":"2016-09-08T08:02:50","date_gmt":"2016-09-08T06:02:50","guid":{"rendered":"http:\/\/www.planet3dnow.de\/cms\/?p=26077"},"modified":"2016-11-06T16:05:13","modified_gmt":"2016-11-06T15:05:13","slug":"details-und-analyse-der-zen-architektur-nach-der-hot-chips-konferenz","status":"publish","type":"post","link":"https:\/\/www.planet3dnow.de\/cms\/26077-details-und-analyse-der-zen-architektur-nach-der-hot-chips-konferenz\/","title":{"rendered":"Details und Analyse der Zen-Architektur nach der Hot-Chips-Konferenz"},"content":{"rendered":"<!--nextpage-->\n<p><a href=\"http:\/\/www.planet3dnow.de\/cms\/26106-amd-praesentiert-zen-architektur\/\" target=\"_blank\">Nach der Ent\u00adh\u00fcl\u00adlung einer gro\u00adben Dar\u00adstel\u00adlung des Zen-Designs<\/a> durch AMDs <span class=\"caps\">CEO<\/span> Lisa Su vor zwei Wochen gab es letz\u00adte Woche auf der Tech\u00adno\u00adlo\u00adgie-Tagung Hot Chips genaue\u00adre Details zur Umset\u00adzung aller Ma\u00df\u00adnah\u00admen. Die\u00adse haben wir uns genau\u00ader ange\u00adschaut, um erfah\u00adren zu k\u00f6n\u00adnen, wie <span class=\"caps\">AMD<\/span> eine Ver\u00adbes\u00adse\u00adrung der Sin\u00adgle-Thread-Leis\u00adtung um 40&nbsp;% gegen\u00ad\u00fcber den Excava\u00adtor-Ker\u00adnen errei\u00adchen&nbsp;will.<\/p>\n<p>Die\u00adser Arti\u00adkel ist Teil 2 zu Zen,&nbsp;in dem die Fein\u00adhei\u00adten der Archi\u00adtek\u00adtur beleuch\u00adtet wer\u00adden, wie sie von <span class=\"caps\">AMD<\/span> pr\u00e4\u00adsen\u00adtiert wur\u00adden. Zuerst woll\u00adten wir gleich\u00adzei\u00adtig eine Ana\u00adly\u00adse und einen Ver\u00adgleich unter\u00adbrin\u00adgen, aller\u00addings ben\u00f6\u00adti\u00adgen wir dazu noch eini\u00adge Ant\u00adwor\u00adten von <span class=\"caps\">AMD<\/span>. Des\u00adhalb haben wir die The\u00admen auf\u00adge\u00adteilt. Wei\u00adte\u00adre Details wird es des\u00adhalb erst im drit\u00adten Teil&nbsp;geben.<\/p>\n<p>Ein Hin\u00adweis vor\u00adab: Um die Unter\u00adschie\u00adde zwi\u00adschen \u00b5Ops im Pro\u00adzes\u00adsor\u00adfront\u00adend (nach den Deko\u00addern, vor den Rechen\u00adwer\u00adken) und inner\u00adhalb der Rechen\u00adwer\u00adke bes\u00adser ver\u00admit\u00adteln zu k\u00f6n\u00adnen, unter\u00adschei\u00adden wir zwi\u00adschen MOps (\u00b5Op im Front-End) und \u00b5Ops (\u00b5Op in den Rechenwerken).<\/p>\n<p>Wir w\u00fcn\u00adschen Euch viel Spa\u00df beim Lesen des zwei\u00adten&nbsp;Teils.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>AMDs Trieb\u00adfe\u00adder f\u00fcr die neue Zen-Archi\u00adtek\u00adtur war das Ver\u00adlan\u00adgen, eine ein\u00adzi\u00adge Mikro\u00adar\u00adchi\u00adtek\u00adtur als Erbe f\u00fcr die vor\u00adhan\u00adde\u00adnen \u201cCats\u201d- und \u201cBulldozer\u201d-Linien zu erschaffen:<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_0_placeholder<\/p>\n<p>Kein leich\u00adtes Unter\u00adfan\u00adgen, muss so doch am Schluss \u201cnur\u201d ein strom\u00adspa\u00adren\u00adder Hoch\u00adleis\u00adtungs\u00adpro\u00adzes\u00adsor her\u00adaus\u00adkom\u00admen. Sicher\u00adlich leicht gesagt, aber auch getan? Schlie\u00df\u00adlich ent\u00adstan\u00adden die Vor\u00adg\u00e4n\u00adger\u00adge\u00adne\u00adra\u00adtio\u00adnen aus dem Ver\u00adlan\u00adgen, kei\u00adne Durch\u00adschnitts\u00adar\u00adchi\u00adtek\u00adtur, son\u00addern je eine spe\u00adzi\u00adel\u00adle Hoch\u00adleis\u00adtungs- und Stromspar\u00adar\u00adchi\u00adtek\u00adtur anbie\u00adten zu k\u00f6nnen.<\/p>\n<p>Genau\u00ader gew\u00e4hr\u00adte <span class=\"caps\">AMD<\/span> einen \u00dcber\u00adblick \u00fcber die drei gro\u00ad\u00dfen Fel\u00adder, die Zen bestimmen:<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_1_placeholder<\/p>\n<p>Kern\u00adpunk\u00adte waren also eine bes\u00adse\u00adre Kern\u00adar\u00adchi\u00adtek\u00adtur, ein bes\u00adse\u00adres Cache\u00adsys\u00adtem sowie gerin\u00adge\u00adrer Ener\u00adgie\u00adbe\u00addarf, was wir auf den fol\u00adgen\u00adden Sei\u00adten genau\u00ader betrach\u00adten wollen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Als ers\u00adtes f\u00e4llt auf, dass <span class=\"caps\">AMD<\/span> \u00fcber\u00adall mehr inves\u00adtiert. Neben neu\u00aden Kern\u00adele\u00admen\u00adten wie dem ener\u00adgie\u00adspa\u00adren\u00adden Stack-Cache oder dem \u00b5Op-Cache gibt es zahl\u00adrei\u00adche bekann\u00adte Rechen\u00adwer\u00adke (8 an der Zahl plus 2 Adress\u00adge\u00adnerie\u00adrungs\u00adein\u00adhei\u00adten), zu denen sich beson\u00adders tie\u00adfe Puf\u00adfer gesellen:<\/p>\n<ul>\n<li>Instruk\u00adti\u00adons\u00adsche\u00addu\u00adler:\n<ul>\n<li>Inte\u00adger: 84 (48 bei Bull\u00addo\u00adzer: \u201c<span class=\"caps\">BD<\/span>\u201d)<\/li>\n<li><span class=\"caps\">FP<\/span>: 96 (60 bei&nbsp;<span class=\"caps\">BD<\/span>)<\/li>\n<\/ul>\n<\/li>\n<li>gr\u00f6\u00ad\u00dfe\u00adre Reti\u00adre-Band\u00adbrei\u00adte: 8 \u00b5Ops pro Takt anstatt 4 \u00b5Ops (<span class=\"caps\">BD<\/span>)<\/li>\n<li>gr\u00f6\u00ad\u00dfe\u00adre Reti\u00adre-Puf\u00adfer: 192 statt 128 Ein\u00adtr\u00e4\u00adge (<span class=\"caps\">BD<\/span>)<\/li>\n<li>gr\u00f6\u00ad\u00dfe\u00adrer Lade\u00adpuf\u00adfer: 72 statt 44 Ein\u00adtr\u00e4\u00adge (<span class=\"caps\">BD<\/span>)<\/li>\n<li>gr\u00f6\u00ad\u00dfe\u00adrer Spei\u00adcher\u00adpuf\u00adfer: 44 statt 32 Ein\u00adtr\u00e4\u00adge (<span class=\"caps\">BD<\/span>)<\/li>\n<\/ul>\n<p>Die Z\u00e4hl\u00adwei\u00adse bei den Inte\u00adger\u00adsche\u00addu\u00adlern ist etwas opti\u00admis\u00adtisch. Genaue\u00adres folgt in der Detail\u00adbe\u00adtrach\u00adtung des Integer-Rechenwerkes.<\/p>\n<p>Auf\u00adfal\u00adlend ist die Erwei\u00adte\u00adrung der Reti\u00adre-M\u00f6g\u00adlich\u00adkei\u00adten, deren Umfang gleich ver\u00addop\u00adpelt wur\u00adde. In die\u00adsem letz\u00adten Schritt wer\u00adden alle aus\u00adge\u00adf\u00fchr\u00adten Befeh\u00adle gesam\u00admelt, wie\u00adder in die rich\u00adti\u00adge Befehls\u00adrei\u00adhen\u00adfol\u00adge gebracht und abge\u00adschlos\u00adsen. Alle Knif\u00adfe wie die Aus\u00adf\u00fch\u00adrung au\u00dfer\u00adhalb der Befehls\u00adrei\u00adhen\u00adfol\u00adge (Out-of-Order-Exe\u00adcu\u00adti\u00adon ali\u00adas OoO) wer\u00adden also r\u00fcck\u00adg\u00e4n\u00adgig gemacht. <span class=\"caps\">AMD<\/span> gibt an, dass Bull\u00addo\u00adzer hier einen Fla\u00adschen\u00adhals auf\u00adwies. Vier Befeh\u00adle pro Takt waren zu wenig, da in die\u00adsem fina\u00adlen Schritt nicht nur OoO, son\u00addern auch Tricks wie Macro-Op-Fusi\u00adon oder Move-Eli\u00admi\u00adna\u00adti\u00adon r\u00fcck\u00adg\u00e4n\u00adgig gemacht wer\u00adden m\u00fcs\u00adsen. Bei Zen gibt es jetzt 8 Reti\u00adre\u00adment-M\u00f6g\u00adlich\u00adkei\u00adten pro Takt, die\u00adse d\u00fcrf\u00adten in jedem Fall \u2013 auch noch f\u00fcr 2 Threads \u2013 aus\u00adrei\u00adchend&nbsp;sein.<\/p>\n<p>Zwei\u00adter Punkt in AMDs \u00dcber\u00adsicht ist das Cache\u00adsys\u00adtem, wel\u00adches wir auf den n\u00e4chs\u00adten Sei\u00adten vor\u00adstel\u00adlen m\u00f6chten.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Zual\u00adler\u00aderst sieht man auf AMDs \u00dcber\u00adsicht auf der vor\u00adher\u00adge\u00adhen\u00adden Sei\u00adte, dass wie\u00adder\u00adum ver\u00adbrei\u00adtert und ver\u00adbes\u00adsert&nbsp;wurde:<\/p>\n<ul>\n<ul>\n<li>Wri\u00adte-Back-L1-Cache<\/li>\n<li>schnel\u00adle\u00adrer L2-Cache<\/li>\n<li>schnel\u00adle\u00adrer L3-Cache<\/li>\n<li>schnel\u00adle\u00adres Laden in die <span class=\"caps\">FPU<\/span>: 7 statt 9 Zyklen<\/li>\n<li>bes\u00adse\u00adre <span class=\"caps\">L1-<\/span> and L2-Daten-Prefetcher<\/li>\n<li>fast dop\u00adpel\u00adte <span class=\"caps\">L1-<\/span> und L2-Bandbreite<\/li>\n<li>fast ver\u00adf\u00fcnf\u00adfach\u00adte L3-Gesamtbandbreite<\/li>\n<\/ul>\n<\/ul>\n<p>Zun\u00e4chst springt ins Auge, dass <span class=\"caps\">AMD<\/span> zu einem L1-Cache\u00adde\u00adsign zur\u00fcck\u00adge\u00adkehrt ist, wie es fr\u00fc\u00adher \u00fcblich war: Berech\u00adne\u00adte Daten wer\u00adden nur in den L1-Cache zur\u00fcck\u00adge\u00adschrie\u00adben (wri\u00adte back), ohne die h\u00f6he\u00adren Cache-Ebe\u00adnen zu stra\u00adpa\u00adzie\u00adren. Grund hier\u00adf\u00fcr war Mike Clark zufol\u00adge vor allem der Strom\u00adver\u00adbrauch. Zwar l\u00e4sst ein Wri\u00adte-Through-Cache wie bei Bull\u00addo\u00adzer h\u00f6he\u00adre Takt\u00adra\u00adten zu, aller\u00addings muss man die Daten auch direkt in den L2-Cache schrei\u00adben, was ener\u00adgie\u00adauf\u00adw\u00e4n\u00addig ist. Will man also kei\u00adne CPUs mit einer <span class=\"caps\">TDP<\/span> um 220 Watt mehr kon\u00adstru\u00adie\u00adren, ist Wri\u00adte-Back die ein\u00adzig sinn\u00advol\u00adle Variante.<\/p>\n<p>Die L1-Caches sind 32 KiB (Daten) sowie 64 KiB (Instruk\u00adtio\u00adnen) gro\u00df und wer\u00adden von 512 KiB <span class=\"caps\">L2<\/span> sowie 8 MiB <span class=\"caps\">L3<\/span> unter\u00adst\u00fctzt. <a href=\"http:\/\/www.planet3dnow.de\/cms\/26106-amd-praesentiert-zen-architektur\/\" target=\"_blank\">Dies war schon seit letz\u00adter Woche bekannt:<\/a><\/p>\n<p style=\"text-align: center;\">ngg_shortcode_2_placeholder<\/p>\n<p>Inter\u00ades\u00adsant wird es nun bei den Details. Die Latenz die\u00adser Wri\u00adte-Back-Caches, wie einer als L1-Daten\u00adcache dient, betr\u00e4gt gem\u00e4\u00df <span class=\"caps\">AMD<\/span> vier Tak\u00adte. Bzgl. der <span class=\"caps\">L2-<\/span> wie L3-Cache\u00adla\u00adten\u00adzen bleibt <span class=\"caps\">AMD<\/span> uns lei\u00adder genaue\u00adre Anga\u00adben schul\u00addig und gibt nur die unschar\u00adfe Infor\u00adma\u00adti\u00adon preis, dass die\u00adse \u201cschnel\u00adler\u201d&nbsp;w\u00e4ren.<\/p>\n<p>Pi mal Dau\u00admen und mit der auf\u00adge\u00adsetz\u00adten dun\u00adkel\u00adgr\u00fc\u00adnen Bril\u00adle opti\u00admis\u00adtisch gesch\u00e4tzt, d\u00fcrf\u00adten sich die Laten\u00adzen bei weni\u00adger als 15 Tak\u00adten (<span class=\"caps\">L2<\/span>) und etwas \u00fcber 30 Tak\u00adten (<span class=\"caps\">L3<\/span>) bewe\u00adgen. Letz\u00adte\u00adrer wird wie Bull\u00addo\u00adzer in einer geson\u00adder\u00adten Takt\u00addo\u00adm\u00e4\u00adne betrie\u00adben, sodass die Laten\u00adzen, die in Kern\u00adtak\u00adten gerech\u00adnet wer\u00adden, ent\u00adspre\u00adchend schlech\u00adter aus\u00adfal\u00adlen k\u00f6n\u00adnen. Dies war bei Bull\u00addo\u00adzer \u00e4hn\u00adlich und selbst Intel wen\u00addet die glei\u00adche Tech\u00adnik seit der Sky\u00adla\u00adke-Archi\u00adtek\u00adtur an. Des\u00adsen L3-Laten\u00adzen betra\u00adgen im schlimms\u00adten Fall sogar \u00fcber 40 Tak\u00adte. Da <span class=\"caps\">AMD<\/span> jedoch das simp\u00adle\u00adre Cache-Design (kein Ring\u00adbus) ver\u00adwen\u00addet, soll\u00adte am Ende ein klei\u00adner Vor\u00adteil f\u00fcr <span class=\"caps\">AMD<\/span> \u00fcbrig bleiben.<\/p>\n<p>Die Zugriffs\u00adzei\u00adten von Zens L3-Caches unter\u00adschei\u00adden sich Clark zufol\u00adge je nach Cache\u00adseg\u00adment und anfra\u00adgen\u00addem Kern, da der <span class=\"caps\">L3<\/span> aus acht Tei\u00adlen zu je einem MiB auf\u00adge\u00adbaut ist. Nahe gele\u00adge\u00adne L3-Seg\u00admen\u00adte eines Kerns lie\u00adfern die Daten natur\u00adge\u00adm\u00e4\u00df etwas schnel\u00adler als wei\u00adter ent\u00adfern\u00adte. Der Unter\u00adschied d\u00fcrf\u00adte hier\u00adbei nur weni\u00adge Tak\u00adte betra\u00adgen. Den Auf\u00adbau eines Zen-Quad-Moduls kann man auf dem n\u00e4chs\u00adten Bild begutachten:<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_3_placeholderMan erkennt deut\u00adlich die acht 1\u2011Me\u00adga\u00adbyte-Bl\u00f6\u00adcke des <span class=\"caps\">L3<\/span>, die jeweils von 512 KiB <span class=\"caps\">L2<\/span> pro Kern flan\u00adkiert werden.<\/p>\n<p><span class=\"caps\">AMD<\/span> wird die\u00adsen Quad-Modul-Kern\u00adbau\u00adplan f\u00fcr alle im Moment ange\u00adk\u00fcn\u00addig\u00adten Chips bei\u00adbe\u00adhal\u00adten. Das bedeu\u00adtet also, dass ers\u00adtens die 8\u2011Kern-Ver\u00adsi\u00adon \u201cSum\u00admit Ridge\u201d \u00fcber 2x 8 MiB = 16 L3-Cache ver\u00adf\u00fc\u00adgen wird und zwei\u00adtens auch die Zen-APUs mit GPU-Teil und nur einem Zen-Quad-Modul erst\u00admals eben\u00adfalls \u00fcber einen L3-Cache ver\u00adf\u00fc\u00adgen werden.<br>\nEnt\u00adge\u00adgen anders\u00adlau\u00adten\u00adder Ger\u00fcch\u00adte setzt <span class=\"caps\">AMD<\/span> beim Cache-Auf\u00adbau wei\u00adter\u00adhin auf exklu\u00adsi\u00adve L3-Caches nach der \u201cVic\u00adtim Stra\u00adtegy\u201d. Das hei\u00dft, dass Daten in der Regel ent\u00adwe\u00adder direkt in den <span class=\"caps\">L1-<\/span> oder in den L2-Cache gela\u00adden wer\u00adden: Fal\u00adlen Daten aus dem <span class=\"caps\">L2<\/span> her\u00adaus, lan\u00adden die\u00adse \u201cOpfer\u201d (vic\u00adtims) im <span class=\"caps\">L3<\/span>. Bei Intel-Designs lie\u00adgen L2-Daten dage\u00adgen auto\u00adma\u00adtisch immer als Kopie auch im <span class=\"caps\">L3<\/span>, was einer\u00adseits die effek\u00adti\u00adve L3-Cache\u00adgr\u00f6\u00ad\u00dfe und damit indi\u00adrekt auch die L2-Gr\u00f6\u00ad\u00dfe begrenzt, ande\u00adrer\u00adseits die Kern-zu-Kern-Kom\u00admu\u00adni\u00adka\u00adti\u00adon vereinfacht.<\/p>\n<p>Cache-Orga\u00adni\u00adsa\u00adti\u00adon und \u2011Auf\u00adbau gehen somit Hand in Hand. Weil <span class=\"caps\">AMD<\/span> kein inklu\u00adsi\u00adves Cache\u00adde\u00adsign w\u00e4hl\u00adte, ein Daten\u00adaus\u00adtausch \u00fcber den <span class=\"caps\">L3<\/span> also ohe\u00adhin fast unm\u00f6g\u00adlich ist, ben\u00f6\u00adtigt man auch kei\u00adnen ein\u00adzel\u00adnen gemein\u00adsa\u00admen L3-Cache, son\u00addern kann sich mit simp\u00adlen 8\u2011MiB-Modu\u00adlen begn\u00fc\u00adgen. Ins\u00adbe\u00adson\u00adde\u00adre bei Ser\u00adver\u00adchips mit vie\u00adlen Ker\u00adnen und noch mehr Cache, wird die Cache\u00ador\u00adga\u00adni\u00adsa\u00adti\u00adon zum Pro\u00adblem. <span class=\"caps\">AMD<\/span> setzt bei den Ser\u00adver\u00adchips aber auch auf einen bew\u00e4hr\u00adten MCM-Ansatz, mit dem von vor\u00adne her\u00adein kei\u00adne gemein\u00adsa\u00admen L3-Caches m\u00f6g\u00adlich w\u00e4ren. Somit ist die Design\u00adent\u00adschei\u00addung ins\u00adge\u00adsamt nach\u00advoll\u00adzieh\u00adbar und schl\u00fcs\u00adsig. Als Spei\u00adcher\u00admo\u00addell fin\u00addet die bew\u00e4hr\u00adte und schon von <span class=\"caps\">K8<\/span>\/<span class=\"caps\">K10<\/span> bekann\u00adte MOE\u00adSI-Stra\u00adte\u00adgie Anwendung.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Die Caches f\u00fct\u00adtern nat\u00fcr\u00adlich die Aus\u00adf\u00fch\u00adrungs\u00adein\u00adhei\u00adten mit Daten. Bevor Letz\u00adte\u00adre aber in die Regis\u00adter gela\u00adden oder geschrie\u00adben wer\u00adden, m\u00fcs\u00adsen sie erst die Load-\/Sto\u00adre-Ein\u00adhei\u00adten pas\u00adsie\u00adren. Deren Auf\u00adbau sehen wir auf dem n\u00e4chs\u00adten Bild, unten mit\u00adtig ist der 32 KiB gro\u00ad\u00dfe L1-Daten\u00adcache positioniert:<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_4_placeholder<\/p>\n<p>Wie im gan\u00adzen Kern \u00fcblich wird auch die\u00adser Vor\u00adgang durch gro\u00df\u00adz\u00fc\u00adgi\u00adge War\u00adte\u00adschlan\u00adgen abge\u00adpuf\u00adfert, um Leer\u00adl\u00e4u\u00adfe zu ver\u00admei\u00adden und einen guten Durch\u00adsatz errei\u00adchen zu k\u00f6n\u00adnen. In die\u00adsem Fal\u00adle gibt es eine Lade- und eine Spei\u00adcher\u00adwar\u00adte\u00adschlan\u00adge. Ers\u00adte\u00adre ver\u00adf\u00fcgt \u00fcber 72 War\u00adte\u00adpl\u00e4tz\u00adte, letz\u00adte\u00adre \u00fcber 44. Die Lade- und Spei\u00adcher\u00adschlan\u00adge sind \u00fcber drei 128-Bit-Ports f\u00fcr zwei Lade- und eine Schrei\u00adb\u00adope\u00adra\u00adti\u00adon an den L1D-Cache ange\u00adbun\u00adden. Sowohl die Anzahl der War\u00adte\u00adpl\u00e4t\u00adze als auch die asym\u00adme\u00adtri\u00adsche Auf\u00adtei\u00adlung liegt dar\u00adin begr\u00fcn\u00addet, dass in den aller\u00admeis\u00adten F\u00e4l\u00adlen Rech\u00adnun\u00adgen nach dem Sche\u00adma A + B = C berech\u00adnet wer\u00adden, wof\u00fcr eben zwei Lade\u00advor\u00adg\u00e4n\u00adge plus ein Spei\u00adcher\u00advor\u00adgang n\u00f6tig sind. Aus\u00adnah\u00admen k\u00f6n\u00adnen \u00fcber Berech\u00adnun\u00adgen au\u00dfer\u00adhalb der Befehls\u00adrei\u00adhen\u00adfol\u00adge (OoO) und durch die vor\u00adhan\u00adde\u00adnen Puf\u00adfer abge\u00adfan\u00adgen werden.<\/p>\n<p>Flan\u00adkiert wird die Spei\u00adcher\u00adein\u00adheit von einem bereits von Bull\u00addo\u00adzer bekann\u00adten Schreibe-<span class=\"amp\">&amp;<\/span>-Kombiniere-Puffer (Wri\u00adte-Com\u00adbi\u00adne-Buf\u00adfer (<span class=\"caps\">WCB<\/span>)), der Schrei\u00adb\u00adope\u00adra\u00adtio\u00adnen zuerst sam\u00admelt, zusam\u00admen\u00adf\u00fcgt und erst dann schreibt, und dem <span class=\"caps\">MAB<\/span>, einem Puf\u00adfer f\u00fcr Speicheradressen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Um die bereits gezeig\u00adten Res\u00adsour\u00adcen f\u00fcr Aus\u00adf\u00fch\u00adrung und Daten\u00adhal\u00adtung nicht ver\u00adhun\u00adgern zu las\u00adsen, hat <span class=\"caps\">AMD<\/span> auch das soge\u00adnann\u00adte Exe\u00adcu\u00adti\u00adon Front End, also die Befehls\u00adver\u00adsor\u00adgung, gegen\u00ad\u00fcber Excava\u00adtor ausgebaut.<\/p>\n<p>Das beginnt mit in drei Ebe\u00adnen vor\u00adhan\u00adde\u00adnen gro\u00ad\u00dfen Adress\u00ad\u00fcber\u00adset\u00adzungs-Spick\u00adzet\u00adteln (Trans\u00adla\u00adti\u00adon Loo\u00adka\u00ads\u00adi\u00adde Buf\u00adfers oder TLBs), die sowohl schnell als auch in die\u00adser Kom\u00adbi\u00adna\u00adti\u00adon ener\u00adgie\u00adspa\u00adrend sind. Dort wer\u00adden ein\u00admal die \u00dcber\u00adset\u00adzun\u00adgen von vir\u00adtu\u00adel\u00adlen in phy\u00adsi\u00adka\u00adli\u00adsche Adres\u00adsen von Spei\u00adcher\u00adbl\u00f6\u00adcken mit Pro\u00adgramm\u00adcode f\u00fcr den Schnell\u00adzu\u00adgriff vor\u00adge\u00adhal\u00adten. Treue Leser wer\u00adden sich an die <a href=\"http:\/\/www.planet3dnow.de\/vbulletin\/threads\/408737-AMD-FX-Vishera\">TLB-Pro\u00adble\u00adme der ers\u00adten Bull\u00addo\u00adzer\u00adver\u00adsi\u00adon und deren Ver\u00adbes\u00adse\u00adrun\u00adgen ab Vis\u00adhe\u00adra erin\u00adnern<\/a>.<\/p>\n<p>Eben\u00adso erw\u00e4h\u00adnens\u00adwert ist der Hash Per\u00adcep\u00adtron Pre\u00addic\u00adtor, also eine Sprung\u00advor\u00adher\u00adsa\u00adge-Ein\u00adheit, die mit Hil\u00adfe eines neu\u00adro\u00adna\u00adlen Net\u00adzes das Sprung\u00adver\u00adhal\u00adten im aus\u00adge\u00adf\u00fchr\u00adten Pro\u00adgramm\u00adcode lernt und vor\u00adher\u00adsagt. Das hat\u00adten auch schon die Cat-Ker\u00adne und sp\u00e4\u00adte\u00adre Ker\u00adne der Bull\u00addo\u00adzer-Rei\u00adhe. Bei Zen wird gibt es jedoch die Neue\u00adrung, dass das mit Hash\u00ades ver\u00adkn\u00fcpft wird, um die Leis\u00adtung noch zu stei\u00adgern. Dabei bestimmt nicht allein die aktu\u00adel\u00adle Posi\u00adti\u00adon im Pro\u00adgramm\u00adcode, wel\u00adches Per\u00adcep\u00adtron zust\u00e4n\u00addig ist, son\u00addern es wird aus der Adres\u00adse und deren bis\u00adhe\u00adri\u00adgen Sprung\u00adhis\u00adto\u00adrie ein Hash berech\u00adnet. Das erh\u00f6ht die Tref\u00adfer\u00adquo\u00adte nochmals.<\/p>\n<p>Der 32 Ein\u00adtr\u00e4\u00adge gro\u00ad\u00dfe Return Stack Puf\u00adfer ist wich\u00adtig f\u00fcr die immer tie\u00adfer ver\u00adschach\u00adtel\u00adten Auf\u00adru\u00adfe heu\u00adti\u00adger Soft\u00adware und Betriebs\u00adsys\u00adte\u00adme. Das&nbsp;Indi\u00adrect Tar\u00adget Array unter\u00adst\u00fctzt dage\u00adgen z. B. bei vir\u00adtu\u00adel\u00adlen Funk\u00adti\u00adons\u00adauf\u00adru\u00adfen oder Sprung\u00adta\u00adbel\u00adlen in Switch-Case-Anwei\u00adsun\u00adgen (f\u00fcr die Pro\u00adgram\u00admie\u00adrer unter&nbsp;uns).<\/p>\n<p>Der mit 64&nbsp;KiB (4\u2011wegig) aus\u00adrei\u00adchend dimen\u00adsio\u00adnier\u00adte Level-1-Befehls\u00adcache soll\u00adte auch mit zwei Threads im SMT-Betrieb nicht so schnell Eng\u00adp\u00e4s\u00adse auf\u00adkom\u00admen las\u00adsen. Bei der Bull\u00addo\u00adzer-Rei\u00adhe, wo das Front End eben\u00adfalls zwei Threads abar\u00adbei\u00adten konn\u00adte, betrug die Gr\u00f6\u00ad\u00dfe die\u00adses Cache anfangs auch 64 KiB (indes nur 2\u2011wegig), wel\u00adche sp\u00e4\u00adter auf 96 KiB (3 Wege) ab Steam\u00adrol\u00adler auf\u00adge\u00adstockt wur\u00adden. Zudem gibt es bei Bull\u00addo\u00adzer im Zusam\u00admen\u00adspiel mit einem Linux-Sicher\u00adheits\u00adfea\u00adture (<span class=\"caps\">ASLR<\/span>) Pro\u00adble\u00adme, wo der im Cache lie\u00adgen\u00adde Pro\u00adgramm\u00adcode bei bestimm\u00adten Kom\u00adbi\u00adna\u00adtio\u00adnen von Spei\u00adcher\u00adadres\u00adsen zwei\u00ader oder meh\u00adre\u00adrer Pro\u00adgram\u00adme gegen\u00adsei\u00adtig wie\u00adder aus dem Cache gewor\u00adfen&nbsp;wurde.<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_5_placeholder<\/p>\n<p>Nach\u00addem eine Adres\u00adse ermit\u00adtelt und in die Phy\u00adsi\u00adcal Request Queue f\u00fcr das Laden des n\u00e4chs\u00adten Pro\u00adgramm\u00adcodes aus dem Level-1-Befehls\u00adcache ein\u00adge\u00adreiht wur\u00adde, wird par\u00adal\u00adlel \u00fcber ein klei\u00adnes Tag (\u00b5Tag) gepr\u00fcft, ob die gew\u00fcnsch\u00adten Befeh\u00adle schon im MOp-Cache vor\u00adlie\u00adgen. Lie\u00adfert das \u00b5Tag f\u00fcr den MOp-Cache kei\u00adnen Tref\u00adfer, wer\u00adden die Befeh\u00adle in einem 32 Byte-Block aus dem L1-Befehls\u00adcache gela\u00adden und an die Deco\u00adder-Ein\u00adheit weitergereicht.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>In der Deco\u00adder-Ein\u00adheit lan\u00adden die 32 aus dem Befehls\u00adcache gelie\u00adfer\u00adten Bytes mit Pro\u00adgramm\u00adcode im Ins\u00adtruc\u00adtion Byte Buf\u00adfer. Aus die\u00adsem selek\u00adtiert ein Picker vier iden\u00adti\u00adfi\u00adzier\u00adte x86-Befeh\u00adle und lei\u00adtet sie an die Deco\u00adder-Ein\u00adheit, wel\u00adche die\u00adse dann in ein inter\u00adnes Befehls\u00adfor\u00admat (MOp) \u00fcber\u00adsetzt und an einen MOp-Puf\u00adfer schickt. Im Fal\u00adle eines Tref\u00adfers im MOp-Cache k\u00f6n\u00adnen von die\u00adsem sogar bis zu 6 MOps in einem Takt\u00adzy\u00adklus an den Puf\u00adfer gelie\u00adfert wer\u00adden, was auf Sky\u00adla\u00adke-Niveau liegt. Beim Weg \u00fcber die Deco\u00adder liegt der Intel-Pro\u00adzes\u00adsor dage\u00adgen mit bis zu 5 Befeh\u00adlen pro Takt leicht vorn. Nicht gezeigt ist der Weg der deco\u00addier\u00adten Befeh\u00adle von der Deco\u00adder-Ein\u00adheit in den MOp-Cache. Falls im Pro\u00adgramm\u00adcode ein nicht kor\u00adrekt vor\u00adher\u00adge\u00adsag\u00adter Sprung statt\u00adfin\u00addet, ver\u00adk\u00fcrzt sich dank des Caches auch die soge\u00adnann\u00adte Branch Mis\u00adpre\u00addic\u00adtion Penal\u00adty, also die Dau\u00ader bis zur Aus\u00adf\u00fch\u00adrung der kor\u00adrek\u00adten ange\u00adsprun\u00adge\u00adnen Befeh\u00adle. Der Cache spart hier meh\u00adre\u00adre Takt\u00adzy\u00adklen, was die Leis\u00adtung steigert.<\/p>\n<p>Aus dem MOp-Puf\u00adfer (\u00b5Op-Queue)) her\u00adaus wird f\u00fcr kom\u00adple\u00adxe\u00adre, nicht direkt in Hard\u00adware imple\u00admen\u00adtier\u00adte Befeh\u00adle die Aus\u00adga\u00adbe der daf\u00fcr not\u00adwen\u00addi\u00adgen Micro\u00adcode-Befeh\u00adle aus dem Micro\u00adcode-Spei\u00adcher (<span class=\"caps\">ROM<\/span>) ange\u00adsto\u00ad\u00dfen. Zudem unter\u00adsucht eine Stack Engi\u00adne den Code im Puf\u00adfer auf Stack-Befeh\u00adle, wel\u00adche \u00fcbli\u00adcher\u00adwei\u00adse f\u00fcr die Zwi\u00adschen\u00adspei\u00adche\u00adrung von Wer\u00adten oder \u00dcber\u00adga\u00adbe von Para\u00adme\u00adtern ver\u00adwen\u00addet wer\u00adden. Sind sol\u00adche vor\u00adhan\u00adden, kann die Engi\u00adne die Adres\u00adsen dank typi\u00adscher\u00adwei\u00adse ein\u00adfa\u00adcher Off\u00adset-Adres\u00adsie\u00adrung (z.B. <span class=\"caps\">RSP<\/span>+8) schon hier berech\u00adnen. Das gab es auch schon in fr\u00fc\u00adhe\u00adren Kern\u00adar\u00adchi\u00adtek\u00adtu\u00adren, wie z.B. der Bull\u00addo\u00adzer-Linie. Da dien\u00adte es aber nur dem Zweck, die Abh\u00e4n\u00adgig\u00adkei\u00adten zwi\u00adschen Stack-Befeh\u00adlen auf\u00adzu\u00adl\u00f6\u00adsen, um die\u00adse par\u00adal\u00adlel aus\u00adf\u00fch\u00adren zu k\u00f6n\u00adnen. Die eigent\u00adli\u00adchen Stack-Spei\u00adcher\u00adzu\u00adgrif\u00adfe muss\u00adten wei\u00adter\u00adhin kom\u00adplett aus\u00adge\u00adf\u00fchrt wer\u00adden, was Res\u00adsour\u00adcen beleg\u00adte und Ener\u00adgie verbrauchte.<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_6_placeholder<\/p>\n<p>Ein neu\u00ader Ansatz hier ist nun, sich die Adres\u00adsen von Stack-Schreib\u00adzu\u00adgrif\u00adfen (z.B. <span class=\"caps\">PUSH<\/span> <span class=\"caps\">RAX<\/span>) zu mer\u00adken und die\u00adse Daten an sp\u00e4\u00adter auf die glei\u00adche Adres\u00adsen zugrei\u00adfen\u00adden Lese\u00adbe\u00adfeh\u00adlen (z.B. ein dar\u00adauf fol\u00adgen\u00addes <span class=\"caps\">POP<\/span> <span class=\"caps\">RCX<\/span>) direkt wei\u00adter\u00adzu\u00adlei\u00adten. Da nicht wei\u00adter auf das Mem\u00adfile ein\u00adge\u00adgan\u00adgen wur\u00adde, gehen wir spe\u00adku\u00adla\u00adtiv davon aus, dass es wie ein klei\u00adner Stack Cache funk\u00adtio\u00adniert. Es k\u00f6nn\u00adte daf\u00fcr die Imme\u00addia\u00adte-\/Dis\u00adpla\u00adce\u00adment-Ein\u00adheit ver\u00adwen\u00adden, wel\u00adche hier nicht expli\u00adzit gezeigt wur\u00adde, obgleich schon in der Bull\u00addo\u00adzer-Rei\u00adhe pr\u00e4\u00adsent. Dort legt das Front-End die bei x86-Befeh\u00adlen mit einem Kon\u00adstan\u00adten\u00adwert mit\u00adge\u00adlie\u00adfer\u00adten Wer\u00adte ab und stellt die\u00adse bei Befehls\u00adaus\u00adf\u00fch\u00adrung ggf. bereit. F\u00fcr die\u00adse Zugrif\u00adfe kann also auf die Nut\u00adzung einer Address Gene\u00adra\u00adti\u00adon Unit (<span class=\"caps\">AGU<\/span>) und der Load-\/Sto\u00adre-Ein\u00adheit sowie des Level-1-Daten\u00adcaches ver\u00adzich\u00adtet und damit Ener\u00adgie gespart wer\u00adden. Frei\u00adlich muss die Engi\u00adne noch \u00fcber\u00adwa\u00adchen, ob irgend\u00adwel\u00adche ande\u00adren Spei\u00adcher\u00adzu\u00adgrif\u00adfe sich mit den Stack-Zugrif\u00adfen \u00fcber\u00adlap\u00adpen, um Kon\u00adflik\u00adte zu ver\u00adhin\u00addern und immer die kor\u00adrek\u00adten Daten zu verwenden.<\/p>\n<p>Nach all die\u00adsen Vor\u00adar\u00adbei\u00adten k\u00f6n\u00adnen die ver\u00adar\u00adbei\u00adte\u00adten Befeh\u00adle an den&nbsp;Dis\u00adpatch-Puf\u00adfer gesen\u00addet und dort vor\u00adge\u00adhal\u00adten wer\u00adden. In die\u00adsem Puf\u00adfer wer\u00adden die Befeh\u00adle von der kom\u00adpak\u00adte\u00adren MOp-Form in ein\u00adzel\u00adne \u00b5Ops f\u00fcr die ver\u00adschie\u00adde\u00adnen Funk\u00adti\u00adons\u00adein\u00adhei\u00adten auf\u00adge\u00adsplit\u00adtet. Hier\u00adbei k\u00f6n\u00adnen in einem Takt bis zu 6 \u00b5Ops an die Inte\u00adger-Ein\u00adheit sowie 4 \u00b5Ops an die Flie\u00df\u00adkom\u00adma-Ein\u00adheit gesen\u00addet wer\u00adden. Wie in der Fra\u00adge\u00adrun\u00adde zu ver\u00adneh\u00admen war, wer\u00adden zum Bei\u00adspiel kom\u00adple\u00adxe\u00adre Ope\u00adra\u00adtio\u00adnen wie 256 bit brei\u00adte <span class=\"caps\">AVX<\/span>(2)-Befehle erst hier von einer MOp in 2 \u00b5Ops auf\u00adge\u00adteilt. Dies ist n\u00f6tig, da AMDs <span class=\"caps\">FPU<\/span> nur halb so breit ist. Genaue\u00adres folgt dazu&nbsp;in der FPU-Beschrei\u00adbung. Das spart Band\u00adbrei\u00adte f\u00fcr MOps im Front End, wel\u00adche dann f\u00fcr ande\u00adre Befeh\u00adle zur Ver\u00adf\u00fc\u00adgung steht. Somit k\u00f6n\u00adnen mehr Befeh\u00adle aus dem Deco\u00adder-Front-End in die Rechen\u00adwer\u00adke des Back-Ends flie\u00ad\u00dfen. Intels Mar\u00adke\u00adting\u00adab\u00adtei\u00adlung w\u00fcr\u00adde die\u00adses Fea\u00adture ver\u00admut\u00adlich AVX-Fusi\u00adon o.\u00e4. nennen&nbsp;\ud83d\ude09<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Wie auf den vor\u00adher\u00adge\u00adhen\u00adden Foli\u00aden zu sehen, fin\u00adden maxi\u00admal sechs \u00b5Ops pro Takt aus dem Dis\u00adpatcher ihren Weg in die Inte\u00adger-Ein\u00adheit. Dort wer\u00adden sie im Sche\u00addu\u00adler anschlie\u00ad\u00dfend auf sechs Pipe\u00adlines ver\u00adteilt. Vier davon sind ALUs zur Berech\u00adnung von Pro\u00adgramm\u00adcode, die zwei AGUs berech\u00adnen Spei\u00adcher\u00adadres\u00adsen zum Laden oder Abspei\u00adchern der Rechen\u00ader\u00adgeb\u00adnis\u00adse. Damit ist die Archi\u00adtek\u00adtur vier\u00adfach super\u00adska\u00adlar, dop\u00adpelt so breit wie ein INT-Clus\u00adter der Bull\u00addo\u00adzer-Archi\u00adtek\u00adtur und sogar noch etwas brei\u00adter als der <span class=\"caps\">K8<\/span>\/<span class=\"caps\">K10<\/span>, der 3 Paa\u00adre bestehend aus je einer <span class=\"caps\">ALU<\/span> und <span class=\"caps\">AGU<\/span> auf\u00adwies. Rein rech\u00adne\u00adrisch hat\u00adten die K\u2011Generationen gegen\u00ad\u00fcber Zen also eine <span class=\"caps\">AGU<\/span> mehr zur Ver\u00adf\u00fc\u00adgung. Dage\u00adgen sag\u00adte ein K8-Ent\u00adwick\u00adler damals, dass die\u00adse nur aus Copy-\/Pas\u00adte-Design\u00adgr\u00fcn\u00adden mit\u00adge\u00adnom\u00admen wur\u00adde und so gut wie kei\u00adnen Effekt hat. Man hat\u00adte sich damals f\u00fcr <span class=\"caps\">ALU<\/span>+AGU-Paare mit einer vor\u00adge\u00adschal\u00adte\u00adten gemein\u00adsa\u00admen War\u00adte\u00adschlan\u00adge mit 8 Ein\u00adtr\u00e4\u00adgen ent\u00adschie\u00adden und somit war die 3. <span class=\"caps\">AGU<\/span> zwangs\u00adl\u00e4u\u00adfig mit von der Par\u00adtie. 4+2 Inte\u00adger Pipes d\u00fcrf\u00adten trotz\u00addem \u2013 solan\u00adge auf das Cache\u00adsys\u00adtem und die Stack-Engi\u00adne Ver\u00adlass ist \u2013 f\u00fcr eine sehr gute Leis\u00adtung sor\u00adgen, sei es mit oder ohne&nbsp;<span class=\"caps\">SMT<\/span>.<\/p>\n<p>Zen hat also kei\u00adne <span class=\"caps\">ALU<\/span>\/A\u00adGU-P\u00e4r\u00adchen, fol\u00adge\u00adrich\u00adtig gibt es auch kei\u00adne gemein\u00adsa\u00adme War\u00adte\u00adschla\u00adgen mehr. Jede <span class=\"caps\">ALU<\/span> oder <span class=\"caps\">AGU<\/span> hat eine eige\u00adne, die jeweils 14 Ein\u00adtr\u00e4\u00adge auf\u00adweist, zusam\u00admen sind dies also 6&nbsp;x&nbsp;14&nbsp;=&nbsp;84 Ein\u00adtr\u00e4\u00adge. Dies ist \u2013 wie bereits in der Ein\u00adlei\u00adtung geschrie\u00adben \u2013 etwas opti\u00admis\u00adtisch gerech\u00adnet. Schlie\u00df\u00adlich kann man nicht frei \u00fcber f\u00fcnf Autos ver\u00adf\u00fc\u00adgen, wenn man selbst nur zwei besitzt und die rest\u00adli\u00adchen drei den Nach\u00adbarn geh\u00f6\u00adren. Die\u00adser Sach\u00adver\u00adhalt ist des\u00adhalb gegen\u00ad\u00fcber Bull\u00addo\u00adzer als ein klei\u00adner R\u00fcck\u00adschritt zu wer\u00adten, da die 40 Ein\u00adtr\u00e4\u00adge Bull\u00addo\u00adzers im Ide\u00adal\u00adfall auch nur einer ein\u00adzel\u00adnen Pipe\u00adline zur Ver\u00adf\u00fc\u00adgung gestellt wer\u00adden konn\u00adten. Damit wird das Design simp\u00adler, l\u00e4sst sich ener\u00adgie\u00adspa\u00adren\u00adder betrei\u00adben und erm\u00f6g\u00adlicht auch einen etwas h\u00f6he\u00adren Takt, der wei\u00adter gestei\u00adgert wer\u00adden kann, sofern man die ein\u00adge\u00adspar\u00adte Ener\u00adgie reinves\u00adtiert. Gegen\u00ad\u00fcber den alten <span class=\"caps\">K8-<\/span> und <span class=\"caps\">K10<\/span>.5\u2011Designs, die 8 bzw. 12 Ein\u00adtr\u00e4\u00adge pro <span class=\"caps\">ALU-<\/span>\/AGU-Paar hat\u00adten, ist es in jedem Fall ein Fortschritt.<\/p>\n<p>Die vier ALUs k\u00f6n\u00adnen alle die all\u00adge\u00admein \u00fcbli\u00adchen x86-INT-Berech\u00adnun\u00adgen aus\u00adf\u00fch\u00adren. Sel\u00adte\u00adne\u00adre Befeh\u00adle wie Inte\u00adger-Mul\u00adti\u00adpli\u00adka\u00adti\u00adon oder Divi\u00adsi\u00adon sind nur an je einer m\u00f6g\u00adlich, was aus\u00adrei\u00adchend ist, da die\u00adse Instruk\u00adtio\u00adnen eher die Aus\u00adnah\u00admen als die Regel in Stan\u00addard-Pro\u00adgramm\u00adcodes dar\u00adstel\u00adlen. Branch-Befeh\u00adle sind dage\u00adgen an zwei ALUs m\u00f6g\u00adlich. Die\u00adse tre\u00adten h\u00e4u\u00adfi\u00adger als Inte\u00adger-Mul\u00adti\u00adpli\u00adka\u00adti\u00adon oder \u2011Divi\u00adsi\u00adon auf. Ins\u00adbe\u00adson\u00adde\u00adre wenn wie bei <span class=\"caps\">SMT<\/span> zwei Threads das Rechen\u00adwerk bev\u00f6l\u00adkern, ist eine 2. Branch-Ein\u00adheit des\u00adhalb n\u00fctz\u00adlich. Intel r\u00fcs\u00adte\u00adte die\u00adse z.B. eben\u00adfalls ab der Has\u00adwell-Gene\u00adra\u00adti\u00adon nach. Bekannt war dies bereits seit den <a href=\"http:\/\/www.planet3dnow.de\/cms\/20255-analyse-der-vermuteten-zen-architektur\/\" target=\"_blank\">Com\u00adpi\u00adler-Leaks im Okto\u00adber<\/a> (sie\u00adhe letz\u00adte Zei\u00adle in den blau ein\u00adge\u00adf\u00e4rb\u00adten INT-Bl\u00f6cken).<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_7_placeholder<\/p>\n<p>Abschlie\u00ad\u00dfend muss man noch den Umfang der INT-Regis\u00adter erw\u00e4h\u00adnen. Zen ver\u00adf\u00fcgt \u00fcber ins\u00adge\u00adsamt 168 Regis\u00adter und liegt damit genau auf Has\u00adwell-Niveau. Bull\u00addo\u00adzer hat\u00adte 160, San\u00addy Bridge 144 und Sky\u00adla\u00adke 180. Wich\u00adtig f\u00fcr die Rechen\u00adleis\u00adtung ist die Gr\u00f6\u00ad\u00dfe der soge\u00adnann\u00adten Reti\u00adre-War\u00adte\u00adschlan\u00adge, die\u00adse umfasst 192 Ein\u00adtr\u00e4\u00adge, die im SMT-Betrieb fest auf\u00adge\u00adteilt wer\u00adden. Es ste\u00adhen im SMT-Betrieb also jedem Thread 96 Ein\u00adtr\u00e4\u00adge zur Verf\u00fcgung.<\/p>\n<p>Wei\u00adter geht es mit der Beschrei\u00adbung der&nbsp;<span class=\"caps\">FPU<\/span>.<br>\n<img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Hier hat sich eben\u00adfalls viel getan. Einem gemein\u00adsa\u00admen Sche\u00addu\u00adler, wie er auch von der Bull\u00addo\u00adzer-Rei\u00adhe und den Cat-Ker\u00adnen bekannt ist, wur\u00adde ein spe\u00adzi\u00adel\u00adler Puf\u00adfer vor\u00adge\u00adschal\u00adtet (\u201c<span class=\"caps\">NSQ<\/span>\u201d f\u00fcr \u201cNon Sche\u00addu\u00adling Queue\u201d), um vom Dis\u00adpatcher bereits Flie\u00df\u00adkom\u00adma-Befeh\u00adle zu emp\u00adfan\u00adgen. Das erm\u00f6g\u00adlicht selbst bei man\u00adgeln\u00adden frei\u00aden Pl\u00e4t\u00adzen im Flie\u00df\u00adkom\u00adma-Sche\u00addu\u00adler die Wei\u00adter\u00adar\u00adbeit des Dis\u00adpatchers. So kann die\u00adser z.B. die Inte\u00adger-Ein\u00adheit belie\u00adfern. Zus\u00e4tz\u00adlich k\u00f6n\u00adnen f\u00fcr Befeh\u00adle in der <span class=\"caps\">NSQ<\/span> bereits Daten aus dem Spei\u00adcher\u00adsys\u00adtem beschafft und bereit\u00adge\u00adstellt wer\u00adden. So m\u00fcs\u00adsen die\u00adse Befeh\u00adle im Sche\u00addu\u00adler nicht auf die Daten warten.<\/p>\n<p>Pro Zyklus wer\u00adden durch den Dis\u00adpatcher bis zu 4 \u00b5Ops bereit\u00adge\u00adstellt. Es ist anzu\u00adneh\u00admen, dass im Fall von Flie\u00df\u00adkom\u00adma-Befeh\u00adlen mit Spei\u00adcher\u00adope\u00adran\u00adden gleich\u00adzei\u00adtig die ent\u00adspre\u00adchen\u00adden bis zu 2 \u00b5Ops an die AGUs in der Inte\u00adger-Ein\u00adheit gesen\u00addet wer\u00adden. Wenn Daten aus dem Spei\u00adcher gela\u00adden wer\u00adden, erfolgt dies min\u00addes\u00adtens mit einer Latenz von 7 Tak\u00adten aus dem L1-Cache. Das sind immer\u00adhin zwei Tak\u00adte weni\u00adger als in der Bull\u00addo\u00adzer-Linie. Die\u00adse Daten (bis 2x128 Bit) durch\u00adlau\u00adfen noch die Lade-Kon\u00adver\u00adtie\u00adrungs-Ein\u00adheit (<span class=\"caps\">LDCVT<\/span>).<\/p>\n<p>Die Flie\u00df\u00adkom\u00adma-Ein\u00adheit bie\u00adtet 96 Ein\u00adtr\u00e4\u00adge im Sche\u00addu\u00adler, was durch\u00adschnitt\u00adlich 24 Ein\u00adtr\u00e4\u00adgen pro Pipe\u00adline ent\u00adspricht. Aller\u00addings gibt es durch des\u00adsen Aus\u00adf\u00fch\u00adrung als ver\u00adein\u00adter Sche\u00addu\u00adler f\u00fcr alle Flie\u00df\u00adkom\u00adma-Pipe\u00adlines eine deut\u00adlich h\u00f6he\u00adre Fle\u00adxi\u00adbi\u00adli\u00adt\u00e4t als bei Inte\u00adger-Code. Das ist hier auch wich\u00adtig, da die\u00adse Pipe\u00adlines deut\u00adlich spe\u00adzia\u00adli\u00adsier\u00adter sind. Wei\u00adter\u00adhin ste\u00adhen der Ein\u00adheit 160 phy\u00adsi\u00adsche Regis\u00adter zur Ver\u00adf\u00fc\u00adgung. Neben aktu\u00adel\u00adlen x86-SIMD-Erwei\u00adte\u00adrun\u00adgen bis <span class=\"caps\">AVX2<\/span> ist die <span class=\"caps\">FPU<\/span> nat\u00fcr\u00adlich wei\u00adter\u00adhin mit x87-Befeh\u00adlen kompatibel.<\/p>\n<p>Im Gro\u00adben gibt es zwei Mul\u00adti\u00adpli\u00adka\u00adti\u00adons- (<span class=\"caps\">FMUL<\/span>) und zwei Addi\u00adti\u00adons-Ein\u00adhei\u00adten\/-Pipe\u00adlines (<span class=\"caps\">FADD<\/span>). Die Fused-Mul\u00adti\u00adply-Add-Befeh\u00adle (<span class=\"caps\">FMA<\/span>) wer\u00adden in den FMUL-Pipe\u00adlines aus\u00adge\u00adf\u00fchrt. Da jede Pipe\u00adline zwei Lese\u00adports in das Flie\u00df\u00adkom\u00adma-Regis\u00adter\u00adfile (<span class=\"caps\">FPRF<\/span>) besitzt, muss f\u00fcr FMA-Befeh\u00adle ggf. auf einen Port der FADD-Pipe\u00adline zur\u00fcck\u00adge\u00adgrif\u00adfen wer\u00adden, sofern der Wert nicht als Ergeb\u00adnis eines vor\u00adhe\u00adri\u00adgen Befehls auf kur\u00adzem Wege (Bypass) bereit\u00adge\u00adstellt wird. Die vie\u00adlen ande\u00adren unter\u00adschied\u00adli\u00adchen Flie\u00df\u00adkom\u00adma-Befeh\u00adle und auch die Inte\u00adger-SIMD-Befeh\u00adle sind auf die vier Pipe\u00adlines ver\u00adteilt. Hier sei auch wie\u00adder auf die <a href=\"http:\/\/www.planet3dnow.de\/cms\/20255-analyse-der-vermuteten-zen-architektur\">Gra\u00adfik im Okto\u00adber-Arti\u00adkel<\/a> ver\u00adwie\u00adsen. Mit die\u00adsen vier Pipe\u00adlines besitzt ein Zen-Kern auch gleich vier x87-f\u00e4hi\u00adge Rechen\u00adein\u00adhei\u00adten, was gera\u00adde f\u00fcr Anwen\u00addun\u00adgen mit einem hohem Bedarf an x87-Rechen\u00adleis\u00adtung inter\u00ades\u00adsant sein d\u00fcrf\u00adte. Neben eini\u00adgen wis\u00adsen\u00adschaft\u00adli\u00adchen Anwen\u00addun\u00adgen geh\u00f6rt der B\u00fcro-Klas\u00adsi\u00adker Excel dazu, wel\u00adcher auch noch f\u00fcr kom\u00adple\u00adxe\u00adre Berech\u00adnun\u00adgen in brei\u00adtem Ein\u00adsatz&nbsp;ist.<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_8_placeholder<\/p>\n<p>Wie Mike Clark aus\u00adf\u00fchr\u00adte, hat jede MUL-Ein\u00adheit eine eigen\u00adst\u00e4n\u00addi\u00adge FMA-Pipe\u00adline. Die\u00adser Hin\u00adweis \u2013 zusam\u00admen mit den GCC-Patch-Infor\u00adma\u00adtio\u00adnen \u2013 k\u00f6nn\u00adte bedeu\u00adten, dass f\u00fcr nor\u00adma\u00adle Mul\u00adti\u00adpli\u00adka\u00adtio\u00adnen noch ein\u00admal eige\u00adne Mul\u00adti\u00adpli\u00adzie\u00adrer bereit\u00adste\u00adhen, und zwar in einer Form, wie sie bei den Cat-Ker\u00adnen ver\u00adwen\u00addet wird. Dort ist eine sehr ener\u00adgie\u00adspa\u00adren\u00adde Vari\u00adan\u00adte einer Mul\u00adti\u00adpli\u00adzier-Ein\u00adheit im Ein\u00adsatz, die gerin\u00adge Laten\u00adzen auf\u00adweist, hin\u00adge\u00adgen bei h\u00f6he\u00adren Genau\u00adig\u00adkei\u00adten (64-bit Dou\u00adble Pre\u00adcis\u00adi\u00adon und 80-bit Exten\u00added Pre\u00adcis\u00adi\u00adon) ein oder zwei Takt\u00adzy\u00adklen extra ben\u00f6\u00adtigt. Dank zwei\u00ader FMUL-Ein\u00adhei\u00adten f\u00e4llt der Latenz\u00adnach\u00adteil jedoch kaum ins Gewicht. Auch wur\u00adde in den Kat\u00adzen-Ker\u00adnen mit Hil\u00adfe die\u00adser kom\u00adpak\u00adten Mul\u00adti\u00adpli\u00adzie\u00adrer-Ein\u00adheit eine effi\u00adzi\u00aden\u00adte <span class=\"caps\">FDIV-<\/span> und FSQRT-Ein\u00adheit imple\u00admen\u00adtiert. Mit den klei\u00adnen Struk\u00adtu\u00adren des 14LPP-Pro\u00adzes\u00adses k\u00f6nn\u00adte man sich so eine Red\u00adun\u00addanz f\u00fcr mehr Ener\u00adgie\u00adef\u00adfi\u00adzi\u00adenz sogar leis\u00adten, da selbst die gesam\u00adte Jagu\u00adar-FPU im 28nm-Pro\u00adzess nur 0,39 mm\u00b2 belegt. Ob dies bei Zen aber so umge\u00adsetzt wur\u00adde, muss sich in wei\u00adte\u00adren Bekannt\u00adma\u00adchun\u00adgen zur Zen-Mikro\u00adar\u00adchi\u00adtek\u00adtur zeigen.<\/p>\n<p>Bei FMA-Berech\u00adnun\u00adgen arbei\u00adten je eine <span class=\"caps\">ADD-<\/span> und MUL-Ein\u00adheit zusam\u00admen, wobei nur der Lese\u00adport der ADD-Ein\u00adheit zum FP-Regis\u00adter benutzt wird. Soll\u00adten die Daten in Form eines gera\u00adde fer\u00adtig\u00adge\u00adstell\u00adten Berech\u00adnungs\u00ader\u00adgeb\u00adnis\u00adses&nbsp;den Weg \u00fcber den Bypass zur FMA-Ein\u00adheit fin\u00adden, k\u00f6nn\u00adten im g\u00fcns\u00adtigs\u00adten Fall im glei\u00adchen Takt neben zwei FMA-Berech\u00adnun\u00adgen auch noch zwei FP-Addi\u00adtio\u00adnen durch\u00adge\u00adf\u00fchrt wer\u00adden. Das ist ein Vor\u00adteil, da in vie\u00adlen Pro\u00adgramm\u00adcodes mit Flie\u00df\u00adkom\u00adma-Berech\u00adnun\u00adgen der Anteil von Addi\u00adtio\u00adnen (was Sub\u00adtrak\u00adtio\u00adnen ein\u00adschlie\u00dft) deut\u00adlich h\u00f6her ist als der der Multiplikationen.<\/p>\n<p>Die FMA4-Befeh\u00adle wer\u00adden von Zen nicht mehr unter\u00adst\u00fctzt,&nbsp;<a href=\"http:\/\/www.planet3dnow.de\/cms\/14479-zen-zeigt-sich-in-compiler-quellcode\/\">wie wir bereits berich\u00adte\u00adten<\/a>. Damit wird der damit ver\u00adbun\u00adde\u00adne hohe Auf\u00adwand bez\u00fcg\u00adlich des FP-Regis\u00adter\u00adfiles (vie\u00adle Lese\u00adports) ver\u00admie\u00adden. Und dazu gibt es sogar noch ein Argu\u00adment von sei\u00adten Intels: Dank Move Eli\u00admi\u00adna\u00adti\u00adon wer\u00adden&nbsp;zus\u00e4tz\u00adli\u00adche Befeh\u00adle zur Siche\u00adrung von Regis\u00adtern vor dem \u00dcber\u00adschrei\u00adben neben\u00adbei und ohne gro\u00ad\u00dfe Hard\u00adware-Belas\u00adtung ausgef\u00fchrt.<\/p>\n<p>Der Sta\u00adtus der ver\u00adar\u00adbei\u00adte\u00adten \u00b5Ops wird an die Reti\u00adre-Queue zur\u00fcck\u00adge\u00admel\u00addet, was auch hier bis zu 8 \u00b5Ops pro Takt bedeu\u00adtet. Hier\u00adzu z\u00e4h\u00adlen auch Befeh\u00adle, die z.B. dank Move Eli\u00admi\u00adna\u00adti\u00adon und Zero\u00ading Idi\u00adoms (effek\u00adti\u00adves Null\u00adset\u00adzen von Regis\u00adtern) nicht expli\u00adzit aus\u00adge\u00adf\u00fchrt wer\u00adden m\u00fcs\u00adsen. F\u00fcr den Fall eines nicht kor\u00adrekt vor\u00adher\u00adge\u00adsag\u00adten Sprun\u00adges wur\u00adde die Lee\u00adrung der Flie\u00df\u00adkom\u00adma-Pipe\u00adline beschleu\u00adnigt. Gegen\u00ad\u00fcber der Bull\u00addo\u00adzer-Rei\u00adhe mit geteil\u00adter <span class=\"caps\">FPU<\/span> besitzt Zen nun pro Kern effek\u00adtiv die vier\u00adfa\u00adche Anzahl an AES-Ein\u00adhei\u00adten, was zusam\u00admen mit der SHA1-Unter\u00adst\u00fct\u00adzung einen deut\u00adli\u00adchen Schritt zur Unter\u00adst\u00fct\u00adzung von Ver\u00adschl\u00fcs\u00adse\u00adlungs\u00adauf\u00adga\u00adben dar\u00adstellt. Das ist ein wich\u00adti\u00adger Punkt f\u00fcr den Datacenter-Einsatz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p>Erst\u00admals gibt es von <span class=\"caps\">AMD<\/span> eine kom\u00adplet\u00adte <span class=\"caps\">CPU<\/span> mit <span class=\"caps\">SMT<\/span>. <span class=\"caps\">SMT<\/span> an sich war kein Neu\u00adland f\u00fcr die CPU-Archi\u00adtek\u00adten, schlie\u00df\u00adlich arbei\u00adte\u00adte schon Bull\u00addo\u00adzers <span class=\"caps\">FPU<\/span> im SMT-Betrieb. Im Unter\u00adschied zu alten Bull\u00addo\u00adzer-Sche\u00adma\u00adta ist die rote Far\u00adbe f\u00fcr <span class=\"caps\">SMT<\/span> nun aber fast im gan\u00adzen Chip zu finden:<\/p>\n<p style=\"text-align: center;\">ngg_shortcode_9_placeholder<\/p>\n<p>Alle roten Berei\u00adche wer\u00adden von bei\u00adden SMT-Threads gemein\u00adsam benutzt.<\/p>\n<p>Die weni\u00adgen t\u00fcr\u00adki\u00adsen Mar\u00adkie\u00adrun\u00adgen, die vor allem die TLBs betref\u00adfen, bekom\u00admen noch eine extra Mar\u00adkie\u00adrung, sodass die betref\u00adfen\u00adden Puf\u00adfer-Ein\u00adtr\u00e4\u00adge dem jewei\u00adli\u00adgen Thread zuge\u00adord\u00adnet wer\u00adden k\u00f6n\u00adnen. Dun\u00adkel\u00adblau mar\u00adkiert sind Ein\u00adhei\u00adten, die zwar gemein\u00adsam benutzt wer\u00adden, bei denen aber eine zus\u00e4tz\u00adli\u00adche Logik (z.B. ICount) daf\u00fcr sorgt, dass ein bestimm\u00adter Thread bevor\u00adzugt behan\u00addelt&nbsp;wird.<\/p>\n<p>In gras\u00adgr\u00fcn sind wie\u00adder\u00adum die Kern\u00adbe\u00adstand\u00adtei\u00adle mar\u00adkiert, die streng zwi\u00adschen den Threads par\u00adti\u00adtio\u00adniert wer\u00adden. Das hei\u00dft, jeder Thread bekommt sei\u00adnen Anteil der Ein\u00adtr\u00e4\u00adge, mehr geht nicht. Dies will man eigent\u00adlich ver\u00adhin\u00addern, im bes\u00adten Fall soll\u00adten einem Thread alle Res\u00adsour\u00adcen zur Ver\u00adf\u00fc\u00adgung ste\u00adhen, in bestimm\u00adten F\u00e4l\u00adlen geht das jedoch aus Design- und Kom\u00adple\u00adxi\u00adt\u00e4ts\u00adgr\u00fcn\u00adden nun ein\u00admal nicht anders. \u00c4nde\u00adrun\u00adgen in k\u00fcnf\u00adti\u00adgen Gene\u00adra\u00adtio\u00adnen sind hier\u00adbei nat\u00fcr\u00adlich m\u00f6g\u00adlich und auch wahr\u00adschein\u00adlich, denn Mike Clark beton\u00adte im Vor\u00adtrag, dass dies nur \u201cdie\u00adse Gene\u00adra\u00adti\u00adon\u201d betr\u00e4fe.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><\/p>\n<p><span class=\"caps\">AMD<\/span> ist sicht\u00adlich zufrie\u00adden mit sei\u00adner neu\u00aden CPU-Archi\u00adtek\u00adtur und zumin\u00addest auf dem Papier darf man die\u00adser Zufrie\u00adden\u00adheit bei\u00adstim\u00admen. \u00dcber\u00adall wur\u00adde ver\u00adgr\u00f6\u00ad\u00dfert, ver\u00adbrei\u00adtert und ver\u00adbes\u00adsert, um das schier Unm\u00f6g\u00adli\u00adche zu erm\u00f6g\u00adli\u00adchen \u2013 deut\u00adlich mehr Rechen\u00adleis\u00adtung bei erheb\u00adlich weni\u00adger Ener\u00adgie\u00adbe\u00addarf. Alle Kugeln hat <span class=\"caps\">AMD<\/span> sicher noch nicht ver\u00adschos\u00adsen, so beton\u00adte Mike Clark im Rah\u00admen sei\u00adner Aus\u00adf\u00fch\u00adrun\u00adgen zum SMT-Design bez\u00fcg\u00adlich eini\u00adger sta\u00adtisch auf die Threads auf\u00adge\u00adteil\u00adter Kom\u00adpo\u00adnen\u00adten, dass dies in <em>die\u00adser Gene\u00adra\u00adti\u00adon<\/em> so ent\u00adschie\u00adden wur\u00adde. Es bleibt also noch Raum f\u00fcr Optimierungen.<\/p>\n<p>Span\u00adnend wer\u00adden die Fra\u00adgen nach den erziel\u00adba\u00adren Takt\u00adra\u00adten und AMDs Modell- und Preis\u00adpo\u00adli\u00adtik. Bei letz\u00adte\u00adrem w\u00e4re es aus Kun\u00adden\u00adsicht w\u00fcn\u00adschens\u00adwert, wenn sich <span class=\"caps\">AMD<\/span> bei den 8\u2011Kernmodellen ohne <span class=\"caps\">SMT<\/span> unge\u00adf\u00e4hr an Intels Quad\u00adcores mit <span class=\"caps\">SMT<\/span> ori\u00aden\u00adtie\u00adren w\u00fcr\u00adde, also im Preis\u00adbe\u00adreich von 300\u2013350 Euro. Dies ist nicht uto\u00adpisch, da durch den sehr wahr\u00adschein\u00adli\u00adchen Ein\u00adsatz von High-Den\u00adsi\u00adty-Libra\u00adri\u00ades die Die-Fl\u00e4\u00adche f\u00fcr eine 8\u2011Kern-CPU mit 16 MiB Cache ver\u00adh\u00e4lt\u00adnis\u00adm\u00e4\u00ad\u00dfig klein aus\u00adfal\u00adlen wird. Die Mul\u00adti-Thread-Leis\u00adtung w\u00fcr\u00adde \u00fcber der eines i7 mit nur 4 Ker\u00adnen (8 Threads)&nbsp;lie\u00adgen und somit bei \u00e4hn\u00adli\u00adchem Preis das bes\u00adse\u00adre Ange\u00adbot dar\u00adstel\u00adlen. Soll\u00adte die Leis\u00adtung deut\u00adlich bes\u00adser aus\u00adfal\u00adlen, wird <span class=\"caps\">AMD<\/span> sicher\u00adlich auch eher 400 Euro auf\u00adru\u00adfen wol\u00adlen. Auch wird man Intels Reak\u00adti\u00adon abwar\u00adten m\u00fcs\u00adsen. Intels Kon\u00adto\u00adstand lie\u00ad\u00dfe star\u00adke Preis\u00adnach\u00adl\u00e4s\u00adse ohne wei\u00adte\u00adres zu, bis\u00adher wur\u00adden sie nur nicht dazu gezwun\u00adgen. Soll\u00adten die 8\u2011Kern-Zens zu teu\u00ader f\u00fcr die Mas\u00adse der Kun\u00adden wer\u00adden, blie\u00adbe als bil\u00adli\u00adge Alter\u00adna\u00adti\u00adve noch die Zen-APU mit deak\u00adti\u00advier\u00adter <span class=\"caps\">GPU<\/span>. Nach\u00addem die\u00adse erst\u00admals \u00fcber L3-Cache ver\u00adf\u00fc\u00adgen, best\u00fcn\u00adde der Nach\u00adteil gegen\u00ad\u00fcber Sum\u00admit Ridge nur in Form der vier Ker\u00adne und deren 8 MiB <span class=\"caps\">L3<\/span>. Aller\u00addings wird die Zen-APU erst&nbsp;im 2. Halb\u00adjahr 2017 erwar\u00adtet, da in Form von Bris\u00adtol Ridge zuvor noch der letz\u00adte Ver\u00adtre\u00adter der Bull\u00addo\u00adzer\u00adge\u00adne\u00adra\u00adti\u00adon sei\u00adnen Ein\u00adstand f\u00fcr den Sockel <span class=\"caps\">AM4<\/span> feiert.<\/p>\n<p>Alles in allem scheint AMDs Ziel auf\u00adzu\u00adge\u00adhen, mit Zen ein aus\u00adba\u00adlan\u00adcier\u00adtes Design anbie\u00adten zu k\u00f6n\u00adnen. Nichts erscheint als zuviel oder zu wenig. 256-Bit-FPUs w\u00e4ren sicher\u00adlich \u201cnett\u201d, w\u00fcr\u00adden jedoch infol\u00adge der n\u00f6ti\u00adgen Ver\u00adbrei\u00adte\u00adrun\u00adgen der Cache- und Spei\u00adcher\u00adsub\u00adsys\u00adte\u00adme die Design-Balan\u00adce kip\u00adpen, da die INT-Ein\u00adhei\u00adten nicht von der Ver\u00adbrei\u00adte\u00adrung pro\u00adfi\u00adtie\u00adren. Des\u00adwei\u00adte\u00adren w\u00fcr\u00adden sie die maxi\u00admal erreich\u00adba\u00adre Takt\u00adfre\u00adquenz limi\u00adtie\u00adren, da eine AVX-256-Bit-Ein\u00adheit unter Voll\u00adast auf dem Die lokal f\u00fcr einen Span\u00adnungs\u00adab\u00adfall sorgt. Gleich\u00adzei\u00adtig steigt bei Voll\u00adast auch die ther\u00admi\u00adsche Belas\u00adtung in Form von Abw\u00e4r\u00adme. Das Zusam\u00admen\u00adspiel von ande\u00adren AMD-F\u00e4hig\u00adkei\u00adten wie den <a href=\"http:\/\/www.planet3dnow.de\/cms\/14242-amd-praesentiert-excavator-und-carrizo-auf-der-isscc-2015\/subpage-schrumpfprozesse-und-layout-tricks\/\">High-Den\u00adsi\u00adty-Liba\u00adri\u00ades<\/a> und den <a href=\"http:\/\/www.planet3dnow.de\/cms\/14242-amd-praesentiert-excavator-und-carrizo-auf-der-isscc-2015\/subpage-stromspartechniken\/\">adap\u00adti\u00adven Span\u00adnungs\u00adre\u00adge\u00adlun\u00adgen<\/a> l\u00e4sst somit auf ein gelun\u00adge\u00adnes, run\u00addes End\u00adpro\u00addukt hoffen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: none ! important;\" hidden src=\"http:\/\/vg01.met.vgwort.de\/na\/7a41b0f27dcd49abb48bf3612e752252\" alt width=\"1\" height=\"1\"><br>\n<!--nextpage--><br>\nngg_shortcode_10_placeholder<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nach der Ent\u00adh\u00fcl\u00adlung einer gro\u00adben Dar\u00adstel\u00adlung des Zen-Designs durch AMDs <span class=\"caps\">CEO<\/span> Lisa Su vor zwei Wochen gab es letz\u00adte Woche auf der Tech\u00adno\u00adlo\u00adgie-Tagung Hot Chips genaue\u00adre Details zur Umset\u00adzung aller Ma\u00df\u00adnah\u00admen. Die\u00adse haben wir uns genau\u00ader ange\u00adschaut, um erfah\u00adren zu k\u00f6n\u00adnen, wie <span class=\"caps\">AMD<\/span> eine Ver\u00adbes\u00adse\u00adrung der Sin\u00adgle-Thread-Leis\u00adtung um 40&nbsp;% gegen\u00ad\u00fcber den Excava\u00adtor-Ker\u00adnen errei\u00adchen will. AMDs Trieb\u00adfe\u00adder f\u00fcr die neue Zen-Archi\u00adtek\u00adtur war das Ver\u00adlan\u00adgen, eine ein\u00adzi\u00adge Mikro\u00adar\u00adchi\u00adtek\u00adtur als Erbe f\u00fcr die vor\u00adhan\u00adde\u00adnen \u201cCats\u201d- und \u201cBulldozer\u201d-Linien zu erschaf\u00adfen. (\u2026) <a class=\"moretag\" href=\"https:\/\/www.planet3dnow.de\/cms\/26077-details-und-analyse-der-zen-architektur-nach-der-hot-chips-konferenz\/\">Wei\u00adter\u00adle\u00adsen&nbsp;\u00bb<\/a><\/p>\n","protected":false},"author":47,"featured_media":26664,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[12,2,7,8],"tags":[966,224,656,1149],"class_list":["post-26077","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aktuelles","category-artikel","category-prasentationen-und-firmenveranstaltungen","category-prozessoren","tag-amd","tag-hot-chips","tag-zen","tag-zeppelin","entry"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/posts\/26077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/comments?post=26077"}],"version-history":[{"count":88,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/posts\/26077\/revisions"}],"predecessor-version":[{"id":27082,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/posts\/26077\/revisions\/27082"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/media\/26664"}],"wp:attachment":[{"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/media?parent=26077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/categories?post=26077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.planet3dnow.de\/cms\/wp-json\/wp\/v2\/tags?post=26077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}