Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ima.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!petrus!bellcore!decvax!cca!ima!johnl From: johnl@ima.UUCP (John R. Levine) Newsgroups: net.arch Subject: The PDP-8 -- the first RISC architecture Message-ID: <143@ima.UUCP> Date: Wed, 5-Mar-86 21:33:17 EST Article-I.D.: ima.143 Posted: Wed Mar 5 21:33:17 1986 Date-Received: Fri, 7-Mar-86 08:24:31 EST References: <187@anwar.UUCP> <1441@gitpyr.UUCP> <890@umn-cs.UUCP> <1468@gitpyr.UUCP> <307@ethz.UUCP> Reply-To: johnl@ima.UUCP (John R. Levine) Organization: Javelin Software Corp. Lines: 59 Keywords: RISC PDP-8 ancient_history Summary: By any reasonable criterion, the PDP-8 was the first RISC design The PDP-5, the architecturally compatible predecessor of the PDP-8, was by any definition the first RISC design. The following is based liberally upon information from "Computer Engineering" by Bell, Mudge, and Macnamara. At the time, which was about 1963, DEC was building the 18-bit PDP-4, which was a souped down and cheaper version of the 18-bit PDP-1. They were also familiar with the Lincoln Labs LINC, a 12 bit machine designed for laboratory use, and the machine that brought us DECtape -- a cheap block addressable medium which was in a sense a very floppy disk conveniently wound on a spool. DEC was thinking about a machine to use as a front end for a PDP-4 application to replace some complicated analog equipment. The machine they designed was the PDP-5, which was reimplemented a few years later as the PDP-8. So their goal was an honorable RISC one, design it fast and build it cheap. The PDP-8 had an instruction set pared down to a minimum. Op code mnemonic use 0 AND logical and accumulator with memory 1 TAD add memory to accumulator (T for twos-complement) 2 ISZ increment accumulator, skip next instr if zero 3 DCA deposit accumulator in memory, clear accumulator 4 JMS jump to subroutine and store return address 5 JMP jump 6 IOT various I/O instructions 7 OPR various accumulator operations and tests They left out anything they could get away without. For example, they left out a load instruction because you could get the effect of one by adding a memory location to a zeroed accumulator. (That's why DCA cleared after it stored, the next instruction was usually a TAD used as a load.) No subtract instruction - negate the accumulator (using an instruction suggestively named CIA) and add. And so forth. The ISZ instruction was important because, with only one register, you're pretty much forced to keep your loop counter in core. The 8 was a fun machine to program, particularly from the panel switches, because of the way you synthesized complex operations from simple ones, and because it was easy to memorize the entire instruction set. Ten years later, I still remember practically all of it. The PDP-8 was the first computer priced under $20,000 and was extremely sucessful by the standards of anybody but IBM. (I think that IBM sold about as many 360/30s as DEC did original PDP-8s, but as the 8 was reimplemented 10 times at increasingly low price, it pulled ahead.) An interesting side note is that the logic design of the 5 was done by Ed DeCastro. He later had a sixteen bit design that DEC rejected in favor of Bell's PDP-11. So DeCastro quit and started his own company to build his 16 bit box, the Data General Nova, which didn't do too bad, either. It also had its RISC-like aspects, notably a load/store architecture and single cycle arithmetic instructions. Then, of course, they wrapped the Eclipse around the Nova's instruction set (in its holes, actually) and then the MV/8000 around that, becoming CISCs with a vengeance with instructions like "do polynomial approximation of a cosine and then return from subroutine." -- John Levine, Javelin Software, Cambridge MA 617-494-1400 { decvax | harvard | think | ihnp4 | cbosgd }!ima!johnl, Levine@YALE.ARPA The opinions above are solely those of a 12 year old hacker who has broken into my account, and not those of my employer or any other organization.