lunes, 6 de octubre de 2014

Mi Tarea 2 de Arqui con el Zimmy

1. Explica en que consiste la arquitectura de Von Neumann.

Consta de 5 partes: ALU, unidad de control, dispositivos de entrada y salida, buses y memoria.
Tradicionalmente los sistemas de microprocesadores se basan en esta arquitectura en la cual la CPU está conectada a una memoria principal única (generalmente la RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede mediante los buses.


2. Menciona los tipos de benchmarks que existen y menciona ejemplos de cada tipo.

-Sintéticos: diseñados para medir el desempeño de un componente específico de las computadoras llevándolo al máximo de sus capacidades.
  Ejemplos: Dhrystone, Whetstone

-Aplicaciones: aplicaciones reales que simulan una carga de trabajo para medir el comportamiento global del equipo.
  Ejemplos: Sysmark, Officebench

-Test de bajo nivel: miden directamente el rendimiento del componente.
  Ejemplos: el reloj del CPU, Tiempo de acceso al disco duro.

-Test de alto nivel: miden el rendimiento de la combinación componente-controlador-SO de un aspecto especifico del sistema.
  Ejemplos: velocidad de compresión en ZIP.


3. En tu opinión ¿qué tipo de benchmarks le harias a un procesador que se utilzará para
un servidor de base de datos? ¿Por qué? (Mínimo un parrafo)

según Prince el benchmarks para bases de datos.

4. Queremos mejorar una consola de videojuegos. Aumentamos la velocidad de acceso
a memoria en un 35% . Si pasamos el 60% del tiempo leyendo y escribiendo en la
memoria ¿de cuanto es la mejora global?

Fraction = 0.6
Speedup = 1.35

Speed global = 1/(0.4 + (0.6/1.35)) = 1/(0.4 + 0.44) = 1/0.84 = 1.19


5. Supongamos que también proponen una mejora del 80% en el cómputo vectorial de la
misma consola. Suponiendo que la consola pasa el 20% del tiempo haciendo cálculos
de vectores. La mejora de memoria cuesta $100,000 y la del módulo de computo
vectorial cuesta $ 60,000 ¿si solo puedes escoger una cual mejora seria más efectiva?

Fraction = 0.2
Speedup = 1.8

Speedup global = 1/(0.8 + (0.2/1.8)) = 1/(0.8 + 0.11) = 1/0.91 = 1.098 aprox 1.1

Ya que por 100,000 obtenemos una mejora de 1.19 aprox 1.2 y por más de la mitad de los cien mil (los 60,000) obtenemos la mitad de la mejora con la opción vectorial, es decir 1.1. Por lo anterior me decido por la opción de la mejora en memoria, la de 100,000.


6. ¿Cuáles son los factores que influyen en la medida de desempeño CPUtime? ¿Qué
harias para mejorar cada una?

-Frecuencia del reloj / Solución: aumentar la frecuencia
-Cantidad de ciclos por instrucción / Solución: mejorar las instrucciones para que consuman menos ciclos.
-Instrucciones por programa / Solución: mejorar el programa para reducir el número de instrucciones.



7. Menciona y explica la clasificación de conjunto de instrucciones por manejo de operandos.

-Operandos nombrados explícitamente: se le indica al CPU donde se encuentran almacenados los datos de la operación a realizar.

-Operandos nombrados implícitamente; el CPU ya sabe de ante mano donde se encuentran los datos de la operación a realizar.


8. Escribe como se leeria el número 0xA34521FF56 en little endian y en big endian.

- big endian; A3, 45, 21, FF, 56
- little endian: 56, FF, 21, 45, A3


9. Menciona y explica 4 modos de direccionamiento.

-Desplazamiento: La dirección del operando se obtiene sumando el contenido de algún registro con una constante.

-Inmediato: El operando aparece en la instrucción misma.

-Indirecto: La dirección del operando se encuentra almacenada en un registro

-Escalado: El operando se encuentra en la dirección de memoria obtenida sumando una constante , un registro y un múltiplo de ese registro.


10. En que casos son útiles los saltos indirectos por registro.


11. ¿Cuál es la ventaja y la desventaja de la codificación de instrucciones de tamaño fijo?


12. ¿Cuales son las partes de un compilador?

-Analizador léxico
-Analizador sintáctico
-Analizador semántico
-El optimizador
-El generador de código


13. Menciona los 3 formatos de instrucción utilizados en MIPS.

-I-Type (Inmediato)
-J-Type (Salto)
-R-Type (Registro)

No hay comentarios.:

Publicar un comentario