Transcript Por ejemplo

ARQUITECTURA DE COMPUTADORAS
SIS – 555
IS – FI - U.A.T.F
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.
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.
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.
 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
Despejando “n”
tenemos:
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.
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.”
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
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)
Un arquitecto
programas
de
computadores
diseña
máquinas
para
ejecutar
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.
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.
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.
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.
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.”
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