PDP-10

From Free net encyclopedia

The PDP-10 was a computer manufactured by Digital Equipment Corporation (DEC) from the late 1960s on; the name stands for "Programmed Data Processor model 10". It was the machine that made time-sharing common; it looms large in hacker folklore because of its adoption in the 1970s by many university computing facilities and research labs, the most notable of which were MIT's AI Lab and Project MAC, Stanford's SAIL, and Carnegie Mellon University.

The PDP-10 architecture was an almost identical version of the earlier PDP-6 architecture, sharing the same 36-bit word length and slightly extending the instruction set (but with improved hardware implementation). Some aspects of the instruction set are still considered unsurpassed, most notably the "byte" instructions, which operated on arbitrary sized bit-fields (at that time a byte was not necessarily eight bits).

Contents

Models and technical evolution

Image:KA10 mod end.jpg

The original PDP-10 processor was the KA10, introduced in 1968. It used discrete transistors packaged in DEC's Flip-Chip® technology, with backplanes wire wrapped via a semi-automated manufacturing process. In 1973, the KA10 was replaced by the KI10, which used TTL SSI. This was joined in 1975 by the higher-performance KL10 (later the KL20), which was built from ECL, was microprogrammed, and had cache memory. A smaller, less expensive model, the KS10, was introduced in 1978, using TTL and Am2901 bit-slice components and including the PDP-11 Unibus to connect peripherals.

The KA10 had a maximum main memory capacity (both virtual and physical) of 256 Kwords (equivalent to 1152 Kbytes). As supplied by DEC, it did not include paging hardware; memory management consisted of two sets of protection and relocation registers, called "base and bounds" registers. This allowed each half of a user's address space to be limited to a set section of main memory, designated by the base physical address and size. This allowed the model (later used by Unix) of separate read-only shareable code segment (normally the high segment) and read-write data/stack segment (normally the low segment). Some KA10 machines (e.g. first at MIT, and later at BBN) were modified to add support for paging, as well as more physical memory.

The KI10 and later processors offered paged memory management, and also supported a larger physical address space of 4 Mwords.

The original KL10 models (1070, 1080, etc.) used the original PDP-10 memory bus, with external memory modules. The processors used in the DECSYSTEM-20 (2040, 2050, 2060, 2065), commonly but incorrectly called "KL20", used internal memory, mounted in the same cabinet as the CPU. The 10xx models also had different packaging; they came in the original tall PDP-10 cabinets, rather than the short ones used later on for the DECSYSTEM-20. The differences between the 10xx and 20xx models were more cosmetic than real; some 10xx systems had "20-style" internal memory and I/O, and some 20xx systems had "10-style" external memory and an I/O bus. In particular, all ARPAnet TOPS-20 systems had an I/O bus because the AN20 IMP interface was an I/O bus device. Both could run either TOPS-10 or TOPS-20 microcode and thus the corresponding operating system.

Later, the "Model B" version of the 2060 processors removed the 256 Kword limitation on the virtual address space, by allowing the use of up to 32 "sections" of up to 256 Kwords each, along with substantial changes to the instruction set. "Model A" and "Model B" KL10 processors can be though of as being different CPUs. The first operating system that took advantage of the Model B's capabilities was TOPS-20 release 3, and user mode extended addressing was offered in TOPS-20 release 4. TOPS-20 versions after release 4.1 would only run on a Model B; they would not run on a Model A.

Bewilderingly, the KS10 design was crippled to be a Model A even though most of the necessary data paths needed to support the Model B architecture were present. This greatly shorted the product life of the KS10.

The final upgrade to the KL10 was the MCA25 upgrade of a 2060 to 2065, which gave some performance increases for programs which run in multiple sections.

Software

The original PDP-10 operating system was simply called "Monitor", but was later renamed to TOPS-10, at which time the system became known as the DECsystem-10. Early versions of Monitor and TOPS-10 formed the basis of Stanford's WAITS operating system and the Compuserve time-sharing system.

BBN developed their own alternative operating system, TENEX, which fairly quickly became the de facto standard in the research community. DEC later ported Tenex to the KL10, enhanced it considerably, and named it TOPS-20, forming the DECSYSTEM-20 line. MIT also had developed their own influential system, ITS (named in parody of the CTSS operating system).

Clones

In the 1970s, researchers at Xerox PARC, frustrated by top company management's refusal to let them purchase a PDP-10 (Xerox had just bought SDS, and wanted PARC to use an SDS machine), designed and constructed two clone systems named "MAXC" (pronounced "Max", in honour of Max Palevsky, who had sold SDS to Xerox) for their own use; they ran a modified version of TENEX.

Third-party attempts to sell PDP-10 clones were relatively unsuccessful; see Foonly, Systems Concepts, and XKL.

Cancellation and influence

The PDP-10 was eventually eclipsed by the VAX supermini machines (descendants of the PDP-11) when DEC recognized that the PDP-10 and VAX product lines were competing with each other and decided to concentrate its software development effort on the more profitable VAX. The PDP-10 product line cancellation was announced in 1983, including cancelling the on-going Jupiter project to produce a new high-end PDP-10 processor (despite that project being in good shape at the time of the cancellation).

This event spelled the doom of ITS and the technical cultures that had spawned the original jargon file, but by the 1990s it had become something of a badge of honorable old-timerhood among hackers to have cut one's teeth on a PDP-10.

The PDP-10 assembly language instructions LDB and DPB (load/deposit byte) live on as functions in the programming language Common Lisp.

Will Crowther created Adventure, the prototypical computer adventure game, for a PDP-10. Don Daglow created the first computer baseball game (1971) and Dungeon (1975), the first computer role playing game (RPG) on a PDP-10. Walter Bright originally created Empire for the PDP-10. Roy Trubshaw and Richard Bartle created the first MUD on a PDP-10.

Trivia

Some of the CGI for the Disney science fiction movie TRON was rendered on the Foonly F-1 PDP-10 clone. It is also noteworthy that the PDP-10 has a TRON instruction (Test Right-halfword Ones and skip if Not masked) with the opcode 666 (octal); according to some sources, the name of the movie was not an accident... Coincidentally, former PDP-10 programmers created the Intellivision TRON video games that followed the release of the film.

Template:Jargon

See also: TOPS-10, ITS, Tenex, TOPS-20, WAITS.

Further reading

Reference

  • DECsystem10 System Reference Manual (DEC, 1968, 1971, 1974)

External links

Newsgroups

fr:PDP-10 it:PDP-10 no:PDP-10