3 ms·
You have many things a microprocessor needs to do, even an 8-bit one from 45 or so years ago. You need opcodes to shift left and right, rotate left and right (
by PhantomGremlin 9y ago
You have many things a microprocessor needs to do, even an 8-bit one from 45 or so years ago.
You need opcodes to shift left and right, rotate left and right (possibly with and without carry), add, subtract, and, or, exclusive or. Perhaps other arithmetic and logical operations.
You need opcodes to move values to/from memory, to/from other registers such as index registers. You don't just have opcodes that specify absolute memory locations, you need more opcodes to specify that you want to use an index register instead.
You need opcodes to jump conditionally. You need opcodes to call and return from subroutines. You need opcodes to enable and disable interrupts. You need opcodes to push and pop registers from the stack.
Etc etc etc.
You can't easily encode all those opcodes into a single byte and still set aside bits from that one byte to specify one of a number of accumulators. Hence why the Intel 8080 had a single accumulator. Because all math happened with the accumulator, you didn't need any bits in the opcode to specify that. It was implied.
Having said that, there was one commercially available microprocessor, the Motorola 6800, that had two general purpose accumulators.[1] It still had many single-byte opcodes. But it also gave some stuff up. It only had a single index register. The competitor MOS Technology 6502 had a single accumulator[2], but that left opcode room and die area for two index registers.
The Woz chose the more flexible (and far cheaper) 6502 for the Apple I and Apple II. And the rest, as they say, is history.
[1] https://en.wikipedia.org/wiki/Motorola_6800 https://en.wikipedia.org/wiki/Motorola_6800
[2] https://en.wikipedia.org/wiki/MOS_Technology_6502 https://en.wikipedia.org/wiki/MOS_Technology_6502
- bogomipz 9y ago>"Because all math happened with the accumulator, you didn't need any bits in the opcode to specify that. It was implied." Ah OK. This is the bit I was missing. This makes perfect sense. Thanks you for the detailed response!