La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE COMPUTADORES

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE COMPUTADORES"— Transcripción de la presentación:

1 ARQUITECTURA DE COMPUTADORES
Semestre A-2009 Clase 09

2 AGENDA 1er Examen Parcial: 22/05/2009 Repaso Ejercicios

3 Arquitectura de Computadores
Es la ciencia y el arte de seleccionar e interconectar componentes de hardware para crear computadores que cumplan los objetivos funcionales, de rendimiento y costo. En los últimos 40 años, las distintas generaciones de computadoras han ido cambiando al mundo. Una buena parte de la economía mundial se ve afectada por los avances en este campo. No estamos en un área de pocos cambios. Si la industria del transporte hubiera avanzado al mismo ritmo que la industria computacional, hoy iríamos de Caracas a París en 1 segundo y por menos de 1 Bs.

4 Computadores y Aplicaciones
Servidores Atiende las solicitudes de clientes a través de algún tipo de red (Cliente – Servidor) Desde simples servidores de archivos, Web y de BD a supercomputadores Importante: Tolerancia a fallas y ancho de banda Personales Atiende la demanda de trabajo de una persona o una familia Desde net-laptops a computadores para juegos Importante: Latencia y multimedia Encajados Computador dentro de otro dispositivo, utilizado para ejecutar cierta aplicación o conjunto de programas

5 Computadores y Aplicaciones
Encajados (Continuación) Dentro de un carro, en celulares, videojuegos, dispositivos de redes y telecomunicaciones, etc. La mayoría de usuarios nunca se da cuenta de que está utilizando un computador. Importante: Costo y consumo de energía

6 Tipos de lenguajes El conjunto de instrucciones binarias que el computador puede entender, conforman el lenguaje de máquina. Los primeros programadores, programaban en lenguaje de máquina. Para facilitar esta labor, se inventaron lenguajes simbólicos (más cercanos al lenguaje humano) donde una instrucción simbólica equivalía a una instrucción de máquina. Estos lenguajes son conocidos como lenguajes ensambladores. Para realizar la traducción de lenguaje ensamblador a lenguaje de máquina, se crearon programas, denominados ensambladores. Siguiendo esta filosofía, se crearon lenguajes que expresaran las operaciones de una forma más humana, estos son conocidos como lenguajes de alto nivel.

7 Compilación Los programas que traducen de lenguaje de alto nivel a lenguaje ensamblador o lenguaje de máquina, se denominan Compiladores. La productividad actual se debe a estos lenguajes y la idea de crear estos programas: Compiladores Ejemplos de lenguajes de alto nivel son: Java, C++, Visual Basic, Python, etc. Los lenguajes de alto nivel son independientes lenguaje de máquina

8 Organización de un computador

9 Rendimiento Calcular el rendimiento de un computador es una tarea complicada Por cierto; ¿Qué significa que la máquina A tiene mejor rendimiento que la máquina B? ¿Qué significa que A es más rápida que B? ¿Qué velocidad o velocidades nos interesan? ¿Es más rápida la computadora que: ejecuta cierta tarea más rapido? (Tiempo de respuesta) ejecuta mayor cantidad de tareas por unidad de tiempo? (Ancho de banda)

10 Definiciones Tiempo de respuesta (Tiempo de ejecución): Tiempo total requerido para ejecutar una tarea. Incluye los tiempos de disco, memoria, I/O, SO, CPU, etc. (Computadores personales e incrustados) Ancho de banda (productividad): Número de tareas ejecutadas por unidad de tiempo (Servidores) ¿Qué mejoramos si: Reemplazamos en una máquina un procesador por otro que ejecuta las mismas instrucciones en menor tiempo? Aumentamos la cantidad de procesadores del computador?

11 Fórmula de rendimiento
1 ¿RendimientoA > RendimientoB? ¿A es n veces más rápido que B? RendimientoA = Tiempo de ejecuciónA 1 1 > => teB > teA teA teB RendimientoA teB RendimientoA = n * RendimientoB => = RendimientoB teA

12 Ciclos de reloj Casi todas las computadoras son construidas usando un reloj (Oscilador de cristal), que es utilizado para sincronizar los eventos u operaciones: determinando cuándo ocurren (el paso) en el hardware. Estos intervalos de tiempo, se denominan ciclos de reloj Los ciclos de reloj (Ej: 400 picosegundos (ps)) se suelen transformar o usar como frecuencia de reloj (2.5 gigahertz (GHz)) Para un programa dado: Tiempo de ejecución de CPU = Ciclos de reloj x Tiempo del ciclo de reloj Tiempo de ejecución de CPU = Ciclos de reloj / Frecuencia de reloj

13 Instrucciones Ciclos de reloj Por Instrucción (CPI): Número promedio de ciclos de reloj por instrucción, para un programa dado. Es un promedio para todas las instrucciones ejecutadas en el programa. Ciclos de reloj de CPU = # Instrucciones x CPI

14 Ecuación clásica de rendimiento
Tiempo por ciclo de reloj Tiempo de CPU = Conteo de Instrucciones x CPI x Conteo de Instrucciones x CPI Tiempo de CPU = Frecuencia de reloj Estas fórmulas resultan útiles porque separan los tres factores que afectan el rendimiento

15 La pared de la disipación de potencia
La frecuencia de reloj y el consumo de energía ha aumentado por décadas, pero se detuvo hace unos años.

16 SPEC CPU benchmark SPEC: System Performance Evaluation Cooperative
Carga de trabajo: Conjunto de programas ejecutados en un computador (Pueden ser provistos por un usuario o artificiales) El último es el SPEC CPU2006 SPECratio: Es un tiempo de referencia que provee SPEC Existen SPEC para distintos mercados de computadores y para Potencia.

17 MIPS Otra alternativa al tiempo para intentar estimar el rendimiento son los MIPS: Millones de Instrucciones por Segundo. Es fácil de entender y es inversa al tiempo de ejecución Tiene problemas: No permite comparar computadores con diferentes juegos de instrucciones MIPS varía entre programas del mismo computador Cantidad de instrucciones Frecuencia de reloj MIPS = = Tiempo de ejecución x 106 CPI x 106

18 Ley de Amdahl El aumento posible del rendimiento por una mejora, está limitado a la magnitud de la parte mejorada. Tiempo de ejecución afectado por la mejora Tiempo de ejecución no afectado Tiempo de ejecución después de la mejora = + Magnitud de la mejora

19 Sistema numérico binario
En el sistema numérico binario, los coeficientes tienen dos valores posibles: 0 y 1. = 1x x x x x20 + 1x x2-10 Para convertir de binario a decimal: = 1x24 + 1x23 + 0x22 + 1x21 + 0x20 + 1x x2-2 = = 26.75 d b 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111

20 Otros sistemas numéricos
Octal: Coeficientes: 0,1,2,3,4,5,6,7 5468 = 5x82 + 4x81 + 6x80 = 358 Hexadecimal Coeficientes: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F DA8716 = 13x x x x160 DA8716 = 55943

21 Conversiones entre números de base diferente
De decimal a cualquier base: Se separa el número en parte entera y parte fraccionaria Para la parte entera: Se realizan divisiones sucesivas entre la base. Los residuos van determinando la parte entera convertida, pero en orden inverso. Para la parte fraccionaria: Se realizan multiplicaciones sucesivas por la base, los coeficientes enteros que surgen van formando la nueva parte decimal. Esto se repite hasta que dé cero, o hasta que se desee. De cualquier base a decimal: (c3c2c1c0.c-1c-2)b= c3xb3 + c2xb2 + c1xb1 + c0xb0 + c-1xb-1 + c-2xb-2

22 Conversiones hexadecimal y octal
De binario a octal (Dividiendo en grupos de 3 dígitos): = 26153,74068 De binario a hexadecimal (Dividiendo en grupos de 4 dígitos): = 2C6B,F216 De la misma forma se puede realizar, pero en sentido inverso.

23 Circuitos combinacionales
Los circuitos lógicos se pueden dividir en dos tipos: Combinacionales: La salida depende sólo de los valores de entrada. Funcionan sin la presencia de una memoria. Secuenciales: La salida depende de los valores de entrada y de los valores almacenados en memoria. El bloque de construcción fundamental de todos los circuitos lógicos digitales es la compuerta. Una compuerta es un circuito electrónico que implementa una operación lógica sencilla: AND, OR, NOT, NOR, NAND

24 El interruptor como herramienta
La salida tendrá voltaje “alto”, sólo cuando ambas entradas tienen también voltaje “alto” Esta estructura es conocida como compuerta lógica AND Entrada 1 Salida Tabla de verdad Entrada 2 x y x.y 1 Símbolo

25 Compuerta OR Tabla de verdad La salida tendrá voltaje “alto”, cuando al menos una de las entradas tenga también voltaje “alto” x y x+y 1 Entrada1 Salida Símbolo Entrada2

26 Compuerta NOT Tabla de verdad Entrada Salida x 1 Voltaje “Alto” La salida tendrá voltaje “alto”, cuando la entrada tenga voltaje “bajo” Símbolo

27 Otras compuertas NAND NOR XOR Tabla de verdad Tabla de verdad
y x.y 1 x y 1 x y x+y 1 Símbolo Símbolo Símbolo

28 Álgebra de Boole Postulados básicos del álgebra de Boole:
Leyes de identidad: A+0 = A y A.1 = A Leyes del 0 y del 1: A+1 = 1 y A.0 = 0 Leyes del inverso: A+A=1 y A.A=0 Leyes conmutativas: A+B=B+A y A.B=B.A Leyes asociativas: A+(B+C) = (A+B)+C y A.(B.C) = (A.B).C Leyes distributivas: A.(B+C) = (A.B)+(A.C) y A+(B.C) = (A+B).(A+C) Leyes de DeMorgan: A.B = A+B y A+B = A.B

29 Tabla de verdad Herramienta que nos permite representar las posible combinaciones de valores de un circuito lógico Muestra el valor lógica de la salida de un circuito lógico de acuerdo a los posibles valores de las entradas Hagamos la tabla de verdad de: F = A.B.C + A.B.C + A.B.C Tabla de verdad x y x.y 1

30 Multiplexores Conecta varias entradas a una sola salida
Sólo una de las entradas es pasada a la salida Son utilizados en circuitos digitales para el control y enrutamiento de señales S2 S1 F D0 1 D1 D2 D3

31 Decodificadores Circuito combinacional con cierto número de salidas, donde sólo una de ellas es activada Suelen tener n entradas y 2n salidas Se suele utilizar para direccionar espacios de memoria A1 A0 D3 D2 D1 D0 1

32 Flip-Flop RS Set (Grabar) – Reset (Borrar) R S Q = ? 1 Asíncrono CLK R
= ? 1 Asíncrono CLK R S Q X = 1 ? Síncrono

33 Flip-Flop D Impide las entradas S=1 y R=1 del Flip-Flop S-R, permitiendo una sola entrada Es conocido como Flip-flop de Datos o Flip-flop de retardo (Los datos que se introducen son presentados en la salida 1 clock después) D Q Qsiguiente X 1

34 Flip-Flop J-K J = Set y K = Reset
A diferencia del Flip-flop RS, cuando se activan ambas entradas a la vez, la salida adquirirá el estado contrario al que tenía. Qsiguiente = JQ+KQ J K Q Qsiguiente 1 X

35 Ejercicios Convertir:
87610 a binario, octal y hexadecimal a decimal, octal y hexadecimal Realizar el circuito combinacional para F = A.B.C + A.C +A.B.C ¿Qué opciones de reducción se tienen? Realizar la tabla de la verdad para la función anterior

36 Ejercicios Considere dos implementaciones distintas del mismo conjunto de instrucciones. Hay 4 tipos de instrucciones. Frecuencia Reloj CPI Clase A CPI Clase B CPI Clase C CPI Clase D P1 1.5 GHz 2 1 3 P2 2 GHz 4 Dado un programa con 106 instrucciones, dividida en clases como: 10% Clase A, 20% Clase B, 50% Clase C y 20% Clase D, ¿Cuál implementación es más rápida?

37 Ejercicio Implementar a través de Flip-Flops J-K un circuito secuencial para el control de la máquina de estados siguiente: 01 1 1 00 10 1


Descargar ppt "ARQUITECTURA DE COMPUTADORES"

Presentaciones similares


Anuncios Google