A 4-bit Computer From Discrete Transistors

Anyone reading this uses computers, and a few very cool people have built their own computer out of chips, [zaphod] is doing something even cooler over on hackaday.io: he’s building a computer from discrete transistors.

Building a computer from individual components without chips isn’t something new – Minecraft players who aren’t into cheaty command blocks do it all the time, and there have been a few real-life builds that have rocked our socks. [zaphod] is following in this hallowed tradition by building a four-bit computer, complete with CPU, RAM, and ROM from transistors, diodes, resistors, wire, and a lot of solder.

The ROM for the computer is just a bunch of 16 DIP switches and 128 diodes, giving this computer 128 bits of storage. the RAM for this project is a bit of a hack – it’s an Arduino, but that’s only because [zaphod] doesn’t want to solder 640 transistors just yet. This setup does have its advantages, though: the entire contents of memory can be dumped to a computer through a serial monitor. The ALU is a 4-bit ripple-carry adder/subtractor, with plans for a comparison unit that will be responsible for JMP.

The project hasn’t been without its problems – the first design of the demux for the ROM access logic resulted in a jungle of wires, gates, and connections that [zaphod] couldn’t get a usable signal out of because of the limited gate fan-out of his gates. After looking at the problem, [zaphod] decided to look at how real demuxes were constructed, and eventually hit upon the correct way of doing things – inverters and ANDs.

It’s a beautiful project, and something that [zaphod] has been working for months on. He’s getting close to complete, if you don’t count soldering up the RAM, and already has a crude Larson scanner worked out.

Building A Computer With Discrete Transistors

You’re going to want to do some stretching before undertaking a soldering project like this one. We’re betting that the physical toll of assembling this 4-bit discrete processor project is starting to drive [SV3ORA] just a bit crazy. This small piece of electronic real estate is playing host to 62 transistors so far, and he’s not done yet.

It’s one thing to build some logic gates in Minecraft (and then turn then into a huge 16-bit ALU). But it’s another thing to actually commit to a physical build. [SV3ORA] does a great job of showing the scope of the project by posting a tight shot of one inverter, then three in a row, then the entire 8-bit address and display system. These gates are built on the copper side of the board, with the power feed, LEDs for displays, and jumpers for control on the opposite side. We’re excited to see where he goes with this project!

But hey, if you don’t want to do that much soldering there’s a lot you can do on a few breadboards.

CPU Built From Discrete Transistors

We all know, at least intellectually, that our computers are all built with lots of tiny transistors. But beyond that it’s a little hard to describe. They’re printed on a silicon wafer somehow, and since any sufficiently advanced technology is indistinguishable from magic, they miraculously create a large part of modern society. Even most computers from 40 or 50 years ago were built around various inscrutable integrated circuits. On the other hand, this computer goes all the way back to first principles and implements a complete processor out of individual transistors instead.

The transistor computer uses over 2000 individual transistors to implement everything comprising the 11-bit CPU. The creator, Reddit user [ Weekly_Salamander_78] also has an online interactive book that walks through each of the steps that is required to get to the point of having a working computer like this. Starting with a guide on building logic gates from transistors it will eventually cover the arithmetic logic unit, adders, memory, clocks, and everything else that is needed for the complete CPU to get up and running. The design does rely on an Arduino for memory to simplify some things, and in the end it’s able to run a Hello, World! program and play a simple dinosaur game as well.

Building a computer out of discrete components like this is an impressive accomplishment, although we might not envy the creator of it when it comes time for troubleshooting or maintenance of all of those individual components. Presumably it would be much easier to work on than something like a relay computer, but for now we’ll all take a moment to be thankful that almost no one needs to work on debugging vacuum tube computers anymore.

The Heinz Nixdorf Museumsforum building in Paderborn

Visit The World’s Largest Computer Museum: The Heinz Nixdorf

Most stories in the history of computing took place in one of a small number of places. The wartime code-breaking effort in Bletchley Park led to Colossus, the first programmable electronic computer. Various university campuses in Britain and the US were home to first-generation computers like ENIAC, EDVAC and the Manchester Baby in the late 1940s. Silicon Valley then stole the limelight with the home computer revolution in the 1970s. Naturally, all of these places have their museums celebrating their local achievements, but the world’s largest computer museum is not found in Silicon Valley or on the campus of a famous university. Instead, you have to travel to a small German town called Paderborn, which houses the Heinz Nixdorf Museumsforum, or HNF.

Heinz Nixdorf might not be a household name in America like Jack Tramiel or Steve Jobs, but he was one of Europe’s great computer pioneers. Starting with vacuum tube based machines in 1952, Nixdorf gradually expanded his company into one of the largest computer manufacturers of the 1970s. His products were especially popular among large businesses in the financial sector, such as banks and insurance companies. By the late 1980s however, sales went downhill and the company was eventually acquired by Siemens. Today, the Nixdorf name lives on as part of Diebold-Nixdorf, a major producer of ATMs and checkout machines, reflecting the original company’s focus on the financial industry.

The museum’s roots lie in Heinz Nixdorf’s personal collection of typewriters and other office equipment. Although he already envisioned starting a museum dedicated to computing, his sudden death in 1986 put a stop to that. A few of his employees kept the plan alive however, and in 1996 the HNF was opened in Paderborn. Today the museum is run by a non-profit foundation that aims to provide education in information and communication technology to a wide audience.

The collection is housed in the former worldwide headquarters of Nixdorf Computer AG, a rather imposing 1970s office building covered in gold-tinted windows. Inside,]] you’re reminded of its former life as an office building through its compact layout and low ceilings. It does give the museum a bit of a cosy feel, unlike, say, the cavernous halls of London’s Science Museum, but don’t let this fool you: at 6,000 m2, the main exhibition area is about twice as large as that of Silicon Valley’s Computer History Museum. Continue reading “Visit The World’s Largest Computer Museum: The Heinz Nixdorf”

The Q2, A PDP8-Like Discrete Transistor Computer

[Joe Wingbermuehle] has an interest in computers-of-old, and some past experience of building computers on perfboard from discrete transistors, so this next project, Q2, is a complete implementation of a PDP8-like microcomputer on a single PCB. Like the DEC PDP-8, this is a 12-bit machine, but instead of the diode-transistor logic of the DEC, the substantially smaller Q2 uses a simple NMOS approach. Also, the DEC has core memory, but the Q2 resorts to a pair of SRAM ICs, simply because who wants to make repetitive memory structures with discrete 2N7002 transistors anyway?

SMT components for easy machine placement

Like the PDP-8, this machine uses a bit-serial ALU, which allows the circuit to be much smaller than the more usual ALU structure, at the expense of needing a clock cycle per bit per operation, i.e. a single ALU operation will take 12 clock cycles. For this machine, the instruction cycle time is either 8 or 32 clocks anyway, and at a maximum speed of 80 kHz it’s not exactly fast (and significantly slower than a PDP-8) but it is very small. Small, and perfectly formed.

The machine is constructed from 1094 transistors, with logic in an NMOS configuration, using 10 K pullup resistors. This is not a fast way to build a circuit, but it is very compact. By looking at the logic fanout, [Joe] spotted areas with large fanouts, and reduced the pull-up resistors from 10 K to 1 K. This was done in order to keep the propagation delay within bounds for the cycle time without excessive power usage. Supply current was kept to below 500 mA, allowing the board to be powered from a USB connector. Smart!

Memory is courtesy of two battery-backed 6264 SRAMs, with the four 12-bit general purpose registers built from discrete transistors. An LCD screen on board is a nice touch, augmenting the ‘front panel’ switches used for program entry and user input. A 40-pin header was added, for programming via a Raspberry Pi in case the front panel programming switches are proving a bit tedious and error prone.

Discrete transistor D-type flip flop with indicator. Latest circuit switched to 2N7002 NMOS.

In terms of the project write-up, there is plenty to see, with a Verilog model available, a custom programming language [Joe] calls Q2L, complete with a compiler and assembler (written in Rust!) even an online Q2 simulator! Lots of cool demos, like snake. Game of Life and even Pong, add some really lovely touches. Great stuff!

We’ve featured many similar projects over the years; here’s a nice one, a really small 4-bit one, and a really big one.

 

FPGA Retrocomputer: Return To Moncky

Part of the reason that retrocomputers are still so popular despite their obsolescence is that it’s possible to understand the entire inner workings of a computer like this, from the transistors all the way up to the software. Comparatively, it will likely be a long time (if ever) before anyone is building a modern computer from discrete components. To illustrate this point, plenty of 8-bit computers are available to either restore from original 80s hardware or to build from kits. And if you’d like to get even deeper into the weeds you can design your own computer including the instruction set completely from the ground up using an FPGA.

This project, called the Moncky project, is a step above the usual 8-bit computer builds as it is actually a 16-bit computer. It is built around an Arty Spartan-7 FPGA dev board running around 20 MHz and has access to 2 x 128 kB dual-port RAM for memory. To access the outside world there is a VGA output, PS/2 capability, SPI, and uses an SD card as a hard drive. This project really shines in the software, though, as the project creator [Kris Demuynck] builds everything from scratch in order to illustrate how everything works for educational purposes, and is currently working on implementing a C compiler to make programming the computer easier.

All of the project files, as well as all of the code, are available on the project’s GitHub page if you’d like to follow along or build on this homebrew 16-bit computer. It’s actually the third iteration of this computer, with the Moncky-1 and Moncky-2 being used to develop the more basic building blocks for this computer. While it’s not the first 16-bit computer we’ve seen implemented on an FPGA, it is one of the few that builds its own RISC instruction set and associated software rather than cloning a known existing processor. We’ve also seen some interesting x86 implementations on an FPGA as well.

Thanks to [koen-ieee] for the tip!

Thousands Of Discrete MOSFETs Make Up This Compact CPU-Less Computer

How long has it been since a computer could boast about the fact that it contained 2,500 transistors? Probably close to half a century now, at a guess. So in a world with a couple of billion transistors per chip, is a 2,500-transistor computer really something to brag about? Yes. Yes, it is.

The CPU-less computer, called the TraNOR by its creator [Dennis Kuschel], is an elaboration on his previous MyNOR, another CPU-less machine that used a single NOR-gate made of discrete transistors as the core of its arithmetic-logic unit (ALU). Despite its architectural simplicity, MyNOR was capable of some pretty respectable performance, and even managed to play a decent game of Tetris. TraNOR, on the other hand, is much more complicated, mainly due to the fact that instead of relying on 74HC-series chips, [Dennis] built every single gate on the machine from discrete MOSFETs. The only chips on the four stacked PCBs are a trio of memory chips; we don’t fault him at all for the decision not to build the memory — he may be dedicated, but even art has its limits. And TraNOR is indeed a work of art — the video below shows the beautiful board layouts, with seemingly endless arrays of SMD transistors all neatly arranged and carefully soldered. And extra points for using Wintergatan’s marble machine melody as the soundtrack, too.

As much as we loved the original, TraNOR is really something special. Not only is it beautiful, but it’s functional — it’s even backward-compatible with MyNOR’s custom software. Hats off to [Dennis] for pulling off another wonderful build, and for sharing it with us.

Continue reading “Thousands Of Discrete MOSFETs Make Up This Compact CPU-Less Computer”