Vous êtes sur la page 1sur 11

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg.

Arquitectura de Computadoras II Practico 1


Anlisis de Rendimientos y Jerarquas de memoria 1 - Una CPU realiza la operacin de multiplicar en 2,3 microsegundos, de los cuales 0,5 Mseg. Se necesitan para el clculo de rebalse del resultado. Se realiza una versin optimizada de esa CPU que reduce a la mitad el tiempo de anlisis de rebalse. 1. Hallar la fraccin mejorada. 2. Hallar la aceleracin mejorada. 3. Cul es la aceleracin global del nuevo procesador respecto del anterior?

1. La fraccin mejorada = 0.5ms/2.3ms 0.21. 2. La aceleracin mejorada = 0.5ms/0.25ms = 2. 3. La aceleracin global = 2.3ms/2.05ms 1.12.

2 - Si una mejora implica una aceleracin global mxima de 700% Cual es la fraccin que involucra mejoras? Cul es la aceleracin necesaria en esa fraccin?
Aceleracion global = Tiempo Antiguo TA = = Fm Tiempo Nuevo TA[ 1 Fm + ] Am 1 1 Fm + Fm/Am

La aceleracin global es mxima si Fm/Am es 0, o sea si la aceleracin mejorada de esa fraccin tiende a infinito. Surge entonces la siguiente frmula: Aceleracion global maxima = Reemplazando: 7= 1 1 Fm Fm = 6 7 1 1 Fm

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 2

3 - Un procesador A realiza una operacin en N segundos. Se optimiza dicha operacin en un procesador B que mejora 2/3 de esa operacin en un factor de 2,5. Un tercer procesador C (basado en B) optimiza la operacin duplicando la velocidad de la parte que mejora. 1. Cul sera la aceleracin global total si la mejora de C se realiza sobre la fraccin que mejor B (2/3)? 2. Calcular la misma aceleracin si la mejora de C se implementa sobre la fraccin que no mejora B.

1. Aceleracin global = N/(2/5)N = 2,5. 2. Aceleracin global = N/(1/2)N = 2.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 3

4 - Encuentre una expresin matemtica que halle la aceleracin global de un equipo si se realizan sobre l dos mejoras con fracciones F1 y F2 y aceleraciones mejoradas A1 y A2.
Como: Tiempo de la fraccion mejorada Tm = Tantiguo Fm Am

Entonces podemos expresar al tiempo nuevo como: Tn = (Tantiguo Tantiguo. Fm) + Tm Y a la aceleracin global como: Aceleracion global = Tiempo Antiguo TA = = Fm Tiempo Nuevo TA[ 1 Fm + ] Am 1 1 Fm + Fm/Am

Ahora al aplicar 2 mejoras tenemos que el tiempo nuevo es: Tn = Tantiguo Tantiguo. F1 Tantiguo. F2 + Tm1 + Tm2 Y a la aceleracin global es: Aceleracion global = Tiempo Antiguo TA = = F1 F2 Tiempo Nuevo TA[ 1 F1 F2 + A1 + A2 ] 1 1 F1 F2 + F1/A1 + F2/A2

5 - Suponga una cach de 2048 bytes dividida en bloques de 64 bytes. La cach est, a su vez, agrupada en 8 conjuntos. El nivel inferior es una RAM de 16 Kbytes. 1. Cuntos bloques tiene cada conjunto de la cach? 2. Cuntos bloques tiene la RAM? 3. Muestre las ecuaciones para calcular el conjunto y posicin dentro del mismo que le corresponden al bloque nmero 100 de RAM. 4. Muestre los valores de la ETIQUETA, INDICE y DESPLAZAMIENTO si la direccin que busca la CPU es 10480.

1. Cache de 2048 Bytes/8 conjuntos = 256 Bytes por conjunto. 256 Bytes por conjunto/64 Bytes por bloque = 4 bloques por conjunto. 2. 16 KBytes = 16384 Bytes/64 Bytes por bloque = 256 bloques. 3. Para calcular el conjunto en el que cae es 100 MOD 8 = 4. Para calcular la posicin dentro del conjunto es aleatoria.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 4

4. Direccin: 10480. Bloque: 10480 DIV 64 = 163. Desplazamiento: 10480 MOD 64 = 48. En la cach ir al conjunto: 163 MOD 8 = 3. Y el valor de la etiqueta ser: 163 DIV 8 = 20.

Para entender mejor el porqu de estas cuentas lo hacemos en binario: Direccin: 10480 10100011110000. Como tenemos Bloques de 64 Bytes necesitamos 6 bits para indicar el desplazamiento entonces: 10100011110000 desplazamiento: 110000 = 48. Como tenemos 8 conjuntos necesitamos 3 bits para indicar el indice entonces: 10100011110000 indice: 011 = 3. Y el resto es de etiqueta: 10100 = 20.

6 - Explicar conceptualmente en que consiste una jerarqua de memoria, y cual es su influencia sobre el sistema.
Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria en niveles. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad basandose en el principio de localidad, el cual nos indica dos cosas: 1. Si un elemento ha sido referenciado, es muy probable que pronto lo vuelva a ser (localidad temporal). 2. Si un elemento ha sido referenciado, es muy probable que pronto lo sean los elementos cercanos a ste (localidad espacial). Gracias a este principio, podemos escalonar la memoria en niveles, donde el nivel ms cercano al procesador debe ser rpido y puede ser reducido. En la siguiente no tiene porque ser tan rpida, ya que accederemos menos veces, y por razones de coste puede ser ms amplia, y as hasta formar toda una jerarqua.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 5

7 - Suponiendo un procesador que solicita al sistema de memoria la siguiente secuencia de direcciones de palabras de memoria: 1, 4, 8, 5, 20, 17, 19, 56, 9, 11, 4, 43, 5, 6, 9, 17 Asumiendo una cache de mapeo directo con 16 bloques de una palabra, inicialmente vacia, rotule cada referencia de la lista anterior como un acierto o un fallo y muestre el contenido final de la cache.
Tipos de fallos de cach: Forzosos: el primer acceso a un bloque no est en la cache; as que el bloque debe ser trado a la misma. Estos tambin se denominan fallos de arranque en fro o de primera referencia. Capacidad: si la cache no puede contener todos los bloques necesarios durante la ejecucin de un programa, se presentarn fallos de capacidad debido a los bloques que se descartan y luego se recuperan. Conflicto: si la estrategia de ubicacin es asociativa por conjuntos o de mapeo directo, estos fallos ocurrirn, ya que se puede descartar un bloque y osteriormente recuperarlo si a un conjunto le corresponden demasiados bloques.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 6

8 - Usando la lista de referencias del ejercicio anterior, muestre los aciertos y fallos y el contenido final de la cache, para una memoria cache asociativa por conjuntos de 4 vias y 16 palabras de tamao total. Asuma reemplazo LRU con antigedad de bloque de hasta 4 (00b a 11b).

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 7

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 8

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 9

9 - Una CPU ejecuta un programa de 250000 instruciones en 10,5 segundos. El promedio de ciclos de reloj por instruccin es de 2 ciclos para aquellas instrucciones que no acceden a memoria y de 5,5 ciclos en promedio para las que acceden a operandos en memoria -que en el programa de testeo ascienden a 30% del total de instrucciones-. Bajo estas condiciones de trabajo calcular: a. Frecuencia de funcionamiento del sistema de CPU. b. Se agrega al sistema un subsistema de administracin de memoria con una cach de mapeo directo que impone una penalizacin de fallos de 12 ciclos y est organizada de manera que el 35% de los accesos son fallos, calcular el tiempo en segundos que la CPU con cach tarda en ejecutar el programa. c. Suponiendo que en cada acceso a memoria RAM se accede a palabras de 16 bits. Puede calcular el tiempo de transferencia por byte de la RAM? d. Calcule la mejora de rendimiento de la nueva configuracin respecto de la antigua. NOTA: Para algunos de los incisos ser necesario asumir ciertas condiciones de operacin.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 10

a. Se presenta la siguiente jerarquia:

Se tiene un total de 250.000 instrucciones de las cuales:

Entonces: 250.000 x 0,7 = 175.000 Instrucciones que no acceden a memoria. 250.000 x 0,3 = 75.000 Instrucciones que acceden a memoria. Tiempo total de las instrucciones que no acceden a memoria: 175.000 x 2 = 350.000 ciclos Tiempo total de las instrucciones que acceden a memoria: 75.000 x 5,5 = 412.500 ciclos Cantidad total de ciclos: 350.000 + 412.500 = 762.500 ciclos. Como la CPU hace esa cantidad de ciclos en 10,5 segundos. Frecuencia de funcionamiento de CPU = 762.500 ciclos ciclos = 72.619 10,5 segundos segundos

b. Se presenta la siguiente jerarquia:

De las que acceden a memoria el el 35% son fallos imponiendo una penalizacin de 12 ciclos. Entonces Nuevamente: 250.000 x 0,7 = 175.000 Instrucciones que no acceden a memoria. 250.000 x 0,3 = 75.000 Instrucciones que acceden a memoria.

Grupo CUYS (Como Usted Ya Sabe) | WWW.CUYS.COM.AR Fac. Cs. Exactas (UNICEN) | Pg. 11

Tiempo total de las instrucciones que no acceden a memoria: 175.000 x 2 = 350.000 ciclos De las que acceden a memoria (75.000), el 35% falla, entonces: 75.000 x 0,35 = 26.250 Instrucciones que fallan. 75.000 x 0,65 = 48.750 Instrucciones que no fallan. Las instrucciones que no fallan de los 5,5 ciclos que necesitaba de acceso a la RAM, supongo que voy a necesitar: 2 ciclos (1 para enviar la direccin desde el CPU a la cach y otro para enviar la palabra de datos desde la cach al cpu). Y de los 3,5 restantes voy a necesitar: (3,5/16) ciclos (suponiendo una ram 16 veces mas rapida que la cach). Sumando un total de (71/32) ciclos. Tiempo total de las instrucciones que no fallan: 48.750 x (71/32) = 108.164 ciclos Las instrucciones que fallan, necesitan el mismo tiempo que las instrucciones que no fallas, mas una penalizacin de fallo. En total cada instruccin que falla requiere (71/32) + 12 = (455/32) ciclos Tiempo total de las instrucciones que fallan: 26.250 x (455/32) = 373.243 ciclos Tiempo total: 350.000 ciclos + 108.165 ciclos + 373.243 ciclos = 831.408 ciclos La CPU tiene una frecuencia de 72.619 ciclos por segundo. Entonces: 72.619 ciclos ------- 1 segundo 831.408 ciclos ------ 5.25 segundos c.

Vous aimerez peut-être aussi