Chapter four
Register Transfer Language and Micro Operations
Micro operations: operations executed on data stored in registers
• A micro operation is an elementary operation performed on the information
stored in one or more registers.
• Examples of microoperations are shift, count, clear, and load.
register transfer language: symbolic notation used to specify the
sequence of microoperations
Define symbols for various types of microoperations and describe
associated hardware that can implement the microoperations.
1
REGISTER TRANSFER
Information transfer from one register to another is
designated in symbolic form by means of a
replacement operator. The statement
R2 ← R1 denotes a transfer of the content of
register R1 into register R2.
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
2
REGISTERS
Is a group of Flip-flops with each Flip-flop
capable of storing one bit of info
An n-bit register has a group of n flip-flops and
is capable of storing any binary information of n
bits.
A register consists of a group of Flip-flops and
gates that effect their transition.
The Flip-flops hold binary information and the
gates control when and how new information is
transferred into the register.
3
REGISTER TRANSFER
Computer registers are designated by capital letters to denote the
function of the register. For example
MAR: the register that holds an address for the memory unit
PC : for program counter,
IR: for instruction register and
R1, R2…. for processor register.
4
REGISTERS
5
REGISTERS
loading the register : The transfer of new information
into a register
If all the bits of the register are loaded simultaneously
with a common clock pulse transition. The loading is
done in parallel.
Parallel Loading is used if all the input bits are
transferred into the register simultaneously, with the
common clock pulse.
In most digital systems, a master clock generator
supplies clock pulses to all parts of the system
the input values in the register are loaded when a clock
pulse arrives. This implies that, whenever a clock pulse
arrives, it would load the register with new values, thus
overwriting the previously stored register data. 6
REGISTER TRANSFER
• If the transfer is to occur only under a predetermined control
condition, designate it by
If (P = 1) then (R2 ← R1)
Or,
P: R2← R1,
• Where P is a control function that can be either 0 or 1
7
REGISTER TRANSFER
It is assumed that all transfers occur during a clock edge transition
All microoperations written on a single line are to be executed at the
same time
T: R2 ← R1, R1 ← R2
8
BUS AND MEMORY TRANSFERS
Rather than connecting wires between all registers,
a common bus is used
A bus structure consists of a set of common lines,
one for each bit of a register
Control signals determine which register is selected
by the bus during each transfer
Multiplexers can be used to construct a common
bus
Multiplexers select the source register whose
binary information is then placed on the bus
The select lines are connected to the selection
inputs of the multiplexers and choose the bits of
one register.
9
BUS AND MEMORY TRANSFERS
In general, a bus system will multiplex k registers of
n bits each to produce an n-line common bus
• Rather than listing each step as
BUS ← C, R1 ← BUS,
Use R1 ← C, since the bus is implied
• Instead of using multiplexers, three-state gates can be
used to construct the bus system
• A three-state gate is a digital circuit that exhibits three
states
• Two of the states are signals equivalent to logic 1 and 0
• The third state is a high-impedance state – this behaves
like an open circuit, which means the output is
disconnected and does not have logic significance.
10
BUS AND MEMORY TRANSFERS
• This enables a large number of three-state gate outputs to be
connected with wires to form a common bus line without
endangering loading effects
• Decoders are used to ensure that no more than one control
input is active at any given time
11
BUS AND MEMORY TRANSFERS
The transfer of information from a memory word to
the outside environment is called a read operation.
The transfer of new information to be stored into the
memory is called a write operation.
Designate a memory word by the letter M symbol.
It is necessary to specify the address of M when
writing memory transfer operations
Designate the address register by AR and the data
register by DR
• The read operation can be stated as: Read: DR ← M[AR]
• The write operation can be stated as: Write: M[AR] ← R1
12
ARITHMETIC MICROOPERATION
There are four categories of the most common
microoperations:
• Register transfer: transfer binary information from one register
to another
• Arithmetic: perform arithmetic operations on numeric data
stored in registers
• Logic: perform bit manipulation operations on non-numeric
data stored in registers
• Shift: perform shift operations on data stored in registers
13
ARITHMETIC MICROOPERATION
The basic arithmetic microoperations are addition,
subtraction, increment, decrement, and shift
14
ARITHMETIC MICROOPERATION
To implement the add microoperation with hardware, we
need the registers that hold the data and the digital
component that performs the addition
A full-adder adds two bits and a previous carry
A binary adder is a digital circuit that generates the
arithmetic sum of two binary numbers of any length
15
ARITHMETIC MICROOPERATION
The addition and subtraction operations can be
combined into one common circuit by including an XOR
gate with each full-adder.
The increment microoperation adds one to a number in
a register
• This can be implemented by using a binary counter – every
time the count enable is active, the count is incremented
by one
16
LOGIC MICROOPERATIONS
Logic operations specify binary operations for strings of
bits stored in registers and treat each bit separately
• E.g.:- the XOR of R1 and R2 is symbolized by
P: R1 ← R1 ⊕ R2
• Example: R1 = 1010 and R2 = 1100
1010 Content of R1
1100 Content of R2
0110 Content of R1 after P = 1
17
LOGIC MICROOPERATIONS
Symbols used for logical microoperations:
• OR: ∨
• AND: ∧
• XOR: ⊕
The + sign has two different meanings: logical OR and
summation
When + is in a microoperation, then summation
When + is in a control function, then OR
• Example:
P + Q: R1 ← R2 + R3, R4 ← R5 ∨ R6
18
LOGIC MICROOPERATIONS
There are 16 different logic operations that can be
performed with two binary variables
19
SHIFT MICROOPERATIONS
Shift microoperations are used for serial transfer of data
They are also used in conjunction with arithmetic, logic,
and other data-processing operations
There are three types of shifts: logical, circular, and
arithmetic
A logical shift is one that transfers 0 through the serial
input .
• The symbols shl and shr are for logical shift-left and
shift-right microoperations by one position.
For example: R1 ← shl R1
R2 ← shr R2
are two microoperations that specify a 1-bit shift to the left
of the content of register R1 and a 1-bit shift to the right of
the content of register R2. 20
SHIFT MICROOPERATIONS
The circular shift (aka rotate or rotate operation) circulates
the bits of the register around the two ends without loss of
information.
• The symbols cil and cir are for circular shift left and right
21
SHIFT REGISTERS
Most shift registers have the following capabilities
22
SHIFT REGISTERSWe want to store 1111 with this below
The behavior of the register what will be the processes?
serial shift register
is given in the listing In A B C Out
on the lower right DQ DQ DQ DQ
CP0 is the register
state just before
the first clock Clock CP
pulse occurs
CP In A B C Out
CP1 is after the
0 0 ? ? ? ?
first pulse and
before the second. 1 1 0 ? ? ?
1 1 1 0 ? ?
Initially unknown
states are denoted by 1 1 1 1 0 ?
“?” 1 1 1
Complete the last
three
rows of the table
23
SHIFT REGISTERS
A register capable of shifting binary info. In one or both direction
The logical configuration consists of a chain of flip-flops in cascade, with
the out put of one flip-flop connected to the input of the next flip-flop.
All flip-flops receive common clock pulses that initiate the shift.
unidirectional shift register:- capable of shifting in one direction
bidirectional shift register :- in both direction
24
SHIFT MICROOPERATIONS
• The arithmetic shift shifts a signed binary number to the left or
right
• To the left is multiplying by 2, to the right is dividing by 2
• A sign reversal occurs if the bit in Rn-1 changes in value after the shift
• This happens if the multiplication causes an overflow
• An overflow flip-flop Vs can be used to detect the overflow
Vs = Rn-1 ⊕ Rn-2
• If Vs = 0, there is no overflow, but if Vs = 1, there is an overflow and
a sign reversal after the shift.
25
SHIFT MICROOPERATIONS
• The arithmetic logic unit (ALU) is a common operational
unit connected to a number of storage registers.
• To perform a microoperation, the contents of specified registers are placed in the
inputs of the ALU
• The ALU performs an operation and the result is then transferred to a destination
register
• The ALU is a combinational circuit so that the entire register transfer operation from
the source registers through the ALU and into the destination register can be
performed during one clock pulse period
26
SHIFT MICROOPERATIONS
27
Any question
????
Thank you!!!
28