CHAPTER 23 COPROCESSOR 0 HAZARDS
User’s Manual U14272EJ3V0UM
435
Table 23-2 indicates examples of calculation.
Table 23-2. Calculation Example of CP0 Hazard and Number of Instructions Inserted
Destination
Source
Contending
internal
resource
Number of
instructions
inserted
Formula
TLBWR/TLBWI
TLBP
TLB Entry
2
5 – (2 + 1)
TLBWR/TLBWI
Load or store using newly modified TLB
TLB Entry
1
5 – (3 + 1)
TLBWR/TLBWI
Instruction fetch using newly modified TLB
TLB Entry
2
5 – (2 + 1)
MTC0, Status [CU]
Coprocessor instruction that requires the setting
of CU
Status [CU]
2
5 – (2 + 1)
TLBR
MFC0 EntryHi
EntryHi
1
5 – (3 + 1)
MTC0 EntryLo0
TLBWR/TLBWI
EntryLo0
2
5 – (2 + 1)
TLBP
MFC0 Index
Index
2
6 – (3 + 1)
MTC0 EntryHi
TLBP
EntryHi
2
5 – (2 + 1)
MTC0 EPC
ERET
EPC
2
5 – (2 + 1)
MTC0 Status
ERET
Status
2
5 – (2 + 1)
MTC0 Status [IE]
Note
Instruction that causes an interrupt
Status [IE]
2
5 – (2 + 1)
Note The number of hazards is undefined if the instruction execution sequence is changed by exceptions. In
such a case, the minimum number of hazards until the IE bit value is confirmed may be the same as the
maximum number of hazards until an interrupt request occurs that is pending and enabled.
Remark
Brackets indicate a bit name or a field name of registers.