|
|
Line 4: |
Line 4: |
| |name=Zen 3 | | |name=Zen 3 |
| |designer=AMD | | |designer=AMD |
− | |manufacturer=TSMC
| |
− | |manufacturer 2=GlobalFoundries
| |
− | |introduction=October 8, 2020
| |
− | |process=7nm, 12nm
| |
− | |cores=64
| |
− | |cores 2=56
| |
− | |cores 3=48
| |
− | |cores 4=32
| |
− | |cores 5=28
| |
− | |cores 6=24
| |
− | |cores 7=16
| |
− | |cores 8=12
| |
− | |cores 9=8
| |
− | |cores 10=6
| |
− | |type=Superscalar
| |
− | |oooe=Yes
| |
− | |speculative=Yes
| |
− | |renaming=Yes
| |
− | |stages=19
| |
− | |decode=4-way
| |
− | |isa=x86-64
| |
− | |extension=MOVBE
| |
− | |extension 2=MMX
| |
− | |extension 3=SSE
| |
− | |extension 4=SSE2
| |
− | |extension 5=SSE3
| |
− | |extension 6=SSSE3
| |
− | |extension 7=SSE4A
| |
− | |extension 8=SSE4.1
| |
− | |extension 9=SSE4.2
| |
− | |extension 10=POPCNT
| |
− | |extension 11=AVX
| |
− | |extension 12=AVX2
| |
− | |extension 13=AES
| |
− | |extension 14=PCLMUL
| |
− | |extension 15=FSGSBASE
| |
− | |extension 16=RDRND
| |
− | |extension 17=FMA3
| |
− | |extension 18=F16C
| |
− | |extension 19=BMI
| |
− | |extension 20=BMI2
| |
− | |extension 21=RDSEED
| |
− | |extension 22=ADCX
| |
− | |extension 23=PREFETCHW
| |
− | |extension 24=CLFLUSHOPT
| |
− | |extension 25=XSAVE
| |
− | |extension 26=SHA
| |
− | |extension 27=UMIP
| |
− | |extension 28=CLZERO
| |
− | |extension 29=VAES
| |
− | |extension 30=VPCLMUL
| |
− | |predecessor=Zen 2
| |
− | |predecessor link=amd/microarchitectures/zen 2
| |
− | |successor=Zen 4
| |
− | |successor link=amd/microarchitectures/zen 4
| |
− | }}
| |
− | '''Zen 3''' is a [[microarchitecture]] developed by [[AMD]] as a successor to {{\\|Zen 2}}. It was publicly released on October 8, 2020. Mainstream Desktop processors hit shelves on November 5, 2020.
| |
− |
| |
− | == History ==
| |
− | [[File:amd zen future roadmap.jpg|400px|right]]
| |
− | Zen 3 was formally disclosed in a roadmap by Lisa Su, AMD's CEO, during AMD's Tech Day in February of 2017. Zen 3 will be the 3rd iteration of the {{\\|Zen}} microarchitecture. On Investor's Day in May 2017 Jim Anderson, AMD Senior Vice President, confirmed that Zen 3 is set to utilize [[7nm+ process]].
| |
− |
| |
− | == Products ==
| |
− | [[File:amd zen2-3 roadmap.png|400px|right]]
| |
− | {{future information}}
| |
− |
| |
− | {| class="wikitable"
| |
− | |-
| |
− | ! Processor Series !! Cores/Threads !! Market
| |
− | |-
| |
− | | EPYC 7003 "{{amd|Milan|l=core}}" || Up to 64/128 || High-end server [[multiprocessors]]
| |
− | |-
| |
− | | {{amd|Trento|l=core}}<!--s/a Milan page--> || ?/? || High-performance computing
| |
− | |-
| |
− | | Ryzen Threadripper 5900 "{{amd|Chagall|l=core}}" || Up to 64/128 || Workstation processors
| |
− | |-
| |
− | | Ryzen 5000 "{{amd|Vermeer|l=core}}" || Up to 16/32 || Mainstream to high-end desktops & enthusiasts market processors
| |
− | |-
| |
− | | Ryzen 5000 APU "{{amd|Cezanne|l=core}}" || Up to 8/16 || Mainstream desktop & mobile processors with integrated GPU
| |
− | |}
| |
− |
| |
− | == Process technology ==
| |
− | Zen 3 is fabricated on [[TSMC]]'s [[7 nm process|7nm+ process]] for the Core Compute Die (CCD), the same process used in Zen 2 Refresh processors, as well as [[GlobalFoundries]] [[14 nm process|12nm process]] for the Input/Output Die (IOD).
| |
− |
| |
− | Note: Only the APU series of microprocessors retains the monolithic design, so they are fabricated solely on [[TSMC]]'s [[7 nm process|7nm+ process]].
| |
− |
| |
− | == Architecture ==
| |
− |
| |
− | === Key changes from {{\\|Zen 2}} ===
| |
− | * CCD
| |
− | ** Unified 8-core CCX (from 2x 4-Core CCX per CCD)
| |
− | ** 32 MiB L3$ available equally to all cores in CCD.
| |
− | *** Increased L3 latency (~46 cycles, up from ~40 cycles)
| |
− | * Core
| |
− | ** Higher [[IPC]] (AMD self-reported +19% IPC)
| |
− | ** Front-end
| |
− | ** Increased branch prediction bandwidth
| |
− | *** "zero-bubble" branch prediction
| |
− | *** L1 BTB doubled from 512 to 1024 entries
| |
− | ** Improved prefetching
| |
− | ** Improved µop cache
| |
− | * Back-end
| |
− | ** Floating point unit:
| |
− | *** FMA latency reduced by 1 cycle from 5 to 4.
| |
− | *** Fifth and sixth dedicated execution ports added for floating point store and FP-to-int transfer, no longer sharing 2nd FADD port.
| |
− | *** Unified scheduler split into 1 scheduler per FMA/FADD/transfer port set.
| |
− | *** 256b VAES and VPCLMULDQ support for doubled AES and AES-GCM cryptographic throughput.
| |
− | *** Hardware implementation of BMI2 PDEP/PEXT bit scatter/gather operations, compared to prior microcode emulation.
| |
− | ** Integer unit:
| |
− | *** Integer physical register file increased from 180 to 192 entries
| |
− | *** Issue increased from 7 (existing 4 ALU and 3 AGU) to 10 with 1 new dedicated branch execution port and 2 separated store data pathways.
| |
− | *** Schedulers shared between pairs of ALU + AGU/branch ports instead of dedicated for each.
| |
− | *** Instruction redundancy increased between ports for reduced bottlenecking on a wider variety of instruction streams.
| |
− | *** 8/16/32/64 bit signed integer division/modulo latency improved from 17/22/30/46 cycles to 10/12/14/20. (Unsigned operations are ~1 cycle faster for some of both old/new cases.) Throughput improves proportionately.
| |
− | ** Load/store:
| |
− | *** Load throughput increased from 2 to 3, if not 256b.
| |
− | *** Store throughput increased from 1 to 2, if not 256b.
| |
− | *** Store queue increase from 48 to 64 slots.
| |
− | *** Page table walkers tripled from 2 to 6 for TLB miss handling.
| |
− | {{expand list}}
| |
− |
| |
− | === New Instructions ===
| |
− | Zen 3 introduced the following ISA enhancements:
| |
− |
| |
− | * {{x86|VAES}} - 256-bit Vector AES instructions
| |
− | ** <code>VAESDEC</code> - AES Decryption Round
| |
− | ** <code>VAESDECLAST</code> - AES Last Decryption Round
| |
− | ** <code>VAESENC</code> - AES Encryption Round
| |
− | ** <code>VAESENCLAST</code> - AES Last Encryption Round
| |
− | * <code>{{x86|VPCLMULQDQ}}</code> - 256-bit Vector Carry-Less Multiplication of Quadwords
| |
− | * {{x86|PCID}} - Process Context Identifiers
| |
− | ** <code>{{x86|INVPCID}}</code> - Invalidate TLB entry(s) in a specified PCID
| |
− | * {{x86|INVLPGB}} - Broadcast TLB flushing
| |
− | ** <code>INVLPGB</code> - Invalidate TLB entry(s) with broadcast to all processors
| |
− | ** <code>TLBSYNC</code> - Synchronize TLB invalidations
| |
− | * {{x86|PKU}} - Memory Protection Keys for Users
| |
− | ** <code>RDPKRU</code> - Read Protection Key Rights
| |
− | ** <code>WRPKRU</code> - Write Protection Key Rights
| |
− | * {{x86|CET|CET_SS}} - Control-flow Enforcement Technology / Shadow Stack
| |
− | ** <code>CLRSSBSY</code>, <code>INCSSP</code>, <code>RDSSP</code>, <code>RSTORSSP</code>, <code>SAVEPREVSSP</code>, <code>SETSSBSY</code>, <code>WRSS</code>, <code>WRUSS</code>
| |
− | * {{x86|SME|SEV-SNP}} - 3rd generation Secure Encrypted Virtualization - Secure Nested Paging
| |
− | ** <code>PSMASH</code>, <code>PVALIDATE</code>, <code>RMPADJUST</code>, <code>RMPUPDATE</code>
| |
− | * {{x86|PSFD}} - Predictive Store Forwarding Disable (Speculation Control MSR)<ref name="amd-psf"/>
| |
− |
| |
− | Sources: <ref name="amd-24593-apm2"/><ref name="amd-24594-apm3"/><ref name="amd-26568-apm4"/>
| |
− |
| |
− | === Memory Hierarchy ===
| |
− | ==== Data and Instruction Caches ====
| |
− | * L0 Op Cache:
| |
− | ** 4,096 Ops per core, 8-way set associative
| |
− | ** 8 Op line size
| |
− | ** Parity protected
| |
− | * L1I Cache:
| |
− | ** 32 KiB per core, 8-way set associative
| |
− | ** 64 B line size
| |
− | ** Parity protected
| |
− | * L1D Cache:
| |
− | ** 32 KiB per core, 8-way set associative
| |
− | ** 64 B line size
| |
− | ** Write-back policy
| |
− | ** 4-5 cycles latency for Int
| |
− | ** 7-8 cycles latency for FP
| |
− | ** ECC
| |
− | * L2 Cache:
| |
− | ** 512 KiB per core, 8-way set associative
| |
− | ** 64 B line size
| |
− | ** Write-back policy
| |
− | ** Inclusive of L1
| |
− | ** ≥ 12 cycles latency
| |
− | ** {{abbr|DEC-TED}} ECC, tag & state arrays {{abbr|SEC-DED}}<!--7 check bits for 42 tag bits; AMD-55898-0.50 Sec 3.5-->
| |
− | * L3 Cache:
| |
− | ** "{{amd|Milan|l=core}}" & "{{amd|Chagall|l=core}}": 32 MiB/CCX, up to 256 MiB total
| |
− | ** "{{amd|Vermeer|l=core}}": 32 MiB/CCX, up to 64 MiB total
| |
− | ** "{{amd|Cezanne|l=core}}": 16 MiB, 8 MiB usable on some SKUs
| |
− | ** Shared by all cores in the {{abbr|CCX}}, configurable<ref name="amd-56375-qos"/>
| |
− | ** 16-way set associative
| |
− | ** 64 B line size
| |
− | ** L2 [[victim cache]]
| |
− | ** Write-back policy
| |
− | ** 46 cycles average load-to-use latency
| |
− | ** DEC-TED ECC, tag array & shadow tags SEC-DED<!--AMD-55898-0.50 Sec 3.5-->
| |
− | ** QoS Monitoring and Enforcement V2.0
| |
− |
| |
− | ==== Translation Lookaside Buffers ====
| |
− | * ITLB
| |
− | ** 64 entry L1 TLB, fully associative, all page sizes
| |
− | ** 512 entry L2 TLB, 8-way set associative
| |
− | *** 4-Kbyte and 2-Mbyte pages
| |
− | ** Parity protected
| |
− | * DTLB
| |
− | ** 64 entry L1 TLB, fully associative, all page sizes
| |
− | ** 2,048 entry L2 TLB, 16-way set associative
| |
− | *** 4-Kbyte and 2-Mbyte pages, PDEs to speed up table walks
| |
− | ** Parity protected
| |
− |
| |
− | All caches and TLBs are competitively shared in multi-threaded mode.
| |
− |
| |
− | ==== System DRAM ====
| |
− | * EPYC 7003 "{{amd|Milan|l=core}}":
| |
− | ** 8 channels per socket, up to 16 DIMMs, max. 4 TiB
| |
− | ** Up to PC4-25600L (DDR4-3200)
| |
− | ** {{abbr|SR}}/{{abbr|DR}} {{abbr|RDIMM}}, {{abbr|4R}}/{{abbr|8R}} {{abbr|LRDIMM}}, {{abbr|3DS DIMM}}, {{abbr|NVDIMM-N}}
| |
− | ** ECC supported (x4, x8, x16, chipkill)<!--AMD-55898-0.50 Sec 3.7-->
| |
− | ** DRAM bus parity and write data CRC options<!--ibid-->
| |
− |
| |
− | * Ryzen Threadripper 5900 "{{amd|Chagall|l=core}}":
| |
− | ** 8 channels, up to 8 DIMMs, max. 2 TiB
| |
− | ** Up to PC4-25600L (DDR4-3200)
| |
− | ** SR/DR {{abbr|UDIMM}}, RDIMM, LRDIMM, 3DS DIMM
| |
− | ** ECC supported
| |
− |
| |
− | * Ryzen 5000 "{{amd|Vermeer|l=core}}":
| |
− | ** 2 channels, up to 4 DIMMs, max. 128 GiB
| |
− | ** Up to PC4-25600U (DDR4-3200 UDIMM), ECC supported
| |
− |
| |
− | * Ryzen 5000 APU "{{amd|Cezanne|l=core}}":
| |
− | ** {{amd|Socket AM4|l=pack}}:
| |
− | *** 2 channels, up to 4 DIMMs, max. 128 GiB
| |
− | *** Up to PC4-25600U (DDR4-3200 UDIMM), ECC supported ("PRO" models)
| |
− | ** {{amd|FP6|FP6 package|l=pack}}, DDR4 mode:
| |
− | *** 2 × 64-bit channels, up to 2 DIMMs, max. 64 GiB
| |
− | *** Up to PC4-25600U (DDR4-3200 UDIMM), ECC supported(?)
| |
− | ** FP6 package, LPDDR4 mode:
| |
− | *** 4 × 32-bit channels, max. 32 GiB
| |
− | *** Up to LPDDR4X-4266
| |
− |
| |
− | Sources: <ref name="amd-56375-qos"/><ref name="amd-56665-sog-19h"/><ref name="amd-55898-ppr-1901-0.35"/><ref name="amd-55898-ppr-1901-0.50"/><ref name="amd-56178-mdg-fp6"/>
| |
− |
| |
− | == All Zen 3 Chips ==
| |
− |
| |
− | <!-- NOTE:
| |
− | This table is generated automatically from the data in the actual articles.
| |
− | If a microprocessor is missing from the list, an appropriate article for it needs to be
| |
− | created and tagged accordingly.
| |
− |
| |
− | Missing a chip? please dump its name here: http://en.wikichip.org/wiki/WikiChip:wanted_chips
| |
− | -->
| |
− | {{comp table start}}
| |
− | <table class="comptable sortable tc13 tc14 tc15 tc16 tc17 tc18 tc19">
| |
− | {{comp table header|main|20:List of all Zen 3-based Processors}}
| |
− | {{comp table header|main|12:Processor|4:Features}}
| |
− | {{comp table header|cols|Price|Process|Launched|Family|Core|C|T|TDP|L3|Base|Turbo|Max Mem|SMT|SEV|SME|TSME}}
| |
− | {{comp table header|lsep|25:[[Uniprocessors]]}}
| |
− | {{#ask: [[Category:microprocessor models by amd]] [[instance of::microprocessor]] [[microarchitecture::Zen 3]] [[max cpu count::1]]
| |
− | |?full page name
| |
− | |?model number
| |
− | |?release price
| |
− | |?process
| |
− | |?first launched
| |
− | |?microprocessor family
| |
− | |?core name
| |
− | |?core count
| |
− | |?thread count
| |
− | |?tdp
| |
− | |?l3$ size
| |
− | |?base frequency#GHz
| |
− | |?turbo frequency#GHz
| |
− | |?max memory#GiB
| |
− | |?has simultaneous multithreading
| |
− | |?has amd secure encrypted virtualization technology
| |
− | |?has amd secure memory encryption technology
| |
− | |?has amd transparent secure memory encryption technology
| |
− | |format=template
| |
− | |template=proc table 3
| |
− | |userparam=18:15
| |
− | |mainlabel=-
| |
− | |valuesep=,
| |
− | |limit=100
| |
− | }}
| |
− | {{comp table header|lsep|25:[[Multiprocessors]] (dual-socket)}}
| |
− | {{#ask: [[Category:microprocessor models by amd]] [[instance of::microprocessor]] [[microarchitecture::Zen 3]] [[max cpu count::>>1]]
| |
− | |?full page name
| |
− | |?model number
| |
− | |?release price
| |
− | |?process
| |
− | |?first launched
| |
− | |?microprocessor family
| |
− | |?core name
| |
− | |?core count
| |
− | |?thread count
| |
− | |?tdp
| |
− | |?l3$ size
| |
− | |?base frequency#GHz
| |
− | |?turbo frequency#GHz
| |
− | |?max memory#GiB
| |
− | |?has simultaneous multithreading
| |
− | |?has amd secure encrypted virtualization technology
| |
− | |?has amd secure memory encryption technology
| |
− | |?has amd transparent secure memory encryption technology
| |
− | |format=template
| |
− | |template=proc table 3
| |
− | |userparam=18:15
| |
− | |mainlabel=-
| |
− | |valuesep=,
| |
− | |limit=100
| |
− | }}
| |
− | {{comp table count|ask=[[Category:microprocessor models by amd]] [[instance of::microprocessor]] [[microarchitecture::Zen 3]]}}
| |
− | </table>
| |
− | {{comp table end}}
| |
− |
| |
− | == Designers ==
| |
− | * Mark Evers, Chief Architect
| |
− |
| |
− | == Bibliography ==
| |
− | * AMD 'Tech Day', February 22, 2017
| |
| * AMD 2017 Financial Analyst Day, May 16, 2017 | | * AMD 2017 Financial Analyst Day, May 16, 2017 |
| | | |