[Donn] wanted know exactly what is going on inside of a processor so naturally he built a CPU out of TTL components. He had previously built a couple of versions of a computer based on the Z80 processor. Using the troubleshooting skills he learned and a second-hand textbook, he set to work using 74LS series chips connected using the wire-wrap method we’re familiar with from other cpu projects.
The finished product runs well at 1.8 megahertz, but he also included a 2 hertz clock and a step clock for debugging. At the slower speeds, the register board (seen at the left in the picture above) lights LEDs and can be used to tell what the CPU is currently working on. Programming is accomplished through either a dumb terminal or a PC running a terminal emulator.
His writeup is from about five years ago but that didn’t prevent us from getting that fuzzy feeling in the geek-center of our brain when we read about it. It is well written and thorough so if you’re into this kind of thing there’s plenty to enjoy.
[Thanks Raleigh]
omg not a hack!!! less software news!!! whar the arduino!!!
kidding, kidding :p
I kinda want to do something like one of these, but not if it means doing that much wirewrap :\
@nave: FPGA? Or get some cheap boards made?
so old
Two thumbs up.
I love projects like this.Kinda reminds me of some led array board projects I’ve done by hand along with the TTL control logic I wired with point to point boards.the circuit layout also reminds me of some of the discrete Logic boards in the DEC processor cards i have seen in some older mainframes.
Good Job!!! keep it up.
I wanted to make a cpu from ttl chips when I was a kid… maybe should have!
Very old, but that page was my inspiration to get started on a project similar to this probably a year or so ago. Which reminds me, I still need to continue work on that…
Awesome project! Sometimes I dream of implementing a microprogrammed CPU, but I’m too lazy and FPGA-spoiled. Something like Wang 2200 would be interesting.
@Chris_C, not all is lost yet, go for it :)
What the heck could be the advantage of that much wirewrap?
“Well, that is a neat project. It totally reminds of this one time I did X because I am so awesome that I could Y. Next time however, I would recommend Z’ing it like I plan to do to have a truly noteworthy hack.”
If you ever wanted to entertain yourself (suffer through) making one of these then go take a college class on digital logic; we made pretty complex stuff with just nand gates… lots and lots of nand gates…
I work in a steel plant which uses a TTL based computer system to perform metallurgical calculations, handles 32 interactive Terminals, 20 non-interactive terminals, 15 printers, 10 serial connections to plc and other systems and several digital i/o.
And that with 2 Megabytes of memory and 8MHz clock speed.
Awsome machine entirely built out of TTL circuits, the most complex one being an 74181 4-bit ALU. (ok maybe the UART chips used are more complex, but they’re only a peripheral :))
The machine is in use since 1979 and is still working like a charm.
I’d love to implement this thing into an FPGA…
@xrazorwirex:
College-level Digital Circuits is awesome. :)
I’m a lab assistant for that class(among others) and I have to say it’s one of my favorites. The things you can do with basic logic chips never ceases to fascinate me.
This makes me want to do something similar… I’m going to dig out my Digital textbook and see what I can come up with. :P
1337
Very nice! I’ve also seen some nice analog circuits that did this same thing. You usually see them along with old S100 bus docs.
If you have never wire-wrapped a logic system with only old-school logic chips then you just would not understand. These days all the jaded kids say “FPGAs are cheap and easy” and you are right, I agree life is good :-) However, wire wrap was a beautiful thing, there is a reason NASA used in on the space shuttle. Kudos sir, an exquisitely ancient hack to remind of us an era bygone.
Welcome to 1968!
Good way to show you understand better than most how a CPU works. Gate-level logic construction; a lost art.
http://www.cca.org/tech/rcs/pdp12.html
I owned a few of these in the past, that’s where you can really get some appreciation for wire-wrapping and detailed logic. And core memory!
Among other features were the front panel with a separate light for EVERYTHING (not like the PDP-8/e which used a single row of indicators and a rotary selector so you could only see one “batch” at a time) and fully variable speed from one instruction per minute or whatever up to full, and with LINC mode it could boot from a magnetic tape with a single command from the front panel.
The CRT tube (worked like an oscilliscope, all text characters had to be “Drawn”) could be used as a “terminal display” with only the keyboard of the usual printing terminal (teletype) used for input, saves a lot of paper that way!
Being a “lab” machine it had A/D and D/A connections plus binding posts to six SPDT relays
which also each had their own indicator lights on the panel!
Great old systems, wish I still had one just to show the fancy-pants kids…
Congratulations. The next step is logical, RTL logic in a 2 bit system, with 5 instructions.
how do you get 5 instructions into 2 bits with only 4 possible values?
kedavis, you are right :) I was just wondering what is the absolute minimum number of bits, and instructions for a system?
I’d say the Intel 4004 provides the best example for that. Most people don’t even know the 4004 ever existed, but most people these days probably don’t know about the 8008 or 8080 either, maybe not even the Z80 at this point. 4-bit architecture gives the flexibility to deal with 8-bit bytes somewhat easily and to use some bits to indicate that an instruction is longer than just one “word” or byte without using up the whole thing.
http://en.wikipedia.org/wiki/Intel_4004
Interesting reading!
Actually I learned on the 12-bit DEC PDP-8/L and I don’t think it had 56 separate instructions. But it didn’t have as many registers as the 4004 either.
Let’s see…
0, 1, 2, 3, 4, 5, and 6 were both basically instruction ‘groups’ with either a memory address or device code. Only group 7 was separate operations, and there weren’t very many of them.
Seems to me that having 56 instruction like the 4004 would have been a step UP… Then again the PDP-8 existed since the early 1960s, or even earlier if you include the predecessor PDP-5.
Kedavis, look at this gem: http://en.wikipedia.org/wiki/7400_series. Scroll down to History section and look at this image: http://en.wikipedia.org/wiki/File:YUNTEN.gif. Four bits, 6 instructions. Makes me happy every time I see it :)
but it can’t DO anything. and why have a “return from interrupt” instruction in the middle of that nothing?
I guess it would be funny to do the same thing with brains.
MCscrewdriver
Take a look at Prof. Douglas Jones’ Ultimate RISC (http://www.cs.uiowa.edu/~jones/arch/risc/). This computer has only one instruction – MOVE. Even with that limitation, this is actually a practical computer and can do pretty much whatever any other computer can do.
In his paper, Dr. Jones describes several commercial computers which came close to his Single Instruction Computer.
Search Google for SISC, Single Instruction Set computer or OISC for more about computers which had only one instruction.
Art
>kedavis, you are right :) I was just wondering >what is the absolute minimum number of bits, and >instructions for a system?
>
>Posted at 10:26 am on Nov 2nd, 2009 by >MCscrewdriver