Any materials (books, videos, courses, tutorials, example codebases) you'd suggest to learn this?
I like the "Write Great Code" series [2], esp. "Understanding the Machine" and "Thinking Low-Level, Writing High-Level". Though I think they miss depth.
[1] https://news.ycombinator.com/item?id=29660117
[2] https://nostarch.com/search/Write%20Great%20Code
* The Elements of Computing Systems [1] * Understanding Computation: From Simple Machines to Impossible Programs [2] * Computer Systems: A Programmer's Perspective [3] * Code: The Hidden Language of Computer Hardware and Software [4]
[1] https://news.ycombinator.com/item?id=26036790
[2] https://news.ycombinator.com/item?id=26040203
https://www.youtube.com/watch?v=36myc8wQhLo
For a theoretical understanding, with a much simpler model, I suggest the Nand2Tetris course.