Register Transfer & -operations 1
Chapter Three
REGISTER TRANSFER AND
MICROOPERATIONS
Computer Organization Computer Architectures Lab
Register Transfer & -operations 2
REGISTER TRANSFER AND MICROOPERATIONS
• Register Transfer Language
• Register Transfer
• Bus and Memory Transfers
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
• Arithmetic Logic Shift Unit
Computer Organization Computer Architectures Lab
Register Transfer & -operations 3 Register Transfer Language
MICROOPERATION
Digital systems are composed of modules that are constructed from digital
components, such as registers, decoders, arithmetic elements, and control
logic
MICROOPERATION: An elementary operation performed during
one clock pulse, on the information stored in one or more registers
Registers ALU 1 clock cycle
(R) (f)
operation ex.: shift, count, clear, load, add,...
Computer Organization Computer Architectures Lab
Register Transfer & -operations 4 Register Transfer Language
REGISTER TRANSFER LANGUAGE
The internal hardware organization of a digital computer is best defined by
specifying :
•The set of registers it contains and their functions
•The sequence of microoperations performed on the binary information
stored
•The control that initiates the sequence of microoperations
For any function of the computer, a sequence of
microoperations is used to describe it
----> Register transfer language
- A symbolic language
- A convenient tool for describing the
internal organization of digital computers
- Can also be used to facilitate the design
process of digital systems.
Computer Organization Computer Architectures Lab
Register Transfer & -operations 5 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
Representation of a transfer(parallel)
R2 R1
• This statement implies that the hardware is available
• The outputs of the source must have a path to the inputs of the destination
• The destination register has a parallel load capability
Representation of a controlled(conditional) transfer
P: R2 R1
A binary condition(p=1) which determines when the transfer
is to occur
If (p=1) then (R2 R1)
Computer Organization Computer Architectures Lab
Register Transfer & -operations 6 Register Transfer
HARDWARE IMPLEMENTATION OF CONTROLLED TRANSFERS
Implementation of controlled transfer
P: R2 R1
Block diagram Control P Load
R2 Clock
Circuit
n
R1
Timing diagram t t+1
Clock
Load
Transfer occurs here
A comma is used to separate two or more operations that are executed
at the same time in one clock cycle
Computer Organization Computer Architectures Lab
Register Transfer & -operations 7
Questions
• Show the block diagram of the hardware that
implements the following register transfer statement:
» yT2: R2R1, R1 R2
• Explain the memory operation in each case.
– A. R2M[AR]
– B. M[AR] R3
Computer Organization Computer Architectures Lab
Register Transfer & -operations 8 Bus and Memory Transfers
BUS AND MEMORY TRANSFER
Bus is a path(of a group of wires) over which information is transferred,
from any of several sources to any of several destinations.
From a register to bus: BUS <- R
Register A Register B Register C Register D
Bus lines
From bus to a register : R <- BUS
Bus lines
Load
Reg. R0 Reg. R1 Reg. R2 Reg. R3
D 0 D1 D2 D 3
z E (enable)
Select 2x4
w
Decoder
Computer Organization Computer Architectures Lab
Register Transfer & -operations 9 Bus and Memory Transfers
MEMORY TRANSFERS
Memory Read
AR
unit Write
DR
Memory read micro-op: DR M ( DR M[AR] )
Memory write micro-op: M DR ( M[AR] DR )
Summary of Register Transfer Microoperations
A B Transfer content of reg. B into reg. A
AR DR(N) Transfer content of N bits portion of reg. DR into reg. AR
A constant Transfer a binary constant into reg. A
ABUS R1, Transfer content of R1 into bus A and, at the same time,
R2 ABUS transfer content of bus A into R2
AR Address register
DR Data register
M[AR] Memory word specified by reg. AR
DR M[AR] Memory read operation: transfers content of
memory word specified by AR into DR
M[AR] DR Memory write operation: transfers content of
DR into memory word specified by AR
Computer Organization Computer Architectures Lab
Register Transfer & -operations 10 Arithmetic Microoperations
ARITHMETIC MICROOPERATIONS
Four types of microoperations
- Register transfer microoperations
- Arithmetic microoperations
- Logic microoperations
- Shift microoperations
* Summary of Arithmetic Micro-Operations
R3 R1 + R2 Contents of R1 plus R2 transferred to R3
R3 R1 - R2 Contents of R1 minus R2 transferred to R3
R2 R2’ Complement the contents of R2
R2 R2’+ 1 2's complement the contents of R2 (negate)
R3 R1 + R2’+ 1subtraction
R1 R1 + 1 Increment
R1 R1 - 1 Decrement
Computer Organization Computer Architectures Lab
Register Transfer & -operations 11 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
• The subtraction A-B can be carried out by the following steps:
•Take the 1’s complement of B (invert each bit)
•Get the 2’s complement by adding 1
•Add the result to A
Binary Adder-Subtractor
B3 A3 B2 A2 B1 A1 B0 A0
C3 C2 C1 C0
FA FA FA FA
C4 S3 S2 S1 S0
Computer Organization Computer Architectures Lab
Register Transfer & -operations 12
Question
• Draw the block diagram for the hardware that Implements
the following statement:
– x+yz: AR AR + BR
Computer Organization Computer Architectures Lab
Register Transfer & -operations 13
Question
Computer Organization Computer Architectures Lab
Register Transfer & -operations 14 Arithmetic Microoperations
ARITHMETIC CIRCUIT
Cin
S1
S0
A0 X0 C0
S1 D0
S0 FA
B0 0 4x1 Y0 C1
1 MUX
2
3
A1 X1 C1
S1 FA D1
S0
B1 0 4x1 Y1 C2
1 MUX
2
3
A2 X2 C2
S1 FA D2
S0
B2 0 4x1 Y2 C3
1 MUX
2
3
A3 X3 C3
S1 D3
S0 FA
B3 0 4x1 Y3 C4
1 MUX
2
3 Cout
0 1
Computer Organization Computer Architectures Lab
Register Transfer & -operations 15
Question
• The Arithmetic circuit in last slide has following
values for S1, S0 and Cin. In each case determine the
value of the output D in terms of the two input
registers A and B. What is the corresponding
microoperation?
S1 S0 Cin Output Microoperation
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Computer Organization Computer Architectures Lab
Register Transfer & -operations 16 Logic Microoperations
HARDWARE IMPLEMENTATION OF LOGIC MICROOPERATIONS
Question:
Draw the digital circuit that performs the following logical
operations between reg. A and reg. B(draw the circuit for
one bit), then list the circuit function table:
(AND, OR, XOR and Complement).
Computer Organization Computer Architectures Lab
Register Transfer & -operations 17
Answer
Ai
0
Bi
1
4X1 Fi
MUX
2
3 Select
S1
S
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
Computer Organization Computer Architectures Lab
Register Transfer & -operations 18 Shift Microoperations
SHIFT MICROOPERATIONS
Shifts
- Logical shift : shift in a 0 into the extreme flip-flop
- 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
Arithmetic shifts for signed binary numbers
- Arithmetic shift-right
Sign
bit
Rn-1 Rn-2 R1 R0
- Arithmetic shift-left Overflow V = Rn-1 Rn-2
Shift Micro-Operations
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
Computer Organization Computer Architectures Lab
Register Transfer & -operations 19
Question
• An 8-bits register R ahs the following value:
11001010, find the value of R after performing the
following shifts:
a. Logical shift left
b. Logical shift right
c. Circular shift left
d. Circular shift right
e. Arithmetic shift left
f. Arithmetic shift right
Computer Organization Computer Architectures Lab
Register Transfer & -operations 20
Question
Computer Organization Computer Architectures Lab
Register Transfer & -operations 21 Shift Microoperations
ARITHMETIC LOGIC SHIFT UNIT
S3
S2 Ci
S1
S0
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
S3 S2 S1 S0 Cin Operation Function
0 0 0 0 0 F=A Transfer A
0 0 0 0 1 F=A+1 Increment A
0 0 0 1 0 F=A+B Addition
0 0 0 1 1 F = A + B + 1 Add with carry
0 0 1 0 0 F = A + B’ Subtract with
borrow
0 0 1 0 1 F = A + B’+ 1 Subtraction
0 0 1 1 0 F=A-1 Decrement A
0 0 1 1 1 F=A TransferA
0 1 0 0 X F=AB AND
0 1 0 1 X F = A B OR
0 1 1 0 X F=AB XOR
0 1 1 1 X F = A’ Complement A
1 0 X X X F = shr A Shift right A into F
1 1 X X X F = shl A Shift left A into F
Computer Organization Computer Architectures Lab