Register transfer operations enable data transfer between various blocks connected to the common bus of CPU. We have several registers inside CPU and it is needed to transfer information from one register another. As for example during memory write operation data from appropriate register must be moved to MDR.
Since the input output lines of all the register are connected to the common internal bus, we need appropriate input output gating. The input and output gates for register Ri are controlled by the signal Ri in and Ri out respectively.
Thus, when Ri in set to 1 the data available in the common bus is loaded into Ri . Similarly when, Ri out is set to 1, the contents of the register Ri are placed on the bus. To transfer data from one register to other register, we need to generate the appropriate register gating signal.
For example, to transfer the contents of register R1 to register R2, the following actions are needed:
- Enable the output gate of register R1 by setting R1out to 1.
-- This places the contents of R1 on the CPU bus.
- Enable the input gate of register R2 by setting R2 in to 1.
-- This loads data from the CPU bus into the register R2.