Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PIPELINE
Organización Computacional
Flavio Manuel Salgado Marín
ID: 295077
25/agosto/2021
PIPELINE
Pipeline es un término inglés que puede traducirse como “tubería”. En informática, una
tubería consiste en una cadena de procesos conectados de forma tal que la salida de cada
elemento de la cadena es la entrada del próximo. Permiten la comunicación y sincronización
entre procesos. Es común el uso de búfer de datos entre elementos consecutivos.
Estas tuberías virtuales se crean para segmentar los datos y, de este modo, incrementar el
rendimiento de un sistema digital. Se trata de una arquitectura basada en el funcionamiento
de los oleoductos, que están segmentados en diversos ramales y que cuentan con bombas
para impulsar, en cada trecho, el avance del gas.
Es una técnica para implementar simultaneidad a nivel de instrucciones dentro de un solo
procesador. Pipelining intenta mantener ocupada a cada parte del procesador, dividiendo
las instrucciones entrantes en una serie de pasos secuenciales, que se realizan por
diferentes unidades del procesador que trabajan de forma simultánea. Aumenta el
rendimiento de la CPU a una velocidad de reloj determinada, aunque puede aumentar la
latencia debido a la sobrecarga adicional del proceso de pipeline en sí. Entender cómo
funciona un pipeline es un paso importante para entender qué ocurre dentro de un
procesador. Este sistema es común verlo en sistemas operativos multitarea ya que puede
ejecutar una serie de procesos de manera simultánea, los cuales son ejecutados de manera
secuencial mediante un administrador de tareas que aplica distintos tipos de prioridad y
capacidad de procesamiento.
Ejemplo
La acción básica de cualquier microprocesador, en tanto se mueva a través de la corriente
de instrucciones, se puede descomponer en 4 pasos, que cada instrucción en la corriente
de código se debe atravesar para poder ejecutarse con éxito:
• Fetch: se encarga de “traer” la instrucción que se debe ejecutar, de la dirección que
está almacenada en el contador del programa.
• Store: se encarga de “guardar o almacenar” la instrucción en el registro de
instrucciones y luego “descifrarla”, incrementando la dirección en el contador de
programa.
• Execute: se ejecuta la instrucción almacenada en el registro de instrucciones. Si la
instrucción no es una instrucción de rama si no una instrucción aritmética, este
proceso la envía la ALU donde el microprocesador “lee” el contenido de los registros
de entrada y “agrega” el contenido de los registros de entrada.
• Write: “escribe” los resultados de esa instrucción dentro del registro de destinación.
En un proceso moderno, los cuatro pasos son repetidos una y otra vez hasta que el
programa termine de ejecutarse.
Dentro del Pipeline se puede hablar de niveles de paralelismo que son caracterizados de la
siguiente manera: