Instruction Cache (ICache)
MSC8113 Reference Manual, Rev. 0
Freescale Semiconductor
9-29
— The tag field partitions the external memory into 64 KB segments
— The index field partitions each tag-defined area into 16 KB segments
— The position bits partition each index-defined area into 16-bit segments (fetch sets)
Replacement Algorithm. An algorithm that determines which line to replace when a miss
occurs. The ICache uses the Least Recently Used (LRU) algorithm; that is, the line for a
specific index number in a way that is marked as least-recently-used (LRU = 0) is replaced
on a miss.
9.4.2 Debugging
The ICache debugging includes either run-time debug or Debug mode. The ICache enters Debug
mode by setting a user-programmable bit in the ICache Control Register (ICCR). This Debug
mode is not related to the SC140 Debug mode, so that the ICache can be in Debug mode while
the SC140 core is in a normal running mode and vice versa. This schema is necessary because the
SC140 core enters and exits Debug mode regardless of the extended core status, which may cause
contentions between the ICache debug mechanisms and normal work mode. Entering Debug
mode immediately stops the ICache update mechanism (load of new data by the fetch unit),
regardless of the fetch unit status. In Debug mode, the ICache does not issue any hits (as it does
in Lock mode) or perform thrashes. Debug mode is only for viewing the ICache status and
breakpoint support.
The EOnCE module performs run-time debugging, which counts the hit and miss signals sent by
the ICache. Each time the ICache answers an external access, a hit flag is raised for a counter in
the EOnCE module. If a new meaningful cacheable area access is not found in the ICache, a miss
flag goes up.
Note:
To use the run-time debugging for the ICache, you must configure the EOnCE counter
through the Event Counter Register (ECNT_CTRL). To enable the counter, write
0b1111 to the Event Counter Enable (ECNTEN) field in ECNT_CTRL. To count
cache hits, write 0b1101 to the Events to Be Counted (ECNTWHAT) field in
ECNT_CTRL. To count cache misses, write 0b1110 to the ECNTWHAT field. For
details on EOnCE configuration, see the SC140 extended core header and the SC140
DSP Core Reference Manual.
In Debug mode, the SC140 core can read the ICache status (regular memory read). The ICache
status consists of the contents of the tag array, valid bit array, and LRU registers. The status can
give you a more in-depth view of ICache usage and bottlenecks (compared to the hit/miss count)
when code performance is optimized. This information can also help devise LRU boundary
allocation schemes for multi-task support.
Each main ICache resource (tag array, valid bit array, and LRU machine) has a memory-mapped
status register that holds 16 bits of the contents of the resource to which it belongs. To read the
ICache status, the SC140 core performs a read from a specific memory address. The contents of
Summary of Contents for MSC8113
Page 1: ...MSC8113 Reference Manual Tri Core 16 Bit Digital Signal Processor MSC8113RM Rev 0 May 2008 ...
Page 20: ...MSC8113 Reference Manual Rev 0 xx Freescale Semiconductor Contents ...
Page 28: ...MSC8113 Reference Manual Rev 0 xxviii Freescale Semiconductor ...
Page 56: ...MSC8113 Reference Manual Rev 0 1 28 Freescale Semiconductor MSC8113 Overview ...
Page 76: ...MSC8113 Reference Manual Rev 0 2 20 Freescale Semiconductor SC140 Core Overview ...
Page 134: ...MSC8113 Reference Manual Rev 0 4 30 Freescale Semiconductor System Interface Unit SIU ...
Page 168: ...MSC8113 Reference Manual Rev 0 6 18 Freescale Semiconductor Boot Program ...
Page 180: ...MSC8113 Reference Manual Rev 0 7 12 Freescale Semiconductor Clocks ...
Page 260: ...MSC8113 Reference Manual Rev 0 8 80 Freescale Semiconductor Memory Map ...
Page 300: ...MSC8113 Reference Manual Rev 0 9 40 Freescale Semiconductor Extended Core ...
Page 304: ...MSC8113 Reference Manual Rev 0 10 4 Freescale Semiconductor MQBus and M2 Memory ...
Page 308: ...MSC8113 Reference Manual Rev 0 11 4 Freescale Semiconductor SQBus ...
Page 590: ...MSC8113 Reference Manual Rev 0 17 46 Freescale Semiconductor Interrupt Processing ...
Page 614: ...MSC8113 Reference Manual Rev 0 18 24 Freescale Semiconductor Debugging ...
Page 622: ...MSC8113 Reference Manual Rev 0 19 8 Freescale Semiconductor Internal Peripheral Bus IPBus ...
Page 724: ...MSC8113 Reference Manual Rev 0 21 32 Freescale Semiconductor UART ...
Page 920: ...MSC8113 Reference Manual Rev 0 25 150 Freescale Semiconductor Ethernet Controller ...
Page 1171: ...MSC8113 Reference Manual Rev 0 Freescale Semiconductor C 61 EF wait_rts P 01077FFC 9F rts 71 ...
Page 1172: ...MSC8113 Reference Manual Rev 0 C 62 Freescale Semiconductor MSC8113 Boot Code ...
Page 1202: ...MSC8113 Reference Manual Rev 0 Index 30 Freescale Semiconductor Index ...