Key Moments

Hacking on the PDP1 Raspberry Pi Emulator - Computerphile

ComputerphileComputerphile
Education6 min read25 min video
May 6, 2026|15,127 views|597|28
Save to Pod
TL;DR

The PDP-1, a 1950s computer, offered interactive computing decades before personal computers, but its legacy is overshadowed by less compatible successors. Its interactive nature laid groundwork for modern computing.

Key Insights

1

The PDP-1, sold starting in 1960, was an 18-bit machine with 4 kilowords (24 words each) of memory, designed for interactive use rather than batch processing.

2

DEC's PDP family evolved from the PDP-1, with the PDP-7 famously being the machine where Unix was developed by Ken Thompson in 1969.

3

While the PDP-1 and its 18-bit successors (PDP-4, PDP-7, PDP-9, PDP-15) were not always software compatible, the later PDP-11 (around 1970) unified many architectures into a single, more familiar 16-bit system.

4

The PDP-6 and PDP-10 were 36-bit machines designed for time-sharing and ran Lisp, a popular language in early AI research circles.

5

Early AI in the 1960s focused on symbolic tasks like differentiation and chess programming, distinct from modern neural network approaches.

6

Interactive computing pioneers like the TX-0 and TX-2 (which ran Sketchpad, an early CAD system) preceded the PDP-1, demonstrating interactive graphical capabilities and complex 36-bit architecture respectively.

The PDP-1: a departure from batch processing

The Digital Equipment Corporation (DEC) introduced the PDP-1 in 1959, with sales beginning in 1960. This 18-bit machine, equipped with 4 kilowords (approximately 96KB if 8-bit bytes were considered, though bytes were not yet standard) of memory, marked a significant shift in computing. Unlike contemporary IBM machines that relied on punch cards and batch processing, the PDP-1 was designed for direct, interactive user engagement. This made it a more personal and immediate computing experience, a stark contrast to the 'payroll business machines' of the era. DEC intentionally avoided the term 'computer' initially to distance themselves from these less accessible systems. The PDP-1's architecture was also unique, using a word size of 18 bits, foregoing the byte addressing that would become prevalent later in the 1960s.

Evolution of the PDP family

Following the PDP-1, DEC's product line branched out. The PDP-4, also an 18-bit machine, was an early successor but not directly compatible with the PDP-1. Later, the PDP-7 emerged, notable for being the platform on which Ken Thompson developed the foundational elements of Unix in 1969. The PDP-9 and PDP-15 continued this 18-bit lineage, often with minor architectural tweaks like reallocating bits between instruction and address spaces, affecting memory capacity and instruction set size. For instance, a reconfigured PDP-4 could offer 8 kilowords compared to the PDP-1's 4, but with a reduced instruction space. This lack of strict compatibility between early PDP models was a point of contention, with figures like Gordon Bell later deeming the 18-bit line a strategic error due to the missed opportunity for portable software.

Machines for time-sharing and early AI

In contrast to the 18-bit machines, DEC also developed wider-word machines like the PDP-6 and PDP-10. These were 36-bit systems explicitly designed for time-sharing, allowing multiple users to interact with a single machine concurrently. They were particularly instrumental in the burgeoning field of Artificial Intelligence, being well-suited to run Lisp, a popular programming language in AI research circles, especially around MIT. This era of AI, distinct from today's neural networks, focused on symbolic computation, such as symbolic differentiation and chess programming. The PDP-10, in particular, became a workhorse for AI and academic research for many years.

The unifying PDP-11 and its successors

A pivotal machine in DEC's history was the PDP-11, introduced around 1969-1970. This 16-bit architecture aimed to consolidate the diverse PDP lines. It spanned a range of models, from smaller machines suitable for tasks similar to the PDP-8, up to more powerful versions like the PDP-11/40 which ran Unix, and even more capable machines like the PDP-11/70. While it didn't entirely replace the large 36-bit machines like the PDP-10, the PDP-11 became incredibly influential. It introduced byte addressing, which is standard today, and its architecture was familiar enough that reading its assembly language is not alienating. DEC later built the VAX, a 32-bit machine, which can be seen as a reinterpretation of the PDP-11 principles.

Simpler, smaller, and precursor machines

Alongside the main PDP line, DEC also produced the PDP-5, PDP-8, and PDP-12. These formed a more minimal, 12-bit family, often used for laboratory equipment, process control, and embedded systems. Despite their smaller scale, the PDP-8, in particular, gained considerable popularity with a dedicated enthusiast community. These machines represented the 'stripped-down' end of DEC's offerings. Further back in history, preceding the PDP-1, were machines like the TX-0 and TX-2. The TX-0 was a simpler 18-bit machine, while the TX-2 was a larger 36-bit system famous as the platform for Ivan Sutherland's Sketchpad, an early computer-aided design (CAD) system, showcasing pioneering graphical interaction.

The roots in Project Whirlwind

The earliest precursors to these machines trace back to MIT's Project Whirlwind, initiated during World War II. Initially intended for cockpit simulation, Whirlwind evolved into a digital computer. Its core innovation was the development of magnetic core memory, a critical technology for early computers. The Whirlwind I (operational around 1950) was essentially the first 'microcontroller' in concept, designed to interact with the real world, albeit occupying an entire building. The subsequent Whirlwind II, better known as part of the SAGE (Semi-Automatic Ground Environment) air defense system, was a larger, distributed network of computers used for airspace monitoring, though its operational purpose diminished with the advent of intercontinental missiles.

Interacting with the PDP-1 via its front panel

The PDP-1's front panel provided a direct interface to its internal state. Lights on the panel indicated the status of flip-flops, crucial for debugging when machines frequently malfunctioned. Key registers displayed included the Program Counter (PC) for the next instruction address, the Memory Address Register (MAR) for current memory access, and the Memory Buffer Register (MBR) for data read from or written to memory. The Accumulator (ACC) served as the primary arithmetic register, while the Input/Output (I/O) register handled peripheral communication and was used for displaying coordinates, like X and Y for drawing. Manual input involved setting switches to represent binary values, which were then deposited into memory locations. This process, while fundamental, was tedious, highlighting the need for more advanced programming tools.

Programming and demonstration with Minskytron

To overcome the limitations of manual front-panel programming, debuggers like DDT (a play on insecticide) were used. DDT allowed for loading programs from paper tape and interacting with memory and execution flow more efficiently. A classic demonstration on the PDP-1 is drawing a circle using an algorithm discovered by Marvin Minsky. This algorithm, rather than calculating each point based on the previous one (which could lead to spiraling inaccuracies due to approximations), links the X and Y coordinates in a way that stabilizes the path. The Minskytron, a program based on this principle, links three such 'oscillators' in a feedback loop, creating complex visual patterns. By manipulating switches, users could alter the behavior of these oscillators, generating a wide array of dynamic and often chaotic visual displays. Saving and reloading programs via paper tape was a standard practice, allowing for persistent storage and reuse of code.

Using the PDP-1 Emulator: Key Steps

Practical takeaways from this episode

Do This

Understand the front panel registers (Program Counter, Memory Address, Memory Buffer, Accumulator, Inout Register).
Use the DDT debugger for efficient program loading and debugging.
Load programs using paper tape by inputting them into the reader.
Save programs by punching them onto paper tape for later use.
Experiment with switch settings on programs like the Minskyron for interactive exploration.

Avoid This

Avoid extensive manual programming on the front panel due to its tediousness and error-proneness.
Do not rely solely on approximations in trigonometry for drawing circles; use algorithms like Minsky's.
Be aware that some early PDP machines were not software compatible.
Do not expect early AI concepts (like symbolic differentiation) to be the same as modern neural networks.

Common Questions

The PDP-1 was an 18-bit computer designed by Digital Equipment Corporation (DEC) in the late 1950s and first sold in 1960. It was known for its interactive nature and was one of the first computers that an individual could purchase.

Topics

Mentioned in this video

Products
PDP-1

A historical computer from Digital Equipment Corporation, designed in the late 1950s and first sold in 1960. It was an 18-bit machine with 4 kilobytes of memory and was an early interactive computer.

PDP-4

An 18-bit machine that followed the PDP-1, though not directly compatible. It featured 8 kilobytes of memory by flipping an address bit to an instruction bit.

PDP-7

A PDP family machine famous for being the platform on which Unix was developed by Ken Thompson starting in 1969.

PDP-9

A machine in the PDP family, along with the PDP-15, discussed briefly.

PDP-15

A machine in the PDP family, along with the PDP-9, discussed briefly.

PDP-5

Part of a smaller, stripped-down 18-bit family condensed into 12 bits, used for lab equipment and process control.

PDP-8

A minimal 12-bit machine for lab equipment and process control, popular with a fan community. It was the first machine made by 'Oscar'.

PDP-12

A minimal 12-bit machine for lab equipment and process control.

PDP-6

A 36-bit machine designed for time-sharing and running Lisp, popular in AI circles at MIT.

PDP-10

A 36-bit machine designed for time-sharing and running Lisp, popular in AI circles at MIT.

PDP-11

Introduced around 1969-1970, this 16-bit architecture pulled together previous PDP designs, offering a range of machines from small (PDP 1105) to capable (PDP 1170) and running Unix. It paved the way for the VAX.

VAX

A 32-bit machine developed by DEC as a successor, essentially a reinterpretation of the PDP-11 architecture.

TX-0

An 18-bit machine that preceded the PDP-1, much simpler and existing as a one-off prototype.

TX-2

A larger 36-bit machine from the pre-PDP era, notable as the platform for Ivan Sutherland's Sketchpad, considered the first CAD system.

Whirlwind I

An early digital computer developed as part of Project Whirlwind. It was instrumental in the invention of core memory and featured early interactive elements like modems and displays.

Whirlwind II

Also known as the computer for the SAGE system (AN/FSQ-7), it was a larger version of Whirlwind I built across the US for airspace monitoring, but became obsolete due to intercontinental missiles.

AN/FSQ-7

The designation for the computers used in the SAGE system, essentially larger versions of the Whirlwind I.

DDT

A debugger program, whose name is a pun on insecticide. It was loaded via paper tape and used for interacting with and debugging programs on the PDP-1.

More from Computerphile

View all 85 summaries

Ask anything from this episode.

Save it, chat with it, and connect it to Claude or ChatGPT. Get cited answers from the actual content — and build your own knowledge base of every podcast and video you care about.

Get Started Free