The Story of the PDP-8
In 1963, Digital Equipment Corporation (DEC) mainly sold printed circuit boards which performed logical functions. DEC customers sometimes turned these cards into computers with the help of DEC engineers. DEC kind of slid into the computer business in this way. In 1963, DEC had 12, 18 and 36 bit computers. In 1963, C. Gordon Bell set out to design the simplest and cheapest computer possible that would still be useful. The result was the PDP-8
Why the PDP-8 had 12 bits, or, why simplicity was the key.
The constraints on the design of a computer in 1963 were very different compared to
2009. An important constraint was memory. Random access magnetic core memory cost
several dollars per byte in 2009 dollars. It was important for every instruction to do a
lot. In 1963, a single JK flip flop required dozens of diodes, transistors, resistors
and capacitors and it occupied an entire printed circuit board. The instruction set had
to be simple.
The PDP-8 had 4096 words of core memory. Each word held 12 bits which might seem like an odd choice. But note that 12 bits is just enough to hold the pointer to any memory location. It takes about 1500 words of code to implement 6 decimal digit floating point arithmetic and I/O. That leaves 2500 words for application software and data. That means 4096 words is just sufficient to be useful. The single word 12 bit pointers made it efficient to access any memory location.
The PDP-8 had only one 12 bit data register. There was a 1 bit register, called the link, to facilitate double word shifts and double adds. There was a 12 bit program counter pointing at the next instruction to be executed. There were only two address modes: direct and indirect. The PDP-8 had no ROM, no microcode, no BIOS and no operating system. The PDP-8's simplicity is reflected in the fact that it took only 600 logic elements to implement it.
The PDP-8 had only 8 instructions. Memory was divided into 32 pages, each with 128 words. Instructions could directly access either the page containing the instruction or page zero. So, the 12 bits in an instruction were allocated in the following way:
3 bits specifies an instruction
1 bit specifies direct or indirect addressing
1 bit specifies the current page or the zero page
7 bits specifies the location of the operand
The PDP-8 must nearly define the minimum number of logic elements and memory for a useful computer. It seems as if a PDP-8 would be the inevitable result of an effort to create a useful computer while minimizing the use of logic elements and memory. The PDP-8 has the air of elegant simplicity.
The PDP-8 can play chess. CHEKMO is the name of a program that runs on a 4k PDP-8. It even has a graphical interface. I have played it and it's tough to beat. The PDP-8 must be near the minimum complexity for a chess playing automaton. You can learn about CHEKMO here and see it run here.
The PDP-8 was introduced in 1965. The initial price was $125,000 in 2009 dollars. About 50,000 were sold and it was a smashing success. The PDP-8 was the first minicomputer. It was the first computer capable enough, cheap enough and small enough to be dedicated to a scientific instrument. Other computers of the era were room sized, were much more expensive and ill suited besides. The original PDP-8 was implemented with diodes and transistors. Later versions were implemented with TTL. Ultimately, 300,000 were sold. Eventually it was simplified to a single CMOS chip. Wikipedia has an excellent description of the PDP-8 here.
I had a student job at the Space Astronomy Lab (SAL) of the University of Wisconsin. That is where I was introduced to the PDP-8. John McNall, the director of SAL, immediately recognized the significance of the PDP-8. SAL took delivery of the one of the first PDP-8s. I am forever grateful to John McNall and others for the education and mentoring I received at SAL. The PDP-8 was used to process downlinked data from the Orbiting Astronomical Observatory (OAO). The OAO was the forerunner of the Hubble Space Telescope. The first successful launch was in 1968. OAO 3, launched in 1972, was very successful. It operated until 1981--far beyond its projected lifetime. Learn more about the OAO here.