Am5
X
86 Microprocessor
25
AMD
PRELIMINARY
4.8.3
The following scenarios describe the snooping actions
of an external bus master.
External Bus Master Snooping Actions
4.8.3.1
Scenario
: A snoop of the on-chip cache does not hit a
line, as shown in Figure 6.
Snoop Miss
Step 1 The microprocessor is placed in Snooping
mode with HOLD. HLDA must be High for a
minimum of one clock cycle before EADS as-
sertion. In the fastest case, this means that
HOLD was asserted one clock cycle before the
HLDA response.
Step 2 EADS and INV are applied to the microproces-
sor. If INV is 0, a read access caused the snoop-
ing cycle. If INV is 1, a write access caused the
snooping cycle.
Step 3 Two clock cycles after EADS is asserted, HITM
becomes valid. Because the addressed line is
not in the snooping cache, HITM is 1.
4.8.3.2
Scenario
: The snoop of the on-chip cache hits a line,
and the line is not modified (see Figure 7).
Snoop Hit to a Non-Modified Line
Step 1 The microprocessor is placed in Snooping
mode with HOLD. HLDA must be High for a
minimum of one clock cycle before EADS as-
sertion. In the fastest case, this means that
HOLD was asserted one clock cycle before the
HLDA response.
Step 2 EADS and INV are applied to the microproces-
sor. If INV is 0, a read access caused the snoop-
ing cycle. If INV is 1, a write access caused the
snooping cycle.
Step 3 Two clock cycles after EADS is asserted, HITM
becomes valid. In this case, HITM is 1.
4.8.4
Scenario
: Write-back accesses are always burst writes
with a length of four 32-bit words. For burst writes, the
burst always starts with the microprocessor line offset
at 0. HOLD must be deasserted before the write-back
can be performed (see Figure 8).
Write-Back Case
Step 1 HOLD places the microprocessor in Snooping
mode. HLDA must be High for a minimum of
one clock cycle before EADS assertion. In the
fastest case, this means that HOLD asserts one
clock cycle before the HLDA response.
Step 2 EADS and INV are asserted. If INV is 0, snoop-
ing is caused by a read access. If INV is 1,
snooping is caused by a write access. EADS is
not sampled again until after the modified line
is written back to memory. It is detected again
as early as in Step 11.
EADS
External
bus master’s
BOFF signal
Note:
The circled numbers in this figure represent the steps in section 4.8.4.
HLDA
Data
HOLD
HITM
ADS
INV
BRDY
BLAST
W/R
M/IO
CACHE
ADR
CLK
valid
n
n
n
n+4
n+8 n+12
n+1
valid
n
Figure 8. Snoop That Hits a Modified Line (Write-Back)
2
3
1
7
8
9
10
6
5
11
floating/tri-stated
floating/tri-stated
4
n+8
n+4