![Intel IXP45X Developer'S Manual Download Page 82](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092082.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Intel XScale
®
Processor
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
82
Order Number: 306262-004US
• The code being locked into the cache must be cacheable
• The instruction cache must be enabled and invalidated prior to locking down lines.
Failure to follow these requirements will produce unpredictable results when accessing
the instruction cache.
System programmers should ensure that the code to lock instructions into the cache
does not reside closer than 128 bytes to a non-cacheable/cacheable page boundary. If
the processor fetches ahead into a cacheable page, then the first requirement noted
above could be violated.
Lines are locked into a set starting at way 0 and may progress up to way 27; which set
a line gets locked into depends on the set index of the virtual address.
is an
example (32-Kbyte cache) of where lines of code may be locked into the cache along
with how the round-robin pointer is affected.
Software can lock down several different routines located at different memory
locations. This may cause some sets to have more locked lines than others as shown in
.
shows how a routine, called “lockMe” in this example, might be
locked into the instruction cache. Note that it is possible to receive an exception while
“Event Architecture” on page 177
Figure 7.
Locked Line Effect on Round-Robin Replacement
B4329-01
way 0
way 1
way 7
way 8
way 22
way 23
way 30
way 31
set 1
set 31
Lo
c
k
e
d
set 0
Lo
c
k
e
d
set 2
Lo
c
k
e
d
...
set 0: 8 ways locked, 24 ways available for round robin replacement
set 1: 23 ways locked, 9 ways available for round robin replacement
set 2: 28 ways locked, only way 28-31 available for replacement
set 31: all 32 ways available for round robin replacement
..
.
..
.
..
.
32-Kbyte Cache Example