Micro-Operations in Computer Organization: Definition and the Four Common Categories

Micro-Operations in Computer Organization: Definition and the Four Common Categories

Verified Sources
Nov 3, 2026

A micro-operation is a very small action carried out by the CPU on register contents. In typical register transfer language (RTL) descriptions, micro-operations are the “building blocks” used to describe the behavior of a digital system at the hardware level. They are commonly grouped into four categories: register transfer , arithmetic , logic , and shift micro-operations.2

A key intuition: register-transfer moves data; arithmetic/logic/shift change the bit-pattern (and thus the “information content”) in register(s), typically used as inputs to later steps and/or writes back to registers or memory.2

Footnotes

  1. Register Transfer Language And Micro Operations - Defines micro-operations and four common categories; includes examples and shift subtypes. ↩ ↩2

  2. Systems I: Computer Organization and Architecture (CS371) - Provides RTL memory read/write examples and describes the four categories plus shift behaviors (logical/arithmetic/circular). ↩ ↩2

Micro-Operations and Their Types (Register Transfer, Arithmetic, Logic, Shift)

Micro-operations and RTL (why the categories matter)

In many course treatments, micro-operations are described using RTL expressions such as:

  • register transfer: R2←R1R_2 \leftarrow R_1
  • memory transfer examples: Read: DR←M[AR]\text{Read: } DR \leftarrow M[AR] and Write: M[AR]←R1\text{Write: } M[AR] \leftarrow R_1.2

These notations make it easier to see which hardware blocks are involved: multiplexing/buses for movement, arithmetic circuitry (add/sub/increment/decrement), logic gates (AND/OR/NOT/XOR), and shifters/rotators (logical/circular/arithmetic).

Footnotes

  1. Systems I: Computer Organization and Architecture (CS371) - Provides RTL memory read/write examples and describes the four categories plus shift behaviors (logical/arithmetic/circular). ↩

  2. Register Transfer Language (RTL) - Explains RTL as a notation describing data transfers and micro-operations. ↩

  3. Register Transfer Language And Micro Operations - Defines micro-operations and four common categories; includes examples and shift subtypes. ↩

How to interpret RTL-style micro-operations

  1. 1
    Step 1

    The left-hand side (e.g., R2R_2 or DRDR) is what will receive the result.

  2. 2
    Step 2

    The right-hand side will reference one or more registers (and sometimes memory, e.g., M[AR]M[AR]).

  3. 3
    Step 3

    Use the operation type: transfer (←), arithmetic (+, −, inc/dec), logic (AND/OR/XOR/NOT), or shift (shl/shr/ashl/ashr/cir/cil).

  4. 4
    Step 4

    Register transfer mainly moves bits; arithmetic/logic/shift create a transformed value to be stored in the destination.

Four Categories of the Most Common Micro-operations

1) Register Transfer Micro-operations

Register transfer micro-operations move data between registers (and often between memory and registers). They are written in RTL using a replacement/assignment arrow. A typical symbolic example is R2←R1R_2 \leftarrow R_1, meaning “copy contents of R1R_1 into R2R_2.”2

What they do

  • Do not perform arithmetic or bitwise transformation—just route/transfer.
  • Are essential for moving operands into an ALU (arithmetic-logic unit) and storing results.

Common RTL patterns

  • R2←R1R_2 \leftarrow R_1 (register → register)
  • Read: DR←M[AR]\text{Read: } DR \leftarrow M[AR] (memory → data register)
  • Write: M[AR]←R1\text{Write: } M[AR] \leftarrow R_1 (register → memory)

2) Arithmetic Micro-operations

Arithmetic micro-operations perform numeric computation over register contents—such as addition, subtraction, increment, and decrement—producing a new value to write back to a register.2

Examples (symbolic)

  • Addition example: R3←R1+R2R_3 \leftarrow R_1 + R_2.
  • Subtraction is often implemented using complement-based addition in hardware; course notes show subtracting via complement + 1 (2’s complement approach).

What they do

  • Change the information content (unlike pure transfer).
  • Usually feed comparisons, address calculations, indexing, and loop counters.

Where they live

  • Implemented by dedicated arithmetic circuits (typically inside/around an ALU).

3) Logic Micro-operations

Logic micro-operations manipulate bit patterns for non-arithmetic transformations—commonly AND/OR/XOR/NOT types of operations.2

What they do

  • Operate on bits directly (Boolean/bitwise behavior).
  • Are used for masks, flag manipulation, and conditional bit manipulation before/after arithmetic.

Many instructional resources also highlight how logic micro-operations are derived from Boolean functions by substituting registers’ bit-values.


4) Shift Micro-operations

Shift micro-operations shift or rotate the bits in a register, commonly supporting serial movement of bits and integration with arithmetic/logic data processing.2

A standard split includes three shift types:

  1. Logical shift: shifts in zeros; described as transferring 0 through the serial input.
    • R←shl RR \leftarrow shl\,R or R←shr RR \leftarrow shr\,R for left/right logical shifts.
  2. Arithmetic shift: for signed values, maintains sign behavior; described as multiplying/dividing a signed number by 2.
    • R←ashl RR \leftarrow ashl\,R or R←ashr RR \leftarrow ashr\,R.
  3. Circular shift (rotate): wraps bits around ends with no loss of information.
    • R←cir RR \leftarrow cir\,R or R←cil RR \leftarrow cil\,R.

Footnotes

  1. Register Transfer Language And Micro Operations - Defines micro-operations and four common categories; includes examples and shift subtypes. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9

  2. Systems I: Computer Organization and Architecture (CS371) - Provides RTL memory read/write examples and describes the four categories plus shift behaviors (logical/arithmetic/circular). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10

  3. Micro-Operation - GeeksforGeeks - States micro-operations are atomic processor operations and lists the four major types. ↩

Mapping Micro-operation Categories to Typical RTL Intent

Qualitative view of how each category tends to affect data.

Pro Tip: Use “effect on bits” to classify quickly

If the operation is just copying values (e.g., R2←R1R_2 \leftarrow R_1 or DR←M[AR]DR \leftarrow M[AR]), it’s register transfer. If the output bit-pattern is computed (e.g., R1+R2R_1 + R_2, AND/OR/XORAND/OR/XOR, or shl/shr/rotate), it’s arithmetic/logic/shift respectively.2

Footnotes

  1. Systems I: Computer Organization and Architecture (CS371) - Provides RTL memory read/write examples and describes the four categories plus shift behaviors (logical/arithmetic/circular). ↩

  2. Register Transfer Language And Micro Operations - Defines micro-operations and four common categories; includes examples and shift subtypes. ↩

Beware: Logical vs Arithmetic shift behave differently for signed data

Logical shifts introduce zeros, while arithmetic shifts preserve sign-related behavior and are described as multiplying/dividing a signed number by 2. Using the wrong type can break signed computations (e.g., negative values).

Footnotes

  1. Systems I: Computer Organization and Architecture (CS371) - Provides RTL memory read/write examples and describes the four categories plus shift behaviors (logical/arithmetic/circular). ↩

Common follow-ups

Knowledge Check

Question 1 of 4
Q1Single choice

In RTL notation, which example best represents a register transfer micro-operation?