Hardware Guides stub

MCE & CPB Investigation on Intel & AMD | Sneaky BIOS

Posted on March 25, 2018

Multi-core enhancement is an important topic that we’ve discussed before – right after the launch of the 8700K, most recently. It’ll become even more important over the next few weeks, and that’s for a few reasons: For one, Intel is launching its new B and H chipsets soon, and that’ll require some performance testing. For two, AMD is launching its Ryzen 2000 series chips on April 19th, and those will include XFR2. Some X470 motherboards, just like some X370 motherboards, have MCE equivalent options. For Intel and AMD both, enabling MCE means running outside of power specification, and therefore thermal spec of low-end coolers, and also running higher clocks than the stock configuration. The question is if any motherboard vendors enable MCE by default, or silently, because that’s where results can become muddy for buyers.

As noted, this topic is most immediately relevant for impending B & H series chipset testing – if recent leaks are to be believed, anyway. This is also relevant for upcoming Ryzen 2 CPUs, like the 2700X and kin, for their inclusion of XFR2 and similar boosting features. In today’s content, we’re revisiting MCE and Core Performance Boost on AMD CPUs, demonstrating the differences between them (and an issue with BIOS revision F2 on the Ultra Gaming).

As a recap, here’s the Intel Turbo table for its 8th Generation processors:

Stock Intel Turbo Boost Behavior on Coffee Lake

Intel Coffee Lake Turbo Behavior

 

i7-8700K

i7-8700

i5-8600K

i5-8400

i3-8350K

i3-8100

 

6C/12T

6C/12T

6C/6T

6C/6T

4C/4T

4C/4T

Intel Turbo Spec

1C: 4.7GHz
2C: 4.6GHz
3C: 4.5GHz
4-5C: 4.4GHz
6C: 4.3GHz

1C: 4.6GHz
2C: 4.5GHz
3C: 4.4GHz
4-6C: 4.3GHz

1C: 4.3GHz
2-4C: 4.2GHz
5-6C: 4.1GHz

1C: 4.0GHz
2-4C: 3.9GHz
5-6C: 3.8GHz

4GHz Locked

3.6GHz Locked

 

Intel stopped publicly listing its Turbo boost tables for 8th Generation CPUs and onward, but they can still be relatively easily gathered from XTU.

As indicated above, Intel boosting depends on how many cores are simultaneously active. AMD does something similar with Precision Boost and XFR (Extended Frequency Range), which both push frequency further when the CPU is less-than-fully engaged.

In theory, Intel’s i7-8700K should only be boosting to 4.7GHz when under limited-thread workloads, but not under a full 12-thread workload. As a move to further battle one another in effort to look “best” on performance charts, outside of memory timing tuning, motherboard vendors introduced a feature that automatically applies max single-core Turbo across all cores. This is typically named “Multi-Core Enhancement,” and is entirely a motherboard manufacturer initiative – at least, the default configuration of it most certainly is.

That’s where the controversy arises: If multi-core enhancement is enabled by default, the CPU will operate out of specification in a few ways, potentially causing issues for users. One example would be BSODs or CTDs under full-Turbo conditions, but with incorrect voltage applied. Another would be exceeding the stock power specification, which could prove problematic for users against the limits for low-profile coolers. MCE is functionally a pre-overclock. We ask manufacturers to disable it by default, but that doesn’t always happen. Lately, the positive trend is that manufacturers have been making moves to disable MCE in new BIOS revisions by default. Our ever-lasting concern is that one motherboard maker will decide to auto-enable MCE, resulting in a cascade of vendors doing the same. If executives at motherboard maker A see that maker B is outperforming them in charts, and the performance is resultant of MCE, we can expect that motherboard maker A may make moves to also auto-enable MCE. It’s purely a competitive edge in a market where differentiation is limited (aside from heavy OC features).

Let’s get into some testing information.

For today, we’re entirely focusing on Cinebench score, frequency, and power consumption metrics. We long ago dropped Cinebench for Blender, as we use Blender in-house and know it to be heavily relatable for the professional community. That said, Cinebench still has excellent uses in synthetic testing, and provides a quick means to validate performance on a more global scale.

Test Platforms

Below are the test configurations for each venture:

Components – Intel

  • Motherboards include: ASUS Maximus X Hero Z370, Gigabyte Z370 Ultra Gaming, and MSI Z370I Gaming Pro carbon
  • CPU: i7-8700K
  • Memory: Corsair Vengeance LPX 3200MHz 16-18-18-36, 2x16GB
  • PSU: EVGA 750W SuperNova G2
  • GPU: EVGA GTX 1080 Ti FTW3
  • Cooler: Kraken X62

Components – AMD

  • Motherboards: ASUS C6H X370 on 6001 beta BIOS.
  • CPU: R7 1700 review sample
  • Memory: GEiL 3200MHz CL16
  • PSU: NZXT Hale90 V2
  • GPU: EVGA GTX 1080 Ti FTW3
  • Cooler: Kraken X62

ASUS Maximus X Z370 MCE Benchmark (with first public release BIOS)

This initial testing was conducted with only the first public release BIOS version on the Maximus X. We previously ran these tests with a pre-release BIOS revision, and haven’t yet checked-up on modern BIOS iterations.

We started out with the ASUS Maximus X motherboard, which we received after the initial launch and reviews of the i7-8700K. It was a shame, too, as we were able to overclock far better on the Maximus X with help of reduced vDroop and better BIOS options.

Regardless, here’s our test matrix for the ASUS Maximus X Z370 board. We ran tests for:

ASUS Maximus X MCE Test Matrix

Settings

XMP/DOCP

Prompt

MCE

Auto, except

No

N/A

Auto

Auto, except

No

N/A

Explicitly Disabled

Auto, except

Yes

No

Auto

Auto, except

Yes

No

Explicitly Disabled

Auto, except

Yes

Yes

Auto

Auto, except

Yes

Yes

Explicitly Disabled

  • Complete auto settings as reset from defaults, not even with XMP. MCE Auto.
  • Auto settings with MCE explicitly disabled, still without XMP.
  • DOCP enabled, the ASUS version of XMP presets, then answering “no” to the prompt. MCE Auto.
  • DOCP enabled and answering “no” to the prompt, then disabling MCE explicitly.
  • DOCP enabled, answering “yes” to the prompt. MCE Auto.
  • DOCP enabled, answering “yes” to the prompt. MCE explicitly disabled.

Note that ASUS only offers “auto” and “disabled” for Multi-Core Enhancement, which is exceptionally confusing for an end-user. We would strongly encourage ASUS to add an explicit “enabled” and “disabled” set of options, not just “off” and “lol idk, auto.” After enabling XMP, or DOCP, ASUS prompts a “yes” or “no” on further changes. We tested both options.

Let’s start with the Cinebench scores. We’ll look at frequency and power next.

1 asus maximus x hero cinebench

For the ASUS motherboard, using the first public release BIOS version (focused on this, as it’s from the period when MCE was most discussed), we logged scores above.

With DOCP on, “yes” selected, and MCE set to auto, we scored 1445 multi-threaded average for Cinebench, or 197 AVG single-threaded.

Selecting “no” but leaving DOCP on and MCE to auto, we scored within margin of error for Cinebench – which has a lot more variance than you’d expect, and thus is why we dropped it for the more reliable and realistic Blender tests. Regardless, we’re at 1443 and 199.

Explicitly disabling MCE gives us another equivalent score – 1439 multithreaded, 197 single-threaded. These are within margin of error of the first few tests.

Explicitly disabling MCE and selecting “no” when prompted, we again land within margin of error – 1440.6 and 196 single-threaded.

Going full stock – meaning no XMP on the memory – we landed at 1432NT and 1961T. The MCE auto results were within margin of error of the MCE disabled results.

After this, we sent ASUS an email asking what MCE actually does, as it appears that, on the older BIOS, MCE did nothing. This might just come down to the BIOS being bugged, so we’ll revisit the topic when ASUS ships its finalized BIOS for the upcoming CPUs or security patches. Again, today’s focus is on MCE around time of launch.

Let’s look at frequencies just for validation.

2 asus maximus x hero freq

Looking at frequencies, DOCP, yes, and MCE auto resulted in an average single-threaded frequency of 4533.6MHz on the 8700K. Multi-threaded average was 4299MHz. DOCP, no, and MCE auto resulted in a single-threaded frequency of 4541.9MHz – within margin of error for our averaging and test-to-test variance. Multi-threaded was 4299MHz. We’re looking for differences equal to or in excess of 100MHz. DOCP, yes, and MCE explicitly disabled gave us 4538MHz single-threaded – again, within variance. Multi-threaded was 4299MHz. DOCP, no, and MCE explicitly disabled gave us 4556MHz single-threaded, 4299.7MHz multi-threaded. This is, again, completely within Cinebench’s relatively wide variance as compared to other applications. We have established a range of about 23MHz single-threaded, and basically 1MHz multi-threaded. Full stock settings with MCE off gave us 4567MHz 1T, or 4320MHz multi-threaded. The big difference here was disabling DOCP, or XMP, resulting in a 20MHz bump. Still, this is not reaching those higher clock bins, and that’s under auto. Auto with MCE set to auto gave us 4559MHz 1T, or 4319MHz multi-threaded.

3 asus maximus x hero pwr

As for power consumption, also for validation, we observed approximately 104-108W consumption during multithreaded workloads for all tests. The stock tests, without XMP, were closer to 96W. The range run-to-run was approximately 4W, which is within reasonable variance.

ASUS’ Maximus X results, with the first public BIOS, seem to indicate that MCE was either bugged or non-functional with this set of testing. A pre-release BIOS version behaved differently, note, but that was what went out on review boards and not publicly posted. We’ll have to revisit older BIOS revisions or the upcoming ratified BIOS (for security patches and forthcoming CPUs) to look into this further.

One final note: We previously did testing with MCE on the ASUS board and noted that it was functional, at least somewhat. In the earlier tested version, we noted some blue screens when MCE was disabled – a result of voltages too low to sustain the clocks. This is another reason MCE should be disabled by default: It pushes power consumption higher than spec and also triggers BSODs and crashes on some CPUs, where the max frequencies may not be stable on a given voltage lookup.

Gigabyte Ultra Gaming v1 MCE

Gigabyte’s Z370 Ultra Gaming v1 is next. This one took some extra effort, because we had to dig-up some old pre-release BIOS revisions for testing. These are the BIOS revisions we used during our review period, and were important to digging deeper into MCE behavior.

Note that Gigabyte has a new “Ultra Gaming v2 1.0,” which is different from the DUT Ultra Gaming v1 1.0.

Here’s a chart of the test matrix for Gigabyte:

GBT Ultra Gaming v1 MCE Test Matrix

Settings

BIOS Version

XMP

MCE

Auto, except

F5

No

Auto

Auto, except

F5

No

Explicitly Disabled

Auto, except

F5

Yes

Auto

Auto, except

F5

Yes

Explicitly Enabled

Auto, except

F4

No

Auto

Auto, except

F3

No

Auto

Auto, except

F2

Yes

No Option

  • BIOS F5 at complete stock, MCE auto
  • BIOS F5 at stock, MCE explicitly disabled
  • BIOS F5 with XMP enabled, MCE auto
  • BIOS F5 with XMP enabled, MCE disabled
  • BIOS F5 with XMP enabled, MCE enabled
  • First-release BIOS F4 at stock, with MCE auto
  • Pre-release BIOS F3 at stock, MCE auto
  • Initial review BIOS F2 with XMP, no MCE option present

Here’s where it gets interesting: That last option, BIOS revision F2, is what shipped on the motherboard for review. In speaking with Gigabyte during early testing, we explicitly had a discussion about MCE and whether or not it was enabled on this motherboard. Gigabyte indicated to us that they believed in completely disabling MCE for stock settings, and noted that it would be disabled for this board. We asked these questions because there was no MCE option in the Gigabyte BIOS for revision F2.

For game testing, we used BIOS revision F4 or beta F5a. These were explicitly switched-to for game benchmarking, as we were told that F4 and F5a would impact GTX 1080 and GTX 1080 Ti performance on the Ultra Gaming. We had already run our synthetic round on BIOS revision F2, and were told at the time that there shouldn’t be any CPU-only difference between the revisions, outside of the GPU performance issues.

So then, we ran F2 for Cinebench, POVRay, et al., but ran F5a or F4 for game testing. Remember also, F2 had no MCE option even present in BIOS, whereas later-released BIOS revisions introduced this option.

Let’s get into the Cinebench numbers:

5 gbt ultra gaming cinebench

For BIOS version F5, multithreaded Cinebench performance lands us at 1423 points for F5, stock, XMP off, and MCE Auto. There is an MCE option in F5. We received 193 for single-threaded.

With F5 stock and MCE explicitly disabled, we still get 1421 points. This indicates that, on at least EFI F5, MCE is disabled by default when left to Auto – just like Gigabyte told us it would be on this motherboard.

With EFI F5, XMP on, and MCE auto, we score 1427 points – reasonable, as memory is now faster and better-timed.

EFI F5 with XMP and MCE explicitly disabled further supports that MCE is disabled by default on EFI version F5.

EFI F5, XMP, and MCE explicitly enabled gives us 1545 points multithreaded, finalizing that MCE is disabled by default on version F5.

We then tested EFI revision F4: At complete stock, MCE auto, we scored 1423 and 193 points for NT and 1T. That shows that, again, MCE is off.

For EFI revision F3, we noted the same performance again: 1421 and 191.

Then, after digging through old flash drives and trying to find revision F2, which shipped on the motherboard for review, we found the culprit: There is no MCE option in this BIOS revision, and although Gigabyte did later embrace that MCE should be disabled by default, the initial BIOS revision had no MCE option and MCE enabled, silently, by default. There was no way to disable MCE in BIOS revision F2. It was not possible to turn MCE off.

So, then, all scores would be in the 1500s for Cinebench, and still faster for single-threaded at 204. The same is true for XMP enabled with EFI F2. EFI revision F2, with MCE automatically enabled, ends up with a performance uplift of approximately 7.8% over stock for Cinebench, as we’re reaching the max turbo frequency for one core, but applied to all cores.

And for frequency, here’s what we saw:

6 gbt ultra gaming freq

For EFI version F5, all instances with MCE Off or MCE Auto resulted in a frequency of about 4300MHz – the correct value given Intel’s frequency tables that are publicly visible in XTU. Package power consumption was approximately 87W for lal of these tests.

Explicitly enabling MCE in EFI F5 resulted in a 4700MHz frequency. This exits the stock CPU spec, naturally, and provided a performance boost of approximately 7.8%. Fortunately, again, we used EFI F4 and F5a for our gaming tests, and the behavior is correct with MCE Auto on these revisions.

For EFI F2, the frequency matches EFI F5 with MCE enabled – 4700MHz all-core.

7 gbt ultra gaming pwr

Power consumption also goes up with higher frequencies and voltages, naturally: We’re at 87W average for MCE disabled, or 115W for MCE enabled.

The next question is why? Why did Gigabyte ship like this?

We talked with all the motherboard vendors about this back when we released our initial MCE benchmark video, back a day or two after launch of the 8700K. Motherboard makers get anxious pre-launch that their competitors would be enabling MCE by default, which would result in some motherboards having a perceived disadvantage to others. The higher-ups at the company wanted to ensure that their motherboards looked competitive, and that readers of reviews did not get the misconception that a motherboard alone was causing such significant performance deficits.

Gigabyte’s initial F2 BIOS revision, and probably BIOS on some other boards, did not have an MCE option, but did enable it silently and by default. Gigabyte did later surface an MCE option and disabled it by default, but it was just a day or two before the review went live, as we remember it. The revision also fixed some GPU performance issues, and so we used that for game testing.

The motherboard vendors want to compete with each other. This isn’t some Intel-driven narrative or an Intel plot to make their CPUs look better – it’s entirely taking place at the motherboard manufacturer level, and is a competitiveness between them. We always aim to test with MCE disabled and were told that it was disabled in the Ultra Gaming, but that was only the case after F2. Fortunately, our gaming results are fully accurate on F4, as are many of our other tests, but our initial stock CPU Cinebench and POVRay results for BIOS revision F2 were inaccurate. We have corrected those results.

We’re disappointed that motherboard makers even enable MCE automatically at all, because in some testing we’ve done, we’ve experienced blue screens and instability from MCE’s poor voltage lookups, at times. It’s our hope that bringing more light to this issue will encourage motherboard manufacturers to keep MCE disabled. In speaking with a few of our contacts, there’s concern that one motherboard vendor enabling MCE by default could lead to all of them doing it, at which point we won’t return to a point of stock testing.

You’ll have to keep a careful eye on this for the Intel B & H boards, but more importantly, for the Ryzen 2000 CPUs with XFR2. We already have some data on that that we’ll share later.

MSI Z370I Gaming Pro Carbon AC MCE

The last Intel motherboard we tested was the MSI Z370I Gaming Pro Carbon, which has the EFI version 7B43v11 installed. We only needed two tests for this one, so it’ll be fast:

8 msi z370i cinebench

With full stock settings, our Cinebench score was 1430.7 points, or 196 single-threaded. Enabling XMP gave us an expected uplift to 1439. That’s all we needed to test. We did not see an MCE option on this board, but some manufacturers have auto-enabled MCE with XMP in the past, so we wanted to make sure nothing similarly sneaky was going on with the Z370I and XMP. This one seemed fine.

ASUS Crosshair VI Hero Core Performance Boost

Moving on to the ASUS Crosshair 6 Hero X370 motherboard with an R7 1700, we tested the following configurations:

ASUS C6H X370 CPB Test Matrix

Settings

XMP/DOCP

CPB

Performance Bias

Auto, except

No

Auto

Auto (Disabled)

Auto, except

Yes

Auto

Auto (Disabled)

Auto, except

Yes

Explicitly Disabled

Auto (Disabled)

Auto, except

Yes

Explicitly Enabled

CB15 Bias

  • Stock, CPB Auto, and performance bias disabled. Note that ASUS calls the feature “Core Performance Boost” for AMD motherboards, but as Core Performance Boost is too long to fit in charts, we’re just calling it CPB.
  • We next tested XMP with CPB auto and performance bias disabled.
  • Then XMP with CPB disabled explicitly and performance bias disabled.
  • We finally tested XMP with CPB enabled explicitly and CB15 bias.

10 asus c6h cinebench

The results for Cinebench are as follows: With core performance boost set to auto, stock settings without XMP, and performance bias disabled, we measured 1400 points for multi-threaded, 145 for single-threaded. Enabling XMP but leaving the other options auto and disabled, we measured 1432 points and 148 points – boosted from higher memory speeds. Enabling XMP and explicitly disabling core performance boost, we measured leet.7points multi-threaded, or 123 single. Finally enabling core performance boost and Cinebench bias, we measured 1472 points multithreaded, a substantial uplift, and 151 points single-threaded.

11 asus c6h frequency

Here are the frequencies: With Core Performance Boost enabled, we end up at 3154MHz multi-threaded, or 2815MHz single-threaded. With it disabled, we’re at 3000MHz multi, 2662 single-threaded. We always test with Core Performance Boost enabled on AMD Ryzen platforms – but it’s not the same as MCE.

For AMD, Core Performance Boost seems to trigger Precision Boost and XFR, which are both stock features of AMD Ryzen by default, so it makes sense that motherboards enable CPB by default. This is a different feature from Intel CPUs and MCE.

12 asus c6h power

Power does exit spec as defined by TDP, but remember that TDP is not equivalent to actual power consumption – it is a measure of how much cooling power is needed, not of how much power consumption is needed. That said, TDP often correlates very closely with power consumption.

For power, we measured about 68.7W – close to the 65W TDP, but again, they don’t measure the same thing – and 26W for single-threaded. This was with CPB disabled. With CPB enabled, the default option, we measured 79W multi-threaded and 33W single-threaded.

Why does this happen?

As above, this primarily boils-down to a few things:

  • Competitors keeping up with each other in the motherboard market
  • Not wanting to look bad in comparisons to other board vendors
  • Executives at the top seeing lower performing boards and not knowing why, but wanting better
  • This is independent competition between board vendors, and if one enables MCE by default, they might all follow-along

Although it only affected minor benchmarks to our testing and conclusions (Cinebench, POVRay) and left gaming & streaming results entirely unaffected, we still need to prevent future oversights of MCE’s hidden or silent enablement. The Ultra Gaming was supposed to – and later did – have MCE disabled by default, but it did not in the first reviewer BIOS that went out. We fortunately tested non-synthetics on F4 and F5a, both of which disable MCE by default, but tested Cinebench on F2. F2 had no MCE option surfaced in BIOS, but still enabled MCE by default. To prevent future oversights of MCE’s secret enablement, we are taking several steps to further improve our testing accuracy and supervision:

For our own future testing, we’re going to standardize a couple of new procedures to ensure that motherboard manufacturers aren’t unintentionally or intentionally pulling one over on us.

  • ­One, we’re going to begin taking note and detailing with EFI version was used for CPU or motherboard reviews going forward. This will help us isolate problems in BIOS versus problems in the CPU or motherboard. We log EFI versions internally already, but we’d like to start listing them in articles. We believe that EFI has now become functionally equivalent in performance to knowing, for instance, which GPU was used in a test bench.
  • Two, we’re going to begin exporting that BIOS, when possible, and saving it somewhere so that we can ensure we have permanent access to pre-production BIOS revisions.
  • Three, we usually conduct a fully automated test suite for synthetics and production workloads. We will keep doing that, but we’re now adding in some additional HWINFO logging as a separate run. HWINFO impacts results negatively with all its logging, so the results won’t be averaged-in. We will instead use them to validate CPU frequencies and cache or memory behaviors.

A lot of this comes down to better logging procedures and testing management and supervision, which we’ve overhauled as a result of the sneaky F2 UEFI. We’re excited to apply our new testing methods going forward, and are constantly overhauling what we do. We’ve updated our Cinebench chart in the 8700K review and have posted updated comments/descriptions of these findings.

Should MCE Be On By Default?

No. No, it should not. MCE carries with it several issues, but all are eliminated when MCE is disabled by default. Primary issues include operating out of spec, which isn’t true to the processor’s expected power consumption or cooling requirements, and potentially operating at a level that triggers BSODs or instability. This can happen when automatic voltage adjustments or auto LLC are operating below the requirements of a constant max-Turbo CPU.

We respect that motherboard vendors want and need to offer something over their competitors. Motherboards are critically important to performance (see: memory timings), but we believe that MCE is entering territory of basic CPU functionality, and that should be left to Intel and AMD – or disabled by default, at least.

AMD’s Core Performance Boost is different, as that interacts with XFR and Precision Boost, which are expected features of Ryzen CPUs. Core Performance Boost should be enabled by default, we think, while MCE should be disabled by default on all boards.

It’s up to us – media and consumers – to keep a closer eye on when manufacturers enable MCE by default, as one will cascade to a waterfall of other manufacturers following suit to compete.

Editorial, Testing: Steve Burke
Video: Andrew Coleman