
11
A NEW GENERATION OF TAG SRAMS—THE IDT71215 AND IDT71216
APPLICATION NOTE AN-136
ADDR
DATA
A
0
- A
11
A
0
- A
28
DH
0
- DH
31
, DL
0
- DL
31
, and DP
0
- DP
7
A
13
- A
28
PowerPC
A
D
S
CHIP SET
CACHE READ
and WRITE
MAIN MEMORY READ/WRITE
TA
RESET
TT1
A
13
- A
26
TA
TAG (11:0)
ADDR (13:0)
I/Os
ADDR
CS2
CS1
64K x 18
BURST
SRAM
D
(2) IDT71216
TAG RAM
TAH
TAOE
TAH
3
3
WES
WET
OET
WES
WET
OET
TAOE
PWRDN
PWRDN
MATCH
STATUS
STATUS
MATCH
STATUSout
STATUSin
SFUNC
TT1
TAIN
CS2
CS1
OES
TA
VARIOUS CONTROL SIGNALS
V
CC
CS2
CS1
A
12
I/Os
ADDR
64K x 18
BURST
SRAM
V
CC
CS2
CS1
A
12
D
3176 drw 13
Figure 13 shows a 1MB cache for the PowerPC using the
71216. The implementation is essentially the same as for
512KB, but with two 71216 Tags and two banks of data
SRAMs. Except for
CS1
and CS2, all the same signals that
were connected to the first Tag RAM should be connected to
the same pins of the second Tag RAM. The least significant
tag bit of the 512KB cache is used to select between the two
Tag RAMs of the 1MB cache. The same is true for the two
banks of data SRAMs. The tag field then shifts one bit in the
direction of the more significant address bits. Please note that
the PowerPC and Intel processors do not have the same
address sequence. A0 is the MSB for the PowerPC while A31
is the MSB for Intel's processors.
Figure 13: PowerPC / 71216 Example of 1 MB Cache
It is also possible to double the size of the cache and
cached address space without doubling up the Tag RAMs.
This can be done by doubling the line size of the cache - from
32 bytes to 64 bytes, for example. It is not necessary to have
the same line size for both the primary and secondary caches,
though it does simplify the cache controller. A more detailed
discussion of this topic is beyond the scope of this application
note.
The CLK pin should be driven by the same clock that drives
the CPU. Although there is no standard for clock skew
tolerances between devices, a recommended target is
±
1nS.
MESI PROTOCOL IMPLEMENTATION
MESI is a cache coherency protocol, implemented in the
primary cache of both the PowerPC 601 and the Pentium
Processor. With the 71215/16, it is now practical to also
implement MESI for the L2 cache. The acronym stands for
Modified (write-back data that is dirty), Exclusive (clean write-
back data that can later transition to Modified), Shared (write-
through data which cannot become Modified) and Invalid. In
short, it allows for cache lines to be individually marked as