Does anyone know of a good list of the many, many layers of computing systems?<p>I am looking for a list that includes everything such as atoms, transistors, firmware, OS layers etc..
I assume you're asking about classical Von Neumann or ARM architectures and not something else more exotic. I think you'll want to check out a course on Computer Architecture, to understand the basic building blocks of classical computing - from transisters to logic gates, registers and memory chaches, binary processing, instruction sets, machine and assembly programming to higher level programming languages. I think at the transister level and below (to the atomic level - the shrinking and increasing of the speed of transisters that's been a driving force behind Moore's law, bridges into the field of materials science).<p>I took a course a few years ago - and forgotten most of what I learned, but at one point in time I did have a basic understanding of the full chain from basic building blocks to a general computing architecture that a human can interface with to execute a virtually infinite number of computations was once. Writing programs in assembly was particularly enlightening - you can trace assembly dirrectly to hex and individual bits!<p>It still feels like magic, so I'd be interested if someone has a good link for a refresher.
Check out "NAND to Tetris":<p><a href="https://www.nand2tetris.org/" rel="nofollow noreferrer">https://www.nand2tetris.org/</a>