Está en la página 1de 3

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES

INGENIERÍA EN SISTEMAS COMPUTACIONALES

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.

¿Dónde se aplica el PIPELINE?


Los pipelines gráficos se encuentran en la mayoría de las tarjetas graficadoras y consiste
en múltiples unidades aritméticas o CPUs completas que implementan distintos tipos de
escenarios de operaciones típicas.
Las tuberías están implementadas en forma muy eficiente en los sistemas operativos
multitarea, iniciando todos los procesos al mismo tiempo, y atendiendo automáticamente
los requerimientos de lectura de datos para cada proceso cuando los datos son escritos por
el proceso anterior. De esta manera el planificador de corto plazo va a dar el uso de la CPU
a cada proceso a medida que pueda ejecutarse minimizando los tiempos muertos. Para
mejorar el rendimiento, la mayoría de los sistemas operativos implementan las tuberías
usando búferes, lo que permite al proceso proveedor generar más datos que lo que el
proceso consumidor puede atender inmediatamente.

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:

• Multiprogramación y Multiprocesamiento: Estas acciones se toman a un nivel de


Programa o Trabajo.
• Tarea o Procedimientos: Acciones que se toman dentro de un mismo programa
ejecutándose procesos que son independientes de manera simultánea.
• Interinstrucciones: Acciones a nivel de instrucción, o sea dentro del mismo proceso
o tarea sé que se pueden ejecutar instrucciones independientes de manera
simultánea.

También podría gustarte