Professional Documents
Culture Documents
Unit1 Chaptter - Register Transfer Language
Unit1 Chaptter - Register Transfer Language
Overview
Register Transfer
Logic Micro-operations
Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 2
CSE 211
Register Transfer and Micro-operations 3
CSE 211
Register Transfer and Micro-operations 4
For any function of the computer, the register transfer language can be
used to describe the (sequence of) micro-operations
MAR
CSE 211
Register Transfer and Micro-operations 6
• Designation of a register
- a register
- portion of a register
- a bit of a register
15 0 15 8 7 0
R2 PC(H) PC(L)
Numbering of bits Subfields
CSE 211
Register Transfer and Micro-operations 7
R2 R1
CSE 211
Register Transfer and Micro-operations 8
R3 R5
– the data lines from the source register (R5) to the destination
register (R3)
– Parallel load in the destination register (R3)
– Control lines to perform the action
CSE 211
Register Transfer and Micro-operations 9
Control Functions
P: R2 R1
CSE 211
Register Transfer and Micro-operations 10
Load
Transfer occurs here
The same clock controls the circuits that generate the control function and the
destination register
Registers are assumed to use positive-edge-triggered flip-flops
CSE 211
Register Transfer and Micro-operations 11
CSE 211
Register Transfer and Micro-operations 12
Overview
Register Transfer
Logic Micro-operations
Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 13
BUS STRUCTURE CONSISTS OF SET OF COMMON LINES, ONE FOR EACH BIT
OF A REGISTER THROUGH WHICH BINARY INFORMATION IS TRANSFERRED
ONE AT A TIME
Have control circuits to select which register is the source, and which is the
destination
CSE 211
Register Transfer and Micro-operations 14
CSE 211
Register Transfer and Micro-operations 15
CSE 211
Register Transfer and Micro-operations 16
No. of multiplexer = n
CSE 211
Register Transfer and Micro-operations 17
CSE 211
Register Transfer and Micro-operations 18
CSE 211
Register Transfer and Micro-operations 19
CSE 211
Register Transfer and Micro-operations 20
Memory - RAM
Memory (RAM) can be thought as a sequential circuits containing
some number of registers
Memory stores binary information in groups of bits called words
These registers hold the words of memory
Each of the r registers is indicated by an address
These addresses range from 0 to r-1
Each register (word) can hold n bits of data
Assume the RAM contains r = 2k words. It needs the following
data input lines
1. n data input lines
2. n data output lines n
Memory Transfer
Memory is usually accessed in computer systems by putting the desired
address in a special register, the Memory Address Register (MAR, or AR)
M
Memory Read
AR
unit Write
CSE 211
Register Transfer and Micro-operations 22
Memory Read
R1 M[AR]
CSE 211
Register Transfer and Micro-operations 23
Memory Write
M[AR] R1
CSE 211
Register Transfer and Micro-operations 24
CSE 211
Register Transfer and Micro-operations 25
MICROOPERATIONS
CSE 211
Register Transfer and Micro-operations 26
Arithmetic MICROOPERATIONS
• The basic arithmetic microoperations are
– Addition
– Subtraction
– Increment
– Decrement
CSE 211
Register Transfer and Micro-operations 27
Binary Adder
CSE 211
Register Transfer and Micro-operations 28
Binary Adder-Subtractor
Binary Adder-Subtractor
B3 A3 B2 A2 B1 A1 B0 A0
C3 C2 C1 C0
FA FA FA FA
C4 S3 S2 S1 S0
CSE 211
Register Transfer and Micro-operations 29
Binary Incrementer
Binary Incrementer
A3 A2 A1 A0 1
x y x y x y x y
HA HA HA HA
C S C S C S C S
C4 S3 S2 S1 S0
CSE 211
Register Transfer and Micro-operations 30
Arithmetic Circuits
Cin
S1
S0
A0 X0 C0
S1 D0
S0
Y0
FAC1
B0 0
1 4x1
2
3
MUX
A1 X1 C1
S1 D1
S0 FA
B1 0 Y1 C2
1 4x1
2
3
MUX
A2 X2 C2
S1 D2
S0 FA
B2 0 Y2 C3
1 4x1
2
3
MUX
A3 X3 C3
S1 D3
S0 FA
B3 0 Y3 C4
1 4x1
2
3
MUX Cout
0 1
CSE 211
Register Transfer and Micro-operations 31
Overview
Register Transfer
Arithmetic Micro-operations
Logic Micro-operations
Shift Micro-operations
CSE 211
Register Transfer and Micro-operations 32
CSE 211
Register Transfer and Micro-operations 33
Logic Microoperations
CSE 211
Register Transfer and Micro-operations 34
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
Register Transfer and Micro-operations 35
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 36
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 37
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 38
0 1 1 0 At+1 (A A B)
CSE 211
Register Transfer and Micro-operations 39
CSE 211
Register Transfer and Micro-operations 40
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 41
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 43
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 44
Arithmetic Shift
• An left arithmetic shift operation must be checked for the overflow
0
sign
bit
CSE 211
Register Transfer and Micro-operations 45
CSE 211
Register Transfer and Micro-operations 46
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=AB
shr
A 0 1 0 1 X F = A B
i-1 0 1 1 0 X F=AB
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