HOMEBREW My Own Relay Computer By Harry Porter, Ph.D.
When I was a small boy, my dad brought even procedure call and return. Other than main home relays salvaged from a decommissioned tele- memory, this is an electromechanical computer, phone exchange. With abundant enthusiasm, I set out not an electronic computer. to build a computer from a dozen dusty, nonfunction- Hand-assembled machine code programs ing telephone relays. I worked on it for a while, but are toggled in bit by bit, by flipping switches on eventually gave up and moved on to other things. the front panel. The only output is from glowing However, I became mesmerized with the idea LEDs that reveal the internal state of the machine. that machines might someday be made to think, Designing it forced me to think through the question and the possibility of mechanizing consciousness of what truly constitutes the core of any computer. itself. I spent years studying computation in the My design makes clear the big picture of how abstract, but I never lost my fascination with simple computers work, which so often gets lost in the machines. This unfinished project remained in the complexity of contemporary processor designs back of my mind, long after my mom tossed out and society’s relentless quest toward efficiency, those grimy old relays. optimization, miniaturization, and specialization. Then one day I realized that I had really, truly Although the machine contains only 415 relays grown up. I could now do things I could only dream and runs at a mere 6Hz, the sound of the clicking about as a child. I now had the time, the money, the relays makes this the most physical, alive computer knowledge, the patience, and the determination to I’ve ever encountered. The experience of finally complete this long-abandoned project. completing a project once dreamt of as a kid has My relay computer contains eight general-purpose been enormously gratifying. I can finally check 8-bit registers, a 16-bit program counter, and an 8-bit “build a computer out of relays” off my to-do list! ALU capable of performing addition, logical operations, and shifting. The CPU can execute all common instructions including conditional branching and
Harry Porter teaches computer science at Portland State University. He’s married with a sixth child on the way, which he looks forward to programming. makezine.com/go/relay
Photograph by Harry Porter
208 Make: Volume 13
References:
Archives