Chapter Three
Register Transfer and Micro operation
By: Abay G.
1
Chapter Contents
1. Register Transfer 4. Logic Microoperations
Language
5. Shift Microoperations
2. Bus and Memory
Transfers 6. Arithmetic Logic Shift Unit
3. Arithmetic
Microoperations
2
Register Transfer Language
3
Register Transfer Language
● A digital system is an interconnection of digital hardware modules that
accomplish a specific information-processing task.
● Digital systems vary in size and complexity from a few integrated circuits
to a complex of interconnected and interacting digital computers.
● Digital system design invariably uses a modular approach.
● The modules are constructed from such digital components as registers,
decoders, arithmetic elements, and control logic.
● The various modules are interconnected with common data and control
paths to form a digital computer system.
4
…cont
● Digital modules are best defined by the registers they contain and the
operations that are performed on the data stored in them.
● The operations executed on data stored in registers are called
microoperations.
● A microoperation is an elementary operation performed on the information
stored in one or more registers.
● The result of the operation may replace the previous binary information of a
register or may be transferred to another register. Examples of
microoperations are shift, count, clear, and load.
● A bidirectional shift register is capable of performing the shift right and shift left
microoperations.
5
…cont
● The internal hardware organization of a digital computer is best defined by specifying:
1. The set of registers it contains and their function.
2. The sequence of microoperations performed on the binary information stored in the registers.
3. The control that initiates the sequence of microoperations.
• The symbolic notation used to describe the microoperation transfers among registers is called a
register transfer language. R2<-R1, (Information transfer from one register to another is
designated in symbolic form by-means of a replacement operator) <- acts as a replacement
operator.
• Are denoted by capita litters.
• For Example: MAR = Memory Address Register, PC = program Counter, IR = Instruction Register,
R1 = Processor Register
6
…cont
• The statement R2 <- R1 denotes a transfer of the content of register R 1 into register R2.
• It designates a replacement of the content of R2 by the content of R 1.
• By definition, the content of the source register R1 does not change after the transfer.
• The term "register transfer" implies the availability of hardware logic circuits that can perform a stated
microoperation and transfer the result of the operation to the same or another register.
• The word "language" is borrowed from programmers, who apply this term to programming
languages.
7
Bus and Memory Transfers
8
Bus and Memory Transfers
● In a multi register configuration system a bus structure is more efficient for transfer information from one register to
other register.
● A digital system composed of many registers, and paths must be provided to transfer information from one register to
another.
● The number of wires connecting all of the registers will be excessive if separate lines are used between each register
and all other registers in the system
● A bus structure, on the other hand, is more efficient for transferring information between registers in a multi-register
configuration system.
● A more efficient scheme for transferring information between registers in a multiple-register configuration is a common
bus system
● In bus system control signals determine which register is selected by the bus during a particular register transfer.
● The following block diagram shows a Bus system for four registers. It is constructed with the help of four 4 * 1
Multiplexers each having four data inputs (0 through 3) and two selection inputs (S1 and S2).
9
…cont
10
…cont
● As-per the above figure the four registers are named as Register A , Register B, Register C and
Register D.
● The two selector lines S1 and S2 are connected to the 4 multiplexers. based on selector line the
out put of the 4*1 MUX is decided .
● Here we we used 4*1 multiplexer so we used 2 selector lines based on number of inputs to the
mux the no of selectoe lines are lines are used here 4 = 2^2 so 2 selector lines are used . If 8*1
mux is used then 8 = 2^3 so three selector lines are required and so on.
● Each bit of the register is connected to the one mux based on selector line input the output
register is transfered.
● The following function table shows the register that is selected by the bus for each of the four
possible binary values of the Selection lines.
11
…cont
● When both of the select lines are at low logic, i.e. S1S0 = 00, the 0 data inputs of all four multiplexers are
selected and applied to the outputs that forms the bus.
● This, in turn, causes the bus lines to receive the content of register A since the outputs of this register are
connected to the 0 data inputs of the multiplexers. Similarly, when S1S0 = 01, register B is selected, and the bus
lines will receive the content provided by register B.
● Note: The number of multiplexers needed to construct the bus is equal to the number of bits in each register.
● The size of each multiplexer must be 'k * 1' since it multiplexes 'k' data lines. For instance, a common bus for
eight registers of 16 bits each requires 16 multiplexers, one for each line in the bus.
● Each multiplexer must have eight data input lines and three selection lines to multiplex one significant bit in the
eight registers.
● A bus system can also be constructed using three-state gates instead of multiplexer.
● The most commonly used three state gates in case of the bus system is a buffer gate.
12
…cont
13
Arithmetic Micro operations
14
Arithmetic Micro operations
The operations executed on data stored in register are called micro operations.
A micro operation is an elementary operation performed on the information stored in one or more registers.
15
…cont
● The increment and decrement microoperations are symbolized by plus one and
minus-one operations, respectively.
● These microoperations are implemented with a combinational circuit or with a binary
up-down counter.
● The arithmetic operations of multiply and divide are not listed in the above table.
● These two operations are valid arithmetic operations but are not included in the basic
set of microoperations.
● The only place where these operations can be considered as microoperations is in a
digital system, where they are implemented by means of a combinational circuit.
16
…cont
● In such a case, the signals that perform these operations propagate through
gates, and the result of the operation can be transferred into a destination
register by a clock pulse as soon as the output signal propagates through
the combinational circuit
● In most computers, the multiplication operation is implemented with a
sequence of add and shift microoperations.
● Division is implemented with a sequence of subtract and shift
microoperations.
17
Logic Microoperations
18
Logic Microoperations
● Logic microoperations specify binary operations for strings of bits stored in registers.
● These operations consider each bit of the register separately and treat them as binary
variables. For example, the exclusive-OR microoperation with the contents of two
registers R 1 and R2 is symbolized by the statement
● It specifies a logic microoperation to be executed on the individual bits of the registers
provided that the control variable P = 1.
● As a numerical example, assume that each register has four bits. Let the content of R1
be 1010 and the content of R2 be 1100. The exclusive-OR microoperation stated above
symbolizes the following logic computation:
19
…cont
● The content of R1, after the execution of the microoperation, is equal to the bit-by-bit
exclusive-OR operation on pairs of bits in R2 and previous values of R1.
● The logic microoperations are seldom used in scientific computations, but they are very
useful for bit manipulation of binary data and for making logical decisions.
20
Shift Microoperations
21
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.
● The contents of a register can be shifted to the left or to the right.
● At the same time that the bits are shifted, the first flip-flop receives its binary information
from the serial input.
● During a shift-left operation the serial input transfers a bit into the rightmost position.
● During a shift-right operation the serial input transfers a bit into the leftmost position.
● The information transferred through the serial input determines the type of shift. There
are three types of shifts: logical, circular, and arithmetic.,
22
…cont
● Logical shift, circular shift and arithmetic shift are shift microoperations
23
Arithmetic Logic Shift Unit
24
Arithmetic Logic Shift Unit
● Instead of having individual registers performing the microoperations
directly, computer systems employ a number of storage registers connected
to a common operational unit called an arithmetic logic unit, abbreviated
ALU.
● To perform a microoperation, the contents of specified registers are placed
in the inputs of the common ALU.
● The ALU performs an operation and the result of the operation is then
transferred to a destination register.
25
… cont
● 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.
● The shift microoperations are often performed in a separate unit, but
sometimes the shift unit is made part of the overall ALU.
● The arithmetic, logic, and shift circuits introduced in previous sections can
be combined into one ALU with common selection variables.
26
Thank You!
27