
Chapter 3. Memory Access Protocol
3-27
From a bus standpoint, asserting TEA causes nothing worse than the early termination of
the data tenure in progress. All the system logic involved in processing the data transfer
prior to the TEA must return to the normal nonbusy state following the TEA so that the bus
operations associated with a machine check exception can proceed. Due to bus pipelining
in the 604, all outstanding bus operations, including queued requests, complete in normal
fashion following the assertion of TEA. The machine check exception can be taken while
these transactions are in progress.
Asserting TEA causes a machine check exception (and possibly a checkstop condition
within the processor). See Section 5.3.1, “Checkstop State (MSR[ME] = 0).” Because these
processors do not implement a synchronous error capability for memory accesses, the
exception instruction pointer points not to the memory access that caused the assertion of
TEA but to the instruction about to be executed (perhaps several instructions later).
However, assertion of TEA does not invalidate data entering the GPR or the cache.
Additionally, the corresponding address of the access that caused TEA to be asserted is not
latched by the processor. To recover, the exception handler must either identify and correct
the error that caused TEA to be asserted or the processor must be reset; therefore, this
function should be used only to flag fatal system conditions to the processor (such as parity
or uncorrectable ECC errors).
After the processor has committed to run a transaction, that transaction must eventually
complete. Address retry causes the transaction to be restarted. Although, TA wait states and
DRTRY assertion for reads delay termination of individual data beats, eventually the
system must either terminate the transaction or assert TEA (to generate a machine check
exception). Therefore, software must check for the end of physical memory and the location
of certain system facilities to avoid memory accesses that might cause TEA to be asserted.
If MSR[ME] is clear when TEA is asserted, a true checkstop condition occurs (instruction
execution halted and processor clock stopped); a machine check exception occurs if
MSR[ME] is set.