2 ms·
> but I don't regard that as evidence of the superiority of 64-bit, rather I regard that as a failing of the x86 architecture. Can you say me why that is the c
by antoaravinth 12y ago
> but I don't regard that as evidence of the superiority of 64-bit, rather I regard that as a failing of the x86 architecture.
Can you say me why that is the case?
- MichaelCrawford 12y agoAmong the advantages of x86_64 is that it has more general-purpose registers than 32-bit x86, which was originally designed to do everything on the stack. However, one can make a 32-bit CPU that has lots of registers, it just won't be an x86. Such processors typically have calling conventions in which the first few arguments to a function are passed in registers. Because there lots of registers, sometimes there are enough that you don't need to store any local variables on the stack. It's not just that you can operate on registers faster than memory, but not having to access memory at all means you don't thrash the cache as much. It's not just modern processors; the ARM architecture dates back to the Acorn personal computer, which was made at roughly the same time as the 8086 IBM PC. The 68000 CPU has eight general purpose data registers and eight address registers (one of which is the stack pointer). It was made by Motorola at roughly the same time as Intel introduced the 8086. While the 68k only had 16 external data lines and 24 external address lines, it had 32 registers, and a 32-bit instruction set architecture. The reason everyone uses x86 or x86_64 these days, has a lot to do with that the 16-bit 8088 was quite a lot cheaper than the 32-bit 68k. There were other factors than the instruction set and the size of the registers; little-endian processors are easier to design, use less real estate, are cheaper to manufacture, I expect have a better yield at the fab, perhaps they use less power. However all of those factors are, today, quite insignificant. The extra circuitry required for a big-endian CPU doesn't cost much as compared to the cost of everything else today's CPUs can do.