One showerthought I regularly have is how terms like "32 bit" had no meaning until 32 bit CPUs started to appear like the 68020, ARM, and 80386.
People who weren't from the era tend to not know this, but 16 bit and 8 bit were really fuzzily defined and there was no consensus. The 8088 was considered a "16 bit chip" because it had a 16 bit ALU, and the PC likewise a 16 bit computer because it had an 8088. But literally the ALU, comprising 1 square mm or less of the entire IBM PC, was the only part of the IBM PC that was 16 bit. It wasn't until the 80286 that the PC had 16 bit databuses throughout.
Nobody knew what to call the 68000. It generally was called 16 bit because of the ALU (there it is again!) and the external data bus, but had a 32 bit ISA.
Meanwhile the Z80 and 6502 were both "8 bit". But... the 6502 was somehow considerably faster, clock for clock, than the Z80. That's because the Z80 had a 4 bit ALU. So the Z80 was actually 4 bit? Or was it 16 bit? I mean, a major advantage it had over the 6502 was its support for 16 bit processing at the instruction level. The ample registers could be used as pairs (BC, DE, HL) and there were 16 bit ADD/etc instructions that used them, for example.
In the mean time, like the 8 bit 6502 and the 16 bit 8088, the Z80 had an 8 bit external address bus.
No consistency whatsoever. By ALU, the Z80 was 4 bit, 6502 8 bit, and 8088, 68000 and 80286 16 bit. By data bus, the Z80, 6502, 8088, and 68008 were all 8 bit, and 80286 and 68000 16 bit. By register size and type of operations single instructions could easily do (this is where it gets fuzzy) the 6502 was 8 bit, the Z80, 8088, and 80286 16 bit, and the 68000 and 68008 32 bit.
It gets worse. The real difference between what was considered 8 bit and what was 16 bit was... memory addressing. All the mainstream chips that were considered 8 bit could only address 64k of memory without resorting to external hardware hacks to provide paging etc. That is, the address bus was 16 bit. All the chips that everyone called 16 bit were able to directly address much more than 64k, a meg in the case of the 8088 and 68008, and 16Mb in the case of the 80286 and 68000. True, the Intel chips had an internal weird way to represent this with dedicated registers being used to offset a 16 bit base address, but if we're going to complain about that, we might as well complain that the 6502 didn't exactly make generic 16 bit addressing easy either.
In the end the terms were more about marketing than anything else. 16 bit actually meant "Second generation" (assuming the 8080 was first, and its predecessors like the 8008 and 4000 series were more prototypes) It wasn't until the 32 bit processors came along that were unambiguously 32 bit that these words meant something. 8 bit and 16 bit still seem to be used in their 1980s contexts today, largely because that hardware is considered obsolete so it doesn't matter.
[#]retrocomputing
=> More informations about this toot | View the thread | More toots from poundquerydotinfo@virctuary.com
=> View retrocomputing tag This content has been proxied by September (3851b).Proxy Information
text/gemini