CSE211: COMPUTER ORGANIZATION AND DESIGN
Logic Micro-operations
Introduction
As you know, a computer works on instructions. Our systems consist of machine
instructions to perform some operations like add, subtract, multiply, divide etc. To
perform these operations, the system stores the data in registers. Now, to operate
this data, the CPU has micro-operations. A micro-operation is a simple operation
performed on the data stored in one or more registers. They transfer the data
between registers. There are four types of micro-operations:-
Register micro-operations
Arithmetic micro-operations
Logic micro-operations
Shift micro-operations
What are Logic Micro-Operations?
Logic micro-operations are used on the bits of data stored in registers. These micro-
operations treat each bit independently and create binary variables from them.
There are a total of 16 micro-operations available. This are shown in the truth table.
Before discussing these logic micro-operations, let’s discuss their truth tables.
The below diagram shows the truth table for all the 16 logic micro-operations
mentioned above. Here, x and y are the variables or registers in which the data is
stored and F0, F1, ….., F15 are the outputs that occur after performing these logic
micro-operations
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Now, we will discuss these logic micro-operations one by one.
1. Clear
The Clear logic micro-operation is used to clear the register or set the bits of the
register to 0. To use this micro-operation, we need to feed 0 to the register. In the
above truth table, F0 represents the truth table of Clear logic micro-operation.
For example, F <- 0 means the value of the register F is set to 0 or is cleared. The
previous value of register F will be removed.
Boolean expression-
The boolean expression for the Clear logic micro-operation is F0 = 0
2. AND
The AND logic micro-operation performs the logical AND between the bits of the
data stored in the two registers. The symbol to represent the logical AND is ∧.
Case 1: Both x and y values are true.
In the first case, if the values of both two registers are true then the result of AND
operation is 1; else, it is 0. F1 represents the truth table of AND logic micro-operation
in the above truth table.
For example, F <- A ∧ B means the registers A and B value will undergo AND micro-
operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the AND logic micro-operation will be F1 = x.y
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Case 2: x is true, and y is false.
The logical AND operation we discussed above gives output 1 when both x and y
are true. There is also another AND operation which includes x but not y. Also
known as inhibition, here for performing the AND operation, the first value is taken
from the x variable or register. The second value is taken as the complement of the y
variable or register. If the value of the x register is true and of the y register is false,
then the result of AND operation is 1; else, it is 0.
F2 represents the truth table of inhibition AND logic micro-operation in the above
truth table.
For example, F <- A ∧ B’ means the value of the registers A and complement B will
undergo AND micro-operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the AND logic micro-operation will be F2 = x.y’
Case 3: x is false, and y is true.
The third case of logical AND operation includes y but not x. Also known
as inhibition, here for performing the AND operation, the first value is taken as
the complement of the x variable or register, and the second value is taken from the
y variable or register. If the value of the x register is false and of the y register is true,
then the result of AND operation is 1; else, it is 0.
F4 represents the truth table of inhibition AND logic micro-operation in the above
truth table.
For example, F <- A’ ∧ B means the value of the complement register A and as it is B
will undergo AND micro-operation, and the output will be stored in register F.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Boolean expression-
The boolean expression for the AND logic micro-operation will be F4 = x’.y
3. Transfer A
The Transfer A logic micro-operation transfers the contents of register A (first
register) to the output register.
F3 represents the truth table of Transfer A logic micro-operation in the above truth
table. Since there is a transfer of data from the first register to the output register in
this micro-operation, its truth table is the same as the taken values of the x variable
(0, 0, 1, 1).
For example, F <- A means the value of register A is moved to register F. The
previous value of register F will be removed.
Boolean expression-
The boolean expression for the Transfer A logic micro-operation is F3 = x
4. Transfer B
The Transfer B logic micro-operation transfers the contents of register B (second
register) to the output register.
F5 represents the truth table of Transfer B logic micro-operation in the above truth
table. Since there is a transfer of data from the second register to the output register
in this micro-operation, its truth table is the same as the taken values of the y
variable (0, 1, 0, 1).
For example, F <- B means the value of register B is moved to register F. The
previous value of register F will be removed.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Boolean expression-
The boolean expression for the Transfer B logic micro-operation is F5 = y
5. Exclusive OR
Also known as XOR, this logic micro-operation performs the logical XOR between
the data bits stored in the two registers. The logical XOR means either x should be
true or y but not both. The symbol to represent the Exclusive OR is ⊕.
F6 represents the truth table of Exclusive OR logic micro-operation in the above
truth table. The output will be 1 when either x =1 and y = 0 or x = 0 and y = 1.
For example, F <- A ⊕ B means the registers A and B value will undergo XOR micro-
operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the Exclusive OR logic micro-operation will be F6 = x.y’ +
x’.y
6. OR
The OR logic micro-operation performs the logical OR between the data bits stored
in the two registers. The symbol to represent the logical OR is ∨.
Case 1: Either x or y or both x and y values are true.
In the first case, if either the value of x register is true and y register is false, or the
value of x register is false, and y register is true, or both the values of x and y
registers are true, then the result of OR operation is 1 else it is 0. F7 represents the
truth table of OR logic micro-operation in the above truth table.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
For example, F <- A ∨ B means the registers A and B value will undergo OR micro-
operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the OR logic micro-operation will be F7 = x + y
Case 2: If y, then x else not.
In the second case, the output for 1 follows the condition that
If the value of the y register is true, then the value of the x register must be
true. If this condition is satisfied, then the output is 1.
If the value of the y register is false, then we don’t need to look for the value
of the x register, and the output is 1.
Else the output is 0.
To perform this logic micro-operation, we need to perform the logical OR of the
values of the x register and the complement value of the y register.
In the above truth table, F11 represents the truth table of this logic micro-operation.
For example, F <- A ∨ B’ means the value of the registers A and complement B will
undergo OR micro-operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for this OR logic micro-operation will be F11 = x + y’
Case 3: If x, then y else not.
In the second case, the output for 1 follows the condition that
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
If the value of the x register is true, then the y register's value must be true. If
this condition is satisfied, then the output is 1.
If the value of the x register is 0, then we don’t need to look for the value of
the y register, and the output is 1.
Else the output is 0.
To perform this logic micro-operation, we need to perform the logical OR of the
complemented value of the x register and the value of the y register.
In the above truth table, F13 represents the truth table of this logic micro-operation.
For example, F <- A’ ∨ B means the complemented register A and B value will
undergo OR micro-operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for this OR logic micro-operation will be F13 = x’ + y
7. NOR
The NOR logic micro-operation is simply the opposite of OR logic micro-operation.
As the name suggests, it is Not OR. The output of OR micro-operation is 1 when the
value of either x register or y register or both x and y registers are true. In contrast, in
NOR, the output is 0 when the value of either x register or y register or both x and y
registers are true, and it is 1 when both x and y registers are false. In the above truth
table, F8 represents the truth table of NOR logic micro-operation.
For example, F <- (A ∨ B)’ means the registers A and B value will undergo NOR
micro-operation, and the output will be stored in register F.
Boolean expression-
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
The boolean expression for the Transfer A logic micro-operation is F8 = (x + y)’
8. Exclusive NOR
If we perform the Exclusive NOR micro-operation, the output will be 1 when the
values of both the x and y registers will be the same. They can be true or false, but
they have to be the same.
F9 represents the truth table of Exclusive NOR logic micro-operation in the above
truth table. The output will be 1 when either x = 0 and y = 0 or x = 1 and y = 1.
For example, F <- (A ⊕B)’ means the registers A and B value will undergo Exclusive
NOR micro-operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the Exclusive NOR logic micro-operation will be F9 = x.y
+ x’.y’
9. Complement B
The Complement B logic micro-operation transfers the complemented contents of
register B (second register) to the output register. First, the content of the register is
complemented and then moved to the desired register.
In the above truth table, F10 represents the truth table of Complement B logic micro-
operation. Since there is a transfer of complemented data from the second register to
the output register in this micro-operation, its truth table is just the opposite of the
taken values of the y variable (1, 0, 1, 0).
For example, F <- B’ means the complemented value of register B is moved to
register F. The previous value of register F will be removed.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Boolean expression-
The boolean expression for the Complement B logic micro-operation is F10 = y’
10. Complement A
The Complement A logic micro-operation transfers the complemented contents of
register A (first register) to the output register. First, the content of the register is
complemented and then moved to the desired register.
F12 represents the truth table of Complement A logic micro-operation in the above
truth table. Since there is a transfer of complemented data from the first register to
the output register in this micro-operation, its truth table is just the opposite of the
taken values of the y variable (1, 1, 0, 0).
For example, F <- A’ means the complemented value of register A is moved to
register F. The previous value of register F will be removed.
Boolean expression-
The boolean expression for the Complement A logic micro-operation is F12 = x’
11. NAND
The NAND logic micro-operation is simply the opposite of AND logic micro-
operation. As the name suggests, it is Not AND. The output of AND micro-operation
is 1 when the value of both the x register and y register is true. In contrast, in NAND,
the output is 0 when the value of both x register and y register is true, and it is 1
when either x is false, or y is false, or both are false.
In the above truth table, F14 represents the truth table of NAND logic micro-
operation.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
For example, F <- (A ∧ B)’ means the registers A and B value will undergo NAND
micro-operation, and the output will be stored in register F.
Boolean expression-
The boolean expression for the NAND logic micro-operation is F14 = (x.y)’
12. Set to all 1’s
The set to all 1’s logic micro-operations is used to set all the register bits to 1. To use
this micro-operation, we just need to feed 1 to the register. In the above truth table,
F15 represents the truth table of Set to all 1’s logic micro-operation.
For example, F <- 1 means the value of the register F is set to 1. The previous value of
register F will be removed.
Boolean expression-
The boolean expression for the Clear logic micro-operation is F15 = 1
Examples of Logic Micro Operations in Real-World Computing
Logical microoperations are performed on binary data at a hardware level in the
processor. Let's discuss some examples of logical micro-operations in real-world
computation.
Logical microoperations are used in MUX (multiplexers)
and DEMUX (Demultiplersers). MUX is used in address decoding, data routing, etc.
While DEMUX is used in signal demodulation and functions as a serial-to-parallel
converter.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Logical microoperations are used in cryptography, image processing, etc., where we
need accurate control over the individual bits.
Logical microoperations, such as shift microoperations, are used in data storage,
compression algorithms, and in other areas to use memory effectively.
They are used in machine learning algorithms for manipulating the data and for
making decisions according to the patterns in the dataset. The algorithms are further
used in image recognition, voice recognition, natural language processing, etc.
Logical microoperations are used for masking purposes. The AND microoperation is
used to mask bits of a register.
Logical microoperations are used to build arithmetic circuits such as adders and
subtracters. They are formed by the combination of XOR, AND, and OR for
performing subtraction and addition operations.
Advantages of Logic Micro Operations in Processor Design
Below are some of the advantages of logic micro-operations.
Logical microoperations consume less power. Therefore they help in
building low-power consumption systems.
They are easy to scale and can hold larger amounts of datasets.
Logical microoperations can reduce the complexity of computations by breaking
them into manageable components so that they can be optimized effectively.
Logic micro-operations are very fast and allow efficient processing of huge amounts
of data. Logical micro-operations are very flexible and can be combined in multiple
ways to perform a wide number of computations.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Frequently Asked Questions
Q. What are the applications of logic microoperations?
Logical microoperations are used in digital circuits, arithmetic logic units, MUX
(multipliers), DEMUX (demultiplexers), data encryption, hashing, memory
addressing, decoding, bit masking, communication systems, digital system design,
and digital signal processing.
Q. What is the hardware implementation of logic micro-operation?
In hardware implementation of logic micro-operations, we need to insert gates like
AND, NOT, OR, and EXOR for each individual bit or pair of bits. The basic logic
gates are combined to implement complex micro-operations.
Q. What is the importance of logic operation?
Logical microoperations play an essential role in digital electronics. They are used to
frame a way in which the information flows through the circuits. Logical
microoperations consume less power. Therefore it helps in building low-power
consumption systems. They are easy to scale and can hold larger amounts of
datasets.
Conclusion
To summarise, in this article, we studied logic micro-operation. There are 16 logic
micro-operation- Clear, AND, Transfer A, Transfer B, Exclusive OR, OR, NOR,
Exclusive NOR, Complement B, Complement A, NAND, and Set to all 1’s. We
discussed each micro-operation along with their truth tables and boolean
expressions.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Shift Micro-Operations
What are Shift Micro-Operations in Computer Architecture?
Circular Shift
Shift micro-operations are used when the data is stored in registers. These micro-
operations are used for the serial transmission of data. Here, the data bits are shifted
from left to right. These micro-operations are also combined with arithmetic and
logic micro-operations and data-processing operations.
There are three types of shift micro-operations-
1. Logical Shift
2. Arithmetic Shift
Let’s start with logical shift micro-operation.
Logical Shift: - The logical shift micro-operation moves the 0 through the serial
input. There are two ways to implement the logical shift.
1. Logical Shift Left
2. Logical Shift Right
Let’s discuss both of them one by one.
Logical Shift Left: - Each bit in the register is shifted to the left one by one in this shift
micro-operation. The most significant bit (MSB) is moved outside the register, and
the place of the least significant bit (LSB) is filled with 0.
For example, in the below data, there are 8 bits 00001010. When we perform a logical
shift left on these bits, all these bits will be shifted towards the left. The MSB or the
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
leftmost bit i.e. 0 will be moved outside, and at the rightmost place or LSB, 0 will be
inserted as shown below.
To implement the logical shift left micro-operation, we use the shl symbol.
For example, R1 -> shl R1.
This command means the 8 bits present in the R1 register will be logically shifted
left, and the result will be stored in register R1.
Moreover, the logical shift left microoperation denotes the multiplication of 2. The
example we’ve taken above when converted into decimal forms the number 10. And
the result after the logical shift operation when converted to decimal forms the
number 20.
Next, we will see the logical shift right micro-operation.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Logical Shift Right:- Each bit in the register is shifted to the right one by one in this
shift micro-operation. The least significant bit (LSB) is moved outside the register,
and the place of the most significant bit (MSB) is filled with 0.
For example, in the below data, there are 8 bits 00000101. When we perform a logical
shift right on these bits, all these bits will be shifted towards the right. The LSB or the
rightmost bit i.e. 1 will be moved outside, and at the leftmost place or MSB, 0 will be
inserted as shown below.
To implement the logical shift right micro-operation, we use the shr symbol.
For example, R1 -> shr R1.
This command means the 8 bits present in the R1 register will be logically shifted
right, and the result will be stored in register R1.
Logical right shift micro-operation generally denotes division by 2. The inputted bits
when converted into decimal form the number 5. And the outcome when converted
into decimal forms the number 2.
Next, we will study arithmetic shift micro-operation.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Arithmetic Shift
The arithmetic shift micro-operation moves the signed binary number either to the
left or to the right position. There are two ways to implement the arithmetic shift.
1. Arithmetic Shift Left
2. Arithmetic Shift Right
Let’s discuss both of them one by one.
Arithmetic Shift Left:- The arithmetic shift left micro-operation is the same as the
logical shift left micro-operation. Each bit in the register is shifted to the left one by
one in this shift micro-operation. The most significant bit (MSB) is moved outside the
register, and the place of the least significant bit (LSB) is filled with 0.
For example, in the below data, there are 8 bits 00100011. When we perform the
arithmetic shift left on these bits, all these bits will be shifted towards the left. The
MSB or the leftmost bit i.e. 0 will be moved outside, and at the rightmost place or
LSB, 0 will be inserted as shown below.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
The given binary number (00100011) represents 35 in the decimal system. And the
binary number after logical shift left (01000110) represents 70 in a decimal system.
Since 35 * 2 = 70. Therefore, we can say that the arithmetic shift left multiplies the
number by 2.
To implement the arithmetic shift left micro-operation, we use the ashl symbol.
For example, R1 -> ashl R1.
This command means the 8 bits present in the R1 register will be arithmetic shifted
left, and the result will be stored in register R1.
Arithmetic Shift Right:- Each bit in the register is shifted to the right one by one in
this shift micro-operation. The least significant bit (LSB) is moved outside the
register, and the place of the most significant bit (MSB) is filled with the previous
value of MSB.
For example, in the below data, there are 8 bits 10100011. When we perform an
arithmetic shift right on these bits, all these bits will be shifted towards the right. The
LSB or the rightmost bit i.e. 1 will be moved outside, and at the leftmost place or
MSB, the previous MSB value, i.e. 1, will be inserted as shown below.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
Arithmetic right shift divides the number by 2.
To implement the arithmetic shift right micro-operation, we use the ashr symbol.
For example, R1 -> ashr R1.
This command means the 8 bits present in the R1 register will be arithmetic shifted
right, and the result will be stored in register R1.
Next, we will study circular shift micro-operation.
Circular Shift
The circular shift, also known as the rotate shift, moves the bits in the register's
sequence around both ends, thus ensuring no loss of information. There are two
ways to implement the circular shift.
1. Circular Shift Left
2. Circular Shift Right
Let’s discuss both of them one by one.
Circular Shift Left: - Each bit in the register is shifted to the left one by one in this
shift micro-operation. After shifting, the least significant bit (LSB) place becomes
empty, so it is filled with the value at the most significant bit (MSB).
For example, in the below data, there are 8 bits 00010100. When we perform a
circular shift left on these bits, all these bits will be shifted towards the left. The MSB
or the leftmost bit i.e. 0 will be placed at the rightmost place or LSB as shown below.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
To implement the circular shift left micro-operation, we use the cil symbol.
For example, R1 -> cil R1.
This command means the 8 bits present in the R1 register will be circular shifted left,
and the result will be stored in register R1.
Next, we will discuss circular shift right micro-operation.
Circular Shift Right: - Each bit in the register is shifted to the right one by one in this
shift micro-operation. After shifting, the most significant bit (MSB) place becomes
empty, so it is filled with the value at the least significant bit (LSB).
For example, in the below data, there are 8 bits 00010100. When we perform a
circular shift right on these bits, all these bits will be shifted towards the right. The
LSB or the leftmost bit, i.e. 0, will be placed at the rightmost place or MSB.
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
To implement the circular shift right micro-operation, we use the cir symbol.
For example, R1 -> cir R1.
This command means the 8 bits present in the R1 register will be circular shifted
right, and the result will be stored in register R1.
Important Questions:-
What are the Shift micro-operations?
Shift micro-operations are used when the data is stored in registers. These micro-
operations are used for the serial transmission of data. The contents of a register can
be shifted to the left or the right. There are three types of shift micro-operations-
Logical shift, Arithmetic shift and Circular shift.
What are different shift micro-operations?
There are three types of shift micro operations: Logical Shift, Arithmetic Shift and
Circular Shift. Logical shift transfers zero through serial input. Arithmetic shift
Jhulan Kumar
Assistant Professor
Lovely Professional University
CSE211: COMPUTER ORGANIZATION AND DESIGN
micro-operation shifts a signed binary number to the left or to the right position. The
circular shift micro operation circulates the bits in the sequence of the register
around the both ends.
What is logic micro-operation and shift micro-operation?
Logic micro operations operate on individual bits of data. Bit operations through
logic micro-operation are useful for making bits-based decisions. Shift micro
operation works on serial transfer of information. It may be used in conjunction with
logic micro-operation to achieve desired bit manipulations.
Jhulan Kumar
Assistant Professor
Lovely Professional University