MSC8144E Reference Manual, Rev. 3
11-16
Freescale
Semiconductor
Internal Memory Subsystem
invalidates a line if the line address matches the defined address range. The L2 ICache sweep
operation is typically done as a background operation. To minimize the sweep operation period,
you should prevent accesses during the sweep operation period.
Sweep programming has an effect only at the cycle in which a new sweep operation begins. The
address boundaries are also sampled at this cycle. Once the sweep process is finished over all
cache lines, the Cache Command Enable bit in L2IC_CR1 is cleared by hardware.
Different processes that are not aware of each other might try to initiate a sweep operation while
another is still performing. The hardware supports only one sweep operation at a time. Also,
since sweep operation requires preprogramming, nested software sweep operations might
override other programming. L2 ICache does not support nested sweeps. The programer should
use semaphore and follow the next steps to avoid nested sweeps.
Verify that 0 is written to the dedicated semaphore.
Use a BMTSET command to write 1 to the semaphore.
Initiate the sweep command by writing 1 to the L2IC_CR1[CE] bit.
Poll the sweep status (the L2IC_CR1[CE] bit) until it is low (this bit is cleared by
hardware at the end of the sweep) and then write 0 to the dedicated semaphore.
While using sweep operation, it is recommended to prevent situations in which there is an
accesses to the memory space on which sweep operation is executed. If such situation
does occur, however, sweep command or an access may override each other (a later event
overrides an earlier one).
You should use a central routine to manage the sweep operations that is called whenever a
sweep is needed.
An L2 ICache sweep operation initiation attempt is ignored when cache debug mode is
enabled.
11.4.6.6.1 Invalidation Sweep
Invalidation of a line is executed by clearing all VBRs valid bits in the line. This operation is
executed in a single clock cycle.
Note:
The PLRU mechanism takes into consideration line invalidation by sweep command,
and mark invalidated lines as least recently used, unless this line is locked by the
PLRU lock mechanism. An update of VBRs valid bit during Fetch/Prefetch operation
is done only if the line Tag is valid. This is to ignore Prefetch on invalidated lines.
11.4.6.6.2 L2 ICache Global Sweep Operation
If Cache Global Sweep bit in L2IC_CR1 is set, the sweep command ignores the programmed
sweep address space and the address comparators are disabled. In such a case, the sweep
command is performed on all cache lines. Note that global invalidation is performed in parallel
on all cache lines in one cycle, not serially.
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...