3.3
Moves from FPU Registers to C28x Registers
3.4
Moves from C28x Registers to FPU Registers
www.ti.com
Moves from FPU Registers to C28x Registers
Example 3-1. 2p Instruction Pipeline Alignment
ADDF32 R0H, #1.5, R1H
; 2 pipeline cycles (2p)
NOP
; 1 cycle delay or non-conflicting instruction
; <-- ADDF32 completes, R0H updated
NOP
; Any instruction
When transferring from the floating-point unit registers to the C28x CPU registers, additional pipeline
alignment is required as shown in
and
Example 3-2. Floating-Point to C28x Register Software Pipeline Alignment
;
MINF32: 32-bit floating-point minimum: single-cycle operation
;
An alignment cycle is required before copying R0H to ACC
MINF32
R0H, R1H
; Single-cycle instruction
; <-- R0H is valid
NOP
; Alignment cycle
MOV32
@ACC, R0H
; Copy R0H to ACC
For 1-cycle FPU instructions, one delay slot is required between a write to the floating-point register and
the transfer instruction as shown in
. For 2p FPU instructions, two delay slots are required
between a write to the floating-point register and the transfer instruction as shown in
.
Example 3-3. Floating-Point to C28x Register Software Pipeline Alignment
;
ADDF32: 32-bit floating-point addition: 2p operation
;
An alignment cycle is required before copying R0H to ACC
ADDF32
R0H, R1H, #2
; R0H = R1H + 2, 2 pipeline cycle instruction
NOP
; 1 delay cycle or non-conflicting instruction
; <-- R0H is valid
NOP
; Alignment cycle
MOV32
@ACC, R0H
; Copy R0H to ACC
Transfers from the standard C28x CPU registers to the floating-point registers require four alignment
cycles. In this case the four alignment cycles can be filled with NOPs or any non-conflicting instruction
except for FRACF32, UI16TOF32, I16TOF32, F32TOUI32, and F32TOI32. These instructions cannot
replace any of the four alignment NOPs.
Example 3-4. C28x Register to Floating-Point Register Software Pipeline Alignment
;
Four alignment cycles are required after copying a standard 28x CPU
;
register to a floating-point register.
;
MOV32
R0H,@ACC
; Copy ACC to R0H
NOP
NOP
NOP
NOP
; Wait 4 cycles
ADDF32
R2H,R1H,R0H
; R0H is valid
SPRUEO2A – June 2007 – Revised August 2008
Pipeline
23
Содержание TMS320C28 series
Страница 2: ...2 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Страница 12: ...Introduction 12 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Страница 20: ...CPU Register Set 20 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Страница 136: ...Instruction Set 136 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...