VFP Instruction Execution
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
21-13
ID012310
Non-Confidential, Unrestricted Access
21.7
Data hazards in full-compliance mode
The sections that follow give examples of data hazards in full-compliance mode:
•
Status register RAW hazard example
•
Load multiple-CDP RAW hazard example
•
CDP-CDP RAW hazard example
on page 21-14
•
Load multiple-short vector CDP RAW hazard example
on page 21-14
•
Short vector CDP-load multiple WAR hazard example
on page 21-15.
21.7.1
Status register RAW hazard example
In Example 21-4, the FMSTAT is stalled for four cycles in the Decode stage until the FCMPS
updates the condition codes in the FPSCR register. Two cycles later, the FMSTAT writes the
condition codes to the ARM11 processor.
Example 21-4 FCMPS-FMSTAT RAW hazard
FCMPS S1, S2
FMSTAT
Table 21-6 lists the VFP11 pipeline stages for Example 21-4.
21.7.2
Load multiple-CDP RAW hazard example
In Example 21-5, the FADDS is stalled in the Issue stage for six cycles until the FLDM makes
its last transfer to the VFP11 coprocessor. S15 is forwarded from the load in cycle 9 to the
FADDS.
Example 21-5 FLDM-FADDS RAW hazard
FLDM [Rx], {S8-S15}
FADDS S1, S2, S15
Table 21-6 FCMPS-FMSTAT RAW hazard
Instruction cycle number
Instruction
1
2
3
4
5
6
7
8
9
10
11
FCMPS
D
I
E1
E2
E3
E4
-
-
-
-
-
FMSTAT
-
D
D
D
D
D
I
E
M1
M2
W