A speculative execution method decreases execution time. A key value and a
correlated value are stored as a correlated data values pair. Upon
matching a current value to the key value, the correlated value is
retrieved. A first thread is executed using the current value to produce a
first result. The first result is consumed by a second thread. The second
thread is speculatively executed using the correlated value to produce a
second result. Upon verifying that the first result is the same as the
correlated value, the second result is used. The first and second threads
are iterations of a loop. The first and second threads use indirect
addressing. The first and second threads use a linked list data structure.
Storing the key value and the correlated value as the correlated data
values pair comprises storing the correlated data values pair in a lookup
table.
Un metodo speculativo di esecuzione fa diminuire il tempo di esecuzione. Un valore chiave e un valore correlato sono memorizzati come accoppiamento correlato di valori di dati. Sul abbinare un valore corrente al valore chiave, il valore correlato è richiamato. Un primo filetto è eseguito usando il valore corrente per fornire un primo risultato. Il primo risultato è consumato da un secondo filetto. Il secondo filetto è eseguito speculativo usando il valore correlato per fornire un secondo risultato. Sulla verificazione che il primo risultato è lo stesso come il valore correlato, il secondo risultato sia usato. I primi e secondi filetti sono le ripetizioni di un ciclo. I primi e secondi filetti usano il richiamo indiretto. I primi e secondi filetti usano una struttura di dati della lista collegata. Memorizzando il valore chiave ed il valore correlato come i valori che correlati di dati l'accoppiamento contiene la memorizzazione dei valori correlati di dati accoppii in una tabella di occhiata.