4–18
Clocks, Cache, and External Interface
29 September 1997 – Subject To Change
21164PC-to-Bcache Transactions
For every Bcache access, the 21164PC drives the index, address strobe
(data_adsc_l), and the SSRAM clock (st_clk) to the SSRAMs to load the initial
address. The st_clk may be delayed a programmable number of CPU cycles to facil-
itate better control over module timing. For additional data reads or writes, the data
advance (data_adv_l) is driven to the SSRAMs and is used to autoadvance the
address in interleaved burst mode to facilitate the data wrap order described in
Section 4.3.2.
For Bcache read and write probes, the tag store and data store have separate asyn-
chronous output enables (tag_ram_oe_l and data_ram_oe_l) that control the
SSRAM output drivers. A unique tag RAM output enable is required to facilitate the
interleaved writes as described in Section 4.1.2.3. When switching from a Bcache
read to a write transaction, the 21164PC provides a programmable read-to-write
spacing to avoid data contention on the bidirectional tag and data buses (refer to Sec-
tion 4.9.2 for more details).
For Bcache data writes, the 21164PC supports the early write protocol using the
ADSC# pin (the ADSP# late-write is not supported). During data transfers, the
21164PC drives longword write enables (data_ram_we_l<3:0>) to the SSRAMs
that correspond to the appropriate longword lanes within the 128-bit data bus. For
byte and word granularity data writes, the 21164PC performs a read-modify-write
operation to the Bcache. Tag store updates are necessary for memory fills and private
writes that hit clean and are facilitated using the tag write enable (tag_ram_we_l).
There are subtle but important differences between the pipelined and flow-through
SSRAMs that must be accounted for when interfacing to the 21164PC. The pipelined
SSRAM (PBSRAM) includes an additional data output register that drives the data
one st_clk later than the flow-through SSRAM. These differences and their effect on
the 21164PC are explained in greater detail in Section 4.7.3.
4.6.2 Bcache Timing
The 21164PC provides a flexible Bcache interface with many programmable fea-
tures, including the following:
•
Programmable read latency
•
Programmable data repetition rate
•
Programmable st_clk delay
•
Programmable read-to-write spacing