Question: I once heard somebody talk about a micro-controller (with a minimal instruction set) where every register could be the program counter. It did not have jump or call instructions. You had 'emulate' those with the instruction (possibly conditionally) that changed the assignment of the program counter to one of the instructions. If I am not mistaken, it had eight registers. Does this ring a bell?
Eight More '8-Bit Era' Microprocessors
31–37 of 37 posts
Re: Eight More '8-Bit Era' Microprocessors
#32Question: I once heard somebody talk about a micro-controller (with a minimal instruction set) where every register could be the program counter. It did not have jump or call instructions. You had 'emulate' those with the instruction (possibly conditionally) that changed the assignment of the program counter to one of the instructions. If I am not mistaken, it had eight registers. Does this ring a bell?
For example, https://developer.arm.com/documentation/den0013/0400/ARM-Pro...:
“The ARM architecture provides sixteen 32-bit general purpose registers (R0-R15) for software use. Fifteen of them (R0-R14) can be used for general purpose data storage, while R15 is the program counter whose value is altered as the core executes instructions. An explicit write to R15 by software will alter program flow.”
Similarly, the PDP-11 used R7 for that. https://en.wikipedia.org/wiki/PDP-11_architecture: “The CPU contains eight general-purpose 16-bit registers (R0 to R7). Register R7 is the program counter (PC)”
I’m not aware of any CPU where “every register could be the program counter”. Such a feature also feels weird to me from a design view because I think it complicates the hardware with few (code might be smaller for a limited set of jumps) benefits. Maybe you’re confusing that with the ability to jump to whatever address is in any of the general purpose registers?
EDIT: I just saw a comment mentioning the 1892. It indeed had that ability. https://en.wikipedia.org/wiki/RCA_1802#Registers_and_I/O:
“The SEP instruction can select any of the 16 registers to be the program counter. The SEX instruction can select any of the 16-bit registers to be the index register.”
Re: Eight More '8-Bit Era' Microprocessors
#33Slightly orthogonal, but I'm curious how much effort is going into capturing historic hardware in accurate FPGA representation? There'll come a day when the final physical 6502, 80486 (etc etc) powers off for the final time, and it seems like these technologies would be worth preserving. (I'm sure this is much easier said than done, not trying to minimise the effort involved.) Is there a project that does something l…
Re: Eight More '8-Bit Era' Microprocessors
#34The 6809 was a little of a beast too. It powered the Vectrex and some TRS-80 Color models. The OS was interesting too: https://en.wikipedia.org/wiki/OS-9
A number of the Fujitsu computers (with various CPUs) also had a 6809 for video, so some of the ones with a 6809 main CPU had two 6809s in total. The FM-7, FM-8, and FM-77 series all have two 6809s, the FM-11 EX has an 8088 CPU and a 6809 for video, the Micro 16S could have any of the Z80, 8086, 68000, 80286, or Z8000 CPUs and had a 6809 for video. I may have missed some models.
Re: Eight More '8-Bit Era' Microprocessors
#35Earlier quoted context omitted.
Way less than a million! I believe usually in the order of thousands.
The 8-bit monolithic CPUs of the seventies all had a few thousands transistors. The first generation of true 16-bit CPUs, i.e. Intel 8086, Motorola MC68000 and Zilog Z8000, had almost an order of magnitude more transistors, i.e. in the range of 15000 transistors to 50000 transistors. The first true 32-bit CPUs, like the National 32000 series, Motorola MC68020 and Intel 80386, had a few hundred thousand transistors. B…
Same size as a 6809, low-end 486 performance. Who cares ;)