Digital Signal Processing Reference
In-Depth Information
Fig. 7 Localized dependence
graph of convolution
algorithm
The dependence graph in Fig. 7 is shift-invariant in that the dependence vector
structure is identical of each (circled) lattice point of the iteration space. This
regularity and modularity is the key feature of a systolic computing algorithm that
lends itself for efficient systolic array implementation.
Due to the shift invariant nature, a DG of a localized RIA algorithm can be
conveniently represented by the set of indices
{
i ; p 0
Pi
q 0 }
and the dependence
vectors D at each index point.
3.4
Mapping an Algorithm to a Systolic Array
) Z + is a mapping from each index point i in the index space
R to a positive integer t( i ) which dictates when this iteration is to be executed. An
assignment A: i
A schedule S: i
t
(
i
p( i ) is a mapping from each index point i onto a PE index p( i )
where the corresponding iteration will be executed. Given the dependence graph of
a given algorithm, the development of a systolic array implementation amounts to
find a mapping of each index point i in the DG onto (p( i ), t( i )).
Toward this goal, two fundamental constraints will be discussed. First, it is
assumed that each PE can only execute one task (loop body) at a time. As such,
a resource constraint must be observed:
Resource Constraints
if t
(
i
)=
t
(
j
) ,
i
=
j
,
then p
(
i
) =
p
(
j
)
;andif p
(
i
)=
p
(
j
) ,
i
=
j
,
then t
(
i
) =
t
(
) .
(11)
j
In addition, the data dependence also imposes a partial ordering of schedule. This
data dependence constraint can be summarized as follows:
 
 
Search WWH ::




Custom Search