Sei sulla pagina 1di 20

Register Transfer & -operations 1

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 2 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 3 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 4 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 5 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 6

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 7 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 8 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 9 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’+ 1 subtraction
R1  R1 + 1 Increment
R1  R1 - 1 Decrement

Computer Organization Computer Architectures Lab


Register Transfer & -operations 10 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

FA C3 FA C2 FA C1 FA C0

C4 S3 S2 S1 S0

Computer Organization Computer Architectures Lab


Register Transfer & -operations 11

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 12

Question

Computer Organization Computer Architectures Lab


Register Transfer & -operations 13 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 FA D3
S0
B3 0 4x1 Y3 C4
1 MUX
2
3 Cout
0 1

Computer Organization Computer Architectures Lab


Register Transfer & -operations 14

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 15 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 16

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 17 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 18

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 19

Question

Computer Organization Computer Architectures Lab


Register Transfer & -operations 20 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

Potrebbero piacerti anche