3 ms·
CISC isn't necessarily more compact. Since there are more instructions, each instruction takes up more space. For example in ARM's thumb encoding, each instruct
by jules 15y ago
CISC isn't necessarily more compact. Since there are more instructions, each instruction takes up more space. For example in ARM's thumb encoding, each instruction takes up 16 bits. A typical x86 instruction takes much more space.
I wonder how much of an x86 chip is dedicated to handling legacy instructions or largely unnecessary instructions. How much saving could be achieved by a radically simpler instruction set (for example no neg/call/ret/push/pop/bcd instructions). If you look at the http://en.wikipedia.org/wiki/X86_instruction_listings http://en.wikipedia.org/wiki/X86_instruction_listings then most of the instructions seem unnecessary. Does anybody have some information about this?
- anamax 15y ago> I wonder how much of an x86 chip is dedicated to handling legacy instructions or largely unnecessary instructions. How much saving could be achieved by a radically simpler instruction set (for example no neg/call/ret/push/pop/bcd instructions). It's been a long time since I was in a closely related biz, but back then, the answer was "not much if you want to go fast". Instruction decode isn't a huge deal. Micro-op sequencing isn't a big deal if you're going out of order (and many risc instructions tend to get broken into micro-ops). The number of architectural registers used to be a big thing, but X86_64 is good enough. (I don't know if anyone got around to renaming memory.)
- berkut 15y agoOkay, I probably should have been more specific - they might take up more memory, but you generally need less of them to do the same thing in RISC, so that usually more than compensates. Instruction decode isn't really difficult - 4-way decode could arguably be called difficult, but there's not much of that.