Hacker News new | ask | show | jobs
by PossiblyKyle 1244 days ago
This gets brought up every time the topic shows up but https://www.nand2tetris.org is a course that abstracts how a computer works, and is worth checking out
2 comments

Is there a version of something like this that’s purely software?

Like, emulate gates and keep building bigger pieces until you have a function that’s a CPU. Etc.

I guess I’m thinking a bit more lower level than an emulator where you implement an opcode using normal capabilities of your language of choice.

I guess TFA is pretty close to this in ways, too.

I have been building a CPU using: https://github.com/hneemann/Digital

Much faster than Logisim, UI a little clunky, but my CPU runs around 0.5Mhz and it has very nice peripherals like Telnet, graphics ram, VGA etc

Terrible name that is hard to google, but great tool.

Yeah. There this book which uses Haskell based Clash to build up simple CPUs, a VGA controller and other peripherals.

hardcover:

https://www.lulu.com/shop/gerg%C5%91-%C3%A9rdi/retrocomputin...

or digital:

https://leanpub.com/retroclash/

Oh that’s exactly what I was hoping for! Thank you!
The great Niklaus Wirth wrote a book which you might want to check out: Digital Circuit Design for Computer Science Students: An Introductory Textbook.
In college, we wrote a CPU simulation in C, for a simple architecture called "little computer". You could call it an emulator, but the whole idea was to faithfully implement all the pipelining and register renaming and stuff. A main loop iteration was equivalent to a clock cycle.
Worth a mention: https://turingcomplete.game I've played for a few hours, it's well made!
Mvp, thanks for sharing