AMD Releases New Chipset Drivers For Ryzen 3000: More Relaxed CPPC2 Upscaling

It’s been nearly three weeks since AMD’s launch of the new Ryzen 3000 series CPUs and our extensive coverage of the new parts. Among one of the things that didn’t quite go as smoothly is AMD’s BIOS and software situation where as things were still very much in flux following the launch.

One issue that was repeatedly brought up by the community over the past weeks was the new CPU’s idle behaviour both in terms of temperature as well as voltages. In particular, the new parts seemingly looked like they rarely idled at lower performance states and instead looked to remain at high frequencies even when not doing much.

While initially appearing as an issue, it really wasn’t one and rather just a side-effect of AMD’s new CPPC2 fast frequency ramp-up behaviour. Monitoring applications that are badly programmed tend to have a too heavy of a monitoring loop that causes load on the CPU – triggering a frequency ramp-up as the CPU is seeing a larger load. Given the new CPU’s sub-1ms ramp-up this meant that it was very hard to actually catch the machine at the lower frequencies – even though it most likely did idle correctly.

AMD has now addressed this concern and tweaked the CPPC2 behaviour in the new Ryzen power plans with the release of a new chipset driver package.

As AMD states in their community brief on the issue, part of the new behaviour change is that the new scheduler settings will now have a much more relaxed ramp-up time compared to the previous versions. In particular, when the chip will be at its base frequency and idling voltage, it will now take a significantly longer load for the chip to ramp up to its boost frequencies.

In our quick A/B testing between the two driver versions, we can see that prior to the update the CPU would ramp up in around 840 microseconds to its boost clocks, whilst on the new power plan in this data-set took it a longer 17.5 milliseconds.

The new behaviour thus should make the CPU ramp-up much less susceptible to smaller transient loads. The new boost duration is still very much adequate and extremely fast – sustained CPU workloads will see largely imperceptible difference, while intermittent workloads such as games also won’t be affected as once the CPU gets over the initial base frequency ramp threshold it maintains the sub-1ms frequency change behaviour.

I also took a look at the Windows power plans if they changed, and it seemed that they indeed did. While on the old version the CPU would idle at ~2.2GHz, the new driver idles at 3GHz. Seemingly the frequency up-scaling has also been slightly slowed down as in my quick testing I saw frequency ramp up half as quickly.

AMD has also addressed concerns about the reported high temperatures of the chip. The company explains that generally the value that most applications are reading out is the maximum of several sensors on the chip. Essentially this acts as the junction temperature of the chip – whilst most of the die would actually be a different/lower temperature.

A new version of Ryzen Master now includes a different temperature readout algorithm that is meant to better represent the “overall” temperature of the die rather than the absolute maximum a sensor reports. AMD says this is a better representation of the temperature of the CPU. Besides averaging across different sensors, it also averages readouts over a small time-window. In my testing the most affected scenarios are idle and low-load scenarios and the new temperature behaviour isn’t nearly as erratic and spiky.

Related Reading: