7-8
MPC7400 RISC Microprocessor Users Manual
AltiVec Technology and the Programming Model
but only after the second
dst
x
becomes non-branch-speculative (it can still be speculative
with respect to exceptions). If a third
dst
x
is ready for dispatch while the second is waiting
for branch-speculation to resolve, instruction dispatch stalls.
7.1.2.5 Static/Transient Data Stream Touch Instructions
The AltiVec ISA deTnes two of the
dst
x
instructions as static (
dst
,
dstst
) and two as
transient (
dstt
,
dststt
). Static data is likely to have a reasonable degree of locality and to be
referenced several times or over a reasonably long period of time. Transient data is assumed
to have poor locality and is likely to be referenced only a few times over a very short period
of time.
The MPC7400 supports both static and transient memory-access behavior. The
lvxl
and
stvxl
instructions are interpreted to access transient data.
7.1.2.5.1 Relationship with the sync/tblsync Instructions
If a
sync
instruction is executed while a
dst
x
is in progress, the following happens for each
of the four VTs:
¥
Any cache line fetch in progress continues until that single cache line reTll has
completed.
¥
The VTQ pauses and does not continue to its next line-fetch location.
¥
When all other necessary conditions are met in the machine, the
sync
instruction is
completed.
¥
The
dst
x
resumes with cache accesses/reloads to the next line-fetch location.
The net effect of the
sync
is a short pause in
dst
x
operation. Code sequences that are truly
intended to quiet the machine, like those used to enter reduced-power states, must use
dss
/
dssall
followed by a
sync
instruction to kill outstanding transactions initiated by
dst
x
instructions.
Note that a
tlbsync
instruction affects the VTQ identically as a
sync
instruction with the
following additional effect:
¥
An outstanding VTQ-initiated table search operation is canceled when a
tlbsync
is
dispatched to the LSU.
7.1.2.5.2 Data Stream Termination
If one of the conditions in Table 7-5 is determined to be true when a given line fetch of a
dst
x
stream is translated, the entire
dst
x
stream is terminated.
Note that this can occur in the middle of many line fetches for a
dst
x
stream.
If the condition involves page mapping and the
dst
x
stream speciTes an access that would
cross into another page, the processor does not attempt to continue the
dst
x
stream at those
new pages if it had an opportunity to fully translate the access.