Pipeline

Pipeline

pipeline a una serie de elementos de procesamiento de datos ordenados de tal modo que la salida de cada uno es la entrada del siguiente, como quien dice una cadena de montaje pero en vez de orientada a la manufactura, orientada al procesamiento de datos e instrucciones.

Ciclo de vida de una instrucción

La acción básica de cualquier microprocesador, en tanto se mueve a través de la corriente de instrucciones, se puede descomponer en una serie de cuatro pasos simples, que cada instrucción en la corriente de código debe atravesar para ser ejecutada:

  1. Fetch: "traer" la instrucción que se va a ejecutar, de la dirección almacenada en el contador de programa.
  2. Store: "almacenar" la instrucción en el registro de instrucciones y "descifrarla", incrementando la dirección en el contador de programa.
  3. Execute: "Ejecutar" la instrucción almacenada en el registro de instrucciones. Si la instrucción no es una instrucción de rama sino una instrucción aritmética, este proceso la envía a la ALU apropiada (ALU: Arithmetic Logic Unit – en español: Unidad Aritmético-Lógica), donde el microprocesador: a. "Lee" el contenido de los registros de entrada. b. "Agrega" el contenido de los registros de entrada.
  4. Write: "Escribir" los resultados de esa instrucción de la ALU nuevamente dentro del registro de destinación

Aplicaciones de pipelines en informática

  • Pipelines graficos  se encuentran en la mayoría de las tarjetas graficadoras y consiste en múltiples unidades aritméticas o CPUs completas  que implementan variados escenarios de operaciones típicas, por ejemplo calculos de luz y colores  renderizado. proyección de perspectiva entre otros.
  • En software o tuberías  consiste en varios  procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Como por ejemplo, los pipelines de Unix.

Características de pipeline
Se puede hablar de niveles de paralelismo caracterizados de la siguiente manera:
  •  Multiprogramación y Multiprocesamiento.- Estas acciones se toman a nivel de Programa o Trabajo.
  • Tarea o Procedimientos.- Acciones que se toman dentro de un mismo programa ejecutándose procesos independientes en forma simultánea.
  • Interinstrucciones.- Acciones a nivel de instrucción o sea  dentro de mismo proceso o tarea se pueden ejecutar instrucciones independientes en forma simultánea.


Comentarios

Entradas más populares de este blog

Cargador de programas

Arquitectura de 128 Bits

Dispositivos de entrada y salida