- Sep 19, 2000
- 10,286
- 145
- 106
Lets say, for fun, you were presented the opportunity to completely nuke the defacto standard x86 instruction set, start a fresh (And magically all programs/OSes would be compiled to work with your new instruction set).
What would your new instruction set look like (if you even did an instruction set, maybe you have some more clever way of sending instructions to the CPU).
Would you stick with something like an ARM based instruction set? Or would you try to reinvent the CISC platform?
Personally, for starters I would completely nuke the FPU. That thing was such a bad idea it makes my head spin (Seriously, a stack!). I would make it look more like instructions do today. For most instructions, I would change them from "inst src, dest" to "inst op1, op2, dest, dest2" (for those instructions that need a second destination, IG the division instruction, 3 operands would probably be used for all instructions).
Which brings me to GP registers. I would create around about 64 general purpose registers. I would completely nuke the ah and al type registers.
I would probably stick with a CISC type architecture. One thing you have to give it, it is extensible (though, throw enough bytes into the RISC instruction set and you have, essentially, unlimited growth as well). It allows for infinite breathing room for new instructions.
Not to mention exclude all worthless instructions now present in the x86 library such as enter and leave.
I see my instruction set semi-resembling the x86 instruction set, yet much trimmer and basically getting rid of all the old legacy stuff.
Your turn.
What would your new instruction set look like (if you even did an instruction set, maybe you have some more clever way of sending instructions to the CPU).
Would you stick with something like an ARM based instruction set? Or would you try to reinvent the CISC platform?
Personally, for starters I would completely nuke the FPU. That thing was such a bad idea it makes my head spin (Seriously, a stack!). I would make it look more like instructions do today. For most instructions, I would change them from "inst src, dest" to "inst op1, op2, dest, dest2" (for those instructions that need a second destination, IG the division instruction, 3 operands would probably be used for all instructions).
Which brings me to GP registers. I would create around about 64 general purpose registers. I would completely nuke the ah and al type registers.
I would probably stick with a CISC type architecture. One thing you have to give it, it is extensible (though, throw enough bytes into the RISC instruction set and you have, essentially, unlimited growth as well). It allows for infinite breathing room for new instructions.
Not to mention exclude all worthless instructions now present in the x86 library such as enter and leave.
I see my instruction set semi-resembling the x86 instruction set, yet much trimmer and basically getting rid of all the old legacy stuff.
Your turn.