By your account a 386DX would be an 80-bit CPU because it could handle 80-bit floats natively,
No that’s not true, it’s way way more complex than that, some consider the data bus the best measure, another could be decoder. I could also have called a normal CPU bitwidth as depending on how many cores it has, each core handling up to 4 instructions per cycle, could be 256 bit, with an average 8 core CPU that would be 2048 bit.
There are several ways to evaluate, but most ways hover around the 256 bit, and none below 128 bit.
sugar_in_your_tea@sh.itjust.works 2 months ago
There absolutely is, and the person you responded to made it incredibly clear: address width. Yeah, we only use 48-bit addresses, but addresses are 64-bit, and that’s the key difference that the majority of the market understands between 32-bit and 64-bit processors. The discussion around “32-bit compatibility” is all about address size.
And there’s also instruction size. Yes, the data it operates on may be bigger than 64-bit, but the instructions are capped at 64-bit. With either definition, current CPUs are clearly 64-bit.
But perhaps the most important piece here is consumer marketing. Modern CPUs are marketed as 64-bit (based on both of the above), and that’s what the vast majority of people understand the term to mean. There’s no point in coming up with another number, because that’s not what the industry means when they say a CPU is 64-bit or 32-bit.
Buffalox@lemmy.world 2 months ago
That’s just stupid, no CPU has ever been called by the width of the address bus EVER.
sugar_in_your_tea@sh.itjust.works 2 months ago
Yes they have, and that’s what the vast majority of people mean when they say a CPU is 32-bit or 64-bit. It was especially important in the transition from 32-bit to 64-bit because of all the SW changes that needed to be made to support 64-bit addresses. It was a huge thing in the early 2000s, and that is where the nomenclature comes from.
Before that big switch, it was a bit more marketing than anything else and frequently referred to the size of the data the CPU operated on. But during and after that switch, it shifted to address sizes, and instructions (not including the data) are also 64-bit. The main difference w/ AVX vs a “normal” instruction is the size of the registers used, which can be up to 512-bit, vs a “normal” 64-bit register. But the instruction remains 64-bit, at least as far as the rest of the system is concerned.
Hence why CPUs are 64-bit, all of the interface between the CPU and the rest of the system is with 64-bit instructions and 64-bit addresses. Whether the CPU does something fancy under the hood w/ more than 64-bits (i.e. registers and parallel processing) is entirely irrelevant, the interface is 64-bit, therefore it’s 64-bit.
Buffalox@lemmy.world 2 months ago
I have no idea how this is upvoted, because it’s decidedly false.
The most common is to use the DATA-bus as a significant measurement.
But despite that Motorola 68000 was mostly called a 32 bit CPU, because f its 32 bit instruction set, and it was available with 8, 16 and 32 bit databus.
In the same way 80386 was called 32bit, despite the SX only had a 16 bit databus. It had a 24bi address bus.
Show me just ONE example of a CPU that was called by its address bus.