?
?
>The interesting parts of CPU evolution are the three decades from 1964 with IBM's System/360 mainframe and 2007 with Apple's iPhone. The issue was a 32-bit core with memory-protection allowing isolation among different programs with virtual memory. These were real computers, from the modern perspective: real computers have at least 32-bit and an MMU (memory management unit).
I think "modern" computing is a better term than "real" computing for what he means, but it's merely presumptuous of a definition, it's nowhere as extreme as calling a table a chair. I'd suggest not letting a definition poison your mind too much as the post is interesting if you can get past the tone.
Nah, only historically. Yes, "8-bit" refers to the ALU. Back in the day, 16-bit was similar. But even then it was muddy, because when talking about operating systems like Unix or NT the key question about bitness would be in the context of a 32-bit flat addressing model, not really the data width.
By the time the 64-bit era rolled around, the "64-bits" definitely referred to address space.. The original Pentium had a 64-bit data path and had instructions (MMX, eg PADDQ) that could operate on 64-bit numbers - no one would call it 64-bit. By the early 2000s with the big push to mainstreaming 64-bit, it was all breaking out of the 4GB address space limitation - not the width of data.
> define the bitness of CPUs by their capacity to add numbers in one go
This is nebulous and therefore troublesome to define. Are we talking about the ISA or the internal circuitry (ALU and/or data path)? Is the 68000 a 16-bit or 32-bit CPU?
By that definition, the Z80 would be a 4-bit CPU ;)
https://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-...
...but if you take the data bus width, then the 8088 would be an 8-bit CPU, which isn't quite right either...
But you also can't take the address bus width, because modern "64-bit" CPUs can't actually address 64 bits of physical memory...
I think it's best to treat the 'bit-ness' of a CPU or computer system purely as a marketing term.
All CPUs that execute the same programs (in their native mode) are the same bitness. This is fundamental.
If a 68040 is 32 bit then so are the 68000 and 68008.
Most of the so-called "8 bit" CPUs weren't really. They were mixed 8/16 bit. Especially something like the z80 which had a lot of 16 bit registers, could do 16 bit adds and loads and stores. But not 16 bit compares or moves in the registers (needed two 8 bit moves). But even the 6800 and 6502 had certain 16 bit operations to support the 16 bit address space. The 6809 was even more 16 bit in being able to do 16 bit moves and subtracts and compares -- other than the lack of segment registers it was very very similar to the 16 bit 8088.
One problem with the terminology is that those early microprocessor instruction sets weren't Instruction Set Architectures. There was only ever one implementation of them, so people (including their manufacturers) tended to conflate implementation details and instruction set details.
We're ~20 years down the line and none of these "64-bit" processors support 64-bit addressing yet. Most support up to 48-bits of addressing, with some newer intel chips supporting 57-bit addresses with 5-level paging.
I always took the bit-ness of the processor to refer to the data bus size between the cpu and main memory, aka, the size of a machine word.