Пр о ц е с с о р TMS 3 2 0C4 x
165
||
ADDF3
R2, R3, R3
; a
cos+b
sin (Re)
MPYF3
+AR6(1),
+AR1(IR1), R1
; b
cos
(1:T
3
)
ADDF3
R3,
AR0, R2
; x+Re
(1:T
3
)
SUBF3
R3,
AR0, R2
; x-Re
(1:T
3
)
||
STF
R2,
AR0++
; x+Re
x'
SUBF3
R0, R1, R0
; b
cos-a
sin (Im)
(1:T
3
)
ADDF3
R0,
AR0, R2
; y+Im
(1:T
3
)
||
STF
R2,
AR6++
; x-Re
a'
SUBF3
R0,
AR0, R2
; y-Im
(1:T
3
)
||
STF
R2,
AR0++
; y+Im
y'
STF
R2,
AR6++
; y-Im
b'
T
3
= 12
(1:T
3
)
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
)
DBD
AR7, S_LOOP
;
(1:T
1
)
ASH
1, R9
;
(1:T
1
)
ASH
-1, R8
;
(1:T
1
)
LDI
AR5, AR4
;
конец цикла по ступеням
T
1
= 4
(1:T
1
)
.end
;
теоретический расчет времени выполнения БПФ
; Грубый расчет:
;
T
БПФ
= 1.3
(T
3
+ T
3
)(log
2
N)N/2 = 1.3
13
6
32 = 3245
; Точный расчет:
;
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
) =
; = 10 + 6
6 + 63
8 + 6
32
13 = 11 + 36 + 504 +2496 = 3047
; (время, измеренное в симуляторе, составляет 3110 циклов)
I...,155,156,157,158,159,160,161,162,163,164 166,167,168,169,170,171,172,173,174,175,...186