In a simple architecture(not considering parallel architecture) how exactly this can be performed in a single clock cycle: P:R1 <- R2, R2 <-R1 where R1 and R2 are registers and P is a control variable.
I do not exactly understand when does this microoperation gets completed on the rising edge of the beginning of the cycle or just before clock transition.