Memory Control Instructions-Vea; Table 2-37. Memory Synchronization Instructions-Vea - IBM PowerPC 750GX User Manual

Risc microprocessor
Table of Contents

Advertisement

Table 2-37. Memory Synchronization Instructions—VEA
Name
Mnemonic
Enforce In-Order
eieio
Execution of I/O
Instruction
isync
Synchronize
2.3.5.3 Memory Control Instructions—VEA
Memory control instructions can be classified as follows:
• Cache-management instructions (user-level and supervisor-level)
• Segment Register manipulation instructions (OEA)
• Translation-lookaside-buffer management instructions (OEA)
This section describes the user-level cache-management instructions defined by the VEA. See
Section 2.3.6.3 on page 119 for information about supervisor-level cache, Segment Register manipulation,
and translation lookaside buffer management instructions.
User-Level Cache Instructions—VEA
The instructions summarized in this section help user-level programs manage on-chip caches if they are
implemented. See Chapter 3, Instruction-Cache and Data-Cache Operation, on page 121 for more informa-
tion about cache topics. The following sections describe how these operations are treated with respect to the
750GX's cache.
As with other memory-related instructions, the effects of cache-management instructions on memory are
weakly-ordered. If the programmer must ensure that cache or other instructions have been performed with
respect to all other processors and system mechanisms, a sync instruction must be placed after those
instructions.
Note that the 750GX interprets cache-control instructions (icbi, dcbi, dcbf, dcbz, and dcbst) as if they
pertain only to the local L1 and L2 cache. A dcbz (with M set) is always broadcast on the 60x bus. The dcbi,
dcbf, and dcbst operations are broadcast if HID0[ABE] is set.
The 750GX never broadcasts an icbi. Of the broadcast cache operations, the 750GX snoops only dcbz,
regardless of the HID0[ABE] setting. Any bus activity caused by other cache instructions results directly from
performing the operation on the 750GX cache. All cache-control instructions to a direct-store segment
(SR[T] = 1 space) are no-ops. For information on how cache-control instructions affect the L2, see Chapter 9,
L2 Cache, on page 323.
gx_02.fm.(1.2)
March 27, 2006
Syntax
The eieio instruction is dispatched to the LSU and executes after all previous cache-
inhibited or write-through accesses are performed. All subsequent instructions that gen-
erate such accesses execute after eieio. If HID0[ABE] = 1, an EIEIO operation is broad-
cast on the external bus to enforce ordering in the external memory system. The eieio
operation bypasses the L2 cache and is forwarded to the bus unit. If HID0[ABE] = 0, the
operation is not broadcast.
Because the 750GX does not reorder noncacheable accesses, eieio is not needed to
force ordering. However, if store gathering is enabled and an eieio is detected in a store
queue, stores are not gathered. If HID0[ABE] = 1, broadcasting eieio prevents external
devices, such as a bus bridge chip, from gathering stores.
The isync instruction is refetch serializing. That is, it causes the 750GX to purge its
instruction queue and wait for all prior instructions to complete before refetching the next
instruction, which is not executed until all previous instructions complete to the point
where they cannot cause an exception. The isync instruction does not wait for all pend-
ing stores in the store queue to complete. Any instruction after an isync sees all effects
of prior instructions.
IBM PowerPC 750GX and 750GL RISC Microprocessor
Implementation Notes
User's Manual
Programming Model
Page 115 of 377

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Powerpc 750gl

Table of Contents