Windows 7 vs. Windows 8 Intel CPU Microcode update

Discussion in 'Windows 7' started by agamoros, Aug 19, 2012.

  1. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    I noticed in 2 computers, one desktop with Intel C2D Q9400 and a laptop with Intel Core i7 740QM, the cpu microcode is newer version on Windows 8 than Windows 7. I did a try moving mcupdate_GenuineIntel.dll from Windows 8, but system can't load Windows with it, and performs a system restore. Someone knows if there's an update for Windows 7 to upgrade the microcode at same level as it on Windows 8? Thank you.
     
  2. ian82

    ian82 MDL Expert

    Mar 7, 2012
    1,147
    302
    60
    What does this CPU Microcode do?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    17,494
    15,283
    340
    Extends the support of newer processors.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. burfadel

    burfadel MDL EXE>MSP/CAB

    Aug 19, 2009
    2,628
    3,839
    90
    CPU Microcode is software (is also a module in the BIOS, this is software nonetheless) that allows minor post production operation changes.

    The file in Windows 8 is newer because it retains the operating system version number. The dll is non-transferable due to it requiring Windows 8. Basically anything in the microcode that is effectual will also be in the Windows 7 microcode currently, or available in a future update.
     
  5. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    Not only the file version is newer, of course, the microcode patched to the cpu too. I noticed more accurate SpeedStep behavior and higher cache transfer rate with newest microcode. Maybe here rely some clues about why Windows 8 works really well on old computers, as these almost always have outdated microcode, or lack of patches.
     
  6. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    Also fixes bugs on computation/memory access.
     
  7. Stannieman

    Stannieman MDL Guru

    Sep 4, 2009
    2,232
    1,800
    90
    #7 Stannieman, Aug 23, 2012
    Last edited: Aug 23, 2012
    But how does that work?
    I thought that microcode is somewhere in a part of the CPU's internal memory. The only way to update that is to load updated data into that memory during cpu initialization. It has to happen during initialization, cause after initializing it starts executing instructions that need the microcode, so any update from this point on is to late.
    So only BIOS or UEFI can update microcode. I have indeed seen BIOS updates that have "updated cpu microcode" in there changelog.

    ...which leads me to the conclusion that this isn't microcode as windows
    1) won't ever be able to inject it into the cpu
    2) If it could that's dangerous because the real underlying implementation of the electrical circuit of some instructions might slightly change, which could have bad side effects if it happens in the middle of executing code.

    So what is really in this dll if it's not the real deal cpu microcode?

    Or am I wrong and can microcode be updated by the OS?


    EDIT: Ok forget about all this, it appears that an OS can actually updated microcode when booting...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    Windows has a system wich loads early and check the microcode version on the cpu, updating it if it's needed from a dll. The microcode is done by the cpu maker. Linux operating systems integrate the microcodes on kernel as example.
     
  9. drizzle

    drizzle MDL Novice

    Aug 22, 2009
    44
    115
    0
    downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=21385
     
  10. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    I used the utility microdecode to extract the microcodes from there and the Core i7 740QM is the same as Windows 8, but the one for Q9400 is older than the one on Windows 8 mcupdate_GenuineIntel.dll. I don't know a way to extract the microcodes from Microsoft file, with 7-Zip didn't work.
     
  11. mictlan

    mictlan MDL Member

    Nov 9, 2009
    224
    114
    10
    Seriously, dude?
    :aglerks:
     
  12. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    Why you surprised? @mictlan? I used microdecode utility, took the microcodes decrypted, then I modified both bios with MMTOOL (one "raw", other Aptio) for laptop and desktop, wich are AMI based, to change the microcodes, and all working really fine. I care enought about my systems to notice if there's a microcode change between updates or operating system changes, and I take the risk to modify or upgrade them, I'm really pleased to have forums like MDL to learn from them.
     
  13. haksancan

    haksancan MDL Novice

    Jun 6, 2011
    14
    2
    0
    well, there is a hotfix for windows 7 intel microcode update, google it and if you can't find the link, just ask and i can post.
     
  14. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    Yes, KB2493989 but the microcodes from it are old.
     
  15. James D

    James D MDL Novice

    Oct 6, 2011
    34
    0
    0
    #15 James D, Sep 14, 2012
    Last edited: Sep 14, 2012
    I guess mictlan is is naive enough to think that 7zip can unzip only rar, zip and 7z archieves L. I used it to unzip Sony BIOS *.exe patcher and to get the ROM BIOS file itself.

    A week ago I also took a microcode for I7-740Qm from Intel database and it was v.5. My current BIOS has v.3. Even though I know that OS uploads the latest microcode I still will try to put a newer Microcode in the BIOS.

    I have a question: do I have to put microcodes in exact order as they were shown in MMTool? Because I actually delete them all and the put them all back (newer versions if exists) to put in in the exact order...

    And second question: how risky is it? Because last time I moded BIOS via AMITool disabling Hyperthreading my laptop bricked and it took 9 months to find the correct dump and repair it (repaired 1 week ago).

    The third one: How did you looked what microcodes are in that dll?
    Using HEX editor? I know it must be debian but forgot how to search.

    P.S. If it is in Hex then why can't you just manually exchange microcodes using HEX Editor in Windows 7 dll file???
     
  16. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    I did with MMTool for Aptio. Delete the old microcode for the cpu selected, and insert the new one. Check with care the platform, I don't know if same microcode for other platform will work too. I did this on two AMI bioses, one on old HP desktop and Asus laptop.
     
  17. James D

    James D MDL Novice

    Oct 6, 2011
    34
    0
    0
    #17 James D, Sep 14, 2012
    Last edited: Sep 16, 2012
    Ok, so I used HEX Editor to exchange older CPU microcode on a newer one for 06E5 platform which had to work with my I-840QM (same microcode for 740QM). Unfortunately that didn;t work too. Looks like there is a checksum. BAD!

    I know that you use MMTool. I asked about the order list what MMTool shows. But reading what you wrote seems that you just delete and then insert 1 microcode, nothing else.. thanks.

    You wrote that you felt performance increase, right? How big was it and what was on 740Qm as I am interested in updating microcode of this one?
     
  18. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    I noticed on Windows 7 with updated microcode better multithread handling and faster switch between cpu power modes (Speedstep), the behavior seems more accurated like on Windows 8.
     
  19. James D

    James D MDL Novice

    Oct 6, 2011
    34
    0
    0
    Cool then. I will update it in a 3 days or so and check it out. Just hope that will not brick BIOS again.

    How do you think, if I just delete that Microsoft's file with microcodes will I be able to boot so I could check performance of even older microcode written to my BIOS? Do not have time to mess with recovering file back if needed.
     
  20. agamoros

    agamoros MDL Novice

    Jun 16, 2007
    26
    5
    0
    I didn't try it :eek: