11-04-2021 07:45 AM - last edited on 03-05-2024 06:26 PM by ROGBot
11-04-2021 07:57 AM
01-19-2022 04:22 AM
Falkentyne wrote:
Now on to the cores and overclocking methods!
CPU CORES, Overclocking, Voltages, etc.
First, people need to understand the traditional method of overclocking.
Always in the past, you started with usually some sort of "base clock" or PCI frequency clock and CPU multiplier. Often set with onboard jumpers (or even changing clock crystals before that). Eventually the PCI frequencies started becoming locked to the base "FSB", but you still had multipliers. Then eventually we started having a "base clock" only (BCLK), which you could use in certain overclocking or XOC scenarios (increasing this would also increase the memory frequency so care was needed),
But the same old school treatment was still used in the end--you set a target CPU frequency, target voltage, and loadline calibration, test for stability and save your profile and off you go. With newer and faster multi-core processors with increasing core counts, experienced overclockers started noticing that, when stress testing with useful tools that could actually show calculations on precise physical cores directly, they would see that their unstable overclocks would *always* fail on one or two SPECIFIC CPU cores all the time.
Prime95 was the best program for testing this, especially since it started getting updated for modern processors (30.7 beta 7 is Alder Lake compatible, but changes to FFT and thread sizing still needs to be done for this new platform). So whenever you tried to go for your high overclocks, you would always be limited by the WORST CPU cores, even though all the cores were calibrated to run at close to the same overall VID (so the quality wouldn't vary as much as a SP104 chip vs an SP50 chip, for the V/F point frequencies below 4800MHz. You can find some difference from 4800MHz to 5300MHz, for example!)
First a few words.
1) Disabling all E-cores will give you higher maximum clocks (usually at least +1 bin) on the P-cores. P cores also have access to the full L3 cache if E cores are disabled.
2) Also, disabling all E-cores allows you to yeet the ring ratio. Ring can go up to x50 if E-cores are disabled. With E-cores enabled, you are not going to get much higher than x42 to x44.
3) There is some strange relationship between the ring (cache) and the E-cores. If you overclock the cache too high with the E-cores enabled (e.g. 44+), you may encounter BSOD’s that look identical to “memory instability� errors (e.g. “Memory Management, IRQL_NOT_LESS_OR_EQUAL�. This is beyond me. CSTKL1 is the one to refer to with these.
4) There is also some sort of relationship between the E-cores and memory overclocking as well when pushing high memory clocks possibly with respect to the Atom L2 cluster 0 and cluster 1 voltages.
5) For every E core that is enabled, you seem to need about ~7mv more voltage for stability. So all 8 e-cores enabled seem to need about 56mv (0.056v) higher vcore. Might be the E-cores are siphoning power from the P-core supply.
6) For every small core enabled, you lose about an estimated ~15.85 MHz in P-core fully loaded frequency. So for all E-cores enabled (vs them all disabled), expect about -120 MHz off your max fully loaded clocks compared to all E-cores disabled.
7) VMAXSTRESS seems to not be supported on this platform. You can use VR Voltage Limit (mv) to limit your target load voltage (before vdroop) when using adaptive voltage modes.
8) Thermal limits may be hit around 1.3v die sense voltage and >210 amps of current. Maximus boards can monitor CPU Current (Amps) in EC in HWinfo64 (newest version) or on OLED (Maximus Extreme).
9) There are THREE SP ratings. One for P-cores, one for E-cores and the global SP. You can see them in Asus AI settings. I am uncertain how the global SP rating is affected by this.
For a typical CPU, 5.1 GHz on P-cores seems to need about 1.17v (or more) VMIN for heavy stress full load, and for very light loads, 5.4 GHz @ 1.30v. Average ballpark for all core OC may be 5.2 ghz and for P-core only, 5.3 ghz. You may run into thermal limits with P-cores at 5.3 ghz at full load.
For the small cores, maybe except 3.9 GHz @ 1.05v for full thread heavy workloads and 4.3 GHz @ 1.25v for very light loads.
Some rails overview: (POWER RAILS)
CPU Input Voltage (VCCIN AUX), external default value 1.8v rail, feeds the FIVR. Don’t care about this unless LN2.
CPU 1.8v small rail, external, default value 1.8v, may feed PHY/PCIE, don’t bother.
CPU Vcore. FIVR rail type, uses SVID for default, feeds big+little, important to care about.
CPU GFX, external SVID, feeds GT, care about if you’re using the iGPU.
CPU VCCSA system agent, SA VID for “set�, IVR VCCSA for “get�, FIVR rail type, default value based on SVID, care about it for memory OC.
Memory Controller voltage, IMC VDD, external 1.1v rail, feeds another part of mem controller, care about it for memory OC.
IVR Transmitter VDDQ, VDDQ TX Voltage for “Set�, IVR TXVDDQ for get, FIVR rail, 1.1v default value, voltage level for the transmitter part. Important for memory OC
PLL Termination Voltage (VTT), external 1.05v default rail, Sustain and “Sustain gated� rail, only care about this for LN2 OC.
CPU Standby Voltage, external 1.05v rail, sustain/gated, only care for LN2 OC.
IVR VCCIO Analog: ignore this.
IVR Atom L2 Cluster 0, Atom L2 cache cluster 0, need for LN2, effect is undermined for regular OC, may or may not affect Cache OC with E cores enabled, or MEM OC. Cstkl1 knows more about this.
IVR Atom L2 Cluster 1: same
PCH: 1.05v external rail, primary core voltage, no need to care about this
PCH 0.82v rail: primary “Well(?)� voltage, ignore this.
“Current Excursion Protection� is similar to VIN Tracker on X299, enabling it causes “Phantom Throttling� (I do not know anything about this).
There is some kind of bug where the CPU PLL, when cold, can keep upping frequency limitlessly, as if the PLL gets locked on a certain Freq but reports a value it’s not really using. People have been exploiting this for false validations. To avoid this there is a setting in Tweaker’s Paradise: FLL Mode. Set FLL OC Mode to Normal to avoid this bug.
Just like RKL, ADL’s big cores have their own individual PLL so each one can run different ratios at the same time. The Atom cores however come In a cluster of 4 and they not only share the same PLL but also the same DTS sensor, so a pack of 4 can only run the same ratio and they read the same temp.
OC based on some testing of samples:
P-core Frequency max: 5400 mhz, 1.30v die sense voltage LIGHT load, 5100 mhz @ 1.17v die sense HEAVY load.
E-core Freq max: 4300 mhz, 1.25v die sense LIGHT load, 3900 mhz @ 1.05v die sense HEAVY load.
V-latch is on Apex and Extreme, just like on Z590.
I have found the best heavy stress test for ADL is “Stockfish� Chess engine. You can install it in “Arena� UCI client here.
https://stockfishchess.org/
http://www.playwitharena.de/
You need to load the exe into the client in the “Engine� section, make sure you configure the # of threads or it will only run 1 thread by default!! This is a very heavy high stress test. I have found passing “stockfish� on all threads (16 for P-cores only, 24 for P+E) requires about 50mv-60mv MORE VOLTAGE than you need to pass Cinebench R23 for 30 minute loops. If you can pass stockfish, you’re FULLY AVX stable!
BMI2 instruction set (may be heavier than AVX2, not sure)
https://abrok.eu/stockfish/
Prime95 30.7 beta 7 is required for ADL support. This with small FFT may be even harder to pass than stockfish. Large FFT + AVX disabled is very good for RAM OC testing. Try it.
https://www.mersenneforum.org/showthread.php?t=27180
Intel Turbo Boost 3.0 and their TVB would allow both an extra clock bin if chips ran below a certain temp, and "favored cores", which would allow the best cores to run at one or two thread workloads at the highest boost clocks, which would be linked to those cores (e.g. 5.3 GHz on up to two cores).
As far as trying to override this behavior with "all cores", So you could have for example, some good cores that were capable of running at 5.5 GHz at 1.4v load, if kept under 70C, while the worst cores could only handle 5.2 GHz at 1.4v load, but up to 90C. But without going cold, you wouldn't be able to run all eight (or ten, or however many you had) cores at 5.5 ghz at full load, for instance.
In Rocket Lake, as mentioned in this guide: https://rog.asus.com/forum/showthread.php?123415-Maximus-13-and-Rocket-Lake-The-Rules-have-Changed , I mentioned that each core has its own PLL, which means that different cores can run at different frequencies. This, along with massive stability improvements, which was overlooked by every tech reviewer (how many reviewers even mentioned the Parity issue on Comet lake? Did any of them play Minecraft?)
Combined with "OC TVB", which allows extra binning steps beyond what Intel specified--based on a temp target (below minimum floor temp, between floor to ceiling, and beyond ceiling), you could help control how the cores boosted in clocks in core specific workloads.
Also the V/F curve chart allowed you to change the actual "VID" target of the CPU at different 'steps', by setting an offset for the VID (in fractions of a volt).
On this new platform, VccIA is the voltage rail shared by P-cores, E-cores, and Ring. Each P-core, each E-core cluster, and ring have their own V/F curve (so 8+2+1=11 in total).
Voltage of VccIA is the highest of those 11. Highest voltage wins is the rule you need to follow.
(thank you to skatterbencher for the clarification).
New to the Asus Maximus Z690 boards is an overclocking feature, specific core adaptive voltage. This is an extension of adaptive voltage, which itself uses CPU VID, combined with AC/DC Loadlines for full load behavior.
There is still only 1 VccIA rail shared by all P-core, E-core, and Ring. So, there is no independent voltage. Therefore, Per Core Specific Adaptive Voltage allows us to set an Adaptive Voltage for each core. As you know the Adaptive Voltage is mapped against the “OC Ratio�. The OC Ratio is the highest configured ratio among all your settings. Normally there is 1 global adaptive volt for the OC ratio and all cores will use that V/F for interpolation. Even if they’d be able to run that ratio at lower volt. Per Core Specific Adaptive Voltage changes that to different adaptive voltage per core mapped to OC Ratio So for example, let’s say you have 4c that can do 55X. 1st core at 1.325V, 2nd at 1.35V, 3rd at 1.375v, and 4th at 1.40v.
Before this feature, if you run 1C, 2C, 3C, 4C load at 55X, it would always set 1.40V.
Now, if you run core 1 + core 2 at 55X and other cores are sleeping, it will run MAX(1.325,1.35)=1.35V.
That’s because it takes the specific core adaptive volt into account, not the global one.
(Thanks to skatterbencher for this information).
Important for setting V/F offset points :
Roberto has a method of dealing with the “missing� frequency points (set by Pcode) from 4.9 to 5.2 ghz. His method is based on using LLC1.
it's a good practice to keep vf#11 + offset = adaptive voltage.... Example If vf#11 = 1350, If you set an adaptive voltage of 1.460 You shall apply a vf#11 offset = (1460 -1350) = 110mv.
I MUST emphasize that this is specific to robertosampiao’s type of setting of LLC1. if a typical overclocker decides to use a scenario of LLC4 ~6 , setting 1460 + vf11 +110mv you are doing a volt of 1570.
ADL has 11 VF Points
• 1-7 are unique points, 11 is OC point (user can change this ratio). These are the only ratios user can change on this curve.
• 8-10 are copies of 7 (seem to be placeholders from Pcode, maybe for a future product?)
• 7 is the last unique default point
• The rule appears to be when ratios are the same, point 7 must be >= point 8 otherwise it will MCA. MCA is “machine check� BSOD. It means Game Over. Please try again. So PLEASE IGNORE POINTS 8 through 10 !!!
• Pcode does not like it at all when point 7 voltage offset is less than point 8
• If you want to program 7 negative, you must program point 8 negative first
• If you want to program point 8 positive, you must program point 7 positive first
• If you don't follow this rule then Pcode throws MACHINE CHECK ERROR.
• If programming a negative offset to point 7, best way is to start with point 10 and program it negative, then go to 9,8, and 7 programing them all the same negative value
• If programming a positive offset to only point 8, best way is to start with 7 and then go to 8,9, and 10 programming them all to the same positive value
Thank you to Shamino @ Asus ROG team for helping to clarify this.
Allow me to quote another Intel engineer who helped me with this difficult step:
“ Remember HIGHEST VOLTAGE WINS.�
Also please remember: if global adaptive voltage< vf#11, adaptive will be ignored.
Please remember this rule! And this works with OCTVB, along with specific core usage, which is explained in great detail in Skatterbencher's videos here.
https://www.youtube.com/watch?v=FWPTJDrping
https://www.youtube.com/watch?v=BIV--SXjsHU
https://www.youtube.com/watch?v=fBrlgLZrFaI (current platform)
So for example, you can have something like this (this is based on P core settings):
x57 on 2 cores active, running at a high voltage as a high clock would need a higher VID.
x55 on 4 cores active, running at a slightly lower voltage (VID)
x53 on 6 cores active, running at even lower.
x51 on 8 cores active, running at your standard voltage you previously tested as needed for stability.
So now for your single threaded workloads or games that only use a few threads, you can boost them to higher clocks without having all the cores having to run at higher voltages!
You can also combine this with the Specific Core Ratio Limit to specify which exact physical cores you want to run at these boost clocks, as well as use Asus preset profiles for OCTVB for a higher total boost bin (or you can create your own specific core ratio limit).
Before you start with Specific core and adaptive specific core, you must first find out what the "VMIN" stable is for all core overclocking (just like you're used to). You will need this as this will influence what you will set for the Global Adaptive Voltage setting (which will be the ceiling and used for all core workloads).
01-29-2022 05:43 AM
01-29-2022 06:16 AM
Tigra456 wrote:
Can someone help me to get the 6000 c36 stable on my Strix F.
Bios 1003 didnt work with everything on Auto + XMP1.
*
I was stable with 0811 with
VDD/VDDQ 1.35
SA 1.25
TRX 1.35
MC VDD 1.25
But after flashing back to 0811 because 1003 not working with this voltages
I have errors in Testmem5 Anta777 Test.
*
So i have to begin again but dont know what I can to stabilize…
I only want to get the 6000 c36 XMP1 stable.
*Greetings.
01-31-2022 02:33 AM
Tigra456 wrote:
Can someone help me to get the 6000 c36 stable on my Strix F.
Bios 1003 didnt work with everything on Auto + XMP1.
*
I was stable with 0811 with
VDD/VDDQ 1.35
SA 1.25
TRX 1.35
MC VDD 1.25
But after flashing back to 0811 because 1003 not working with this voltages
I have errors in Testmem5 Anta777 Test.
*
So i have to begin again but dont know what I can to stabilize…
I only want to get the 6000 c36 XMP1 stable.
*Greetings.
01-31-2022 07:21 AM
Dewizzer wrote:
Have you tried XMP II ?
01-29-2022 08:23 AM
02-04-2022 08:36 AM
Tigra456 wrote:
I would test it.
* But the mem-temp can be a Strix-F only problem?
*Then it must be a problem for all boards ?
Im able to play with 6000c36 for hours but Testmem is not fully stable.
11-04-2021 08:04 AM