onie wrote
Do we need to register instruction before sending it as ALU control bits, ie, should I add a register to give a cycle's delay before the incoming instruction reaches the ALU? Or should I just take the ALU control bits from the output of 'A' register?
Also, do I need to register writeM?
There are no registers in the CPU except for those that are internal to the A-Register, D-Register, and PC.
All of the (c) control signals shown in figure 5.9, Proposed CPU implementation, are generated with combinational logic from 'instruction' and ALU 'zr' and 'ng'.
For some of the control signals it is important whether an A-instruction or C-instruction is being decoded. Others, like the ALU command can be directly connected to 'instruction' since the ALU's output is ignored during A-instructions and only stored during C-instructions.
--Mark