Chapter 4 Â… Register Transfer and Microoperations

size=-1 color=blue>
« back to results for ""
Below is a cache of http://www.cs.gsu.edu/~agb/csc4210/Chap4.pdf. It's a snapshot of the page taken as our search engine crawled the Web.
The web site itself may have changed. You can check the current page or check for previous versions at the Internet Archive. Yahoo! is not affiliated with the authors of this page or responsible for its content.
Chapter 4 … Register Transfer and Microoperations Chapter 4 Register Transfer and Microoperations

Section 4.1 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

Section 4.2 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</i>-bit register are numbered in sequence from 0 to
n</i>-1
Refer to Figure 4.1 for the different representations of a register


1

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,

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


2

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



3 Section 4.3 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



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

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


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

Section 4.4 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

6 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
1s complement of R2)
Adding 1 to the 1s complement produces the 2s complement
Adding the contents of R1 to the 2s complement of R2 is equivalent to
subtracting


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

7

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</i>-bit binary adder requires n full-adders


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

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

Get the 2s 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

8

An n</i>-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 + C
in


9


10

Section 4.5 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
0110 Content of R1 after P = 1

Symbols used for logical microoperations:
o

OR:

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 R6