64-bit registers, 64-bit addresses and 64-bit operands usually all go
together. Can you think of any exceptions?
The Atari Jaguar. 64-bit registers, 24-bit addresses and 32-bit operands!
Well, sort of. The CPU was a Motorola 68000, which is a 32-bit chip with
24 address pins and an instruction set that's still slanted towards 16-bit
operations. The graphics, memory control and sound chips were clean
32-bit. The data bus was 64-bit. The interesting bit was the blitter and
'object processor', both of which were somewhat specialised chips designed
for shunting data around and doing repetitive operations of limited
complexity to it - but doing them incredibly fast. They were 64-bit.
You might say that since the 68k CPU was 32-bit, the machine was 32-bit,
but the idea was that the 68k was just there to boot the system,
initialise the other chips, manage controller input, etc, and that the
real heart of the system was the custom chipset, which would execute all
the real logic - the 68k was a sort of management chip, not a CPU.
However, according to my very superficial understanding of the Jaguar's
history, game programmers did use the 68k for game logic, and used the
custom chips purely for graphics.
In any case, the only other chip which could really have been considered
the primary element was the GPU, which was a general-purpose RISC chip
with some graphics-specific extensions, but that was only 32 bit anyway.
So, it was more of a 32-bit machine with a 64-bit bus and some 64-bit
graphics chips.
If i can change the numbers a bit, all the 8-bit processors had 16-bit
address spaces. Some 16-bit machines had >16-bit address spaces too, like
all that segment register madness on the early x86 chips.
tom