A data address prediction structure for a superscalar microprocessor is
provided. The data address prediction structure predicts a data address
that a group of instructions is going to access while that group of
instructions is being fetched from the instruction cache. The data bytes
associated with the predicted address are placed in a relatively small,
fast buffer. The decode stages of instruction processing pipelines in the
microprocessor access the buffer with addresses generated from the
instructions, and if the associated data bytes are found in the buffer
they are conveyed to the reservation station associated with the
requesting decode stage. Therefore, the implicit memory read associated
with an instruction is performed prior to the instruction arriving in a
functional unit. The functional unit is occupied by the instruction for a
fewer number of clock cycles, since it need not perform the implicit
memory operation. Instead, the functional unit performs the explicit
operation indicated by the instruction.
Een de voorspellingsstructuur van het gegevensadres voor een superscalar microprocessor wordt verstrekt. De de voorspellingsstructuur van het gegevensadres voorspelt een gegevensadres dattot een groep instructies gaat toegang hebben terwijl die groep instructies van het instructiegeheime voorgeheugen wordt gehaald. De gegevensbytes verbonden aan het voorspelde adres worden geplaatst in een vrij kleine, snelle buffer. Decodeer stadia van de pijpleidingen van de instructieverwerking in de microprocessortoegang de buffer met adressen die van de instructies worden geproduceerd, en als de bijbehorende gegevensbytes in de buffer worden gevonden zij aan de reservepost verbonden aan het vragen worden vervoerd decodeer stadium. Daarom wordt het impliciete gelezen geheugen verbonden aan een instructie uitgevoerd voorafgaand aan de instructie aankomend in een functionele eenheid. De functionele eenheid wordt bezet door de instructie voor minder aantal klokcycli, aangezien het niet te hoeven de impliciete geheugenhandeling uitvoeren. In plaats daarvan, voert de functionele eenheid de expliciete handeling uit die door de instructie wordt vermeld.