Instructions "execute" (store their result in RAM/register) at the end of their clock period. During the clock period, the instruction is read from ROM, decoded, and the control signals generated. As you observed, it takes time for all that combinational logic to function. In the real world the control signals can be rather glitchy while that happens, but eventually they stabilize. The length of time this takes limits the maximum clock rate.
One of the hardware engineer's tasks is to determine what the
worst case propagation delay is for instruction read and decode, and specify the maximum allowable clock rate.
Here's a break down of what needs to happen in what order for @6 to be decoded and executed:
1.0 A-register, D-register and PC are clocked. (@5 executed)
( A-reg 'in' should now be considered unstable.)
1.1 new PC value sent to ROM.
1.2 ROM sends 6 to CPU 'instruction'.
1.3 CPU sets control signals for A-register input mux 'sel' and A-register 'load'.
1.4 A-reg input mux sends 'instruction' (6) to A-reg 'in'.
(A-reg 'in' is now stable.)
2.0 A-register, D-register and PC are clocked. (6 written to A-reg)
You might find
this post interesting.
--Mark