Title :
Recovery mechanism for latency misprediction
Author :
Morancho, Enric ; Llabería, José Maria ; Olivé, Àngel
Author_Institution :
Dept. d´´Arquitectura de Computadors, Univ. Politecnica de Catalunya, Barcelona, Spain
Abstract :
Signalling result availability from the functional units to the instruction scheduler can increase the cycle time and/or the effective latency of the instructions. The knowledge of all instruction latencies would allow the instruction scheduler to operate without the need for external signalling. However, the latency of some instructions is unknown; but, the scheduler can optimistically predict the latency of these instructions and speculatively issue their dependent instructions. Although prediction techniques have great performance potential, their gain can vanish due to misprediction handling. For instance, holding speculatively scheduled instructions in the issue queue reduces its capacity to lookahead for independent instructions. The paper evaluates a recovery mechanism for latency mispredictions that retains the speculatively issued instructions in a structure apart from the issue queue: the recovery buffer. When data becomes available after a latency misprediction, the dependent instructions will be re-issued from the recovery buffer. Moreover in order to simplify the reissue logic of the recovery buffer, the instructions will be recorded in issue order. On mispredictions, the recovery buffer increases the effective capacity of the issue queue to hold instructions waiting for operands. Our evaluations in integer benchmarks show that the recovery buffer mechanism reduces issue-queue size requirements by about 20-25%. Also, this mechanism is less sensitive to the verification delay than the recovery mechanism that retains the instructions in the issue queue
Keywords :
instruction sets; parallel architectures; processor scheduling; program compilers; queueing theory; system recovery; cycle time; dependent instructions; external signalling; functional units; independent instructions; instruction latencies; instruction scheduler; integer benchmarks; issue queue; issue-queue size requirements; latency misprediction; latency mispredictions; misprediction handling; performance potential; prediction techniques; recovery buffer; recovery mechanism; speculatively issued instructions; speculatively scheduled instructions; verification delay; Buffer storage; Clocks; Delay; Logic; Monitoring; Out of order; Performance evaluation; Performance gain; Processor scheduling; Wire;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2001. Proceedings. 2001 International Conference on
Conference_Location :
Barcelona
Print_ISBN :
0-7695-1363-8
DOI :
10.1109/PACT.2001.953293