Sun Microelectronics
100
UltraSPARC User’s Manual
2.
SC decodes the request packet and determines the transaction type and
physical address. If it is a coherent read or write transaction, the SC takes
the full address and interrogates the Dtags and any valid DtagTBs. If Dtag
reads can occur every cycle, there may need to be some bypassing of Dtag
updates; if a Dtag read-update pair is in progress, some blocking of new
transactions may be required.
If the address is in main memory, SC initiates the memory cycle. If the
address is not in main memory, SC can terminate coherent reads with error.
3.
SC consolidates the result of the lookup from all the Dtags, and in the next
cycle determines where the data will come from for a read transaction.
If the data is to be sourced from main memory, SC continues with the
memory cycle.
If the data is to be sourced from another UltraSPARC’s cache, SC aborts the
memory cycle and sends an appropriate S_REQ to each UltraSPARC
containing a copy of the requested line.
4.
SC waits for a P_REPLY from each UltraSPARC to which it sent an S_REQ
before S_REPLYing to the original requesting UltraSPARC. In general, the
SC does not complete the original transaction until all of the related
S_REQs are P_REPLYed. Implementations may overlap some of these
operations, but must be careful to meet the requirements of the SPARC-V9
memory model in this case.
5.
When the data is ready to be transferred to the requesting UltraSPARC, SC
sends the acknowledgment S_REPLY to the requestor, then the data is
transferred from a sourcing cache, or from main memory.
6.
If the original request was a Writeback, the lookup and update are only
necessary on the Dtag and DtagTB of the requesting UltraSPARC;
depending on the results of this lookup, SC generates an S_REPLY to it
either drive the data (S_WAB) or cancel the Writeback (S_WBCAN).
7.
For a write-invalidate request, the lookup and update are performed in the
same manner as for coherent read requests. SC sends an invalidation
S_REQ to all UltraSPARCs that have a lookup match. The SC defers the
S_REPLY to the requesting UltraSPARC for driving the data until it
receives all of the P_REPLYs for invalidations. Again, this behavior is
implementation-specific.
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com