Пр о ц е с с о р TMS 3 2 0C4 x
          
        
        
          
            163
          
        
        
          
            SUBF3
          
        
        
          ∗
        
        
          
            +AR6,
          
        
        
          ∗
        
        
          
            +AR0, R1
          
        
        
          ; b - q
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            ADDF3
          
        
        
          ∗
        
        
          
            AR0,
          
        
        
          ∗
        
        
          
            AR6, R0
          
        
        
          ; a + p
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            ADDF3
          
        
        
          ∗
        
        
          
            +AR0,
          
        
        
          ∗
        
        
          
            +AR6, R3
          
        
        
          ; b + q
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            MPYF3
          
        
        
          
            R2,
          
        
        
          ∗
        
        
          
            +AR1(IR1), R0
          
        
        
          ; (a-p)cos
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            ||
          
        
        
          
            STF
          
        
        
          
            R0,
          
        
        
          ∗
        
        
          
            AR0++
          
        
        
          ; a+p
        
        
          →
        
        
          Re(x[k])
        
        
          
            MPYF3
          
        
        
          
            R1,
          
        
        
          ∗
        
        
          
            AR1, R3
          
        
        
          ; (b-q)sin
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            ||
          
        
        
          
            STF
          
        
        
          
            R3,
          
        
        
          ∗
        
        
          
            AR0++
          
        
        
          ; b+q
        
        
          →
        
        
          Im(x[k])
        
        
          
            ADDF
          
        
        
          
            R3, R0
          
        
        
          ; (b-q)sin + (a-p)cos
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            MPYF3
          
        
        
          
            R2,
          
        
        
          ∗
        
        
          
            AR1, R0
          
        
        
          ; (a-p)sin
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            ||
          
        
        
          
            STF
          
        
        
          
            R0,
          
        
        
          ∗
        
        
          
            AR6++
          
        
        
          ; (b-q)sin + (a-p)cos
        
        
          →
        
        
          Re(x[k+R])
        
        
          
            MPYF3
          
        
        
          
            R1,
          
        
        
          ∗
        
        
          
            +AR1(IR1),R3
          
        
        
          ; (b-q)cos
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            SUBF
          
        
        
          
            R0, R3
          
        
        
          ; (b-q)cos - (a-p)sin
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          
            STF
          
        
        
          
            R3,
          
        
        
          ∗
        
        
          
            AR6++
          
        
        
          ; (b-q)cos - (a-p)sin
        
        
          →
        
        
          Im(x[k+R])
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          
            )
          
        
        
          ;
        
        
          
            T
          
        
        
          
            3
          
        
        
          
            = 11
          
        
        
          
            B_LOOP ADDIR8, AR1
          
        
        
          ;
        
        
          
            T
          
        
        
          
            3
          
        
        
          ′
        
        
          
            = 1
          
        
        
          
            (1:T
          
        
        
          
            3
          
        
        
          ′
        
        
          
            )
          
        
        
          ∗
        
        
          end of butterfly loop
        
        
          ;
        
        
          
            
              конец цикла по “бабочкам”
            
          
        
        
          
            DBD
          
        
        
          
            AR2, G_LOOP
          
        
        
          ;
        
        
          
            (1:T
          
        
        
          
            2
          
        
        
          ′
        
        
          
            )
          
        
        
          
            ADDIIR0, AR4
          
        
        
          ;
        
        
          
            (1:T
          
        
        
          
            2
          
        
        
          ′
        
        
          
            )
          
        
        
          
            ADDIIR0, AR4
          
        
        
          ;
        
        
          
            (1:T
          
        
        
          
            2
          
        
        
          ′
        
        
          
            )
          
        
        
          
            NOP
          
        
        
          ;
        
        
          
            
              конец цикла по группам
            
          
        
        
          
            T
          
        
        
          
            2
          
        
        
          ′
        
        
          
            = 4
          
        
        
          
            (1:T
          
        
        
          
            2
          
        
        
          ′
        
        
          
            )
          
        
        
          
            ASH
          
        
        
          
            1, R8
          
        
        
          ;
        
        
          
            (1:T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            )
          
        
        
          
            DBD
          
        
        
          
            AR7, S_LOOP
          
        
        
          ;
        
        
          
            (1:T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            )
          
        
        
          
            LDI
          
        
        
          
            R9, IR0
          
        
        
          ; IR0 = R9
        
        
          
            (1:T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            )
          
        
        
          
            ASH
          
        
        
          
            -1, R9
          
        
        
          ; R9 = R9/2
        
        
          
            (1:T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            )
          
        
        
          
            LDI
          
        
        
          
            AR5, AR4
          
        
        
          ;
        
        
          
            
              конец цикла по ступеням
            
          
        
        
          
            T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            = 5
          
        
        
          
            (1:T
          
        
        
          
            1
          
        
        
          ′
        
        
          
            )
          
        
        
          
            NOP
          
        
        
          
            .end
          
        
        
          ;
        
        
          
            теоретический расчет времени выполнения БПФ
          
        
        
          ; Грубый расчет:
        
        
          ;
        
        
          T
        
        
          БПФ
        
        
          = 1.3
        
        
          ∗
        
        
          (T
        
        
          3
        
        
          + T
        
        
          3
        
        
          ′
        
        
          )(log
        
        
          2
        
        
          N)N/2 = 1.3
        
        
          ⋅
        
        
          12
        
        
          ⋅
        
        
          6
        
        
          ⋅
        
        
          32 = 2995
        
        
          ; Точный расчет:
        
        
          ;
        
        
          T
        
        
          БПФ
        
        
          = T
        
        
          0
        
        
          + log
        
        
          2
        
        
          N (T
        
        
          1
        
        
          +T
        
        
          1
        
        
          ′
        
        
          ) + (N-1)(T
        
        
          2
        
        
          +T
        
        
          2
        
        
          ′
        
        
          ) + (log
        
        
          2
        
        
          N)(N/2)(T
        
        
          3
        
        
          +T
        
        
          3
        
        
          ′
        
        
          ) =
        
        
          ; = 11 + 6
        
        
          ⋅
        
        
          6 + 63
        
        
          ⋅
        
        
          11 + 6
        
        
          ⋅
        
        
          32
        
        
          ⋅
        
        
          12 = 11 + 36 + 693 +2304 = 3044
        
        
          ; (время, измеренное в симуляторе, составляет 3048 циклов)