EasyManua.ls Logo

Cray CRAY-1 - Vector Functional Unit Reservation; Recursive Characteristic of Vector Functional Units

Default Icon
216 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Three
functional units are exclusively associated with vector operations
and
are described in
this
subsection.
Three
functional units are associated
~
with both vector operations
and
scalar
operations
and
are described in the
subsection
entitled
Floating Point Functional Units.
When
a floating point
unit
is
used
for a vector operation, the general description of vector
functional units given in
this
subsection applies.
Vector functional unit reservation
A functional unit
engaged
in a vector operation remains
busy
during
each
clock period
and
may
not
participate
in other operations.
In
this
state,
the functional unit
is
said to
be
reserved. Other
instructions
that
require the
same
functional unit will not issue until the previous
operation
is
completed.
Only
one
functional unit of
each
type
is
available to the vector
instruction
hardware.
When
the vector operation
completes, the reservation
is
dropped
and
the functional unit
is
then
available for another operation.
Recursive
characteristic
of vector functional units
In
a vector operation, the
result
register
(designated
by
i in the
instruction)
is
not normally the
same
V
register
as
the source of
either
of the operands (designated
by
j or k).
However,
turning the output
stream of a vector functional
unit
back
into the input stream
by
setting
i to the
same
register
designator
as
j or k
may
be
desirable under certain
circumstances since
it
provides a
facility
for reducing
64
elements
down
to
just
a
few.
The
number
of terms generated
by
the
partial
reduction
is
determined
by
the
number
of values
that
can
be
in process in a functional
unit
at
one
time
(i.e.,
functional unit time +
2CP).
When
the i designator
is
the
same
as
the j or k designator, a recursive
characteristic
is
introduced into the vector processing because of the
way
in
which
element counters are handled.
At
the beginning
of
an
operation
for
which
i
is
the
same
as
j or k, the element counters for both the operand
register
and
the operand/result
register
are
set
to zero.
The
element
counter for the operand/result
register
is
held
at
zero
and
does
not begin
2240004
3-14
E

Table of Contents