Enabling XMP with ASUS, GIGABYTE, ASRock and MSI on Z87

By default, memory should adhere to specifications set by JEDEC (formerly known as the Joint Electron Device Engineering Council).  These specifications state what information should be stored in the memory EEPROM, such as manufacturer information, serial number, and other useful information.  Part of this are the memory specifications for standard memory speeds, including (for DDR3) 1066 MHz, 1333 MHz and 1600 MHz, which a system will adhere to in the event of other information not being available.

An XMP, or (Intel-developed) Extreme Memory Profile, is an additional set of values stored in the EEPROM which can be detected by SPD in the BIOS.  Most DRAM has space for two additional SPD profiles, sometimes referred to as an ‘enthusiast’ and an ‘extreme’ profile; however most consumer oriented modules may only have one XMP profile.  The XMP profile is typically the one advertised on the memory kit – if the capability of the memory deviates in any way from specified JEDEC timings, a manufacturer must use an XMP profile.

Thus it is important that the user enables XMP!  It is not plug and play!

At big computing events and gaming LANs there are plenty of enthusiasts who boast about buying the best hardware for their system.  If you ask what memory they are running, then actually probe the system (by using CPU-Z), I sometimes find that the user, after buying expensive memory, has not enabled XMP!  It sounds like a joke story, but this happened several times at my last iSeries LAN in the UK – people boasting about high performance memory, but because they did not enable it in the BIOS, were still running at DDR3-1333 MHz C9.

So enable XMP with your memory!

Here is how:

Step 1: Enter the BIOS

This is typically done by pressing DEL or F2 during POST/startup.  Users who have enabled fast booting under Windows 8 will have to use vendor software to enable ‘Go2BIOS’ or a similar feature.

Step 2: Enable XMP

Depending on your motherboard manufacturer, this will be different.  I have taken images from the major four motherboard manufacturers to show where the setting is on some of the latest Z87 motherboard models.

On the ASUS Z87-Pro, the setting is on the EZ-Mode screen.  Where it says ‘XMP’ in the middle, click on this button and navigate to ‘Profile 1’:

If you do not get an EZ mode (some ROG boards go straight to advanced mode), then the option is under the AI Tweaker tab, in the AI Overclock Tuner option.

For ASRock motherboards, navigate to OC Tweaker and scroll down to the DRAM Timing Configuration.  Adjust the ‘Load XMP Setting’ option to Profile 1.

For GIGABYTE motherboards, such as the Z87X-UD3H in the new HD mode, under Home -> Standard is the separate XMP setting, as shown below:

Finally on MSI motherboards, select to the OC option on the left hand side and XMP should be in front of you:

I understand that setting XMP may seem trivial to most of AnandTech’s regular readers, however for completeness (and the lack of XMP being enabled at events it seems) I wanted to include this mini-guide.  Of course different BIOS versions on different motherboards may have moved the options around a little – either head to enthusiast forums, or if it is a motherboard I have reviewed, I post up all the screenshots of the BIOS I tested with as a guide.

Memory Scaling on Haswell: DDR3-1333 to DDR3-3000 Tested with G.Skill Memory Scaling on Haswell: CPU Real World
Comments Locked


View All Comments

  • MrSpadge - Thursday, September 26, 2013 - link

    Is your HDD scratching because you're running out of RAM? Then an upgrade is worth it, otherwise not.
  • nevertell - Thursday, September 26, 2013 - link

    Why does going from 2933 to 3000, with the same latencies, automatically make the system run slower on almost all of the benchmarks ? Is it because of the ratio between cpu, base and memory clock frequencies ?
  • IanCutress - Thursday, September 26, 2013 - link

    Moving to the 3000 MHz setting doesn't actually move to the 3000 MHz strap - it puts it on 2933 and adds a drop of BCLK, meaning we had to drop the CPU multiplier to keep the final CPU speed (BCLK * multi) constant. At 3000 MHz though, all the subtimings in the XMP profile are set by the SPD. For the other MHz settings, we set the primaries, but we left the motherboard system on auto for secondary/tertiary timings, and it may have resulted in tighter timings under 2933. There are a few instances where the 3000 kit has a 2-3% advantage, a couple where it's at a disadvantage, but the rest are around about the same (within some statistical variance).

  • mikk - Thursday, September 26, 2013 - link

    What a stupid nonsense these iGPU Benchmarks. Under 10 fps, are you serious? Do it with some usable fps and not in a slide show.
  • MrSpadge - Thursday, September 26, 2013 - link

    Well, that's the reality of gaming on these iGPUs in low "HD" resolution. But I actually agree with you: running at 10 fps is just not realistic and hence not worth much.

    The problem I see with these benchmarks is that at maximum detail settings you're putting en emphasis on shaders. By turning details down you'd push more pixels and shift the balance towards needing more bandwidth to achieve just that. And since in any real world situation you'd see >30 fps, you ARE pushing more pixels in these cases.
  • RYF - Saturday, September 28, 2013 - link

    The purpose was to put the iGPU into strain and explore the impacts of having faster memory in improving the performance.

    You seriously have no idea...
  • MrSpadge - Thursday, September 26, 2013 - link

    Your benchmark choices are nice, but I've seen quite a few "real world" applications which benefit far more from high-performance memory:
    - matrix inversion in Matlab (Intel MKL), probably in other languages / libs too
    - crunching Einstein@Home (BOINC) on all 8 threads
    - crunching Einstein@Home on 7 threads and 2 Einstein@Home tasks on the iGPU
    - crunching 5+ POEM@Home (BOINC) tasks on a high end GPU

    It obviously depends on the user how real the "real world" applications are. For me they are far more relevant than my occasional game, which is usually fast enough anyway.
  • MrSpadge - Thursday, September 26, 2013 - link

    Edit: in fact, I have set a maximum of 31 fps in PrecisionX for my nVidia, so that the games don't eat up too much crunching time ;)
  • Oscarcharliezulu - Thursday, September 26, 2013 - link

    Yep it'd be interesting to understand where extra speed does help, eg database, j2ee servers, cad, transactional systems of any kind, etc. otherwise great read and a great story idea, thanks.
  • willis936 - Thursday, September 26, 2013 - link

    SystemCompute - 2D Ex CPU 1600CL10. Nice.

Log in

Don't have an account? Sign up now