I learned that the CPU is composed of two units

enter image description here

and the machine’s instructions can be categorized into three groupings: (1) the data transfer group, (2) the ­arithmetic/logic group, and (3) the control group.

It could be concluded that Control Unit for the control group and Arithmetic/logic for the corresponding groups

How about the data transfer group? the data reside in register, which of the two units issue store/load command?


You definitely cannot associate a part of the architecture with an instruction class.

  • All instructions are concerned by the control unit as it fetches instructions and decode them.

  • Control instruction mostly concern the controller, but some computations may be done by the ALU. For instance, in branches, addresses are generally given by adding an offset to the program counter and that requires an adder that may be in the ALU. It is the same if a branch instruction has to perform a comparison to decide if branch must be taken or not.

  • once decoded, arithmetic/logic or data transfer instructions mostly concern the ALU part.

By the schematic that you gave (and my explanations) were true 40 years ago. Modern computers are much more complex. Control is somehow decentralized to allow execution of several concurrent instructions, instruction reordering, branch prediction, register renaming, etc. And the ALU is no longer a monolithic bloc but formed of several functional units dealing with specific computation, memory access, etc. You can find here the microarchitecture of a recent pentium (broadwell) and it is difficult to really identify the two units in your schematic.

So even more than in your question, it is impossible to associate an hardware unit with an instruction type.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.