BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
94
Section 5: L2 Cache
Document
1250_1125-UM100CB-R
R
EDUCED
C
ACHE
S
IZE
The BCM1250 can be used to develop code for lower end members of the SiByte processor family. To allow
performance tuning, the L2 cache size can be reduced to match the other parts, otherwise any performance
numbers may be skewed by the large L2.
A 4 bit register
l2_cache_disable
is used for this. It is similar to the
l2_way_enable
register in that it is hidden
and written from address bits. The register is accessed by writing dummy data to address
00_10042r00,
bits
[11:8] (denoted
r
) are the control. On parts with system revision indicating PERIPH_REV3 and later the
register can be read back from the
l2_misc_value
register.
•
To restore the full 512K L2 cache
r
should be 4'h0.
•
For a 256K 4 way associative L2 cache
r
should be 4'h1 or 4'h2.
•
For a 128K 4 way associative L2 cache
r
should be 4'h5 or 4'h6 or 4'h9 or 4'hA.
•
Other values of
r
will give UNDEFINED results.
C
ACHE
M
ANAGEMENT
A
CCESS
In addition to regular accesses to the L2 cache there is a management mode. This is used to invalidate the
cache when the system is reset, and is used during recovery from uncorrectable ECC errors. It can also be
used to force dirty lines to be flushed from the L2 cache, however this should never be necessary in normal
operation. There are two memory mapped registers associated with the management mode.
Performing cache operations using the management mode requires software to maintain ordering and control
of traffic to the L2 cache. Accesses to the L2 cache by the other CPU or DMA engines could cause the cache
operation to fail. In normal systems management accesses are only required as part of system startup or to
recover from uncorrectable ECC errors, so it should be possible to have this exclusive access.
A portion of the address space (
00_D000_0000
-
00_D7FF_FFFF
) is allocated to L2 cache management
operations. Accesses in this range (called “management reads” or “management writes” in this section) will be
ignored by the memory controller and will always hit in the cache even when the access made is uncacheable.
The usual lower address bits select the cache index, two address bits select the way of the cache.
and
show how a cache management address is created