Actually every program's address space (data and instructions) is split in 4Kb pages (windows and linux). These pages can be anywhere in RAM or even in swap file on the HDD (for minimized/background applications). This includes the HDD cache, although it's exclusively in RAM. So 8KB that an app uses, it's almost impossible to be consecutive in real RAM.
As for how is RAM used, I can say that if you have dual channel, then the sticks are used in paralel (the 4KB pages I mentioned, 2KB in one stick, the other 2KB in the 2nd stick). So instead of reading 4KB from one stick (single channel), you read 2KB from 2 sticks at the same time (almost doubling the speed).
How it's "populated" itself (like 2 single-channel or 4 dual-channel), I have not really checked, but after a few minutes, I'm sure there is almost no single area untouched. Anyway, the paging system is very flexible.