Segmentacion en procesadores(mejora del rendimiento)

Solo disponible en BuenasTareas
  • Páginas : 21 (5076 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de junio de 2010
Leer documento completo
Vista previa del texto
UNIDAD 5 : Mejora del rendimiento con la segmentación. 5.1 Un resumen de segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones. Hoy día, la segmentación es la técnica de implementación clave utilizada para hacer CPU rápidas. Para introducir los conceptos de segmentación, iniciaremos con una analogía a unalavandería. En una lavandería, para una carga de ropa (x cantidad de kilos), las tareas que se realizan pueden dividirse en las siguientes etapas: 1. Colocar la carga de ropa sucia en la lavadora. 2. Sacar la ropa de la lavadora para pasarla a la secadora. 3. Doblar la ropa seca. 4. Acomodar la ropa limpia y seca en su lugar correspondiente. Si cada una de las tareas requiere de media hora para suejecución, al trabajar sobre cuatro cargas de ropa: A, B, C y D, se requerirán de 8 horas para concluir con el lavado de las 4 cargas. Como se muestra en la figura siguiente:

Fig. 5. 1 Lavado de 4 cargas sin segmentación.

Ahora, si contamos con los recursos suficientes, tal vez sea posible traslapar algunas tareas, de manera que después de que la carga A se extraiga de la lavadora y pase a lasecadora, la carga B puede introducirse en la lavadora. De manera que al mismo tiempo se tendría trabajando a la lavadora y a la secadora con dos cargas diferentes. En la media hora siguiente, puede doblarse la ropa que corresponde a la carga A, pasar la carga B a la secadora e introducir la carga C en la lavadora. De esta manera se traslaparían diferentes cargas de ropa durante el proceso de lavado ypara el lavado de 4 cargas se requeriría solo de 3.5 horas, esto se muestra en la figura 2. Lo que tenemos es la aplicación de segmentación en el proceso de lavado. Y cada uno de los pasos en los que se dividió el proceso se conoce como una etapa de la segmentación o un segmento.

Fig. 5. 2 Lavado de 4 cargas con segmentación.

Puede notarse en la figura 5.2 que el tiempo invertido para unacarga de ropa sigue siendo de dos horas, lo que se disminuyó fue el tiempo invertido para las cuatro cargas. En otras palabras, la segmentación no disminuye el tiempo de ejecución pero si aumenta la productividad, y de esta manera se aumenta el rendimiento. Un proceso similar se aplicará a la ejecución de las instrucciones. La ejecución de cada instrucción se dividirá en diferentes etapas, conectandocada una a la siguiente, para formar una especie de cauce - las instrucciones entrarán por un extremo, se procesarán a través de las etapas y saldrán por el otro extremo. La productividad de la segmentación está determinada por la frecuencia con que una instrucción salga del cauce. Como las etapas están conectadas entre sí, todas las etapas deben estar listas para proceder al mismo tiempo. Eltiempo requerido para desplazar una instrucción, un paso, a lo largo del cauce es un ciclo de reloj. La duración del ciclo está determinada por el tiempo que necesita la etapa más lenta (porque todas las etapas progresan a la vez). Las etapas en las que se puede dividir la ejecución de las instrucciones MIPS son: 1. Atrapar las instrucciones de la memoria. 2. Leer los registro mientras se decodificala instrucción. 3. Ejecutar la instrucción o calcular una dirección. 4. Accesar un operando en memoria de datos. 5. Escribir el resultado en un registro. Algunas instrucciones no requerirían de todas las etapas de segmentación, a excepción de las instrucciones de carga, las cuales si utilizan todas. Si por ejemplo, ejecutamos 3 instrucciones de carga en una implementación no segmentada (similar auna implementación multiciclos), la ejecución se comportaría como:
Programa lw $1, 100($0) Fetch Reg Tiempo ------------------------------------------------------------------> ALU Data Reg

lw $2, 200($0) lw $3, 300($0)

Fetch

Reg

ALU

Data

Reg Fetch ....

Fig. 5. 3 Tres instrucciones de carga sin segmentación.

Hasta que concluye la primer carga, se continúa con la...
tracking img