One of my life goals is to really just learn how a computer works. I want to learn all the mathematics it takes to understand how a computer works, i want to know the history of it, i want to basically go back to first principles of how a computer works and understand how it evolved into it's current state. I want to know how the hardware interacts with the software, i want to understand how the software interacts with the hardware. How is it that we can "program" silicon to do all these amazing things? (obviously i have no idea what i'm talking about but to the layman that's what it seems) How long will it take an average person to learn this?