Earlier quoted context omitted.
It's a wonderful, in fact an astonishing course. I hope that when they come out with part 2, it really does go all the way to Tetris. The "nand" bit is a slight fudge (they actually start you off with both nand and a flip-flop, which is still amazing), but we can grant them a bit of poetic license on that. But not on the Tetris!
I wonder if this had something to do with someone I countered a day or two ago thinking all you needed was a NAND gate to do anything. I said you need memory and some other things for most hardware. Maybe that commenter got the idea from this project's name...
Here's to the systems programmers – Writing Hello World on a home brew CPU
21–30 of 32 posts
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#22Earlier quoted context omitted.
I wonder if this had something to do with someone I countered a day or two ago thinking all you needed was a NAND gate to do anything. I said you need memory and some other things for most hardware. Maybe that commenter got the idea from this project's name...
Note that you can in fact create memory with NAND gates. See https://en.wikipedia.org/wiki/Flip-flop_(electronics)#SR_NAN...
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#23Earlier quoted context omitted.
I wonder if this had something to do with someone I countered a day or two ago thinking all you needed was a NAND gate to do anything. I said you need memory and some other things for most hardware. Maybe that commenter got the idea from this project's name...
Note that you can in fact create memory with NAND gates. See https://en.wikipedia.org/wiki/Flip-flop_(electronics)#SR_NAN...
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#24Earlier quoted context omitted.
Note that you can in fact create memory with NAND gates. See https://en.wikipedia.org/wiki/Flip-flop_(electronics)#SR_NAN...
That's neat. Lets test the rest then. Full claim was a computer needed logic cells, RAM, ROM/flash, and analog components (eg I/O & power-related). Still only need a NAND gate? ;)
logic cells: easy, by universality of NAND.
RAM: distinction between flip flops and RAM is unnecessary from a strictly technical standpoint. a massive (or not so much) array of flip flops with decoder and mux (also just made of NANDs) can get you by.
ROM/flash: maybe I could argue NAND flash counts as just a NAND gate, but not quite. I'll concede nonvolatile memory with just plain old NANDs. May I suggest a https://en.wikipedia.org/wiki/Diode_matrix?
"analog components": having Vcc and ground available is an implicit requirement of having a functional NAND gate, and IO could just be some wires mirroring a memory location.
Overall I'd say its a largely accurate statement. All you need is something to set up your initial conditions (e.g. program in memory).
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#25I really wish he'd document even the barest scraps of the CPU architecture. Is it microcoded? There's 7400 series like 7402 or 7473, and there's 7400 series like 74154, 74181, etc. "hey kid, I built one of these too, back in the day, and it was damn hard and time consuming, but oh a labor of love. I had no internet, nor any schooling. I read articles in Popular Electronics and I read the TI 7400 series databook. Then…
To answer your questions, it's hard wired with the control logic made out of the simpler chips (7400, 7408, 7432 etc) but the rest of the system does contain more complex chips, the 74181 ALUs being the largest.
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#26It sounds cool and interesting but has almost no detail. Come on, Jack! Give us some details, RTL, code, board schematics, whatever. @ All This is how you do homebrew CPU's and presentation best: http://www.homebrewcpu.com/ Links to others for anyone wanting to learn about this stuff: http://www.homebrewcpu.com/links.htm
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#27Earlier quoted context omitted.
That's neat. Lets test the rest then. Full claim was a computer needed logic cells, RAM, ROM/flash, and analog components (eg I/O & power-related). Still only need a NAND gate? ;)
I'll give it a shot :) logic cells: easy, by universality of NAND. RAM: distinction between flip flops and RAM is unnecessary from a strictly technical standpoint. a massive (or not so much) array of flip flops with decoder and mux (also just made of NANDs) can get you by. ROM/flash: maybe I could argue NAND flash counts as just a NAND gate, but not quite. I'll concede nonvolatile memory with just plain old NANDs. Ma…
Things We Actually Did:
Mercury delay lines were tubes full of mercury we sent vibrations through. Those vibrations would reflect around and get detected and read out later. This wasn't, technically, random-access, but it was memory.
Williams-Kilburn tubes were CRTs with long-persistence phosphor, the exact opposite of what display CRTs used, and metal plates on the front to allow the contents of memory to be read out. You could have two identical CRTs, one with the plate to use as RAM and one built into the display panel so the operators could see the contents of RAM in real time.
Core memory was tiny little ceramic ferrite doughnuts woven into complicated metal grids which would change how they were magnetized in response to a sufficient current; their state could be read back out non-destructively, and core was, in fact, nonvolatile. The core modules were woven by hand by women working with microscopes and very steady hands.
Being able to make usable amounts of memory out of components we can just etch into silicon was an amazing advance. Nothing short of revolutionary, really; computers as we know them would be flatly impossible without cheap, plentiful RAM.
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#28Earlier quoted context omitted.
That's neat. Lets test the rest then. Full claim was a computer needed logic cells, RAM, ROM/flash, and analog components (eg I/O & power-related). Still only need a NAND gate? ;)
I'll give it a shot :) logic cells: easy, by universality of NAND. RAM: distinction between flip flops and RAM is unnecessary from a strictly technical standpoint. a massive (or not so much) array of flip flops with decoder and mux (also just made of NANDs) can get you by. ROM/flash: maybe I could argue NAND flash counts as just a NAND gate, but not quite. I'll concede nonvolatile memory with just plain old NANDs. Ma…
I admire your initiative. :)
"logic cells: easy, by universality of NAND."
Got me dead to rights there. Seems to be able to do anything boolean.
"a massive (or not so much) array of flip flops"
http://www.learningaboutelectronics.com/Articles/D-flip-flop...
Close but still need the resistors.
"May I suggest a"
That's not a NAND gate but it's pretty neat. Thanks for that link. Especially as when you posted it I was, in search of esoteric constructions, just discovering and looking at these diode-based works:
https://en.wikipedia.org/wiki/Diode_logic
https://en.wikipedia.org/wiki/D-17B
Note: D-17B is pretty wild in design, appearance, tech, and reliability all at once. Makes me want to try it on 0.35 micron in voter part of lockstep or TMR circuits. :)
"having Vcc and ground available is an implicit requirement of having a functional NAND gate, and IO could just be some wires mirroring a memory location."
Now you're stretching. NAND doing signal conditioning, power regulation, or 2-3 component differential equations is hard to believe. I'm thinking it fails here. I admit I cheated by including an analog requirement but it exists in ever real-world computer (esp SoC) so it seemed fair-ish.
Overall, a high-scoring counterpoint that taught me some useful stuff about NAND gates and old-school ROM. I'm researching both reductionism and old-school techniques in anti-subversion hardware. So, quite relevant. Thanks!
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#29Earlier quoted context omitted.
I'll give it a shot :) logic cells: easy, by universality of NAND. RAM: distinction between flip flops and RAM is unnecessary from a strictly technical standpoint. a massive (or not so much) array of flip flops with decoder and mux (also just made of NANDs) can get you by. ROM/flash: maybe I could argue NAND flash counts as just a NAND gate, but not quite. I'll concede nonvolatile memory with just plain old NANDs. Ma…
We've forgotten how hard of a problem RAM used to be, and how far into the Rube Goldberg we went to solve it. Things We Actually Did: Mercury delay lines were tubes full of mercury we sent vibrations through. Those vibrations would reflect around and get detected and read out later. This wasn't, technically, random-access, but it was memory. Williams-Kilburn tubes were CRTs with long-persistence phosphor, the exact o…
The rope memory I read about studying Apollo and Margaret Hamilton's work. Core I saw a bit of watching videos of Burroughs computers, my favorite, being assembled in factories. It was actually kind of mesmerizing watching that old stuff because you can see all the brilliance and intricacies of the device. Today, it's all hidden behind plastic for anyone except labs (eg ChipWorks) that can pull it out. People say, "Why would I pay (obscene amount here) dollars for this little piece of plastic?" One thing I do is show them pictures of old computers without covers saying "It's basically that... with 10x more components... squeezed into that tiny space. What, did you think squeezing a room full of wiring and components into a tiny space cost a few bucks?"
Re: Here's to the systems programmers – Writing Hello World on a home brew CPU
#30It sounds cool and interesting but has almost no detail. Come on, Jack! Give us some details, RTL, code, board schematics, whatever. @ All This is how you do homebrew CPU's and presentation best: http://www.homebrewcpu.com/ Links to others for anyone wanting to learn about this stuff: http://www.homebrewcpu.com/links.htm
Magic 1 was what inspired me to start the project, I continue to be in awe at the ambition of Bill's project. Watch this space for a more technically focused post.
Only thing was that a HW guy told me the TTL chips he used might be hard to come by. I looked them up and had trouble finding them. So, rather than cloned, the next Magic 1 should be ported use components currently available... preferably 10 year horizon. Also, ideally something fabbed at 0.35 microns or above for visual inspection. Plus realism, as we're practically cheating if you're using deep submicron for "hand-built, old-school" systems.
What kind of primitive components are you using or found consistently available?