Book Recommendation? -- How computers / processors work I'm familiar with basic, high-level programming (e.g. C) and the principles behind compilation, operating systems, etc. I'm also familiar with the basics simple electronics, e.g. circuits, transistors, simple logic gates, etc. The space between these levels is a complete mystery; a magical black-box. Does anyone have a book recommendation to fill in this (massive) gap? I'd like to understand how simple circuits are built into processors, processors into computers, and perhaps how the high-level software code is translated into lower-level hardware-minded code. I'm a physics graduate student, so I think I can handle a good amount of technical language and detail -- but perhaps not a full EE or CE level of it. Thanks for your recommendations!