SlideShare a Scribd company logo
1 of 15
UNIVERSIDAD NACIONAL DE
TRUJILLO
FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS
ESCUELA ACADÉMICA PROFESIONAL DE ING. INFORMÁTICA

TEMA:
ARQUITECTURA PIPELINE
CURSO:
TOPICOS EN SOFTWARE
PROFESOR:
DIAZ PULIDO ARTURO
INTEGRANTES:
ABANTO VERA ANGELICA MARIA
CASTILLO FARFAN GEORGE
IDROGO ZAVALETA ALEX JAIME

TRUJILLO – PERÚ
2014
1

ARQUITECTURA EN PIPELINE

INDICE

DEDICATORIA ................................................................................................................................ 2
INTRODUCCIÓN ............................................................................................................................ 3
MARCO TEÓRICO ......................................................................................................................... 4
CAPITULO I: PIPELINE ................................................................................................................ 4
CAPITULO II: CARACTERISTICAS ........................................................................................ 10
CAPITULO III: RALENTIZACION............................................................................................ 11
CAPITULO IV: APLICACIONES .............................................................................................. 13
CONCLUSIONES ........................................................................................................................... 14
REFERENCIA BIBLIOGRAFICA .............................................................................................. 14
2

ARQUITECTURA EN PIPELINE

DEDICATORIA

Con mucho cariño y estima dedicamos este trabajo a las
personas quienes luchan diariamente por ver de nosotros
personas dignas en la sociedad y en el sendero de la
vida.
El presente trabajo lo dedicamos a usted profesor Arturo
días Pulido por el esfuerzo que realiza con la Institución
de formarnos profesionalmente y ser futuros Ingenieros
Informáticos de capacidad competitiva.

Abanto Vera Angélica María
Castillo Farfán George
Idrogo Zavaleta Alex Jaime
3

ARQUITECTURA EN PIPELINE

INTRODUCCIÓN
Es un término perteneciente a la ingeniería de software y consiste en una cadena de
elementos de procesamiento ordenados de tal manera que la salida de cada elemento es la
entrada del siguiente, bueno suena algo complicado pero no lo es; el nombre quiere decir en
español “tuberías” y el sistema es básicamente como el agua que circula por cañerías y
tubos. En este caso el agua vendría a ser la información o los procesos.
4

ARQUITECTURA EN PIPELINE

MARCO TEÓRICO

CAPITULO I:
PIPELINE
Es un término inglés que puede traducirse como “tubería” .Aunque no forma parte del diccionario de la real
academia española (RAE), el concepto se utiliza en nuestra lengua para hacer referencia a una arquitectura de
informática.
Un pipeline o tubería es un conjunto de elementos procesadores de datos conectados en serie, en donde la
salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en
paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos.
Esta arquitectura es muy común en el desarrollo de programas para el intérprete, ya que se pueden concatenar
por comandos fácilmente con tuberías (pipe).También es común verlo en sistemas operativos multitarea ya
que ejecutan una serie de procesos de manera simultaneas, los cuales son ejecutados de manera secuencial
mediante una administrador de tareas dándoles diferente prioridad y capacidad de procesamiento, alternando
entre este sistema “pipeline” y los demás.
En informática nuestra rama, el pipeline se emplea en:
Microprocesadores
Tarjetas graficas
Software.
Los cálculos que se realizan en el proceso de programación deben sincronizarse con un reloj para evitar los
tramos más recargados que se detectan entre dos registros.
Se pueden diferenciar entre:
Pipelines sin nombre  funcionan de manera temporal y se borra al no estar en uso.
Pipelines con nombre  son creados en el propio sistema de archivos (facilitan la
Comunicación de los diversos procesos que apelan a la tubería).
5

ARQUITECTURA EN PIPELINE

El proceso en pipeline o encadenado es similar al utilizado en cualquier cadena de montaje, y el nombre
pipeline (tubería) se debe al hecho de que como en una tubería, en la entrada se aceptan nuevos elementos
(instrucciones) antes de que los previamente aceptados salgan por la salida.
Por ejemplo: Supongamos una gran pastelería en la que los pasteles primero se hacen en el horno y después se
empaquetan para la venta. El proceso de empaquetar una tarta consiste en:
1.

Poner una caja vacía en la mesa.

2.

Meter un pastel en la caja.

3.

Cerrar y precintar la caja.

4.

Poner una etiqueta en la caja.

5.

Llevar la caja a un gran contenedor

Si cada una de estas operaciones la realiza un operario en 10 segundos, parece claro que se tarda 50 segundos
en empaquetar un pastel y, por lo tanto, en empaquetar 10 tartas se tardaría 500 segundos.
6.
7.
8.
9.
10.
11.
12.
13.

Sale un pastel empaquetado cada 50
segundos

Ahora supongamos que se dispone de una cadena de empaquetado de pasteles con una cinta transportadora
sobre la que trabajan cinco operarios especializados en tareas distintas. El primer operario pone la caja 1 en la
cinta transportadora, esta avanza hasta que la caja 1 esta donde el segundo operario, que introduce el pastel
dentro de la caja 1, al mismo tiempo que primero operario pone otra caja 2 en la cinta. La caja 1 sigue
avanzando hasta el tercer operario, que la cierra y la precinta, al mismo tiempo que el segundo operario mete
otro pastel en la caja 2 y el primero operario pone otra caja 3 en la cinta. La caja 1 sigue su camino en la cinta
pasando por el cuarto operario, que pone una etiqueta, hasta llegar al quinto operario, que la retira de la cinta.
6

ARQUITECTURA EN PIPELINE

En el momento que el quinto operario retira la caja de la cinta, hay cuatro cajas más en la cinta. Si cada una de
estas fases de empaquetado se realiza en 10 segundos, a partir de ahora, cada 10 segundos saldrá un nuevo
pastel empaquetado, en lugar de hacerlo cada 50 segundos que se tardaba cuando no había una cadena de
empaquetado. A partir de ahora, en tener 10 pasteles empaquetados se tardara solamente 100 segundos,
mientras que en el caso de cuando se tenía un solo operario se tardaba 500 segundos.
Debe quedar claro que aunque ahora sale una nueva tarta empaquetada cada 10 segundos, la preparación
completa de cada tarta requiere 50 segundos.

14.
15.

Sale un pastel empaquetado cada 10
segundos
7

ARQUITECTURA EN PIPELINE

En una primera aproximación, se puede observar que para ejecutar una instrucción en la CPU se requieren 2
pasos:
1.

Alimentar o extracción de las instrucción desde memoria (fetching).

2.

Ejecución de instrucción.

En 1959, el ordenador Stretch de IBM, teniendo en cuanta que durante la fase de ejecución hay momentos en
los que no se accede a memoria principal, aprovechaba para alimentar instrucciones por adelantado y
guardarlas en un buffer de prealimentación, todo ello en paralelo con la ejecución de la instrucción en curso,
con lo que al terminar de ejecutar dicha instrucción podía cargar la siguiente instrucción directamente desde el
buffer sin tener que esperar a traerla de memoria.
Esta técnica de prealimentación puede verse como un pipeline de dos etapas. En la primera etapa se alimenta
una instrucción de memoria y se guarda en un buffer. La segunda etapa toma una instrucción del buffery la
ejecuta. Mientras en la segunda etapa se está ejecutando una instrucción, la primera etapa aprovecha (los
ciclos en los que la segunda etapa no accede a memoria) para leer la siguiente instrucción y guardarla en el
buffer. Cuando la segunda etapa acabe la ejecución y vacié el buffer de prealimentación, la primera etapa
puede volver a leer una nueva instrucción de memoria.
Con estas dos etapas de alimentación y ejecución de instrucciones, parece que la velocidad de ejecución de
instrucciones por segundo (rendimiento) se duplica. Y si nos fijamos en el ejemplo de la línea de
empaquetado de pasteles, tenemos que su velocidad de pasteles empaquetados por minuto se multiplica por
cinco cuando se establece una cadena de empaquetado de cinco etapas. Esto es así, simplemente porque el
número de etapas dice cuántas cosas se están haciendo simultáneamente, y claro, cuantas más mejo
8

ARQUITECTURA EN PIPELINE

La ejecución de una instrucción podría descomponerse en las siguientes 5 etapas:
1.

F : Alimentación de la instrucción (fetch)

2.

D: Decodificación de la instrucción.

3.

O: Extracción y cálculo de los operandos.

4.

E: Ejecución (en la ALU).

5.

W: Escritura del resultado (write).

Si ahora la ejecución de una instrucción está descompuesta en 5 etapas, cada etapa puede durar
aproximadamente 1/5 de la duración total de la ejecución de la instrucción. Si suponemos que la duración de
un ciclo de reloj es igual a la duración de cada una de estas pequeñas etapas, podemos decir, en principio, que
con la técnica de pipeline se consigue que a cada ciclo de reloj finalice una instrucción, o lo que es lo mismo,
una velocidad de instrucción por ciclo.

Obsérvese que el pipelining no es lo mismo que el paralelismo (aunque en cierto modo, en el pipeline también
hay paralelismo). Ambas técnicas están dirigidas a mejorar el rendimiento (número de instrucciones por
unidad de tiempo) incrementando el número de módulos hardware que operan simultáneamente, pero en el
primer caso, el hardware para ejecutar una instrucción no está replicado, simplemente está dividido en varias
etapas distintas especializadas, mientras que en las arquitecturas paralelas, el hardware (la CPU) si esta
replicado (hay varios procesadores), por lo que varias operaciones pueden ejecutarse de manera
completamente simultánea.
El incremento del rendimiento con el pipelining está limitado al máximo número se etapas del procesador,
mientras que con el paralelismo, las prestaciones mejoran siempre que se añadan más procesadores (en
situaciones ideales) y el trabajo se pueda descomponer en varias tareas para poder repartirlo.
9

ARQUITECTURA EN PIPELINE

Veamos a continuación, los diagramas correspondientes a la ejecución en serie, en paralelo y mediante
pipeline, suponiendo que las instrucciones se ejecutan en cinco pasos o etapas de un ciclo de reloj cada una.
En la ejecución en serie, la primera instrucción debe ejecutarse completamente antes de comenzar la segunda,
y esta debe completarse a su vez antes de que comience la tercera. De esta manera, si las instrucciones son
sumas, por ejemplo se obtiene un resultado cada de cinco ciclos (en t1, t2, t3,…).

Con un paralelismo de N vías (N procesadores), se pueden ejecutar simultáneamente N instrucciones, pero
producirán resultados solamente cada 5 ciclos (N resultados cada 5 ciclos).
Ya que se producen N resultados en el mismo tiempo en el que la ejecución en serie obtiene un único
resultado, el incremento o aceleración (en el caso ideal) es N.
10

ARQUITECTURA EN PIPELINE

En el caso del pipeline, la segunda instrucción puede comenzar en cuanto la primera instrucción haya
finalizado su primera etapa. A partir del momento en que se llena el pipeline (después de cinco ciclos) se tiene
cinco instrucciones ejecutándose en distintas fases, y se puede empezar a obtener un resultado por ciclo, pues
finalizara una instrucción después de cada ciclo.
Obsérvese que el rendimiento de un pipeline no depende exactamente del número de etapas, sino de la
duración de su etapa mas larga.
Aunque con una organización totalmente distinta, en cuanto al rendimiento, el paralelismo y el pipeline se
pueden considerar equivalentes.
No olvidar que la técnica de la segmentación o pipelining mejora el rendimiento no el tiempo de ejecución de
cada instrucción.

CAPITULO II:
CARACTERISTICAS


La segmentación no ayuda en la realización de una única tarea, ayuda en la realización de una
carga de trabajo.



Se pueden realizar múltiples tareas simultáneamente utilizando diferentes recursos.



La velocidad se incrementa si se aumentan el número de segmentos.



La razón de segmentación está dada por el segmento más lento.



El tiempo en llenar y vaciar los segmentos reduce la velocidad.



Almacén para las dependencias.
11

ARQUITECTURA EN PIPELINE

CAPITULO III:
RALENTIZACION
Una vez elegido el numero óptimo de etapas, para el factor de aceleración sea igual al número de etapas se
requiere que todas las etapas del pipeline siempre estén llenas de instrucciones útiles, y que nada retrase el
avance de las instrucciones a través del pipeline.
Existen tres motivos que impiden mantener siempre ocupadas todas las etapas del pipeline.
1. Motivos estructurales: cuando una etapa no es capaz de realizar su cometido en un ciclo de reloj, el
pipeline se detiene hasta que dicha etapa finaliza su trabajo.
Entre las causas estructurales que pueden hacer que el pipeline se detenga tenemos:


No todas las etapas son de la misma duración



Acceso simultáneo a memoria desde varias etapas



Hay instrucciones más complejas que otras

Puede suceder incluso que alguna de las etapas ni siquiera necesite ejecutarse. Por ejemplo, en un
procesador cuya última etapa se dedique a escribir en memoria principal, la carga de un registro no
requerirá dicha última etapa. En este caso, simplemente sucederá que cuando una instrucción corta va
después de una normal, ambas finalicen su ejecución simultáneamente, y en el siguiente ciclo de reloj no
termine ninguna instrucción; por lo tanto, el rendimiento no varía.
Aquí, para simplificar el problema, supondremos que todas las instrucciones pasan por todas las etapas y
que todas son de la misma duración.
Nos permitimos realizar estas simplificaciones para poder centrarnos en las principales causas de la
ralentización del pipeline: las dependencias de datos y las bifurcaciones.
2. Dependencia de operandos: Las dependencias de datos se producen cuando dos instrucciones comparten
un dato (operando o resultado).
Hay tres tipos de dependencias de datos, pero aquí vamos a comentar solamente el más evidente, el que se
denomina “lectura después de escritura” (ReadAfterWrite, o RAW).
En el programa del ejemplo, la dependencia se denomina “lectura después de escritura” (ReadAfterWrite,
o RAW) puede producirse entre las instrucciones I2 e I3 si la instrucción MUL lee el contenido de R3 (en el
ciclo 5) antes de que el resultado de la suma anterior (al final del ciclo 6) se cargue en él. Obviamente, la
operación MUL no se ejecutará con los operandos esperados por el programador, por lo que el resultado
del programa será incorrecto.
12

ARQUITECTURA EN PIPELINE

Hay dos opciones básicas para resolver este problema de dependencia de datos; uno es mediante la
Prevención: evitando que pueda llegarse a esta situación de dependencia; el otro es mediante la detección
y resolución, es decir, no preocupándose de evitarlo, pero sí detectarlo en caso de que se produzca y
solucionarlo de alguna manera.
La dependencia de datos: Prevención
El problema de la dependencia de datos entre una instrucción I 1, y otra instrucción I2 que le sigue pueda
prevenirse retrasando la ejecución de I2 un número K de etapas hasta que desaparezca el problema de que
I2 lea un operando que I1 no ha escrito todavía. Este retraso puede conseguirse insertando un número K de
instrucciones que puedan ejecutarse después de I1 y antes de I2, sin que por ello varíe la estructura lógica
del programa.
La dependencia de datos: Detección y resolución
Este método requiere un hardware adicional en la CPU, pues se deben detectar las dependencias de datos
durante la ejecución y resolver estas dependencias. Detectarlas significa que debe darse cuenta de que en
un momento dado hay dos instrucciones arrancadas I 1 e I2, tal que I2 depende de un resultado establecido
por I1. El dispositivo hardware que detecta estas dependencias se denomina interlock. Resolver las
dependencias significa hacer algo para retrasar la ejecución de I 2 o para acelerar, en la medida de lo
posible, la entrega a I2 del resultado que produce I1.
Veamos dos posibilidades de resolución (no excluyentes) para cuando se detecta una dependencia de datos
entre dos etapas del pipeline.
Detener el pipeline: La aproximación más sencilla para evitar los problemas de dependencias de datos
con ayuda del hardware es detener la actividad en las etapas necesarias del pipeline hasta que
desaparezca la dependencia, es decir, hasta que se pueda ejecutar correctamente la instrucción
dependiente. En el ejemplo de la transparencia, esto significa detener las instrucciones que siguen a la
instrucción add desde el ciclo 5 hasta que el registro R3 pueda leerse debidamente actualizado en el
ciclo 7.
Con esta estrategia, primero se detecta la dependencia y después se detiene el pipeline a partir de la
instrucción dependiente hasta que desaparece la dependencia.
3. Instruccionesde bifurcación: Una instrucción de bifurcación hace que la dirección de la siguiente
instrucción a ejecutar no se conozca hasta el momento justo de la ejecución de la instrucción de
bifurcación (en la etapa de ejecución), por lo que la etapa de alimentación no puede extraer la siguiente
instrucción a una bifurcación hasta que esta última no finalice su etapa de ejecución, y por lo tanto al
terminar la etapa de ejecución, esta tendría que esperar hasta que se alimente la siguiente instrucción y
13

ARQUITECTURA EN PIPELINE

vaya avanzando por todas las etapas anteriores, que se habrán quedado vacías. A estas etapas vacías que
aparecen se las denomina huecos de retardo (delay slots).
En algunos sistemas, las bifurcaciones incondicionales pueden detectarse en la fase de alimentación o
extracción (fetch) si se le añade un poco hardware de ayuda también extrae la dirección de salto con lo que
se puede proseguir la extracción de instrucciones de la dirección de salto.
Sin embargo, en el caso de las bifurcaciones condicionales no se puede hacer esto, pues puede ocurrir que
la condición del salto se establezca precisamente en la etapa de ejecución de la instrucción anterior, con lo
que no hay más remedio que esperar a que la bifurcación llegue a la etapa de ejecución para conocer la
dirección de la siguiente instrucción. Esto quiere decir que se debe detener la alimentación de
instrucciones al pipeline hasta que en la etapa de ejecución se averigüe la dirección de la siguiente
instrucción.
Afortunadamente, hay diversas técnicas que pueden evitar o minimizar el impacto de las instrucciones de
bifurcación, tales como la “bifurcación retardada”, “la predicción del salto” y algunas más.

CAPITULO IV:
APLICACIONES
1.

Pipelines gráficos, se encuentra en la mayoría de las tarjetas gráficas, el cual consiste en múltiples
unidades aritméticas o CPUs completas, que implementan variados escenarios de operaciones típicas
de renderización por ejemplo:
 Cálculos de luz y colores
 Renderizado
 Proyección de perspectiva, etc.

2.

Pipelines software o tuberías, consiste en múltiples procesos ordenados de tal forma que el flujo de
salida de un procesado alimenta la entrada del siguiente proceso. Por ejemplo:
 Pipelines de Unix. – (permite conectar procesos, permitiendo que la salida

estándar de un proceso de alimentación sea la entrada
estándar de otro proceso)
14

ARQUITECTURA EN PIPELINE

CONCLUSIONES


Las tuberías virtuales se crean para segmentar los datos y de este modo incrementar su rendimiento
de un sistema digital.



Hemos podido trabajar con el pipeline término perteneciente a la ingeniería de software. Aunque el
estudio que hemos hecho sobre este tema es breve nos enfocamos a señalar sus principales
elementos, aplicaciones y riesgos.



El pipeline es común verlo en sistemas operativos multitarea, como los que empleamos hoy en día en
nuestras computadoras; se ejecutan una serie de procesos de manera simultánea, que son ejecutados
luego de manera secuencial mediante una administrador de tareas dándoles diferente prioridad y
capacidad de procesamiento, alternando entre un "pipeline" y los demás hemos dedicado por tener
que familiarizarnos con el entorno de desarrollo por primera vez. En cuanto al entorno de desarrollo
nos hemos dedicado por tener que familiarizarnos con él por primera vez.

REFERENCIA BIBLIOGRAFICA
http://www.alegsa.com.ar/Dic/pipeline.php
http://www.wordreference.com/definicion/ralentizaci%C3%B3n
http://definicion.de/pipeline/
http://www.alegsa.com.ar/Dic/pipeline.php
http://www.slideshare.net/rehoscript/arquitectura-pipeline
http://carlosreynoso.com.ar/archivos/arquitectura/Estilos.PDF

More Related Content

What's hot

Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMMari Cruz
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Lenguajes de simulacion
Lenguajes de simulacionLenguajes de simulacion
Lenguajes de simulacionAnel Sosa
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un procesoi92almaa
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Banco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasBanco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasbrccq
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Dj Mada - Tres Valles, Veracruz
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototiposKeiner Valerio
 

What's hot (20)

Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Pt7seccion2
Pt7seccion2Pt7seccion2
Pt7seccion2
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Lenguajes de simulacion
Lenguajes de simulacionLenguajes de simulacion
Lenguajes de simulacion
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Banco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemasBanco de temas de tesis para la carrera de ing. de sistemas
Banco de temas de tesis para la carrera de ing. de sistemas
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 

Similar to Arquitectura en pipeline

Similar to Arquitectura en pipeline (20)

Monografia de pipeline
Monografia de pipelineMonografia de pipeline
Monografia de pipeline
 
6 pipeline
6 pipeline6 pipeline
6 pipeline
 
6 pipeline-1
6 pipeline-16 pipeline-1
6 pipeline-1
 
Pipelining
PipeliningPipelining
Pipelining
 
Informe top sw
Informe top swInforme top sw
Informe top sw
 
programacion iterativa trabajo
programacion iterativa trabajoprogramacion iterativa trabajo
programacion iterativa trabajo
 
Round robin apa
Round robin apaRound robin apa
Round robin apa
 
Practica de procesos en Linux
Practica de procesos en LinuxPractica de procesos en Linux
Practica de procesos en Linux
 
Solemne 2 (con pauta)
Solemne 2 (con pauta)Solemne 2 (con pauta)
Solemne 2 (con pauta)
 
Examen 2 s,o,
Examen 2 s,o,Examen 2 s,o,
Examen 2 s,o,
 
Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
Introduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docxIntroduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docx
 
Tecnología y administración de operaciones
Tecnología y administración de operacionesTecnología y administración de operaciones
Tecnología y administración de operaciones
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02ele
 
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
Analizador Léxico y Sintáctico para Compilador que Invierte Cadenas utilizand...
 
Smed
SmedSmed
Smed
 
Tarea s.o
Tarea s.oTarea s.o
Tarea s.o
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
 
Capitulo5 2011
Capitulo5 2011Capitulo5 2011
Capitulo5 2011
 
Procesos Hilos y Planificación
Procesos Hilos y PlanificaciónProcesos Hilos y Planificación
Procesos Hilos y Planificación
 

Recently uploaded

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 

Recently uploaded (20)

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 

Arquitectura en pipeline

  • 1. UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS ESCUELA ACADÉMICA PROFESIONAL DE ING. INFORMÁTICA TEMA: ARQUITECTURA PIPELINE CURSO: TOPICOS EN SOFTWARE PROFESOR: DIAZ PULIDO ARTURO INTEGRANTES: ABANTO VERA ANGELICA MARIA CASTILLO FARFAN GEORGE IDROGO ZAVALETA ALEX JAIME TRUJILLO – PERÚ 2014
  • 2. 1 ARQUITECTURA EN PIPELINE INDICE DEDICATORIA ................................................................................................................................ 2 INTRODUCCIÓN ............................................................................................................................ 3 MARCO TEÓRICO ......................................................................................................................... 4 CAPITULO I: PIPELINE ................................................................................................................ 4 CAPITULO II: CARACTERISTICAS ........................................................................................ 10 CAPITULO III: RALENTIZACION............................................................................................ 11 CAPITULO IV: APLICACIONES .............................................................................................. 13 CONCLUSIONES ........................................................................................................................... 14 REFERENCIA BIBLIOGRAFICA .............................................................................................. 14
  • 3. 2 ARQUITECTURA EN PIPELINE DEDICATORIA Con mucho cariño y estima dedicamos este trabajo a las personas quienes luchan diariamente por ver de nosotros personas dignas en la sociedad y en el sendero de la vida. El presente trabajo lo dedicamos a usted profesor Arturo días Pulido por el esfuerzo que realiza con la Institución de formarnos profesionalmente y ser futuros Ingenieros Informáticos de capacidad competitiva. Abanto Vera Angélica María Castillo Farfán George Idrogo Zavaleta Alex Jaime
  • 4. 3 ARQUITECTURA EN PIPELINE INTRODUCCIÓN Es un término perteneciente a la ingeniería de software y consiste en una cadena de elementos de procesamiento ordenados de tal manera que la salida de cada elemento es la entrada del siguiente, bueno suena algo complicado pero no lo es; el nombre quiere decir en español “tuberías” y el sistema es básicamente como el agua que circula por cañerías y tubos. En este caso el agua vendría a ser la información o los procesos.
  • 5. 4 ARQUITECTURA EN PIPELINE MARCO TEÓRICO CAPITULO I: PIPELINE Es un término inglés que puede traducirse como “tubería” .Aunque no forma parte del diccionario de la real academia española (RAE), el concepto se utiliza en nuestra lengua para hacer referencia a una arquitectura de informática. Un pipeline o tubería es un conjunto de elementos procesadores de datos conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos. Esta arquitectura es muy común en el desarrollo de programas para el intérprete, ya que se pueden concatenar por comandos fácilmente con tuberías (pipe).También es común verlo en sistemas operativos multitarea ya que ejecutan una serie de procesos de manera simultaneas, los cuales son ejecutados de manera secuencial mediante una administrador de tareas dándoles diferente prioridad y capacidad de procesamiento, alternando entre este sistema “pipeline” y los demás. En informática nuestra rama, el pipeline se emplea en: Microprocesadores Tarjetas graficas Software. Los cálculos que se realizan en el proceso de programación deben sincronizarse con un reloj para evitar los tramos más recargados que se detectan entre dos registros. Se pueden diferenciar entre: Pipelines sin nombre  funcionan de manera temporal y se borra al no estar en uso. Pipelines con nombre  son creados en el propio sistema de archivos (facilitan la Comunicación de los diversos procesos que apelan a la tubería).
  • 6. 5 ARQUITECTURA EN PIPELINE El proceso en pipeline o encadenado es similar al utilizado en cualquier cadena de montaje, y el nombre pipeline (tubería) se debe al hecho de que como en una tubería, en la entrada se aceptan nuevos elementos (instrucciones) antes de que los previamente aceptados salgan por la salida. Por ejemplo: Supongamos una gran pastelería en la que los pasteles primero se hacen en el horno y después se empaquetan para la venta. El proceso de empaquetar una tarta consiste en: 1. Poner una caja vacía en la mesa. 2. Meter un pastel en la caja. 3. Cerrar y precintar la caja. 4. Poner una etiqueta en la caja. 5. Llevar la caja a un gran contenedor Si cada una de estas operaciones la realiza un operario en 10 segundos, parece claro que se tarda 50 segundos en empaquetar un pastel y, por lo tanto, en empaquetar 10 tartas se tardaría 500 segundos. 6. 7. 8. 9. 10. 11. 12. 13. Sale un pastel empaquetado cada 50 segundos Ahora supongamos que se dispone de una cadena de empaquetado de pasteles con una cinta transportadora sobre la que trabajan cinco operarios especializados en tareas distintas. El primer operario pone la caja 1 en la cinta transportadora, esta avanza hasta que la caja 1 esta donde el segundo operario, que introduce el pastel dentro de la caja 1, al mismo tiempo que primero operario pone otra caja 2 en la cinta. La caja 1 sigue avanzando hasta el tercer operario, que la cierra y la precinta, al mismo tiempo que el segundo operario mete otro pastel en la caja 2 y el primero operario pone otra caja 3 en la cinta. La caja 1 sigue su camino en la cinta pasando por el cuarto operario, que pone una etiqueta, hasta llegar al quinto operario, que la retira de la cinta.
  • 7. 6 ARQUITECTURA EN PIPELINE En el momento que el quinto operario retira la caja de la cinta, hay cuatro cajas más en la cinta. Si cada una de estas fases de empaquetado se realiza en 10 segundos, a partir de ahora, cada 10 segundos saldrá un nuevo pastel empaquetado, en lugar de hacerlo cada 50 segundos que se tardaba cuando no había una cadena de empaquetado. A partir de ahora, en tener 10 pasteles empaquetados se tardara solamente 100 segundos, mientras que en el caso de cuando se tenía un solo operario se tardaba 500 segundos. Debe quedar claro que aunque ahora sale una nueva tarta empaquetada cada 10 segundos, la preparación completa de cada tarta requiere 50 segundos. 14. 15. Sale un pastel empaquetado cada 10 segundos
  • 8. 7 ARQUITECTURA EN PIPELINE En una primera aproximación, se puede observar que para ejecutar una instrucción en la CPU se requieren 2 pasos: 1. Alimentar o extracción de las instrucción desde memoria (fetching). 2. Ejecución de instrucción. En 1959, el ordenador Stretch de IBM, teniendo en cuanta que durante la fase de ejecución hay momentos en los que no se accede a memoria principal, aprovechaba para alimentar instrucciones por adelantado y guardarlas en un buffer de prealimentación, todo ello en paralelo con la ejecución de la instrucción en curso, con lo que al terminar de ejecutar dicha instrucción podía cargar la siguiente instrucción directamente desde el buffer sin tener que esperar a traerla de memoria. Esta técnica de prealimentación puede verse como un pipeline de dos etapas. En la primera etapa se alimenta una instrucción de memoria y se guarda en un buffer. La segunda etapa toma una instrucción del buffery la ejecuta. Mientras en la segunda etapa se está ejecutando una instrucción, la primera etapa aprovecha (los ciclos en los que la segunda etapa no accede a memoria) para leer la siguiente instrucción y guardarla en el buffer. Cuando la segunda etapa acabe la ejecución y vacié el buffer de prealimentación, la primera etapa puede volver a leer una nueva instrucción de memoria. Con estas dos etapas de alimentación y ejecución de instrucciones, parece que la velocidad de ejecución de instrucciones por segundo (rendimiento) se duplica. Y si nos fijamos en el ejemplo de la línea de empaquetado de pasteles, tenemos que su velocidad de pasteles empaquetados por minuto se multiplica por cinco cuando se establece una cadena de empaquetado de cinco etapas. Esto es así, simplemente porque el número de etapas dice cuántas cosas se están haciendo simultáneamente, y claro, cuantas más mejo
  • 9. 8 ARQUITECTURA EN PIPELINE La ejecución de una instrucción podría descomponerse en las siguientes 5 etapas: 1. F : Alimentación de la instrucción (fetch) 2. D: Decodificación de la instrucción. 3. O: Extracción y cálculo de los operandos. 4. E: Ejecución (en la ALU). 5. W: Escritura del resultado (write). Si ahora la ejecución de una instrucción está descompuesta en 5 etapas, cada etapa puede durar aproximadamente 1/5 de la duración total de la ejecución de la instrucción. Si suponemos que la duración de un ciclo de reloj es igual a la duración de cada una de estas pequeñas etapas, podemos decir, en principio, que con la técnica de pipeline se consigue que a cada ciclo de reloj finalice una instrucción, o lo que es lo mismo, una velocidad de instrucción por ciclo. Obsérvese que el pipelining no es lo mismo que el paralelismo (aunque en cierto modo, en el pipeline también hay paralelismo). Ambas técnicas están dirigidas a mejorar el rendimiento (número de instrucciones por unidad de tiempo) incrementando el número de módulos hardware que operan simultáneamente, pero en el primer caso, el hardware para ejecutar una instrucción no está replicado, simplemente está dividido en varias etapas distintas especializadas, mientras que en las arquitecturas paralelas, el hardware (la CPU) si esta replicado (hay varios procesadores), por lo que varias operaciones pueden ejecutarse de manera completamente simultánea. El incremento del rendimiento con el pipelining está limitado al máximo número se etapas del procesador, mientras que con el paralelismo, las prestaciones mejoran siempre que se añadan más procesadores (en situaciones ideales) y el trabajo se pueda descomponer en varias tareas para poder repartirlo.
  • 10. 9 ARQUITECTURA EN PIPELINE Veamos a continuación, los diagramas correspondientes a la ejecución en serie, en paralelo y mediante pipeline, suponiendo que las instrucciones se ejecutan en cinco pasos o etapas de un ciclo de reloj cada una. En la ejecución en serie, la primera instrucción debe ejecutarse completamente antes de comenzar la segunda, y esta debe completarse a su vez antes de que comience la tercera. De esta manera, si las instrucciones son sumas, por ejemplo se obtiene un resultado cada de cinco ciclos (en t1, t2, t3,…). Con un paralelismo de N vías (N procesadores), se pueden ejecutar simultáneamente N instrucciones, pero producirán resultados solamente cada 5 ciclos (N resultados cada 5 ciclos). Ya que se producen N resultados en el mismo tiempo en el que la ejecución en serie obtiene un único resultado, el incremento o aceleración (en el caso ideal) es N.
  • 11. 10 ARQUITECTURA EN PIPELINE En el caso del pipeline, la segunda instrucción puede comenzar en cuanto la primera instrucción haya finalizado su primera etapa. A partir del momento en que se llena el pipeline (después de cinco ciclos) se tiene cinco instrucciones ejecutándose en distintas fases, y se puede empezar a obtener un resultado por ciclo, pues finalizara una instrucción después de cada ciclo. Obsérvese que el rendimiento de un pipeline no depende exactamente del número de etapas, sino de la duración de su etapa mas larga. Aunque con una organización totalmente distinta, en cuanto al rendimiento, el paralelismo y el pipeline se pueden considerar equivalentes. No olvidar que la técnica de la segmentación o pipelining mejora el rendimiento no el tiempo de ejecución de cada instrucción. CAPITULO II: CARACTERISTICAS  La segmentación no ayuda en la realización de una única tarea, ayuda en la realización de una carga de trabajo.  Se pueden realizar múltiples tareas simultáneamente utilizando diferentes recursos.  La velocidad se incrementa si se aumentan el número de segmentos.  La razón de segmentación está dada por el segmento más lento.  El tiempo en llenar y vaciar los segmentos reduce la velocidad.  Almacén para las dependencias.
  • 12. 11 ARQUITECTURA EN PIPELINE CAPITULO III: RALENTIZACION Una vez elegido el numero óptimo de etapas, para el factor de aceleración sea igual al número de etapas se requiere que todas las etapas del pipeline siempre estén llenas de instrucciones útiles, y que nada retrase el avance de las instrucciones a través del pipeline. Existen tres motivos que impiden mantener siempre ocupadas todas las etapas del pipeline. 1. Motivos estructurales: cuando una etapa no es capaz de realizar su cometido en un ciclo de reloj, el pipeline se detiene hasta que dicha etapa finaliza su trabajo. Entre las causas estructurales que pueden hacer que el pipeline se detenga tenemos:  No todas las etapas son de la misma duración  Acceso simultáneo a memoria desde varias etapas  Hay instrucciones más complejas que otras Puede suceder incluso que alguna de las etapas ni siquiera necesite ejecutarse. Por ejemplo, en un procesador cuya última etapa se dedique a escribir en memoria principal, la carga de un registro no requerirá dicha última etapa. En este caso, simplemente sucederá que cuando una instrucción corta va después de una normal, ambas finalicen su ejecución simultáneamente, y en el siguiente ciclo de reloj no termine ninguna instrucción; por lo tanto, el rendimiento no varía. Aquí, para simplificar el problema, supondremos que todas las instrucciones pasan por todas las etapas y que todas son de la misma duración. Nos permitimos realizar estas simplificaciones para poder centrarnos en las principales causas de la ralentización del pipeline: las dependencias de datos y las bifurcaciones. 2. Dependencia de operandos: Las dependencias de datos se producen cuando dos instrucciones comparten un dato (operando o resultado). Hay tres tipos de dependencias de datos, pero aquí vamos a comentar solamente el más evidente, el que se denomina “lectura después de escritura” (ReadAfterWrite, o RAW). En el programa del ejemplo, la dependencia se denomina “lectura después de escritura” (ReadAfterWrite, o RAW) puede producirse entre las instrucciones I2 e I3 si la instrucción MUL lee el contenido de R3 (en el ciclo 5) antes de que el resultado de la suma anterior (al final del ciclo 6) se cargue en él. Obviamente, la operación MUL no se ejecutará con los operandos esperados por el programador, por lo que el resultado del programa será incorrecto.
  • 13. 12 ARQUITECTURA EN PIPELINE Hay dos opciones básicas para resolver este problema de dependencia de datos; uno es mediante la Prevención: evitando que pueda llegarse a esta situación de dependencia; el otro es mediante la detección y resolución, es decir, no preocupándose de evitarlo, pero sí detectarlo en caso de que se produzca y solucionarlo de alguna manera. La dependencia de datos: Prevención El problema de la dependencia de datos entre una instrucción I 1, y otra instrucción I2 que le sigue pueda prevenirse retrasando la ejecución de I2 un número K de etapas hasta que desaparezca el problema de que I2 lea un operando que I1 no ha escrito todavía. Este retraso puede conseguirse insertando un número K de instrucciones que puedan ejecutarse después de I1 y antes de I2, sin que por ello varíe la estructura lógica del programa. La dependencia de datos: Detección y resolución Este método requiere un hardware adicional en la CPU, pues se deben detectar las dependencias de datos durante la ejecución y resolver estas dependencias. Detectarlas significa que debe darse cuenta de que en un momento dado hay dos instrucciones arrancadas I 1 e I2, tal que I2 depende de un resultado establecido por I1. El dispositivo hardware que detecta estas dependencias se denomina interlock. Resolver las dependencias significa hacer algo para retrasar la ejecución de I 2 o para acelerar, en la medida de lo posible, la entrega a I2 del resultado que produce I1. Veamos dos posibilidades de resolución (no excluyentes) para cuando se detecta una dependencia de datos entre dos etapas del pipeline. Detener el pipeline: La aproximación más sencilla para evitar los problemas de dependencias de datos con ayuda del hardware es detener la actividad en las etapas necesarias del pipeline hasta que desaparezca la dependencia, es decir, hasta que se pueda ejecutar correctamente la instrucción dependiente. En el ejemplo de la transparencia, esto significa detener las instrucciones que siguen a la instrucción add desde el ciclo 5 hasta que el registro R3 pueda leerse debidamente actualizado en el ciclo 7. Con esta estrategia, primero se detecta la dependencia y después se detiene el pipeline a partir de la instrucción dependiente hasta que desaparece la dependencia. 3. Instruccionesde bifurcación: Una instrucción de bifurcación hace que la dirección de la siguiente instrucción a ejecutar no se conozca hasta el momento justo de la ejecución de la instrucción de bifurcación (en la etapa de ejecución), por lo que la etapa de alimentación no puede extraer la siguiente instrucción a una bifurcación hasta que esta última no finalice su etapa de ejecución, y por lo tanto al terminar la etapa de ejecución, esta tendría que esperar hasta que se alimente la siguiente instrucción y
  • 14. 13 ARQUITECTURA EN PIPELINE vaya avanzando por todas las etapas anteriores, que se habrán quedado vacías. A estas etapas vacías que aparecen se las denomina huecos de retardo (delay slots). En algunos sistemas, las bifurcaciones incondicionales pueden detectarse en la fase de alimentación o extracción (fetch) si se le añade un poco hardware de ayuda también extrae la dirección de salto con lo que se puede proseguir la extracción de instrucciones de la dirección de salto. Sin embargo, en el caso de las bifurcaciones condicionales no se puede hacer esto, pues puede ocurrir que la condición del salto se establezca precisamente en la etapa de ejecución de la instrucción anterior, con lo que no hay más remedio que esperar a que la bifurcación llegue a la etapa de ejecución para conocer la dirección de la siguiente instrucción. Esto quiere decir que se debe detener la alimentación de instrucciones al pipeline hasta que en la etapa de ejecución se averigüe la dirección de la siguiente instrucción. Afortunadamente, hay diversas técnicas que pueden evitar o minimizar el impacto de las instrucciones de bifurcación, tales como la “bifurcación retardada”, “la predicción del salto” y algunas más. CAPITULO IV: APLICACIONES 1. Pipelines gráficos, se encuentra en la mayoría de las tarjetas gráficas, el cual consiste en múltiples unidades aritméticas o CPUs completas, que implementan variados escenarios de operaciones típicas de renderización por ejemplo:  Cálculos de luz y colores  Renderizado  Proyección de perspectiva, etc. 2. Pipelines software o tuberías, consiste en múltiples procesos ordenados de tal forma que el flujo de salida de un procesado alimenta la entrada del siguiente proceso. Por ejemplo:  Pipelines de Unix. – (permite conectar procesos, permitiendo que la salida estándar de un proceso de alimentación sea la entrada estándar de otro proceso)
  • 15. 14 ARQUITECTURA EN PIPELINE CONCLUSIONES  Las tuberías virtuales se crean para segmentar los datos y de este modo incrementar su rendimiento de un sistema digital.  Hemos podido trabajar con el pipeline término perteneciente a la ingeniería de software. Aunque el estudio que hemos hecho sobre este tema es breve nos enfocamos a señalar sus principales elementos, aplicaciones y riesgos.  El pipeline es común verlo en sistemas operativos multitarea, como los que empleamos hoy en día en nuestras computadoras; se ejecutan una serie de procesos de manera simultánea, que son ejecutados luego de manera secuencial mediante una administrador de tareas dándoles diferente prioridad y capacidad de procesamiento, alternando entre un "pipeline" y los demás hemos dedicado por tener que familiarizarnos con el entorno de desarrollo por primera vez. En cuanto al entorno de desarrollo nos hemos dedicado por tener que familiarizarnos con él por primera vez. REFERENCIA BIBLIOGRAFICA http://www.alegsa.com.ar/Dic/pipeline.php http://www.wordreference.com/definicion/ralentizaci%C3%B3n http://definicion.de/pipeline/ http://www.alegsa.com.ar/Dic/pipeline.php http://www.slideshare.net/rehoscript/arquitectura-pipeline http://carlosreynoso.com.ar/archivos/arquitectura/Estilos.PDF