0% found this document useful (0 votes)
10 views

COA unit 2

The document explains Register Transfer Language (RTL) and microoperations within digital systems, detailing how registers and control logic interact to perform operations on stored data. It covers the types of microoperations, including arithmetic, logic, and shift operations, and describes how to implement these operations using hardware components like multiplexers and arithmetic logic units (ALUs). Additionally, it outlines the symbolic notation used in RTL for specifying data transfers and operations between registers.

Uploaded by

dracula 0247
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

COA unit 2

The document explains Register Transfer Language (RTL) and microoperations within digital systems, detailing how registers and control logic interact to perform operations on stored data. It covers the types of microoperations, including arithmetic, logic, and shift operations, and describes how to implement these operations using hardware components like multiplexers and arithmetic logic units (ALUs). Additionally, it outlines the symbolic notation used in RTL for specifying data transfers and operations between registers.

Uploaded by

dracula 0247
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Register Transfer Language And Micro Operations:

Register Transfer language:


 Digital systems are composed of modules that are constructed from digital
components, such as registers, decoders, arithmetic elements, and control logic
 The modules are interconnected with common data and control paths to form a
digital computer system
 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
 Examples are shift, count, clear, and load
 Some of the digital components from before are registers that implement
microoperations
 The internal hardware organization of a digital computer is best defined by
specifying

o The set of registers it contains and their functions


o The sequence of microoperations performed on the binary information
stored
o The control that initiates the sequence of microoperations

 Use symbols, rather than words, to specify the sequence of microoperations


 The symbolic notation used is called a register transfer language
 A programming language is a procedure for writing symbols to specify a given
computational process
 Define symbols for various types of microoperations and describe associated
hardware that can implement the microoperations

Register Transfer

 Designate computer registers by capital letters to denote its function


 The register that holds an address for the memory unit is called MAR
 The program counter register is called PC
 IR is the instruction register and R1 is a processor register
 The individual flip-flops in an n-bit register are numbered in sequence from 0 to
n-1
 Refer to Figure 4.1 for the different representations of a register

 Designate information transfer from one register to


another by R2 ← R1
 This statement implies that the hardware is available
o The outputs of the source must have a path to the inputs of the
destination
o The destination register has a parallel load capability
 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,
Computer Organization

where P is a control function that can be either 0 or 1

 Every statement written in register transfer notation implies the


presence of the required hardware construction

 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

Computer Organization Page 3


Computer Organization

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
duringeach 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

 In general, a bys system will multiplex k registers of n bits each to


produce an n- line common bus
 This requires n multiplexers – one for each bit
 The size of each multiplexer must be k x 1
 The number of select lines required is log k
 To transfer information from the bus to a register, the bus lines are
connected to the inputs of all destination registers and the
corresponding load control line must be activated
 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

Computer Organization Page 4


Computer Organization

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 a
logic significance

 The three-state buffer gate has a normal input and a control


input which determines the output state
 With control 1, the output equals the normal input
 With control 0, the gate goes to a high-impedance state
 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
 This circuit can replace the multiplexer in Figure 4.3
 To construct a common bus for four registers of n bits each using
three-state buffers, we need n circuits with four buffers in each
 Only one decoder is necessary to select between the four registers
 Designate a memory word by the letter M
 It is necessary to specify the address of M when writing
memory transfer operations

Computer Organization Page 5


Computer Organization

 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

Arithmetic Microoperations

 There are four categories of the most common microoperations:


o Register transfer: transfer binary information from one register
to another
o Arithmetic: perform arithmetic operations on numeric
data stored in registers
o Logic: perform bit manipulation operations on non-numeric
data stored in registers
o Shift: perform shift operations on data stored in registers

 The basic arithmetic microoperations are addition, subtraction,


increment, decrement, and shift
 Example of addition: R3 ← R1+R2
 Subtraction is most often implemented through complementation and
addition
 Example of subtraction: R3 ← R1 +R2 + 1 (strikethrough denotes
bar on top – 1‟s complement of R2)
 Adding 1 to the 1‟s complement produces the 2‟s complement
 Adding the contents of R1 to the 2‟s complement of R2 is
equivalent to subtracting

Computer Organization Page 6


Computer Organization

 Multiply and divide are not included as microoperations


 A microoperation is one that can be executed by one clock pulse
 Multiply (divide) is implemented by a sequence of add and shift
microoperations (subtract and shift)

 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
 A binary added is constructed with full-adder circuits connected in
cascade
 An n-bit binary adder requires n full-adders

 The subtraction A-B can be carried out by the following steps


o Take the 1‟s complement of B (invert each bit)

Computer Organization Page 7


Computer Organization

o Get the 2‟s complement by adding 1


o Add the result to A
 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
 If the increment is to be performed independent of a particular
register, then use half-adders connected in cascade
 An n-bit binary incrementer requires n half-adders

 Each of the arithmetic microoperations can be implemented in one


composite arithmetic circuit
 The basic component is the parallel adder
 Multiplexers are used to choose between the different operations
 The output of the binary adder is calculated from the
following sum: D = A + Y + Cin

Computer Organization Page 8


Computer Organization

Logic Microoperations

 Logic operations specify binary operations for strings of bits stored


in registers and treat each bit separately
 Example: 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

Computer Organization Page 9


Computer Organization
0110 Content of R1 after P = 1

 Symbols used for logical microoperations:


o OR:V
o AND: ^
o 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 V R6
 There are 16 different logic operations that can be performed with
two binary variables

 The hardware implementation of logic microoperations requires that


logic gates be inserted for each bit or pair of bits in the registers
Computer Organization Page 10
Computer Organization

 All 16 microoperations can be derived from using four logic gates

 Logic microoperations can be used to change bit values, delete a


group of bits, or insert new bit values into a register
 The selective-set operation sets to 1 the bits in A where there are
corresponding 1‟s in B
1010 A before
1100 B
1110 A after
A← A B

 The selective-complement operation complements bits in A


where there are corresponding 1‟s in B
1010 A before
1100 B
0110 A after

A ← A⊕ B
 The selective-clear operation clears to 0 the bits in A only
where there are corresponding 1‟s in B
1010 A before
1100 B
0010 A after

A← A B

 The mask operation is similar to the selective-clear operation, except


that the bits of A are cleared only where there are corresponding 0‟s
in B

Computer Organization Page 11


Computer Organization
1010 A before
1100 B
1000 A
A←
A B
 The insert operation inserts a new value into a group of bits
 This is done by first masking the bits to be replaced and then Oring
them with the bits to be inserted
0110 1010 A before
0000 1111 B (mask)
0000 1010 A after masking

0000 1010 A before


1001 0000 B (insert)
1001 1010 A after insertion

 The clear operation compares the bits in A and B and produces an all
0‟s result if the two number are equal
1010 A
1010 B
0000 A ← A⊕ B
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 by
one position R1 ← shlR1

 The circular shift (aka rotate) 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

Computer Organization Page 12


Computer Organization

 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
 Arithmetic shifts must leave the sign bit unchanged
 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
theoverflow Vs = Rn-1 ⊕Rn-2

 A bi-directional shift unit with parallel load could be used to implement


this
 Two clock pulses are necessary with this configuration: one to load
the value and another to shift
 In a processor unit with many registers it is more efficient to
implement the shift operation with a combinational circuit
 The content of a register to be shifted is first placed onto a common
bus and the output is connected to the combinational shifter, the shifted
number is then loaded back into the register
 This can be constructed with multiplexers

Computer Organization Page 13


Computer Organization

Arithmetic Logic Shift Unit

 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

Computer Organization Page 14


Computer Organization

Computer Organization Page 15


Computer Organization

Computer Organization Page 16

You might also like