It depends what you mean by put and with. Put where? Also I think you are referring to 1GB and 512MB not 1gb and 512mb which are different. B = byte. b = bit. Memory is normally referred to in bytes so use uppercase B otherwise technically you are wrong. My computer currently has 2.5GB of main memory which is 20Gb of main memory.
Also, my experience mixing memory capacities is that they are more prone to errors. This may be because I mixed brands and not just mix capacities. Just make sure the memory timings are identical on both sticks. There are 5 or more of them to check for (CL, tRCD, tRP, tRAS, tRC). Use CPU-Z to check those for each stick individually.
Currently I am running 2.5GB on a Vista laptop. One stick is 2GB and the other is 0.5GB and it seems to be fine 99.99% of the time but I did get a blue screen once but I dont know what caused it.
Also, you lose dual channel memory mode if the sticks are not identical capacity. This is not a major loss but certain applications can benefit slightly from using dual channel memory.