Professional Documents
Culture Documents
Register Transfer and Microoperations
Register Transfer and Microoperations
• Register Transfer
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
1
Register Transfer & -operations Register Transfer Language
MICROOPERATION
R f(R, R)
2
Register Transfer & -operations Register Transfer Language
3
Register Transfer & -operations Register Transfer
REGISTER TRANSFER
Designation of a register - a register
- portion of a register
- a bit of a register
Common ways of drawing the block diagram of a register
Register Showing individual bits
R1 7 6 5 4 3 2 1 0
15 0 15 8 7 0
R2 PC(H) PC(L)
Numbering of bits Subfields
4
Register Transfer & -operations Register Transfer
Load
Transfer occurs here
5
Register Transfer & -operations Register Transfer
6
Register Transfer & -operations Bus and Memory Transfers
Bus lines
4-line bus
7
Register Transfer & -operations Bus and Memory Transfers
Bus lines
Load
Reg. R0 Reg. R1 Reg. R2 Reg. R3
D 0 D1 D2 D 3
Destination z
Selection 2x4 E (enable)
w
Decoder
8
Register Transfer & -operations Bus and Memory Transfers
Three-State Buffer
Normal input A Y
Control input C
If C=1, then Y=A
If C=0, then Y=High-impedance
9
Register Transfer & -operations Bus and Memory Transfers
MEMORY TRANSFERS
Memory Read
AR
unit Write
Address Register
DR
Data Register
10
Register Transfer & -operations Bus and Memory Transfers
ABUS R1, Transfer the contents of R1 into bus A and, at the same time,
R2 ABUS transfer the contents of bus A into R2
AR Address register
DR Data register
M Equivalent to M[AR]
M DR Memory write operation: transfers the contents of DR into the memory
word specified by AR
11
Register Transfer & -operations Arithmetic Microoperations
TYPES OF MICROOPERATIONS
12
Register Transfer & -operations Arithmetic Microoperations
ARITHMETIC MICROOPERATIONS
13
Register Transfer & -operations Arithmetic Microoperations
BINARY ADDER
B3 A3 B2 A2 B1 A1 B0 A0
Binary Adder
FA C3 FA C2 FA C1 FA C0
C4 S3 S2 S1 S0
Binary Adder-Subtractor
B3 A3 B2 A2 B1 A1 B0 A0
FA C3 FA C2 FA C1 FA C0
C4 S3 S2 S1 S0
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
14
Register Transfer & -operations Arithmetic Microoperations
ARITHMETIC CIRCUIT
Cin
S1
S0
A0 X0 C0
S1 D0
FA
S0
B0 0 4x1 Y0 C1
1 MUX
2
3
A1 X1 C1
S1 D1
FA
S0
B1 0 4x1 Y1 C2
1 MUX
2
3
A2 X2 C2
S1 D2
FA
S0
B2 0 4x1 Y2 C3
1 MUX
2
3
A3 X3 C3
S1 D3
FA
S0
B3 0 4x1 Y3 C4
1 MUX
2
3 Cout
0 1
15
Register Transfer & -operations Logic Microoperations
LOGIC MICROOPERATIONS
Specify binary operations on the strings of bits in registers.
P: R1 R1 R2
1010 Content of R1
1100 Content of R2
0110 Content of R1 after P=1
OR operation OR microoperation
add microoperation
16
Register Transfer & -operations Logic Microoperations
17
Register Transfer & -operations Logic Microoperations
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
18
Register Transfer & -operations Logic Microoperations
- Selective-set - Selective-complement
1010 A 1010 A
1100 B 1100 B
1110 AA B 0110 AA B
- Selective-clear - Mask
1010 A 1010 A
1100 B 1100 B
0010 AAB 1000 AA B
1010 A
1010 B
0000 AAB
19
Register Transfer & -operations Logic Microoperations
1. Mask
0110 1010 A before
0000 1111 B (mask)
2. OR
0000 1010 A before
1001 0000 B (insert)
20
Register Transfer & -operations Shift Microoperations
SHIFT MICROOPERATIONS
Shift Right
Shift Left
Rn-1 R3 R2 R1 R0
Shifts
- Logical shift : transfers 0 through the serial input
- Circular shift : circulates the bits of the register around the two ends
- Arithmetic shift : shifts a signed number (shift with sign extension)
Left shift multiplied by 2
Right shift divided by 2
21
Register Transfer & -operations Shift Microoperations
SHIFT MICROOPERATIONS
Logical Shift Right: R shr R
0 Rn-1 R3 R2 R1 R0
Rn-1 R3 R2 R1 R0 0
Rn-1 R3 R2 R1 R0
Rn-1 R3 R2 R1 R0
22
Register Transfer & -operations Shift Microoperations
SHIFT MICROOPERATIONS
Arithmetic Shift Right: R ashr R
Rn-1 R3 R2 R1 R0
Rn-1 R3 R2 R1 R0 0
Shift Microoperations
Symbol 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 right-shift register R
R ashl R Arithmetic shift-left register R
R ashr R Arithmetic shift-right register R
23
Register Transfer & -operations Shift Microoperations
Shifter
0 for shift right (down)
Serial Select 1 for shift left (up)
input (IR)
S
MUX H0
0
1
A0 Select Output
S S H0 H1 H2 H3
A1 H1
0 MUX
1 0 IR A0 A1 A2
A2
1 A1 A2 A3 IL
A3
S
MUX H2
0
1
S
MUX H3
0
1
Serial
input (IL)
24
Register Transfer & -operations Arithmetic Logic Shift Unit
Arithmetic D i
Circuit
Select
Ci+1
0 4x1 Fi
1 MUX
2
3
Ei
Logic
Bi Circuit
Ai
Ai-1 shr
Ai+1 shl