Disclosed is a method of operating a processor, by which a speculatively
issued load request, which fetches incorrect data, is recycled. An
instruction sequence, which includes a barrier instruction and a load
instruction that follows the barrier instruction in program order, is
received for execution. In response to the barrier instruction, a barrier
operation is issued on an interconnect. Following, in response to the load
instruction and while the barrier operation is pending, a load request is
issued to memory. When a pre-determined type of invalidate, which is
affiliated with the load request, is received before the receipt of an
acknowledgment for the barrier operation, data that is returned by memory
in response to the load request is discarded and the load request is
re-issued. The pre-determined type of invalidate includes, for example, a
snoop invalidate.
É divulgado um método de operar um processador, por que um pedido speculatively emitido da carga, que busque dados incorretos, recycled. Uma seqüência de instrução, que inclua uma instrução da barreira e uma instrução da carga que siga a instrução da barreira na ordem do programa, é recebida para a execução. Em resposta à instrução da barreira, uma operação da barreira é emitida em um interconnect. Seguindo, em resposta à instrução da carga e quando a operação da barreira for pendente, um pedido da carga é emitido à memória. Quando um tipo pre-determined de invalidate, que seja affiliated com o pedido da carga, é recebido antes do recibo de um reconhecimento para a operação da barreira, os dados que são retornados pela memória em resposta ao pedido da carga são rejeitados e o pedido da carga é reeditado. O tipo pre-determined de invalidate inclui, para o exemplo, um snoop invalidate.