Why do CISC chips need to translate instructions?
May 20, 2008 9:25 AM
Subscribe
Why can't CISC instruction sets be converted to RISC/uops by an advanced assembler so that CISC chips, such as Intel's Atom, would be able to run with a simpler instruction decode hardware?
I just read
this article from ars technica about Intel's new Atom processor. The author feels that the Atom's instruction decode hardware needed for the CISC architecture hurts its power consumption and increases the core size compared to the ARM A-9.
My question is, why do all of the decode at runtime, on-chip, with dedicated transistors, when it could be done by the assembler or by a post-assembler x86 opcode to uops? I suggesting a smaller hardware instruction decoder with a opcode to uop translation in software at compile/assemble time; not completly doing away with the decoder.
What stands in the way of doing the instruction decode well before hand? Isn't the existing hardware logic a good start on for the software version?
The only thing I can think of is it seems that it would make it difficult to write self-modifying code. I'm not a EE so a non-hardware CS or layman's answer would be best.
posted by bdc34 to computers & internet (22 comments total)
1 user marked this as a favorite
Also, if it's a static recompilation, that's kind of a non-starter for commercial software. If you can recompile then you might as well simply retarget it to whatever instruction set you want. But if you mean on-the-fly, then yeah, people do that. The major issue is overhead and the amount of time needed to optimize efficiently. Depending on how you look at it you're essentially describing a virtual machine and then all the typical VM issues come into play.
posted by GuyZero at 9:37 AM on May 20 [1 favorite]