Developer Creates DIY 8-Bit CPU
MaizeMan writes "Not for the easily distracted: a Belmont software developer's hand-built CPU was featured in Wired recently. Starting with a $50 wire wrap board, Steve Chamberlin built his CPU with 1253 pieces of wire, each wire wrapped by hand at both ends. Chamberlin salvaged parts from '70s and '80s era computers, and the final result is an 8-bit processor with keyboard input, a USB connection, and VGA graphical output. More details are available on the developer's blog."
I own a two-bit computer. My dad gave it to me. I know it is two bits because before he gave it to me he would often remark "I hate this ******* two bit computer."
(Yes, it is also reproductive.)
When things get complex, multiply by the complex conjugate.
Sorry, I just had to ask.
Run and catch, run and catch, the lamb is caught in the blackberry patch.
Crysis, OTOH, is fine
The functional components are all off-the-shelf TTL ICs. Of course that's still a big feat, but I was a bit disappointed because I had expected either a more discrete approach or a more integrated "make your own chip" approach.
Another semi-creative way to waste your time. Lovely.
After all, it has to be better than MS-DOS!
There are no perfect answers, only the right questions. More questions at http://foresightandhindsight.blogspot.com/
Not one "but does it run linux" ? I'm sooooo disappointed...
If only I had a time machine and a highly extended lifespan, so I could spare a couple thousand hours on it...
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
built his CPU with 1253 pieces of wire
Farnsworth: Let me show you around. That's my lab table, and this is my work stool, and over there is my intergalactic spaceship. And here is where I keep assorted lengths of wire.
Fry: Whoa! A real live space ship!
Farnsworth: I designed it myself. Let me show you some of the different lengths of wire I used.
Yeah, baby...
Back before the days of the 4004, 8008, and 8080, when we built computers, we REALLY built computers.
None of this: take a pre-built-motherboard, add a pre-built-power-supply, add a pre-built graphics card...
oblig: get off my lawn
Karma: Excellent. 15 moderator points expire sometime.
It is about time that Intel has some competition.
I'e done something like this for a college project, not as complex but we built a 68020 using wirewrap. My only question, why didn't he send away for a PCB after the design was done?
From the article:
"Why did I do all this?" he says. "I don't know. But it has been a lot of fun."
If he'd said almost anything else, I'd have been more impressed. To learn perhaps? To see if I could? Nup. Dunno.
Well in that case according to the article you just spent $1000 and 18 months for nothing? Come on, if you can do this, you can do better at explaining than that!!!
I can just imagine what my wife would think if I launched into doing something like this and couldn't even express why I wanted to do it. (She'd let me, she's great that way but there'd be lots of eye rolling and poking fun at me).
These posts express my own personal views, not those of my employer
All the board level products I designed in the early 90s had to be prototyped with wire wrapping. Even if you are careful, by the time you do hundreds of connections it is almost inevitable there is some flaw. You might miscount a row of pins and attach to the wrong pin. The process of layering multiple connection to a single pin might damage a wire at the bottom. Wires might break or make a shaky connection that comes or goes.
I would not ever want to go back to that, but it did two useful things: The plodding physical process of "I'm now connecting this to that." forced a slow, comprehensive walk through of your design which can reveal design mistakes. The other is honing debugging skills of intermittent problems: "Is this a design flaw or a wire making poor contact?".
This is why "trusted" treacherous computing is doomed. It takes determination to build a simple computer, but once you have one, you can "bootstrap" with it - use it to design a more powerful computer.
Only by hunting down and killing everyone who is even vaguely smart enough to begin build computers could someone hope to make treacherous computing "work". I wouldn't put it past them to try, of course.
... to wire a Beowulf cluster of those...
To have fun is not a good enough reason to do something?
I guess you would be happier if he was just another fat slob who "has fun" by watching American Idol?
This is quite possibly the most asinine comment I have seen on Slashdot in a long time.
Magic-1, a 16-bit TTL-based, wire-wrap PCB computer.
Slashdot posted an article on Magic-1 when it was completed years ago as well.
Site & blog: http://www.mayaposch.com
I remember a grad class that went into circuit design and register transfer language. I was amazed how opcodes could be made to twiddle bits. We just had a software simulator to try our designs -- I admire this guy for building it. Cool!
Never understood by bread boards replaced wire wrap.
There needs to be more Steve Chamberlin's in the world. Personal (or enterprise, for that matter) computing hardware has hit a mass exploitation mark; computers today have such an abundance of resources, storage and processing power, any developer I've had to work with in the last half of decade sees the computer, much like Steve mentioned in TFA, as "...like black boxes... and understand what they do, but not how they do it." which leads to blatant disregard for anything, really sloppy ways of coding and development, zero ideology or best practice on how to truly harness and control resources efficiently. I don't expect anyone to have a physics background or be some die-hard electrical engineer, but there's definitely something to be said for growing up and working with early computer models where you had to give two shakes about that stuff. This is very cool, indeed.
slashdot is really sucking hard these days.
the guy makes an off-the-cuff comment about his motivation, and some braindead moron on slashdot criticizes him for it.
HE MADE A FUCKING COMPUTER, YOU MOUTH-BREATHING DIPSHIT.
of course he had motivation! how could you sum up the motivation in just a couple of words?
what worthless piece of shit you are
This sounds like the kind of project any computer engineering undergrad curriculum would cover. Myself, I have had to design/build 4 different processors of varying complexity (basic mips, pipelined, superscalar, etc) during my years as an undergrad. Its cool nonetheless and by no means "easy".
this is old news for anyone who takes a look at hackaday once in awhile
Sounds like the right mag for this project, though make is the more appropriate one.
I prefer the "u" in honour as it seems to be missing these days.
He didn't say it's a Turing Machine, he said it's Turing-complete, which means that (in theory) it can ran any conceivable program, with the obvious limits of RAM/Disk.
The limits of memory make the proper term "LBA-complete", where the required memory varies linearly with the size of the input, rather than "Turing-complete". But in practice, "Turing-complete" means LBA-complete.
The article mentions "Z-80" among the parts used. The Z-80 itself is an 8-Bit CPU.
The article mentions "Z-80" among the parts used. The Z-80 itself is an 8-Bit CPU.
The blog says "Build the CPU from scratch, primarily using basic 7400-series logic. No 6502, Z-80, etc."
That's the only reference to the Z80 I can find in either the article or the blog.
Back in the '80s there was a rumor of a Russian version of the Apple II with the CPU implemented in wire-wrap, because they couldn't get actual 6502s in Russia.
I tried writing a virtualization in Z-80 assembler of a 32-bit system meeting Microsoft's specifications for Vista.
Unfortunately it couldn't actually run Vista because Microsoft underballed the requirements.
Just look at all the embroidery in a 4-bit CPU.
Some time ago (nearly 10 years - wow!) I made a microcontroller-based homebrew MP3 player: http://codepuppies.com/~ben/sens/pic/mp3 . My big mess of wires was a tiny fraction of the size of his, and it caused me enough headaches - tracking down signal noise, random glitches, etc... Hats off to this guy.
I'd also recommend this book: http://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine to anyone who finds the Wired article of interest. It doesn't get too technical, but it describes the trials and tribulations of bringing a new machine to life, initially on wire-wrap boards - as well as some of the politics involved in a corporate environment.
I've known many engineers like this, forest for the trees folk who can work for years on a sub-assembly and greatly ignore the totality of the project.
An Education is the Font of All Liberty
Can't see the video... 404 compliant.
"Windows: A thirty-two bit extension and graphical shell to a sixteen bit patch to an eight bit operating system originally coded for a four bit microprocessor which was written by a two-bit company that can't stand one bit of competition."
Fact: Everything I say is fiction.
Here is an example of *really* building a computer from scratch ... although he didn't wind the relays himself ...
http://www.electronixandmore.com/project/relaycomputertwo/
What about CP/M? That ran on systems similar to that, and I believe it is open source these days.
I can't seem to find a parts list, but well, I wonder if he used a 74181 Arithmetic Logic Unit and 74182 carry lookahead generator. That would provide quite a few of the arithmetic and logical instructions that one might expect in 8-bit CPUs common in the 1980s in just three packages (the 74181 ALU is a 4-bit ALU, but it can be cascaded, and the 74182 can be used to provide carry lookahead for up to four 74181s). However, you'll also need an instruction decoder, and that, unless you use a programmable logic device of some sort (in which case you're actually doing microprogramming), will need quite a few logic gates...
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
Reminds me of when I had to travel back in time to make sure some woman got hit by a car. Vacuum tubes... THEN I'd be impressed.
Wire wrapped construction was a great step forward in reliability from the solder of the PDP-1 and PDP-6 computers.
One where you had to give a rat arse about the ambient temperature to set the fuel mix, where you had to handcrank to get an idea what compression really means. Real manly brakes, none of this ABS crap that required you to anticipate as it would take a while to bring several tons of metal to a full stop. Etc etc. Personally, I love the modern age, where we can concentrate on what we want to achieve not being limited by the tools.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
The LCD panel on the front of the case probably has more processing power in its internal controller than the rest of this project, heh.
I recall reading about how some of the parts cloned in Soviet Union were so bad that every chip had to be shipped with an "errata" that specifies which instruction(s) are defective and must not be used in writing code for that specific chip...
Not to mention that despite the back lighting, the LCD panel probably uses but 1/100th of the power consumed by all the discrete logic.
ELOI, ELOI, LAMA SABACHTHANI!?
I've done lithography outside of a cleanroom before. The person who ran the facility put it this way (when telling me why they require clean shoes or shoe covers): we don't pretend that this is a cleanroom, but we do try to keep it a not dirty room.
Impressive... in a "wow, that sure took a lot of time" way. Wish I had spare time like that.
He sounds like he probably owns all of the Star Trek series on DVD.
Unbelieveable COOL !. I'm thrilled by the idea people still want to build their own design and put real effort in making it WORK. Congrats and my respect Steve Chamberlin. There is live beyond (W)intel and (L)AMD.
Bach says it all.
Out of curiosity how many FLOPS (floating operations per second) does this processor do? I know it's probably not a lot but I am still really curious. If it doesn't do floating operations then I am still wondering how many integer operations is does. In fact any rough indicator of speed would be nice!
Member of the 7 Digit UID Club