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.
So, this basically is the largest Arduino shield. That already puts a record.
Yes, but will it run Doom?
That looks like a picture of my Brain.. Areas of Organization with Patch Jumpers Cris Crossed Haphazardly to make it all function.
We get so disconnected from how it all really works, you can just about think about the connection downwards to electron level and upwards to what appears on the screen, and this sits in between. Awesome project..
I worked on DTL (diode transistor logic) based computers back in the 70’s. This brings it al back.
The machines were Xerox Sigma 9, 32 Bit machines., running on a 1MHz clock.
At electronics engineering school in the 80’s we had written off Phillips P880 (DTL system with core memory) and PDP-8 to play around with at the school’s computer hobby club. It was really awesome, as we could get our hands on early 8080/Z80/8600 systems, to have a chance to experience those systems, to work with the technology of the previous decade.
About 40 years ago I worked on a Control Data 7600. It was a 1969 era super computer that was hand built by Seymore Cray. It had thousands of these little black metal modules that had 7 stacked PC boards inside. The stacked PC boards were of the cordwood design, and individual resistors diodes and transistors were soldered bridging between various boards. The black modules bolted onto a large aluminum bar that had Freon piped through to cool the modules. The entire system drew 500KW and cost a small fortune to run. The CPU was a 60 bit machine that ran at an amazing 54Mhz (super fast for 1969). Data was subdivided into 12 bit words. There were a few large hard disks (about the size of a dish washer). There were also some tape machines (1/2 inch real to real data tapes). The CPU it’s self was the size of a large cubicle, and had a wire matt (all twisted pairs) on the inside that was over 8 inches deep with no one wire pair going longer than 18 inches. It was an amazing machine, but cantankerous to operate.
I worked on one of those, I still have a PPU memory module somewhere around. I also worked on the CDC 3200,3300, 3600, Cyber 7100 and 7200 all transistor machines
Same here, an old CDC worker. 6000 and 7000 series at Sunnyvale OPS. It was an amazing job and wonderful work environment. Timing was done by changing the length of wires. Rule-of-thumb, 11 inches was 1 nanosecond.
Overclocking that would have been a real pain with shortening a huge number of wires. ;)
Sometime in the mid-1980’s while I was working for Motorola Semiconductor in Phoenix, I got a request to interview for a job at their facility in Austin, Texas. During the interview, the VP for their microprocessor division took me on a tour through their development lab. He showed me a functioning “breadboard” of the new 68030 processor, which was in fact a rack of about fifteen 14″ by 10″ daughterboards mounted to a single motherboard. The boards were packed with through-hole components of all sorts. They were just finishing up testing before committing the design to silicon.
p.s. I got the offer but for various reasons turned it down.
Cool. In the early ’90s, I got to play with the fruits if that labour: the MC68332, at only 1″ square, in Panasonic’s first GSM mobilephone.
Wow. Did not realize it was necessary or even possible to mock-up a chip using discrete components. Even back then.
Today, If one had to do that on today’s chips, I don’t think it would be posible, no?
It’s all done in software now. There is no way it would be possible to make a functioning breadboard of any CPU from the last three decades (my guess). The schematic is way too complex (the breadboard would be huge even with surface mount devices) and the signal paths on a breadboard would be far, far, far too long to meet spec. It would be interesting for somebody to estimate the physical size of a breadboarded current generation CPU.
“and the signal paths on a breadboard would be far, far, far too long to meet spec”
Ofcourse you could run it at a fraction (of a fraction) of the fina clockspeed.
There is a story from the era when DEC was at the same stage in the development of the VAX system but probably a decade or more earlier. They needed to run an emulation of the VAX CPU (32 bit) instruction set on a whole network of PDP-11’s (16 bit). Before they could run the emulation, they had to do a major upgrade of their networking software (named Dec-Net of course) so they could keep the network running reliably for long enough to step the VAX instruction set. They must have been inventive people, God bless’em,
wow that is most definitely the 10th level of hell.
-Moore’s inferno
I have a functional Burroughs B260 CPU (circa ~1960), in my basement. Pure diode transistor logic, no ICs (or tubes). 4k of magnetic core memory. Clock speed of 100 KHz. Weight just over 2,000 lbs…. Those were the days. And no, won’t run Doom.
“And no, won’t run Doom.”
You’re not trying hard enough!
B^)
One of the ways to trouble shoot vacuum tube computers was turn the lights out then open the cabinets and look for tubes that the filaments where burnt out! ( source: worked on B-52 analog flight simulators)
I’ve always wondered, how accurate was the flight model on those? I’m really fascinated by using analog computers for that task.
In 1962, I found a book in my junior high library about building a “computer” from transistors, wires and paper clip switches. Couldn’t afford the parts. Could barely afford the huge overdue fine.
Wow! I’m saving this whole thread. All of your stories are fascinating and could each be a youtube episode by itself. :)
Obviously, the more abilities we put in computers, the more disabilities results in human lives.
All hail the 2N404 abd Wang logic!
My memory is of a television sync generator which was a bunch of counters (made of J-K flip flops) and logic gates. Lots of 2N1303s and 1N270s. And two internal power supplies: minus 12 volts for the collectors and plus 3 volts to bias the transistors off that should be off.
1st computer I operated and programmed was an IBM 1401. I remember it was one of their first “solid state” systems. It was in use till the latter ’70s when IBM dropped maintenance support.
In about 1972 we built a computer from OC71 transistors under the direction of our maths teacher at school. It was 8 bits with 16 registers and one ALU – and it worked! Programmed by switches with output via lights on each bit in the registers. And that was the start of my electronics career.
How many OC71s did you use ?