It's a really neat board. You can get kits from aliexpress etc. I wrote up some notes here https://www.philipzucker.com/td4-4bit-cpu/ . English descriptions are not so readily available.
I love this 4bit "isa" with 12 simple instructions. It makes me want to dig out my old 74x chips from storage and make one. That said, thank God for FireFox Reader mode, on mobile at least the add popups make this excellent blog post unreadable..
These little projects are such a good way to illustrate principles in a concrete way, even if they aren't "useful" in any other regard.
Back in 1983 or so, I had a TI/99 computer and found a BASIC program called "PicoProcessor" in one of the home computing magazines. It emulated a 4-bit microprocessor. It only had a handful of instructions, 16 bytes of memory, and a couple of registers but it was enough to illustrate the concepts of how a processor runs machine code, in a way that was much more understandable than just reading about it.
Could I write any useful programs with it? No. But could I see how a CPU adds two numbers? Yes. And that was enough of an introduction that assembly language was suddenly not so mysterious.
It's a really neat board. You can get kits from aliexpress etc. I wrote up some notes here https://www.philipzucker.com/td4-4bit-cpu/ . English descriptions are not so readily available.
I also had some fun modelling the chips in verilog and model checking a verilog interpreter against them. https://www.philipzucker.com/td4_ebmc/ George Rennie got a similar thing working using the yosys toolchain https://github.com/georgerennie/philip_zucker_sby_demo
Huh, so its isa is just "Dst := Src+Imm", with Dst one of [A,B,Out,PC] and Src one of [A,B,In,Zero]
Plus just a tiny bit of logic that wires in "Carry Flag" when Src=Zero to control Dst=PC
I guess "MOV A,B" sets Imm to zero for simplicity, because I don't see anything stopping it
I love this 4bit "isa" with 12 simple instructions. It makes me want to dig out my old 74x chips from storage and make one. That said, thank God for FireFox Reader mode, on mobile at least the add popups make this excellent blog post unreadable..
Update: I broke down and bought the PDF version, now I need to brush up on my Japanese again. Should be a fun project over the coming rainy days..
These little projects are such a good way to illustrate principles in a concrete way, even if they aren't "useful" in any other regard.
Back in 1983 or so, I had a TI/99 computer and found a BASIC program called "PicoProcessor" in one of the home computing magazines. It emulated a 4-bit microprocessor. It only had a handful of instructions, 16 bytes of memory, and a couple of registers but it was enough to illustrate the concepts of how a processor runs machine code, in a way that was much more understandable than just reading about it.
Could I write any useful programs with it? No. But could I see how a CPU adds two numbers? Yes. And that was enough of an introduction that assembly language was suddenly not so mysterious.
Making a 74 series CPU is on my infinite to-do list.
Last time I tried I ended up getting sidetracked by making a tool to help me. https://fingswotidun.com/PerfBoard/
But at least that's made the job of building a nice compact ALU module much easier. (One of the test boards in the app shows it)
it would be remiss to not mention the most excellent ben-eater's 8bit-computer https://eater.net/8bit and ofcourse the nand-to-tetris book + resources (https://www.nand2tetris.org/)
But why is this always the first comment on custom CPU builds? Can't there also be other designs out there?
i look forward to other resources as accessible to those pointed out. by all means, go for it.
Noone ever mentions this one, but I always found it pretty cool: https://www.donnamaie.com/AMD_2900.html
Because they are both well-known and really well documented in a way that's easy for beginners.
I've been following this series for a while: https://www.youtube.com/playlist?list=PLyR4neQXqQo5nPdEiMbaE...
where can I find the full list of instructions?
From the blog post: https://github.com/wuxx/TD4-4BIT-CPU
https://github.com/dilshan/td4-assembler#supported-instructi...
Nice!