
PRELIMINARY
3-55
3
Functional Timing
regards to an inquiry during an address hold
request. Bus hold is requested by asserting
either HOLD or BOFF#, and address hold is
requested by asserting AHOLD. The system
initiates the cache inquiry cycle by asserting
the EADS# input. The system must also drive
the desired inquiry address on the address
lines, and a valid state on the INV input.
In response to the cache inquiry cycle the CPU
checks to see if the specified address is present
in the internal cache. If the address is present
in the cache, the CPU checks the MESI state of
the cache line. If the line is in the “exclusive”
or “shared” state, the CPU asserts the HIT#
output and changes the cache line state to
“invalid” if the INV input was sampled logic
high with EADS#. If the line is in the “modi-
fied” state, the CPU asserts both HIT# and
HITM#. The CPU then issues a bus cycle
request to write the modified cache line to
external memory. If the data to be written back
is SMM data, the CPU asserts SMIACT# 1 cycle
before asserting the ADS of the write back
cycle. HITM# remains asserted until the
write-back bus cycle completes. No additional
cache inquiry cycles are accepted while
HITM# is asserted. Write-back cycles always
start at burst address 0. Once the write-back
cycle has completed, the CPU changes the
cache line state to “invalid” if the INV input
was sampled logic high, or “shared” if the INV
input was sampled low.
3.3.10.1 Inquiry Cycles
Using BOFF,
HOLD/HLDA
The system asserts HOLD or BOFF# to force
the CPU into a bus hold state. The system
must wait for the CPU to respond with HLDA
before issuing the cache inquiry cycle, or in the
case of BOFF# the CPU immediately relin-
quishes control to the bus in the next cycle. To
avoid address bus contention, EADS# should
not be asserted until the second clock edge
after HLDA/BOFF#. If the inquiry address hits
on a modified cache line, HIT# and HITM# are
asserted during the second clock following
EADS#. Once HITM# asserts, the system must
negate HOLD/BOFF# to allow the CPU to run
the corresponding write-back cycle. The first
cycle issued following negation of
HLDA/BOFF# is the write-back bus cycle. If
this cycle is to SMM memory then SMIACT# is
asserted, otherwise this cycle is run with
SMIACT# high.