Download Procesadores - Departamento de Arquitectura y Tecnología de los
Document related concepts
no text concepts found
Transcript
Tendencias en Ingeniería de Computadores Procesadores para Dispositivos Móviles Jesús González Peñalver Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 2 ¿Qué procesadores son los más vendidos? 7000 Millones de unidades vendidas × 24.8 6000 5000 × 13.2 4000 3000 × 12.7 × 10.7 × 10 2000 1000 0 2006 2007 PCs y Servidores 2008 2009 2010 Chips con procesadores ARM Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 3 ¿En qué mercados se usan los procesadores de ARM? Millones de unidades (2010) 305 976 3782 1037 Dispositivos móviles Procesadores empotrados Empresa (Fotocopiadoras, etc.) Hogar Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 4 Uso de los procesadores ARM en los teléfonos móviles 0,05 El 95% de los teléfonos móviles del mundo contienen algún chip basado en un procesador de ARM ARM Resto 0,95 Número medio de chips basados en un procesador ARM que son usados en cada teléfono móvil 3 2,5 2 1,5 1 0,5 0 2,5 1,5 1,6 1,9 2 2006 2007 2008 2009 2010 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 5 ¿Por qué se se venden tantos procesadores ARM? El equilibrio PPA de los procesadores ARM ha sido la clave de su éxito en los dispositivos móviles. Actualmente ARM está empezando a abordar otros mercados: electrodomésticos, infotaiment, servidores, etc. Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 6 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 7 Acorn Computers Fabricaba computadores domésticos muy populares en el Reino Unido Acorn BBC Micro (1981) Acorn Archimedes (1987) En 1983 decidieron diseñar un nuevo procesador, el 1.4 veces más paralelo ARM (Acorn RISC Machine), para competir con los PC, 3.2 veces más eficiente aunque sin mucho éxito Objetivo: Un procesador con prestaciones más que aceptables en PCs de bajo coste Acorn Electron (1983) ARM2 (8MHz) 0.5 MIPS / MHz 30 000 transistores 133.3 MIPS / Mtrans IBM Personal System 2 (1987) 9.2 veces más transistores Intel 386DX (33MHz) 0.35 MIPS/MHz 275 000 transistores 41.45 MIPS / Mtrans Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 8 ARM LTD En 1990 Apple buscaba un procesador RISC de altas prestaciones, bajo consumo y bajo coste para un nuevo tipo de dispositivo, el primer PDA Apple y el equipo de desarrollo de los ARM de Acorn se unieron para fundar Advanced RISC Machines LTD Nuevo modelo de negocio: Vender los derechos para fabricar sus procesadores Apple Newton (1993) DEC StrongARM (1996) ARM610 (ARMv3) 20 Mhz 0.85 MIPS/MHz 35000 transistores SA-110 (ARMv4) 233MHz 233 DMIPS 1 DMIPS/MHz 2.5 Mtrans 93.2 MIPS/M trans 1 Watt 233 MIPS/Watt Intel Pentium 200MHz (1996) 333 MIPS 3.3 Mtrans 6.5 Watt 1.67 MIPS/MHz 101 MIPS / M trans 51.23 MIPS / Watt Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles < × 4.5 × 1.67 9 Evolución de los procesadores para PCs Intel 80286 (1982) 134×103 transistores 12 Mhz, 68,7 mm2 Intel 80386 (1985) 275×103 transistores 33 Mhz, 104 mm2 Intel Pentium (1993) 3.1×106 transistores 66 Mhz, 264 mm2 Intel Pentium II (1997) 7.5×106 transistores 300 Mhz, 209 mm2 Intel Pentium III (1999) 28×106 transistores 733 Mhz, 140 mm2 Intel Pentium 4 (2000) 42×106 transistores 1.5 Ghz, 224 mm2 Notable mejora de las prestaciones, sin cuidar demasiado el consumo o el área del procesador Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 10 ARM ha ido mejorando en otra dirección 800 veces más eficiente energéticamente 500 veces más pequeño Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 11 Aunque tampoco ha descuidado la mejora de prestaciones Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 12 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Clásicos Cortex-M Cortex-R Cortex-A Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 15 Familias de procesadores de ARM Procesadores más que probados y muy baratos para aplicaciones muy sensibles al coste Tienen una buena eficiencia energética para sistemas empotrados Acortan el time-to-market. Mucha documentación, herramientas, … Se siguen vendiendo miles de millones cada año Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 16 ARM7 Lanzamiento: 1994 Objetivos: Teléfonos móviles, agendas, impresoras, cámaras, PDAs, … Tecnología: 800 nanómetros, 33 MHz ARM7TDMI(-S) Arquitectura: ARMv4T Características: Pipeline de 3 etapas, modo de ejecución Thumb, soporte para Depuración, Multiplicador hardware, ICE. Hay versiones Sintetizables Prestaciones: 0.9 DMIPS / Mhz Consumo: 0.8 mW / Mhz ARM7EJ-S Arquitectura: ARMv5TEJ Características: Pipeline de 5 etapas, añade Enhanced DSP y modo de ejecución Jazelle Prestaciones: 1 DMIPS / MHz Consumo: 1.5 mW / Mhz Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 17 Comparativas de los ARM7 con procesadores de Intel de la época ARM7TDMI (1994, 800 nm, Orientado a sistemas empotrados) Intel 486DX4 75 (1994, 600 nm, orientado a PC/Servidores) Intel 486SL (1993, 800 nm, versión de bajo consumo del 486DX para portátiles) Intel Pentium 100 (1994, 600 nm, orientado a PC/Servidores) 200 150 100 50 0 Prestaciones (MIPS) 12% más MIPS que el 486SL consumiendo 4 veces menos 120 100 80 60 40 20 0 5 4 3 2 1 Frecuencia (MHz) 2 1,5 1 0,5 0 Paralelismo (MIPS/MHz) 0 Consumo (W) 140 120 100 80 60 40 20 0 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (MIPS/W) 18 Evolución del proceso de fabricación del ARM7TDMI Área (mm2) 1,2 1 0,8 0,6 0,4 0,2 0 250 nm 180 nm 130 nm 65 nm 1 Prestaciones (MIPS/MHz) 0,8 0,6 0,4 0,2 0 250 nm 180 nm 130 nm 65 nm 400 Frecuencia (MHz) 300 200 100 0 250 nm 180 nm 130 nm 65 nm Prestaciones (MIPS) 350 300 250 200 150 100 50 0 250 nm 180 nm 130 nm 65 nm Consumo (mW) 60 50 40 30 20 10 0 250 nm 180 nm 130 nm 65 nm 40 Eficiencia (MIPS/mW) 30 20 10 0 250 nm 180 nm 130 nm 65 nm Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 19 Aplicaciones del ARM7 Nintendo Gameboy Advance (2001) Consola de videojuegos Apple iPod (2001) Reproductor multimedia Nokia 3300 (2003) Teléfono móvil Kodak EasyShare LS753 (2004) Cámara Ramos RM970 PMP (2007) Reproductor multimedia Allerta inPulse (2011) Smartwatch Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 20 ARM9 Lanzamiento: 1997 Objetivos: Teléfonos móviles, buscas, smartphones, decodificadores de TV, ... ARM946E-S (1999) Arquitectura: ARMv5TE Tecnología: 250 nanómetros, 160 MHz Características: Pipeline de 5 etapas, arquitectura Harvard, MPU, TCMs, Thumb, soporte para Depuración, Enhanced DSP, Sintetizable Prestaciones: 1.1 DMIPS / Mhz Consumo: 2.5 mW / Mhz ARM926EJ-S (2000) Arquitectura: ARMv5TEJ Tecnología: 180 nanómetros, 200 MHz Características: Cambia la MPU por MMU, mejora el repertorio Enhanced DSP y añade el modo de ejecución Jazelle Prestaciones: 1.1 DMIPS / MHz Consumo: 1.5 mW / Mhz Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 21 Comparativas de los ARM9 con procesadores de Intel de la época ARM946E-S (1999, 250 nm) ARM926EJ-S (2000, 180 nm) Intel Pentium 4 (2000, 180 nm) Intel Mobile Pentium III con Speed Step Technology (2000, 180 nm) 3000 2500 2000 1500 1000 500 0 Prestaciones (MIPS) Aunque no son tan potentes como los de Intel, su eficiencia energética es notablemente superior 2000 40 1500 30 1000 20 500 10 0 Frecuencia (MHz) 3 2,5 2 1,5 1 0,5 0 0 Consumo (W) 800 600 400 200 Paralelismo (MIPS/MHz) 0 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (MIPS/W) 22 Evolución del proceso de fabricación del ARM926EJ-S ARM926EJ-S (Diseño optimizado para maximizar las prestaciones) ARM926EJ-S (Diseño optimizado para minimizar el área) 7 6 5 4 3 2 1 0 180 nm Área (mm2) 500 600 300 400 200 200 130 nm 90 nm 130 nm 90 nm 0 180 nm 130 nm 90 nm Prestaciones (MIPS) 600 500 400 300 200 100 0 180 nm Consumo (mW) 800 400 100 Prestaciones (MIPS/MHz) 1,2 1 0,8 0,6 0,4 0,2 0 180 nm Frecuencia (MHz) 0 180 nm 2,5 130 nm 90 nm Eficiencia (MIPS/mW) 2 1,5 1 0,5 130 nm 90 nm 0 180 nm Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 130 nm 90 nm 23 Aplicaciones del ARM9 Nintendo DS (2004) Consola de videojuegos HTC TyTN (2006) Teléfono móvil 3G Canon EOS 5D Mark II (2008) Cámara LG Arena (2009) Smartphone Archos 7 (2010) Tablet Hero H2000 (2011) Smartphone chino Dual-sim Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 24 ARM11 Lanzamiento: 2002 Objetivos: Cámaras digitales, smartphones, e-book readers, media centers, ... ARM1136J(F)-S (2002) Arquitectura: ARMv6 Tecnología: 130 nanómetros, 533 Mhz Características: Pipeline de 8 etapas, MMU, Extensiones SIMD para multimedia, TCMs, Thumb, Jazelle, Enhanced DSP, Sintetizable, Opción de VFP Prestaciones: 1.13 DMIPS / Mhz Consumo: 0.38 mW / Mhz ARM1176JZ(F)-S (2004) Arquitectura: ARMv6KZ Tecnología: 130 nanómetros, 550 Mhz Características: Añade la tecnología de seguridad TrustZone y soporte básico para Adobe Flash Prestaciones: 1.25 DMIPS / MHz Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 25 Comparativa entre ARM11 y ARM9 ARM926EJ-S (Diseño optimizado para maximizar las prestaciones) ARM926EJ-S (Diseño optimizado para minimizar el área) ARM1176ZF-S (Geometría TSMC 65LP) Hasta 2,4 veces más potente ARM1176ZF-S (Geometría TSMC 65GP) Hasta 5,5 veces más eficiente ARM1176ZF-S (Geometría TSMC 40G) 4 MHz mm2 6 2 0 180 130 90 65 40 1200 1000 800 600 400 200 0 180 Frecuencia 130 1500 65 90 nm 200 0 180 40 130 65 40 Prestaciones 15 MIPS/mW 500 0 180 130 90 90 65 40 65 40 nm 1000 MIPS MIPS/MHz 90 400 nm Prestaciones 130 Consumo 600 nm 1,3 1,25 1,2 1,15 1,1 1,05 1 180 800 mW Área 8 65 Eficiencia 10 40 nm Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 5 0 180 130 90 nm 26 Aplicaciones del ARM11 Apple iPhone 3G (2008) Smartphone Amazon Kindle 2 (2009) Lector de e-books Mobinova Elan (2009) Netbook iRobot aPad (2010) Clon chino del iPad Nintendo 3DS (2011) Consola de videojuegos Nokia X7 (2011) Smartphone Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 27 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Clásicos Cortex-M Cortex-R Cortex-A Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 28 Familias de procesadores de ARM Cores extremadamente sencillos con el mínimo consumo posible para microcontroladores Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 29 ARM Cortex-M Lanzamiento: Objetivos: 2004 Lograr más prestaciones a menor precio Conectividad, reutilización de código y eficiencia energética. Aplicaciones: Electrodomésticos, automoción, Internet de las cosas, control, … Características: Pipeline de 3 etapas, ejecución determinista, muy bajo consumo, código muy denso (Thumb-2), interrupciones con muy baja latencia Optimizado para FPGA Las prestaciones dependen de la FPGA y del proceso de síntesis Aplicaciones 32 bits/DSP Procesado de señales eficiente 1.25 DMIPS/MHz Predicción de saltos MAC, SIMD, FPU, MPU Aplicaciones de 16/32 bits Prestaciones y eficiencia energética 1.25 DMIPS/MHz Predicción de saltos Aplicaciones de 8/16 bits MPU Bajo coste y sencillez 0.9 DMIPS/MHz Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 30 Tecnología Mejor eficiencia energética - Funcionamiento a baja frecuencia con periodos de actividad más cortos - Soporte HW de los modos de reposo Mejores prestaciones - Más prestaciones por Mhz que los MCUs típicos Thumb-2 - Logra un código hasta 3 veces más denso que el de los MCUs de 8 bits - Reduce los requerimientos de memoria RAM del sistema (sistemas más baratos) - Aprovecha mejor la memoria FLASH Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 31 Comparativa entre Cortex-M y ARM7TDMI ARM7TDMI (65 nm) Cortex-M3 (90 nm, Diseño optimizado para maximizar las prestaciones) Cortex-M3 (90 nm, Diseño optimizado para minimizar el área) Cortex-M4 (65 nm, Diseño optimizado para maximizar las prestaciones) Cortex-M4 (65 nm, Diseño optimizado para minimizar el área) Realmente, las prestaciones y la eficiencia son mejores Dhrystone no usa las extensiones SIMD ni las instrucciones MAC del Cortex-M4 0,5 400 0,4 300 0,3 30 25 20 15 10 5 0 200 0,2 0,1 100 0 0 Área (mm2) Frecuencia (MHz) 1,4 1,2 1 0,8 0,6 0,4 0,2 0 400 40 300 30 200 20 100 10 0 Prestaciones (DMIPS/MHz) Consumo (mW) Prestaciones (DMIPS) 0 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (DMIPS/mW) 32 Aplicaciones de los Cortex-M Electrodomésticos: Smart grid: Bosch Tassimo (2010) Cafetera. Cortex-M3 Itron Openway Centron (2009) Smart meter Cortex-M3 e-health: Web of things: Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 33 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Clásicos Cortex-M Cortex-R Cortex-A Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 34 Familias de procesadores de ARM Ejecución determinista, altas prestaciones y bajo consumo para aplicaciones con restricciones fuertes de tiempo real Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 35 ARM Cortex-R Lanzamiento: Objetivos: Características: 2006 Altas prestaciones para sistemas empotrados con restricciones de tiempo real Superescalar, ejecución determinista, MPU, Thumb-2, memorias RAM con paridad y ECC Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 36 Comparativa entre Cortex-R4 y los procesadores clásicos de ARM ARM926EJ-S (90 nm, Diseño optimizado para maximizar las prestaciones) ARM926EJ-S (90 nm, Diseño optimizado para minimizar el área) ARM1176ZF-S (65 nm, Geometría TSMC 65GP) Cortex-R4 (65 nm, Diseño optimizado para maximizar las prestaciones) Cortex-R4 (65 nm, Diseño optimizado para minimizar el consumo) Cortex-R4 (65 nm, Diseño optimizado para minimizar el área) 2,5 1000 250 2 800 200 1,5 600 150 1 400 100 0,5 200 50 0 0 0 Área (mm2) Frecuencia (MHz) 2 1,5 1 0,5 0 Prestaciones (DMIPS/MHz) 1200 1000 800 600 400 200 0 Consumo (mW) 20 15 10 5 0 Prestaciones (DMIPS) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (DMIPS/mW) 37 Comparativa entre los diferentes Cortex-R Cortex-R4 (65 nm, Diseño optimizado para maximizar las prestaciones) Cortex-R5 (65 nm, Diseño optimizado para maximizar las prestaciones) Cortex-R7 (65 nm, Diseño optimizado para maximizar las prestaciones) Cortex-R7 (28 nm, Diseño optimizado para maximizar las prestaciones) 6 1200 5 1000 4 800 3 600 2 400 1 200 0 450 400 350 300 250 200 150 100 50 0 0 Área (mm2) Frecuencia (MHz) 5 5000 4 4000 3 3000 2 2000 1 1000 0 Prestaciones (DMIPS/MHz) 0 Prestaciones (DMIPS) Consumo (mW) 16 14 12 10 8 6 4 2 0 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (DMIPS/mW) 38 Aplicaciones de los Cortex-R • Banda ancha móvil • Almacenamiento LTE-A, WiMax, HSDPA • Hogar Controladores de HDD y SSD • Dispositivos médicos TV Digital, BlueRay. … • Empresa Impresoras multi-función, fotocopiadoras • Automoción Control de airbags, ABS, estabilidad, motor, etc. Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 39 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Clásicos Cortex-M Cortex-R Cortex-A Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 40 Familias de procesadores de ARM Altas prestaciones para dispositivos móviles con sistema operativo y conexión a Internet Opción de coma flotante (VPN) y extensiones multimedia (NEON) Versiones multi-core de hasta 4 cores Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 41 ARM Cortex-A Aplicaciones: Dispositivos con un SO completo y aplicaciones de usuario Cortex-A5 (2009) Aplicaciones: Pensado para reemplazar a los ARM9 y ARM11. Mejores prestaciones y todas las características de la arquitectura ARMv7A con un consumo mínimo Prestaciones: 1.57 DMIPS / Mhz por core (hasta 4 cores, hasta 1GHz) Consumo: 0.08 – 0.12 mW / Mhz (según se optimice para consumo o prestaciones) Cortex-A8 (2006) Aplicaciones: Prestaciones, bajo consumo y conectividad (Smartphones, tablets, netbooks) Prestaciones: 2 DMIPS / Mhz (superescalar, no hay versión multi-core, hasta 1GHz) Consumo: 0.45 mW / MHz Cortex-A9 (2008) Aplicaciones: Altas prestaciones con un consumo muy reducido Prestaciones: 2.5 DMIPS / Mhz (superescalar, hasta 4 cores, hasta 2GHz) Consumo: 0.48 – 0.95 mW / Mhz (según se optimice para consumo o prestaciones) Cortex-A15 (2013) Aplicaciones: Dispositivos móviles de muy altas prestaciones, servidores de bajo consumo Prestaciones: 2.5 DMIPS / Mhz (superescalar, virtualización, 4 cores por cluster, 2 clusters por chip, hasta 2.5GHz) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 42 Comparativa entre Cortex-A5 y los procesadores clásicos de ARM ARM926EJ-S (90 nm, Diseño optimizado para maximizar las prestaciones) ARM1176ZF-S (65 nm, Geometría TSMC 65GP) Cortex-A5 (40 nm, Geometría TSMC 40G, 1 core) Notable mejoría de las prestaciones y disminución del consumo 2,5 1200 250 2 1000 200 800 1,5 150 600 1 100 400 0,5 50 200 0 0 0 Frecuencia (MHz) Área (mm2) Consumo (mW) 2 2000 25 1,5 1500 20 1 1000 0,5 500 0 15 10 5 0 Prestaciones (DMIPS/MHz) 0 Prestaciones (DMIPS) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (DMIPS/mW) 43 Comparativa entre los Cortex-A e Intel Atom ARM Cortex-A5 (40 nm, optimizado para mejorar las prestaciones, 1 core) ARM Cortex-A8 (65 nm, optimizado para mejorar las prestaciones, 1 core) Intel Atom 330 (45 nm, dual-core) ARM Cortex-A9 (40 nm, optimizado para mejorar las prestaciones, dual-core) El Cortex-A9 es 1,5 veces más potente que el Intel Atom 330 consumiendo 4 veces menos 2500 2000 1500 1000 500 0 Frecuencia (MHz) 6 5 4 3 2 1 0 Prestaciones (DMIPS/MHz) 10 8 6 4 2 0 Consumo (W) 25 20 15 10 5 0 12000 10000 8000 6000 4000 2000 0 Prestaciones (DMIPS) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles Eficiencia (DMIPS/mW) 44 Aplicaciones de los ARM Cortex-A Apple iPhone 4 (2010) Smartphone Apple A4 (Cortex-A8) Barnes & Noble Nookcolor (2010) e-reader Texas Instruments OMAP3621 (Cortex-A8) Apple iPad 2 (2011) Tablet Apple A5 (Dual Cortex-A9) Samsung Galaxy SII (2011) Smartphone S5PV310 Exynos 4210 (Dual Cortex-A9) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 45 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 46 Sistemas-en-un-Chip (SoC) Sistema basado en PCB System on Chip Formado a partir de microchips que se ensamblan e interconectan mediante un circuito impreso en una placa Formado a partir de componentes (cores IP) interconectados en el diseño del propio chip Los cores IP pueden ser propios o licenciados de otras compañías Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 47 Componentes típicos de in SoC Procesador: Hard cores: ARM, MIPS, PowerPC, … Soft cores: Xilinx Microblaze, Altera Nios II, ... Bus de interconexión: Propietarios: ARM AMBA, IBM CoreConnect, Altera Avalon, ... Abiertos: OpenCores Wishbone Resto de componentes (dependientes de la aplicación): En los dispositivos móviles multimedia: Procesador de Gráficos 3D: Para los juegos, interfaz de usuario, etc. Procesador de imagen: para gestionar las imágenes capturadas por la cámara Procesador de Vídeo: Soporte HW para los códecs de compresión y descompresión habituales Controladores para los dispositivos habituales: HDMI, touch-screen, tarjetas de memoria, USB, Wi-Fi, Bluetooth, GPS, etc. Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 48 Licencias de ARM ARM no fabrica ni vende procesadores, sólo los diseña y vende los derechos para su fabricación Otras empresas licencian el core para que forme parte de sus chips Tipos de licencias: Licencia de implementación: Lo que realmente se compra es el core IP el procesador (hard o soft). Ejemplos: TI, NXP, Freescale, Samsung, Apple, LG, Broadcom, … Licencia de la Arquitectura: Se compran los derechos para fabricar un chip que tenga un ISA de ARM Ejemplos: Qualcomm (Snapdragon), Marvell (Armada), nVidia (Tegra 2) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 49 Licencias de ARM Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 50 Contenidos Motivación Origen y evolución de ARM Familias de procesadores ARM Modelo de negocio de ARM Plataformas actuales para dispositivos móviles Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 51 Ejemplo: nVidia Tegra2 Nvidia Tegra 250 T20 (40 nm, 2010) 8 procesadores independientes 260 millones de transistores 49 mm2, 500 mW Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 52 Componentes del Tegra 250 T20 Procesadores: ARM Cortex-A9 (sin NEON) dual core a 1 Ghz (aplicaciones) ARM7 (ahorro de energía en la reproducción de audio y vídeo)) Procesador de Gráficos 3D: Ultra-Low Power nVidia GeForce GPU a 333MHz 8 núcleos, totalmente programable (OpenGL ES 2.0, OpenVG 1.1, EGL 1.4) Procesador de Imagen: Cámara primaria (12MP), cámara secundaria (5MP), zoom digital hasta 16X, estabilización de imagen, compresión/descompresión JPEG, autofocus, filtrado de imagen Procesador decodificador de Vídeo (HD): H.264, VC-1 AP, MPEG2, MPEG-4, DivX 4/5, XviD HT, H.263, Theora, VP8, WMV, Sorenson Spark, Real Video, VP6 Procesador codificador de Vídeo (HD): H.264, MPEG4, H.263, VP8 Procesador de Audio: Decodificación: AAC-LC, AAC+, EAAC+, MP3, MP3 VBR, WAV/PCM, AMR-NB, AMR-WB, BSAC, MPEG-2 Audio, Vorbis, WMA 9, WMA Lossless, WMA Pro Codificación: AAC LC, AAC+, EAAC+, PCM/WAV, AMR-NB, AMR-WB Controlador de pantalla dual: HDMI 1.3 (1920x1080), LCD (1920x1080), CRT (1600x1200) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 53 Aplicaciones del Tegra2 Asus/Pegatron Neo (2010) Smartbook Full HD. Autonomía de 24h con la Wi-Fi activa LG Optimus 2X (2011) Smartphone Motorola Xoom (2011) Tablet Motorola Atrix 4G (2011) Smartphone Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 54 Ejemplo: Texas Instruments OMAP4 TI Omap4430 (45 nm, 2011) 9 procesadores independientes Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 55 Componentes del OMAP4430 Procesadores: 1 ARM Cortex-A9 dual core a 1 Ghz (para las aplicaciones) 2 ARM Cortex-M3 (para el RTOS, y apoyo al ISP) Subsistema de Gráficos 2D/3D: Imagination Tech. PowerVR SGX544 a 304 MHz Totalmente programable (MS DirectX 9.0, OpenGL 2.1, OpenGL ES 1.1 & 2.0, OpenVG 1.1 y OpenCL 1.1). Codificación y decodificación de H.264, H.263, MPEG-4 (SP), WMV9 y JPEG Subsistema Imágenes: Captura de imágenes (16MP) y vídeo (Full HD), zoom digital hasta 16X, estabilización de imagen, compresión/descompresión JPEG, autofocus, filtrado de imagen, ... Subsistema de codificación y decodificación de Vídeo (HD): IVA HD MPEG-1/-2/-4, Divx, Sorenson Spark (decod.), H.263, H.264, Video estereoscópico, JPEG VC-1 SP/MP/AP, AVS-1.0, RealVideo 8/9/10 (decod.), On2 VP6.2/VP7 (decod.) Contiene otros dos ARM968E-S (apoyo a la secuenciación de vídeo y control de DMA) Procesador codificador de Vídeo (HD): H.264, MPEG4, H.263, VP8 Susbsistema DSP: TI C64x Apoyo al procesado de audio y vídeo y soporte para futuros codecs Subsistema de pantalla Hasta 2 pantallas LCD y 1 HDMI Subsistema de detección de caras Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 56 Aplicaciones del OMAP4 LG Optimus 3D (2011) Smartphone Archos 101 G9 (2011) Tablet Blackberry Playbook (2011) Tablet 4G Motorola Droid 3 (2011) Smartphone Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 57 Ejemplo: Qualcomm Snapdragon Procesador: Qualcomm Scorpion dual a 1.2 Ghz GPU: Qualcomm Adreno 220 Cámara principal (13MP),cámara secundaria (1MP) Snapdragon MSM8660 (45 nm, 2010) 850 mW, controlador 3G integrado Adobe Flash, OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile, SVGT 1.2, Direct Draw y GDI Codificación y decodificación de vídeo HD Reproducción de vídeo 3D por HDMI DSP (600 MHz): Procesamiento de Audio (Dolby 5.1) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 58 Aplicaciones del Snapdragon Sony Ericsson Xperia Play (2011) Smartphone HTC Flyer (2011) Tablet HP TouchPad (2011) Tablet HTC Thunderbolt (2011) Smartphone 4G LTE Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 59 Ejemplo: Apple A5 Apple iPad 2 (2011) Tablet ARM Cortex-A9 Apple A5 (45 nm,122 mm2, 2011) ARM Cortex-A9 dual core 1GHz GPU: Imagination Technologies PowerVR SGX 543MP2 GPU (2 cores) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 60 Samsung Exynos 4210 (Orion) Samsung Galaxy SII (2011) Smartphone Samsung Exynos 4210 (45 nm, 2011) ARM Cortex-A9 dual core 1.2GHz GPU: ARM Mali 400MP (4 cores, Full HD) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 61 Comparativa (PowerVR, GeForce ULP Adreno 220) Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 62 Para saber más • Historia de los procesadores ARM: – Ken Polson. Chronology of Microprocessors. http://processortimeline.info/ – C. Atack y A. van Someren. The history of the ARM CPU. http://www.ot1.com/arm/armchap1.html – Markus Levy. The History of The ARM Architecture: From Inception to IPO. Information Quarterly, 4(1). From Acorns to Mighty Oaks. Commemorating the 20th Anniversary of the ARM Architecture, 2005. http://www.reds.ch/share/cours/ReCo/documents/TheHistoryOfTheArmArchitecture.pdf – Nota de prensa. ARM announces new higher performance, low power ARM9 processor architecture. http://bwrc.eecs.berkeley.edu/CIC/announce/1997/arm9.annc.html – Nota de prensa. ARM11 Readied for Action. http://www.theregister.co.uk/2002/10/15/ – Sir Robin Saxby. Semiconductors + Software Enable Exciting Lifestyles. http://www.docstoc.com/docs/78265677/ – ARM. Annual Reports and Accounts. http://www.arm.com/annualreport10/ • Familias y arquitecturas de los procesadores ARM: – ARM. ARM Processors. http://www.arm.com/products/processors/ – Wikipedia. ARM Architecture. http://en.wikipedia.org/wiki/ARM Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 63 Para saber más • ARM7: – ARM. ARM7TDMI (Rev 3) Core Processor. Product Overview. http://infocenter.arm.com/help/topic/com.arm.doc.dvi0027b/ – ARM. ARM7 Thumb Family. http://saluc.engr.uconn.edu/refs/processors/arm/arm7_family.pdf – ARM. ARM7TDMI Datashet. http://www.eecs.umich.edu/~panalyzer/pdfs/ARM_doc.pdf – Simon Segars. ARM7TDMI Power Consumption. IEEE Micro, 15(5):12-19, 1997. • ARM9: – ARM. ARM946E-S (Rev 1) Core Processor. Product Overview. http://infocenter.arm.com/help/topic/com.arm.doc.dvi0027b/ – ARM. ARM9E-S Thumb Family. http://saluc.engr.uconn.edu/refs/processors/arm/ARM9E-S.pdf – ARM. ARM926EJ-S Featuring Jazelle Technology. http://www.jp.arm.com/naviweb/pdf/ARM926ejs_en.pdf Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 64 Para saber más • ARM11: – ARM. ARM11 Processor Family. http://www.arm.com/products/processors/classic/arm11/ – ARM. ARM1136JF-S and ARM1136J-S Technical Reference Manual. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0211k/ – ARM. ARM1176JZ-S Technical Reference Manual. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0333h/ • ARM Cortex: – ARM. Cortex-M series processors. http://www.arm.com/products/processors/cortex-m/ http://infocenter.arm.com/help/topic/com.arm.doc.set.cortexm/ – ARM. Cortex-R series processors. http://www.arm.com/products/processors/cortex-r/ http://infocenter.arm.com/help/topic/com.arm.doc.set.cortexr/ – ARM. Cortex-A series processors. http://www.arm.com/products/processors/cortex-a/ http://infocenter.arm.com/help/topic/com.arm.doc.set.cortexa/ http://www.embedinfo.com/en/ARM_Cortex-list.asp?id=15 Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 65 • SoC: Para saber más – Special Issue de IEEE Micro en Systems on a Chip: The Next Electronic Design Frontier. IEEE Micro, 22(5), 2002. – Wikipedia. System-on-a-Chip. http://en.wikipedia.org/wiki/System_on_chip • ARM AMBA: – ARM. AMBA Open Specifications. http://www.arm.com/products/system-ip/amba/amba-open-specifications.php – Wikipedia. Advanced Microcontroller Bus Architecture. http://en.wikipedia.org/wiki/Advanced_Microcontroller_Bus_Architecture • nVidia Tegra2: – nVidia. Tegra 2. http://www.nvidia.com/object/tegra-2.html – Wikipedia. nVidia Tegra. http://en.wikipedia.org/wiki/Nvidia_Tegra – Anand Lal Shimpi. NVIDIA Introduces dual Cortex A9 based Tegra 2. http://www.anandtech.com/show/2911/ – Cyril Kowaliski. Tegra 2 debuts, runs Unreal Engine 3. http://techreport.com/discussions.x/18254 – Brian Klug & Anand Lal Shimpi. LG Optimus 2X & NVIDIA Tegra 2 Review: The First Dual-Core Smartphone. http://www.anandtech.com/show/4144/ Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 66 Para saber más • Texas Instruments OMAP4: – Wikipedia. Texas Instruments OMAP. http://en.wikipedia.org/wiki/Texas_Instruments_OMAP – Texas Insruments. OMAP4430 Multimedia Device Silicon Revision 2.x. Technical Reference Manual, 2011. • Apple A5: – Paul Boldt and Don Scansen. A5: All Apple, part mystery. http://www.eetimes.com/electronics-news/4215094 – Anand Lal Shimpi, Brian Klug & Vivek Gowri. Apple iPad 2 Preview. http://www.anandtech.com/show/4215/ – Anand Lal Shimpi. Apple iPad 2 GPU Performance Explored: PowerVR SGX543MP2 Benchmarked. http://www.anandtech.com/show/4216/ • PowerVR: – Imagination Technologies. SGX Series5 Graphics IP Core Family. http://www.imgtec.com/powervr/sgx_series5.asp Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 67 Para saber más • Qualcomm Snapdragon: – Qualcomm. Snapdragon. http://www.qualcomm.com/snapdragon – Qualcomm. Snapdragon Mobile Development Platform. http://developer.qualcomm.com/dev/development-devices/snapdragon-mdp – Wikipedia. Snapdragon (System on Chip). http://en.wikipedia.org/wiki/Snapdragon_(System_on_Chip) – bSquare. Snapdragon Mobile Development Platform MSM8860. http://developer.qualcomm.com/sites/default/files/snapdragon-mdp-8660.pdf – Linley Gwennap. Two-Headed Snapdragon Takes Flight. Qualcomm Samples DualCPU Mobile Processor at 1.2GHzA. Microprocessor Report, Julio 2010. http://www.qualcomm.com/documents/linley-report-dual-core-snapdragon – Brian Klug. Dual Core Snapdragon GPU Performance Explored - 1.5 GHz MSM8660 and Adreno 220 Benchmarks. http://www.anandtech.com/show/4243/ – Wikipedia. Imageon. http://en.wikipedia.org/wiki/Imageon – Qualcomm. Adreno Graphics Processors. http://developer.qualcomm.com/dev/gpu/processors Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 68 Para saber más • Samsung Exynos 4210: – Samsung. Samsung Orion. http://www.samsung.com/global/business/semiconductor/support/brochures/ downloads/systemlsi/Orion.pdf – Anand Lal Shimpi. Going Out of Order: Samsung Announces Orion Cortex A9 SoC. http://www.anandtech.com/show/3901/ – Samsung. Exynos 4210. http://www.samsung.com/global/business/semiconductor/productInfo.do? fmly_id=844&partnum=Exynos%204210 – Anand Lal Shimpi & Brian Klug. Samsung's Galaxy S II Preliminary Performance: Mali400MP Benchmarked. http://www.anandtech.com/show/4177/ • ARM Mali: – ARM. Mali-400 MP. http://www.arm.com/products/multimedia/mali-graphicshardware/mali-400-mp.php Tendencias en Ingeniería de Computadores - Procesadores para Dispositivos Móviles 69