EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción...

30
Estructura de Computadores Estructura de Computadores 18/Mar/2019

Transcript of EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción...

Page 1: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de Computadores

Estructura de Computadores

18/Mar/2019

Page 2: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Tema 1. Introducción

Page 3: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Rendimiento

I ¿Cómo sabemos si un computador A ofrece mejor rendimientoque un computador B?

Page 4: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Rendimiento

I Tiempo de ejecuciónI Tiempo transcurrido entre el inicio y el final de una tareaI Rendimiento es la inversa del tiempo de ejecución

I Productividad (Throughput)I Número de tareas completadas por unidad de tiempoI Rendimiento en servidores web, bases de datos...

Page 5: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Rendimiento

I Un computador A tiene 1 CPU que tarda 10 us en completaruna tarea. Un computador B tiene 200 CPUs que tardan 20 usen completar la misma tarea. ¿Cuál tiene mayor rendimiento?

Page 6: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Relación entre tiempo de ejecución y productividad

I A menor tiempo de ejecución, mayor productividadI Aumentar la productividad puede reducir el tiempo de

ejecución, pero solo en caso de congestión, ya que se reduce eltiempo de espera en las colas

Page 7: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Tiempo de ejecución

I Tiempo de CPU + Tiempo de espera E/S + Tiempo deespera mientras se ejecutan otras tareas

I En EC, solo tendremos en cuenta el tiempo de CPUI Rendimiento = 1

Tejecución

Page 8: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Speedup

I Mejora de rendimiento o speedupI Cuántas veces más rápido se ejecuta una tarea al introducir

una mejora en el programa o en la arquitecturaI Speedup = Rendimientomejorado

Rendimientooriginal= Toriginal

Tmejorado

I EjemploI Toriginal = 10sI Tmejorado = 5sI Speedup = 10

5 = 2

Page 9: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Factores que influyen en el tiempo de ejecución

I teje = nciclos × tc = nciclos/fclockI nciclos : Número de ciclos de reloj que tarda la ejecuciónI tc : Tiempo de cicloI fclock : Frecuencia de reloj

I Dos formas de reducir el tiempo de ejecuciónI Reducir el número de ciclosI Aumentar la frecuencia de reloj (reducir tiempo de ciclo)

Page 10: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Reducir nciclos

I Ejecutar menor número de instrucciones (nins)I Reducir el número de ciclos por instrucción (CPI)I nciclos = nins × CPI

I CPI es el promedio de ciclos por instrucción de todo elprograma

I teje = nciclos × tcI teje = nins × CPI × tc

Page 11: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Reducir nciclos

I nciclos = nins × CPII Para reducir nins hay que mejorar el compiladorI El CPI depende del retardo de cada tipo de instrucción y del

número de instrucciones de cada tipoI CPI = (n1 × CPI1 + n2 × CPI2 + ...+ nm × CPIm)/ninsI Para reducir el CPI:

I Mejorar la microarquitecturaI Sustituir instrucciones costosas por instrucciones simples (mul

por sll)I teje = nins × CPI × tcI teje = (n1 × CPI1 + n2 × CPI2 + ...+ nm × CPIm) × tc

Page 12: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Ejemplo

I Queremos comparar dos versiones de un programa en unmismo computador, que dispone de 3 tipos de instrucciones A,B y C con CPI 1, 2 y 3 respectivamente. La versión 1 constade: 2 instrucciones de A, 1 de B y 2 de C. La versión 2 constade: 4 instrucciones de A, 1 de B y 1 de C. ¿Cuál es másrápido? ¿Cuáles son los CPI promedio de ambas versiones?

Page 13: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Aumentar la frecuencia de reloj (reducir el tiempo de ciclo)

I Se reduce la latencia para las instrucciones de tipo AI Las instrucciones de tipo B requiren 2 ciclos en lugar de 1I Beneficio depende del número de instrucciones de tipo A y BI No siempre se mejora el rendimiento

Page 14: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Ejemplo

I El procesador A tiene tcA = 500ps y CPIA = 2. Supongamosque lo rediseñamos para que se use un menor tiempo de ciclo.El nuevo procesador B tiene tcB = 250ps. Pero esto requireaumentar el número de ciclos del programa de test,aumentando el CPI promedio: CPIB = 3. ¿Es más rápido elnuevo diseño?

Page 15: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Ejemplo

I Supongamos que un computador A, con fA = 2Ghz , ejecutaun programa en teje = 10s. Con ciertas mejoras en el circuito,se ejecuta en 6s, pero aumenta el número de ciclos en unfactor 1.2. ¿Cuál es la frecuencia de reloj del nuevo diseño?

Page 16: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Ley de AmdahlI “El máximo speedup que se puede conseguir minimizando el

retardo de una parte está limitado por la fracción de tiempoque representa dicha parte sobre el tiempo total”

I Speedup total al mejorar una parte P en un factor S:

St = 1(1 − P) + P

S

I Máximo speedup posible al mejorar una parte P:

Smax = 11 − P

I ¿Máximo speedup al mejorar una parte de un programa querepresenta el 80% del tiempo de ejecución?

Page 17: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

“Ley” de Moore

“La densidad de transistores en un chip se duplica cada 2 años”I Gordon Moore, cofundador de Intel, 1965

Page 18: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Transistor CMOS

I Complementary Metal–Oxide–Semiconductor

Page 19: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Transistor CMOS - Carga

I Complementary Metal–Oxide–Semiconductor

Page 20: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Transistor CMOS - Descarga

I Complementary Metal–Oxide–Semiconductor

Page 21: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

“Ley” de Moore

“La densidad de transistores en un chip se duplica cada 2 años”I Gordon Moore, cofundador de Intel, 1965

Page 22: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

“Ley” de Moore

Page 23: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Consecuencias de la “Ley” de Moore

I Transistores más pequeñosI Reducción del tiempo de conmutación de los transistoresI Mayor frecuencia de relojI Mayor disipación de potencia y consumo energético

Page 24: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Potencia dinámica

I Consumo de energía producido durante los ciclos decarga/descarga de los transistores (conmutación)I P: Potencia dinámica (Watts)I α: Fracción de transistores que conmutan por cicloI C: Capacitancia (Farads)I V: Voltaje (Volts)I fclk: Frecuencia de reloj

Pdinámica = α · C · V2 · fclk

Page 25: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Potencia dinámica vs Potencia estática

I Potencia dinámica

Ptotal = α · C · V2 · fclk + Ileak · V

I Potencia estáticaI Ileak: corriente parásita que circula por el transitor en circuito

abiertoPestática = Ileak · V

I Potencia total: P = Pdinámica + PestáticaI Energía consumida en un tiempo t, en Joules:

E = t · P

Page 26: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Page 27: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Potencia, Energía y Temperatura

I La energía consumida se convierte en calorI Sistema de refrigeración para evitar exceso de temperaturaI Thermal Design Power (TDP)

I Dispositivos móvilesI Alimentados por bateríasI Espacio reducido para el sistema de refrigeración

I Hemos alcanzado el punto en el que el calor no se puededisiparI La frecuencia máxima se ha estancado en los últimos años

Page 28: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Page 29: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción

Técnicas de reducción de consumo

I Clock gatingI Power gatingI Dynamic Voltage and Frequency Scaling (DVFS)

Page 30: EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción Rendimiento I UncomputadorAtiene1CPUquetarda10usencompletar unatarea.UncomputadorBtiene200CPUsquetardan20us

Estructura de ComputadoresTema 1. Introducción