0% found this document useful (0 votes)
20 views

RTLlogic and Shift Microoperations

The document discusses register transfer and micro-operations in computer systems. It covers register transfer language, bus and memory transfers, and different types of micro-operations including arithmetic, logic, and shift operations. It provides details on how logic operations manipulate bits, and examples of how shift operations work including logical, circular, and arithmetic shifts. It also describes the hardware implementation of an arithmetic logic and shift unit that performs various operations.

Uploaded by

HARI HARAN REDDY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

RTLlogic and Shift Microoperations

The document discusses register transfer and micro-operations in computer systems. It covers register transfer language, bus and memory transfers, and different types of micro-operations including arithmetic, logic, and shift operations. It provides details on how logic operations manipulate bits, and examples of how shift operations work including logical, circular, and arithmetic shifts. It also describes the hardware implementation of an arithmetic logic and shift unit that performs various operations.

Uploaded by

HARI HARAN REDDY
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 16

Register Transfer and Micro-operations 1

Overview

 Register Transfer Language

 Register Transfer

 Bus and Memory Transfers

 Arithmetic Micro-operations

 Logic Micro-operations

 Shift Micro-operations

 Arithmetic Logic Shift Unit


Register Transfer and Micro-operations 2

Logic Micro operations

CSE 211
Register Transfer and Micro-operations 3

Logic Microoperations

CSE 211
Register Transfer and Micro-operations 4

Hardware Implementation
Ai
0
Bi

1
4X1 Fi
MUX
2

3 Select

S1
S0

Function table
S1 S0 Output -operation
0 0 F=AB AND
0 1 F = AB OR
1 0 F=AB XOR
1 1 F = A’ Complement

CSE 211
Register Transfer and Micro-operations 5

Applications of Logic Microoperations


 Logic microoperations can be used to manipulate individual bits or a
portions of a word in a register

 Consider the data in a register A. In another register, B, is bit data


that will be used to modify the contents of A

 Selective-set AA+B
 Selective-complement AAB
 Selective-clear A  A • B’
 Mask (Delete) AA•B
 Clear AAB
 Insert A  (A • B) + C

CSE 211
Register Transfer and Micro-operations 6

Applications of Logic Microoperations


1. In a selective set operation, the bit pattern in B is used to set certain bits in A

1 1 0 0 At
1010 B
1 1 1 0 At+1 (A  A + B)

If a bit in B is set to 1, that same position in A gets set to 1, otherwise that


2. Inbita in A keepscomplement
selective its previous operation,
value the bit pattern in B is used to
complement certain bits in A
1 1 0 0 At
1010 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 7

Applications of Logic Microoperations


3. In a selective clear operation, the bit pattern in B is used to clear certain bits
in A
1 1 0 0 At
1010 B

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)

If a bit in B is set to 0, that same position in A gets set to 0, otherwise it is


unchanged
CSE 211
Register Transfer and Micro-operations 8

Applications of Logic Microoperations


5. In a clear operation, if the bits in the same position in A and B are the same,
they are cleared in A, otherwise they are set in A
1 1 0 0 At
1010 B

0 1 1 0 At+1 (A  A  B)

CSE 211
Register Transfer and Micro-operations 9

Applications of Logic Microoperations


6. An insert operation is used to introduce a specific bit pattern into A
register, leaving the other bit positions unchanged
This is done as
– A mask operation to clear the desired bit positions, followed by
– An OR operation to introduce the new bits into the desired positions
– Example
• Suppose you wanted to introduce 1010 into the low order four bits of A:
• 1101 1000 1011 0001 A (Original)
1101 1000 1011 1010 A
(Desired)

• 1101 1000 1011 0001 A (Original)


1111 1111 1111 0000 Mask
1101 1000 1011 0000 A (Intermediate)
0000 0000 0000 1010 Added bits
1101 1000 1011 1010 A (Desired)

CSE 211
Register Transfer and Micro-operations 10

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

• A right shift operation

Serial
input

• A left shift operation


Serial
input

CSE 211
Register Transfer and Micro-operations 11

Logical Shift
• In a logical shift the serial input to the shift is a 0.

• A right logical shift operation:


0

• A left logical shift operation:


0

• In a Register Transfer Language, the following notation is used


– shl for a logical shift left
– shr for a logical shift right
– Examples:
• R2  shr R2
• R3  shl R3
CSE 211
Register Transfer and Micro-operations 12

Circular Shift
• In a circular shift the serial input is the bit that is shifted out of the other
end of the register.

• A right circular shift operation:

• A left circular shift operation:

• 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
CSE 211
Register Transfer and Micro-operations 13

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

• A right arithmetic shift operation:

sign
bit

• A left arithmetic shift operation: 0


sign
bit

CSE 211
Register Transfer and Micro-operations 14

Arithmetic Shift
• An left arithmetic shift operation must be checked for the overflow

0
sign
bit

Before the shift, if the leftmost two


V bits differ, the shift will result in 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

CSE 211
Register Transfer and Micro-operations 15

Hardware Implementation of Shift Microoperation

CSE 211
Register Transfer and Micro-operations 16

Arithmetic Logic and Shift Unit


S3
S2 C
i
S1
S0

D
Arithmetic i

Circuit
Select

0 4x1
C i+1 F
1 i
MUX S3 S2 S1 S0 Cin Operation
2 0 0 0 0 0 F=A
3 0 0 0 0 1 F=A+1
0 0 0 1 0 F=A+B
E 0 0 0 1 1 F=A+B+1
Logic i 0 0 1 0 0 F = A + B’
Bi 0 0 1 0 1 F = A + B’+ 1
Circuit 0 0 1 1 0 F=A-1
A 0 0 1 1 1 F=A
i
0 1 0 0 X F=AB
shr
A 0 1 0 1 X F = A B
i-1 0 1 1 0 X F=AB
shl
A 0 1 1 1 X F = A’
i+1
1 0 X X X F = shr A
1 1 X X X F = shl A

CSE 211

You might also like