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.
The functional components are all off-the-shelf TTL ICs.
Well, he is only one person, after all. Even if he was studly enough to build it from vacuum tubes, he probably wouldn't be winding his own filaments.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Why does this question keep coming up? Of course it does. It's turing-complete, so it's just a matter of writing the software. Not for the impatient users, obviously.
That's the way it used to be done: I wouldn't claim that DEC engineers did not "make" the PDP-1 because it was constructed from wire-wrap discrete components. The only other sensible option for someone who wants to "make" their own CPU at home would be to program an FPGA, which is certainly less interesting than what this guy has done.
Uh, maybe not. :-)
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.
According to the fine article it has a 24bit address bus and an 8bit data bus, but presents everything via. a 16bit ISA. It's a bit like a 8088.
Of course the ISA is probably nothing like an x86, so it still wouldn't run [MS|PC|DR|Free]-DOS anyway. Apparently it does have a C compiler, so perhaps you could port Bochs or Qemu to it and then run DOS on that. Emulated. On a TTL CPU running at 2Mhz (2Mhz slower than the original IBM PC). Maybe not then.
Syllable : It's an Operating System
It is about time that Intel has some competition.
Well, your response applies slightly more to Linux (one would just have to implement a Linux kernel on the 8-bit CPU, which isn't likely to happen to anytime soon) and doesn't really apply to Vista at all. MIcrosoft would have to implement Vista, and unless there is sufficient market demand for this 8-bit CPU, they'll never do it, since the incentive for them to write an 8-bit Vista is approximately zero.
While it may be possible to write a Linux kernel for an 8-bit processor, this, too, is not likely, at least not a complete Linux kernel. Linux was pretty much designed and written from the ground up on a 32-bit processor with built-in low-level support for multitasking.
So, IOW, while you are theoretically correct, from a practical standpoint implementing Vista or Linux or any other modern OS, with the exception of FreeDOS, is virtually impossible. Hence, the GP's joke retains its original humor.
My blog
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?".
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'm gonna get off his lawn for sure!
My blog
any Turing machine can emulate any other. an 8 bit CPU can do a 128 bit calculation, it just has to do it in small steps. you would probably need a lot of disk space.
for example you store on disk the input and output of every transistor in a core2duo. then you iterate through each transistor and set the output according to the input. it may take a billion clock cycles to emulate one core2duo clock cycle, but its possible.
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.
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".
Good enough for Space Invaders.
Love many, trust a few, do harm to none.
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.
Which is only logical, given that no version of Windows was developed to run on 32 bit or 64 bit CPUs either. Which versions of Windows were designed to crash on various CPUs is another matter ;-)
(Lighten up over-sensitive Windows Weeinie's with mod points. It is a joke)
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
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.
Clean rooms are needed at some level. Cleanliness is the key factor. If you're doing this in a garage workshop you'll not be doing 45nm process. You'll be closer to 45um (1/20mm), along the lines of the medium scale and large scale integration done in the '60's and '70's. If you're willing to accept losses and low yield, you can accomplish this using simple bench top equipment. Having done something similar in a university lab back in the '80s, I can assure you it CAN BE DONE.