¿Qué es el pipelining en informática?

El término tiene unos cuantos usos diferentes, pero la mayoría tienen en común la idea de realizar una secuencia de pasos de forma superpuesta. Un par de ejemplos:

  • Los pipelines de instrucciones: Un microprocesador necesita realizar varias etapas para procesar una instrucción: buscar, descodificar, ejecutar, acceder a la memoria y escribir en el registro. Con el pipelining, después de que la primera instrucción complete la etapa de búsqueda, pasa a la decodificación, y la segunda instrucción comienza la búsqueda. A medida que estas dos avanzan, la tercera instrucción comienza la búsqueda. En cualquier momento, puede haber cinco instrucciones, cada una en una etapa diferente del pipeline. (Algunos eventos, como un fallo de la caché de memoria, pueden "detener" la cadena, porque una etapa tarda demasiado en completarse para alguna instrucción): En un procesador de consultas de bases de datos, hay un árbol de operadores, como el filtro, la unión y la unión. En algunos casos, un operador puede empezar a emitir resultados a su padre antes de que haya consumido toda su entrada. Por ejemplo, las filas que se filtran de una tabla pueden pasar a un operador de unión a medida que se examinan. De este modo, el operador join puede empezar a ejecutarse antes de que el operador filter haya finalizado.

.