hi moi
yes,you need to buy the memory that your pc supports so your first port of call should be the memory scanner at http://www.crucial.com/uk/?click=true
use the crucial system scanner and this will return a report on the correct memory to use for your particular pc
then you can either buy directly from crucial or purchase your memory from another online pc retailer
so as soon as you discover which memory you need you can then look for the best and most compatible memory for your p.c
personally i allways buy my memory from http://www.ebuyer.com/store/Components/cat/Memory---Desktop,as they are the cheapest and i have never had any problems with bad memory ,and also they deliver very quickly,for example i ordered a product on the wednesday on a standard delivery(3 to 5days) and it was delivered dinnertime on the friday
and for 4gb of memory you will be looking at around £40 for a decent kit,for example the "Corsair 4GB Kit (2x2GB) DDR2 800MHz/PC2-6400 XMS2 Memory Kit CL5"( http://www.ebuyer.com/product/130429 ) is only £37 and corsair are one of the best memory manufactuers there are
another manufactuer worth considering are OCZ and a excellent kit is the "OCZ 4GB (2x2GB) DDR2 1066MHz/PC2-8500 Gold Memory",these are popular with hardcore gamers for their reliability
any problems let me know
good luck mate !