Browse Prior Art Database

Main Storage Early Fetch Return

IP.com Disclosure Number: IPCOM000110659D
Original Publication Date: 1992-Dec-01
Included in the Prior Art Database: 2005-Mar-25
Document File: 3 page(s) / 120K

Publishing Venue

IBM

Related People

Hovis, WP: AUTHOR [+2]

Abstract

The Main Storage Early Fetch Return function described below provides a way for a fetch command to execute on the main storage cards ahead of older store command(s). Executing fetches ahead of stores minimizes the delay effect of the deeper command queue on fetch execution. The function also needs to guarantee that commands appear to execute in the order received. If a store command on the queue addresses the same location as fetch command, the conflict must be resolved. The data returned on the fetch must include the new data to be stored and not the stale data in the memory modules.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Main Storage Early Fetch Return

       The Main Storage Early Fetch Return function described
below provides a way for a fetch command to execute on the main
storage cards ahead of older store command(s).  Executing fetches
ahead of stores minimizes the delay effect of the deeper command
queue on fetch execution.  The function also needs to guarantee that
commands appear to execute in the order received.  If a store command
on the queue addresses the same location as fetch command, the
conflict must be resolved.  The data returned on the fetch must
include the new data to be stored and not the stale data in the
memory modules.

      This invention is contained in two logic segments.
o  Logic to decide whether a fetch command can bypass the store
commands present on the command queue.
o  Logic selecting the next command to execute.

      The decision to permit a fetch command to bypass store commands
is determined by whether the fetch address conflicts with the address
of any store commands preceding the fetch on the queue.  If an
address conflict existed, the fetch command would have to wait for
the store command to complete.  If an address conflict does not
exist, the fetch command would be allowed to execute before the store
command.  The address test will prevent the fetch command from
returning stale data.  The results of the address test were noted
with the fetch commands in the queue as a flag.  For the purpose of
this description, the flag is called the BYPASS flag.  The active
BYPASS flag could only be set for a fetch command.  The next command
selection logic uses the BYPASS flag to perform the selection.  The
store commands would also have another flag set to indicate the
command is one that can be bypassed by fetch commands.  For the
purpose of this description, the flag is called the STORE flag.  If
needed, the BYPASS flag test could be repeated as store commands
complete.  This would allow fetch bypass to be enabled later if the
address for the oldest store command was the one preventing the fetch
bypass.  The store data in the data buffer could also be used as a
source for the fetch rather than waiting for the store to complete.

      Previous to implementing this invention, the co...