Well there is NUMA. When it is used, every core gets a piece of RAM assigned to it. This way exactly what you described happens. One processor will work with RAM assigned to it and another will work with different part of RAM. Some motherboards will not even detect RAM unless there are enough CPUs present to use it all. I don't know if this is the case with computer mentioned here, but if it's workstation level computer, than it is possible.
Another option is memory interleaving. Some computers can access memory faster if memory is "spread apart". The principle is that while one module is executing writing operation, another module can accept commands, so there is no need to wait for writing operation to finish in one module before starting in in another module.
So imagine an array of numbers. Each number represents a memory location. Let's say that in this example oversimplified each location is one byte in size. So if processor needs to write 4 bytes, it will write data to first 4 memory locations. Normally the wold be on same memory module and probably on same memory chip. Computer would need to wait for each writing operation to complete before sending next datum into memory. If interleaving is used, addressed are differently mapped. If we have computer with 4 memory slots, address 1 will be on first slot, 2 on second, 3 on third and 4 on fourth. This way when processor needs to write 4 bytes, it would send them to first 4 memory addresses, but because they are on different modules, it does not need to wait for each write operation to complete. Instead it will send datum to first location and then to second and so on. This way by the time first write operation is over, other 3 are nearing their ends, so data can be written faster into memory.