Pics A bloke in Cambridge, UK, is building a computer processor using 14,000 individual transistors and 3,500 LEDs – all by hand, piece by piece.
James Newman said his Mega Processor relies almost entirely on the hand-soldered components, and will ultimately demonstrate how data travels through and is processed in a simple CPU core. He's just finished putting together the general purpose registers, and in May completed the arithmetic and logic unit.
Each transistor acts like a digital switch, and can be chained together to form huge decision-making circuits that execute software, instruction by instruction.
Transistor ... this, times 14 thousand
The finished circuitry, when mounted on a wall of boards, will measure 14 metres long and 2 metres high (46ft by 6.6ft), will weigh about a half-ton, and will consume 500W. he now fears he won't be able to fit it all in his home.
Newman, whose background is in software development and FPGA programming, told The Register he has spent about £20k on the project to date. He started planning the processor in 2012, and began building the beast a year later.
"There was a conversation at work about that time when we were talking about debugging something and someone remarked it would be easier if we had an LED on a signal," he explained.
"Things got out of hand at that point."
After researching the blueprints of early microprocessors, such as the Zilog Z80 and the Motorola 68000, Newman opted to craft a 16-bit processor that can perform 20,000 instructions per second from a 20kHz clock. That's 0.02 MIPS (millions of instructions per second). It will have seven registers – four general purpose registers plus a program counter, stack pointer and a CPU status flag word – 256 bytes of RAM, and 256 bytes of programmable ROM.
Here's how the Mega Processor compares to other cores, depending on their clock speed and model:
|Processor||MIPS||Transistor gates||Clock speed||Year launched|
|Toshiba MIPS R4000||50||1,300,000||50MHz||1991|
When completed, the Mega Processor will have more than 100,000 connections. Soldering in and hooking up the circuitry has not been easy, and Newman acknowledges that finding and replacing dying components will be a major headache.
"The potential for unreliability is deeply scary. There is no built in defence for broken circuitry. My main strategy is to design a test method which allows me to isolate the various subsystems and check their operation matches expectations," he said.
"I'm expecting some disappointment and a lot of frustration."
Newman plans to feed instructions into the Mega Processor via an RS232 serial interface connected to his PC. He is also hoping to add a 32KB RAM module and a video display. He wants to port Conway's Game of Life, Tic-Tac-Toe and possibly a form of Tetris to his hardware.
The system will hardly be a burner ("faster than Babbage’s machine but slower than a Z80" is the performance estimate), but Newman hopes it will provide a novel demonstration of how processors operate at a basic level.
The project is far from a guaranteed success: "things got out of hand" is a common refrain. Originally slated for completion in late 2014, Mega Processor is still a work-in-progress, and Newman concedes that failure remains a strong possibility. Even if he does pull off the massive engineering feat, Mega Processor will need a room large enough to accommodate its size.
"It needs to go somewhere; my house isn’t big enough for the two of us," he said. "I’d be interested in hearing from someone who could give it a good home." ®
The MIPS figures for the chip comparison table are dependent on the listed clock speed and the particular model. For example, the Intel 80486 can hit 40 MIPS if you run it at 50MHz. The ARM2's transistor count is so low due to its slimline RISC design and lack of a cache.
All images taken by James Newman. Used with permission.