Articulo de referencia

Slipstream (informática)

Un procesador slipstream es una arquitectura diseñada para reducir la duración de un programa en ejecución eliminando las instrucciones no esenciales. Es una forma de computació...

Un procesador slipstream es una arquitectura diseñada para reducir la duración de un programa en ejecución eliminando las instrucciones no esenciales. Es una forma de computación especulativa .

Las instrucciones no esenciales incluyen cosas como resultados que no se escriben en la memoria o operaciones de comparación que siempre devolverán verdadero. Además, como estadísticamente la mayoría de las instrucciones de salto se ejecutarán, es lógico suponer que esto siempre será así .

Debido a la especulación que implica, los procesadores slipstream se describen generalmente como si tuvieran dos flujos de ejecución paralelos. Uno es un flujo A optimizado y más rápido (flujo avanzado) que ejecuta el código reducido, y el otro es un flujo R más lento (flujo redundante) que se ejecuta detrás del flujo A y ejecuta el código completo. El flujo R se ejecuta más rápido que si fuera un solo flujo debido a que el flujo A precarga los datos , lo que oculta eficazmente la latencia de la memoria, y a la ayuda del flujo A con la predicción de bifurcaciones . Ambos flujos se completan más rápido que si fueran un solo flujo. En 2005, estudios teóricos demostraron que esta configuración puede generar una aceleración de alrededor del 20 %.

El principal problema de este enfoque es la precisión: a medida que el flujo A se vuelve más preciso y menos especulativo, el sistema en general se ralentiza . Además, se necesita una distancia suficientemente grande entre el flujo A y el flujo R para que los fallos de caché generados por el flujo A no ralenticen el flujo R.

Referencias

  • Z. Purser, K. Sundaramoorthy y E. Rotenberg, " Un estudio de los procesadores Slipstream ", Actas del 33.º Simposio Internacional Anual sobre Microarquitectura, Monterey, California, diciembre de 2000.