Instruction-Cache Flash Invalidation; Enabling And Disabling The Instruction Cache; Locking The Instruction Cache; Cache-Control Instructions - IBM PowerPC 750GX User Manual

Risc microprocessor
Table of Contents

Advertisement

User's Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor

3.4.1.4 Instruction-Cache Flash Invalidation

The instruction cache is automatically invalidated when the 750GX is powered up and during a hard reset.
However, a soft reset does not automatically invalidate the instruction cache. Software must use the HID0
instruction-cache flash invalidate bit (HID0[ICFI]) if instruction-cache invalidation is desired after a soft reset.
Once HID0[ICFI] is set through an mtspr operation, the 750GX automatically clears this bit in the next clock
cycle (provided that the instruction cache is enabled in the HID0 Register).
Note: Some PowerPC microprocessors accomplish instruction-cache flash invalidation by setting and clear-
ing HID0[ICFI] with two consecutive mtspr instructions (that is, the bit is not automatically cleared by the
microprocessor). Software that has this sequence of operations does not need to be changed to run on the
750GX.

3.4.1.5 Enabling and Disabling the Instruction Cache

The instruction cache can be enabled or disabled through the use of the instruction-cache enable bit,
HID0[ICE]. HID0[ICE] is cleared on power-up, disabling the instruction cache.
When the instruction cache is in the disabled state (HID[ICE] = 0), the cache tag state bits are ignored, and all
instruction fetches are propagated to the L2 cache or 60x bus as single-beat transactions. Note that the CI
signal always reflects the state of the caching-inhibited memory/cache access attribute (the I bit) independent
of the state of HID0[ICE]. Also note that disabling the instruction cache does not affect the translation logic;
translation for instruction accesses is controlled by MSR[IR].
The setting of the ICE bit must be preceded by an instruction sync (isync) instruction to prevent the cache
from being enabled or disabled in the middle of an instruction fetch. In addition, the cache must be globally
flushed before it is disabled to prevent coherency problems when it is re-enabled. The Instruction Cache
Block Invalidate (icbi) instruction is not affected by disabling the instruction cache.

3.4.1.6 Locking the Instruction Cache

The contents of the instruction cache can be locked by setting the instruction-cache lock bit, HID0[ILOCK]. An
instruction fetch that hits in a locked instruction cache is serviced by the cache. However, all accesses that
miss in the locked cache are propagated to the L2 cache or 60x bus as single-beat transactions. Note that the
CI signal always reflects the state of the caching-inhibited memory/cache access attribute (the I bit) indepen-
dent of the state of HID0[ILOCK].
The setting of the ILOCK bit must be preceded by an isync instruction to prevent the instruction cache from
being locked during an instruction fetch.

3.4.2 Cache-Control Instructions

The PowerPC Architecture defines instructions for controlling both the instruction and data caches (when
they exist). The cache-control instructions, dcbt, dcbtst, dcbz, dcbst, dcbf, dcbi, and icbi, are intended for
the management of the local L1 and L2 caches. The 750GX interprets the cache-control instructions as if they
pertain only to its own L1 or L2 caches. These instructions are not intended for managing other caches in the
system (except to the extent necessary to maintain coherency).
The 750GX does not snoop cache-control instruction broadcasts, except for Data Cache Block Zero (dcbz)
when M = 1. The dcbz instruction is the only cache-control instruction that causes a broadcast on the 60x bus
(when M = 1) to maintain coherency. All other data cache-control instructions (dcbi, dcbf, dcbst, and dcbz)
gx_03.fm.(1.2)
Instruction-Cache and Data-Cache Operation
March 27, 2006
Page 133 of 377

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Powerpc 750gl

Table of Contents