Comum · História

Speculative execution

Optimization technique

Texto em inglês

In computer science and processor design, speculative execution or speculation is a design characteristic where a processor is able to perform potentially useful work by guessing what work is needed next, compute them prematurely, and immediately applying or discarding the results when the work's necessity is eventually known. Since the 21st century, speculation is commonly seen on superscalar central processors (CPUs), as an optimization technique to increase its performance.

Na Wikipédia

Texto em inglês Ainda não há artigo no teu idioma: trecho em inglês.

In computer science and processor design, speculative execution or speculation is a design characteristic where a processor is able to perform potentially useful work by guessing what work is needed next, compute them prematurely, and immediately applying or discarding the results when the work's necessity is eventually known. Since the 21st century, speculation is commonly seen on superscalar central processors (CPUs), as an optimization technique to increase its performance. It is often used in combination with branch prediction to increase the accuracy of the guessing process. In speculative execution, work is done before it is known whether it is actually needed, so as to prevent a delay that would have to be incurred by doing the work after it is known that it is needed. If it turns out the work was not needed after all, most changes made by the work are reverted and the results are ignored. The objective is to provide more concurrency if extra resources are available. This approach is employed in a variety of areas, including branch prediction in pipelined processors, value prediction for exploiting value locality, prefetching memory and files, and optimistic concurrency control in database systems. Since the results from speculative execution become useless when the guessed work turns out to be wrong (e.g., not needed), its performance benefits are limited by the accuracy of the prediction process. Speculative multithreading is a special case of speculative execution. Modern pipelined microprocessors use speculative execution to reduce the cost of conditional branch instructions using schemes that predict the execution path of a program based on the history of branch executions.

Texto: Wikipédia em inglês, CC BY-SA 4.0. ·

Abrir

Toca para fechar

Confirmação