Good morning,

I want to deepen my knowledge about computing, but I don't know where to start.
I program in C (not professionally), and my knowledge of C is self-taught.
But I want to deepen my knowledge about how a programming language works, i.e., how a compiler works (specially the compilers of C).
I want to be able to comprehend, in general, how a computer (the software part) works.

Where should I start and how should I proceed?

Thank you in advance.