# Zen 2 OCing... The right way?



## Othnark (Jul 31, 2020)

*No TL/DR, read or don't read, w/e not bothered either way.*

Overclocking Zen 2 is not as straight-forward as some would like to believe, it is not an Intel, so stop treating it like one.

I am not a fanboi of either camp, so please don't think I'm bashing Intel methodology, it's simply different.   I used a Xeon 1680v2 @ 4.7ghz for about 4 years on my Rampage 4 Black and loved it, damn thing still smokes all Ryzen Zen and Zen+ CPUs and it's from 2013!  It doesn't bottleneck my 2080ti at 1440 or higher and it's an amazing piece of hardware that gives 2700x level of productivity performance with nearly 8700k levels of gaming.

*Change of Paradigm*
There are primarily three effective methods to OC the Zen 2, all benefit different use cases the most, so picking the right method for your use case is most important.  I have a 3900x and a 3600xt which I have experimented on extensively at both safe and unsafe voltage levels in both hot (30c+ water temp) and cold (4c water temp) environments to find the extreme outlier cases.

Many people seem stuck on the old ways with Intel where as long as it's stable at a given voltage/multiplier then you just target the lowest possible voltage at that speed and as long as temps remain in check, all is ok.  Well, I'm here to tell you (with fact based evidence, not theory), PBO can be used to provide more single core speed (general light use), more light-moderate load all core (gaming etc), and nearly equivalent heavy all core speed (rendering, distributed computing, etc).

Notice, simple PBO limit value manipulation is left out, it's 99% useless because the majority of chips will gain at most 3% all-core boosting performance with PBO limits raised, and 0% single core.  PBO set to "Enabled" is even more useless, providing all the 0-3% gains with way more voltage, heat, and now, unknown limits, my 3900x and 3600xt show 0% gain with PBO set to "Enabled".

PBO is widely misunderstood as a method to gain performance in and of itself.  I pose that PBO is, in reality, a way to limit an aggressive overclock to safe levels through manipulation of boost behavior by allowing single core boosting to skyrocket while keeping all core power draw to reasonable levels.

_First thing you need to learn about your Ryzen 3000 is stock behavior before starting so do the following using Hwinfo perfclock/cpu , core voltage svi2tfn, and CPU TDC-PPT-EDC :
Prime 95, small FFTs, AVX disabled - record stock boost speeds, stock vcore, stock tdc/edc/ppt
R20 - record stock boost speeds, stock vcore, stock tdc/edc/ppt
R20 Single - record stock boost speeds, stock vcore, stock tdc/edc/ppt
Threaded Game (Control, AC: Odyssey, Metro Exodus, etc) - record stock boost speeds, stock vcore, stock tdc/edc/ppt_

The values above are now guidelines for your chip, don't use other people's data because each chip FIT/PB2 behavior is slightly different .  I am of the camp that AMD provided a good map for use when picking voltages built into the ARM based sub-processor on your CPU, it's what controls PB2, and therefor should be followed relatively closely for OCing if you want longevity.  The colder you go, the better you'll boost, and the more aggressively it will boost with ZERO changes to settings and thus it will automatically apply higher voltages to maximize the benefits of being colder.

*A note about LLC*
LLC will *NEVER* apply more voltage to the CPU than the VID, so don't be scared to use it, but don't over do it and go straight to the highest setting. If your software or DMM readings from probe points show higher vcore than VID, then it's reading inaccurate SUPER-IO values not the DIESENSE info and therefor is erroneous.  Watch this if you don't believe me.

Not theory, facts here, watch and re-watch until you achieve a shared understanding:









*The useful OC methods

First:* I have to mention temperatures. Keep them as low as possible if going for max performance, despite what some "influencers" (read idiots) have said, every single degree counts for boosting on Ryzen.  The best example is below starting at 12:30 minutes, summary at 29:30, where he shows what just dropping temps can do.  Stock Wraith is "good enough to use the PC", but it's far from good enough to get good performance.  My own testing shows somewhat better temperature/boost gains than he got, likely, my 3900x is a little better sample than the one he was using.

*








Second: *For the below methods to follow the FIT limitations, use SCALAR 1x or 2x (if you don't have 1x option....ASUS) and vcore of "offset, -, auto". SCALAR does increase how aggressive the PB2 algorithm behaves and increases both vcore and reduces the micro-adjustments during boosting (not visible in software) despite showing the same boost speeds in Hwinfo.  It will increase performance by reducing how often the CPU drops from the target boost speed to a couple notches below, but, it throws voltage to solve the problem of stability.  It can be used to fine tune the on the edge level OC when using BCLK+PBO or EDC bug methods by adding a tiny bit of voltage and is more granular than using vcore "offset, +, x" values, it also only applies it during boosting unlike vcore offset.  It can also introduce instability if you're truly at the "wall" of speed stability on your CPU by pushing the boosting to a "just" too aggressive level.

*For gaming, general/mixed work/play use, applies in both hot and cold environment (benefits the most from cold of the three methods):*

BCLK + PBO - Find max stable BCLK with LLC at middle or middle+1 setting on your Mobo, while using low FCLK-MCLK-UCLK to avoid them causing crashes.  A quick stability check is R20, both tests single/multi.  Once you start getting black screen reboots, back off 1 or 2 notches of BCLK (I mean the 0.2 increment not a whole 1), and run further stability testing (Blender Victor will identify all core instability pretty well, for single core I've found R20 and 30 minutes in the game Control to be great to trigger instability crashes).  Remove all PBO limits by setting them high, then find what TDC limit you need to impose to keep extreme AVX2/FMA loads from nuking your CPU.  For 3900x I use 115 TDC, for 3600xt I impose no limit, there's no need, let it eat.
Once max stable CPU BCLK point is found, manipulate the memory and fabric multipliers in a 1:1 ratio to each other, while keeping them at their max stable speed.   For example at 102 bclk that's 1867/3733 divider on mine which results in  1904/3807 FCLK/MCLK or for more at 104.2 bclk with 1833/3666 I get 1910/3820 .    Different chips will like different settings and be limited by different work loads e.g. 3900x is fine up to 4770 single core boosting, but all core becomes unstable using the required 104.8 bclk for 4770 single, while on the 3600xt I am single core limited to 4760 even though the all core is perfectly happy using a bclk that would boost much higher than 4760 single, it varies by SKU and also by sample.  Dual CCD Zen 2 is limited by the weakest CCX and single CCD will be limited by best Core max boost limit.

*For gaming, general/mixed work/play use, can provide big benefits in a hot system:*

EDC Bug -  This method is fun and can assist by forcing the CPU to use its' max single core boost multiplier, or try to. It will also enhance all core boosting to some degree (depending on temps). Set PBO settings as EDC 1 TDC 200 PPT 200 to start, then follow the BCLK + PBO methodology to see the best gains as this will combine the single core boosting benefit of the EDC bug, while also increasing max speed of all core using BCLK increases.  This is less temperature dependent on single core boost speed, it will pretty much always try to max boost single core, but, watch heat as it will cause instability.  This can be used to gain strong single core performance with a terrible cooler, while limiting all core boosting using TDC limits. Using EDC bug, ensure you watch voltage at each setting and compare to stock behavior, certain configurations of using EDC bug can allow highly unsafe voltages and must be checked while determining your daily OC settings to give the chip a chance at survival long term.

*For those who like to run distributed computing, render as a primary use, or are these chips - 3100x, 3300x, 3600, 3600x, 3700x  (these chips have peak boost multipliers too low to maximize benefit from PBO+BCLK or EDC):*

Static OC / CCX OC - Straight forward, set multipiler, set vcore you're comfortable with/can cool, set LLC to roughly the middle setting or middle setting-1 on your motherboard to minimize transient voltage drop when a heavy load ends and add stability, done.  Differing theories exist about "safe voltages" so including vdroop, some say 1.2, some say 1.325, some say P95 (non avx) FIT limit, some say "stop being chicken and clock it" and throw whatever they can keep cool, ALL of these are valid, ALL of them are invalid, ALL of them are based on conjecture and are use case specific.  The point it, there is no "Right" voltage for static OC on Zen 2, that is an Intel legacy way of thinking, the chip is intended to be dynamic. Every application puts a different load on Zen 2's multi-die areas, and will cause degradation at different rates at a given voltage, so if you're workload hammers the cores only a little more voltage is fine, if it hammers both the CCDs and the IO-DIe I would use a PBO limitation to control it, or if your brain doesn't "amp" then lower vcore to limit total chip amperage draw indirectly by lowering max stable speed, both methods are valid.

The lower SKUs, 3100x, 3300x , 3600, 3600x and 3700x are special cases where their maximum boost multiplier is too low to show their limits via PBO or EDC, so they actually benefit from all core OCing to 4.3 or 4.4 at reasonable voltages if your CPU will stabilize there (some won't).  If you cannot get 4.3 stable at or below the FIT limit, I suggest just reverting to PBO+BCLK.

*Two special notes on ASUS ROG motherboards:

1:* You have this awesome setting, largely un-discussed called "Force OC Mode Disable" seen in the attachment.  This setting prevents the CPU from limiting itself to it's max boost speed.  See, on Zen 2, when you raise the BCLK, the FIT controller will adjust the used multiplier to force the CPU to stay at or near the max advertised boost speed.  This is why many reviewers last year weren't able to get big increases as I have, the option didn't exist yet, as this feature was added well after launch of Zen 2.

The reduced multiplier can be seen in the base clock speed multiplier when loading CPU-Z in windows, the FIT controller will drop the base clock multiplier to get as close as it can to the advertised base clocks.  With this option enabled, FIT is allowed to drop the multiplier for base clock to 37 (for me at least).

Examples of what it does below with this setting disabled:
102 x 45.5 = 4641
103 x 45.25 = 4660
104 x 44.75 = 4654
105 x 44.25 = 4646

When you set this option to enabled on the ROG asus boards, it allows FIT to knock back the max multiplier by 1x, so for 3900x max goes from 46.5 to 45.5, but it wont allow it to lower it any further!  That is the magic, because now you cause use BCLK to ramp speeds up and above the advertised max boost:
103 x 45.5 = 4686
104 x 45.5 = 4732
105 x 45.5 = 4777

These are, as far as I know, the only boards that have this feature.  Other boards will still boost when adjusting BCLK, but, they won't override the FIT controller to prevent further mutiplier reduction.  This option alone, not to mention some other stuff like stupid good/cool VRMs, is why I advocate for ASUS ROG boards (all three flavors have it now x370/x470/x570) for zen 2 as the benefits of this are real and unique.

*2:* On the x470 and x570 boards, the Asus reported CPU Voltage (VRM) line in Hwinfo is very accurate, as are the probe points, far more so than on the x370 board or non-ROG x470/x570.  ASUS are using a signal boosting circuit to send the DIESENSE values to the SUPER-IO, so you no longer have board droop incorporated into the readings.  I think Gigabyte also does this, though slightly differently, by accessing the voltage controller directly.  When you have access to accurate values, such as these boards provide, you will see what I mentioned about LLC above.  It is normal for these boards to appear to need less voltage for a given clock speed than other brands that are using SUPER-IO data. The other boards are reading vcore+resistance compensation and so, the voltages appear higher to the end user.  SVI2 TFN vcore values are still the most accurate, but these boards reported VRM current and wattage are more accurate as they're read from the VRM not the CPU reported values (which can be erroneous based on BIOS revision... see here for more https://www.hwinfo.com/forum/thread...er-reporting-deviation-metric-in-hwinfo.6456/.)

UPDATE: 
Did some benchmarking to demonstrate how little BCLK+PBO vs all-core matters in gaming, at least in gaming attached below.   The results in games that are more lightly threaded in these will tilt towards the BCLK+PBO, and games that are more threaded will lean towards all core. GPU is a 2080ti locked at 1995 core/2000 RAM to ensure it was consistent across all tests. 

I'll let you draw your own conclusions in regard to what configuration makes the most sense, but, consider this is most non-limited thermal situation, water temps are between 09-13c at all times so yeah, stock is slightly inflated.  I'll upate with a "warm" stock version in a bit, using 30c water, which will be more representative of an AIO or open loop.


----------



## hzy4 (Aug 2, 2020)

on 3700x when setting static OC, do I need to set PBO limits, or just leave it on Auto? my 3700x cannot do more then 4.2G all core, no matter what voltage I give it, crashes in 1st run CB R20


----------



## Othnark (Aug 3, 2020)

I suggest trying both and see the performance impacts.  Same thing I encourage everyone do to. 

 I've observed some static OC behaviour where PBO disabled results in no power limitations at all, where setting PBO to manual and setting TDC limit is not observed, and where setting a PPT does get observed, but only sometimes.

I have no explanation as to why static OC on C7H usually doesn't seem to observe set limits, but, at other times does, with no consistency.  Possibly a bug, possibly something I'm overlooking.

Warm testing is done, and a few other profiles, will update graphs later.  Win10 is fighting me the last 3 days, MS is doing something in the background throwing off consistency.   The take away...temperature is providing most of the benefit.


----------



## Space Lynx (Aug 3, 2020)

even from your charts imo it just makes sense to leave it all at stock, ryzen does pretty good on its own imo... most important thing is selecting ryzen high performance in power settings control panel, which most people forget to do (not us, mainstream types)


----------



## DemonicRyzen666 (Aug 3, 2020)

Othnark said:


> I suggest trying both and see the performance impacts.  Same thing I encourage everyone do to.
> 
> I've observed some static OC behaviour where PBO disabled results in no power limitations at all, where setting PBO to manual and setting TDC limit is not observed, and where setting a PPT does get observed, but only sometimes.
> 
> ...


could be windows updates tried pausing them for 7 days?
most likely windows defender running a scan after an OC fail. It's very annoying.


----------



## Mussels (Aug 3, 2020)

Great summary, matches my findings with my 3700x quite well


----------



## hzy4 (Aug 3, 2020)

So I've tried with my 3700x:

In BIOS all set to auto, no PBO
RAM 2133mhz
IF 1066

Prime95 Small FFT, AVX disabled
found FIT: 1,286v
Boost avarage: 4,02Ghz
Tmax: 67C

CB R20 8c/16t
vcore: : 1,35v
avarge boost 4,16Ghz

CB R20 1t
vcore: 1,43v
boost max: 4,35Ghz

Far Cry 5 New Dawn Benchmark:
vcore: 1,39v
boost avarage: 4,25Ghz

All core OC:
4,2Ghz vcore 1,287v PASS CB R20
4,3Ghz vcore 1,35v PASS CB R20 (Tmax: 65C)
4,35Ghz vcore 1,41v 2nd run CB R20 CRASH (Tmax: 67C) - was not comfortable to go higher voltage

BCLK + PBO:
set limit
PPT: 100
TDP: 100
EDC: 100
BCLK: 102
RAM: 2133mhz (to be exact the value it changed after setting BLCK to 102)
IF: 1066mhz (to be exact the value it changed after setting BLCK to 102)
PC stuck on booting BIOS screen, same with every value I set for BCLK on my Asus TUF X570, nut sure what is causing this.


----------



## hzy4 (Aug 5, 2020)

@*Othnark - thank you very much*
I can confirm EDC bug works on 3700X and Asus X570 TUF board 2407 BIOS, AGESA V2 PI 1.0.0.2
I was able to hit 4.4G single core boost for the first time with the EDC set to 1, PPT and TDP: 200








On X570 TUF MB the BCLK OC doesnt work in general


----------



## Mussels (Aug 5, 2020)

Just for the sake of 3700x comparison, this is my result with a 4.35GHz all core OC





So you can decide on where you want that extra perf to go, all core  OC or single core (EDC bug)


----------



## hzy4 (Aug 5, 2020)

Mussels said:


> Just for the sake of 3700x comparison, this is my result with a 4.35GHz all core OC
> 
> 
> 
> ...


Unfortunately I have lost the silicone lottery, probably paid the price of an early adopter of Ryzen 3000, bought mine in July 2019. The silicone matured over time. I cannot get it stable over 4,15Ghz at 1,28v (not prime95 stable). At least my IF does 1900mhz.


----------

