What determins the amount or RAM you can upgrade your computer with? Isn't it something about cache?

How many harddisks does a computer support? Do include external harddisks...

Just give me a geeky answer...I can handle it...