Snoop Collision With A Current Cache Line Operation; Snoop Under Ahold - Intel Embedded Intel486 Hardware Reference Manual

Embedded intel486 processor
Table of Contents

Advertisement

EMBEDDED Intel486™ PROCESSOR HARDWARE REFERENCE MANUAL
4.4.3.1

Snoop Collision with a Current Cache Line Operation

The system can also perform snooping concurrent with a cache access and may collide with a cur-
rent cache bus cycle.
Table 4-12
ing with an on-going cache fill or replacement cycle.
Table 4-12. Various Scenarios of a Snoop Write-Back Cycle Colliding with an On-Going
Arbi-
Snoop to the Line
tration
That Is Being Filled
Control
AHOLD
Read all line fill data
into cache line buffer.
Update cache only if
snoop occurred with
INV = 0
No write-back cycle
because the line has
not been modified
yet.
BOFF#
Stop reading line fill
data
Wait for BOFF# to be
deasserted.
Continue read from
backed off point
Update cache only if
snoop occurred with
INV = '0'.
HOLD
HOLD is not acknowledged until the current bus cycle (i.e., the line operation) is completed,
except for a non-cacheable, non-burst code prefetch cycle. Consequently there can be no
collision with the snoop cycles using HOLD, except as mentioned earlier. In this case the snoop
write-back is re-ordered ahead of an on-going non-burst, non-cached code prefetch cycle. After
the write-back cycle is completed, the code prefetch cycle continues from the point of interrupt.
4.4.3.2

Snoop under AHOLD

Snooping under AHOLD begins by asserting AHOLD to force the Write-Back Enhanced
IntelDX4 processor to float the address bus, as shown in
back cycle is guaranteed to occur no sooner than the second clock following the assertion of
HITM# (i.e., there is a dead clock between the assertion of HITM# and the first ADS# of the
snoop write-back cycle).
4-54
lists some scenarios and the results of a snoop operation collid-
Cache Fill or Replacement Cycle
Snoop to a Different
Line than the Line
Being Filled
Complete fill if the
Complete replacement
cycle is burst. Start
write-back if the cycle
snoop write-back.
is burst. Processor
does not initiate a
If the cycle is non-
snoop write-back, but
burst, the snoop write-
asserts HITM# until
back is reordered
the replacement write-
ahead of the line fill.
back is completed.
After the snoop write-
If the replacement
back cycle is
cycle is non-burst, the
completed, continue
snoop write-back is re-
with line fill.
ordered ahead of the
replacement write-
back cycle. The
processor does not
continue with the
replacement write-
back cycle.
Stop fill
Stop replacement
write-back
Wait for BOFF# to be
deasserted.
Wait for BOFF# to be
deasserted.
Do snoop write-back
Initiate snoop write-
Continue fill from
back
interrupt point.
Processor does not
continue replacement
write-back.
Snoop to the Line
Snoop to a Different
That Is Being
Replaced
Complete replacement
write-back if it is a burst
cycle. Initiate snoop
write-back.
If the replacement write-
back is a non-burst cycle,
the snoop write-back
cycle is re-ordered in
front of the replacement
cycle. After the snoop
write-back, the
replacement write-back
is continued from the
interrupt point.
Stop replacement write-
back
Wait for BOFF# to be de-
asserted
Initiate snoop write-back
Continue replacement
write-back from point of
interrupt.
Figure
4-38. The ADS# for the write-
Line than the Line
Being Replaced

Advertisement

Table of Contents
loading

Table of Contents