¿Qué significa la especulación de datos en la computación de instrucción explícitamente paralela?

La especulación de datos es cuando el procesador hace una suposición informada sobre la ubicación o el valor de un elemento de datos antes de que sea necesario, para eliminar el tiempo de espera cuando adivina correctamente.

La computación de instrucciones explícitamente paralelas incluye instrucciones que permiten que el programa arroje pistas sobre qué ubicaciones o valores esperar, para que el compilador (o programador de bajo nivel) pueda aportar conocimiento que no se puede inferir directamente de las dependencias de datos, y potencialmente aumentar el paralelo rendimiento de instrucción.

Existen instrucciones explícitas de captación previa ( es decir , predicción de la localidad de datos) en el presente x86_64-s, pero llamarlas por el acrónimo EPIC probablemente convocará al fantasma de la arquitectura del pasado, en forma de un Itanium. Predicción de valor que no he visto en la práctica, pero tampoco he visto una gama de arquitecturas fantásticamente grande, por lo que puede encontrarla en algún lugar.

La especulación es básicamente adivinar los resultados de las diversas condiciones de tiempo de ejecución.
Puede haber una instrucción de bifurcación, las computadoras EPIC intentarán predecir el resultado de la condición de bifurcación dependiendo de los resultados de las instrucciones anteriores o, en otro caso, la computadora EPIC podría especular sobre el orden de ejecución del conjunto de instrucciones, como si tienen dependencia entre ellas. o no etc.