Thursday, July 16, 2015

A Mini Project -- BDK-8e

Today we take personal computers for granted.  They are everywhere.  But of course that wasn't always true. In the 1950s a "small" computer would fill a room and typically take as much power as a household (or more!)    A few lucky people got to work on small machines, like the IBM 650 where they had free and total access to the machine for a time. But mostly the machines were too big and expensive to allow one person total access.  They were typically locked away and the only access was by passing a deck of program cards to an operator with your new program to run and getting a printout back sometime later.  If there was an error in your program you had to start over.

Then the transistor got common and (relatively) cheap, and like skirts at the same time, computers started getting smaller. Digital Equipment Corporation (DEC) was founded in 1957 with the intention of making computers. The founders had just come from MIT and Lincoln Labs where they had played important roles in developing some early small computers.  But the venture capitalists wouldn't let them build computers right away, insisting they build logic modules like they had used in the earlier computers.  It was perceived that the market was too small, but the logic modules were in demand.

After two years they finally built their first computer, the PDP-1, using those same logic modules.  Indeed, the logic modules sold well and were used in several DEC computers.  The name PDP comes from Programmed Data Processor; again, the venture capitalists thought the term computer was too menacing.

The PDP-1 was well received.  It was much more affordable than other computers at only $120,000.  Most others cost $1,000,000 or more.  But more importantly it was "friendly."  A user could sit down at it and have it to himself (women were rare.)  It had some interesting devices attached, like a video monitor, that could be used for nifty stuff.  Perhaps the first video game, Spacewar, was created on the PDP-1.

With this first success, DEC moved forward with a series of new machines.  Inspired by their own success and some other interesting machines, especially the CDC-160 and the Linc, they decided to build  a really small and inexpensive machine: the PDP-8. The PDP-8 was a 12 bit computer, where all their previous machines except the PDP-5 were 18 bits.  It would be another four or five years before making the word size a power of 2 (8, 16, 32 bits) would become common.  Computer hardware was expensive and a minimum number of bits would cut the cost dramatically.  It also created limitations.  But the PDP-8 was the right machine at the right time, probably from the right company.  It sold for a mere $18,000.  Up to then a production run of 100 machines was considered a success.  The PDP-8 would go on to sell around 300,000 over the next fifteen to twenty five years.

The original PDP-8 led to successors.  The PDP-8L (lower cost), the PDP-8S (serial), the PDP-8I (integrated circuits), and then the PDP-8e.  There were more models after that, but it seems the PDP-8e was the defining machine.  It was considerably higher performance than its predecessors and much smaller.  It was offered in a tabletop cabinet that would fit on a researcher's lab table.  Many were used for just such purposes.  It was more reliable as well, being made from newer Medium Scale Integration (MSI) integrated circuits that fit many more functions on a chip.  Reliability is directly linked to the number of parts and pins used, and the 8e made both much smaller.  There were very few new features added to later models.  The 8e was in some ways the epitome of the 8 series.  To some degree it defined the minicomputer class.

As I mentioned, the 8 was a 12 bit computer.  That sounds odd today, but wasn't then.  Twelve bit, 18 bit, and 36 bit computers were rather common, and there was even a 9 bit machine that was one of the inspirations for the PDP-8.  Twelve bits allowed it to directly address 4 Kilowords of RAM ( 4096 12 bit words, or 6 Kilobytes.)  That was the normal amount sold with the PDP-8.  It was magnetic core memory and horrendously expensive.  With a memory controller it could be expanded to 32 KWords.  The processor recognized eight basic instructions: AND, TAD (two's complement add),  DCA (deposit and clear accumulator),  ISZ (increment and skip on zero), JMP (jump to new address), JSR (jump to a subroutine and save the return address),  IOT (input output transfer), and OPR (operate).  The last one is really interesting and is actually a whole family of instructions that didn't access memory directly.  OPR was "microprogrammed" meaning that several bits in the instruction had specific meanings and caused different operations to happen.  They could be combined to effectively execute several operations with one instruction.

So the PDP-8 was a very interesting, if minimal, machine.  And it was very popular and very important in the history of computers.  Many individuals collect them and keep them.  Alas, I do not have one.  Some people have re-created them either from original schematics or by using FPGAs or the 6100 or 6120 single-chip PDP-8 microprocessors.  Even those chips are hard to find now.  And that leads me to my new project.

I am creating a new PDP-8 implementation.  The heart of it will be a small microcontroller (ARM) that is programmed to emulate the PDP-8 as accurately as I can make it.  That means with the same input and output system and devices, as well as instruction set.  I intend it to run at the same performance level normally.  I hope to create an Omnibus (the PDP-8e bus) interface that will allow connecting actual PDP-8 peripherals.  I'm not sure exactly what all features it will include, but I plan to make it as complete as reasonably possible.  I will make all the code and schematics available in case anyone else wants to build one.

So, go and Google the PDP-8 to see what a wide array of stuff is on the web about this machine.  Then come back and follow along my journey creating this new relic.  It should be fun...

My PDP-8 project page.

2 comments:

  1. Thanks bdk6 an interesting morning read, I guess I never new how good we have it now.

    ReplyDelete
    Replies
    1. Thanks! Maybe you should build one, too. It might be fun to do it the way they used to, flipping switches to enter a program and using LEDs as the output.

      Delete