I've seen a few lectures interchangeably use the two words (microinstruction and microoperation). I've found a source that explains the difference between a microoperation and microinstruction, but I have not been able to associate the two to a control word. Books I have referred to have provided definitions of each, but no explanation about the relation amongst the three.

Edit: Could I also get a few examples to help differentiate the three ?


In traditional horizontal microcode,

  • a micro-operation is the most basic operation achievable by a processor;
  • a micro-instruction is a set of micro-operations which are executable simultaneously;
  • control words are the bit patterns used to encode the micro-instructions.

Micro-operation is also used in current pipelined processors where an instruction is decomposed in a few (included zero) micro-operations or even a few instructions merged in one micro-operation which are then processed independently.

Control word is a far more general term and can refer to any bit patterns used to control any circuit. Its use for the encoding of micro-instructions come from the fact that horizontal micro-code is usually lightly encoded if at all, and thus fields in the encoding control directly parts of the processor. From there it went to be used for the encoding of any kind of micro-instructions. BTW, the area where the micro-program is stored is often called the control store.

  • $\begingroup$ There are even cases where two operations are fused into one micro op. And the case that a nop is translated into zero micro ops. $\endgroup$
    – gnasher729
    Dec 2 '19 at 13:35
  • $\begingroup$ Could I say that a micro-operation is the operation performed by a single control signal ? For ex: Say an instruction has the control signals <PCin, Rout> be performed at a particular time. Then, could I say that the "operation" performed by PCin and Rout is a microoperation and the signals that perform PCin and Rout are control signals and <PCin, Rout> is a microinstruction ? $\endgroup$
    – mahesh Rao
    Dec 2 '19 at 15:54
  • $\begingroup$ @maheshRao, Consider the case where you have an alu controlled by several lines. You'll probably want to consider one micro-operation for the whole set, especially if some combinations do not make sense. $\endgroup$ Dec 2 '19 at 16:07
  • $\begingroup$ @AProgrammer, Just to be clear, Assume the control signals that allowed the ALU to perform an addition of two operands and produce an output at a particular time are enabled (lets call them X, Y and Z for convenience). Is a mico-operation the set of control signals X,Y and Z ? If they are, then could I say that a micro-instruction are two or more sets of control signals (say {X,Y,Z} and {A,B,C}, again for convenience) that can be enabled simultaneously ? $\endgroup$
    – mahesh Rao
    Dec 2 '19 at 16:30
  • $\begingroup$ @maheshRao you can see it that way. I tend to have a more abstract view of what are a micro-operation and micro-instruction and then see an encoding applied to that abstraction. $\endgroup$ Dec 2 '19 at 20:08

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.