I'm good at programming yet I feel like I don't know enough about the architecture of the hardware I'm working on.
- What does the Northbridge on the mainboard do?
- What does the L2 cache of my processor do? 
- Can Windows XP use multiple processors? Not in terms of concrete multitasking in all programs but using the capacity of all cores if needed instead of always only one core. 
- How can my processor/mainboard interact with multiple kinds of graphics/sound cards?