I'm thinking of getting a new PC based on an i7 and Windows 7 x64. I'd like to have 4 GB of RAM per core, for a total of 16 GB, but my (very superficial) understanding of the hyperthreading the i7 performs in conjunction with Win 7 leads me to believe that the OS will see 8 cores, not 4. So, will it only assign 2 GB/"core"?
Yep. There's no set amount of RAM per core; if you're using a single-threaded app that needs 5GB of RAM, it'll get that. If you're running a 4-threaded app that needs 100MB of RAM, it'll get that...
for an i7 900-series on LGA1366, get 12GB. Most motherboards have six RAM slots, and modules larger than 2GB are wicked expensive. And 12GB will be perfectly sufficient unless you have multiple virtual machines or some other extreme usage scenario.
For the LGA1156 i7s, shoot for 8GB or 16GB, whichever is affordable. Either way you should have plenty of memory.
Personally, as a guide, I use at least 1Gb per thread, no real reason, just helps me build my own PC with all the right performance, so, i7 Quad Core with HT means 8 threads, so i'd use 8Gb, doesn't really matter though.
I'd say over 6Gb is overkill for the vast majority of peoples needs atm. 12Gb of ram is not only very expensive, but for normal use (gaming, video encoding, etc) you'd see a better improvement investing the money in a better GPU, SSD or even in RAM with tighter timings.
I had 3Gb of RAM in my i7 920 for a while when i first bought it, and never experienced any problems gaming or encoding. Not saying that 3Gb is ideal, but 12Gb is pure overkill IMO. 6Gb is the sweet spot.
Thanks for all the feedback. I think I'm straightened out now. The question was prompted by an Adobe video I saw demonstrating a feature of After Effects CS5 (a 64-bit app) enabling the user to set the number of CPUs assigned to a render. I can't find the video anymore, but there's a discussion of this feature and its implications here. It made me wonder if the user was selecting real CPUs or threads, and how RAM would be allocated among them. As has been pointed out, normally the OS makes that determination, but AE CS5 also lets the user allocate RAM to the CPUs he's requesting. He can also reserve RAM and CPUs for other applications, in the event he wants to use his PC for other chores during the render. Combined with the ability to offload a lot of rendering tasks to a GPU (clearly a good thing), determining resource allocation in CS5 looks like it can be tricky, but at least users now have the option.