News Intel Raptor Lake CPU Runs On 27-Year-Old Windows NT 4.0

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.
According to this paper:
"Most Intel CPUs have multiple decoders: several simple decoders to translate x86 instructions that map to a single μop, a complex decoder to translate instructions that map to 1-4 μops, and a Microcode Sequencer responsible for translating microcoded instructions. Microcoded instructions are the most complex instructions that require advanced logic to be executed. Examples are cpuid that returns detailed information about the CPU and wrmsr that modifies internal settings in model-specific registers (MSRs)."​


That's not true. Every x86 instruction gets translated into a micro-op. Even if it's a 1:1 translation, there's still a translation.

Again, from the above paper (Introduction, first paragraph):
"Microcode is the hidden software layer between the instruction set and the underlying hardware. In most Complex Instruction Set Architectures (CISC), each instruction, or macro-instruction, is translated into one or more micro-operations (μops) that are executed by the underlying hardware. In total, there are over 2700 distinct μops in Intel x86. Many simple instructions map to a single μop. However, more complex instructions are essentially entire programs and can map to > 50 μops. Microcode is a crucial optimization for these instructions, as μops are much simpler to implement in hardware and can be pipelined more efficiently."​

If you want to understand how microcode truly works in modern CPUs, definitely read that paper. I only read the Abstract, Intro, and Background sections. That's only 2.5 pages and will increase your understanding, greatly.


I wouldn't be too sure about that. If we're talking x86, even mov isn't as simple as you probably think it is. If you mean register-to-register copy, then sure. Likewise, add can have memory operands and those can involve address arithmetic.


Don't read too much into that diagram. It's a reconstruction (i.e. not-authoritative) meant only for illustrative purposes. Also, if modern CPUs don't implement microcode in micro-ops, then what?


IMO, it's a slightly artificial distinction. The instruction decoders are an indirection layer. What the CPU executes are micro ops. The microcode could be seen as the definition of that translation layer.

I guess the distinction you could make is between microcoded and simpler instructions. However, depending on how many instructions could be potentially microcoded, you could still say it's the microcode, writ large, which defines how programs are run on the CPU.
Thanks for the references. I may spend another night trying to comprehend the nuances of CPUs again...
 
  • Like
Reactions: bit_user
Thanks for the references. I may spend another night trying to comprehend the nuances of CPUs again...
I think you probably have a pretty good handle on the basics, but it's a pretty fun paper to read. I'm often amazed by such feats of reverse-engineering. It demonstrates true mastery then to take that knowledge and use it to modify the system in interesting and useful ways, as they've done.
 
  • Like
Reactions: helper800
Status
Not open for further replies.