190 likes | 325 Views
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES. ARQUITECTURA DE COMPUTADORAS SIS – 555 IS – FI - U.A.T.F. 1.1 Introduccion. 1.2 DEFINICIONES DE RENDIMIENTO. Cuando se dice que un computador es más rápido que otro , ¿qué queremos significar ?.
E N D
TEMA IIFUNDAMENTOS DEL DISENO DE COMPUTADORES ARQUITECTURA DE COMPUTADORAS SIS – 555 IS – FI - U.A.T.F
1.2 DEFINICIONES DE RENDIMIENTO Cuando se dice que un computador es más rápido que otro, ¿qué queremos significar? • El usuario del computador está interesado en reducir el tiempo de respuesta -el tiempo transcurrido entre el comienzo y el final de un evento- denominado también tiempo de ejecución o latencia. • Por ejemplo: El director del centro de cálculo está interesado en incrementar la productividad (throughput) -la cantidad total de trabajo realizado en un tiempo determinado- a veces denominado ancho de banda.
1.2 DEFINICIONES DE RENDIMIENTO (cont…) EJEMPLO Las siguientes mejoras en el rendimiento incrementan la productividad, hacen disminuir el tiempo de respuesta, o ambas cosas? • Ciclo de reloj más rápido. • Multiples procesadores para tareas separadas (tratamiento del sistema de reservas de una compañía aérea, para un país, por ejemplo). • Procesamiento paralelo de problemas científicos.. RESPUESTA “La disminución del tiempo de respuesta, habitualmente, mejora la productividad.” • Por consiguiente, 1 y 3 mejoran el tiempo de respuesta y la productividad. • En 2, ninguna tarea funciona más rápida, por tanto, sólo incrementa la productividad.
1.2 DEFINICIONES DE RENDIMIENTO (cont…) A veces estas medidas se describen mejor con distribuciones de probabilidad en lugar de con valores constantes. Por ejemplo, consideremos el tiempo de respuesta para completar una operación de E/S en un disco. El tiempo de respuesta depende de una serie de factores no determinísticos, como lo que el disco esté haciendo en el instante de la petición de E/S y del número de tareas que están esperando acceder al disco.
1.2 DEFINICIONES DE RENDIMIENTO (cont…) • Cuando se comparan alternativas de diseño, con frecuencia, queremos relacionar el rendimiento de dos máquinas diferentes • Por ejemplo X e Y. La frase «X es más rápida que Y» se utiliza aquí para significar que el tiempo de respuesta o tiempo de ejecución es inferior en X que en Y para una tarea dada. • En particular, «X es n por 100 más rápido que Y» significa
1.2 DEFINICIONES DE RENDIMIENTO (cont…) Despejando “n” tenemos:
1.3 PRINCIPIOS CUANTITATIVOS DEL DISEÑO E COMPUTADORES Acelerar el caso común Al realizar un diseño, favorecer el caso frecuente sobre el infrecuente. Mejorar el evento frecuente en lugar del evento raro, evidentemente, también ayudará a aumentar el rendimiento. Además, el caso frecuente es, a menudo, más simple y puede realizarse de forma más rápida que el caso infrecuente. Por ejemplo, cuando sumamos dos números en la unidad central de proceso (CPU), podemos esperar que el desbordamiento (overflow) sea una circunstancia infrecuente y, por tanto, podemos mejorar el rendimiento optimizando el caso más común de ausencia de desbordamiento. Este hecho puede ralentizar la situación en la que se presente un desbordamiento, pero si este caso es infrecuente, el rendimiento global mejorará al optimizar el caso normal.
1.3 PRINCIPIOS CUANTITATIVOS DEL DISEÑO DE COMPUTADORES (Cont…) El aumento de rendimiento que puede obtenerse al mejorar alguna parte de un computador puede calcularse utilizando la Ley de Amdahl. Esta ley establece que: “la mejora obtenida en el rendimiento al utilizar algún modo de ejecución más rápido está limitada por la fracción de tiempo que se pueda utilizar ese modo más rápido.”
1.3 PRINCIPIOS CUANTITATIVOS DEL DISEÑO DE COMPUTADORES (Cont…)
1.3 PRINCIPIOS CUANTITATIVOS DEL DISEÑO DE COMPUTADORES (Cont…) La Ley de Amdahl puede servir como guía para ver cómo una mejora aumenta el rendimiento y cómo distribuir los recursos para mejorar la relación coste/rendimiento. Lo que vale el resto del computador
1.3 PRINCIPIOS CUANTITATIVOS DEL DISEÑO DE COMPUTADORES (Cont…) • Localidad de referencia • La propiedad más importante, que regularmente explotamos de un programa, es la localidad de referencia: los programas tienden a reutilizar los datos e instrucciones que han utilizado recientemente. Una implicación de la localidad es que, basándose en el pasado reciente del programa, se puede predecir con una precisión razonable qué instrucciones y datos utilizará un programa en el futuro próximo. • Se han observado dos tipos diferentes de localidad. • La localidad temporal específica que los elementos accedidos recientemente, probablemente, serán accedidos en un futuro próximo. (cuando instalamos un programa y aparece su acceso directo en el escritorio de winxx) • La localidad espacial establece que los elementos cuyas direcciones son próximas tienden a ser referenciados juntos en el tiempo. (Excel + Access)
1.4 EL TRABAJO DE UN DISEÑADOR DE COMPUTADORES Un arquitecto de computadores diseña máquinas para ejecutar programas Esta optimización requiere estar familiarizado con un amplio rango de tecnologías, desde los compiladores y sistemas operativos al diseño lógico y encapsulamiento.
1.4 EL TRABAJO DE UN DISEÑADOR DE COMPUTADORES (cont…) Requerimientos funcionales Los arquitectos de computadores deben diseñar un computador que cumpla ciertos requerimientos funcionales con determinadas ligaduras de precio y rendimiento; con frecuencia, también tienen que determinar los requerimientos funcionales y, en este caso, puede ser una tarea de gran magnitud. El software de aplicaciones conduce, con frecuencia, a la elección de ciertos requerimientos funcionales, al determinar cómo se utilizará la máquina.
1.4 EL TRABAJO DE UN DISEÑADOR DE COMPUTADORES (cont…) Equilibrar software y hardware Una vez que se ha establecido un conjunto de requerimientos funcionales, el arquitecto debe intentar de optimizar el diseño. El diseño elegido óptimo, depende, por supuesto, de la métrica elegida. Las métricas más comunes involucran coste y rendimiento. Por ejemplo, una máquina que vaya a ejecutar aplicaciones científicas con cálculos intensivos en punto flotante necesitará con toda seguridad hardware para las operaciones en punto flotante. Esto no es una cuestión de funcionalidad, sino de rendimiento.
1.4 EL TRABAJO DE UN DISEÑADOR DE COMPUTADORES (cont…) Diseñar para perdurar a nuevas tendencias Si una arquitectura ha de tener éxito, debe ser diseñada para que sobreviva a los cambios en la tecnología hardware, tecnología software y aplicaciones características. El diseñador debe ser consciente, especialmente de las tendencias en la utilización del computador y de la tecnología de los computadores. Después de todo, una nueva arquitectura a nivel lenguaje máquina que tenga éxito puede durar decenas de años -el núcleo de la IBM 360 ha sido utilizado desde 1964. El arquitecto debe planificar para que los cambios tecnológicos puedan incrementar con éxito la vida de una máquina. Para planificar la evolución de una máquina, el diseñador debe ser especialmente consciente de los rápidos cambios que experimentan las tecnologías de implementación.
1.7 OBSERVACIONES FINALES La tarea del diseñador de computadores es compleja: determinar qué atributos son importantes para una nueva máquina, después, diseñar una máquina para maximizar el rendimiento cumpliendo las restricciones de coste. El rendimiento puede ser medido como productividad o como tiempo de respuesta; debido a que algunos entornos favorecen una medida sobre otra, esta distinción debe tenerse en cuenta cuando se evalúan alternativas. (como en el ejemplo de punto flotante) La Ley de Amdahl es una herramienta valiosa para ayudar a determinar el aumento de rendimiento que puede tener una arquitectura mejorada. “la mejora obtenida en el rendimiento al utilizar algún modo de ejecución más rápido está limitada por la fracción de tiempo que se pueda utilizar ese modo más rápido.”
Gracias por su atencion… Bibliografia: ARQUITECTURA DE COMPUTADORES Un enfoque cuantitativo John L. Hennessy Universidad de Stan ford David A. Patterson Universidad de California en Berkeley TEMA: Capitulo I Recomendaciones: Realice y resuelva los ejercicios de este capitulo