Whenever CPU needs the data, it gives the address of that word to the RAM via bus, then the RAM generated the copy of that word and sends to the registers via bus. Why can't the RAM send the original data instead of the copied data? Are there any disadvantages of storing original data or reference in registers?
2$\begingroup$ What’s the difference between original and copy? $\endgroup$– gnasher729Sep 7, 2020 at 15:48
$\begingroup$ I mean it copies the data to the registers, instead of directly transferring(moving) data to the register $\endgroup$– vinterSep 7, 2020 at 15:55
$\begingroup$ Data ends up being voltage potential on the wire, whether the original latch gets cleared or not doesn't matter and often not clearing ends up cheaper $\endgroup$– ratchet freakSep 7, 2020 at 15:59
$\begingroup$ @ratchetfreak can you please elaborate it. I didn't get that. $\endgroup$– vinterSep 7, 2020 at 16:19
1$\begingroup$ @vinter look up how logic gates and sRAM work you'll find that "move" isn't a thing, at best you can find a destructive read but that is in dRAM $\endgroup$– ratchet freakSep 8, 2020 at 8:23
This question illustrates a lack of understanding of fundamentals. What does moving mean!?
The RAM stores data in transistors. Do you want a little robot to pick up the specific transistors you want out of the RAM chip and deliver them to the CPU? I hope it is obvious why that is not possible.
Instead, an electronic circuit (which those transistors are part of) looks at whether those transistors are on or off. This causes an electrical signal to be sent to the CPU which updates some of its own transistors according to the electrical signal.
The question is akin to: "Whenever I need my friend's phone number, I copy it from my brain into my phone. Why can't my brain send the original data instead of making a copy?"
There are computer memory implementations allowing destructive read-out, only, starting with (ferromagnetic) core memory and (single-transistor)DRAM: these transfer information from an array of low cost memory cells to some static circuitry, provide it at the output(s) and usually write it back into that array cell.
Without that write-back, I guess one could claim data was transferred rather than copied - I can't remember a memory interface standard specifying destructive read (allowing lower read cycle times).
Not all information has discrete values (and "analogue" computers handle non-discrete values, if not signals):
Information was definitely transferred rather than copied in charge-coupled devices.