![]() | |
![]() A PDP–11/40 CPU is at the bottom, with a TU56 dualDECtape drive installed above it. | |
Developer | Digital Equipment Corporation |
---|---|
Product family | Programmed Data Processor |
Type | Minicomputer |
Release date | 1970; 55 years ago (1970) |
Lifespan | 1970–1997 |
Discontinued | 1997; 28 years ago (1997) |
Units sold | around 600,000 |
Operating system | BATCH-11/DOS-11,DSM-11,IAS,P/OS,RSTS/E,RSX-11,RT-11,Ultrix-11,Seventh Edition Unix,SVR1,2BSD |
Platform | DEC16-bit |
Successor | VAX-11 |
ThePDP–11 is a series of16-bitminicomputers originally sold byDigital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in theProgrammed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, making it one of DEC's most successful product lines. The PDP-11 is considered by some experts to be the most popular minicomputer.[1][2]
The PDP–11 included a number of innovative features in itsinstruction set and additional general-purposeregisters that made it easier to program than earlier models in the PDP series. Further, the innovativeUnibus system allowed external devices to be more easily interfaced to the system usingdirect memory access, opening the system to a wide variety ofperipherals. The PDP–11 replaced thePDP–8 in manyreal-time computing applications, although both product lines lived in parallel for more than 10 years. The ease of programming of the PDP–11 made it popular for general-purpose computing.
The design of the PDP–11 inspired the design of late-1970smicroprocessors including theIntelx86[1] and theMotorola 68000. The design features of PDP–11 operating systems, and other operating systems from Digital Equipment, influenced the design of operating systems such asCP/M and hence alsoMS-DOS. The first officially named version ofUnix ran on the PDP–11/20 in 1970. It is commonly stated that theC programming language took advantage of several low-level PDP–11–dependent programming features,[3] albeit not originally by design.[4]
An effort to expand the PDP–11 from 16- to 32-bit addressing led to theVAX-11 design, which took part of its name from the PDP–11.
In 1963, DEC introduced what is considered to be the first commercial minicomputer in the form of thePDP–5. This was a 12-bit design adapted from the 1962LINC machine that was intended to be used in a lab setting. DEC slightly simplified the LINC system and instruction set, aiming the PDP-5 at smaller settings that did not need the power of their larger 18-bitPDP-4. The PDP-5 was a success, ultimately selling about 1,000 machines. This led to thePDP–8, a further cost-reduced 12-bit model that sold about 50,000 units.
During this period, the computer market was moving fromcomputer word lengths based on units of 6 bits to units of 8 bits, following the introduction of the 7-bitASCII standard. In 1967–1968, DEC engineers designed a 16-bit machine, the PDP–X,[5] but management ultimately canceled the project as it did not appear to offer a significant advantage over their existing 12- and 18-bit platforms.
This prompted several of the engineers from the PDP-X program to leave DEC and formData General. The next year they introduced the 16-bitData General Nova.[6] The Nova sold tens of thousands of units and launched what would become one of DEC's major competitors through the 1970s and 1980s.
Ken Olsen, president and founder of DEC, was more interested in a small 8-bit machine than the larger 16-bit system. This became the "Desk Calculator" project. Not long after,Datamation published a note about adesk calculator being developed at DEC, which caused concern atWang Laboratories, who were heavily invested in that market. Before long, it became clear that the entire market was moving to 16-bit, and the Desk Calculator began a 16-bit design as well.[7]
The team decided that the best approach to a new architecture would be to minimize the memory bandwidth needed to execute the instructions. Larry McGowan coded a series ofassembly language programs using the instruction sets of various existing platforms and examined how much memory would be exchanged to execute them. Harold McFarland joined the effort and had already written a very complex instruction set that the team rejected, but a second one was simpler and would ultimately form the basis for the PDP–11.[7]
When they first presented the new architecture, the managers were dismayed. It lacked single instruction-word immediate data and short addresses, both of which were considered essential to improving memory performance. McGowan and McFarland were eventually able to convince them that the system would work as expected, and suddenly "the Desk Calculator project got hot".[7] Much of the system was developed using aPDP-10 where the SIM-11 simulated what would become the PDP–11/20 and Bob Bowers wrote an assembler for it.[7]
At a late stage, the marketing team wanted to ship the system with 2K of memory[a] as the minimal configuration. When McGowan stated this would mean an assembler could not run on the system, the minimum was expanded to 4K. The marketing team also wanted to use the forward slash character for comments in the assembler code, as was the case in the PDP–8 assembler. McGowan stated that he would then have to use semicolon to indicate division, and the idea was dropped.[7]
The PDP–11 family was announced in January 1970 and shipments began early that year. DEC sold over 170,000 PDP–11s in the 1970s.[8]
Initially manufactured of small-scaletransistor–transistor logic, a single-boardlarge-scale integration version of the processor was developed in 1975. A two- or three-chip processor, theJ-11 was developed in 1979.
The last models of the PDP–11 line were the single board PDP–11/94 and PDP–11/93 introduced in 1990.[9]
The PDP–11 processor architecture has a mostlyorthogonal instruction set. For example, instead of instructions such asload andstore, the PDP–11 has amove instruction for which either operand (source and destination) can be memory or register. There are no specificinput oroutput instructions; the PDP–11 usesmemory-mapped I/O and so the samemove instruction is used; orthogonality even enables moving data directly from an input device to an output device. More complex instructions such asadd likewise can have memory, register, input, or output as source or destination.
Most operands can apply any of eight addressing modes to eight registers. The addressing modes provide register, immediate, absolute, relative, deferred (indirect), and indexed addressing, and can specify autoincrementation and autodecrementation of a register by one (byte instructions) or two (word instructions). Use of relative addressing lets a machine-language program beposition-independent.
Early models of the PDP–11 had no dedicatedbus forinput/output, but only asystem bus called theUnibus, as input and output devices were mapped to memory addresses.
An input/output device determined the memory addresses to which it would respond, and specified its owninterrupt vector andinterrupt priority. This flexible framework provided by the processor architecture made it unusually easy to invent new bus devices, including devices to control hardware that had not been contemplated when the processor was originally designed. DEC openly published the basic Unibus specifications, even offering prototyping bus interface circuit boards, and encouraging customers to develop their own Unibus-compatible hardware.
The Unibus made the PDP–11 suitable for custom peripherals. One of the predecessors ofAlcatel-Lucent, theBell Telephone Manufacturing Company, developed the BTMC DPS-1500 packet-switching (X.25) network and used PDP–11s in the regional and national network management system, with the Unibus directly connected to the DPS-1500 hardware.
Higher-performance members of the PDP–11 family departed from the single-bus approach. The PDP–11/45 had a dedicated data path within theCPU, connecting semiconductor memory to the processor, with core memory and I/O devices connected via the Unibus.[10] In the PDP–11/70, this was taken a step further, with the addition of a dedicated interface between disks and tapes and memory, via theMassbus. Although input/output devices continued to be mapped into memory addresses, some additional programming was necessary to set up the added bus interfaces.
The PDP–11 supports hardwareinterrupts at four priority levels. Interrupts are serviced by software service routines, which could specify whether they themselves could be interrupted (achieving interruptnesting). The event that causes the interrupt is indicated by the device itself, as it informs the processor of the address of its own interrupt vector.
Interrupt vectors are blocks of two 16-bit words in low kernel address space (which normally corresponded to low physical memory) between 0 and 776. The first word of the interrupt vector contains the address of the interrupt service routine and the second word the value to be loaded into the PSW (priority level) on entry to the service routine.
The PDP–11 was designed for ease of manufacture by semiskilled labor. The dimensions of its pieces were relatively non-critical. It used awire-wrappedbackplane.
The LSI–11 (PDP–11/03), introduced in February 1975[9] is the first PDP–11 model produced usinglarge-scale integration; the entire CPU is contained on four LSI chips made byWestern Digital (theMCP-1600 chip set; a fifth chip can be added to extend the instruction set). It uses a bus which is a close variant of the Unibus called the LSI Bus orQ-Bus; it differs from the Unibus primarily in that addresses and data are multiplexed onto a shared set of wires rather than having separate sets of wires. It also differs slightly in how it addresses I/O devices and it eventually allowed a 22-bit physical address (whereas the Unibus only allows an 18-bit physical address) and block-mode operations for significantly improved bandwidth (which the Unibus does not support).
The CPUmicrocode includes adebugger: firmware with a direct serial interface (RS-232 orcurrent loop) to aterminal. This lets the operator dodebugging by typing commands and readingoctal numbers, rather than operating switches and reading lights, the typical debugging method at the time. The operator can thus examine and modify the computer's registers, memory, and input/output devices, diagnosing and perhaps correcting failures in software and peripherals (unless a failure disables the microcode itself). The operator can also specify which disk toboot from. Both innovations increased the reliability and decreased the cost of the LSI-11.
AWritable Control Store (WCS) option (KUV11-AA) could be added to the LSI-11. This option allowed programming of the internal 8-bit micromachine to create application-specific extensions to the PDP–11 instruction set. The WCS is a quad Q-Bus board with a ribbon cable connecting to the third microcode ROM socket. The source code for EIS/FIS microcode was included so these instructions, normally located in the third MICROM, could be loaded in the WCS, if desired.[11]
Later Q-Bus based systems such as the LSI–11/23, /73, and /83 are based upon chip sets designed in house by Digital Equipment Corporation. Later PDP–11 Unibus systems were designed to use similar Q-Bus processor cards, using a Unibus adapter to support existing Unibusperipherals, sometimes with a special memory bus for improved speed.
There were other significant innovations in the Q-Bus lineup. For example, a system variant of the PDP–11/03 introduced full systempower-on self-test (POST).
The basic design of the PDP–11 was flexible, and was continually updated to use newer technologies. However, the limitedthroughput of the Unibus andQ-Bus started to become a system-performancebottleneck, and the 16-bit logical address limitation hampered the development of larger software applications. The article onPDP–11 architecture describes the hardware and software techniques used to work around address-space limitations.
DEC's 32-bit successor to the PDP–11, theVAX–11 (for "Virtual Address eXtension") overcame the 16-bit limitation, but was initially asuperminicomputer aimed at the high-endtime-sharing market. The early VAX CPUs provided a PDP–11compatibility mode under which much existing software could be immediately used, in parallel with newer 32-bit software, but this capability was dropped with the firstMicroVAX.
For a decade, the PDP–11 was the smallest system that could runUnix,[12] but in the 1980s, theIBM PC and its clones largely took over the small computer market;BYTE in 1984 reported that the PC'sIntel 8088 microprocessor could outperform the PDP–11/23 when running Unix.[13] Newer microprocessors such as theMotorola 68000 (1979) andIntel 80386 (1985) also included 32-bit logical addressing. The 68000 in particular facilitated the emergence of a market of increasingly powerful scientific and technicalworkstations that would often run Unix variants. These included theHP 9000 series 200 (starting with the HP 9826A in 1981) and 300/400, with theHP-UX system being ported to the 68000 in 1984;Sun Microsystems workstations runningSunOS, starting with theSun-1 in 1982;Apollo/Domain workstations starting with the DN100 in 1981 runningDomain/OS, which was proprietary but offered a degree of Unix compatibility; and theSilicon GraphicsIRIS range, which developed into Unix-based workstations by 1985 (IRIS 2000).
Personal computers based on the 68000 such as theApple Lisa andMacintosh, theAtari ST, and theCommodore Amiga arguably constituted less of a threat to DEC's business, although technically these systems could also run Unix derivatives. In the early years, in particular,Microsoft'sXenix was ported to systems like theTRS-80 Model 16 (with up to 1 MB of memory) in 1983, and to the Apple Lisa, with up to 2 MB of installed RAM, in 1984. The mass-production of those chips eliminated any cost advantage for the 16-bit PDP–11. A line of personal computers based on the PDP–11, theDEC Professional series, failed commercially, along with other non-PDP–11 PC offerings from DEC.
In 1994, DEC[14] sold the PDP–11 system-software rights toMentec Inc., an Irish producer of LSI-11 based boards for Q-Bus and ISA architecture personal computers, and in 1997 discontinued PDP–11 production. For several years, Mentec produced new PDP–11 processors. Other companies found aniche market for replacements for legacy PDP–11 processors, disk subsystems, etc. At the same time, free implementations of Unix for the PC based onBSD orLinux became available.
By the late 1990s, not only DEC but most of the New England computer industry which had been built around minicomputers similar to the PDP–11 collapsed in the face of microcomputer-based workstations and servers.
The PDP–11 processors tend to fall into several natural groups depending on the original design upon which they are based and which I/Obus they use. Within each group, most models were offered in two versions, one intended forOEMs and one intended for end-users. Although all models share the same instruction set, later models added new instructions and interpreted certain instructions slightly differently. As the architecture evolved, there were also variations in handling of some processor status and control registers.
The following models use theUnibus as their principal bus:
The following models use theQ-Bus as their principal bus:
The PDT series were desktop systems marketed as "smart terminals". The /110 and /130 were housed in aVT100 terminal enclosure. The /150 was housed in a table-top unit which included two 8-inch floppy drives, three asynchronous serial ports, one printer port, one modem port and one synchronous serial port and required an external terminal. All three employed the same chipset as used on the LSI-11/03 and LSI-11/2 in four "microm"s. There is an option which combines two of the microms into one dual carrier, freeing one socket for an EIS/FIS chip. The /150 in combination with aVT105 terminal was also sold asMiniMINC, a budget version of theMINC-11.
TheDEC Professional series are desktop PCs intended to compete with IBM's earlier8088 and80286 based personal computers. The models are equipped with 51⁄4 inch floppy disk drives and hard disks, except the 325 which has no hard disk. The original operating system was P/OS, which was essentiallyRSX-11M+ with a menu system on top. As the design was intended to avoid software exchange with existing PDP–11 models, the poor market response was unsurprising. TheRT-11 operating system was eventually ported to the PRO series. A port of theRSTS/E operating system to the PRO series was also done internal to DEC, but it was not released. The PRO-325 and -350 units are based on the DCF-11 ("Fonz") chipset, the same as found in the 11/23, 11/23+ and 11/24. The PRO-380 is based on the DCJ-11 ("Jaws") chipset, the same as found in the 11/53,73,83 and others, though running only at 10 MHz because of limitations in the support chipset.
The PDP–11 was sufficiently popular that many unlicensed PDP–11-compatible minicomputers and microcomputers were produced inEastern Bloc countries. Some were pin-compatible with the PDP–11 and could use its peripherals and system software. These include:
Severaloperating systems were available for the PDP–11.
The DECSA communications server was a communications platform developed by DEC based on a PDP–11/24, with the provision for user installable I/O cards including asynchronous and synchronous modules.[44] This product was used as one of the earliest commercial platforms upon which networking products could be built, including X.25 gateways,SNA gateways,routers, andterminal servers.
Ethernet adaptors, such as the DEQNAQ-Bus card, were also available.
Many of the earliest systems on theARPANET were PDP–11's
A wide range of peripherals were available; some of them were also used in other DEC systems like thePDP–8 orPDP–10.The following are some of the more common PDP–11 peripherals.
The PDP–11 family of computers was used for many purposes. It was used as a standard minicomputer for general-purpose computing, such astimesharing, scientific, educational, medical, government or business computing. Another common application wasreal-timeprocess control andfactory automation.
SomeOEM models were also frequently used asembedded systems to control complex systems like traffic-light systems, medical systems,numerical controlledmachining, or for network management. An example of such use of PDP–11s was the management of the packet switched networkDatanet 1. In the 1980s, the UK'sair traffic control radar processing was conducted on a PDP 11/34 system known as PRDS – Processed Radar Display System at RAF West Drayton.[citation needed] The software for theTherac-25 medicallinear particle accelerator also ran on a 32K PDP 11/23.[45]In 2013, it was reported that PDP–11 programmers would be needed to control nuclear power plants through 2050.[46]
Another use was for storage of test programs forTeradyneATE equipment, in a system known as the TSD (Test System Director). As such, they were in use until their software was rendered inoperable by theYear 2000 problem. The US Navy used a PDP–11/34 to control its Multi-station Spatial Disorientation Device, a simulator used in pilot training, until 2007, when it was replaced by a PC-based emulator that could run the original PDP–11 software and interface with custom Unibus controller cards.[47]
A PDP–11/45 was used for the experiment that discovered theJ/ψ meson at theBrookhaven National Laboratory.[48] In 1976,Samuel C. C. Ting received theNobel Prize for this discovery. Another PDP–11/45 was used to create the Death Star plans during the briefing sequence inStar Wars.[citation needed]
Ersatz-11, a product of D Bit,[49] emulates the PDP–11 instruction set running under DOS, OS/2, Windows, Linux orbare metal (no OS). It can be used to run RSTS or other PDP–11 operating systems.
SIMH is an emulator that compiles and runs on a number of platforms (includingLinux) and supports hardware emulation for the DEC PDP–1, PDP–8, PDP–10, PDP–11, VAX, AltairZ80, several IBM mainframes, and other minicomputers.
All DEC Datasystem 350 models have PDP–11/10 CPUs
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite web}}
: CS1 maint: archived copy as title (link)