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:
- Fetch: "traer" la instrucción que se va a ejecutar, de la dirección almacenada en el contador de programa.
- Store: "almacenar" la instrucción en el registro de instrucciones y "descifrarla", incrementando la dirección en el contador de programa.
- 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.
- 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
Publicar un comentario