lowen
Veteran Member
Seeing the other thread dealing with the 6809, 65802, and 65816, and not wanting to hijack that thread, I couldn't help but wonder which 8-bit CPU really would be considered the most 'advanced.' No, I'm not wanting to start any flames, either; I'm genuinely curious, and if it can be shown that the 65816, for instance, is demonstrably the most or one of the most advanced CPUs, that's wonderful. I'm just curious; nothing more.
There are 8-bit CPUs still in production, of course, including the Z80, Z180, eZ80 (in several forms such as eZ80F91), AVR (again in several forms with ATMega328 being probably the most popular). For that matter, there is the 68008, but is that really an 8-bit CPU? Is the 8088 really '8-bit?' I'm only going to consider the 'bittedness' of the basic instruction set for my purposes: that is, are the instructions byte-oriented or are they 16-bit (or 32-bit) word oriented? Both the 68008 and the 8088 have a basic instruction opcode size larger than 8-bits, right?
What is considered 'advanced' for the purposes of this discussion? Well, a multiply instruction of some sort is probably the minimum. But what else makes a CPU 'advanced?'
The Z80 is definitely not 'advanced' these days, nor would the 6502 or 8080 be considered 'advanced.' The 6809 can, as well as the 65816; both of those families are quite advanced. I couldn't tell for sure, but is the 65816 still in production? That would be fantastic if so.
I'm going to advocate the Z280 as one of the most advanced 8-bit CPUs ever, based on a number of factors:
1.) 24-bit addressing through a paged MMU;
2.) 8 and 16 bit multiply and divide (yes, a 'DIVW DEHL,BC' is a legal instruction: this divides the 32-bit long in the register quad DEHL by the 16 bit word in register pair BC, leaving the quotient in HL and the remainder in DE);
3.) Many addressing modes, including the 'program counter relative' mode that allows a fully relocatable program to be written, including subroutines (relative calls, and relative jumps with displacements to anywhere in the 64K logical address space);
4.) The ability, in the 16-bit Z-BUS bus interface mode, to have 'co-processors' (Zilog's term is EPU) similar to the coupling of the 8086/8087 or 8086/8089; the 65816 has a similar facility;
5.) A 256-byte line-oriented on-chip cache that is available for instructions only, data only, or instructions plus data. It can even be turned off with the 256 bytes allocated as lines in memory.
6.) Multiprocessing (yes, you could build a dual, triple, or more Z280 machine, and the processor has hooks to support global versus local buses);
7.) A massive instruction set with many useful instructions (computed CALL, for instance: 'CALL (HL)' is the RETurnable version of 'JP (HL)'), although the instruction set could not be accused of being very 'regular;'
8.) 4 on-chip DMA channels with 24-bit addressing, on-chip counter/timer units, and an on-chip UART.
I'm sure there are others, but these are the ones that jump out at me. The very advanced Z280 was so far ahead of its time that many bugs exist in early masks and revs, but later revs seem to have fixed many of these.
Anyone have other opinions? If you count only bus width, the 68008 would likely be the most advanced 8-bit (data bus) CPU of all time, but even though the bus width of the Pentium is 64-bits no one calls it a 64-bit CPU; the Z280 works with 8-bit instructions (and instruction prefixes) even though one of the bus modes is a 16-bit Z-BUS one (it can also operated in a Z80-compatible manner with an 8-bit data bus).
Now, in my opinion the Z280 is far more advanced than the HD64180/Z180, even though the Z180 is still being made, and I would say that the Z280 is more 'advanced' than the still-in-production eZ80, even though the eZ80 is far faster and has its own advances, such as the ADL addressing mode suffixes (actually implemented a a prefix at the machine code level).
Too bad Zilog stopped production in 1996. Right now there are several eBay auctions for Z280's; many of these probably came out of some of the point-of-sale and other embedded systems that used these grand old chips to good effect.
There are 8-bit CPUs still in production, of course, including the Z80, Z180, eZ80 (in several forms such as eZ80F91), AVR (again in several forms with ATMega328 being probably the most popular). For that matter, there is the 68008, but is that really an 8-bit CPU? Is the 8088 really '8-bit?' I'm only going to consider the 'bittedness' of the basic instruction set for my purposes: that is, are the instructions byte-oriented or are they 16-bit (or 32-bit) word oriented? Both the 68008 and the 8088 have a basic instruction opcode size larger than 8-bits, right?
What is considered 'advanced' for the purposes of this discussion? Well, a multiply instruction of some sort is probably the minimum. But what else makes a CPU 'advanced?'
The Z80 is definitely not 'advanced' these days, nor would the 6502 or 8080 be considered 'advanced.' The 6809 can, as well as the 65816; both of those families are quite advanced. I couldn't tell for sure, but is the 65816 still in production? That would be fantastic if so.
I'm going to advocate the Z280 as one of the most advanced 8-bit CPUs ever, based on a number of factors:
1.) 24-bit addressing through a paged MMU;
2.) 8 and 16 bit multiply and divide (yes, a 'DIVW DEHL,BC' is a legal instruction: this divides the 32-bit long in the register quad DEHL by the 16 bit word in register pair BC, leaving the quotient in HL and the remainder in DE);
3.) Many addressing modes, including the 'program counter relative' mode that allows a fully relocatable program to be written, including subroutines (relative calls, and relative jumps with displacements to anywhere in the 64K logical address space);
4.) The ability, in the 16-bit Z-BUS bus interface mode, to have 'co-processors' (Zilog's term is EPU) similar to the coupling of the 8086/8087 or 8086/8089; the 65816 has a similar facility;
5.) A 256-byte line-oriented on-chip cache that is available for instructions only, data only, or instructions plus data. It can even be turned off with the 256 bytes allocated as lines in memory.
6.) Multiprocessing (yes, you could build a dual, triple, or more Z280 machine, and the processor has hooks to support global versus local buses);
7.) A massive instruction set with many useful instructions (computed CALL, for instance: 'CALL (HL)' is the RETurnable version of 'JP (HL)'), although the instruction set could not be accused of being very 'regular;'
8.) 4 on-chip DMA channels with 24-bit addressing, on-chip counter/timer units, and an on-chip UART.
I'm sure there are others, but these are the ones that jump out at me. The very advanced Z280 was so far ahead of its time that many bugs exist in early masks and revs, but later revs seem to have fixed many of these.
Anyone have other opinions? If you count only bus width, the 68008 would likely be the most advanced 8-bit (data bus) CPU of all time, but even though the bus width of the Pentium is 64-bits no one calls it a 64-bit CPU; the Z280 works with 8-bit instructions (and instruction prefixes) even though one of the bus modes is a 16-bit Z-BUS one (it can also operated in a Z80-compatible manner with an 8-bit data bus).
Now, in my opinion the Z280 is far more advanced than the HD64180/Z180, even though the Z180 is still being made, and I would say that the Z280 is more 'advanced' than the still-in-production eZ80, even though the eZ80 is far faster and has its own advances, such as the ADL addressing mode suffixes (actually implemented a a prefix at the machine code level).
Too bad Zilog stopped production in 1996. Right now there are several eBay auctions for Z280's; many of these probably came out of some of the point-of-sale and other embedded systems that used these grand old chips to good effect.
Last edited: