Let the new AMD Ryzen processors not become one of the best choice for assembling high-performance personal computers, but they managed to outstrip Intel’s competitors by the amount of attention that they could attract to themselves. This was not only due to the fact that the computer community was yearning for a full-fledged rivalry in the processor market. A significant contribution to the uproar has also contributed to the fact that Ryzen is characterized by an unexpected performance profile for many. They have a very good level of performance in applications for creating and processing digital content, but for some reason they can not be fully revealed in gaming tasks. And as a result, while in resource-intensive tasks the senior representatives of the Ryzen 7 line quite freely compete with the flagships of the Core i7 series, the average gamer performance of the new AMD chips is somewhere at the Core i5 level, which serves as an inexhaustible source for heated discussions.
I must say that the leitmotif of these debates, which AMD fans are beginning to see, looks something like this: let’s wait, comrades, for better times. We’ll wait for Microsoft to optimize the Ryzen scheduler in its operating system, when motherboard manufacturers will make some magical adjustments to the BIOS code, when game developers will release fixes for popular games and begin to take into account the features of the Zen microarchitecture in fresh projects – well, and many other ” when”. Meanwhile, since the announcement of Ryzen has been almost a month and a half, and the situation with the performance in the games if it moved from the original point, it’s not that fundamentally.
Still, it’s not hopeless at all. Effective ways to improve the gaming performance of platforms based on Ryzen is, they are well known, and anyone can use them right now. There are two of them: overclocking the processor and increasing the speed characteristics of the memory subsystem. As for overclocking, everything is simple with it: Ryzen 7 and Ryzen 5 are completely unlocked processors, and with simple manipulations with the settings of their frequencies it is possible to raise to 3.8-4.0 GHz. Although such overclocking does not seem to be very significant, it really increases the frame rate in popular games.
The second approach – the skillful adjustment of the parameters of the memory subsystem – is not so straightforward, but it also gives very good results. The Ryzen memory controller is one of the weak points of AMD’s new processor design. As we found in our previous reviews, it does not have very impressive characteristics of bandwidth and latency, it does not work with the high-frequency versions of DDR4 SDRAM available on the market, it has limited compatibility with the modules of a certain organization and has fastened to the manufacturer of memory chips. However, practice shows: if all the vagaries of the controller can be met, then the performance of Ryzen significantly increases. This is partly due to the fact that the speed of data exchange between the processor and memory for many modern tasks is a very significant characteristic. In part, the reason for good performance scalability is related to the fact that the speed of internuclear interaction and, ultimately, the speed of the third-level cache memory, directly related to the memory performance in Ryzen
Therefore, when building systems based on Ryzen, the choice of memory should be paid special attention. Overclocking the processor depends largely on luck at the stage of purchase, but how it will be possible to configure the memory depends primarily on its correct selection. This means that it is advisable to know about all the intricacies of the Ryzen memory controller in advance, even before you start to choose the accessories. In order to clarify this subtle point, we decided to conduct a separate study, which will show how the parameters of the memory subsystem affect Ryzen’s performance and how to select the DDR4 SDRAM modules with which this processor can work optimally.
⇡ # DDR4 support in Ryzen: official position
The memory controller implemented in the Ryzen family of processors has a dual-channel architecture, supports a maximum of two DDR4 SDRAM modules in each channel and, according to the official position, is able to work with DDR4-2133 / 2400/2667 SDRAM. However, the maximum memory frequency is not always attainable: additional restrictions arise if each channel has not one, but two modules, or when these modules are two-circuit (that is, they combine two chipsets from 64 on one memory bar Bit bus).
As a result, the limiting mode of DDR4-2666 laid down in official specifications is possible only for peer-to-peer modules, provided they are installed one at a time in each channel. And in general, the situation with the maximum guaranteed memory frequency is determined by the following table:
|The number of channels||The number of ranks||The number of DIMM modules||The maximum frequency|
At the same time, the numbers given in the table are not an unshakable limit. They only reflect the vision of the issue by AMD engineers. In some cases, to the designated boundaries, you can add some memory overclocking. True, even in the most favorable case of opportunities there is not so much. The set of dividers for the DDR4 SDRAM frequency offered by the Ryzen memory controller is relatively narrow. The fastest mode that allows the processors of this family to activate is DDR4-3200, and the step in the memory frequency is 266 MHz, that is, between DDR4-2666 and DDR4-3200 there is only one more intermediate version – DDR4-2933.
But all available modes are quite workable, and with proper selection of modules, you can get a memory subsystem with a peak bandwidth of 51.2 GB / s (two channels DDR4-3200). The only problem is that in high-speed modes with Ryzen processors, not all memory modules are able to work, even if they are claimed high passports frequencies.
In order not to make a mistake with the choice, AMD recommends checking against the lists of motherboard modules approved by the motherboard manufacturers: in the case of the Socket AM4 platform, such lists do not just make sense, but should become the direct purchase guide. AMD itself advises to pay attention to three sets, which, most likely, will be able to take the frequency of 3200 MHz on any motherboard:
- Geil EVO X – GEX416GB3200C16DC (16-16-16-36 @ 1.35 V);
- G.Skill Trident Z-F4-3200C16D-16GTZR (16-18-18-36 @ 1.35V);
- Corsair CMK16GX4M2B3200C16 (16-18-18-36 @ 1.35 V).
As explained by AMD representatives, guaranteed at a high frequency with Ryzen run and stable memory sets that consist of a pair of 8 GB modules built on 8-Gbit chips of Samsung second generation (B-die) – the most valued enthusiasts basis for modern overclockers memory. That is, memory on 8-gigabit Samsung chips is the most favorable option for Ryzen in general. Modules based on chips made by Hynix, especially dual-storage, with a capacity of 16 GB, it is recommended to avoid whenever possible. With them, the maximum achievable memory frequency is likely to be severely limited.
At the same time, representatives of AMD add that, with proper selection of modules, DDR4-3200 is only a local maximum for this stage, and not an absolute limit. Over time, support for additional dividers for faster memory than DDR4-3200 SDRAM can be introduced into the Ryzen processors – through the new versions of the AGESA (AMD Generic Encapsulated Software Architecture) code, which will be integrated into the future BIOS of the motherboards. The company intends to send the necessary microcode to its partners in May, so if everything goes according to plan, the compatibility of the Socket AM4 platform with higher-frequency DDR4 modules may appear in the summer.
But a workaround option for especially persistent ones is even now: memory operation at a frequency of over 3200 MHz can be achieved by increasing the frequency of the basic clock generator (BCLK). However, in this case, special miracles should not be expected. The practically achievable limit of memory speed is around 3400-3600 MHz, and with further increase in its frequency the controller loses its ability to work stably. In other words, such overclocking gives not too noticeable results. And even more, BCLK deviation from the nominal 100 MHz for continuous operation is highly discouraged due to the fact that this value is used not only to form the processor and memory frequency, but also for the PCI Express processor bus. And this bus tolerates overclocking very badly, and if its frequency deviates from the nominal value by more than 5-7 percent, stability is maintained only when transferring PCI Express from mode 3.0 to slow mode 2.0 with halving bandwidth. For a graphics accelerator this is probably not a very serious loss, but NVMe-drives, which are also connected directly to the processor on the Socket AM4 platform, will lose half their maximum speed in this case. In addition, the operation of drives with overclocked PCI Express bus can lead to malfunctions and loss of data.
Guided by these considerations, many motherboard manufacturers have decided not to add functionality to their products to change the BCLK. In fact, only a few top-level platforms, such as ASUS Crosshair VI Hero, ASRock X370 Taichi, ASRock Fatal1ty X370 Professional Gaming and GIGABYTE GA-AX370-Gaming K7, actually change the base frequency. However, no special hardware solutions for managing BCLK are required, so it is possible that in the future this feature will be added to other motherboards via BIOS updates.
In addition, AMD constantly reminds that the memory frequency greatly affects the performance of systems with Ryzen, and company representatives strongly recommend trying to select for new processors such memory modules that will be able to work in high-bandwidth modes.
⇡ # Why the high frequency of DDR4 SDRAM is really important
We have long been accustomed to the fact that memory speed has little effect on system performance in applications. However, in the case of Ryzen, AMD tries to assure us of the opposite: as if the frequency and timings can affect the performance quite noticeably. And there are at least two explanations for this.
First, in comparison with the memory controllers of Intel processors, Ryzen memory controller is much slower. As practical tests show, real latencies in accessing memory in systems based on Ryzen are one and a half to two times higher than in modern Intel systems. Here, for example, how does the memory controller of new AMD processors evaluate the Cache and Memory Benchmark test from the AIDA64 utility:
Obviously, the problem lies in the anomalously slow operation of the TLB buffer, with a qualitative implementation of which in the Zen microarchitecture there were some problems.
That’s why the memory subsystem in platforms with Ryzen family processors becomes a bottleneck in a significantly larger number of scenarios. Consequently, at any opportunity Ryzen’s interaction with memory is really expedient to try to increase.
The second reason is even more weighty. The fact is that the speed of the memory is tightly related to the frequency of the key node of Ryzen processors – the built-in north bridge Data Fabric. For convenience of synchronization in Ryzen, it always runs at a frequency half the memory frequency. That is, for example, if the memory functions in DDR4-2666 mode, then the north bridge automatically uses the frequency of 1333 MHz, and it is not possible to break such a dependence. However, unlike all other CPUs, in this case the frequency of the north bridge does not directly affect the cache memory speed, which in Ryzen functions synchronously with the cores at all levels. Nevertheless, the effect of the frequency of the built-in northbridge processor on overall system performance should still not be underestimated. It directly affects the speed of the memory controller, PCI Express controller, as well as the throughput of the Infinity Fabric, which connects the four core modules CCX (CPU Complex) and all other building blocks.
As follows from the above diagram, Infinity Fabric is a bi-directional cross-over 256-bit bus through which the processor CCX communicate not only with the outside world, but also with each other. That’s why the role of this tire is so great. Not only does the processor speed with the memory controller directly depend on its speed, but also how fast the computational cores can access the part of the L3-cache related to the neighboring CCX.
It is easy to illustrate this with the results of real measurements. The following graph shows the latencies in the joint operation of Ryzen cores with the same data, if these cores are the same or to different CCX.
Delays in internuclear interaction, if the cores are in different CCX, exceed the usual delays by several times. But increasing the speed of memory increases the frequency of Infinity Fabric, resulting in a gap is reduced from three and a half to two and a half times. And as a result, there is nothing surprising in that the frequency of memory in systems based on Ryzen is much stronger than usual, it affects the speed of the processor as a whole. And it is on this fact that AMD’s recommendation is to choose high-speed memory kits for Socket AM4-systems and, if possible, try to output the frequency of DDR4 memory to DDR4-2933 / 3200 boundaries, albeit at the expense of delays.