Ing. Eduardo Jonathan Martínez Montes Dr. Marco Antonio Ramírez Salinas Índice Procesamiento Vectorial Microarquitectura SIMD Estado del Arte Objetivo Plan de Trabajo Conclusiones MICROSE - 2013 2 Procesamiento Vectorial Un procesador vectorial es una Unidad Central de Procesamiento (CPU). Opera sobre un arreglo de una dimensión de información. Aplica la misma instrucción a diferentes datos del mismo tipo. Emplea aritmética saturada. Operandos limitados entre valores máximos y mínimos MICROSE - 2013 3 Microarquitectura SIMD Ha sido utilizada desde principios de los años 80s. En los años 90s las computadoras personales se popularizaron en el mercado doméstico. El Pentium MMX© fue el primer procesador para computadoras personales en incluir tecnología SIMD. MICROSE - 2013 4 Procesamiento Escalar vs Vectorial MICROSE - 2013 5 Superescalar vs Vectorial Paralelismo a nivel de instrucción. Paralelismo a nivel de datos. MICROSE - 2013 6 Procesamiento Vectorial MICROSE - 2013 7 Negativo de una Imagen MICROSE - 2013 8 Implementación y Desarrollo AltiVec - IBM 2002 1996 SSE4 - Intel Pentium II (MMX)- Intel 1998 1996 3DNow!. - AMD SSE3 - Intel Sandy Bridge y Bulldozer Intel y AMD 2000 2004 2011 1998 2000 1997 AltiVec Motorola 2006 2002 2006 2008 2010 2012 2002 2008 2013 SSE2 - Intel Advanced Vector Extensions (AVX) - Intel AVX2 - Intel 2004 1999 SSE y SSE2 AMD Streaming SIMD Extensions (SSE)- Intel 1996 2004 2003 Advance 3DNow! (3DNow! 2) AMD MICROSE - 2013 9 Arquitectura Lagarto MICROSE - 2013 10 Problemática a abordar No se cuenta con un diseño en México de esta tecnología. Los diseños existentes son cerrados y propietarios. Proyecto Lagarto EP no cuenta con una unidad vectorial. MICROSE - 2013 11 Descripción de la solución al problema planteado El diseño propuesto estará inspirado en la microarquitectura RISC. Conjunto de instrucciones compatible con MIPS Digital Media eXtension (MDMX). MICROSE - 2013 12 Contribuciones esperadas Sumador vectorial. Divisor vectorial. Multiplicador vectorial. MICROSE - 2013 13 Justificación Lagarto EP es un procesador embebido en desarrollo para la investigación y docencia. Actualmente este procesador carece de algunas unidades, por lo que este proyecto pretende dotarlo de una unidad de Extensión Multimedia. MICROSE - 2013 14 Objetivo Diseñar una unidad de extensión multimedia en lenguaje Verilog para el microprocesador Lagarto EP bajo la arquitectura RISC. Diseñar un sumador con aritmética saturada. Diseñar un multiplicador con aritmética saturada. Diseñar un divisor con aritmética saturada. Implementar el MIPS Digital Media eXtension (MDMX). MICROSE - 2013 15 Plan de trabajo y cronograma 2014 Jan 2015 Mar May Jul Sep Nov Jan Mar May Jul Jan 6 - Mar 31 Investigación ISA MIPS Jan 6 - Apr 30 Diseño - Decodificador de instrucciones vectoriales Apr 1 - May 31 Diseño - Unidades de ejecución vectorial May 1 - Oct 31 Diseño - Camino de datos segmentado Jun 1 - Mar 31 Benchmarks - Diseño de programas de prueba Sep 1 - May 31 Benchmarks - Simulación y comparación de resultados Dec 1 - Jun 30 Integración al procesador Lagarto II Feb 1 - Jul 31 Estancia en UPC MICROSE - 2013 16 Conclusiones El presente trabajo mejorará el desempeño del procesador que se está diseñando en el proyecto Lagarto II. Se incrementaran el número de aplicaciones en las que se pueda utilizar el procesador Lagarto II. MICROSE - 2013 17 ¿Preguntas? MICROSE - 2013 18