Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento



Documentos relacionados
Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones

Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

TEORÍA (5 puntos) Puntuación: Desplazamiento

Tema 2. Diseño del repertorio de instrucciones

1ª Prueba Parcial de Arquitectura de Computadores 25 de octubre de 2013

Trabajo Práctico Número 1

Tema 3. Leyes sobre el aumento de prestaciones

Práctica 1 - Rendimiento *

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO

Rendimiento y sus factores

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Rendimientos y costes

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES

Créditos prácticos: 1,5. Objetivos Generales. Conocimientos Previos Recomendados PROFESORADO:

Ejercicios del tema 4. El procesador

Tendencias y Evaluación

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Organización del Computador I Verano. Rendimiento (2 de 3) Basado en el capítulo 1 del libro de Patterson y Hennessy

PRUEBAS LIBRES DE GRADUADO EN EDUCACIÓN SECUNDARIA CONVOCATORIA MARZO 2004

5. Procesador: camino de datos y control

Arquitectura de Computadores II Clase #9

Memoria. Rendimiento del caché

Tema 2 Introducción a la Programación en C.

Créditos prácticos: Álvarez Bermejo José Antonio Gil Montoya María Dolores López Martínez Manuel Fco

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Créditos prácticos: Gil Montoya María Dolores TEMA 1º: Análisis del Rendimiento de un computador.(5 horas)

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Unidad I: Performance. Arquitectura de Computadoras Esteban Peláez Andrés Airabella Facundo Aguilera

GRADO EN INGENIERÍA DE COMPUTADORES

Análisis de algoritmos

Sistemas con Microprocesadores I

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO LEY DE AMDAHL

Ley de Amdahl Ley de Moore Prof. Gilberto Díaz

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Rendimiento de computadores

Trabajo Práctico Número 6

Facultad de Ciencias de la Computación. Medir, reportar, y analizar el rendimiento.

Tema 1. Aspectos fundamentales en el diseño de computadores: Rendimiento, consumo y coste. Organización de Computadores I Rendimiento y Coste

ARQUITECTURA DE VON NEUMANN Y HARVARD

Unidad I: Organización del Computador. Ing. Marglorie Colina

Arquitectura del MIPS: Introducción

Soluciones a ejercicios de Fundamentos

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es C

Arquitectura de Computadores Certamen I

Estructura de Computadores I

Tema 7. Mejora del rendimiento: introducción a la segmentación y a las arquitecturas paralelas

Pontificia Universidad Católica del Ecuador. Facultad De Ingeniería. Escuela de Sistemas

Ejercicios del tema 4. El procesador

Definición de Arquitectura

AIC: Enfoque del Curso

Organización del Sistema Operativo

MICROPROCESADORES. Conrado Perea

Herramientas Informáticas I Hardware: Conceptos Básicos

TEMA VI DISEÑO DEL PROCESADOR

Arquitectura y Tecnología de Computadores. Curso 07/08

Tema: Microprocesadores

Objetivos Generales. Conocimientos Previos Recomendados. CONTENIDOS TEORICOS (Temporización)

Computación I (CI-2125) Clase 3. Prof. Mireya Morales Primera

Programación (PRG) PRÁCTICA 10. Algoritmos de búsqueda

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Introducción a la medición Rendimiento de procesadores. Administración de Recursos Ingeniería en Sistemas de Información UTN-FRBA- ARGENTINA

Tema 2: Introducción a los Computadores

7/1/18. Algoritmos RESOLVIENDO PROBLEMAS. Libro en línea. Cuál es el objetivo del libro? Ing. Roberto Martínez Román -

Objetivo: Contenido

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA

Acción que el procesador puede ejecutar sin necesidad de información suplementaria

Arquitectura de Computadores Problemas (hoja 2). Curso

Tema 4. La Unidad de Control

Programación de Ordenadores. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Sistemas de Computadoras

Medición de Performance. Organización del Computador 1 Verano 2016

DETERMINACIÓN DE PAGOS ESPECIALES DE ISR. Coeficiente de utilidad Ajuste anual PROFESORA: ABIGAIL PÉREZ ZARAGOZA

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010

Sebastián García Galán

Análisis y Diseño de Algoritmos

Prof. María Alejandra Quintero. Informática Año

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

Aprendizaje Esperado: Resuelve problemas de procesamiento de datos, aplicando principios de almacenamiento de datos y tablas de verdad

Contenidos: Definiciones:

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se

Estructura y Tecnología de Computadores. Tema 3. Introducción a la estructura de computadores

Arquitectura de computadoras y rendimiento de sistemas

Examen de Estructura de Computadores ( ) Solución teoría

Metodología de Desarrollo de Programas

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Primera Parte (5 puntos)

Funcionamiento de las computadoras

Unidad VII Optimización. M.C. Juan Carlos Olivares Rojas

Transcripción:

Soluciones a los problemas impares Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento Arquitectura de Computadores I Curso 2009-2010

Tema 1: Hoja: 2 / 18

Tema 1: Hoja: 3 / 18 Base teórica Al diseñar un computador o al mejorar un subistema de alguno existente, el diseñador o arquitecto de computadores debe tener en cuenta los objetivos de la máquina a modificar o construir y trabajar con dos parámetros importantes: el coste y el rendimiento. Dependiendo del equilibrio que se haga de ellos se creará desde un ordenador personal (barato y rendimiento medio) hasta un supercomputador (muy caro y con un rendimiento altísimo) Cálculo de costes El diseñar un sistema nuevo o mejorar uno existente tiene una serie de costes que vienen dados entre otros por el coste de la oblea de silicio sobre la que se implementará el procesador, la densidad de los defectos por área que se tiene en el proceso de fabricación lo que da una medida del número de procesadores que salen de una oblea, los diferentes test que se aplican en cada una de las etapas, de la figura siguiente. Lingote de Corte en oblea Obleas De 20 a 30 etapas Conexión del dado al empaqueta Dados Verific a- dor de Dados sueltos Cort e en Obleas Dados Verific a- dor de Dados empaquetados Envío a los consumidor Figura 1. Proceso de fabricación de procesadores

Tema 1: Hoja: 4 / 18 Para determinar el cálculo de dichos costes, se pueden emplear las fórmulas siguientes: Coste por oblea Coste por dado = Dados por oblea x ganancia Dados por oblea Área de la oblea = = Área del dado x (Diametro oblea Área del dado / 2) Defectos por unidad de área x Área del dado Ganancia = (1 + ) α α suele ser 3 y los defectos desde 0,6 a 1,2 por cm.cuadrado 2 α Ley de Amdhal La ley de Amdhal mide cuanto mejora o empeora un sistema al introducir mejoras en un sistema existente dependiendo de la frecuencia de utilización del elemento modificado. A = Tiempo sin mejora Tiempo con mejora = (1 F 1 m ) + F A m m Am factor de mejora que ha introducido el subsistema alterado Fm. Fracción de tiempo que el sistema emplea el subsistema alterado

Tema 1: Hoja: 5 / 18 1. Se desea conocer el máximo número de dados que se pueden crear en una oblea de 15 cm. de diámetro. También se desea obtener la ganancia para conocer cuantos se pueden obtener realmente si la densidad de defectos es de 0,75 por cm 2. El lado del dado es de 1,5 cm. y α = 3. Si la oblea de silicio cuesta 150, cuál es el precio de cada dado? 2. Cual sería el número de dados teóricos y reales si el lado del dado fuese de 1 cm. para los parámetros expuestos del ejercicio 1 3. Si una máquina X ejecuta un programa en 10 segundos y una máquina Y ejecuta el mismo programa es 15 segundos. Cuánto más rápida es X respecto a Y? 4. Si una máquina X ejecuta un programa en 20 segundos y una máquina Y ejecuta el mismo programa es 15 segundos. Cuánto más rápida es X respecto a Y? 5. Se tiene un programa en un computador X que tarda 35 segundos en ejecutarse mientras que en el computador Y emplea 21 segundos. Se sabe que el programa esta formado por 522 millones de instrucciones. Cuánto es más rápido el computador Y que el X? Qué cantidad de instrucciones por segundo (MIPS) ejecuta cada computador? 6. Se tiene el mismo juego de instrucciones implementado en dos computadores con la misma arquitectura. Las características de

Tema 1: Hoja: 6 / 18 cada una al ejecutar el mismo programa se resumen en la tabla siguiente: Ciclo de reloj Ciclos por instrucción (CPI) para el programa Arquitectura 1 1 2 Arquitectura 2 4 1,2 Se pide calcular qué máquina es más rápida para ese programa y cuánto más 7. En la Escuela Politécnica de la Universidad de Alcalá se ha realizado un concurso de algoritmos en ensamblador, de manera que el algoritmo que menor tiempo emplee y menos instrucciones ejecute sea el ganador Se supone que el código estará formado por tres tipos de instrucciones únicamente, recogiéndose en la tabla siguiente el número de ciclos por instrucción para cada uno de los tipos CPI para el tipo de instrucción Tipo 1 1 Tipo 2 2 Tipo 3 3 Tras un cuidadoso estudio del código de los participantes, el jurado se ha quedado con dos programas cuyas características se muestran en la tabla siguiente:

Tema 1: Hoja: 7 / 18 Programa Total de instrucciones por tipo Tipo 1 Tipo 2 Tipo 3 Programa 1 2 1 2 Programa 2 4 1 1 Se nos pide que ayudemos al jurado a determinar el programa ganador. Para ello tendremos que calcular: a) Programa que ejecuta el mayor número de instrucciones b) Número de ciclos que tarda en ejecutarse cada programa c) CPI para cada programa 8. Sea una arquitectura cuyo repertorio de instrucciones está formado por cuatro tipos de instrucciones cuyas medidas de CPI se muestran en la siguiente tabla CPI para el tipo de instrucción Tipo 1 1 Tipo 2 2 Tipo 3 3 Tipo 4 4 Se nos pide que evaluemos dos compiladores diferentes con vista a adquirir uno de ellos para nuestro departamento de desarrollo. Compilando un mismo programa en cada compilador se obtienen los

Tema 1: Hoja: 8 / 18 siguientes valores (en miles de millones para cada tipo de instrucción), tal y como se refleja en la tabla siguiente: Compilador Número de instrucciones de cada tipo (en miles de millones) Tipo 1 Tipo Tipo 3 Tipo 4 Compilador 1 5 1 1 2 Compilador 2 10 1 1 4 Si la frecuencia de reloj de los computadores que tenemos en nuestro departamento de desarrollo es de 1,2 GHz, se pide: a) Ejecutable más rápido en cuanto a tiempo de ejecución b) Ejecutable más rápido tomando como medida los MIPS 9. Se desea mejorar el rendimiento de un computador introduciendo un tarjeta aceleradora de vídeo que realice las operaciones en la mitad de tiempo. a) Calcular la ganancia en velocidad del sistema para la ejecución de un programa si el 87% del mismo se dedica a operaciones gráficas b) Si el programa tarda 32 segundos en ejecutarse sin la mejora. cuánto tardará con la mejora? 10. Sea una arquitectura cuyo repertorio de instrucciones está formado por cinco tipos de instrucciones cuyas medidas de CPI se muestran en la siguiente tabla:

Tema 1: Hoja: 9 / 18 CPI para el tipo de instrucción Tipo 1 2 Tipo 2 3 Tipo 3 1 Tipo 4 6 Tipo 5 3 Se desean evaluar tres traductores de COBOL 400 a RPG-II con vistas a adquirir uno de ellos para la empresa en la que trabajamos. Para ello, se ha desarrollado un programa en COBOL 400 que ha sido traducido por cada uno de los tres traductores a RPG-II, obteniéndose los resultados mostrados en la tabla siguiente: Traductor Número de instrucciones de cada tipo (en miles de millones) Tipo 1 Tipo 2 Tipo 3 Tipo 4 Tipo 5 Traductor 1 6 3 2 2 3 Traductor 2 8 2 1 3 1 Traductor 3 6 3 1 1 9 Si la frecuencia de reloj de los computadores que tenemos en nuestro departamento es de 1,8 GHz, se pide: a) Ejecutable más rápido en cuanto a tiempo de ejecución b) Ejecutable más rápido tomando como medida los MIPS

Tema 1: Hoja: 10 / 18 11. Se desea mejorar el repertorio de instrucciones de un computador, y para ello se barajan las alternativas siguientes, todas ellas del mismo coste: Mejorar las instrucciones de suma 30% Mejorar las instrucciones de salto condicional 55% Mejorar las instrucciones de carga-almacenamiento 12% Mejorar el resto de las instrucciones 3% En la tabla siguiente se recoge el porcentaje de veces que se emplean las instrucciones una vez pasadas las SPECint2000 y el factor de mejora que se puede introducir para cada una de ellas Tipo de instrucción Porcentaje de empleo Factor de mejora Instrucciones de suma 30% 10 Instrucciones de salto condicional Instrucciones de carga-almacenamiento 55% 2 12% 8 Resto de instrucciones 3% 10 Se pide: a) Indicar cual de las mejoras anteriores es la que recomendaríamos b) Si un programa tardaba antes de la mejora 37,02 sg. en ejecutarse calcule cuanto tardará con la mejora que hemos elegido en a)

Tema 1: Hoja: 11 / 18 12. Se desea mejorar el rendimiento de un computador introduciendo un coprocesador matemático que realice las operaciones en la mitad de tiempo. a) Calcular la ganancia en velocidad del sistema para la ejecución de un programa si el 96% del mismo se dedica a operaciones aritmética. b) Si el programa tarda 15 segundos en ejecutarse sin la mejora. Cuánto tardará con la mejora? 13. Se desea mejorar el repertorio de instrucciones de un computador, y para ello se barajan las alternativas siguientes, todas ellas del mismo coste: Mejorar las instrucciones de suma 30% Mejorar las instrucciones de salto condicional 34% Mejorar las instrucciones de carga-almacenamiento 32% Mejorar el resto de las instrucciones 4% En la tabla siguiente se recoge el porcentaje de veces que se emplean las instrucciones una vez pasadas las SPECint2000 y el factor de mejora que se puede introducir para cada una de ellas Tipo de instrucción Porcentaje de empleo Factor de mejora Instrucciones de suma 30% 5 Instrucciones de salto condicional Instrucciones de carga-almacenamiento 34% 4 32% 2 Resto de instrucciones 4% 7

Tema 1: Hoja: 12 / 18 Se pide: a) Indicar cual de las mejoras anteriores es la que recomendaríamos b) Si un programa tardaba antes de la mejora 28,3 sg. en ejecutarse calcule cuanto tardará con la mejora que hemos elegido en el apartado anterior.

Tema 1: Hoja: 13 / 18 Soluciones a los ejercicios impares Solución ejercicio 1 Se desea calcular el máximo número de dados por oblea, es decir, el número que obtendríamos si no hubiese defectos en la fabricación Dados por oblea Área de la oblea = Área del dado = x (Diametro oblea Área del dado / 2) 2 ( ) π x 15/2 = 1,5 x 1,5 2 = 78 dados Sin embargo, nos dicen que existen defectos en la fabricación con una densidad de 0,75 por cm 2, por lo que deberemos calcular la ganancia para saber cuantos dados se fabrican realmente Defectos por unidad de área x Área del dado 0,75 x 1,5 x 1,5 Ganancia = (1 + ) = (1 + α 3 Por tanto, el número de dados real que se pueden fabricar es de: 78 x 0,26 = 20 dados Finalmente, el coste de cada dado se calculará a partir de los dados buenos de la forma: Coste por oblea 150 Coste por dado = = = 7,5 Dados por oblea x ganancia 78 x 0,26 α ) 3 = 0,26

Tema 1: Hoja: 14 / 18 Solución ejercicio 3 Se sabe que una máquina X es n veces más rápida que otra Y si: Rendimiento Rendimiento Con lo que: X Y Tiempo de ejecución = Tiempo de ejecución Y x = n Tiempo de ejecución Tiempo de ejecución 15 = = 1,5 10 Luego el computador X es 1,5 veces más rápido que Y Y x Solución ejercicio 5 Tal y como se ha visto en el ejercicio anterior: Tiempo de ejecución Tiempo de ejecución X Y 35 = = 1,666667 21 De donde se desprende que el computador Y es 1,666667 veces más rápido que el X Para la segunda cuestión se reduce a realizar una regla de 3 Si se ejecutan 522 x10 6 instrucciones ------------------ n segundos x instrucciones ------------------- 1 segundo De donde el número de instrucciones por segundo será 522x10 6 x1sg x instrucciones = n segundos

Tema 1: Hoja: 15 / 18 Con los datos del enunciado para el computador X obtendremos: 522x10 6 x1sg 35 segundos = 14,914x10 6 instrucciones / sg Y para el computador Y: 522x10 6 x1sg = 24,857x10 6 instrucciones / sg 21 segundos Como se trata de calcular cuantos millones de instrucciones por segundo ejecuta cada computador bastará dividir por 10 6 Con lo que el computador MIPS X = 14,914 y MIPS Y = 24,857 Solución ejercicio 7 Apartado a) Programa que ejecuta el mayor número de instrucciones El programa 1 emplea 2 + 1 + 2 = 5 instrucciones El programa 2 emplea 4 + 1 + 1 = 6 instrucciones Apartado b) Número de ciclos que tarda en ejecutarse cada programa Los ciclos de reloj de la CPU será la suma del CPI de cada tipo instrucción x Numero instric tipo De esa manera: Ciclos de reloj CPUprorama1 = 2x1 + 1x2+ 2x3 = 10 ciclos Ciclos de reloj CPUprorama2 = 4x1 + 1x2+ 1x3 = 9 ciclos

Tema 1: Hoja: 16 / 18 Apartado c) CPI para cada programa Ciclosde RelojCPU 10 CPIprogram 1= = = 2 Número instrucicones 5 Ciclosde RelojCPU 9 CPIprogram 2 = = = 1,5 Número instrucicones 6 Con lo que se ve que el programa 2 es el ganador Solución ejercicio 9 Apartado a) Para resolver el ejercicio debemos aplicar la ley de Amdahl. De los datos del enunciado se ve que Am = 2 y que Fm = 0,87 1 A = (1 0,87) + 0,87 2 = 1,7699 De donde vemos que el nuevo sistema será un 76,99% más rápido Apartado b) A = TiempoEjecuciónSinMejora TiempoEjecuciónConMejora 1,7699 = 32 TiempoEjecuciónConMejora De donde el programa, con la mejora tardará 18,08 sg. en ejecutarse

Tema 1: Hoja: 17 / 18 Solución ejercicio 11 Apartado a) Aplicando la Ley de Amdahl para cada uno de los casos se obtiene: Instrucciones de suma Fm 30,00% A = 1,37 Am 10 Instrucciones de salto condicional Fm 55,00% A = 1,38 Am 2 instrucciones de carga almacenamiento Fm 12,00% A = 1,12 Am 8 Otras Fm 3,00% A = 1,03 Am 10 Por lo que la major ganancia se da en las Instrucciones de salto condicional Apartado b) A = TiempoEjecuciónSinMejora TiempoEjecuciónConMejora 1,38 = 37,02 TiempoEjecuciónConMejora Por lo que el tiempo modificando las instrucciones de salto condicional será de 26,826 sg.

Tema 1: Hoja: 18 / 18 Solución ejercicio 13 Apartado a) Aplicando la Ley de Amdahl para cada uno de los casos se obtiene: Instrucciones de suma Fm 30,00% A = 1,31 Am 5 Instrucciones de salto condicional Fm 34,00% A = 1,34 Am 4 instrucciones de carga almacenamiento Fm 32,00% A = 1,19 Am 2 Otras Fm 4,00% A = 1,03 Am 7 Por lo que la mayor ganancia se da en las Instrucciones de salto condicional Apartado b) A = TiempoEjecuciónSinMejora TiempoEjecuciónConMejora 1,34 = 28,3 TiempoEjecuciónConMejora Por lo que el tiempo modificando las instrucciones de salto condicional será de 22,119 sg.