descargar
Transcripción
descargar
Repaso de Arquitectura y Organización Criterios de clasificación v.2014 William Stallings, Organización y Arquitectura de Computadores, 8ª ed, 2010 Andrew S. Tanenbaum, Organización de Computadoras, 4ª ed, 2000 John Hennessy – David Patterson Arquitectura de Computadores – Un enfoque cuantitativo (1ª ed, 1990, cap 1 a 5) (4ª ed, 2007, cap 1 & ap. B) http://electro.fisica.unlp.edu.ar/arq/ Ingeniería en Computación E309 3º CUAT Conceptos de Arquitectura de Computadoras (INFO) 5º CUAT Introducción al Diseño Lógico 6º CUAT Taller de Arquitectura 7º CUAT Circuitos Digitales y Microcontroladores Ingeniería Electrónica E226 7º CUAT Introducción a los Sistemas Lógicos y Digitales 8º CUAT Circuitos Digitales y Microprocesadores 9º CUAT Arquitectura de Computadores I Arquitectura de Computadoras Contenido de las clases intoductorias Introducción, repaso de Arquitectura I, bibliografía. Definición de Arquitectura de Computadoras. Prehistoria e historia de las computadoras. Clasificación según el repertorio de instrucciones. Clasificación según la organización. Clasificación según la tecnología. Clasificación según la aplicación. Objetivos de la materia. 4 Arquitectura de Computadoras Introducción COMPUTADORA Dispositivo electrónico, digital y programable, utilizado para el procesamiento y/o manipulación de información. Representación digital de la información. Sistemas numéricos posicionales en base 2. Operaciones aritméticas implementadas con lógica. Otros tipos de información. El programa almacenado. Arquitectura de von Neumann. Tipos de instrucciones. Codificación ISA. Organización mínima. Datapath (REG y ALU) + UC. Buses. Programas y algoritmos. Re-programabilidad vs. sistemas dedicados. Hardware vs. software. El ciclo de instrucción. Interrupciones. Sistema de entrada/salida. La jerarquía de memoria. Localidad. MMU. Cache. Programación de alto nivel y sistemas operativos. 5 Arquitectura de Computadoras Bibliografía básica Arq I Introducción Números Sistemas digitales Von Neumann y buses Repertorio de instrucciones Memoria Entrada/salida Sistemas operativos Arquitectura II Stallings 1-2 A 8 3 9-10 4-5 6 7 11-16 Tanenbaum 1 A-B 3 2-3 4-5 2 2 6 8 Null 1 2 3 4 5 6 7 8 9-10 6 Arquitectura de Computadoras Arquitectura II Diferentes formas de paralelismo PRIMERA PARTE: PARALELISMO DENTRO DEL PROCESADOR Arquitectura RISC, segmentación y sistema de caché Procesadores superescalares y VLIW DSP y GPU SEGUNDA PARTE: PARALELISMO ENTRE PROCESADORES Procesadores SIMD y Vectoriales Arquitecturas MIMD Clusters 7 Arquitectura de Computadoras Definición Diseño de computadoras LÓGICA (Software?) ISA (INSTRUCTION SET ARCHITECTURE): Diseño a nivel del lenguaje de máquina, visible para el programador o compilador. Repertorio de instrucciones, registros, tipo y tamaño de operandos, modos de direccionamiento. IMPLEMENTACIÓN (Hardware?) ORGANIZACIÓN: Estructura del bus, diseño CPU, sistema de memoria, cache, ciclo de instrucción. TECNOLOGÍA: Diseño lógico, integración, encapsulado, potencia. “La arquitectura de computadoras, como otras arquitecturas, es el arte de determinar las necesidades del usuario de una estructura y luego diseñarla para satisfacer dichas necesidades tan eficientemente como sea posible dentro de ciertas limitaciones económicas y tecnológicas.” Frederick P. Brooks, IBM, 1962. 8 Ejemplos Aplicación de procesamiento de señales: La ARQUITECTURA, dispone de MAC, MUL o nada? (ISA); cuántos ciclos demora? (ORG); cuál es la frecuencia de trabajo/consumo de potencia? (TEC). Procesadores Intel Dos procesadores con idéntica ISA pero diferente ORG: Celeron y Celeron D. Dos procesadores con idénticas ISA y ORG, pero diferente tecnología: Celeron 1GHz y Celeron 2.8GHz. Dos procesadores con diferentes ISA, ORG y Tecnología: Celeron e Itanium. ERROR COMÚN Suponer que dos procesadores con idéntica ISA se pueden comparar por su reloj OTROS EJEMPLOS Computadora óptica (cambiando Tec puedo mantener la ISA y ORG) Computadora analógica (cambia ORG) 9 Computadora vectorial (cambia ISA y ORG) Arquitectura de Computadoras Prehistoria: arq de 8/16 bits 4004 (4-bit 640B) 1971 8008 (8-bit 16KB) 1972 8080 (8-bit 64KB) 1972 8086 (16-bit 16MB) 1978 8088 (8/16-bit) 1980 6800 (8-bit 64KB) 1973 68000 (16/32-bit 16MB) 1979 68008 (8/16-bit) 1982 IBM PC Apple II/Mac Personal Computer 10 Arquitectura de Computadoras Historia: arq de 32 bits Después de 30 años de existencia de las computadoras y 10 de los microprocesadores [Null, Cap 1], se produce un renacimiento de la Arquitectura en la década del 80, principalmente por dos motivos: LENGUAJES DE ALTO NIVEL: Desaparece la programación en assembler, por lo tanto no es necesaria la compatibilidad de código objeto. SISTEMAS OPERATIVOS: Se reducen el costo y el riesgo de lanzar al mercado una nueva arquitectura. Nacimiento de las nuevas Arquitecturas RISC: − ILP (pipeline + superescalares) − CACHE Crecimiento sostenido durante 20 años (ley de Moore) 11 Arquitectura de Computadoras Historia: arq de 32 bits Después de 30 años de existencia de las computadoras y 10 de los microprocesadores [Null, Cap 1], se produce un renacimiento de la Arquitectura en la década del 80, principalmente por dos motivos: LENGUAJES DE ALTO NIVEL: Desaparece la programación en assembler, por lo tanto no es necesaria la compatibilidad de código objeto. SISTEMAS OPERATIVOS: Se reducen el costo y el riesgo de lanzar al mercado una nueva arquitectura. Nacimiento de las nuevas Arquitecturas RISC: − ILP (pipeline + superescalares) − CACHE Crecimiento sostenido durante 20 años (ley de Moore) 12 Número de transistores por integrado. Duplica cada dos años, crecimiento exponencial sostenido. 13 Capacidad de los discos rígidos para PC (en GB) Crecimiento exponencial sostenido. 14 Performance relativa a VAX-11 (1978) Crecimiento exponencial sostenido (19862002). Luego desaceleración (a pesar de que tanto la densidad de transistores como el resto de las tecnologías acompañaron). El aumento del número de transistores no repercute directamente en la performance. 15 Depende de los avances en ARQUITECTURA, tanto en hardware como en software. Arquitectura de Computadoras Clasificaciones Según la arquitectura del repertorio de instrucciones (ISA) Según la organización Según la tecnología Según la aplicación 16 Arquitectura de Computadoras Clasificación a nivel lenguaje de máquina (ISA) 1. Clase: Número y almacenamiento de operandos. Además de memoria, dónde? Utilización de registros. 2. Direccionamiento de memoria. Byte ordering (endianness). Alineación. 3. Modos de direccionamiento. Cantidad. Puede cualquiera de los operandos estar en memoria? 4. Tipo y tamaño de los operandos. 5. Tipos y variedad de operaciones. 6. Control de flujo. ORTOGONALIDAD Todos los modos de direccionamiento y todos los tipos de datos disponibles para todas las instrucciones. Gran ventaja para los compiladores. 7. Codificación del repertorio de instrucciones. 17 8. Interrupciones y modos privilegiados (user, supervisor,protected). Clasificación a nivel lenguaje de máquina Almacenamiento de operandos Add A,B,C TAXONOMÍA DE PATTERSON: PILA, ACC, R-M, R-R, M-M 18 Clasificación a nivel lenguaje de máquina Número de operandos 19 20 EJEMPLO: Velocidad vs. Densidad de código Analizaremos el impacto de dos problemas diferentes: M3 = M1 + M2 Bn = (An + An1)/2 Suma de dos enteros Filtro en punto fijo Sobre tres arquitecturas diferentes: MM Arquitectura Memoria-Memoria RM Arquitectura Registro-Memoria RR Arquitectura Registro-Registro 21 M3 = M1 + M2 MM ADD M1,M2,M3 9c FDCO1TR1C02TR2ECO3TR3 = 9c RM LOAD R1,M1 ADD R1,M2 STORE R1,M3 (4c) (5c) (4c) LOAD: FDCOTR = 4c 13c ADD: FDCOTRE = 5c RR LOAD R1,M1 LOAD R2,M2 ADD R1,R2,R3 STORE R3,M3 (4c) (4c) (3c) (4c) 15c LOAD: FDCOTR = 4c ADD: FDE = 3c 22 M3 = M1 + M2 Bn = (An + An1)/2 MM ADD M1,M2,M3 9c MM ADD An,An1,Bn DIV Bn,#2,Bn 18c FDCO1TR1C02TR2ECO3TR3 = 9c RM LOAD R1,M1 ADD R1,M2 STORE R1,M3 (4c) (5c) (4c) 13c LOAD: FDCOTR = 4c RM LOAD R1,An1 ADD R1,An DIV R1,#2 STORE R1,Bn (4c) (5c) (5c) (4c) 18c ADD: FDCOTRE = 5c RR LOAD R1,M1 LOAD R2,M2 ADD R1,R2,R3 STORE R3,M3 (4c) (4c) (3c) (4c) LOAD: FDCOTR = 4c ADD: FDE = 3c 15c RR LOAD R1,An ADD R1,R2,R3 DIV R3,#2,R3 STORE R3,Bn ADD R1,#0,R2 (4c) (3c) (3c) (4c) (3c) 17c 23 M3 = M1 + M2 Bn = (An + An1)/2 MM 1 ADD M1,M2,M3 9c MM ADD An,An1,Bn DIV Bn,#2,Bn 18c 1 FDCO1TR1C02TR2ECO3TR3 = 9c RM 3 LOAD R1,M1 ADD R1,M2 STORE R1,M3 (4c) (5c) (4c) 13c LOAD: FDCOTR = 4c RM LOAD R1,An1 ADD R1,An DIV R1,#2 STORE R1,Bn (4c) (5c) (5c) (4c) 18c 2 ADD: FDCOTRE = 5c RR 4 LOAD R1,M1 LOAD R2,M2 ADD R1,R2,R3 STORE R3,M3 (4c) (4c) (3c) (4c) LOAD: FDCOTR = 4c ADD: FDE = 3c 15c RR LOAD R1,An ADD R1,R2,R3 DIV R3,#2,R3 STORE R3,Bn ADD R1,#0,R2 (4c) (3c) (3c) (4c) (3c) 17c 2.5 24 Clasificación a nivel lenguaje de máquina Modos de direccionamiento 25 Clasificación a nivel lenguaje de máquina Repertorio de instrucciones Todas las arquitecturas disponen de un repertorio compuesto al menos por las tres primeras categorías. 26 Clasificación a nivel lenguaje de máquina Tipo y tamaño de operandos Arquitecturas con operandos de 8, 16, 32 o 64 bits. Operandos enteros y/o punto flotante (simple y doble precisión). RISC vs CISC (largo fijo vs. variable) CODIFICACIÓN DEL SET DE INSTRUCCIONES Tamaño de los programas Implementación del procesador (ORG+TECH) 27 Arquitectura de Computadoras Clasificación según la organización Estructura interna de la CPU La unidad de control (microprogramada vs. cableada) El camino de los datos (Datapath = Registros + ALU) El ciclo de instrucción, segmentación Escalaridad Cache de datos e instrucciones CPI, latencia Productividad (throughput) … PARALELISMO ... 28 Clasificación según la organización CU & Datapath 29 Clasificación según la organización Registros Para llevar a cabo el ciclo de instrucción (CAPTACIONDECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita registros de almacenamiento temporario. Registros visibles a) Usos generales: pueden utilizarse en cualquier operación. b) Uso específico: para datos o direcciones (ej. puntero de segmento). Registros de control PC (puntero), IR (instrucción), MAR (dirección) y MBR (datos) Registros de estado PSW (program status word) 30 Clasificación según la organización Registros Para llevar a cabo el ciclo de instrucción (CAPTACIONDECODIFICACION-EJECUCION-INTERRUPCION) la CPU necesita registros de almacenamiento temporario. Registros visibles a) Usos generales: pueden utilizarse en cualquier operación. b) Uso específico: para datos o direcciones (ej. puntero de segmento). Registros de control PC (puntero), IR (instrucción), MAR (dirección) y MBR (datos) Registros de estado PSW (program status word) 31 Clasificación según la organización El ciclo de instrucción MEMORIA CAPTACION DE CAPTACION DE LA INSTRUCCION LA INSTRUCCION F D UC DECODIFICACION DECODIFICACION ALU CALCULO DIR CALCULO DIR DEL OPERANDO DEL OPERANDO CO MEMORIA CAPTACION DEL CAPTACION DEL OPERANDO OPERANDO FO ALU EJECUCION DE EJECUCION DE LA INSTRUCCION LA INSTRUCCION E 32 Arquitectura de Computadoras Clasificación según la TECNOLOGÍA Tecnologías que condicionan el diseño de la ISA: Circuitos integrados (densidad de transistores 55%/año) DRAM semiconductora (densidad celdas 40-60%/año) Discos magnéticos (capacidad 100%/año) Networking (ancho de banda 100%/año) La ISA debe sobrevivir a lo largo de ciclos de 5 años (2 de diseño + 3-2 de producción). 33 Tecnología de integración Tecnología del proceso CMOS (½ celda DRAM, expected average halfpitch of a memory cell). 180 nm 180 nm 130 nm 130 nm 90 nm 90 nm 65 nm 65 nm 45 nm 45 nm 32 nm 32 nm 22 nm 22 nm 14 nm 14 nm 10 nm 10 nm 2000 2000 2001 2001 2003 2003 2006 2006 2008 2008 2010 2010 2012 2012 2014? 2014? 2015? 2015? PII PII PIII PIII P4 y PPC P4 y PPC Core2, PS3 Core2, PS3 Xeon, PS3slim, Power7 Xeon, PS3slim, Power7 Core i3 i5, AMD FX Core i3 i5, AMD FX Core i7 Core i7 LIMITE? gate 5 nm LIMITE? gate 5 nm →→ tunneling tunneling nanoelectrónica nanoelectrónica Un elemento más pequeño implica mayor cantidad de transistores disponibles, conmutación más rápida, menor energía y menor temperatura. 34 Tecnología de integración (cont) Límites al tamaño del intregrado: Potencia (max ~70W) Yield del waffer (cuántos fallan) Encapsulado (número de patas) Condiciona la cantidad disponible de transistores. Compromiso entre: CU (cantidad de instrucciones y modos de direccionamiento) Registros (cantidad y tamaño) ALU (funcionalidad, fp?) CACHE 35 36 37 Arquitectura de Computadoras Clasificación según la aplicación Por qué existen arquitecturas tan diferentes? Cuál es mejor? DISCUSIÓN: Equivalente con la industria automotriz. Diseño de alto rendimiento SERVERS ($5K) [cómputo masivo, gráficos] Availability, reliability, scalability, throughput. Diseño de bajo costo EMBEDDED SYSTEMS ($50) [consolas, switches] Minimización de memoria y potencia. Diseño costo/rendimiento DESKTOP ($500) [debe incluir sw!] Marketing vs. rendimiento, información incompleta o vaga, medidas inapropiadas, recurrir a la popularidad. 38 Móvil: ARM – Celulares y reproductores multimedia – Consolas de mano – Tablets y PDA Desktop: Intel/AMD – PC, laptop. High Performance: IBM POWER – Servidores para cálculo masivo – Consolas de juego de 7ª generación 39 Consolas de juego Año Bits 4ta Generación 1990 16b 5ta Generación 1995 32b 6ta Generación 2000 64b 7ma Generación 2005 128b 8va Generación 2013 64b SEGA Sega Génesis Motorola 68000 Sega Saturn Sega Dreamcast Hitachi SupeH RISC Hitachi SuperH RISC NINTENDO Super Nintendo WDC W65C816 Nintendo 64 MIPS R4200 Nintendo Gamecube POWER Gekko Nintendo Wii POWER Broadway Nintendo Wii U POWER7 PlayStation MIPS 3000 PlayStation II Emotion Eng. (MIPS) PlayStation III POWER Cell PlayStation 4 AMD Jaguar x86-64 AMD Radeon Xbox Pentium III Xbox 360 POWER Xenon Xbox One AMD Jaguar x86-64 AMD Radeon DVD Ethernet PIII/PIV/AMD K7 Bluray WiFi Core/ADM64 Bluray/Internet Gigabit Ethernet Athlon SONY MICROSOFT Soporte Cartridge Conectividad PC Equiv IBM POWER Broadway 90nm Xenon 65nm Cell 45nm CD PII/PowerPC 730MHz Gekko ?? 3.2GHz 3 PPE simétrico 3.2GHz 1 PPE + 7 SPE 40 Arquitectura de Computadoras RESÚMEN SW Arquitectura de computadoras HW DISEÑO DEL REPERTORIO DE INSTRUCCIONES (ISA) Implementación ORGANIZACION TECNOLOGIA 41 PRÁCTICA DE REPASO Arquitecturas ARM CLASIFICAR, SEGÚN LOS CRITERIOS EXPUESTOS, LOS PROCESADORES ARM7, ARM7TDMI, ARM9, ARM11 ARM Cortex-A7/8/9/15, ARM Cortex-M0/1/3/4, ARM Cortex-R Resumen de los repertorios de instrucciones de los diferentes Cortex-M y datapath del ARM7 (Wikipedia) 42 EJEMPLO: “Smart Phones” ARM Cortex Quad-core 1.2 GHz / Dual-core 1.7 GHz 45 Quad-core 1.2 GHz / Dual-core 1.7 GHz Moto G $200 Chipset Qualcomm MSM8226 Snapdragon 400 CPU Quad-core 1.2 GHz Cortex-A7 GPU Adreno 305 (450 MHz) 28 nm Moto X $300 Chipset Qualcomm MSM8960Pro Snapdragon S4 Pro CPU Dual-core 1.7 GHz Krait 300 (Cortex-A15) GPU Adreno 320 (400 MHz) 28 nm Nota El procesador Cortex-A15 ocupa cuatro veces el area y presenta el doble de performance que el Cortex-A7. http://www.eetimes.com/author.asp?section_id=36&doc_id=1318968 46 Quad-core 1.2 GHz / Dual-core 1.7 GHz 47 Quad-core 1.2 GHz / Dual-core 1.7 GHz 48 OTRO EJEMPLO Apple A5X SoC 2 ARM Cortex-A9 cores and 4 GPU cores nVidia Tegra 3 SoC 4 ARM Cortex-A9 cores and 12 GPU cores Apple dice que el suyo es “More powerful” http://geeknizer.com/ipad-a5x-vs-tegra-3/ 49 AGOSTO 2014 http://m.v3.co.uk/v3-uk/news/2359539/ibm-unveils-brain-inspired-truenorth-chip-with-supercomputer-power 50