How the DP 2200 architecture motivated the Intel instruction set (

The Intel 8008 and subsequently the Intel 8086 line of microprocessors feature some rather peculiar design decisions. Ken Shirriff wrote a very informative article on how this was specifically motivated by the architecture of the Datapoint 2200, which started it all.

The Intel 8086 processor started the x86 architecture that is still extensively used today. The 8086 has some quirky characteristics: it is little-endian, has a parity flag, and uses explicit I/O instructions instead of just memory-mapped I/O. It has four 16-bit registers that can be split into 8-bit registers, but only one that can be used for memory indexing. Surprisingly, the reason for these characteristics and more is compatibility with a computer dating back before the creation of the microprocessor: the Datapoint 2200, a minicomputer with a processor built out of TTL chips.

(Datapoint 2200 processor board with the various blocks labeled. Image: Ken Shirriff.)

Even if you know your way around the Intel architecture, there may be still a few things of note about what motivated the basic design and how the instruction set then developed in Intel’s subsequent chip releases. Read it here:

For more on the Intel processors and their roots in the DP 2200, see the 8086 label at Ken Shirriff’s blog.


The whole series has been excellent reading! For me, the most remarkable revelation from Ken’s investigations is that the 8086 doesn’t have a program counter. It has a pointer to the next fetch, and a prefetch engine, and so when it needs the PC it has to compute it by subtracting the prefetch queue depth from the next fetch pointer. Wow…

1 Like