Skip to content
HN On Hacker News ↗

From Front Panel to Program: Thinking Like a PDP-8

▲ 4 points 0 comments by ibobev 3h ago HN discussion ↗

Pangram verdict · v3.3

We believe that this text is a mix of AI and human-written content.

84 %

AI likelihood · overall

AI
12% human-written 88% AI-generated
SEGMENTS · HUMAN 2 of 3
SEGMENTS · AI 1 of 3
WORD COUNT 1,426
PEAK AI % 92% · §2
Analyzed
Aug 23
backend: pangram/v3.3
Segments scanned
3 windows
avg 475 words each
Distribution
12 / 88%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 1,426 words · 3 segments analyzed

Human AI-generated
§1 Human · 2%

Transistors, logic gates, flip-flops, full adders, registers, an accumulator, memory, and blinking LEDs. The PDP-8 is a great machine to learn how traditional digital electronics and computer architecture works. 🎁 Giveaway Win a PiDP-8 Replica! One lucky winner will receive a PiDP-8 replica The giveaway closes September 20. The winner will be selected after the campaign ends. There is something deeply satisfying about looking at an old machine and realizing that, underneath all the blinking lights, switches, registers, and instructions, it is still possible to fully grasp the fundamental building blocks of a traditional computer. If you're not new here, you probably know that, in our school, we often look back in time to understand how technology evolved. Studying the early days of computing allows us to take advantage of a type of simplicity that can only be found in older and more rudimentary systems. Even though modern technology is extremely complex, computers are, ultimately, just a very large collection of tiny circuits that manipulate bits. Retro architectures are a great way to fully grok the basic concepts of digital circuits and computers. Computers are huge abstraction machines. You can start by understanding how electricity works and how it behaves, then we proceed to understand how transistors can behave like switches, then how a handful of transistors can form logic gates, then how logic gates can form adders, multiplexers, latches, and registers. We connect these circuits together to form an arithmetic & logic unit, then we add a control unit, some memory, and a clock, and suddenly we have a simple but working CPU. A textbook CMOS 1-bit full adder circuit example Note: This blog post assumes you're familiar with terms like program counter, stack, flip-flops, registers, full-adders, and ALU. That being said, if you are looking for a set of comprehensive, in-depth lectures on digital electronics & computer architecture, you should visit our courses page. A great example of computer that is simple enough for us to dissect how basic digital circuits work is the DEC PDP-8. Introduced in 1965, the PDP-8 is a classic, textbook example of an accumulator-based architecture, and it was one of the most influential early minicomputers.

§2 AI · 92%

More importantly for us, its architecture is small enough that we can understand a surprisingly large part of the machine without getting buried in complexity. The PDP-8 is a 12-bit computer that has a tiny instruction set, a single main accumulator, a peculiar memory-addressing scheme, a one-bit link register, instructions that perform several jobs at once, and even a handful of registers that aren't actually registers at all. And perhaps the strangest thing about it is that these aren't arbitrary historical oddities. They are the consequences of trying to build a useful computer out of expensive hardware. A Computer Small Enough to Sell To understand the PDP-8, we need to go back to the early 1960s. University of Melbourne's PDP-8 computer Computers were expensive machines. A typical computer belonged in a computer center, not on someone's desk. The idea of buying a general-purpose computer for a laboratory, factory, or engineering department was still unusual. Digital Equipment Corporation, founded in 1957 by Ken Olsen & Harlan Anderson, was already building smaller computers. Its PDP-5, introduced in 1963, was an important predecessor to the PDP-8. Headquarters of Digital Equipment Corporation from 1957 to 1992 The PDP-8 arrived in March 1965 and pushed the idea much further. It was a 12-bit general-purpose computer that could be purchased for around $18,000, which was dramatically less than the machines that dominated computing at the time. The first PDP-8 used discrete transistor logic rather than a microprocessor. Its CPU was constructed from small plug-in circuit modules known as Flip-Chips, connected through wire-wrapped backplanes. Flip-chip module The flip-chip register slice above contains 8 bits of storage and 2 bits of an adder. It was used in the PDP-8/I (successor to the PDP-8) which had IC logic circuits. It was therefore a computer in the most literal sense. You could open the machine and see the circuitry that implemented the processor. There was no CPU chip hiding underneath a heat spreader. The central processing unit was the collection of circuit boards. Why 12 Bits? Today, 8, 16, 32, and 64-bit computers feel natural, while 12 bits might feel strange. But 12 is actually a very convenient number for the PDP-8. A 12-bit word gives us 4096 (2¹²) possible values. More importantly, 12 divides nicely into three groups of four bits. That makes the machine's binary representation fairly compact and convenient for its designers and programmers. The PDP-8's original memory contained 4K words of 12-bit core memory, which gives us a machine where an entire word is small enough to understand, but large enough to hold a useful instruction, a character-oriented value, or a small integer. The 12-bit architecture was retained throughout the PDP-8 family even as the implementation technology changed dramatically. A Family of PDP-8s Before we continue, it's important to point out that, when we talk about the PDP-8, we're actually talking about a whole family of machines. I want to get this out of the way now, because you'll see many images online (including the ones in this article) and they might be from different models of PDP-8. DEC kept the basic 12-bit architecture remarkably consistent, but the electronics underneath changed quite dramatically over the years. Some models were cheaper, some were faster, and some were essentially experiments in how to build the same computer with less hardware. The Original PDP-8 The original PDP-8, introduced in 1965, was built from discrete transistor logic and magnetic-core memory. It was a relatively compact machine for its time, but its CPU was still made from a large collection of individual circuit modules. This is the machine that established the PDP-8 architecture and helped make the minicomputer commercially successful. The PDP-8/S The PDP-8/S, introduced in 1966, took a particularly interesting approach Instead of building a wide, parallel arithmetic unit, the 8/S performed many operations serially, one bit at a time. This saved circuitry and therefore reduced the cost, but it also made the machine considerably slower. It's a great example of an architectural idea surviving while the underlying hardware is radically rearranged. PDP-8/S front panel The PDP-8/I The PDP-8/I moved the design toward integrated circuits (ICs), making the computer smaller, cheaper, and more practical. Rather than constructing the processor from the earlier discrete-transistor modules, DEC could now use integrated logic to pack much more functionality into a smaller space. PDP-8/I front panel The PDP-8/E The PDP-8/E, from 1970. was one of the most important models because it became the basis for a large ecosystem of PDP-8 systems and peripherals. It used newer IC technology, had a modular backplane, and could be expanded with a wide variety of memory and I/O options. The large machine in the photograph below is an example of the kind of system that could be built around the 8/E architecture. PDP-8/E front panel The PDP-8/F The 8/F was essentially a lower-cost version of the 8/E. It retained the PDP-8 architecture but simplified the physical implementation and packaging. DEC was becoming very good at taking the same architectural idea and finding cheaper ways to manufacture it. PDP-8/F front panel The PDP-8/A There was also thePDP-8/A, which pushed the idea of a small, inexpensive PDP-8 even further. It was designed around newer technology and was particularly attractive for OEMs and embedded-control applications. By this point, a PDP-8 didn't necessarily look like the large minicomputer we might imagine from photographs of early systems—it could be a relatively compact computer hidden inside another machine. PDP-8/A front panel One important thing to notice is that these machines were not simply a sequence of increasingly powerful CPUs. In many cases, DEC was keeping the programming model stable while changing the implementation underneath it. A program written for the PDP-8 architecture could therefore survive several generations of hardware. The electronics could change from discrete transistors to integrated circuits, the memory could change, the packaging could change, and the machine could become dramatically cheaper, while the programmer could still think in terms of the same 12-bit accumulator, program counter, LINK bit, memory-reference instructions, and I/O instructions. This stability was one of the reasons that the PDP-8 family is so interesting from an architectural perspective. The different models are almost like experiments in implementation: "How cheaply, quickly, or compactly can we build essentially the same computer?"

§3 Human · 26%

PDP-8/E Field Guide This is a fully-configured PDP-8/E, DEC's mid-1970s 12-bit minicomputer. This was arguably the machine that made "minicomputer" an affordable word.