Rocket Lake Redux: 0x34 Microcode Offers Small Performance Gains on Core i7-11700Kby Dr. Ian Cutress on March 14, 2021 12:00 PM EST
One of the leading questions as to our original Core i7-11700K review was the validity of those results given that, as usual with launches, motherboard vendors push BIOS updates as we move closer to the official launch. At the time, we were testing on Intel’s microcode 0x2C, the latest version available to the motherboard vendor. Intel has since released microcode 0x34, and we have retested our results on this new update.
The March on Microcode
What is microcode? Most consider it to be the underlying firmware for an Intel system. Microcode ultimately controls processor operation as well as the translation between the user-exposed instruction set and the underlying processor design. Within this microcode, the processor can control and react to what code is flowing into the processor, where to send it, how to adjust voltage/frequency, as well as a number of optimizations or fixes that are needed.
For example, some of the initial variants of Spectre and Meltdown were ‘fixed’ by adjusting the microcode to no longer make the processor vulnerable. This required those systems to be updated to the new microcode, and there was a performance penalty. Future processors were built with these fixes in hardware, and so incur less of a performance drop. Microcode allows for after-production adjustments in the name of security, or performance.
Leading up to a launch of a new processor family, microcode is King. Intel takes its microcode, and couples with it updated power management control, initialization code, management engine firmware, device drivers/keys and UEFI drivers. This package creates an update candidate, which is sent to the motherboard manufacturers. On top of this, motherboard vendors sprinkle their own garnish, but can also modify elements such as turbo or memory training, which we’ve seen extensively done in the past. As we’ve discussed previously, a number of suggested settings that Intel makes can (and often are) ignored by the motherboard vendors. But the microcode is fairly rigid in what it does.
The key point to note here is that motherboard vendors do not always update their BIOS offerings each time a new microcode package is made available to them. So, for example, a motherboard BIOS vendor might only deploy one new update a month, even if Intel is supplying new updates for a week.
Moving Closer To Launch
So you might imagine, as a new processor family and motherboard stack gets closer to launch, there is an impetus to enable the latest microcode in a new BIOS every time one is made available. Motherboards are manufactured up to 3 months in advance with very early microcode, and they have to be updated continuously, both for Intel’s latest updates but also the motherboard vendor’s optimizations.
Even boards for retail can have super early editions of microcode. Z590 boards are already on the market, with the latest versions at the time of manufacture. So far in our Rocket Lake testing we have been sent three different motherboards, with the following microcode versions:
- Board 1: BIOS from January 8th, microcode 0x1B (version 27)
- Board 2: BIOS from February 6th, microcode 0x24 (version 36)
- Board 3: BIOS from February 7th, microcode 0x23 (version 35)
These numbers are all in hexadecimal, but there are nine different versions between the first motherboard and the other two. Since then, to March 6th, there have been at least 16 more versions (0x34, version 52), and likely another few to come.
Not all motherboard manufacturers will release BIOSes for all of their motherboards with every microcode release, just due to time and personnel, plus they don’t envisage the systems being updated every 36 hours. After each new revision, they would have to wrap the microcode package into a BIOS and perform regression tests, make sure all of the features work as expected, and if any new adjustments have been added, test those too. That being said, Intel might not fully release every microcode revision to the motherboard vendors, but we can confirm that vendors do pick and choose what to use.
Our Testing, and This Update Today
When we reviewed our Core i7-11700K prior to launch, we stated that at the time we had used the latest BIOS available from the motherboard vendor. In our communications with that vendor were told that there was no indication if/when the next BIOS would drop. At the time, we were using microcode 0x2C (version 44), part of a February 18th BIOS package. To date, this still remains the latest BIOS for that motherboard, and we’ve been told another update is to come in a week or so.
Since our review, we have obtained a second motherboard. This motherboard was sent to us with microcode 0x1B, from January 8th – super old in a rapid launch cycle. We did some testing on 0x1B, to get a baseline of where the performance was at this time. After that testing, we updated to the latest BIOS. This BIOS was compiled on March 6th version (one day after our review), with the 0x34 microcode.
In our testing today, we will be focusing on the performance delta between the first motherboard on microcode 0x2C (still the latest BIOS for that board), and the second motherboard on microcode 0x34, but also refer back to some of those raw 0x1B numbers. There is some slight variation between the two boards when it comes to AVX-512 response, which we will also cover.
This article will have a few choice results, however our original review with the Core i7-11700K will be updated to showcase both sets of 0x2C and 0x34 numbers.
A Side Note about Motherboard Defaults
One of the comments about our original review was the state of our main memory frequency ratios compared to the memory controller frequency. Historically, these ratios have been fixed in a 1:1 arrangement and are not user configurable.
Some commentary has appeared to suggest that the default setting for these ratios change between Core i9 and Core i7 – specifically that the Core i7 should default to 2:1 mode when run in DDR4-3200, effectively halving the memory controller which has historically been a limiting factor in DRAM overclocking. We cannot confirm if those are the official specifications at this point. However we can confirm that the motherboards we are testing do offer the user the choice of selecting a 1:1 ratio or a 2:1 ratio.
It should be noted that on all of the motherboards we have tested, all BIOS versions, the actual default operation for a Core i7 running at DDR4-3200 does appear to be the 1:1 mode. For the avoidance of doubt, in our testing on every microcode to date, all of our motherboards were running at a 1:1 ratio.
Performance in Microcode 0x34
So this is the bit that Intel never tells anyone externally. There may be updates for internal frequency adjustments, how aggressive to enable voltage/frequency changes, or even changes to default settings. Motherboard vendors very rarely publish changelogs from BIOS to BIOS – at best we get ‘better CPU support’ or ‘updated memory QVL’. So from that standpoint, we have a blank page.
On the performance side, the article title says it all: small performance gains.
In our CPU performance tests, we are seeing an average +1.8% performance gain across all workloads. This varies between a -4.3% loss in some workloads (Handbrake) up to a +9.7% gain (Compilation). SPEC2017 single thread saw a bigger than average +3.4% gain, however SPEC2017 multi thread saw a -2.1% adjustment, making it slower.
In our GPU performance tests, using our RTX 2080 Ti, we are seeing an average +3% performance gain across all configurations. In one case at low resolution settings it was as high as +12%, however +2-3% was typical at 1080p maximum quality.
Our Core i7-11700K review has all the updated benchmark numbers, and microcode versions 0x2C vs 0x34 are clearly marked.
The reasons for this seem to come down to two main areas of updates that we can determine.
Indirect Cache and Memory Updates
In our original review, we posted that the memory of Rocket Lake with our setup was underperforming, with a regression compared to the previous generation Comet Lake. This was a ‘to be expected’ effect of backporting the design and losing some inefficiencies in that migration, however the original review results showed that the memory latency increase was bigger than expected. Through the new microcode, Intel has fixed this to a degree – we’re still seeing a cache structure performance regression, however it is not as severe.
The L1 cache structure remains at 5 cycle vs 4 cycle, as expected, and the L3 is also as expected, with 13 cycles, similar to the Ice Lake design. In our 0x2C test, the L3 latency was 50.9 cycles, but with the new microcode is now at 45.1 cycles, and is now more in line with the L3 cache on Comet Lake. Despite this change however, we saw no adjustment in core-to-core latency.
Out at DRAM, our 128 MB point reduced from 82.4 nanoseconds to 72.8 nanoseconds, which is a 12% reduction, and more in line with the Comet Lake memory latency response.
It is worth noting that our 12% reduction in DRAM latency is not the +40% reduction that other media outlets are reporting. Whereas others use commercial tools, we feel our internal tools are more accurate. Similarly, for overall DRAM bandwidth, we are seeing a +12% memory bandwidth increase between 0x2C and 0x34, and not the +50% bandwidth others are claiming. (We do see a +50% bandwidth increase from 0x1B to 0x34, but between 0x2C and 0x34 it is only 12%.)
AVX-512 Performance and Power Regression: Microcode, or Motherboard?
One of the big talking points about our initial review was the power draw and temperature of our AVX-512 testing. In our test with the 0x2C BIOS in our first motherboard, we saw a 292 W peak power draw, along with a 104ºC peak temperature. In our metrics gathering, this setup ran the processor at 4.6 GHz during AVX-512 workloads.
On our second motherboard with the 0x34 BIOS, the frequency of the processor under AVX-512 started at 4.6 GHz, but within two seconds dropped to 200 MHz lower, running at 4.4 GHz. This meant that the chip experienced 276 W peak power, which very quickly dropped to 225W. At the peak, this processor has saved 18 W, but in the rest of the test, 60 W was saved for 200 MHz. When you are pushing the silicon to those limits, it really is at the inefficient end of the spectrum.
Despite this reduction in frequency and power, the processor still recorded 103ºC at peak, although levelled to 90ºC after hitting that limit.
The reduction in frequency and power does come at the cost of 3% performance between the 292 W and 276 W peak power modes.
The question here is though whether this change is related to microcode or motherboard. We know that different motherboard vendors apply different strategies when it comes to turbo, how the system responds to high power or temperature, and it very well may come to pass that they also have different attitudes when it comes to applying AVX-512 turbo frequencies. This second board here may have decided to go down the lower AVX-512 frequency route in order to increase the longevity of the components, for example. Exactly how much went to microcode vs motherboard is difficult to determine, and your mileage may vary.
Conclusions to Draw
Given the historically volatile nature of early processor microcode releases, some of our readers were quick to question whether future BIOS updates would heavily change Rocket Lake's performance. The answer, in a nutshell, is no, not significantly (thus far).
As with all reviews, they are just segments in time. A conclusion today may be different in several weeks, depending on updates for increased performance through optimization, decreased performance due to security or longevity adjustments, or simple increase in validated peripheral support. There are motherboards out on the market today with earlier BIOSes than the one we tested, and not everyone updates the BIOS. There are advantages to updating, and motherboard vendors do try and make it as easy as possible – one vendor has implemented an updater in both its AMD and Intel motherboards that starts automatically with a fresh Win10 install.
With the latest BIOS, comparing the 0x2C microcode to the 0x34 microcode, while the needle has been moved in the positive direction overall, it hasn’t changed much, and the conclusions don't change either. The CPU performance is overall an uptick, especially for compilation and web workloads, and gaming performance pushes the i7-11700K nearer towards the 8-core Ryzen 7 5800X, now going beyond the Comet Lake version where before there was a trade-off. This means that the i7-11700K now achieves the result as being the best Intel processor in that span, but until we get pricing, there will be question marks as to its recommendation to the rest of the market.
Our Core i7-11700K review is being updated with the new benchmark test results. This may take up to an hour.