Moving the data from memory to memory would require either of the following:1) Additional DRAM command ("copy the value of cell XXXX to cell YYYY"), which would increase the cost of DRAMs significantly.2) Additional instruction which would perform a 'read from and then write to memory'. This one would increase the cost of CPU insignificantly, but...

...Both of them aren't very necessary. The only situation where such stuff would be nice is when you need large amounts of data to be copied from one place to another. But that's what (U)DMA is for.