0% encontró este documento útil (0 votos)
113 vistas19 páginas

Ejer 1 S

Este documento presenta varios ejercicios sobre arquitectura de computadores. El primer ejercicio compara dos opciones de diseño de una CPU midiendo su velocidad en función de la frecuencia de reloj y las instrucciones load/store. Los ejercicios siguientes analizan el tiempo de ejecución de programas en diferentes procesadores midiendo factores como instrucciones, CPI y rendimiento.

Cargado por

Ariel Hdez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
113 vistas19 páginas

Ejer 1 S

Este documento presenta varios ejercicios sobre arquitectura de computadores. El primer ejercicio compara dos opciones de diseño de una CPU midiendo su velocidad en función de la frecuencia de reloj y las instrucciones load/store. Los ejercicios siguientes analizan el tiempo de ejecución de programas en diferentes procesadores midiendo factores como instrucciones, CPI y rendimiento.

Cargado por

Ariel Hdez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Arquitectura e Ingenier a de Computadores - 4o Curso Ejercicios y soluciones de la Unidad Tem atica 1. Denici on de arquitectura Ejercicio 1.1.

En la fase de dise no de un computador, hay que optar entre dos opciones A y B , que afectan a la frecuencia de reloj y al n umero de instrucciones de tipo load/store necesarias. Sabiendo que: El reloj de la opci on A es 5 % m as r apido que el de la B . Un programa compilado para A tiene un 30 % de instrucciones del tipo load/store, mientras que el mismo programa compilado para B permite reducir en 1/3 el n umero de instrucciones de este tipo. CPI es 1 para todas las instrucciones dec dase qu e dise no es mejor. Soluci on: El objeto bajo estudio es un computador que ejecuta un programa, y los datos del enunciado nos remiten a la expresi on anal tica del tiempo de ejecuci on de un programa. La relaci on entre los tiempos de ejecuci on de las dos alternativas es: tA NIA CP IA P RA = tB NIB CP IB P RB Solamente quedan por relacionar los par ametros de la ecuaci on: NIB = NIA 90 1 30 NIA = NIA 3 100 100

CP IB = CP IA = 1 P RB fA 105 = = P RA fB 100 y queda: 100 100 tA = = 1,058 tB 90 105 Conclusi on: La m aquina B es 5.8 % m as r apida que la A.

Ejercicio 1.2. En un computador Load/Store, se han medido la frecuencia y los CP I de las siguientes categorias de instrucciones:

Operaci on ALU LOAD STORE Saltos

% 43 21 12 24

CPI 1 2 2 2

Tambi en se ha observado que el 25 % de las operaciones aritm eticas tienen un operando que no se reutiliza, por lo que se plantea la conveniencia de a nadir instrucciones aritm eticas que tengan uno de sus operandos fuente en la memoria, de manera que secuencias de instrucciones como ld r1,o(r10) dadd r3,r1,r2 pueden ser sustituidas por: daddm r3,o(r10),r2 Las nuevas instrucciones tienen un CPI = 2 y al emplearlas tambi en se aumenta en uno el CPI de las instrucciones de salto. Considera que no hay ninguna variaci on en el coste del computador y justica cuantitativamente la respuesta. Soluci on: Se trata de evaluar el impacto de una modicaci on del juego de instrucciones sobre el tiempo de ejecuci on de un programa tipo. La modicaci on afecta al n umero de instrucciones del programa y al CP I . Si denominamos a al procesador original y b al modicado, podremos escribir los tiempos de ejecuci on de uno y otro en funci on del n umero de instrucciones Ia de la versi on original del programa y el tiempo de ciclo del reloj tc . Para el procesador original a basta con calcular el valor medio de CP Ia a partir de los datos tabulados en el enunciado:

Ta = Ia CP Ia tc = Ia (0,43 1 + 0,21 2 + 0,12 2 + 0,24 2) tc = 1,57 Ia tc

Para el procesador b hay que calcular el n umero de instrucciones Ib y el CP Ib . En el n umero de instrucciones hay que descontar el 25 % de las instrucciones de c alculo: Ib = (1 (0,25 0,43))Ia = (1 0,1075) Ia = 0,8925Ia En el ndice CPI, hemos de normalizar las frecuencias de cada tipo de instrucci on: (0,43 (0,25 0,43)) 1 + (0,25 0,43) 2 + ... 0,8925 ... + (0,21 (0,25 0,43)) 2 + 0,12 2 + (0,24 3) 0,8925 1,7025 = 1,91 = 0,8925 2

CP Ib =

El tiempo de ejecuci on resultante es: Tb = Ib CP Ia tc = 1,703 Ia tc La modicaci on no es interesante, porque la aceleraci on obtenida es menor que la unidad: S= 1,57 Ia Ta <1 1,703 Ia Ta

Ejercicio 1.3. En un computador con el procesador MIPS R2000 a 100 MHz y coprocesador se compila y ejecuta el programa P que realiza dos millones de operaciones de coma otante. El compilador traduce cada operaci on de coma otante en una instrucci on del coprocesador o en una rutina con instrucciones de enteros, seg un las opciones de compilaci on indicadas. Variando estas opciones, se ha compilado P dos veces, generando dos c odigos ejecutables: Ph (c odigo para MIPS R2000 con coprocesador) y Ps (c odigo para MIPS R2000 sin coprocesador). Se han ejecutado los dos programas y se han obtenido las siguientes medidas: Programa Ph Ps Se pide: 1. El n umero de instrucciones que se ejecutan por unidad de tiempo en ambas versiones del programa P, expresadas en MIPS y el n umero total de instrucciones ejecutadas en cada caso. 2. El n umero medio de instrucciones de enteros que sustituye cada operaci on en coma otante en Ps . 3. La productividad de ambos programas expresadas en MFLOPS. Soluci on: 1. Para el c alculo de la productividad en MIPS, podemos insertar la ecuaci on del tiempo de ejecuci on del programa en la denici on Prod(MIPS) = 1 I = 6 I CP I T 10 CP I T 106 Tiempo de ejecuci on 92 milisegundos 1.2 segundos CPI medio medido 3.1 ciclos 1.2 ciclos

A partir de esta expresi on, como disponemos del tiempo Tej de ejecuci on global en ambos casos, se puede obtener el n umero total de instrucciones como I = Prod(MIPS) Tej Sustituyendo se obtiene: Programa Ph Ps Productividad (MIPS) 32.26 83.33 3 n umero de instrucciones 2.97 millones 100 millones

2. De las 100 millones de instrucciones presentes en Pc , 2.97 millones son de coma otante y el resto de instrucciones (97.03 millones) son de enteros En Ps todas las instrucciones son de enteros, pero unas son para realizar las operaciones de coma otante y el resto para otros tipos de datos y otras necesidades del programa. Estas u ltimas tambi en se encuentran entre el total de instrucciones de Ph , y podemos obtener su n umero: 2.97 millones de instrucciones en total 2 millones de instrucciones de coma otante = 0.97 millones de instrucciones enteras. Con este razonamiento, obtenemos el n umero de instrucciones de Ps que realizan los c alculos de coma otante: 100 millones 0.97 millones = 99.03 millones. Resumiendo, los 2 millones de operaciones de coma otante se traducen en 99.03 millones de instrucciones enteras. La relaci on pedida es: 99,03 millones = 49,65 instrucciones 2 millones 3. Para este c alculo basta con aplicar la denici on. En ambos casos se realiza el mismo n umero de operaciones, pero en distintos tiempos de ejecuci on. El resultado es: Programa Ph Ps Productividad (MFLOPS) 21.74 1.67

Estas medidas de productividad en MFLOPS se ajustan bastante a las prestaciones reales de estos programas. El programa Ph e s 13 veces m as r apido que Ps si atendemos al tiempo de ejecuci on total. La relaci on entre las productividades en MFLOPS es muy parecida, a diferencia de las productividades medidas en MIPS que sugieren que el programa m as r apido es Ps .

Ejercicio 1.4. Se ha escrito en lenguaje C un programa de compresi on MP3 para comparar dos procesadores, uno antiguo A y otro m as moderno B . El procesador A funciona a 200 MHz, s olo tiene instrucciones de enteros y su CPI es 1. El procesador B funciona a 900 MHz, incorpora las mismas instrucciones enteras y adem as instrucciones multimedia IM y su CPI medio depende de la aplicaci on, porque las instrucciones de enteros duran 1 ciclo y las instrucciones IM duran 3 ciclos. El c odigo ejecutable generado por el compilador puede contener o no instrucciones IM seg un las opciones que se utilicen. Cada instrucci on IM es equivalente a una serie de instrucciones de enteros que realizan la misma operaci on. Para las pruebas se preparan dos c odigos ejecutables: H (con instrucciones IM ) y S (sin ellas). Se anotan los siguientes tiempos de ejecuci on: el procesador A con el c odigo S necesita 50 segundos para comprimir cierta canci on mientras que al procesador B con el c odigo H le basta con 8 segundos. Adem as, se ha visto que el c odigo H tiene 36 % de instrucciones menos que el c odigo S. 1. Cu al es el valor medio del CPI del procesador B ejecutando el c odigo H ? 2. Cu al es la proporci on de instrucciones M en el programa H ? 3. Cu antas instrucciones enteras son equivalentes a una instrucci on IM en promedio? 4. Cu anto tiempo necesitar a el procesador B para comprimir la misma canci on con el programa S? Soluci on:

1. Podemos expresar la aceleraci on en t erminos de la ecuaci on del tiempo de ejecuci on de los programas IA CP IA tA IA 1 5ns S= = = 6,25 IB CP IB tB 0,64 IA CP IB 1,11ns As que CPI = 1.125 2. El valor medio del CPI reci en calculado corresponde a una mezcla de instrucciones. Existe una proporci on x de instrucciones IM que consumen tres ciclos y el resto, (1 x), son las instrucciones enteras que consumen un ciclo. Si despejamos x en la f ormula CP I = 1,125 = (1 x) 1 + x 3 tendremos que la proporci on de instrucciones IM es de 6.25 % 3. Por cada 100 instrucciones en S hay 64 instrucciones en B , de las cuales el 6.25 % son I M. En consecuencia, por cada 100 instrucciones de enteros en S hay 60 de enteros y 4 I M en H . Luego una instrucci on I M sustituye 10 instrucciones de enteros. 4. Como el programa es el mismo, el n umero de instrucciones ejecutadas I y el factor CPI son los mismos en ambos procesadores. El cambio s olo afectala reloj, as que, de la relaci on entre los tiepos de ejecuci on, resulta que S = 900/200 = 4,5. El tiempo de ejecuci on queda en t = 50/4,5 = 11,1 segundos.

Ejercicio 1.5. En cierta CPU, todas las instrucciones enteras se ejecutan en un ciclo de reloj, mientras que las de coma otante necesitan 5 ciclos de reloj para completarse. La mayor a de los programas a ejecutar incluyen un 20 % de operaciones en coma otante. Desde el punto de vista del an alisis de costes y prestaciones, es interesante redise nar la parte de coma otante del procesador para que sea 5 veces m as r apida a costa de duplicar el coste total de la CPU? Justica la respuesta. Soluci on: Se trata de comparar un dise no inicial, que llamaremos A, con un dise no alternativo, que llamaremos B . El proceso bajo medida es el computador ejecutando un programa tipo, y la unidad de tiempo que se puede utilizar es el ciclo de reloj, que coincide en ambos dise nos. Buscaremos la soluci on por dos caminos: mediante la ecuaci on del tiempo de ejecuci on de los programas y utilizando la ley de Amdahl. Mediante la ecuaci on del tiempo de ejecuci on Como los factores I y T no cambian entre las dos alternativas, s olo falta calcular los CPI de cada una de ellas: CP IA = 0,2 5 + 0,8 1 = 1,8 CP IB = 0,2 1 + 0,8 1 = 1 Relacionando los tiempos de ejecuci on, S= I 1,8 T TA = = 1,8 TB I 1T

El nuevo dise no de CPU es 1.8 veces m as r apido, pero su coste se duplica. Por ello, desde un punto de vista de prestaciones y costes estricto, no es interesante aplicar la mejora propuesta. 5

Aplicando la ley de Amdahl Hay que partir de la expresi on general S = 1 (1 F ) +


F S

donde S es la mejora de velocidad propuesta, y F es el porcentaje del tiempo en que se puede emplear la optimizaci on propuesta. El enunciado suministra la mejora de velocidad, S = 5, pero queda un factor por determinar. La fracci on de tiempo no es la proporci on de instrucciones (20 %) afectadas por el cambio, puesto que cada tipo de instrucci on tiene una duraci on. La fracci on de tiempo signicativa es la que dedica la CPU A a operaciones en coma otante respector del total. Si un programa consta de n instrucciones, el 20 % de coma otante consumen 5 (0,2 n) ciclos, que hay que comparar con el tiempo total consumido de 1,8 n ciclos: F = Sustituyendo en la ley de Amdahl: S = TA 1 = TB (1 0,55) +
0,55 5

1 = 0,55 1,8

= 1,8

De nuevo, la opci on b es 1.8 veces m as r apida que la a.

Ejercicio 1.6. El coprocesador de un computador mejora en un factor de 5 el procesamiento de n umeros en coma otante. El tiempo de ejecuci on de cierto programa es de 1 minuto con el coprocesador instalado, y de 2.5 minutos sin e ste. Calcular el porcentaje del tiempo de ejecuci on que el programa realiza operaciones en coma otante sin el coprocesador instalado. Soluci on: Aqu se trata la ley de Amdahl de forma inversa. Disponemos de dos aceleraciones: la referida a la parte modicada S y aceleraci on resultante S . Despejando F en la ley de Amdahl, obtenemos esta expresi on: F = Sustituyendo los datos: F = 2,5 5 5 = 0,75 = 75 % 2,5 5 2,5 S S S S S S

que es el porcentaje de tiempo buscado.

Ejercicio 1.7. Un computador dispone de una conexi on Ethernet de 1 Gbps. Despu es de monitorizar la conexi on, se ha establecido que el controlador de red ha de gestionar, por t ermino medio, 50.000 tramas por segundo, cada una de ellas provoca una interrupci on al procesador para que ejecute una rutina de servicio de 200 instrucciones. El procesador funciona a 200 MHz y su cpi medio es de 1,2 ciclos. Se pide: 6

1. La fracci on de tiempo en que el procesador est a ocupado atendiendo las interrupciones de la red. 2. La mejora que resultar a si se cambiara el controlador de red por otro que redujera el n umero de interrupciones a la d ecima parte. La rutina de servicio necesaria para este controlador ser a de 500 instrucciones. Si el valor del computador es de 2000 e, cu al ser a el precio m aximo que se deber a pagar por la sustituci on del controlador para satisfacer el an alisis de prestaciones/coste? Soluci on: 1. Factor de tiempo: Cada segundo, el procesador dedica a la red un tiempo t = 50,000 int/seg 200 inst/int 1,2 cpi 5 ns/ciclo = 60 ms. La fracci on de tiempo es F = 6 %. La fracci on de tiempo es F = 6 %. 2. Aceleraci on. El procesador original dedica a la red un tiempo t = 60 ms cada segundo. Por su parte, el procesador mejorado dedica a la red un tiempo t = 5,000 int/seg 500 inst/int 1,2 cpi 5 ns/ciclo = 15 ms. La aceleraci on en la gesti on de la red ser a: S= y la mejora global, seg un la ley de Amdahl: S = 1 1 0,06 +
0,06 4

60 =4 15

= 1,047

La inversi on m axima ser a de 0,047 2000 = 94 e.

Ejercicio 1.8. Un computador dispone de un procesador load/store con un u nico nivel L1 de memoria cache (interna). Las instrucciones de acceso a memoria son el 30 % del total de ejecutadas, y el 5 % de las mismas generan un fallo que requiere un acceso a la memoria principal durante 10 ciclos de reloj. En ausencia de fallos de cache, el CPI del procesador es 1. Se estudia la conveniencia de a nadir un segundo nivel L2 de cache (externa). Las pruebas realizadas han demostrado que el segundo nivel de cache resuelve el 90 % de fallos de primer nivel, reduciendo la penalizaci on a s olo 2 ciclos de reloj; el 10 % restante sigue penalizando 10 ciclos de reloj. 1. Cu al es la fracci on de tiempo que consume el procesador en acceder a la memoria principal con un solo nivel de cache? 2. En promedio, qu e penalizaci on sufrir a el procesador a cada fallo de cach e L1 si existe la cach e L2? 3. Cu al es la aceleraci on total del computador al a nadir L2? 4. Cu al es la fracci on de tiempo que consume el procesador en acceder a la memoria principal cuando hay dos niveles de cache? 5. Si el computador est a valorado en 1000 e y se hace uso del an alisis de prestaciones-coste, cu al ser a la m axima inversi on que deber a hacerse en a nadir la cache L2? 7

Soluci on: 1. Si tomamos 100 instrucciones, 30 ser an load/store y 1,5 producir an un fallo de p agina que suponen una penalizaci on de 15 ciclos que se a naden a los 100 ciclos base. O sea, que de cada 115 ciclos 15 corresponder an a la penalizaci on: F = 15 = 13 % 115

2. De 100 fallos en L1, 90 se resolver an en 2 ciclos, y los 10 restantes en 10 ciclos. Luego la penalizaci on promedio ser a: P = 90 2 + 10 10 = 2,80 ciclos 100
10 2,8

3. Aqu resulta aplicable la ley de Amdahl, tomando F = 13 % y S = S = 1 1 0,13 + = 1,10

= 3,57

0,13 3,57

4. Cada 100 instrucciones requieren ahora 1,5 2,8 ciclos de penalizaci on, o sea que requerir an 104.2 ciclos. De e stos, 1,5 10 % 10 ciclos corresponder an al acceso a la memoria. O sea: F = 1,5 0,1 10 = 1, 4 % 104,2

5. Si la aceleraci on es del 10 %, podremos invertir hasta 100 e

Ejercicio 1.9. Se dispone de un programa P cuyo tiempo de ejecuci on en un computador C es de 120 s. Se pretende acelerar la ejecuci on de dicho programa realizando varias mejoras en la plataforma de ejecuci on: 1) Comprar una tarjeta controladora de discos RAID, que permitir a reducir el tiempo de acceso a disco a un 40 % del original, reduciendo el tiempo de ejecuci on total del programa P a 84 s. El coste de dicha tarjeta controladora es de 90 e. 2) Adquirir una tarjeta aceleradora de video, puesto que se sabe que el programa P dedica el 30 % del tiempo a procesos de representaci on gr aca, valorada en 125 e. La incorporaci on de dicha tarjeta aceleradora reducir a el tiempo dedicado a representaci on gr aca a 1/3 del original. Dadas estas caracter sticas: 1. Si el computador original hubiera costado 300 e, qu e mejoras ser an rentables por separado bas andonos en el an alisis de coste/prestaciones? Justica la respuesta. 2. Cu anto deber a habernos costado el computador original C para que fuera interesante la incorporaci on simult anea de ambas mejoras desde el punto de vista de coste/prestaciones?. Justica la respuesta. Soluci on: 8

1. Para aplicar el an alisis de coste y prestaciones necesitamos cuanticar el efecto global de cada mejora (Sd para el disco y Sv para el sistema de v deo) y compararlo con el incremento de precio correspondiente. En el caso del disco, tenemos que
Sd =

Toriginal 120 = = 1,43 Tnuevo 84

Si el coste original fue Co = 300 e y el coste con la mejora es Cd = 390 e, la relaci on es: Cd 390 = = 1,3 Co 300 Luego la mejora de la controladora de disco es rentable en este caso. Para calcular Sv podemos aprovechar la ley de Amdahl, haciendo Fv = 30 % y la aceleraci on Sv = 3 .
Sv =

1 (1 Fv +

Fv Sv

1 (1 0,3) +

0,3 3

= 1,25

Y la relaci on entre los costes: 425 Cv = = 1,42 Co 300 Luego, en este caso, la nueva adquisici on es claramente desaconsejable desde el punto de vista del an alisis de coste/prestaciones.
2. La mejora global, Sdv , la podemos obtener a partir de la ley de Amdahl:

= Sdv

1 1 Fd Fv +

Fd Sd

Fv Sv

donde falta por determinar Sd y Fd . Para obtener Sd Sd = y Fd se obtiene a partir de:


Sd =

1 = 2,5 0,4

1 (1 Fd ) +

Fd Sd

1,43 =

1 (1 Fd ) +

Fd 2,5

Fdisco = Asi pues:


Sdv =

0,75 = 0,5 1,5

1 1 Fd Fv + 9

Fd Sd

Fv Sv

Sdv =

1 1 0,5 0,3 +

0,5 2,5

0,3 3

1 1 = =2 0,2 + 0,2 + 0,1 0,5

La mejora global cuesta 90 + 125 = 215 e. As pues, si el incremento de coste debe ser igual o inferior a la aceleraci on global para que sea rentable la incorporaci on de ambas mejoras, el coste l mite del computador original deber a ser: Cmejorado Coriginal + 215 1 Coriginal Coriginal
Sdisco+video Coriginal 2 Coriginal 215 215 e

Ejercicio 1.10. Se ha monitorizado la ejecuci on de cierta aplicaci on en un computador, habi endose obtenido un tiempo de ejecuci on de 10 minutos, as como que la mayor parte de su tiempo se consume en los procedimientos P1 y P2. Con el objeto de reducir el tiempo global de ejecuci on se modica el c odigo de ambos procedimientos. Si la mejora obtenida en cada uno de los dos procedimientos P1 y P2 fuera innita, el tiempo de ejecuci on de la aplicaci on descender a hasta 2 minutos. Finalmente, se consigue hacer un procedimiento P1 que hace su funci on 5 veces m as r apido y mejorar el P2 en un 100 %, haciendo que el tiempo de ejecuci on de la aplicaci on sea de 4.5 minutos. Calcula cu anto tiempo se consum a en los procedimientos P1 y P2 en la aplicaci on original. Soluci on: Sea F 1 y F 2 el tiempo consumido en cada uno de los procedimientos, y R el tiempo consumido en el resto del c odigo. Sabemos que: F 1 + F 2 + R = 10 Al mejorar los procedimientos P 1 y P 2, el programa consumir a un tiempo F 1 y F 2 en cada uno de ellos. Cuando la mejora en estos procedimientos fuera innita (F 1 = 0 y F 2 = 0), el tiempo de ejecuci on es de 2 minutos: R=2 Por lo tanto: F 1 + F 2 + 2 = 10 F 1 + F 2 = 8 Por otra parte, sabemos que al mejorar P 1 y P 2 en 5 y 2 veces, respectivamente, el tiempo de ejecuci on pasa a ser de 4.5 minutos:
F1 5

F2 2

+ 2 = 4,5

Tenemos un sistema de dos ecuaciones con dos inc ognitas: F1 + F2 = 8 F1 + F22 = 2,5 5 Operando y despejando, obtenemos: F 1 = 5 min y F 2 = 3 min 10

Ejercicio 1.11. La empresa Farmax dispone de un un supercomputador HAL para trabajos de an alisis qu mico. El ordenador est a dotado de un procesador RIX/300 con un reloj a 300 MHz. El sistema se utiliza exclusivamente para ejecutar el programa de an alisis Espectroquimix que hace uso intensivo de instrucciones de coma otante. Despu es de monitorizar el sistema, se han obtenido los datos siguientes: La fracci on de tiempo que el procesador emplea en ejecutar instrucciones de coma otante es 75 %. La frecuencia de las instrucciones de coma otante en Espectroquimix es: (ver tabla). Los CPI de cada tipo de instrucci on de CF (ver tabla). frecuencia ( %) 30 10 40 20 operaci on suma resta multiplicaci on divisi on CPI 5 5 10 40

La direcci on de Farmax pide al ingeniero en inform atica al mando que aumente la velocidad de c alculo. Despu es de consultar con los proveedores hay que valorar la siguiente mejora: Sustituir el procesador del computador por el procesador RIX/400E, compatible binario con el anterior, que funciona a 400 MHz y tiene la parte de coma otante muy mejorada. Los CPI de las instrucciones enteras no cambian, pero los de coma otante quedan as : operaci on suma resta multiplicaci on divisi on Calcula: 1. La mejora obtenida ejecutando instrucciones enteras. 2. El CPI medio de las instrucciones de coma otante de los procesadores RIX/300 y RIX/400E cuando ejecutan Espectroquimix. 3. La productividad en MFLOPS obtenida con el procesador RIX/300 cuando ejecuta Espectroquimix. 4. La aceleraci on obtenida en la ejecuci on de c odigo en coma otante por el cambio de procesador. 5. La aceleraci on global obtenida en la ejecuci on de Espectroquimix. 6. La fracci on del tiempo que el procesador RIX/400E emplea en ejecutar instrucciones de coma otante. 7. La productividad en MFLOPS obtenida con el procesador RIX/400E cuando ejecuta Espectroquimix. Soluci on: En este problema hay que realizar un an alisis separado del rendimiento de dos procesadores ejecutando instrucciones enteras e instrucciones de coma otante. Denominaremos A al computador actual basado en el procesador RIX/300 y B al alternativo, basado en el RIX/400E. 11 CPI 3 3 7 25

1. Restringiendo el an alisis a las instrucciones enteras, tenemos que el tiempo de ejecuci on de las instrucciones enteras de Espectroquimix ser a Tent = Ient CP Ient tC Como ambos procesadores son compatibles binarios, el n umero de instrucciones enteras no cambia al pasar de un procesador a otro, puesto que ejecutan el mismo programa. Como el CPI medio (desconocido) de las instrucciones enteras tampoco cambia, la aceleraci on se deber a exclusivamente al cambio de frecuencia de reloj. Por tanto, Sent = tC (B) fA 400 == = = 1,333 tC (A) fB 300

El procesador RIX/400E es 1.33 veces m as r apido que el RIX/300 2. Las frecuencias de las instrucciones no cambian, pero s los CPI de cada una. CP Icf A = 0,30 5 + 0,10 5 + 0,40 10 + 0,20 40 = 14 ciclos

CP Icf B = 0,30 3 + 0,10 3 + 0,40 7 + 0,20 25 = 9 ciclos 3. Si el tiempo de ciclo del reloj de un procesador es tC , o su frecuencia es f = f rac1tC , el n umero de instrucciones que ejecuta en un segundo (IPS) ser a IP S = f 1 = tC CP I CP I

Cada instrucci on de coma otante realiza una operaci on. Hay que tener en cuenta que el c alculo en coma otante ocupa una fracci on Fcf = 75 % de tiempo P RODCFA = Fcf fA 0,75 300 = = 16,1 MFLOPS CP Icf A 14

4. En el caso de la coma otante, hay que considerar las dos modicaciones: la reducci on del CP Icf y el incremento de la frecuencia de reloj. Scf = CP Icf A fB 14 400 = = 2,07 CP Icf B fA 9 300

5. Aqu hay que considerar por separado los enteros y la coma otante; para cada concepto hay una fracci on de tiempo medida y una aceleraci on que hemos calculado. Aplicando la ley de Amdahl, obtenemos la aceleraci on global Sg : Sg = 6. La nueva fracci on ser a F = Fcf 1,82 Sg = 0,75 = 0,66 Scf 2,074 12 1 1 Fent Fcf +
Fent Sent Fcf Scf

0,25 1,33

1 +

0,75 2,07

= 1,82

7. La productividad de coma otante resultante ser a P RODCFA = 0,66 400 = 29,3MFLOPS 9

Ejercicio 1.12. Se plantea modicar el dise no de la arquitectura de un procesador load/store para a nadir un indicador de acarreo. La modicaci on afecta al dise no de la UAL y al juego de instrucciones. El an alisis del uso del juego de instrucciones y del CPI medio del procesador original, con reloj a 500 MHz, es el siguiente: tipo aritm etica carga almacenamiento bifurcaci on frecuencia 50 % 20 % 10 % 20 % CPI 1 2 1.2 1.2

Se ha valorado que la modicaci on permitir a ahorrar una de cada diez instrucciones aritm eticas, pero el CPI de e stas subir a a 1.2 y el de las bifurcaciones a 1.5. Por otra parte, al redise nar el decodicador, la UAL y la detecci on de riesgos, se ha visto que la m axima frecuencia de reloj aplicable es de 400 MHz. Estudia la mejora siguiendo estos pasos: 1. Calcula el CPI del procesador original 2. Calcula el CPI del procesador modicado 3. Determina qu e dise no es m as r apido y cuantica la respuesta Soluci on: 1. De la tabla de frecuencias se deduce que CPI (original) = 1.26 ciclos. 2. N otese que la modicaci on reduce en 10 % 50 % = 5 % el n umero de instrucciones necesarias. CPI (modif icado) = 0,45 1,2 + 0,2 2 + 0,1 1,2 + 0,2 1,5 = 1,43 0,95

3. Hay que comparar los tiempos de ejecuci on de los programas en ambos procesadores. Si I es el n umero de instrucciones de un programa en el procesador original, la comparaci on ser a: T (modicado) (I 0,95) 1,43 2,5 = = 1,35 T (original) I 1,26 2 donde los tiempos de ciclo de reloj se han expresado en ns. El dise no original es un 35 % m as r apido que el modicado.

Ejercicio 1.13. Se tiene un procesador load/store de 32 bits dotado de instrucciones que manipulan bytes, halfwords y words. Sobre este procesador se ha monitorizado la aplicaci on del programa TEX, y se ha obtenido que el 11 % de las referencias a datos se hacen a bytes y halfwords y el resto a words. Tambi en se sabe que el 36 % de las instrucciones del programa son de acceso a la memoria, siendo las instrucciones de load el doble de frecuentes que las de store. Finalmente, se ha medido que CPI=1. Las instrucciones de lectura de memoria son las mismas del juego del MIPS: (lb, lbu, lh, lhu y lw). Los mismo se puede decir de las escrituras (sb, sh y sw) Con el objeto de mejorar las prestaciones, se plantea realizar las siguientes modicaciones: 13

Eliminar las instrucciones de acceso a bytes y halfwords del juego de instrucciones. Como consecuencia, los programas que necesiten esta funcionalidad deber an utilizar otras instrucciones del procesador: Con acceso a bytes
lb/lbu/lh/lhu r,A sb/sh r,A

Sin acceso a bytes


lw r,A extract n,r lw r,a insert n,r,r sw r,a

Las nuevas instrucciones de inserci on (insert) y extracci on (extract) disponen de las versiones adecuadas para procesar todos los tipos de datos originales bytes y halfwords con y sin signo. Aumentar la frecuencia de reloj, al simplicar el dise no de la interfaz del n ucleo del procesador con la memoria cache. En cu anto habr a que incrementar la frecuencia de reloj para que sea interesante incorporar las modicaciones propuestas? Soluci on: La resoluci on exige la evaluaci on del incremento de instrucciones por los cambios en el juego. Una vez obtenido de este dato, la ecuaci on del tiempo de ejecuci on de los programas permitira obtener el incremento de la frecuencia del reloj que compense el cambio. El n umero de instrucciones eliminadas depende de la frecuencia de instrucciones de acceso de memoria y del tipo de dato accedido. Por ejemplo, la frecuencia fhb de instrucciones de lectura que hacen referencia a bytes y halfwords (lb, lbu, lh y lhu) es de 11 % respecto del total de lecturas, que a su vez son los 2/3 de los accesos a memoria. Como los accesos a memoria suman el 36 % de las instrucciones, podemos expresar esta frecuencia como flhb = 2/3 0,11 0,36 respecto del total de instrucciones. Igualmente, se puede expresar la frecuencia de instrucciones de escritura en memoria afectadas por el cambio como fshb = 1/3 0,11 0,36 Cada instrucci on de lectura eliminada se tendr a que sustituir con dos instrucciones: una de lectura de memoria lw y luego la instrucci on de extracci on correspondiente extract. Por otra parte, cada instrucci on de escritura eliminada se ha de sustituir por tres instrucciones: lectura lw, inserci on insert y escritura sw. Balance nal: el incremento bruto por la eliminaci on de las instrucciones de lectura es de 0, 11 0, 36 1 = 2,6 %, y por la eliminaci on de instrucciones de escritura es 0, 11 1 0, 36 2 = 2,6 % 3 Incremento en n umero total de instrucciones: 5.2 % De la ecuaci on del tiempo de ejecuci on de los programas se deduce que habr a que compensar con un incremento m nimo de la frecuencia de reloj en 5.2 %
2 3

Ejercicio 1.14. Un equipo de arquitectos de computadores est a estudiando mejorar el dise no de un computador que dispone de un juego de instrucciones semejante al MIPS. Se plantea la conveniencia de incluir en el juego las instrucciones de manejo de la pila, push y pop que permitir an sustituir secuencias de instrucciones como:

14

... sw r1,0[sp] sw r2,-4[sp] subi sp,sp,8 ... lw r4,0[sp] addi sp,sp,4 ...

; apila r1 y r2

; desapila r4

por:
... push r1 push r2 ... pop r4 ...

; apila r1 y r2

; desapila r4

Se sabe que el compilador para este computador s olo utilizar a la pila como soporte para las llamadas a subprograma, tanto para el paso de par ametros como para salvar o restaurar el valor de los registros destinados a variables locales, como muestran los siguientes fragmentos de c odigo: Programa principal:
... sw r1,0[sp] ; llamada a subprograma ametros) sw r2,-4[sp] ; (dos par subi sp,sp,8 jal subprograma addi sp,sp,8 ...

Subprograma:
; Punto de entrada al subprograma sw r1,0[sp], ; crea espacio para tres sw r2,-4[sp] ; variables locales sw r3,-8[sp] sub sp,sp,#12 odigo ... ... ; comienza el c ... lw r3,0[sp] ; vuelta al prog. principal lw r2,4[sp] lw r1,8[sp] add sp,sp,#12 jr r31

De las medidas de uso del computador sin estas instrucciones se tiene que el 1 % de las instrucciones son llamadas a subprograma. Tambi en se dispone de la siguiente estad stica del n umero de variables locales y par ametros de los subprogramas:

15

Var. loc. 0 1 2 3 4

% Par ametros 30 0 25 1 20 2 3 15 10 4

% 45 20 15 10 10

Para poder implementar las dos instrucciones, es necesario reducir la frecuencia del reloj, pero se sabe que no cambiar a el CPI medio. Si en el dise no original la frecuencia de reloj era de 100 MHz, cu al ser a la frecuencia m nima del dise no modicado para que interese la modicaci on propuesta? Soluci on: El cambio en el juego de instrucciones afecta a dos factores de la ecuaci on del tiempo de ejecuci on: el n umero de instrucciones I y el tiempo de ciclo de reloj tC . Llamemos Tej al tiempo de ejecuci on en el dise no original sin instrucciones de pila, y Tej al tiempo de ejecuci on despu es de la modicaci on propuesta. Veamos el impacto en el n umero de instrucciones con el juego modicado I en referencia al original I: En el paso de par ametros: se ahorra una instrucci on si hay alg un par ametro. Esto ocurre en el 55 % de las llamadas a procedimiento. En las variables locales: Se ahorran dos instrucciones si hay alguna variable local. Esto ocurre en el 70 % de los casos El n umero de instrucciones es I = I (1 (0,55 + 2 0,7) 0,01) = 0,98 I As que la condici on que debe satisfacer el reloj del procesador modicado es I 1 10 Tej = >1 Tej 0,98 tC Para mantener el tiempo de ejecuci on, el reloj del dise no modicado habr a de oscilar a 98 MHz

Ejercicio 1.15. Estudia la posibilidad de a nadir un nuevo modo de direccionamiento indexado al MIPS para instrucciones de load y store. La direcci on del operando en memoria se calcula mediante la suma de dos registros y un desplazamiento de 11 bits, de manera que secuencias de instrucciones como dadd r1,r1,r2 ld rd,o(r1) pueden ser sustituidas por: ldi rd,o(r1,r2) El CPI no queda afectado, pero el periodo de reloj del MIPS mejorado es 5 % m as largo que el original. Las medidas tomadas sobre el MIPS original indican que el 24 % de las instrucciones ejecutadas son del tipo load/store, y en el 10 % de los casos pueden ser sustituidas por las nuevas instrucciones. Deduce cu al de las dos m aquinas es m as r apida, cuanticando su velocidad respecto de la m as lenta. Soluci on: 16

En funci on de los componentes del tiempo de ejecuci on de un programa tipo, se tiene que en el procesador original, el tiempo de ejecuci on de un programa tipo es: Tej = I CP I tc Despu es de la modicaci on, el tiempo de ejecuci on ser a
Tej = I CP I tc = (1 0,24 0,1) I CP I (1,05 Tclk )

La aceleraci on debida a la mejora ser a S=


Tej = 1 024 Tej

Conclusi on: el procesador original es un 2.4 % m as r apido que el mejorado.

Ejercicio 1.16. En la fase de dise no de un computador se plantean dos alternativas para las instrucciones de salto condicional: A. Instrucci on de comparaci on (1 ciclo), seguida de Instrucci on de salto (2 ciclos) B . Instrucci on combinada de comparaci on y salto (2 ciclos), con un per odo de reloj 25 % mayor Suponiendo que los saltos suponen un 20 % de las instrucciones ejecutadas en la alternativa A y que el resto de instrucciones necesita un ciclo de reloj para ejecutarse, qu e alternativa es mejor? Soluci on: Disponemos de la informaci on suciente para recurrir a la ecuaci on del tiempo de ejecuci on de los programas. As pues, tenemos que T ejA = IA (0,2 2 + 0,2 1 + 0,6 1) TA = 1,2 IA TA 0,2 0,6 2+ 1) 1,25TA = 1,25 IA TA 0,8 0,8

T ejB = 0,8IA (

La alternativa A, con ciclo de reloj menor, es m as r apida que la B , que ejecuta menos instrucciones. Cuanticando la respuesta, S= 1,25 T ejB = = 1,042 T ejA 1,2

La alternativa A es un 4.2 % m as r apida que la B .

17

Ejercicio 1.17. Dise nando cierto computador, hay que optar entre dos modelos de procesador load/store. El primer modelo, llamado P1, dispone de ventanas de registros y genera una excepci on cuando se agotan los registros, (en un sentido o en otro); la rutina de servicio asociada para salvar o restaurar una ventana en memoria ejecuta 50 load/stores, 10 bifurcaciones y 20 operaciones de UAL. El segundo modelo, llamado P2, dispone de un banco de registros convencional, y necesariamente hay que incluir m as load/stores en sus programas. El resto de par ametros (juego de instrucciones, frecuencia de reloj, subsistemas de memoria principal y antememoria) son id enticos en ambas alternativas. Para poder optar entre ellos, se ha medido el uso del juego de instrucciones de ambos modelos. Si se ignoran las instrucciones de salvar y restaurar registros en la llamada y retorno de procedimiento, el c odigo para ambos es el mismo, y las proporciones de los distintos tipos de instrucciones son las siguientes: Tipo % Load/Store 33 % Bifurcaciones 15 % Llamadas a procedimiento 2 % UAL 50 % P1 agota sus ventanas en el 5 % de las llamadas a procedimiento. Por su parte, el c odigo para P2 incluye un 20 % m as de instrucciones load/store que P1. En ambos casos, el coste temporal medio de las instrucciones es el siguiente: Tipo CPI Load/Store 1.2 CPI Bifurcaciones y llamadas a procedimiento 1.4 CPI UAL 1 CPI Se pide: 1. Calcular el CPI global medio para P1 y P2. 2. Decidir qu e alternativa es mejor. Justif quese la respuesta. Soluci on: 1. CPI de P1: An alisis de la ejecuci on de 100 instrucciones de programa. N otese que hay que contabilizar dos llamadas a subprograma, el 5 % de las cuales provoca un desbordamiento de ventana que requiere la ejecuci on de las instrucciones de la rutina de servicio. tipo Load/Store Bifurcaci on Llamada UAL TOTAL n umero de instrucciones CPI 33 + 2 5 % 50 = 38 12 15 + 2 5 % 10 = 16 14 2 14 50 + 2 5 % 20 = 52 1 108 CPI ciclos 456 224 28 52 122.8

Se puede calcular el CPI medio de P1 como CPI = 122,8/108 = 1,137. CPI de P2: Bastar a con apreciar que los programas tendr an un 20 %*33 % m as de instrucciones 18

tipo Load/Store Bifurcaci on Llamada UAL TOTAL

n umero de instrucciones CPI 33 + 20 % 33 = 39 6 12 15 14 2 14 50 1 106.6 CPI

ciclos 4752 21 28 52 121.3

Se puede calcular el CPI medio de P2 como CPI = 121,3/106,6 = 1,138. 2. Considerando I como el n umero de instrucciones de un programa compilado para P1, calculamos la relaci on entre los tiempos de ejecuci on en ambos procesadores: t = numero de instrucciones CPI trel . El n umero de instrucciones que se ejecutan en uno y otro ha sido calculado en las tablas anteriores: P1 I 108 % 1,137 trel = = 1,012 P2 I 106,6 % 1,138 trel P2 es 1.2 % m as r apido que P1.

19

También podría gustarte