1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.


Discussion in 'Intel' started by anon, Jul 10, 2006.

  1. anon

    anon Guest

    Is there any info (like an assembly lang.) on Intel Microcode for the
    Pentium series computer or i386.?

    I would like to play around with my PII and I have an old 386 ago. Trying
    to maybe write some special instructions? Like creating a Intel microcode
    Lisp-Machine using the undocumented Intel CPU MicroCode. And there are
    others special languages like Pascal, Prolog, I would like to try to create.
    Since most of these are now p-code aka bytecode systems.
    anon, Jul 10, 2006
    1. Advertisements

  2. Intel Bios Writers Guide, available from your local Intel FAE.
    Brownz \(mobile\), Jul 10, 2006
    1. Advertisements

  3. anon

    anon Guest

    BIOS ROM is to high level it uses the normal instruction set.

    I am talking about the undocumented CPU microcode that at times Intel
    will provide updates to. The microcode allows one to add or alter the
    normal opcodes. Check Google for Linux and "MicroCode.c" for the program
    that allows one to alter the cpu code. Intel normally provide a Windows
    binary program for Win uses.

    Now after uploading the microcode to the cpu chip. It will stay active until
    a cold reboot ( power off-on ). The reset switch ( warm reboot ) will
    not erase the program.

    There are two types change that can happen by updating the microcode.

    The first is the altering of the instructions set. Such as "NOP"
    instruction which is normally stored as a hex 90. And a
    "MOV [BX+SI],AL" is a pair of hex codes ( 00 00 ). But with
    microcode update one can change the "NOP" to 00 hex instead of
    the MOV. This is mostly used to update the FPU because altering the
    normally instruction set can have strange effect, unless you plan for

    The second is to add instructions, which is what I am looking at. Such
    as the Lisp function CAR or CDR. There by increasing the instruction
    set and at the same time allowing one to build a "Lisp-Machine" as
    long as the processor is powered up
    anon, Jul 10, 2006
  4. anon

    Alex Johnson Guest

    Microcode did not exist in the Pentium or the 80386. It was first used
    on x86 processors in the Pentium Pro and has been used since in all the
    P6 family and Netburst family.

    You cannot write or execute microcode because there is no interface to
    submit it. The front end of the microprocessor understands only x86
    machine language, which it translates internally into microcode and
    executed. The only way it would be useful to know microcode would be if
    you somehow discovered the secret key that allows intel to issue
    microcode patches to parts in the field, something I don't think is ever
    given out.

    Alex Johnson, Jul 11, 2006
  5. anon

    Tom Lake Guest

    Microcode did not exist in the Pentium or the 80386. It was first used on
    Microcode has existed on every CPU since the 4004. I remember
    the people who wrote the 4004 and 8008 (pre-8080) microcode
    getting mad when others referred to themselves as micro programmers
    when all they did was program in a relatively high-level language such as
    machine language (!)

    Tom Lake
    Tom Lake, Jul 12, 2006
  6. anon

    anon Guest

    AMD was SUED for using INTEL 80386 microcode when they designed there
    first CPU. And INTEL suppiled a update to there microcode in 2004.
    Microsoft update most people cpu with XP sp1 and sp2.

    For Interface to the cpu, well Intel gave microsoft the code and Microsoft
    compiled it into there updates of XP. As for Linux users they use a
    software called "Microcode.c" and have to down a binary version of the
    microcode. To check on this do a search at google.

    You can also check on the lawsult of AMD and INTEL.
    anon, Jul 12, 2006
  7. * anon:
    No MS patch or service pack ever contained microcode updates. For
    processors with loadable microcode this code is part of the system BIOS.
    The microcode can't get loaded into the processor during runtime, it's
    done during the initialization. So there both is no need and also no way
    a service pack could or even should try to alter cpu microcode.

    Benjamin Gawert, Jul 12, 2006
  8. * Alex Johnson:
    Not quite correct. _Loadable_ microcode was introduced with the Pentium
    Pro. The older processors did have microcode but it was hardwired.

    Benjamin Gawert, Jul 12, 2006
  9. * anon:
    There should be plenty around.
    Forget that with the 386 since it's microcode is hardwired and not

    You can alter microcode on a PII but bear in mind that this means to
    modify the microcode part in the computers BIOS which requires to modify
    a BIOS image file and flash it without making your system a door stop.

    Benjamin Gawert, Jul 12, 2006
  10. anon

    anon Guest


    Please do a google search on ( "Intel Microcode" "Windows XP" ).
    And there are 100s of forum that talk about microsoft inserting the microcode
    upgrade into Windows XP. And how in some case it slowed down the
    processor to the point that intel had to change it. The last update that I
    read about adds a crypro functions to the processor.

    As stated before check google for ( "microcode.c" ) and you will see
    that the upgrade is done during runtime and it temp. until a reset of the

    Please do a little research before answering a thread!
    anon, Jul 15, 2006
  11. * anon:
    That's utterly BS. Besides that a google search with your keywords of
    course didn't result to anything that confirms the nonsense you're
    spreading your complete explanation has nothing to do with reality.

    First, on CPUs with loadable microcode the microcode is _not_ permanent
    but loaded during initialization. So even when loading the wrong or bad
    microcode into the CPU there is no reason to replace it since after the
    next reset the CPU doesn't contain the microcode any more. On x86
    systems with loadable microcode this code is part of the computers BIOS
    and as I already said gets loaded during the CPU initialization during
    POST. So to change the microcode you also have to change the BIOS. BTW:
    there is not much room for microcode, and there definitely is not enough
    room to provide any "crypto functions" or other BS.

    Needless to say even the MS knowledge base seem to know nothing from a
    microcode update within SP2. And MS should know it, don't you think?
    I'm not doing your homework, son. You claimed that SP2 would contain
    microcode updates so prove it, at least provide some link which
    shouldn't be difficult since as you state there must be 100s of links.
    So please provide us with some reference or shut up.
    Well, it was _you_ who came here asking for help. I don't need google or
    some webforums to know what I know. Of course you have no f***ing clue
    about what exactly microcode is, and how it works on the x86 architecture...

    I have a link for you that might provide you with at least some very
    basic insights. You really need it:



    "...The microcode updates reside in the system ROM BIOS and are loaded
    into the processor by the system BIOS during the power on self test
    (POST)...To install a new microcode update, however, the motherboard
    BIOS must contain the routines to support the microcode update, which
    virtually all Pentium Pro and Pentium II BIOSes do have. The Intel
    processor update utility determines whether the code is present in the
    BIOS, compares the processor stepping with the microcode update
    currently loaded, and installs the new update, if needed. Use of this
    utility with motherboards containing the BIOS microcode update routine
    allows just the microcode update data to be changed; the rest of the
    BIOS is unchanged....Note that if the BIOS in your motherboard does not
    include the processor microcode update routine, you should get a
    complete system BIOS upgrade from the motherboard vendor."

    Benjamin Gawert, Jul 16, 2006
  12. anon


    Sep 23, 2008
    Likes Received:
    walterbr, Sep 23, 2008
  13. anon


    Jul 24, 2011
    Likes Received:
    Micro Code

    To the entire miss guided programmers.
    I write this article in hopes to resolve an issue that apparently is confusing to some. The term “Micro-Code” in the reading of these articles has been grossly miss used, and has been evidently incorrectly taught by Colleges and Universities. Micro-Code is not a program at all; it resides in the OpCode decoder ROM. There is no need for a programmer to understand how it decodes, only that it does, (unless you work for Intel or AMD, and others manufactures of CPU, GPU, and MPU’s).

    Micro-Soft has never received a Micro-Code from any CPU manufacture; it would be totally useless to them. No other software manufacture has ever received Micro-Code. To even ask for it would generate great laughter in that company. Other company that clone a CPU has received Micro-Code as part of their agreement.

    Generally, the ROM or group of ROM’s that decodes the OpCode contains the Micro-Code, and permanently fused on the photo mask of the CPU. It is usually placed (In the design of the CPU) between the Instruction register (Parallel to the sequence counters) and the machine. The Machine contains hundreds of signals (often thousands) which have to be turn on or off, sometimes repeatedly to complete the OpCode. These signals are provided by the ROM or random gate array outputs.

    Micro-Code has been around for a long time. Federico Faggin, inventor of the world’s first micro processor, the Intel 4004, 8008, 8080 and his company Zilog for the Z80 used Micro-Code. Even before his time when computers was built with radio tubes and relays. Every type of processor has a micro-code or random logic system built into it in some form or another. In the earlier days of computing, Micro-Code was entered or altered by hand, using jumper wires, switches, or punched paper tape. After it was perfected to machine, the computer function properly, it was never altered, or change. Changes were made when a system or device was added to the CPU itself. Micro-Code was an interface between software and machine.

    In every manual you read about the CPU architecture it describes the construction of the OpCode, and breaks it down to comprehend it meaning. But what you don’t see in any of the manuals and is of little importance is the Micro-Code.
    I hate to burst many bubbles, but Micro code is something you can not change or would even want to. It would take millions of dollars to change a mask that produces a CPU on silicon so that programmers could make changes. In addition, it would totally “screw up” the internal function of the CPU itself. The size of the CPU does not justify the term as well.

    Getting the word out to your fellow programmers would simplify the confusion on the term “Micro-Code”.

    One last note, if you are still interested in the way Micro-Code really performs and how it works with software to hardware check out the Home Brew computer club, examine some of their schematics.
    gdoudney, Jul 24, 2011
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.