Key Moments
Hacking on the PDP1 Raspberry Pi Emulator - Computerphile
Key Moments
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
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.
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.
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.
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.
Early AI in the 1960s focused on symbolic tasks like differentiation and chess programming, distinct from modern neural network approaches.
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.
Mentioned in This Episode
●Products
●Software & Apps
●Companies
●People Referenced
Using the PDP-1 Emulator: Key Steps
Practical takeaways from this episode
Do This
Avoid This
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
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.
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.
A PDP family machine famous for being the platform on which Unix was developed by Ken Thompson starting in 1969.
A machine in the PDP family, along with the PDP-15, discussed briefly.
A machine in the PDP family, along with the PDP-9, discussed briefly.
Part of a smaller, stripped-down 18-bit family condensed into 12 bits, used for lab equipment and process control.
A minimal 12-bit machine for lab equipment and process control, popular with a fan community. It was the first machine made by 'Oscar'.
A minimal 12-bit machine for lab equipment and process control.
A 36-bit machine designed for time-sharing and running Lisp, popular in AI circles at MIT.
A 36-bit machine designed for time-sharing and running Lisp, popular in AI circles at MIT.
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.
A 32-bit machine developed by DEC as a successor, essentially a reinterpretation of the PDP-11 architecture.
An 18-bit machine that preceded the PDP-1, much simpler and existing as a one-off prototype.
A larger 36-bit machine from the pre-PDP era, notable as the platform for Ivan Sutherland's Sketchpad, considered the first CAD system.
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.
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.
The designation for the computers used in the SAGE system, essentially larger versions of the Whirlwind I.
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.
An American computer manufacturer, initially not calling their products 'computers' to differentiate from larger business machines like IBM's. They produced the PDP line of computers.
Mentioned as a contrast to the interactive and personal computing tradition of DEC, evoking notions of large, hard-to-access payroll business machines with punch cards.
An operating system developed on the PDP-7 starting in 1969. Its kernel and user space each occupied 4 kilobytes of memory.
A popular programming language in AI circles around MIT during the era of the PDP-6 and PDP-10.
The first CAD system, written by Ivan Sutherland on the TX-2 computer.
A U.S. military project during which the memory test computer and core memory were developed. Whirlwind I was initially for cockpit simulation but evolved into a digital computer.
An air defense system utilizing the Whirlwind II computers (AN/FSQ-7) across the US for airspace monitoring.
A demo program on the PDP-1 based on Marvin Minsky's circle algorithm, featuring three linked oscillators that create complex visual patterns.
A medium used for loading programs and data into computers like the PDP-1, including the DDT debugger and demonstration programs. It had a specific reading speed.
The developer credited with developing Unix on the PDP-7 in 1969.
The architect of most PDP machines (except the PDP-1), who considered the 18-bit line a mistake due to incompatibility and a lack of foresight regarding portable software.
The developer of Sketchpad, the first CAD system, which was written on the TX-2 computer.
Discovered an efficient algorithm for drawing circles, which ensures stability by linking x and y coordinates rather than calculating each point sequentially. This algorithm is used in the PDP-1 demonstration.
More from Computerphile
View all 85 summaries
23 minHaptic Rendering - Computerphile
23 minTemporal Networks, Where Page Rank meets Lord of the Rings - Computerphile
21 minVector Search with LLMs- Computerphile
15 minCoding a Guitar Sound in C - Computerphile
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