Zen 2 AMD Ryzen 7 3700X und Ryzen 9 3900X im Test

Artikel-Index:

Technische Details: CCX, CCD, Windows-Scheduler, CPPC2

Die grund짯s채tz짯li짯che Zen-2-Archi짯tek짯tur haben wir beleuch짯tet, nun sehen wir uns an, wie AMD dar짯aus die CPU Matis짯se ali짯as Ryzen 3000 geformt hat.

Pr채sentation zu Ryzen 3000

Wie mit Zen ein짯ge짯f체hrt besteht auch ein Zen-2-Die wie짯der aus zwei CCX mit je 4 Ker짯nen. Der CCX-eige짯ne L3-Cache wur짯de wie erw채hnt ver짯dop짯pelt, das Die aus zwei CCX nennt AMD nun CCD, was f체r Com짯pu짯te Cache Die ste짯hen d체rfte.

Anders als noch bei Zen 1 ent짯h채lt das Die nun aller짯dings kei짯ner짯lei I/O mehr; kei짯nen Memo짯ry-Con짯trol짯ler, kei짯ne PCIe-Con짯trol짯ler, kei짯ne SoC-Kom짯po짯nen짯ten wie USB, SATA, etc. Die짯se Sachen hat AMD nun in ein IO-Die (cIOD) aus짯ge짯la짯gert. Ein Ryzen 3000 쏮atis짯se besteht also nicht mehr aus einem Die, son짯dern aus zwei짯en; mindestens.

Pr채sentation zu Ryzen 3000

횆hn짯lich wie zuvor schon bei Thre짯ad짯rip짯per rea짯li짯siert AMD mehr als 8 Ker짯ne nicht mit짯hil짯fe eines gr철짯횩e짯ren Dies mit mehr Ker짯nen, son짯dern mit짯hil짯fe von meh짯re짯ren zusam짯men짯ge짯schal짯te짯ten Dies, im Fal짯le von Ryzen 3000 쏮atis짯se mit zwei CCDs. Im Unter짯schied zu Thre짯ad짯rip짯per 1000 und 2000 sind hier jedoch die genann짯ten IO-Kom짯po짯nen짯ten nicht mehr짯fach vor짯han짯den, son짯dern nur ein짯fach im cIOD, egal ob ein oder zwei CCDs ver짯baut sind.

Der Hin짯ter짯ge짯dan짯ke ist klar: klei짯ne Dies sind ein짯fa짯cher und kos짯ten짯g체ns짯ti짯ger zu fer짯ti짯gen, auch die Aus짯beu짯te (Yield) ist h철her, als bei einem gro짯횩en mono짯li짯thi짯schen Die. Doch was ist aus der Pro짯kla짯ma짯ti짯on von nati짯ven x멚ern-Pro짯zes짯so짯ren gewor짯den, bei짯spiels짯wei짯se zur Markt짯ein짯f체h짯rung des AMD Phe짯nom, bei dem AMD als gro짯횩en Vor짯teil pries, dass er eben nicht aus zwei Dual-Core-Dies bestand, son짯dern aus einem 쐍ati짯ven Quad-Core-Die? Klei짯ne짯re Dies waren damals wie heu짯te ein짯fa짯cher und g체ns짯ti짯ger zu fer짯ti짯gen. Das Pro짯blem war damals jedoch, wie man meh짯re짯re Dies zusam짯men짯schal짯tet ohne dass die Leis짯tung dar짯un짯ter litt. Bei Intel wur짯de dies sei짯ner짯zeit 체ber den lang짯sa짯men Fronts짯ide-Bus bewerk짯stel짯ligt, was nicht wirk짯lich ide짯al war. In die rich짯ti짯ge Rich짯tung ging es bei sp채짯te짯ren AMD Opte짯rons (쏮agny Cours), die im Mul짯ti-Chip-Lay짯out 체ber Hyper짯Trans짯port ver짯bun짯den wur짯den. 횆hn짯lich wird es auch bei Thre짯ad짯rip짯per gemacht und auch hier bei Ryzen 3000 쏮atis짯se, nur dass nicht mehr Hyper짯Trans짯port zum Ein짯satz kommt, son짯dern das dar짯aus ent짯wi짯ckel짯te Infi짯ni짯ty Fabric. Erst damit ist die Band짯brei짯te hoch und die Latenz nied짯rig genug, dass man den Vor짯teil der klei짯ne짯ren Dies mit짯neh짯men kann ohne in Sachen Leis짯tung Ein짯bu짯횩en inkauf neh짯men zu m체ssen.

Die Lese짯ge짯schwin짯dig짯keit zwi짯schen CCD und cIOD liegt bei 32 B/cycle. Was die Gra짯fik nicht zeigt ist, dass die Schreib짯ge짯schwin짯dig짯keit nur 16 B/cycle betr채gt. AMD begr체n짯det dies damit, dass rei짯ne Schreib짯zu짯grif짯fe bei Desk짯top-Workloads eher sel짯ten sind und man so Die-Fl채짯che und Strom짯ver짯brauch spa짯ren woll짯te. Wir wer짯den sp채짯ter noch sehen, ob und wie sich das auswirkt.

Pr채sentation zu Ryzen 3000

Trotz der auf짯w채n짯di짯ge짯ren Rechen짯wer짯ke (z.B. dop짯pelt so brei짯te FPU) ist es AMD dank der neu짯en 7몁m-Fer짯ti짯gung von TSMC gelun짯gen, die Takt짯fre짯quen짯zen zu erh철짯hen, was im Zusam짯men짯spiel mit der h철he짯ren IPC und der optio짯nal je nach Modell erh철h짯ten Anzahl an Ker짯nen zu einer deut짯li짯chen Leis짯tungs짯stei짯ge짯rung f체h짯ren soll.

Pr채sentation zu Ryzen 3000

AMD ver짯spricht eine deut짯lich ver짯k체rz짯te 쐃ffek짯ti짯ve Spei짯cher짯la짯tenz. Das l채sst Spiel짯raum f체r Inter짯pre짯ta짯tio짯nen, denn die Aus짯la짯ge짯rung des IO-Bereichs und damit auch des Memo짯ry-Con짯trol짯lers in ein eige짯nes Die kann eigent짯lich nur zu l채n짯ge짯ren und nicht zu k체r짯ze짯ren Laten짯zen f체h짯ren gegen짯체ber einem inte짯grier짯ten Memo짯ry-Con짯trol짯ler; zumin짯dest nicht ohne Gegen짯ma횩짯nah짯men. Was AMD hier wohl meint ist, dass der ver짯gr철짯횩er짯te L3-Cache (쏥ame짯cache) sel짯te짯ner RAM-Zugrif짯fe erfor짯dert und falls doch, Ryzen 3000 쏮atis짯se dank der nun auch offi짯zi짯ell unter짯st체tz짯ten DDR4-3200 per Over짯clo짯cking nat체r짯lich noch viel mehr, aber dazu sp채짯ter die Daten schnel짯ler lie짯fern kann. Daher wohl die For짯mu짯lie짯rung 쐃ffek짯ti짯ve Spei짯cher짯la짯tenz. Die tat짯s채ch짯li짯che Spei짯cher짯la짯tenz, also vom Kom짯man짯do 쐆ey, die Daten sind nicht im Cache, ich brau짯che sie aus dem RAM bis zur Lie짯fe짯rung muss ob der Zustel짯lung 체ber Infi짯ni짯ty Fabric aus einem exter짯nen Die l채n짯ger dau짯ern. Auch das wer짯den wir pr체fen.

Pr채sentation zu Ryzen 3000

Pr채sentation zu Ryzen 3000

Win짯dows-Sche짯du짯ler
AMD-Pro짯zes짯so짯ren und die jewei짯li짯gen Win짯dows-Sche짯du짯ler ihrer Zeit waren nicht immer die bes짯ten Freun짯de. Man den짯ke nur an Win짯dows 7, das mit der eigen짯wil짯li짯gen Modul-Bau짯wei짯se der Bull짯do짯zer-Pro짯zes짯so짯ren nicht warm wur짯de und daher gepatcht wer짯den muss짯te oder die dama짯li짯gen K8 Dual-Cores, die sich als Hyper짯Th짯re짯a짯ding-Pro짯zes짯so짯ren aus짯ge짯ben muss짯ten, weil Win짯dows XP Home kei짯nen SMP-Sup짯port bot. Und auch mit der j체ngs짯ten Zen-Archi짯tek짯tur arbei짯tet der Sche짯du짯ler von Win짯dows 10 nicht opti짯mal zusam짯men, denn die짯ser kann nicht unter짯schei짯den zwi짯schen nahen Ker짯nen inner짯halb eines CCX und fer짯nen Ker짯nen in einem ande짯ren CCX oder gar einem ande짯ren CCD. F체r den Win짯dows-Sche짯du짯ler ist oder war Zen bis짯her ein mono짯li짯thi짯scher 8멚ern-Pro짯zes짯sor.

Seit Win짯dows 10 쏮ay 2019 Update ali짯as Ver짯si짯on 1903 soll die짯ses Pro짯blem nun beho짯ben sein. Dank 쏷opo짯lo짯gy Awa짯re짯ness erkennt der Win짯dows-Sche짯du짯ler nun, dass es bes짯ser ist, meh짯re짯re Threads eines Tasks inner짯halb eines CCX ablau짯fen zu las짯sen, da hier die Laten짯zen am k체r짯zes짯ten sind, statt die Last wahl짯los 체ber die CCX hin짯weg zu ver짯tei짯len. Das soll je nach Workload zu h철he짯rer Leis짯tung f체h짯ren. Von die짯ser Ver짯bes짯se짯rung pro짯fi짯tiert im 체bri짯gen nicht nur Zen 2, son짯dern auch die bis짯he짯ri짯gen Zen-Pro짯zes짯so짯ren, sodass Win짯dows-10-User ein bal짯di짯ges Upgrade auf v1903 in Erw채짯gung zie짯hen sollten.

CPPC2
Eine wei짯te짯re 횆nde짯rung dies짯be짯z체g짯lich aller짯dings ist daf체r zwin짯gend eine Zen-2-CPU erfor짯der짯lich betrifft die Art und Wei짯se, wie die Takt짯fre짯quenz in Abh채n짯gig짯keit von der Last gesteu짯ert wird. Bei bis짯he짯ri짯gen AMD-CPUs erfolg짯te dies 체ber die P멣tates. Die짯se sind jedoch rela짯tiv tr채짯ge. Gera짯de bei Workloads, die aus dem Idle her짯aus nur kurz짯zei짯tig Leis짯tung for짯dern, z. B. Sur짯fen, ver짯weilt eine her짯k철mm짯li짯che CPU unn철짯tig lan짯ge auf nied짯ri짯ger Fre짯quenz und bis die vol짯le Leis짯tung anliegt, ist die Auf짯ga짯be schon erledigt.

Bei Intel ist daher seit Sky짯la짯ke eine Tech짯nik namens Speed Shift im Ein짯satz, die es der CPU erm철g짯licht, das Rauf- und Run짯ter짯tak짯ten selbst zu steu짯ern und damit wesent짯lich flin짯ker auf Last짯채n짯de짯run짯gen zu reagie짯ren als auf her짯k철mm짯li짯chem Weg. Daf체r war die Unter짯st체t짯zung per Betriebs짯sys짯tem erfor짯der짯lich, was seit Win짯dows 10 Ver짯si짯on 1511 der Fall ist.

Eine 채hn짯li짯che Steue짯rung ist nun auch in Zen 2 imple짯men짯tiert. Sie nutzt das UEFI-Fea짯ture 쏞ol짯la짯bo짯ra짯ti짯ve Power and Per짯for짯mance Con짯trol (CPPC2) wie in den ACPI5.1멣pezifikationen unter Absatz 8.4.5 beschrie짯ben. Zur Frei짯schal짯tung ist neben Win짯dows 10 Ver짯si짯on 1903 der AMD-Chip짯satz-Trei짯ber ab Ver짯si짯on 1.07.07.0725 erfor짯der짯lich. So soll eine D채um짯chen dre짯hen짯de Zen-2-CPU in 1 bis 2 ms aus dem Quark kom짯men statt in ca. 30 ms wie unter bis짯he짯ri짯gen Umst채n짯den via P멣tates.