EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción...
Transcript of EstructuradeComputadores¨ncies/Sesión 11... · Estructura de Computadores Tema 1. Introducción...
Estructura de Computadores
Estructura de Computadores
18/Mar/2019
Estructura de ComputadoresTema 1. Introducción
Tema 1. Introducción
Estructura de ComputadoresTema 1. Introducción
Rendimiento
I ¿Cómo sabemos si un computador A ofrece mejor rendimientoque un computador B?
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...
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?
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
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
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
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)
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
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
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?
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
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?
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?
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?
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
Estructura de ComputadoresTema 1. Introducción
Transistor CMOS
I Complementary Metal–Oxide–Semiconductor
Estructura de ComputadoresTema 1. Introducción
Transistor CMOS - Carga
I Complementary Metal–Oxide–Semiconductor
Estructura de ComputadoresTema 1. Introducción
Transistor CMOS - Descarga
I Complementary Metal–Oxide–Semiconductor
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
Estructura de ComputadoresTema 1. Introducción
“Ley” de Moore
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
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
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
Estructura de ComputadoresTema 1. Introducción
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
Estructura de ComputadoresTema 1. Introducción
Estructura de ComputadoresTema 1. Introducción
Técnicas de reducción de consumo
I Clock gatingI Power gatingI Dynamic Voltage and Frequency Scaling (DVFS)
Estructura de ComputadoresTema 1. Introducción