For me, I only really got it after I had taken all three courses:
- Machine Language
- Compiler Construction
- Operating Systems
Just after that, a bunch of lightbulbs started to fire off. I think the NAND to Tetris approach is really great in this regard. It's designed to be the place where it all comes together for a Comp Sci person.
http://video.google.com/videoplay?docid=7654043762021156507