Ask HN: What are the layers of computing from atoms to UI?
Does anyone know of a good list of the many, many layers of computing systems?
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). 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! It still feels like magic, so I'd be interested if someone has a good link for a refresher. Von Neumann arch just means that the program exists in the same storage as the data being processed. Harvard is the opposite. Many Micro controller systems are Harvard. Check out "NAND to Tetris": Physics -> Electrical Devices -> Gates -> Logic Circuits -> Micro Architecture -> Architecture -> Operating Systems -> Application Software Hugin and Munin (not the longest list but universal for meatware and siliconware). Huh? link?