Lecture 6
Lecture 6
Overview
Register Transfer
Arithmetic Micro-operations
Logic Micro-operations
Shift Micro-operations
CSE 211
Logic Micro operations
CSE 211
Register Transfer and Micro-operations 4
Logic Microoperations
CSE 211
Register Transfer and Micro-operations 5
Hardware Implementation
Ai
0
Bi
1
4X1 Fi
MUX
2
3 Select
S1
S0
Function table
S1 S0 Output -operation
0 0 F=AB AND
0 1 F = AB OR
1 0 F=AB XOR
1 1 F = A’ Complement
CSE 211
Question
1. Design a hardware implementation to
perform 2 separate XOR and NAND logic
micro-operations.
2. Design a hardware implementation to
execute any 8 different logic micro-
operations.
Applications of Logic Microoperations
Selective-set AA+B
Selective-complement AAB
Selective-clear A A • B’
Mask (Delete) AA•B
Clear AAB
Insert A (A • B) + C
Compare AAB
CSE 211
Register Transfer and Micro-operations 9
1 1 0 0 At
1010 B
1 1 1 0 At+1 (A A + B)
0 1 1 0 At+1 (A A B)
If a bit in B is set to 1, that same position in A gets complemented from its
original value, otherwise it is unchanged
CSE 211
Register Transfer and Micro-operations 10
0 1 0 0 At+1 (A A B’)
If a bit in B is set to 1, that same position in A gets set to 0, otherwise it is
unchanged
4. In a mask operation, the bit pattern in B is used to clear certain bits in A
1 1 0 0 At
1010 B
1 0 0 0 At+1 (A A B)
CSE 211
Register Transfer and Micro-operations 11
0 1 1 0 At+1 (A A B)
CSE 211
Register Transfer and Micro-operations 12
CSE 211
Question
• Register A:1100 Register B:1010 After applying
Selective-Set on the given data, value of
register A is:
– 1001
– 0111
– 1000
– 0110
Question
• Register A:1100 Register B:1010 After applying
Selective-Clear on the given data, value of
register A is:
– 1001
– 0111
– 1000
– 0100
Question
• Register A:1100 Register B:1010 After applying
Selective-Mask on the given data, value of
register A is:
– 1001
– 0111
– 1000
– 0110
Question
• Register A:1100 Register B:1010 After applying
Selective-Complement on the given data,
value of register A is:
– 1001
– 0111
– 1000
– 0110
Question
• Register A:1100 Register B:1010 After applying
Selective-Complement on the given data,
value of register A is:
– 1001
– 0111
– 1000
– 0110
Register Transfer and Micro-operations 18
Shift Microoperations
• There are three types of shifts
– Logical shift
– Circular shift
– Arithmetic shift
• What differentiates them is the information that goes into the serial input
Serial
input
CSE 211
Register Transfer and Micro-operations 19
Logical Shift
• In a logical shift the serial input to the shift is a 0.
Circular Shift
• In a circular shift the serial input is the bit that is shifted out of the other
end of the register.
CSE 211
Register Transfer and Micro-operations 21
Arithmetic Shift
• An arithmetic shift is meant for signed binary numbers (integer)
• An arithmetic left shift multiplies a signed number by two
• An arithmetic right shift divides a signed number by two
• Sign bit : 0 for positive and 1 for negative
• The main distinction of an arithmetic shift is that it must keep the sign of
the number the same as it performs the multiplication or division
sign
bit
CSE 211
Register Transfer and Micro-operations 22
Arithmetic Shift
• An left arithmetic shift operation must be checked for the overflow
0
sign
bit
CSE 211
Question
• What is the effect on the output if ashr
operation is performed?
– Subtraction by 2
– Multiplication by 2
– Division by 2
– Addition by 2
Register Transfer and Micro-operations 24
CSE 211
Register Transfer and Micro-operations 25
E
Logic i
Bi
Circuit
A
i
shr
A
i-1
shl
A
i+1
CSE 211
Question
• An 8-bit register contains the binary value 10011100. What is
the register value after an arithmetic shift right? Starting from
the initial number 10011100, determine the register value
after an arithmetic shift left, and state whether there is an
overflow.
• In a RTL, the following notation is used
– ashl for an arithmetic shift left
– ashr for an arithmetic shift right
– Examples:
» R2 ashr R2
» R3 ashl R3
•In a RTL, the following notation is used
–cil for a circular shift left
–cir for a circular shift right
–Examples:
•R2 cir R2
•R3 cil R3
Overflow Detection –
Overflow occurs when:
• Two negative numbers are added and an answer
comes positive or
• Two positive numbers are added and an answer
comes as negative.
Considering the above scenarios we can also say that – If we add two operands of
same sign and get result of opposite sign, overflow occurs.
Overflow Occurs when C-in C-out.
Conclusion:-
To summarise, we studied shift micro-operation and its
types in this article:-
• There are three types of shift micro-operation -
logical shift, arithmetic shift and circular shift.
• We went through all these types along with their
subtypes.