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

Post on 25-May-2020

6 views 0 download

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