Datapaths - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Datapaths

Description:

... the previous flowcharts we used symbols to represent variables that could hold ... The Control Unit is in it's simplest form a Finite State Machine. ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 14
Provided by: lakshm1
Category:

less

Transcript and Presenter's Notes

Title: Datapaths


1
Datapaths Control Unitspart I
  • Lecture 15

2
Algorithmic Computations
We wish to develop a systematic procedure that we
can use to design hardware to perform Algorithmic
Computations.
The purpose of this discussion is to develop
hardware. We are not concerned with the process
of creating algorithms. Do not be distracted by
the small details. Keep your focus on the overall
structure.
3
Examples of Algorithms
2a) R YX can be computed by multiplying Y by
itself X times. R (Y)(Y).(Y) iterated X
times.
4
Defining a Calculation Entity
Before proceeding we must have some idea of how
our Calculation Entity is to be used in relation
to other circuits.
We shall pretend that the operands and results
are all stored in a memory bank. There is another
external circuit that coordinates the memory
accesses with our Entity using two signals called
Start and Done.
  • For all clock cycles that the Calculation Entity
    is busy in the middle of a calculation, Done
    0.
  • The signal Done 1 when the Result is correct
    and both the Done signal and the Result hold
    their values until it is time for a new
    calculation.
  • A calculation begins on the first clock edge
    when Start 1.
  • The Operands are assumed to have their correct
    values whenever Start 1.

5
Coordinating Data Transfers
The Start and Operands are ignored during any
clock cycles that the Calculation Entity is busy
in the middle of a calculation. (This choice
prevents a calculation from being aborted in the
middle. We could have chosen a different protocol
that allows calculations to be interrupted before
they complete)
6
Operand and Result Representations
We must also define the precise meaning of all
the bits in the Operands and Result. Example
  • 2) Powers
  • both X and Y are 4-bit unsigned binary integer.
    Notice that 1515 4.3 x 1017 . The result is so
    large that we should probably consider coding the
    result as a floating-point number. We will have
    to be specific about the details of the floating
    point representation but we can postpone these
    details till later.
  • 3) Reciprocals
  • Let us say that X is an 6-bit unsigned binary
    fraction, where 0.5 X ! 1 .
  • Thus 1 ! R 2.
  • (Notice that we cannot allow X 0.) For
    simplicity we shall choose R to be an 8-bit
    number, the two MSBs for the integer and 6 LSBs
    to represent the fractional part. We may have to
    change the choice later.

7
Single Cycle Circuitry
Now we try some rough sketches of purely
combinational circuits that perform the
calculation in a single cycle.
Notice that algorithm (2a) cannot be implemented
as a purely combinational circuit.
8
Algorithm Flowcharts
9
Basic Structure of the Flowcharts
  • The flowcharts have lots of features in common.
  • Main Variables are initialized in the beginning.
  • Loop Control Variables are initialized in the
    beginning.
  • There is a test to determine whether the
    calculation is DONE.
  • The main variables are accessed and updated
    inside the main loop.
  • The loop control variables are updated inside the
    main loop.

10
Using Registers for Variables
In the previous flowcharts we used symbols to
represent variables that could hold relevant
information about the calculation. In some cases
the variables held intermediate values of data
and in other cases the variables held information
that was needed to control the flow of the
calculation. Ie. Loop counters.
In circuitry, these variables must be implemented
as registers that update their contents every
clock cycle. We must introduce some additional
control signals that allow us to choose the
exact clock cycle when a register must change to
a new value.
11
Microoperations
In addition to simple movement of data we also
have situations whereby simple transformations
occur on the data as it is being copied. These
transformations are called Microoperations The
Algorithm can be viewed as a collection of
microoperations being sequenced in the correct
order as specified by the flowchart.
12
Register Transfer Statements
The register transfers are controlled by
specific variables. We have many possible
situations that could occur.
a X ) X Y b Y ) X Z This reads
Register X is updated with the sum of the
values from register X and Y on every clock cycle
when a 1 and also Register Y is updated with
the sum of the values from register X and Z on
every clock cycle when b 1
a X ) Y b X ) Z This example has a
problem. If both a 1 and b 1 in the same
cycle the value of register X is ambiguous. We
solve the problem by making the conditions
mutually exclusive.
OR
13
Partitioning the Calculation Entity
We have finally arrived at the conclusion. The
final circuit can be divided into TWO separate
sub-circuits, called the Datapath and the Control
Unit. The Datapath is the part of the circuit
that contains all the registers and all the
combinational circuitry that perform the
microoperations. The Control Unit is in its
simplest form a Finite State Machine. The outputs
of this finite state machine are the control
signals that coordinate register transfers. The
inputs to this FSM are the status signals that
are derived from the contents of the datapath
registers.
Write a Comment
User Comments (0)
About PowerShow.com