Page 332 - DSP Integrated Circuits
P. 332

7.6 Scheduling Algorithms                                             317



        EXAMPLE 7.5
        Calculate the forces in the preceding example.
            The operations to the left in Figure 7.42 are all fixed. Assigning one of these
        will not alter any time frames. This means that these operations all have a total
        force equal to zero. The remaining operations, mi, m%, and ai, will have forces
        according to Figure 7.44. The first of the three columns for an operation is the self
        force, the second is the indirect force, and the third is the total force.
            The least total force is associated with assigning mi or 7712 to time slot 3. We
        choose to assign mi. This will lock ai to time slot 4 and the only remaining move-
        able operation will be m^. When an operation has been assigned, the time frames
        of the adjacent operations are changed—i.e., we have to recalculate the distribu-
        tion graph and the forces for adjacent operations before proceeding with the next
        operation. In our case we recalculate the time frame of m^ and the DG for the
        multiplication.



                       mi                    ni2                    ai
                Self Indirect Total   Self Indirect Total   Self Indirect Total

                 I      o      ±      ±       0      I I -                -
        ~~1 1           U
                 3             3      3       °      3
          o     _ ?    _ 1     _ 5    _ 2    _ 1     _ 5     1      8      „
                 3      6       6      3      6      6      3       3

          <?    _ 2    _ 2    _ 4     _ 2    _ 2    _ 4      4      2      -
                 3      3       3      3      3      3       3      3

          «     -       -      -      -      -       -      - I     o - I


        Figure 7.44 Forces associated with assigning operations mi, m%, and a\ to different control
                  steps. Self, indirect, and total force for each combination




        7.6.6 Cyclo-Static Scheduling
        The theory of cyclo-static processor schedules was developed by Schwartz and
        Barnwell [22, 23]. An operation schedule is a specification of which operations
        should be performed at all time instances, while a processor schedule is a speci-
        fication of which operations are performed on each processor at all time
        instances. Thus, a processor schedule is an operation schedule including proces-
        sor assignment.
            The processor schedule for one sample interval is considered as a pattern in
        the processor-time space, P x T. The processors are indexed cyclically, i.e., if we
        have N processors, the processors are indexed modulo(AT). In general, the proces-
        sor space is multidimensional. Further, a displacement vector is defined in proces-
        sor space between two iterations. Together, the time and processor displacements
        form the principal lattice vector, L, in the processor-time space IP x T.
   327   328   329   330   331   332   333   334   335   336   337