3 ms·
"In contrast, 16-bit processors could only address 64-kilobytes of memory, and weren't really practical for real computing." ?
by KingOfCoders 4y ago
"In contrast, 16-bit processors could only address 64-kilobytes of memory, and weren't really practical for real computing."
?
- noobermin 4y agoSee their definition of "real" computing (the author even uses sarcastic quotes elsewhere): >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).
- KingOfCoders 4y agoMostly everyone else seems to define the bitness of CPUs by their capacity to add numbers in one go, not by the address space they can address. What "everyone" calls 8bit computers could address 64kb of address space, not 256 bytes. Everyone can call a table a chair, but it doesn't make communication easier.
- noobermin 4y agoI'm not sure I understand what you are saying and how it is a refutation. The line you pulled was in fact his argument for why memory addressing is an important qualifier for his definition and bit-length of registers is insufficient in his mind. The line is from where he argues that even though the 68k is considered a 16bit machine due to how the ALU works, it can address 24bit addresses, making it closer to a "real" computer by his definition. I'd reckon he'd say (as he did :) ) that the 6502 isn't a "real" computer because it can only address 64K of memory. 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.
- abiloe 4y ago> Mostly everyone else seems to define the bitness of CPUs by their capacity to add numbers in one go, not by the address space they can address. 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?
- flohofwoe 4y ago> Yes, "8-bit" refers to the ALU. 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-how-it.html 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.
- KingOfCoders 4y agoYou're right. Having written quite some Z80 code and 68k code, I need to think about this. This is decades in the past, I think outside of demo code I often used move.l in 68k so it would be a 32bit CPU to me, but seldom used double registers on the Z80 so it feels like an 8bit CPU. Perhaps that was one of the reasons the jump from the Z80 to the 68k felt so huge (perhaps it was the number and flexibility of registers). That said, "Z80 assembly language subroutines" is my most precious computer book still, the one I would take through the apocalypse.
- kragen 4y agoYeah, this is a mistake given that the 8088 was a 16-bit processor that could address a mebibyte of memory, and whether you like it or not, it was certainly a consequential design for the history.