A 32-bit system can only use 32-bits to reference a memory address. So a 32-bit system can theoretically reference 4,294,967,295 addresses which would allow in reality it to reference just over 4gbs of memory. Pretty much every component in a pc needs to be assigned memory addresses by the OS...