Section 8 Pipelining
SH7751 Group, SH7751R Group
Page 224 of 1128
R01UH0457EJ0301 Rev. 3.01
Sep 24, 2013
point operation, never occurs. For example, when FADD follows FDIV with no dependency
between floating-point registers, FADD is not stalled even if both instructions update the cause
field of FPSCR.
Anti-flow dependency can occur only between a preceding double-precision FADD, FMUL,
FSUB, or FTRV and a following FMOV, FLDI0, FLDI1, FABS, FNEG, or FSTS. See figure 8.3
(g).
If an executing instruction locks any resource—i.e. a function block that performs a basic
operation—a following instruction that attempts to use the locked resource is stalled (figure 8.3
(h)). This kind of stall can be compensated by inserting one or more instructions independent of
the locked resource to separate the interfering instructions. For example, when a load instruction
and an ADD instruction that references the loaded value are consecutive, the 2-cycle stall of the
ADD is eliminated by inserting three instructions without dependency. Software performance can
be improved by such instruction scheduling.
Other causes of a stall are as follows.
•
Instruction TLB miss
•
Instruction access to external memory (instruction cache miss, etc.)
•
Data access to external memory (operand cache miss, etc.)
•
Data access to a memory-mapped control register
During the penalty cycles of an instruction TLB miss or external instruction access, no instruction
is issued, but execution of instructions that have already been issued continues. The penalty for a
data access is a pipeline freeze: that is, the execution of uncompleted instructions is interrupted
until the arrival of the requested data. The number of penalty cycles for instruction and data
accesses is largely dependent on the user's memory subsystems.
Содержание SH7751 Group
Страница 2: ...Page ii of liv R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 30: ...Page xxx of liv R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 46: ...Page xlvi of liv R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 54: ...Page liv of liv R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 190: ...Section 4 Caches SH7751 Group SH7751R Group Page 136 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 226: ...Section 5 Exceptions SH7751 Group SH7751R Group Page 172 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 264: ...Section 7 Instruction Set SH7751 Group SH7751R Group Page 210 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 320: ...Section 9 Power Down Modes SH7751 Group SH7751R Group Page 266 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 344: ...Section 10 Clock Oscillation Circuits SH7751 Group SH7751R Group Page 290 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 388: ...Section 12 Timer Unit TMU SH7751 Group SH7751R Group Page 334 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 800: ...Section 17 Smart Card Interface SH7751 Group SH7751R Group Page 746 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 848: ...Section 19 Interrupt Controller INTC SH7751 Group SH7751R Group Page 794 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 876: ...Section 20 User Break Controller UBC SH7751 Group SH7751R Group Page 822 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 1036: ...Section 22 PCI Controller PCIC SH7751 Group SH7751R Group Page 982 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 1152: ...Appendix C Mode Pin Settings SH7751 Group SH7751R Group Page 1098 of 1128 R01UH0457EJ0301 Rev 3 01 Sep 24 2013 ...
Страница 1185: ......
Страница 1186: ... SH7751 Group SH7751R Group User s Manual Hardware R01UH0457EJ0301 Previous Number REJ09B0370 0400 ...