A speculative store forwarding apparatus in a pipelined microprocessor that
supports paged virtual memory is disclosed. The apparatus includes
comparators that compare only the physical page index of load data with
the physical page indexes of store data pending in store buffers to detect
a potential storehit. If the indexes match, forwarding logic speculatively
forwards the newest storehit data based on the index compare. The index
compare is performed in parallel with a TLB lookup of the virtual page
number of the load data, which produces a load physical page address. The
load physical page address is compared with the store data physical page
addresses to verify that the speculatively forwarded storehit data is in
the same page as the load data. If the physical page addresses mismatch,
the apparatus stalls the pipeline in order to correct the erroneous
speculative forward. The microprocessor stalls until the correct data is
fetched.
Ein spekulativer Speicherversendenapparat in einem durch Rohre geleiteten Mikroprozessor, der paginierten virtuellen Speicher stützt, wird freigegeben. Der Apparat schließt Komparatoren mit ein, die nur den körperlichen Seite Index von Last Daten mit den körperlichen Seite Indizes der Speicherdaten vergleichen, die in den Speicherpuffern, um ein mögliches storehit zu ermitteln schwebend sind. Wenn die Indizes zusammenpassen, schickt Versendenlogik spekulativ die neuesten storehit Daten nach, die auf dem Index basieren, vergleichen. Der Index vergleichen wird durchgeführt parallel zu einem TLB Nachschlagen der virtuellen Seitenzahl der Last Daten, die eine Last körperliche Seite Adresse produziert. Die Last körperliche Seite Adresse wird mit den körperlichen Adressen Seite der Speicherdaten verglichen, um zu überprüfen, daß die spekulativ nachgeschickten storehit Daten in der gleichen Seite wie die Last Daten sind. Wenn die körperliche Seite Adressen Fehlanpassung, der Apparat die Rohrleitung festklemmt, um das fehlerhafte spekulative Vorwärts zu beheben. Der Mikroprozessor klemmt fest, bis die korrekten Daten geholt sind.