3

There is a group of 8-bit CPUs, starting with the Datapoint 2200, which includes the Intel 8080 and 8085, the Z80, the LR35902, the KR580VM1, the Rabbit 2000, and others. It seems like an obvious grouping, but I can't seem to find an established name for it.

For example, toolchains typically group "families" like this together and say, we'll support the CPUs within the group. Take for example a hypothetical assembler for X86, for example, which supports the 386, 486, etc etc.

Or, let's point out GCC, which supports the PDP-11, and then has options -m10, -m40, -m45 etc to more narrowly specify which model you're compiling for.

I am looking for a name analogous to:

  • x86, roughly meaning, any of the various CPUs derived from the 8086
  • ARM, meaning, any of the various CPUs derived from the ARM1
  • PDP-11, meaning any of the miscellaneous models and compatibles.

Is there a well established name for the group of CPUs in my first paragraph?

16
  • 8-bit CPUs somehow in one way or the other related through a common ancestor in the 8008/8080? When looking at them, they seem to have several incompatibilities between them. If compiling for them or choosing an assembler, you would need to be very specific in the type of processor chosen. Or you would use the most common parts of the instruction set, based upon 8080. But then you would not be able to use their extensions/incompatibilities.
    – chthon
    Jun 21 at 10:30
  • 2
    If at all, it would be a random and artificial one, as these CPU are not a (more or less) planned family of compatible designs, but a vast array of rather incompatible look alike. Personally I use the term x80 for anything direct related to the 8080 (8085, Z80), but that's more hardware related, as assemblers already diverge vetween the Inteland Zilog branches - and the LR35902 being a strange beast inbetween: 8080 hardware but Zilog assembler. While the Rabbit does not fit the picture at all.
    – Raffzahn
    Jun 21 at 11:11
  • 2
    "the various CPUs derived from the 8086, or ARM..." These are two entirely disparate families of CPUs. In fact, the ARM design came about in part because in 1982-83 the Acorn folks were unhappy with all of the 16- and 32-bit microprocessors available at the time, particularly the 8086. You're asking for a name for the group of fruits consisting of apples and oranges, separate from all other fruits.
    – cjs
    Jun 21 at 12:13
  • 1
    Oh, and in addition, the group starting with the Datapoint might quite well be called x86 ... after all, it is a direct line going from Datapoint to x86-64. By acknowledging this, all similar offspring would fall under x86 as well, wouldn't it?
    – Raffzahn
    Jun 21 at 12:14
  • 3
    I read the question like @Raffzahn does: “x86”, “ARM”, “PDP-11” are examples of nomenclatures covering a variety of different CPUs, and the question is asking for an equivalent for Datapoint 2200-derived CPUs. Jun 21 at 12:50

2 Answers 2

2

Interesting Question. No, I don't think there is any.

Of course it's always hard to prove something doesn't exist. If at all, it would be pretty obscure and a random/artificial one, for sure not a settled one.

Unlike mentioned x86, a 'grown' family of compatible designs of various manufacturers, based on a single CPU, and still backward compatible to the first, or ARM, which, a planned family of partially or fully compatible designs around a basic ISA, the CPUs mentioned as

Datapoint 2200 as well; this group would include the Intel 8080 and 8085, the Z80, the LR35902, the KR580VM1, the Rabbit 2000, and others.

are a vast array of rather incompatible look alike designs.

Personally I use the term x80 for anything direct related to the 8080 (8085, Z80, LR35902) specifically, e.g. in RC.SE answers, when it was about this group. Much the same way as x86 is used for 8086 related CPUs. Usually I'll also mark the area it's about - which in most cases is hardware related, as assemblers already diverge between the Intel and Zilog branches. The LR35902 being a strange beast in between: 8080 hardware but Zilog assembler (*1). While the Rabbit already strays away quite far (*2).

In fact, the Rabbit makes a good case that a unifying x80 term for all these 8080 offspring is challenging at times. While the x86 world is based on a strict upward compatibility with even the newest 2022 member complies with virtually all instructions defined 40+ years ago, x80 chips do diverge a lot in hard and software. So when embracing them as a family, it's a must to point out about which common aspect or similarity this is. Like saying x80 style I/O, or memory interface, etc.

Of course you may just go ahead and include them under x86, after all, it is a direct line going from Datapoint to x86-64, the x80 being a section thereof. Sure, their instruction are renumbered and such, but this already happened when going from Datapoint/8008 to 8080. By acknowledging this, all similar offspring would fall under x86 as well, wouldn't they?


*1 - The point here is the assembler used by its creator, not any later adaption. Of course one could program an 8080 using Z80 mnemonics - the same way one can do this with a 6502 (*3)

*2 - Well, I guess it comes down to opinion - like so oft when it's about kids that diverge :)) While The Rabbit is clearly x80 related, it always felt like a total different CPU to me. It is advertised as Z80/Z180 upgrade, but with more than 30 instructions dropped (8080 and Z80) as useless (*4), (at least) one changed (XTHL), a different interrupt system (8080 and Z80), different memory management (Z180) and complete different I/O handing, it's a terrific diversion from classic 8080/Z80/Z180 style. Don't get me wrong, some changes are wishes come true, like the IOI/IOE prefixes, but they are fundamental changes.

*3 - The 6502 syntax of having one operand within the mnemonic is much due the very simple first generation of cross assemblers used. Unlike Intel (and further more so Zilog) MOS/WDC never switched to a more generic form (Motorola did with the 68k). So, why not MOV A,X or LD A,X instead of the kind of upside down TXA(*5). See this Answer, especially the Sidestep in Time Line: Zilog Z80 section for how the mnemonic side got simplified by Intel and Zilog.

*4 - Calling many nifty 8080 and Z80 Instructions useless in't great. I don't believe doing strlen() in a single instruction (CPIR) is useless :))

*5 - Upside down, as the usual Motorola/MOS syntax is operation+target source as in LDA $00, while the 'transfers' go operation+source+target.

3
  • @cjs not sure what your point is - beside trying to inject something that hasn't been said to proof something that isn't relevant (also, I bet, reading the table past entries starting with A might bring up TAB, TBA or TXS establishing the linage - not to mention LDX or STS)
    – Raffzahn
    Jun 21 at 13:34
  • Why do you consider the Rabbit 2000 doesn't fit the picture at all? It looks to me like a generic Z80 descendant. Or have I got the wrong idea?
    – OmarL
    Jun 22 at 8:15
  • @OmarL Well, I guess it comes down to opinion - like so oft when it's about kids that diverge :)) While it is clearly related, it always felt like a total different CPU to me. With more than 30 instructions dropped (including the handy CPIR), a different interrupt system, different memory management (Z180) and complete different I/O handing its a terrific diversion from classic 8080/Z80/Z180 style. Don't get me wrong, some changes are wishes come thru. Let me rephrase that part.
    – Raffzahn
    Jun 22 at 9:40
-1

(Note: the initial version of this question is/was rather confusing, in particular mentioning that, "toolchains typically group these CPUs together...it's an assembler for x86 and ARM, let's say." From his comments, it now appears not to be the intent of the OP to group x86 and ARM together. I leave this answer as-is for anybody who happens to be looking at why those two might be grouped together in modern toolchains.)

If you're looking for a name for a group of CPUs that includes the 8086 and the ARM, but not the other early '80s 16/32-bit processors, you're not likely to find one because these are two entirely different and unrelated families of CPUs.

The ARM was, in fact, developed specifically because the Acorn folks were unhappy with the 16/32-bit processors of the day, including the 80286, the 68000 and the National Semiconductor 32016. As Wikipedia says, summarising Matt Evan's talk on this (at 7:35):

The engineers then began studying all of the CPU designs available. Their conclusion about the existing 16-bit designs was that they were a lot more expensive and were still "a bit crap", offering only slightly higher performance than their BBC Micro design. They also almost always demanded a large number of support chips to operate even at that level, which drove up the cost of the computer as a whole. These systems would simply not hit the design goal [of ten times more performance than the BBC Micro at the same price]. They also considered the new 32-bit designs, but these cost even more and had the same issues with support chips. According to Sophie Wilson, all the processors tested at that time performed about the same, with about a 4 Mbit/second bandwidth.

A core principle of the 8086 design was to make it as easy as possible to redesign existing 8080 systems with an 8086 processor. This led to decisions such as 64 KB memory segments, a similar set of registers and a substantially similar interface between the CPU and the rest of the system. Increases in system speed were in part to be gained from sophisticated support chips such as the 8089 I/O coprocessor (complex enough to be almost a CPU itself), the 8288 bus controller, and so on.

ARM, on the other hand, went in a vastly different direction, with a flat address space, no support for unaligned memory access, a uniform 16 × 32-bit register file (including the program counter and stack pointer), a RISC-influenced load/store architecture, and a hardware design that worked very efficiently with minimal support logic.

The term "first generation of 16-bit microprocessors" might apply if you're willing to include the others developed and released in the 1978-1985 time frame, but the only real relationship between these is the time they were made and the technology and knowledge commonly available at the time.

The reason you might see x86 and ARM included together in a single toolchain these days is because there's been a movement over the last 5-8 years to move systems that were traditionally run on x86 to ARM for cost and power saving reasons. On the consumer side, this includes many Chromebooks (Linux), Microsoft's Surface line of tablets (Windows) and Apple's recent Mac transition from x86 to ARM (MacOS X). This has also been happening on the serer side. But what's really going on here is not that there's any particular harmonisation between the two architectures (though x86 architecture has come a bit closer to ARM over the decades) but just that these happen to be the two architectures in widespread use in these areas.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.