You are on page 1of 18

Tema 1: Tecnologa del Computador

Grado en Ingeniera Informtica Tecnologas Informticas Arquitectura de Computadores


Teora: Prof. Dr. Daniel Cagigas Muiz (coordinador), Prof. Manuel Rivas, Prof. Manuel Jess Domnguez Morales Practicas: Manuel Ramn Lpez Torres, Dra. Teresa Serrano Gotarredona, Dr. Bernab Linares Barranco

ndice de contenidos

1. Introduccin 2. Monoprocesador vs Multiprocesador 3. Rendimiento

La Revolucin del Ordenador

Progreso en la tecnologa de computadores


Acotado por la Ley de Moore

Se abren las puertas a nuevas aplicaciones


Ordenadores de abordo Mviles Proyecto del Genoma Humano World Wide Web Motores de bsqueda

OMNIPRESENCIA DE LOS ORDENADORES

Tipos de Ordenadores
Ordenadores de Escritorio
Diseados para aportar buen rendimiento a a un solo usuario a un coste bajo. Normalmente se ejecutan programas realizados por terceros, posee monitor, teclado y ratn.

Servidores
Utilizados para lanzar programas para gran cantidad de usuarios en paralelo accediendo normalmente a travs de la red. Se da un gran nfasis a la confianza y a la seguridad.

Supercomputadores
Un tipo de servidores de altas prestaciones y alto coste compuesto por cientos de miles de procesadores, terabytes de memoria principal y petabytes de almacenamiento. Utilizados para fines cientficos y aplicaciones de ingeniera.

Ordenadores empotrados
Computador situado dentro de otro dispositivo y usado para ejecutar una aplicacin predeterminada.

El Mercado del Procesador

Crecimiento empotrados >> Crecimiento PCs


5

Qu aprenderemos?

Cmo traducir programas al lenguaje mquina


y cmo los ejecuta el hardware

La interfaz Hardware/Software Cmo determinar el rendimiento de un programa


y cmo podemos mejorarlo

Cmo mejora el rendimiento un diseador de hardware Qu es el procesamiento paralelo


6

Entendiendo el rendimiento Algoritmo


Determina el nmero de operaciones ejecutadas

Lenguaje de programacin, compilador, arquitectura


Determinan el nmero de instrucciones de mquina ejecutadas por operacin

Procesador y Sistema de Memoria


Determinan la rapidez de ejecucin de las instrucciones

Sistema de Entrada/Salida (incluyendo SSOO)


Determina la velocidad de ejecucin de las operaciones de E/S

Ms all del programa


Software de aplicacin
Escrito en un lenguaje de alto nivel

Software de sistema
Compilador: traduce programas escritos en un lenguaje de alto nivel a instrucciones que el hardware puede ejecutar (cdigo mquina) SSOO: programa de supervisin que sirve de interfaz entre programas de usuario y el hardware (cdigo de servicio)
Maneja operaciones bsicas de E/S Gestiona memoria y almacenamiento Planifica tareas y comparte recursos

Hardware

Hardware
Procesador, memoria, controladores de E/S

Ms all del programa (II)

Lenguaje de alto nivel


Nivel de abstraccin prximo al dominio del problema Productividad y portabilidad

Lenguaje ensamblador
Representacin textual de instrucciones

Representacin hardware
Dgitos binarios (bits) Instrucciones y datos codificados

Ventajas de los lenguajes de alto nivel


Permite al programador pensar en un lenguaje ms natural y facilita el entendimiento. Mejora la productividad: cdigo ms entendible es fcil de depurar y validar. Mejora la mantenibilidad del programa. Programas independientes del ordenador dnde se han desarrollado. Aparicin de compiladores optimizados que producen cdigo ensamblador muy eficiente y optimizado para el dispositivo destino.
Como resultado, hoy da se programa muy poco a nivel ensamblador.

10

Componentes del Ordenador Cinco componentes clsicos de un ordenador: entrada, salida, memoria, camino de datos y control E/S incluye
Abstraccin Dispositivos con interfaz de usuario
Pantalla,teclado, ratn

Dispositivos de almacenamiento
Disco duro, CD/DVD, flash

Adaptadores de red
Comunicacin con otros ordenadores

11

Dentro de la CPU

Caminos de datos: realizar operaciones con los datos Control: coordina movimientos de datos, memoria... Memoria Cach
Pequea y rpida SRAM para acceso inmediato a los datos

12

Dentro del procesador

AMD Opteron quad-core (Barcelona)

Cuatro ncleos en un chip 1.9 GHz de frecuencia de reloj Tecnologa de 65nm Tres niveles de cach (L1, L2, L3) en el chip Puente Norte integrado

13

Abstracciones
Nos ayudan a lidiar con la complejidad
Ocultan los detalles de bajo nivel

Instruction Set Architecture (ISA)


Interfaz abstracta entre el hardware y el software de ms bajo nivel Abarca toda la informacin necesaria para escribir un programa en lenguaje mquina, incluyendo instrucciones, registros, accesos a memoria, E/S

La combinacin del conjunto bsico de instrucciones (ISA) y el sistema operativo se denomina la Interfaz Binaria de Aplicacin (ABI)

14

Ley de Moore
En 1965, Gordon Moore predijo que el nmero de transistores que pueden ser integrados en un nico chip se duplicara cada dos aos aproximadamente.

15

Tendencias tecnolgicas Tecnologa electrnica en evolucin


Incremento de capacidad y rendimiento Costes reducidos
Ao Tecnologa Rendimiento/coste 1 35 900 2,400,000 6,200,000,000 1951 Tubo de vaco 1965 Transistor 1975 Circuito Integrado 1995 VLSI 2005 ULSI

Capacidad DRAM

16

ndice de contenidos

1. Introduccin 2. Monoprocesador vs Multiprocesador 3. Rendimiento

17

Rendimiento Uniprocesador

Restringido por el consumo, paralelismo a nivel de instrucciones y latencia de memoria

18

Multiprocesadores

Microprocesadores multincleo
Ms de un procesador por chip

Requiere programacin paralela explcita


Comparado con paralelismo a nivel de instruccin
El hardware ejecuta mltiples instrucciones a la vez Oculto para el programador

Difcil de hacer
Programar teniendo en cuenta el rendimiento Balanceo de carga Optimizar comunicacin y sincronizacin

19

ndice de contenidos

1. Introduccin 2. Monoprocesador vs Multiprocesador 3. Rendimiento

20

10

Definiendo el Rendimiento

Qu avin tiene el mejor rendimiento?


Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 0 100 200 300 400 500 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC8-50 0 5000 10000 15000

Capacidad de pasajeros

Recorrido de crucero (km)

Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 0 500 1000 1500 2000 2500

Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC8-50 0 1E+0 5 2E+0 3E+0 4E+0 5 5 5 Pasajeros x kmph 5E+0 5

Velocidad de crucero (kmph)

21

Never let an engineer get away with simply presenting the data. Always insist that he or she lead off with the conclusions to which the data led.
Bob Colwell, Pentium Chronicles

22

11

Tiempo de respuesta VS Volumen de trabajo Tiempo de respuesta (tiempo de ejecucin)


Tiempo entre comienzo y finalizacin de una tarea

Volumen de trabajo
Trabajo terminado por unidad de tiempo
Por ejemplo tareas/transacciones/ por hora

Cmo se mejoran el tiempo de respuesta y el volumen de trabajo?


Reemplazando el procesador por una versin ms rpida? Aadiendo ms procesadores?

Nos centraremos en el tiempo de respuesta, por ahora

23

Rendimiento relativo
Se define el rendimiento como la inversa del tiempo de ejecucin X es n veces ms rpido que Y

Rendimient o X Rendimient o Y = Tiempo de Ejecucin Y Tiempo de Ejecucin X = n


Ejemplo: Tiempo en ejecutar un programa
10s en A, 15s en B Tiempo de EjecucinB / Tiempo de EjecucinA = 15s / 10s = 1.5 Entonces, A es 0.5 ms rpido que B

24

12

Midiendo tiempos de ejecucin

Tiempo consumido
Tiempo total de respuesta, incluyendo todos los aspectos
Procesamiento, E/S, overhead del SSOO, tiempo de inactividad

Determina el rendimiento del sistema

Tiempo de CPU
Tiempo gastado procesando una tarea concreta
No se tiene en cuenta SSOO, E/S ni inactividad

Tiempo de CPU: de usuario y del sistema Los programas se ven afectados de forma diferente por la CPU y el rendimiento del sistema

25

Reloj de CPU HW Digital: Funcionamiento gobernado por reloj de velocidad constante


Periodo de Reloj Reloj (ciclos) Transferencia de datos y computacin Estado de actualizacin

Periodo de reloj: duracin de un ciclo de reloj


Por ejemplo, 250ps = 0.25ns = 2501012s

Frecuencia del reloj: ciclos por segundo


Por ejemplo, 4.0GHz = 4000MHz = 4.0109Hz

26

13

Tiempo de CPU
CPUTiempo = Reloj Ciclos Tiempo de ciclo = Reloj Ciclos Reloj Frecuencia

Rendimiento mejorado por:


Reduccin del nmero de ciclos de reloj Incrementando la frecuencia del reloj Un diseador hardware renuncia a menudo al nmero de ciclos a favor de la frecuencia del reloj
27

Ejemplo Frecuencia Reloj


Ordenador A: reloj a 2GHz; tiempo de ejecucin de 10s Diseando Ordenador B
Buscamos un tiempo de ejecucin de 6s Requiere 1.2 veces el nmero de ciclos de reloj que A

Cul es la frecuencia del reloj de B? RelojCiclosB 1.2 RelojCiclos A RelojFrecuencia B = = CPUTiempo B 6s

RelojCiclos A = CPUTiempo A RelojFrecuencia A = 10s 2GHz = 20 10 9 RelojFrecuencia B = 1.2 20 10 9 24 109 = = 4GHz 6s 6s


28

14

Ciclos Por Instruccin


RelojCiclos = Nmero Instrucciones Ciclos Por Instruccin CPUTiempo = Nmero Instrucciones CPI Tiempo de Ciclo = Nmero Instrucciones CPI RelojFrecuencia

Nmero de instrucciones de un programa


Determinados por el programa, ISA y el compilador

Nmero de ciclos medio por instruccin (CPI)


Determinados por el hardware de la CPU Si diferentes instrucciones tienen diferente CPI
CPI medio afectado por la mezcla de instrucciones

Una forma de comparar dos implementaciones diferentes del mismo ISA


29

Ejemplo CPI
Ordenador A: Periodo de reloj = 250ps, CPI = 2.0 Ordenador B: Periodo de reloj = 500ps, CPI = 1.2 Igual ISA Cul es ms rpido y por cunto?
A B = Nmero Instrucciones CPI Tiempo de Ciclo A A A es ms rpido = Ins 2.0 250ps = I 500ps = Nmero Instrucciones CPI Tiempo de Ciclo B B = Ins 1.2 500ps = I 600ps
A se ejecuta a un 120% de la velocidad de B

CPUTiempo

CPUTiempo CPUTiempo

B = Ins 600ps = 1.2 CPUTiempo Ins 500ps A

30

15

CPI Efectivo (medio)

Calcular el CPI efectivo global se realiza mirando los diferentes tipos de instrucciones y sus correspondientes ciclos
Reloj Ciclos = (Num.Ciclo si Num.Instru cciones i )
i=1 n

n: nmero de clases de instrucciones

CPI medio
CPI = RelojCiclos Frecuencia Relativa Num.Instruccionestotal n Num.Instruccionesi = Num.Ciclosi Num.Instruccionestotal i=1
31

Un ejemplo simple
Tipo Op. ALU Load Store Branch Frec 50% 20% 10% 20% CPIi 1 5 3 2 Frec x CPIi
.5 1.0 .3 .4 .5 .4 .3 .4 1.6 .5 1.0 .3 .2 2.0 .25 1.0 .3 .4 1.95

2.2

Cmo mejorasi le ponemos una cach que reduce el tiempo medio de carga (Load) a 2 ciclos? Nuevo CPI = 1.6 2.2/1.6 = 1.375 37.5% ms rpido Cmo mejora con un ciclo menos de salto (Branch) gracias a una BTB? Nuevo CPI = 2.0 2.2/2.0 = 1,10 10% ms rpido Cmo mejora si se pueden ejecutar en paralelo dos instrucciones de ALU? Nuevo CPI= 1.95 2.2/1.95 = 1,128 12.8% ms rpido

32

16

Resumen de Rendimiento

CPUTiempo =

Instrucciones Reloj Ciclos Segundos Programa Instruccin RelojCiclo

El rendimiento depende de
Algoritmo: Afecta al IC, posiblemente al CPI Lenguaje de programacin: IC, CPI Compilador: IC, CPI ISA: IC, CPI, Tc

33

Tendencias en potencia

Tecnologa CMOS
Potencia = Carga Capacitiva Voltaje 2 Frequencia
30 5V 1V 1000

34

17

Reduciendo la potencia

Suponemos que una nueva CPU tiene


85% de carga capacitiva respecto a la antigua 15% voltaje y un 15% de reduccin de frecuencia
Pnew Cold 0.85 (Vold 0.85)2 Fold 0.85 = = 0.85 4 = 0.52 2 Pold Cold Vold Fold

La barrera de la potencia
No podemos reducir ms el voltaje No podemos disipar ms calor

De qu otra forma podemos mejorar el rendimiento?

35

18

You might also like