You are on page 1of 21

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: R2R1, R1 R2

• Explain the memory operation in each case.


– A. R2M[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=AB AND
0 1 F = AB OR
1 0 F=AB 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=AB AND
0 1 0 1 X F = A B OR
0 1 1 0 X F=AB 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

You might also like