Пр о ц е с с о р 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 циклов)