Instruction Model
PowerPC e500 Core Family Reference Manual, Rev. 1
Freescale Semiconductor
3-41
See
Section 3.3.1.8.1, “User-Level Cache Instructions
,” for cache instructions that provide
user-level programs the ability to manage the on-chip caches.
3.3.2.2.2
Supervisor-Level TLB Management Instructions
The address translation mechanism is defined in terms of TLBs and page table entries (PTEs)
Book E processors use to locate the logical-to-physical address mapping for a particular access.
See
Chapter 12, “Memory Management Units,”
for more information about TLB operations.
Table 3-30
summarizes the operation of the TLB instructions in the e500.
Table 3-29. Supervisor-Level Cache Management Instruction
Name
Mnemonic Syntax
Implementation Notes
Data
Cache
Block
Invalidate
dcbi
r
A
,r
B
dcbi
executes as described in Book E. The e500 core invalidates the cache block without
pushing it out to memory. See
Section 3.3.1.8.1, “User-Level Cache Instructions.”
In the e500,
dcbi
cannot generate a cache-locking exception
.
The e500 broadcasts
dcbi
only if HID1[ABE]
is set. ABE must be set to allow management of external L2 caches (for implementations with
L2 caches) and other L1 caches in the system.
Table 3-30. TLB Management Instructions
Name Mnemonic
Syntax
Implementation
Notes
TLB
Invalidate
Virtual
Address
Indexed
tlbivax
r
A
,
r
B
A TLB invalidate operation is performed whenever
tlbivax
is executed.
tlbivax
invalidates
any TLB entry that corresponds to the virtual address calculated by this instruction as long
as IPROT is not set; this includes invalidating TLB entries contained in TLBs on other
processors and devices in addition to the processor executing
tlbivax
. Thus, an invalidate
operation is broadcast throughout the coherent domain of the processor executing
tlbivax
.
For more information see
Section 12.3, “Translation Lookaside Buffers (TLBs)
.”
On some implementations, HID1[ABE] must be set to allow management of external L2
caches (for implementations with L2 caches) as well as other L1 caches in the system.
TLB Read
Entry
tlbre
—
tlbre
causes the contents of a single TLB entry to be extracted from the MMU and be placed
in the corresponding fields of the MMU assist (MAS) registers. The entry extracted is
specified by the TLBSEL, ESEL, and EPN fields of MAS0 and MAS2. The contents
extracted from the MMU are placed in MAS0–MAS3. Note that for the e500v2, if
HID0[EN_MAS7_UPDATE] = 1, MAS7 is also updated with the four highest-order bits of
physical address for the TLB entry. See
Section 12.3, “Translation Lookaside Buffers
(TLBs)
.”
The RTL for the Freescale implementation of
tlbre
is as follows:
tlb_entry_id = MAS0(TLBSEL, ESEL | MAS2(EPN)
result = MMU(tlb_entry_id)
MAS0, MAS1, MAS2, MAS3, (and MAS7 if HID0[EN_MAS7_UPDATE] = 1) =
result
Содержание PowerPC e500 Core
Страница 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Страница 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Страница 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Страница 316: ...PowerPC e500 Core Family Reference Manual Rev 1 7 18 Freescale Semiconductor Performance Monitor...
Страница 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Страница 362: ...PowerPC e500 Core Family Reference Manual Rev 1 10 26 Freescale Semiconductor Auxiliary Processing Units APUs...
Страница 440: ...PowerPC e500 Core Family Reference Manual Rev 1 A 8 Freescale Semiconductor Programming Examples...
Страница 444: ...PowerPC e500 Core Family Reference Manual Rev 1 B 4 Freescale Semiconductor Guidelines for 32 Bit Book E...
Страница 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Страница 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...