After the launch of the new Ryzen 3000 series processors from AMD, there are numerous comparisons on the Internet that check them in various ways. One of the most interesting tests, which appeared on techpowerup.com, was to analyze the performance of a Ryzen 9 3900X using different DDR4 memory clocks.
So far, it has been believed that memory has been both the Achilles heel and the source of the highest performance gains for Ryzen processors. In the first two generations of these chips, the memory clock was synchronized with Infinity Fabric, which is the element responsible for communication inside the chip. Increasing the frequency of the RAM to a certain point caused an increase in the clock rate and capacity of Infinity Fabric, but after exceeding a certain, hard to determine limit, data transfers within the processor were destabilized.
How does it work?
In the third generation of Ryzens, based on the Zen 2 architecture, the memory controller has been separated from the CPU cores. On the one hand, this was to prevent problems similar to those described above, and on the other hand, it was necessary to modify the CPU so it can cope with the greater capacity demand of a chipset with up to twice as many cores. The topology of the new processors is shown in the diagram below.
New AMD processors have two (CCD + cIOD) or three (2x CCD + cIOD) kernels under the chassis, depending on the number of cores. Each CCD kernel (Core Chiplet Die) contains two CCX kernels, with four Zen 2 cores each and 16 MB of shared L3 memory. In addition, the chip also has a cIOD kernel (coherent I/O Die), supporting internal and external communication of the CPU, in which the memory controller and additional interface controllers have been located. Data transfer is provided by 100 GB/s Infinity Fabric connections, whose frequency may be associated with RAM clock, but they can also be independently configured to give you more room to manoeuvre when overclocking. This is how the new Ryzen looks like under the hood (with a lot of simplification).
A few comments and reference points
The purpose of this benchmark was to test how dual-channel DDR4-2400, DDR4-2666, DDR4-3000, DDR4-3200, DDR4-3600 and DDR4-4000 and single-channel DDR4-3200 memory affects the performance of the CPU. In previous generations it was very difficult to achieve such high clock rates, but the new chips allow us to think of memory frequencies up to 5000 MHz.
However, the testers failed to test the performance at 3733 MHz memory frequency, which is recommended by AMD, because... the processor was unable to overclock Infinity Fabric to the necessary 1867 MHz and stopped at 1800 MHz.
At the moment, it seems that the DDR4-2400 is a base frequency that offers virtually 100% reliability. The DDR4-2666 is a standard set by JEDEC - the dice with this clocking offers the best price per gigabyte. DDR4-2933 is AMD's recommended OC memory for Threadripper processors. DDR4-3200 is recommended for first generation Ryzen processors. The 3600 MHz frequency is available to the Ryzenes of the second generation, while the DDR4-4000 is a pass to the zone for the lucky and enthusiasts.
But let's leave the theory aside and see how the performance of the Ryzen 9 3900X processor has (or hasn't) increased with higher memory clocks. For the record, let's present the test platform:
- CPU: AMD Ryzen 9 3900X (12-cores / 24 threads), Zen 2, 3.8 GHz to 4.6 GHz
- Motherboard: ASRock X570 Taichi (AMD X570, BIOS v1.30)
- Memory: 2x 8 GB G.SKILL Flare X DDR4 / 2x 8 GB G.SKILL Flare X DDR4
- GPU: EVGA GeForce RTX 2080 Ti FTW3 Ultra
- Storage: 1 TB SSD
- Power supply: Seasonic SS-860XP
- OS: Windows 10 Professional 64-bit - Compilation 1903 (May 2019 Update)
- Drivers: NVIDIA GeForce 430.63 WHQL / AMD MCP 1.07.07.0725
Performance in applications
Performance in games at 720p
Performance in games at 1080p
It seems that the third generation of Ryzens is quite affected by memory overclocking and allows for easy overclocking beyond 3600 MHz, which was unattainable for most of the previous generation of chips. Reaching a 4000 MHz is also not a problem.
Looking at the results in applications, the average increase in CPU performance after changing memory timing from 2400 MHz to 3600 MHz was about 5%. However, if you look closer at the results, you can see that some applications prefer higher memory clocks, while others "prefer" lower access times.
Games are a different story because they usually need more bandwidth than applications. It seems that the demand for memory depends on the number of displayed frames per second, because each additional frame is a necessity to calculate additional parameters. At higher resolutions, when the GPU limits fps, the CPU simply has less work to do. After changing the memory clock from 2133 MHz to 3200 MHz, the increase in performance at 720p resolution was about 10%, while at 1080p resolution it was 7%. There are, of course, some exceptions, but to achieve such a performance jump by purchasing a new memory can be cheaper than investing in a new graphics card.
Is it worthwhile to try with a clock above 4000 MHz? The test authors claim that it is not necessarily - mainly due to Infinity Fabric, which is difficult to convince to work above 1800 MHz.
Please also remember that any overclocking or changing of settings must be done with care and caution. A poorly performed overclocking at best will result in the motherboard automatically returning to its factory settings, and at worst can lead to damage to components.