Ingeniera de los Computadores Leccin 1: Concepto de Arquitectura Por qu es posible comprar hoy un PC con ms prestaciones que un Cray 1?Qu hace diferentes dos arquitecturas? 2 Bibliografa 1. J. L. HENNESSY and D. A. PATTERSON. Computer Architecture. A Quantitative Approach, Morgan Kaufmann, 3 rd edition, 2003. 2. D. SIMA and T. FOUNTAIN, and P. KACSUK. Advanced Computer Architectures: A Design Space Approach, Addison Wesley, 1997. 3. J. ORTEGA, M. ANGUITA y A. PRIETO. Arquitectura de Computadores, Thomson, 2005. 3 1. Estrategias para mejorar las prestaciones de los computadores 1. Interaccin entre tecnologa, aplicaciones y arquitectura 2. Paralelismo y localidad 2. Clasificacin de las arquitecturas Contenidos 4 Arquitectura Tecnologa Mercado Aplicaciones Posibilidades Restricciones Econmicas Seleccin Demanda Nuevas Restricciones Posibilidades Posibilidades Capacidades Prestaciones Promueve Generacin Fundamental Fuerte Visible Adaptado de Vajapeyam/Valero (Computer, Abril 2001) Evolucin de los Computadores 5 60 70 80 90 00 PCs y Estaciones de Trabajo Servidores Microprocesadores Mainframes Grandes computadores para aplicaciones de negocios y cientficas de gran volumen. Minicomputadores Aplicaciones cientficas en laboratorios y pequeas organizaciones Redes WWW Computadores Embebidos Rpido crecimiento (tecnologa y herramientas de diseo): electrnica digital de altas prestaciones, videojuegos, telfonos mviles, tarjetas inteligentes, conmutadores,. Computadores, Aplicaciones y Mercados (I) 6 Aspecto Sobremesa Servidores Empotrados Precio ($) 1000 10.000 10.000 10M 10 100.000 Precio por mdulo microprocesador ($) 100 - 1000 200 2000 (por procesador) 0.20 200 (por procesador) Microprocesadores vendidos/ao (2000) 150M 4M 300M ( 32 y 64 bits slo) Objetivos de diseo Precio-prestaciones Prestaciones de grficos (integrar capacidades en los procesadores) e I/O. Integrar microprocesadores en arquitecturas multiprocesador, I/O de altas prestaciones Fiabilidad, rendimiento, escalabilidad Incorporar tcnicas de microprocesadores de altas prestaciones con las restricciones de precio, consumo. Altas prestaciones especficas para la aplicacin Computadores, Aplicaciones y Mercados (II) 7 Tiempo 48-horas Modelado Plasma 3D Tiempo 72 horas Biologa Estructural Diseo Farmacutico Dinmica qumica Memoria (Gbytes) 0.1 1 10 100 1000 10000 100000 1000000 0.01 0.1 1 10 100 1000 Genoma Humano Cambio Climtico Dinmica de Fluidos Viscosos Modelado de Semiconductores Modelado de Superconductores Cromodinmica cuntica Circulacin de Ocanos 1980 1988 1991 1993 1995 10000 100000 1 2 3 TOP500 (Nov2001) Tiempo 48-horas Modelado Plasma 3D Tiempo 72 horas Biologa Estructural Diseo Farmacutico Dinmica qumica Memoria (Gbytes) 0.1 1 10 100 1000 10000 100000 1000000 0.01 0.1 1 10 100 1000 Genoma Humano Cambio Climtico Dinmica de Fluidos Viscosos Modelado de Semiconductores Modelado de Superconductores Cromodinmica cuntica Circulacin de Ocanos 1980 1988 1991 1993 1995 10000 100000 1 2 3 TOP500 (Nov2001) Gigaflops Aplicaciones y Mercados: Clculo Cientfico (I) 8 Aplicaciones y Mercados: Clculo Cientfico (II) Ejemplos fuera de las posibilidades actuales: 1. La resolucin de las ecuaciones para un flujo turbulento en un ala (ecuaciones no-lineales de Navier-Stokes) con nmero de Reynolds de 10 6
necesita 200 horas en un computador de 1 petaFLOPS con memoria de mayor del Terabyte. 2. En el diseo de un avin se necesitan determinados clculos relacionados con la aerodinmica del avin y que se realizan a partir de simulaciones del flujo en torno al avin. Dado que hay que realizar repetidos clculos, si los tiempos de ejecucin se limitan a 15 minutos, se requerira un computador capaz de alcanzar 1 exaFLOPS con una memoria mayor de 1 Gbyte. 3. El sistema visual humano consta de unos 10 8 receptores que convergen, a travs de varias capas de neuronas, a las 10 6 clulas ganglionares cuyos axones van desde el ojo al cerebro, donde se puede estimar que existen del orden de 2x10 9 neuronas. Para simular el sistema visual humano en tiempo real se necesita una velocidad de 6x10 14 (600 teraFLOPS). 9 Aplicaciones de Clculo Cientfico: Prediccin del Tiempo Resolver las ecuaciones del modelo de circulacin general de la atmsfera en coordenadas esfricas, utilizando una retcula tridimensional que, en cada punto tiene asociada una ecuacin diferencial Si se considera una retcula con puntos separados 400 Kms., y se dispone de una mquina de 100 MFLOPS (Cray 1), predecir el tiempo de 24 horas necesita 100 minutos. Si se reduce la retcula a unos 40 Kms entre puntos, la prediccin de 24 horas necesitara aproximadamente 24 horas en el mismo ordenador. A ms capacidad de clculo es posible clculos con ms precisin en un tiempo determinado, y mejora la prediccin a largo plazo (dado el carcter catico de la atmsfera). 10 Aplicaciones y Mercados: Multimedia (I) Muchas de las nuevas aplicaciones distribuidas utilizan procesamiento conjunto de vdeo y audio continuos. Esto tiene una serie de implicaciones en la arquitectura: Almacenamiento y recuperacin de la informacin en tiempo real: Las imgenes de vdeo slo tienen sentido si se suministran a una velocidad adecuada a la cmara, la captura de imgenes debe hacerse a una velocidad determinada y el almacenamiento debe realizarse de forma que los datos no se sobre escriban. Las seales utilizadas (vdeo, audio,..) deben estar sincronizadas Gran capacidad de almacenamiento y velocidades de transferencia elevadas La arquitectura debe proporcionar formas rpidas y eficaces de almacenar, recuperar y procesar la informacin (Audio MPEG: 384 Kb/s; Audio calidad CD: 1.4 Mb/s; Vdeo MPEG2: 0.42 MB/s; Vdeo HDTV: 81 MB/s) Las caches no son lo suficientemente grandes para manejar eficazmente los volmenes de datos utilizados (localidad baja) 11 Aplicaciones y Mercados: Multimedia (II) Mucha localidad de acceso a instrucciones: Las aplicaciones de procesado de imgenes y seal consumen la mayor parte del tiempo en la ejecucin de pequeos bucles. La optimizacin de estos bucles de puede tener un efecto importante en la ganancia de velocidad que se consigue en estos programas (incluso puede aconsejar el uso del ensamblador). Paralelismo de datos y tamao de los tipos de datos Existe mucho paralelismo de datos en las aplicaciones y normalmente no se necesitan precisiones de ms de 16 bits (diferencias inapreciables en imgenes y sonidos). Alternativas Instrucciones SIMD en arquitecturas de procesador de propsito general (MMX y SSE en Intel, VIS en Sparc, MVI en Alpha, MAX2 en PA-RISC) Procesadores de procesamiento digital de seales (DSPs) Procesadores VLIW 12 Aplicaciones y Mercados: Internet Si el ancho de banda de comunicacin es elevado y barato, la ubicacin de la potencia de cmputo es irrelevante El comercio electrnico, la enseanza a distancia, la TV digital, la publicidad dirigida, etc. demandan servidores potentes. Prestaciones que se requieren en las arquitecturas: Velocidad Disponibilidad Escalabilidad Mantenimiento fcil Seguridad 13 Aplicacin de Internet: GOOGLE (I) El nmero de pginas indexadas en la Web ha crecido en un factor de 1000 entre 1994 y 1997 y de 10 entre 1997 y el 2000. Sin embargo, se sigue manteniendo en torno a 10 (los 10 primeros) el nmero de resultados de una bsqueda que se consideran tiles por el usuario. El principal requisito es de la disponibilidad: el servicio debe proporcionarse en cualquier momento. El ancho de banda es vital dada la cantidad de accesos que se producen al servicio: en el 2000 se sirvieron 1000 peticiones por segundo buscando e indexando ms de 1000 millones de pginas. Puesto que se interacta con personas, el tiempo de latencia no debe ser elevado: en Google se fija en torno a 0.5 segundos (incluyendo los retardos de red). Se debe explorar la red peridicamente para tener actualizada la informacin de bsqueda: cada pgina web del mundo se visita una vez al mes. Se guarda una copia local del texto de la mayora de las pginas. 14 Aplicacin de Internet: GOOGLE (II) Google utilizaba (Diciembre de 2000) ms de 6000 procesadores y 12000 discos (de aproximadamente 1 Petabyte) Organizado en tres sitios (dos en el Silicon Valley y uno en Virginia), cada uno conectado a Internet con un enlace OC48 (2488 Mbit/s). En los tres sitios estn replicados el ndice de bsqueda (unos pocos terabytes) y una copia de pginas en cache (del mismo orden). Cada servidor es un cluster: 40 racks (80 PCs cada uno) y cada rack est conectado mediante 4 enlaces Gigabit Ethernet a 2 conmutadores de 128x128 redundantes. Cada conmutador est conectado a travs de un lnea OC48 (2.4 Gbit/s) a internet (a travs de un conmutador Cisco 12000) y a travs de una lnea OC12 (622 Mbit/s) a otro de los sitios redundantes. Hay un rack prximo a cada conmutador con UPS y PCs para monitorizacin, equilibrado de carga, etc. Los PCs (en el 2000) eran bastante estndar: ATA/IDE drives (40-80 Gbytes), 256 Mbytes de SDRAM, procesadores Celeron 533 MHz Pentium III 800 MHz. Sistema Operativo Linux. Cada rack de 80 PCs consume 4500 W (55 W/PC) en 1 m2 y unos 60 A. El sitio de 40 racks descrito tiene un coste de entre !4.5 millones y !6 millones. 15 Explorar la Web (se hace semanalmente) para actualizar la informacin disponible de los sitios necesita ms ancho de banda: ) / ( 26 ) ( 60 60 24 ) / ( 8 ) / ( 4000 ) / ( 000 . 000 . 70 s Mbit segundos x x Byte bits x consulta Bytes x dia consultas ! ) / ( 53 ) ( 7 ) / ( 60 60 24 ) / ( 8 ) / ( 4000 ) ( 000 . 000 . 000 . 1 s Mbit dias x dia segundos x x Byte bits x consulta Bytes x pginas ! 2x 5.000.000.000(Bytes)x8(bits / Byte) 24x60x60(segundos / dia)x7(dias) !132(Mbit / s) Aplicacin de Internet: GOOGLE (III) Una respuesta tpica a una consulta es de unos 4000 bytes Aproximadamente se producen unos 70 millones de consultas diarias Demanda media de ancho de banda: (1% del ancho de banda del enlace) La informacin se recoge en uno de los sitios, pero el ndice final y la cache de pginas (unos 5 TBytes) deben replicarse en los otros dos sitios: El crecimiento de Google es de un 20% al mes y el nmero de pginas indexadas se dobla cada ao desde 1997. 16 Aplicaciones y Mercados: Computadores Empotrados Los computadores embebidos sustituyen la electrnica analgica en muchos aparatos y dispositivos y en mviles, DVDs, video-juegos, etc. En estos sistemas se exige: Consumo de potencia reducido Prestaciones elevadas especficas para la aplicacin (aplicaciones que requieren procesadores de 8 o 16 bits de menos de un euro hasta procesadores de altas prestaciones que ejecutan giga instrucciones por segundo y cuesta cientos de euros en video juegos y conmutadores de red, tiempo real, etc.) Coste reducido Memoria reducida (ajustada a la capacidad de un chip): reducir cdigo y datos (uso de optimizaciones en ensamblador) Arquitecturas: VLIW, DSPs 17 Ejemplo: Computador de Bolsillo Itsy (Compaq) Permite ejecutar aplicaciones como el reconocimiento continuo del habla y decodificacin MPEG-1 en tiempo real Peso: 130 g. Dimensiones: 118x65x16 (mm) Procesador: StrongARM (191MHz) DRAM: 32 MBytes (EDO 50 ns) Flash: 32 MBytes (90 ns) Consumo: 2.2 Wxhora (3.3 V / 1.5 o 1.23 V el procesador) Ejemplo: Cuadricpteros (Parrot) Robots voladores de cuatro hlices La combinacin actividad-inactividad de los motores permiten control en vuelo de los 4 grados de libertad (yaw, roll, pitch & altitude)
18 Ejemplo: Cuadricpteros Ejemplo cuadriocptero: Parrot AR.Drone Procesador Parrot 6 ARM9 468 MHz ARM926EJ Risc CPU Prestaciones y caractersticas Raffaello DAndrea: The astounding athletic power of quadricopters Vijay Kumar: Robots that fly and cooperate
19 20 Compromiso Mejora de Prestaciones Avances en la Tecnologa Limites: conforme se disminuye el tamao de los transistores aumenta su velocidad, pero tambin aumenta la resistencia de las lneas de conexin entre ellos, y por tanto el retardo de las comunicaciones dentro del chip
Innovacin en Arquitectura de Computadores Paralelismo: Paralelismo entre instrucciones (ILP) y paralelismo entre transferencias, hebras, tareas, procesos
Localidad: Acceso rpido a los datos e instrucciones necesarios (jerarqua de memoria). 21 Influencia de la Tecnologa Eniac Eniac-on-chip Variacin Tubos de vaco 18,000 - Transistores - 250,000 Resistencias 170,000 - Capacidades 10,000 - Dimensiones 24,4x0,91 m 2 8x8 mm 2 3x10 -6
Reloj 100 kHz 20 MHz* 200 Potencia 174 kW 0.5 W* 1/348000 * = estimado 22 Reduccin de tamao de dispositivos (a) Aumento de tamao de los CI (b) Cambio de tecnologa (Ej. CMOS a AsGa) Influencia de la Tecnologa (I) Aumento de la velocidad de los dispositivos Aumento de la Capacidad de Procesamiento (?) Aumento del nmero de dispositivos: O(b2) Aumento de la Capacidad de Procesamiento O(b2) Aumento de velocidad de los dispositivos: O(a) Aumento del nmero de dispositivos: O(a2) Aumento de la Capacidad de Procesamiento O(a3) 23 Influencia de la Tecnologa (II) A qu ritmo mejora la tecnologa? El aumento de la densidad de dispositivos, su velocidad, y el tamao de los CI permitiran hasta un 72%-88% de mejora anual de la capacidad de procesamiento del CI. Ley de Moore (1979): El nmero de Transistores por Circuito Integrado se dobla cada 18-24 meses (asumiendo precio constante del CI): Entre un 40% y un 57% de mejora anual Densidad de Transistores: 35% anual (DRAMs: 40%-60% anual) Velocidad de Transistores: 16% anual (DRAMs: latencia un 33% y ancho de banda por chip un 66% en 10 aos) Tamao del dado: 10%-20% anual Nmero de Transistores/Chip: 55% anual 24
Primera
Segunda
Tercera
Cuarta
Aos
1946-54
1955-63
1964-70
1971-
Tecnologa (dispositivos y perodo de reloj)
Tubos de vaco Memorias de lneas de retardo ms
Transistores. Memorias de ncleos de ferritas s
C.I. (SSI y MSI) Memorias de C.I.
ns
C.I. (LSI y VLSI) Memorias DRAM
ns
Arquitectura y Estructura
Aritmtica de punto fijo
Aritmtica exponencial Registros ndices Procesadores de E/S
Microprogramacin Memorias cachs Memoria Virtual
Microprocesadores. Arquitecturas RISC y paralelas
S. Operativos
sin S.O.
Monitores "batch"
Multiprogramacin Multiprocesamiento
S.O. en red S.O. distribuidos
Computado- res represen- tativos
ENIAC, UNIVAC I IBM 702,650
IBM 1401, 1620, 7094 UNIVAC 1004 CDC 1604
IBM 360, 370 DEC PDP mini- comp. UNIVAC 1100
DEC VAX, Alpha DG Eclipse, Aviion Cray-1, IBM-PC HP 9000/750 WS
C.I.: Circuito Integrado; L: Lenguaje; WS: estaciones de trabajo; PC: computadores personales Tecnologa + Arquitectura Tecnologa 70s: 25% - 30% en mainframes y minicomputadores
Final de los 70: 35% Microprocesador Influencia de la Tecnologa (III) Generaciones de Computadores 25 Mejora relativa de Prestaciones en Microprocesadores Tecnologa Tecnologa + Arquitectura Influencia de la Tecnologa (IV) 26 El impacto de la tecnologa se produce en muchos casos de forma discontinua: - Cuando los CI MOS pasaron a integrar entre 25k y 50k transistores, se pudo integrar un micro de 32 bits - A finales de los 80 se pudo integrar caches de primer nivel en los chips Influencia de la Tecnologa (V) Tecnologa DRAM. Densidad de integracin: 40%-60% anual (cuadruplica en 3-4 aos) Ciclo de reloj: se reduce un tercio cada 10 aos Ancho de banda: crece dos veces ms rpido que la latencia se reduce Tecnologa de Disco. Densidad de integracin: recientemente ms del 100% anual (cuadruplica en 2 aos), antes de 1990 creca un 30% anual (se dobla en tres aos). Tiempo de acceso: se reduce un tercio cada 10 aos Tecnologa de Red. Ancho de banda: 10 Mb/s a 100 Mb/s en 10 aos, 100 Mb/s a 1 Gb/s en 5 aos 27 256M-256G 64M-64G Tecnologia (micras) 0 0,05 0,1 0,15 0,2 0,25 0,3 1995 2000 2005 2010 2015 DRAM uP Tecnologia (micras) 0 0,05 0,1 0,15 0,2 0,25 0,3 1995 2000 2005 2010 2015 DRAM uP Capacidad DRAM (Mbits) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1,E+05 1,E+06 1995 2000 2005 2010 2015 Maxima Prod. Transistores/Chip (Millones) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1995 2000 2005 2010 2015 Trans/CI Frecuencia Mxima (MHz) 0,E+00 5,E+02 1,E+03 2,E+03 2,E+03 3,E+03 3,E+03 4,E+03 1995 2000 2005 2010 2015 Frec(Max) 0.25-0.05 0.20-0.03 11M-1,4B 750M-3G 256M-256G 64M - 64G 256M-256G 64M-64G Tecnologia (micras) 0 0,05 0,1 0,15 0,2 0,25 0,3 1995 2000 2005 2010 2015 DRAM uP Tecnologia (micras) 0 0,05 0,1 0,15 0,2 0,25 0,3 1995 2000 2005 2010 2015 DRAM uP Capacidad DRAM (Mbits) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1,E+05 1,E+06 1995 2000 2005 2010 2015 Maxima Prod. Transistores/Chip (Millones) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1995 2000 2005 2010 2015 Trans/CI Frecuencia Mxima (MHz) 0,E+00 5,E+02 1,E+03 2,E+03 2,E+03 3,E+03 3,E+03 4,E+03 1995 2000 2005 2010 2015 Frec(Max) Tecnologia (micras) 0 0,05 0,1 0,15 0,2 0,25 0,3 1995 2000 2005 2010 2015 DRAM uP Capacidad DRAM (Mbits) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1,E+05 1,E+06 1995 2000 2005 2010 2015 Maxima Prod. Transistores/Chip (Millones) 1,E+00 1,E+01 1,E+02 1,E+03 1,E+04 1995 2000 2005 2010 2015 Trans/CI Frecuencia Mxima (MHz) 0,E+00 5,E+02 1,E+03 2,E+03 2,E+03 3,E+03 3,E+03 4,E+03 1995 2000 2005 2010 2015 Frec(Max) 0.25-0.05 0.20-0.03 11M-1,4B 750M-3G 256M-256G 64M - 64G Influencia de la Tecnologa (VI) Algunas predicciones sobre la evolucin tecnolgica [SIA99] Arquitectura de Computadores I. Tema 1. Leccin 2 28 Influencia de la Tecnologa (VII) Reduccin del tamao caracterstico de la Tecnologa ! Los retardos de comunicacin se hacen mayores que los tiempos de conmutacin de los transistores: Las lneas se hacen ms lentas (mayor resistividad) y los transistores ms rpidos. Transistores ms lentos En un ciclo de reloj se puede acceder a menos rea del CI Arquitecturas sencillas y/o con comunicaciones locales: VLIW, CMPs (Multiprocesadores en un chip) Consecuencias en la reduccin del tiempo de ciclo y en el IPC: De crecimientos del 50% se puede pasar al 12%-17% Arquitectura de Computadores I. Tema 1. Leccin 2 29 Aumento de la densidad de transistores y el funcionamiento a frecuencias mayores ! Aumento de la Potencia disipada por los CI El consumo es esencial en: Plataformas porttiles y mviles Servidores de altas prestaciones a base de computadores interconectados (clusters): 8000 computadores y 2300 m 2 de Intel consume unos 2 Megawatios (25% del costo de mantenimiento). TIC: 8% de consumo en USA 10 15 20 25 30 21064 21164 21264 21364 W/cm 2 1.5 350 1000 100 21364 2.0 302 667 72 21264 3.3 299 300 50 21164 3.3 234 200 30 21064 V mm2 MHz W (pico) Micro 1.5 350 1000 100 21364 2.0 302 667 72 21264 3.3 299 300 50 21164 3.3 234 200 30 21064 V mm 2 MHz W (pico) Micro Ejemplo: En el Alpha, la potencia consumida casi ha llegado a 30 W/cm 2 : Tres veces la usual en un plato caliente Influencia de la Tecnologa (VIII) 30 Potencia = ACV 2 f+ tAVI short + VI leak Consumo dinmico al cargar y descargar la capacidad a la salida de una puerta Si se reduce V se reduce el consumo de potencia pero disminuye la frecuencia a la que funciona Debida a la corriente I short que fluye durante un instante t al conmutar una puerta Debida a la corriente I leakeage que es independiente del estado de la puerta y aumenta al reducirse la tensin umbral en los transistores f max = B (V V thres ) 2 /V I leak = H exp(-qV thres /KT) Al reducir V hay que reducir V thres y aumenta la importancia de I leak Potencia = ACV 2 f+ tAVI short + VI leak Consumo dinmico al cargar y descargar la capacidad a la salida de una puerta Si se reduce V se reduce el consumo de potencia pero disminuye la frecuencia a la que funciona Debida a la corriente I short que fluye durante un instante t al conmutar una puerta Debida a la corriente I leakeage que es independiente del estado de la puerta y aumenta al reducirse la tensin umbral en los transistores f max = B (V V thres ) 2 /V I leak = H exp(-qV thres /KT) Al reducir V hay que reducir V thres y aumenta la importancia de I leak La mejora de prestaciones no puede continuar mucho incrementando la potencia consumida:
Mejoras a nivel del proceso de fabricacin Mejoras a nivel de los circuitos
Mejoras a nivel de la arquitectura
Ajuste de la frecuencia de funcionamiento por parte del S.O., paralelismo, optimizacin del uso de la memoria y los buses, etc. Influencia de la Tecnologa (IX) 31 Paralelismo Segmentacin de los cauces (pipeline) Cada elemento se divide en una serie de etapas por las que van pasando los operandos, instrucciones, al ser procesados. El funcionamiento independiente de de cada etapa permite que se puedan ejecutar distintas operaciones, instrucciones,.. concurrentemente. Diseo de procesadores (paralelismo entre instrucciones o ILP): procesadores segmentados (procesadores superescalares y VLIW, procesadores vectoriales) Diseo de unidades funcionales: sumadores segmentados, multiplicadores segmentados,. Repeticin de elementos Utilizar varias unidades funcionales, procesadores, mdulos de memoria, etc. para distribuir el trabajo. Nivel de sistema: multiprocesadores, controladores de DMA, procesadores de I/O.. Nivel de procesador: varias unidades funcionales (procesadores superescalares, VLIW, Vectoriales) Localidad Acercar datos e instrucciones al lugar donde se necesitan para que el acceso a los mismos sea lo ms rpido posible (jerarqua de memoria) Mejoras en la Arquitectura 32 1 2 3 1 1 1 1 2 2 2 2 3 3 3 3 A C D B El diseo de la unidad se realiza de forma que cada una de las fases A, B, C, y D de la misma se puedan ejecutar independientemente Tiempo sin segmentacin de tres operaciones Tiempo con segmentacin de las tres operaciones Una vez acaba la primera operacin (tiempo de latencia de inicio) cada intervalo de tiempo igual al tiempo de etapa se termina otra operacin Unidad no segmentada Segmentacin de Cauce 33 Cray 1: Mltiples Unidades Funcionales (ejecucin paralela de operaciones distintas) Tarjeta SMP SHV de Intel Varios Procesadores (mejora capacidad de cmputo) Varias ranuras PCI (mejorar I/O)
Canales/Procesadores I/O permiten concurrencia entre operaciones de E/S y cmputo Repeticin de Elementos 34 Jerarqua de Memoria: reducir el tiempo de acceso a coste razonable Alpha 21164 Caches On-chip Registros internos Localidad 35
1. Estrategias para mejorar las prestaciones de los computadores
2. Clasificacin de las arquitecturas 1. Segn los flujos de instrucciones y datos (Flynn) 2. Segn el tipo y el nivel de paralelismo (Sima)
Contenidos 36 Como toda clasificacin, una clasificacin (o taxonoma) de arquitecturas persigue dividir el conjunto de los computadores en una serie de clases de forma que, si se sabe la clase a la que pertenece un computador, automticamente se conocen una serie de caractersticas interesantes del mismo. Flujos de Instrucciones Flujos de Datos Uno (Single) Varios (Multiple) Uno (Single) SISD MISD Varios (Multiple) SIMD MIMD Taxonoma de Flynn (66) Clasificaciones de Arquitecturas 37 CPU UP MM Descripcin Estructural Descripcin Funcional Corresponde a los computadores uni-procesador for i:=1 to 4 do begin C[i]:=A[i]+B[i]; F[i]:=D[i]-E[i]; G[i]:=K[i]*H[i]; end; FD FI SISD (Un flujo de instrucciones y un flujo de datos) 38 Descripcin Estructural Descripcin Funcional for all EPi(i:=1 to 4) do begin C[i]:=A[i]+B[i]; F[i]:=D[i]-E[i]; G[i]:=K[i]*H[i]; end; ADDV C,A,B SUBV F,D,E MULV G,K,H Procesadores Vectoriales Procesadores Matriciales Aprovechan paralelismo de datos CPU Descripcin Estructural SIMD (Un flujo de instrucciones y varios flujos de datos) 39 C[1]=A[1]+B[1] F[1]=D[1]-E[1] G[1]=K[1]*H[1] C[2]=A[2]+B[2] F[2]=D[2]-E[2] G[2]=K[2]*H[2] C[3]=A[3]+B[3] F[3]=D[3]-E[3] G[3]=K[3]*H[3] C[4]=A[4]+B[4] F[4]=D[4]-E[4] G[4]=K[4]*H[4] EP1 EP2 EP3 EP4 C = A+B F = D E G = K*H UC Procesador Matricial Procesador Vectorial ADDV SUBV MULTV A[i] B[i] C[i] D[i] E[i] F[i] K[i] H[i] G[i] Sumador Restador Multiplicador Flujo de Instrucciones Flujos de Datos Flujo de Instrucciones Flujos de Datos Ejemplo de Ejecucin SIMD 40 Data CPUs Descripcin Funcional Descripcin Estructural Corresponde a los Multiprocesadores: Puede aprovechar paralelismo funcional for i:=1 to 4 do begin C[i]:=A[i]+B[i]; end;
Proc 1 for i:=1 to 4 do begin F[i]:=D[i]-E[i]; end;
Proc 2 for i:=1 to 4 do begin G[i]:=K[i]*H[i]; end;
Proc 3 MIMD (Varios flujos de instrucciones y de datos) 41 No existen computadores que funcionen segn este modelo Se puede implementar un modelo MISD sobre un modelo MIMD con las correspondientes primitivas de sincronizacin CPUs MISD (Varios flujos de instrucciones y uno de datos) 42 Tipos de Paralelismo Paralelismo de Datos La misma funcin, instruccin, etc. se ejecuta en paralelo pero en cada una de esas ejecuciones se aplica sobre un conjunto de datos distinto
Paralelismo Funcional Varias funciones, tareas, instrucciones, etc. (iguales o distintas) se ejecutan en paralelo Niveles de Paralelismo Funcional (segn el tipo de entidades funcionales que se ejecutan en paralelo): 1. Nivel de Instruccin (ILP) (Granularidad Fina) 2. Nivel de Bucle o Hebra (Thread) (Granularidad Fina-Media) 3. Nivel de Procedimiento (Procesos) (Granularidad Media) 4. Nivel de Programa (Granularidad Gruesa) Arquitectura S.O. y Usuario 43 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB Inst. 1 Inst. 2 Inst. 1 Inst. 2 Inst. 3 Inst. 4 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB Inst. 1 Inst. 2 Inst. 3 Inst. 4 5T Procesador no segmentado 1/(5T) Procesador Segmentado 1/(T) Procesador Superescalar o WLIW 2/(T) Paralelismo entre Instrucciones (ILP) (I) 44 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB Inst. 1 Inst. 2 Inst. 1 Inst. 2 Inst. 3 Inst. 4 5T Procesador no segmentado 1/(5T) Procesador Segmentado 1/(T) IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB Inst. 1 Inst. 2 Inst. 3 Inst. 4 Procesador Supersegmentado 1/(T/2)=2/T Paralelismo entre Instrucciones (ILP) (II) 45 E/S IF ID OF Datos Escalares Datos Vectoriales Flujo Instr. Control Reg. Escalares Cauces Esc. Reg. Vectoriales Cauces Vector. Unidad Escalar Unidad Vectorial Procesador Vectorial Memoria Principal Unidad LOAD/STORE E/S IF ID OF Datos Escalares Datos Vectoriales Flujo Instr. Control Reg. Escalares Cauces Esc. Reg. Vectoriales Cauces Vector. Unidad Escalar Unidad Vectorial Procesador Vectorial Memoria Principal Unidad LOAD/STORE a2 a1 a3 a4 b2 b1 b3 b4 a1+b1 a2+b2 a3 b3 a4 b4 a5 b5 a6 b6 a7 b7 a8 b8 Registros Vectoriales Cauce Vectorial Registro Vectorial a2 a1 a3 a4 b2 b1 b3 b4 a1+b1 a2+b2 a3 b3 a4 b4 a5 b5 a6 b6 a7 b7 a8 b8 Registros Vectoriales Cauce Vectorial Registro Vectorial El procesamiento de instrucciones est segmentado y se utilizan mltiples unidades funcionales Paralelismo de datos: cada instruccin vectorial codifica una operacin sobre todos los componentes del vector Unidades funcionales segmentadas Procesadores Vectoriales: ILP y Paralelismo de Datos 46 Taxonoma de Flynn Paralelismo Funcional Paralelismo de Datos SISD Proc. Segmentados Proc. Superescalares Proc. VLIW SIMD Proc. Vectoriales Proc. Matriciales Proc. Sistlicos MIMD Memoria Compartida: Acceso Uniforme (SMPs), Acceso no Uniforme o Distribuida (NUMA, COMA) Paso de Mensajes (NORMA): Multicomputadores, Clusters Tipos de Arquitecturas segn Paralelismo y Taxonoma de Flynn 47 Para ampliar Pginas Web: bwrc.eecs.berkeley.edu/CIC/summary www.geek.com/procspec/procspec.htm www.research.digital.com/wrl/projects/Itsy/index.html Artculos de Revistas: Hennessy, J.: The Future of Systems Research. IEEE Computer, pp.27-33. Agosto, 1999. Hennessy, J.; Jouppi, P.: Computer Technology and Architecture: An Evolving Interaction. IEEE Computer, pp.18-29. Septiembre, 1991. Vajapeyan, S.; Valero, M.: Early 21st Century Processors. IEEE Computer, pp. 47-50, April 2001.