StarCore SC3400 DSP Subsystem
MSC8144E Reference Manual, Rev. 3
Freescale Semiconductor
1-13
matching index are valid, one of the cache lines is invalidated using the pseudo least recently
used (PLRU) algorithm and it is replaced by the new data.
In some operations, cache thrashing can occur. For example, suppose process A must be
preempted in favor of process B. While process B runs, the instructions of process A are
thrashed. When process B finishes and process A takes over, process A may not find its most
recently used instructions in the cache. Portions of the cache can be locked dynamically and
released to reduce the effect of cache thrashing in a multitasked application. All cache entries can
be invalidated by writing a cache invalidate command from the SC3400 core. This is useful, for
example, when new code is written to lines in the M2 memory that are already cached.
1.4.3 L1 Data Cache
The 32 KB DCache with DSP real-time support (DCache) is 8-way set associative. Each of the 8
ways contains sixteen 256-byte long lines and is divided into 16 fetch sets, each with an
associated valid bit and dirty (modify) bit. The 4-bit index field of the address serves as an index
to the line within the way. The line whose tag matches the tag field of the address is the selected
line. When a cache miss occurs, the new data is fetched in bursts of fetch sets. As in the ICache,
there is an option to have an interruptible pre-fetch until the end of the line and the burst size is
programmable through descriptors in the MMU. When there is a need to fetch new data to the
cache and all the ways of the matching index are valid, one of the lines of the cache is thrashed
into the WBB using the pseudo least recently used (PLRU) algorithm. It is then written back into
memory in programmable burst lengths. Portions of the cache can be locked dynamically and
released to reduce the effect of cache thrashing in a multitasked application.
The DCache uses the following three software-triggered operations for software coherency:
Invalidate memory zone. All lines belonging to the specified zone and a specific task are
treated as invalid. This instruction is used when the data in the cache is no longer
valid—for example, when the I/O device brings new data into the MSC8144E memory.
Flush memory zone. The DCache invalidates and writes to the MSC8144E memory all
lines belonging to the specified zone and a specific task. This instruction is typically used
when the SC3400 core needs to determine whether all the data resides in the destination
memory before another SC3400 core or an I/O device can use the data.
Synchronize memory zone. The DCache writes all the lines of the specified zone and a
specific task to the MSC8144E memory without invalidating them. This instruction is
useful when the SC3400 core needs to ensure that the data resides in the destination
memory but still may need to use it from the cache.
Any of these instructions run in the background while the SC3400 core is not stalled. The
SC3400 can determine that the instruction has finished executing by polling status or interrupt.
Содержание MSC8144E
Страница 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Страница 40: ...MSC8144E Reference Manual Rev 3 xl Freescale Semiconductor Contents 26 5 12 8 RNG Output FIFO 26 186 ...
Страница 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Страница 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Страница 167: ...OCE Event and JTAG Test Access Port Signals MSC8144E Reference Manual Rev 3 Freescale Semiconductor 3 59 ...
Страница 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Страница 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Страница 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Страница 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Страница 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Страница 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Страница 884: ...MSC8144E Reference Manual Rev 3 17 44 Freescale Semiconductor RapidIO Interface Dedicated DMA Controller ...
Страница 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...