Informe top sw

9
UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCUELA ACADEMICO PROFESIONAL DE INFORMÁTICA TEMA: SEGMENTACION (PIPE-LINE) TOPICOS ESPECIALES EN INGENIERIA DE SOFTWARE ELABORADO POR: Mendoza Simbal Carlos [email protected]

Transcript of Informe top sw

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

ESCUELA ACADEMICO PROFESIONAL DE INFORMÁTICA

TEMA: SEGMENTACION (PIPE-LINE)

TOPICOS ESPECIALES EN INGENIERIA DE SOFTWARE

ELABORADO POR: Mendoza Simbal Carlos

[email protected]

1. INTRODUCCION

Los procesadores segmentados sirven para mejorar el rendimiento sin necesidad de

duplicar excesivamente el hardware.

2. EN LA ACTUALIDAD

La segmentación se utiliza mucho actualmente para el desarrollo de juegos de

instrucciones del procesador. Actualmente, la tendencia es lograr segmentaciones más

profundas para obtener frecuencias de reloj muy altas. Es un método muy eficaz para

obtener un mayor rendimiento.

3. SEGMENTACION

La segmentación (pipeline) es una técnica de implementación por lo cual se solapa la

ejecución de múltiples instrucciones.

El procesamiento segmentado: aprovecha la misma filosofía de trabajo de la

fabricación en cadena, cada etapa de la segmentación (o segmento) completa

una parte (subtarea) de la tarea total.

Segmentos: están conectados cada uno con el siguiente, de forma que la salida

de uno pasa ser la entrada del siguiente.

Recordemos que la segmentación es como una línea de ensamblaje, cada etapa de la

segmentación completa una parte de la instrucción. Como en una línea de ensamblaje

de automóviles, el trabajo que va a realizar una instrucción se descompone en partes

más pequeñas, cada una de las cuales necesita una fracción del tiempo necesario para

completar la instrucción completa.

Cada uno de estos pasos se define como etapa de la segmentación o

segmento.

Las etapas estan conectadas, cada una a la siguiente, para formar una especie

de cauce. Las instrucciones entran por un extremo, son procesadas a través de

las etapas y salen por el otro extremo.

4. IMPORTANCIA

Los mas importante de la segmentación es que las diferentes subtareas se

pueden procesarse de forma simultánea, aunque se sobre diferentes datos.

Una contribución clave de la segmentación es la posibilidad de comenzar una

nueva tarea sin necesidad de que la anterior se haya terminado.

Ejm: Considérese una tarea, compuesta por n subtarea. Si estas subtarea se

procesan de forma totalmente, el tiempo necesario para procesar la tarea total

será la suma de los tiempos necesarios para la terminación de cada una de las

subtarea

Fig. 4.1. tarea procesada de forma totalmente secuencial.

Si para procesar esa misma tarea, se emplea un procesador segmentado, basta

que se haya terminado la primera subtarea para poder empezar a procesar una

nueva tarea.

Fig. 4.2. Tarea ejecutada mediante un procesador segmentado.5. PIPELINES, APLICACIONES EN INFORMÁTICA

Pipelines gráficos: estos se encuentran en la mayoría de las tarjetas graficas, consiste en multiples unidades aritméticas o CPUs completas, que implementan variados escenarios de operaciones típicas de renderizado. Ejemplo: cálculos de luz y colores, renderizado, proyección de perspectiva, etc.

Pipelines de software o tuberías: consiste en múltiples procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Ejm: los pipelines de unix.

Es importante tener en cuenta que la arquitectura pipeline se aplica en dos lugares de la maquina, en la CPU y en la ALU.

6. RENDIMIENTO

Un procesador rinde mas cuando es mas rápido menor tiempo.

Medida de rendimiento Tiempo

7. FACTORES QUE REDUCEN EL RENDIMIENTO

Factores tecnológicos

Tiempo de carga de los registros

Desplazamiento del reloj (clock skew): El clock debería llegar a todas las

etapas en el mismo instante pero debido a diferentes factores físicos

(cableado,carga,drivers....) se produce un desplazamiento temporal en la

llegada del clock a cada etapa.

Factores de diseño y utilización

Participación en etapas inadecuadas.

Riesgos por dependencia de datos, surgen cuando una instrucción

depende de los resultados de un instrucción anterior de forma que ambas

no podrán ejecutarse de forma solapada.

8. RIESGOS ESTRUCTURALES

Surgen del conflicto de los recursos, cuando el hardware no puede soportar todas las

combinaciones posibles de instrucciones en ejecuciones solapadas simultáneamente.

9. PROCESADORES SEGMENTADOS

Un procesador segmentado es aquel que divide el proceso de ejecución de una

instrucción en N etapas de similar duración con el objetivo de procesar N instrucciones

simultáneamente, encontrándose cada una en una etapa diferente de su ejecución.

Conseguimos así, que un procesador compuesto por N unidades funcional es que

trabajan a la vez en circunstancias ideales, incremente su rendimiento en un factor de

N.

Las instrucciones fluyen secuencialmente por las distintas unidades funcionales del

procesador, de igual forma que el agua fluye por el cauce de una tubería, de ahí que en

la jerga de la calle se les conozca como procesadores pipeline que significa tubería en

inglés.

Recordemos que, el modelo de segmentación más repetido en la primera mitad de los

años 90 es el compuesto por las siguientes cinco etapas:

Búsqueda de la instrucción

Decodificación

Lectura de operandos

Ejecución de la operación asociada

Escritura de su resultado.

10. CASO

Funcionamiento de la arquitectura Pipe-line:

Supongamos que un procesador simple tiene un ciclo de instrucción sencillo, consiste solamente en una etapa de búsqueda del código de instrucción y en otra etapa de ejecución de la instrucción.

En un procesador sin segmentación del cauce, las dos etapas se realizaran de manera secuencial para cada una de las instrucciones, como lo muestra esta figura.

Fig. 10.1. Procesador 1

Mientras que, en un procesador con segmentación del cause, cada una de estas etapas se asigna a una unidad funcional diferente, la búsqueda a la unidad de búsqueda y la ejecución a la unidad de ejecución.

Estas pueden trabajar en forma paralela en instrucciones diferentes.

Fig. 10.2. Procesador 2

11. OTROSComputadoras que utilizaron este Modelo de Arquitectura Segmentada