AMD Epyc 7000-serien

models.png
EPYC 7000.png

Trots att antal kärnor, klockfrekvenser och maximal TDP skiljer mellan de olika modellerna har samtliga stöd för åtta DDR4-minneskanaler i upp till 2 666 MHz och hela 128 PCI Express-kanaler. Detta gör att varje Epyc-processor har stöd för flest minneskanaler och PCI Express i samtliga segment.

Att samtliga har samma I/O-stöd är också anledningen till att instegsmodellen Epyc 7251 har ett TDP-värde på 120 W, vilket är högt med tanke på att den endast har 8 kärnor och 16 trådar i 2,1–2,9 GHz. Inuti själva processorkapseln huserar fortfarande fyra stycken kretsar för att möjliggöra åtta minneskanaler och massvis av PCI Express-kanaler.

Enorm kapacitet och bandbredd

Med åtta minneskanaler per sockel och upp till två minnesstickor per kanal har en sockel stöd för upp till 2 TB DDR4-minne, vilket med en hastighet på 2 666 MHz ger en bandbredd på hela 290 GB/s. Detta att jämföra mot 118 GB/s för en fullt bestyckad Intel Xeon E5-2690V4-processor. AMD Epyc har stöd för minnestyperna RDIMM, LRDIMM, NVDIMM-N och 3DS DIMM.

minnesbandbredd.png
minnesbandbredd2.png

Om vi fördjupar oss i I/O-systemet återfinns här nästa stora revolution. Genom totalt åtta PCI Express 3.0 x16-kanaler kan upp till åtta enheter, vilka drar nytta av en dubbelriktad bandbredd på 32 GB/s per länk eller 256 GB/s per sockel, användas simultant.

PCIe.png

Sett till grafikkort kan upp till sex användas samtidigt utan att blanda in någon extra PCI Express-switch. På samma sätt kan 24 stycken NVME-baserade SSD-enheter användas utan extra kretsar. Allt detta samtidigt som det finns stöd för 16 minnesplatser och Ethernet. Hur antalet kanaler ska konfigureras är upp till partnertillverkare och kunderna själva.

Utöver detta har Epyc en integrerad sydbrygga med stöd för bland annat fyra USB 3.0, två SMBus, sex I2C, FPIO, allehanda timers och UART:s, vilket gör att varje processor är en äkta systemkrets (eng. system-on-a-chip, SoC). Att ha detta integrerat menar AMD leder till lägre fördröjningar och högre prestanda till en lägre effektförbrukning.

Sammanlänkade kretsar

Nästa nyhet med EPYC är den interna kommunikationen och kommunikationen mellan två socklar. Varje processor är baserad på fyra interna kretsar vilka är sammanlänkade med vad AMD kallar Infinity Fabric. Denna länk har en intern dubbelriktad bandbredd på 42 GB/s, vilken gör att all data blir tillgänglig inom ett hopp oavsett var den är placerad.

infinity fabric.png
S2S.png

Samma Infinity Fabric används för att länka två socklar mellan varandra, där i detta fall respektive processor länkar direkt till en motsvarande på den andra processorn med en total bandbredd på 152 GB/s. Detta medför att all data är tillgänglig inom maximalt två hopp. Den största fördelen med länkningen som AMD lyfter fram är att beräkningskapaciteten skalar snudd på optimalt, med en prestandavinst på 98 procent med två processorer istället för en.

2sock.png
skalbarhet.png
1-kontra 2 sock prestanda.png
2-sock prestanda.png

Zen-arkitekturen

AMD Epyc baseras på Zen, vilket bland annat innebär 4 heltalsenheter som hanterar 168 register och 192 löpande instruktioner. Till detta finns vi dubbla Load/Store med stöd för Smart Prefetch och dubbla flyttalsenheter, där bland annat dubbla AES-enheter med stöd för SHA-instruktioner finns.

Till detta har hela cache-systemet byggts om sedan Bulldozer. Här har AMD bland annat ökat antalet LD Q och ST Q till 72 respektive 44 stycken. Dessutom har AMD infört en Micro-op cache på 2 KB. L1-cacheminnet är fördelat på I- och D-cache är totalt 96 KB, L2-cachen på 512 KB och L3-cachen på 2 MB per kärna. Samtidigt har AMD lyckats minska fördröjningen för samtliga nivåer med uppemot 250 procent.

Detta kompletteras sedan med en uppsättning nya instruktioner i form av; ADX, RDSEED, SMAP, SHA1/SHA256, CLFLUSHOPT, XSAVEC, MWAIT C1 och det helt AMD-specifika CLZERO och PTE Coalescing, för att dels rensa cachen och dels kombinera 4 KB-page tables till 32 KB-storlek.