Lec11 Register Transfer and Micro Operations Part2

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Chapter 4

Register Transfer and


Microoperations Part2

Dr. Bernard Chen Ph.D.


University of Central Arkansas
Spring 2009
4.5 Logic Microoperations

 Manipulating the bits stored in a register

Logic Microoperations
Clear
 Logic operation can…
1) clear a group of bit values (Anding the

bits to be cleared with zeros)


10101101 10101011 R1 (data)
00000000 11111111 R2 (mask)

00000000 10101011 R1
Set
2) set a group of bit values (Oring the bits
to be set to ones with ones)
10101101 10101011 R1 (data)
11111111 00000000 R2 (mask)

11111111 10101011 R1
Complement
Complement a group of bit values
(Exclusively Or (XOR) the bits to be
complemented with ones)
10101101 10101011 R1 (data)
11111111 00000000 R2 (mask)

01010010 10101011 R1
LOGIC CIRCUIT

• A variety of logic gates are


inserted for each bit of registers.
Different bitwise logical
operations are selected by select
signals.
Example
 Extend the previous logic circuit to accommodate XNOR,
NAND, NOR, and the complement of the second input.

S2 S1 S0 Output Operation
0 0 0 XY AND
0 0 1 XY OR
0 1 0 XY XOR
0 1 1 A Complement A
1 0 0 (X  Y) NAND
1 0 1 (X  Y) NOR
1 1 0 (X  Y) XNOR
1 1 1 B Complement B
More Logic Microoperation
X Y F 0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
TABLE 4-5. Truth Table for 16 Functions of Two Variables

Boolean function Microoperation Name Boolean function Microoperation Name


F0 = 0 F←0 Clear F8 = (x+y)’ F ← A∨ B NOR
F1 = xy F ← A∧ B AND F9 = (x  y)’ F ← A B Ex-NOR
F2 = xy’ F ← A∧ B F10 = y’ F←B Compl-B
F3 = x F←A Transfer A F11 = x+y’ F ← A∨ B
F4 = x’y F ← A∧ B F12 = x’ F←A Compl-A
F5 = y F←B Transfer B F13 = x’+y F ← A∨ B
F6 = x  y F ← A B Ex-OR F14 = (xy)’ F ← A∧ B NAND
F7 = x+y F ← A∨ B OR F15 = 1 F ← all 1’s set to all 1’s
TABLE 4-6. Sixteen Logic Microoperations
Homework 1

 Design a multiplexer to select one of


the 16 previous functions.
Insert
 Insert
 The insert operation inserts a new value into a group
of bits
 This is done by first masking the bits and then ORing
them with the required value

1) Mask 2) OR
0110 1010 A before 0000 1010 A before
0000 1111 B mask 1001 0000 B insert
0000 1010 A after mask A  B 1001 1010 A after insert AVB
4-6 Shift Microoperations
 Shift example: 11000

 Shift Microoperations :
 Shift microoperations are used for serial
transfer of data
 Three types of shift microoperation : Logical,
Circular, and Arithmetic
Shift Microoperations
Symbolic designation Description
R ← shl R Shift-left register R
R ← shr R Shift-right register R
R ← cil R Circular shift-left register R
R ← cir R Circular shift-right register R
R ← ashl R Arithmetic shift-left R
R ← ashr R Arithmetic shift-right R

TABLE 4-7. Shift Microoperations


Logical Shift
 A logical shift transfers 0 through the serial
input
 The bit transferred to the end position through
the serial input is assumed to be 0 during a
logical shift (Zero inserted)

R1  shl R1 0 0
R 2  shr R 2
Logical Shift Example

1. Logical shift: Transfers 0 through the serial input.


R1 shl R1 Logical shift-left
R2 shr R2 Logical shift-right
(Example) Logical shift-left
10100011  01000110
Circular Shift
 The circular shift circulates the bits of the
register around the two ends without loss of
information
Circular Shift Example

Circular shift-left R1  cil R1


Circular shift-right R 2  cir R 2

(Example) Circular shift-left


10100011 is shifted to 01000111
Arithmetic Shift
 An arithmetic shift shifts a signed binary
number to the left or right
 An arithmetic shift-left multiplies a signed
binary number by 2
 An arithmetic shift-right divides the number
by 2
 In arithmetic shifts the sign bit receives a
special treatment
Arithmetic Shift Right
 Arithmetic right-shift: Rn-1 remains unchanged;
 Rn-2 receives Rn-1, Rn-3 receives Rn-2, so on.
 For a negative number, 1 is shifted from the sign bit
to the right. A negative number is represented by the
2’s complement. The sign bit remained unchanged.
Arithmetic Shift Right
 Arithmetic Shift Right :
 Example 1
0100 (4) 
0010 (2)
 Example 2
1010 (-6) 
1101 (-3)
Arithmetic Shift Left
The operation is same with Logic shift-left
The only difference is you need to check overflow problem

Carry out
Sign bit
R 2  ashl R 2

LSB

Rn-1 Rn-2
0 insert
Vs=1 : Overflow
Vs=0 : use sign bit
Arithmetic Shift Left
 Arithmetic Shift Left :
 Example 1
0010 (2) 
0100 (4)
 Example 2
1110 (-2) 
1100 (-4)
Arithmetic Shift Left
 Arithmetic Shift Left :
 Example 3
0100 (4) 
1000 (overflow)
 Example 4
1010 (-6) 
0100 (overflow)

You might also like