Professional Documents
Culture Documents
That Load.: WO 2013/188588 PCT/US2013/045497
That Load.: WO 2013/188588 PCT/US2013/045497
That Load.: WO 2013/188588 PCT/US2013/045497
later, it checks the prediction table to obtain the load queue entry number and forward to
that load.
[0151] Once forwarding is detected for a load store pair, the PC and the
addresses of the load store pair are recorded so that the address match is verified. If the
address matches, the load will not dispatch until the store data is dispatched and the load
will be marked to forward from it. The prediction threshold is used to set a confidence
level in the forwarding relationship between load store pairs.
[0154] In the Figure 23 reorder implementation, store addresses are loaded into
the SRB from the store queue out of order (e.g., as resources allow). As each store is
allocated, it receives a sequence number. The SRB then functions by reordering stores
according to their sequence number such that they reside in the SRB in original program
order. Stores that are earlier in program order are at the top of the SRB. Subsequent
loads then look for address matches and allocation age (the program order sequence
number given at allocation time of loads and stores). As loads are dispatched, they look
to the SRB, if they see an earlier store (in comparison to their own sequence number)
that has not yet dispatched (no address calculation yet) one of two solutions can be
implemented.
1. The load does not dispatch, it waits until all earlier stores have dispatched before it
dispatches itself.
2. The load dispatches and marks its address in the access mask of the cache (as shown
in Figure 17). Subsequent stores check the access mask and follow the same
methodology as described in Figure 17.
37