TLSB_SHARED is valid when driven in response to Read, Read Bank
Lock, Write, and Write Bank Unlock commands. Nodes may, therefore,
drive TLSB_SHARED in response to any command; the value of
TLSB_SHARED is only guaranteed to be accurate when TLSB_SHARED
is asserted in response to the commands named above.
2.2.8.10 TLSB_DIRTY
The TLSB_DIRTY signal is used to indicate that the block being accessed
is valid in a CPU's cache, and that the copy there is more recent than the
copy in memory. TLSB_DIRTY is valid only when driven in response to
Read and Read Bank Lock commands. Nodes may, therefore, drive
TLSB_DIRTY in response to any command; the value of TLSB_DIRTY is
only guaranteed to be accurate when TLSB_DIRTY is asserted in response
to Read and Read Bank Lock commands. On the bus, TLSB_DIRTY indi-
cates that memory should not drive the data. TLSB_DIRTY is asserted
two cycles after TLSB_SEND_DATA. If any device asserts TLSB_HOLD
at this time, TLSB_DIRTY is asserted again two cycles later.
The cache protocol ensures that at most one node can drive TLSB_DIRTY
at a time in response to a Read or Read Bank Lock command. Multiple
nodes may drive TLSB_DIRTY in response to other commands. All nodes
must assert TLSB_DIRTY in the same cycle and deassert it in the follow-
ing cycle.
If the TLSB_DIRTY state of the data is not available as a response to
TLSB_SEND_DATA, then TLSB_HOLD must be asserted until the state is
available.
2.2.8.11 TLSB_STATCHK
TLSB_STATCHK is an assertion check signal for TLSB_SHARED and
TLSB_DIRTY. These two signals present cache status to other nodes.
They are similar to data in that there is no way to predict their values or
otherwise verify they are functioning properly. TLSB_SHARED is particu-
larly vulnerable because no bus-detected error results if a node receives a
wrong value of this signal (due to a hardware fault in a node). Yet data
integrity may be lost if two nodes update that data block. A failure of
TLSB_DIRTY leads to the wrong number of nodes driving data and error
bits are set indicating data errors.
TLSB_STATCHK is asserted by a node whenever the node is asserting
TLSB_SHARED or TLSB_DIRTY. All nodes participating in a data trans-
fer compare the values received from TLSB_SHARED and TLSB_DIRTY
to TLSB_STATCHK. This compare is performed whenever
TLSB_SHARED, TLSB_DIRTY, or TLSB_HOLD is asserted on the bus in
all data bus transactions, even if the values of TLSB_SHARED or
TLSB_DIRTY are not valid because of the command code. Specifically, the
compare is performed two cycles after the assertion of TLSB_SEND_DATA
and every two cycles after TLSB_HOLD is asserted. If a node finds
TLSB_SHARED or TLSB_DIRTY asserted while TLSB_STATCHK is
deasserted, or finds TLSB_STATCHK asserted while both TLSB_SHARED
and TLSB_DIRTY are deasserted, <DSE> is set in the TLBER register and
TLSB_FAULT is asserted. This is a system fatal error. All outstanding
requests are aborted and the system attempts to crash.
TLSB Bus 2-23
Need help?
Do you have a question about the AlphaServer 8200 and is the answer not in the manual?