fundamentos del diseño de computadores1.1.ppt

22
1 Fundamentos del Fundamentos del diseño de diseño de computadores computadores Arquitectura de computadores Arquitectura de computadores Vladimir Andia almendras Vladimir Andia almendras Universidad del valle Universidad del valle

Upload: vladymir79

Post on 29-Dec-2015

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos del diseño de computadores1.1.ppt

11

Fundamentos del diseño Fundamentos del diseño de computadoresde computadores

Arquitectura de computadores Arquitectura de computadores

Vladimir Andia almendrasVladimir Andia almendras

Universidad del valleUniversidad del valle

Page 2: Fundamentos del diseño de computadores1.1.ppt

22

IntroducciónIntroducción La tecnología de computadores ha La tecnología de computadores ha

progresado increíblemente en los últimos progresado increíblemente en los últimos 50 años. 50 años.

En 1945, no había computadores de En 1945, no había computadores de programa almacenado. programa almacenado.

Hoy, con unos pocos miles de dólares se Hoy, con unos pocos miles de dólares se puede comprar un computador personal puede comprar un computador personal con mas prestaciones, mas memoria con mas prestaciones, mas memoria principal y mas memoria de disco.principal y mas memoria de disco.

Este rápido crecimiento en las prestaciones Este rápido crecimiento en las prestaciones es consecuencia de los avances en la es consecuencia de los avances en la tecnología utilizada en la construcción de tecnología utilizada en la construcción de computadores computadores

Page 3: Fundamentos del diseño de computadores1.1.ppt

33

Velocidad de crecimientoVelocidad de crecimiento Entre todas las líneas de computadores, Entre todas las líneas de computadores,

la velocidad de crecimiento de los la velocidad de crecimiento de los grandes computadores (mainframes) es grandes computadores (mainframes) es la que mas se debe a la tecnologíala que mas se debe a la tecnología

La mayoría de las innovaciones en La mayoría de las innovaciones en organización y arquitectura se organización y arquitectura se introdujeron en estas maquinas hace introdujeron en estas maquinas hace muchos años muchos años

Los súper computadores han crecido Los súper computadores han crecido gracias a las mejoras tecnológicas y gracias a las mejoras tecnológicas y arquitectónicas arquitectónicas

Page 4: Fundamentos del diseño de computadores1.1.ppt

44

Crecimiento del rendimiento a lo largo Crecimiento del rendimiento a lo largo de los últimos añosde los últimos años

El eje vertical muestra el rendimiento relativo y El eje vertical muestra el rendimiento relativo y horizontal el año de introducciónhorizontal el año de introducción

Las clases de computadores están definidas, Las clases de computadores están definidas, básicamente por si costo. básicamente por si costo.

Los súper computadores son los mas caros y Los súper computadores son los mas caros y estos están diseñados principalmente para estos están diseñados principalmente para aplicaciones científicas, son las maquinas de mas aplicaciones científicas, son las maquinas de mas alto rendimientoalto rendimiento

La velocidad de crecimiento en el rendimiento de La velocidad de crecimiento en el rendimiento de los supercomputadores, mini computadores y los supercomputadores, mini computadores y ordenadores grandes ha sido del 20ordenadores grandes ha sido del 20%% año, año, mientras que la velocidad de crecimiento en el mientras que la velocidad de crecimiento en el rendimiento de los microprocesadores ha sido del rendimiento de los microprocesadores ha sido del 3535%% año año

Page 5: Fundamentos del diseño de computadores1.1.ppt

55

Definiciones de rendimientoDefiniciones de rendimiento Cuando se dice que un computador es Cuando se dice que un computador es

mas rápido que otro mas rápido que otro El usuario puede decir que un El usuario puede decir que un

computador es mas rápido cuando computador es mas rápido cuando ejecuta un programa en menos tiempo, ejecuta un programa en menos tiempo, mientras que el director de un centro de mientras que el director de un centro de calculo puede decir que un computador calculo puede decir que un computador es mas rápido cuando completa mas es mas rápido cuando completa mas tareas en una hora.tareas en una hora.

El usuario esta interesado en reducir el El usuario esta interesado en reducir el tiempo de respuesta (El tiempo tiempo de respuesta (El tiempo transcurrido entre el comienzo y final del transcurrido entre el comienzo y final del evento) tb llamado tiempo de ejecuciónevento) tb llamado tiempo de ejecución

Existen usuarios que están interesado en Existen usuarios que están interesado en incrementar la productividadincrementar la productividad

Page 6: Fundamentos del diseño de computadores1.1.ppt

66

rendimientorendimientoLa cantidad total de trabajo realizado en unLa cantidad total de trabajo realizado en untiempo determinado a veces denominado tiempo determinado a veces denominado

anchoanchode banda.de banda. Términos utilizados en una tarea de calculoTérminos utilizados en una tarea de calculo Tiempo de respuestaTiempo de respuesta Tiempo de ejecución Tiempo de ejecución ProductividadProductividad Se utiliza cuando se esta desarrollando una Se utiliza cuando se esta desarrollando una

tarea de calculo completa.tarea de calculo completa. Los términos Los términos latencia y ancho de bandalatencia y ancho de banda casi

siempre se eligen cuando se habla de un sistema de memoria.

Page 7: Fundamentos del diseño de computadores1.1.ppt

77

EjemploEjemplo

1.1. ¿Las siguientes mejoras en ¿Las siguientes mejoras en rendimiento incrementan la rendimiento incrementan la productividad, hacen disminuir el productividad, hacen disminuir el tiempo de respuesta, o ambas tiempo de respuesta, o ambas cosas?cosas?

a)a) Ciclo de reloj mas rápidoCiclo de reloj mas rápidob)b) Múltiples procesadores para tareas Múltiples procesadores para tareas

separadas (tratamiento del separadas (tratamiento del sistemas de reservas de una sistemas de reservas de una compañía aérea para un país). compañía aérea para un país).

c)c) Procesamiento paralelo de Procesamiento paralelo de problemas científicos. problemas científicos.

Page 8: Fundamentos del diseño de computadores1.1.ppt

88

Principios cuantitativos del diseño Principios cuantitativos del diseño de computadoresde computadores

Esta sección introduce algunas reglas y Esta sección introduce algunas reglas y observaciones importantes para diseñar observaciones importantes para diseñar computadorescomputadores

A.A. Acelerar el caso comúnAcelerar el caso común Quizá el principio mas importante y Quizá el principio mas importante y

generalizado del diseño de generalizado del diseño de computadores sea acelerar el caso computadores sea acelerar el caso Común. Común.

Al realizar un diseño Al realizar un diseño favorecer el caso favorecer el caso frecuente sobre el infrecuente.frecuente sobre el infrecuente.

Este principio también se aplica cuando Este principio también se aplica cuando sese

determina como emplear recursos.determina como emplear recursos.

Page 9: Fundamentos del diseño de computadores1.1.ppt

99

Ley de AmdahlLey de Amdahl

Es el aumento de rendimiento que puede Es el aumento de rendimiento que puede obtenerse al mejorar alguna parte de un obtenerse al mejorar alguna parte de un computador puede calcularse utilizando computador puede calcularse utilizando la ley de amdahl.la ley de amdahl.

La ley define la ganancia de rendimiento La ley define la ganancia de rendimiento o aceleración que puede lograrse al o aceleración que puede lograrse al utilizar una característica particular utilizar una característica particular (formula)(formula)

Page 10: Fundamentos del diseño de computadores1.1.ppt

1010

Formula Rendimiento AmdahlFormula Rendimiento Amdahl Podemos hacer una mejora en una Podemos hacer una mejora en una

maquina que cuando se utilice maquina que cuando se utilice aumente su rendimiento. La aumente su rendimiento. La aceleración (speedup) es la relaciónaceleración (speedup) es la relación

Aceleración de rendimiento =Aceleración de rendimiento =

rendimiento de la tarea completa utilizando la mejora cuando rendimiento de la tarea completa utilizando la mejora cuando

sea posiblesea posible = -----------------------------------------------------------------------------= -----------------------------------------------------------------------------

rendimiento de la tarea completada sin utilizar la tarearendimiento de la tarea completada sin utilizar la tarea

Page 11: Fundamentos del diseño de computadores1.1.ppt

1111

AlternativaAlternativa

Aceleración de rendimiento =Aceleración de rendimiento =

Tiempo de ejecución de la tarea sin utilizarTiempo de ejecución de la tarea sin utilizar

=_________________________________________________=_________________________________________________

tiempo de ejecución de la tarea completa utilizando la tiempo de ejecución de la tarea completa utilizando la mejora cuando sea posible mejora cuando sea posible

Page 12: Fundamentos del diseño de computadores1.1.ppt

1212

Localidad de referenciaLocalidad de referencia Aunque la ley de amdahl es un teorema Aunque la ley de amdahl es un teorema Puede ser aplicado a cualquier sistema,Puede ser aplicado a cualquier sistema, Podemos nombrar otras observaciones Podemos nombrar otras observaciones

importantes provienen de las propiedades de importantes provienen de las propiedades de los programas. los programas.

La prioridad mas importante que regularmente La prioridad mas importante que regularmente explotamos de un programa es la localidad de explotamos de un programa es la localidad de referenciareferencia

Los programas tienden a reutilizar los datos e Los programas tienden a reutilizar los datos e instrucciones que han utilizado recientemente. instrucciones que han utilizado recientemente.

Una regla empírica muy corroborada es que el Una regla empírica muy corroborada es que el programa emplea 90% de su tiempo de programa emplea 90% de su tiempo de ejecución en solo el 10 % del código ejecución en solo el 10 % del código

Page 13: Fundamentos del diseño de computadores1.1.ppt

1313

Figura 1.3Figura 1.3

Este dibujo nos muestra el porcentaje Este dibujo nos muestra el porcentaje de las instrucciones que son de las instrucciones que son responsables de 80% y 90% de las responsables de 80% y 90% de las ejecuciones de instrucciones ejecuciones de instrucciones

Page 14: Fundamentos del diseño de computadores1.1.ppt

1414

Tarea de un diseñador de Tarea de un diseñador de computadorescomputadores

• Un arquitecto de computadores diseña Un arquitecto de computadores diseña maquinas para ejecutar programasmaquinas para ejecutar programas

La tarea de diseñar un computador La tarea de diseñar un computador presenta muchos aspectos:presenta muchos aspectos:

El diseño del repertorio de instrucciones El diseño del repertorio de instrucciones La organización funcional La organización funcional El diseño lógico El diseño lógico La implementaciónLa implementación• La implementación puede abarcar el La implementación puede abarcar el

diseño de circuitos integradosdiseño de circuitos integrados

Page 15: Fundamentos del diseño de computadores1.1.ppt

1515

Requerimientos funcionalesRequerimientos funcionales Los arquitectos de computadores Los arquitectos de computadores

deben diseñar un computador que deben diseñar un computador que cumpla ciertos requerimientos cumpla ciertos requerimientos funcionales con determinadas funcionales con determinadas ligaduras de precio y rendimientoligaduras de precio y rendimiento

Con frecuencia tb tienen que Con frecuencia tb tienen que determinar los requerimientos determinar los requerimientos funcionales que puede ser una tarea funcionales que puede ser una tarea de gran magnitudde gran magnitud

Los requerimientos puede ser Los requerimientos puede ser características especificas características especificas

Page 16: Fundamentos del diseño de computadores1.1.ppt

1616

Requerimientos funcionales Requerimientos funcionales fig1.4fig1.4

Requerimientos funcionalesRequerimientos funcionales Área de aplicaciónÁrea de aplicación

a)a) Propósito especialPropósito especial

b)b) Propósito generalPropósito general

c)c) CientíficaCientífica

d)d) ComercialComercial Nivel de compatibilidad softwareNivel de compatibilidad software

a)a) En lenguaje de programaciónEn lenguaje de programación

b)b) Código objeto o binario Código objeto o binario

Page 17: Fundamentos del diseño de computadores1.1.ppt

1717

Requerimientos del sistema operativoRequerimientos del sistema operativoa)a) Tamaño del espacio de direcciones Tamaño del espacio de direcciones b)b) Gestion de memoriaGestion de memoriac)c) Proteccion Proteccion d)d) Cambio de contextoCambio de contextoe)e) Interrupciones y trapsInterrupciones y traps EstándaresEstándaresa)a) Punto flotante, bus E/S , Sistemas Punto flotante, bus E/S , Sistemas

Ope.Ope.b)b) Redes, lenguajes de programaciónRedes, lenguajes de programación

Page 18: Fundamentos del diseño de computadores1.1.ppt

1818

Equilibrar software y HardwareEquilibrar software y Hardware Una vez que se ha establecido un Una vez que se ha establecido un

conjunto de requerimientos conjunto de requerimientos funcionales, el arquitecto debe intentar funcionales, el arquitecto debe intentar optimizar el diseño.optimizar el diseño.

Que el diseño elegido sea optimo esto Que el diseño elegido sea optimo esto depende de la métrica elegida.depende de la métrica elegida.

Las métricas mas comunes involucran Las métricas mas comunes involucran costo y rendimiento costo y rendimiento

Page 19: Fundamentos del diseño de computadores1.1.ppt

1919

Diseñar para perdurar a nuevas Diseñar para perdurar a nuevas tendenciastendencias

Si una arquitectura va a tener éxito, debe Si una arquitectura va a tener éxito, debe ser diseñada para que sobreviva a los ser diseñada para que sobreviva a los cambios en la tecnología hardware, cambios en la tecnología hardware, tecnología software.tecnología software.

CaracterísticasCaracterísticas El diseñador debe ser conscistente El diseñador debe ser conscistente

especialmente de las tendencias en la especialmente de las tendencias en la utilización del computador y de la utilización del computador y de la tecnología de los computadores tecnología de los computadores

Una nueva arquitectura a nivel lenguaje Una nueva arquitectura a nivel lenguaje maquina que tenga éxito puede durar años maquina que tenga éxito puede durar años

Page 20: Fundamentos del diseño de computadores1.1.ppt

2020

Jerarquía de memoriaJerarquía de memoria Veremos los sistemas de memoriaVeremos los sistemas de memoria Axiomas del diseño de hardwareAxiomas del diseño de hardware Mas pequeños son mas rápidoMas pequeños son mas rápido Las partes mas pequeñas de hardware Las partes mas pequeñas de hardware ض

generalmente son mas rápidas que las generalmente son mas rápidas que las mas grandesmas grandes

Este sencillo principio es aplicable Este sencillo principio es aplicableضparticularmente a las memorias particularmente a las memorias

Page 21: Fundamentos del diseño de computadores1.1.ppt

2121

RazonesRazones Razones importantes diferentes Razones importantes diferentes Primero en las maquinas de alta velocidad, Primero en las maquinas de alta velocidad,

la propagación de la señal es una causa la propagación de la señal es una causa importante de retardoimportante de retardo

Las memorias mas grandes tienen mas de Las memorias mas grandes tienen mas de señal y necesitan mas niveles para señal y necesitan mas niveles para decodificar las direcciones.decodificar las direcciones.

Segundo en muchas tecnologías se Segundo en muchas tecnologías se pueden obtener memorias mas pequeñas pueden obtener memorias mas pequeñas que son mucho mas rápidas que las que son mucho mas rápidas que las grandes grandes

Page 22: Fundamentos del diseño de computadores1.1.ppt

2222

FINFIN