There is a book "The Elements of Computing Systems: Building a Modern Computer from First Principles"[0] that is often called "From NAND to Tetris". This has you building a computer simulator from the ground up (NAND to Tetris). There is a website[1] and a Cousera course[2]. And a TED talk[3].
[0] https://www.amazon.com/Elements-Computing-Systems-Building-P...
[1] http://nand2tetris.org/
[2] https://www.coursera.org/learn/build-a-computer
[3] https://www.ted.com/talks/shimon_schocken_the_self_organizin...