SIMD Single Instruction Multiple Data

8
3CM3 SIMD SIMD (Single Instruction Multiple Data) es un método usado para obtener paralelismo a nivel de datos; esto es, un modo de realizar varios cálculos simultáneamente. Esta característica se encuentra fundamentada en el principio de distribuir los problemas de gran tamaño en otros más chicos, para así solucionarlos de forma combinada. En esta nueva entrega de Técnico PC, describiremos tres conjuntos des instrucciones en particular. Los repertorios SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización en donde una única unidad de control común despacha las instrucciones a diferentes unidades de procesamiento. Todas éstas reciben la misma instrucción, pero operan sobre diferentes conjuntos de datos. Es decir, la misma instrucción es ejecutada de manera sincronizada por todas las unidades de procesamiento. Ejemplos de estos repertorios son 3DNow! de AMD, y SSE de Intel, aunque existen ejemplos más antiguos como el microprocesador Zilog Z80.

Transcript of SIMD Single Instruction Multiple Data

Page 1: SIMD Single Instruction Multiple Data

3CM3

SIMDSIMD (Single Instruction Multiple Data) es un método usado para obtener paralelismo a nivel de datos; esto es, un modo de realizar varios cálculos simultáneamente. Esta característica se encuentra fundamentada en el principio de distribuir los problemas de gran tamaño en otros más chicos, para así solucionarlos de forma combinada. En esta nueva entrega de Técnico PC, describiremos tres conjuntos des instrucciones en particular.

Los repertorios SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización en donde una única unidad de control común despacha las instrucciones a diferentes unidades de procesamiento. Todas éstas reciben la misma instrucción, pero operan sobre diferentes conjuntos de datos. Es decir, la misma instrucción es ejecutada de manera sincronizada por todas las unidades de procesamiento.

Ejemplos de estos repertorios son 3DNow! de AMD, y SSE de Intel, aunque existen ejemplos más antiguos como el microprocesador Zilog Z80.

MMXMulti Media eXtensions fue el primer vestigio de instrucciones SIMD, desarrollado

por Intel. En la actualidad, todos los procesadores tienen estas instrucciones, que

suman 57. Al procesador se le incorpora una unidad de MMX, la cual puede trabajar de

Page 2: SIMD Single Instruction Multiple Data

3CM3

manera simultánea con la unidad aritmético-lógica, pero no con la de coma flotante, con el

fin de no aumentar el tamaño del núcleo del procesador. La unidad de MMX tiene ocho

registros de 64 bits, cada uno de los cuales puede subdividirse en paquetes de uno, dos,

cuatro u ocho. En efecto, las instrucciones MMX únicamente tratan números enteros.

3DNOW!

En el microprocesador K6-2, AMD incluyó sus propias instrucciones SIMD. Si bien no han

sido aceptadas por la mayoría, como las de Intel, en la actualidad, los procesadores AMD

las soportan. Hay 21 instrucciones destinadas a punto flotante, a las cuales luego se

sumaron otras 24 denominadas Advanced 3DNow!, designadas para todo lo relacionado

con la recopilación de audio, video, procesamiento de voz y funciones del procesador

digital de señal. Podría decirse que lo importante de estas instrucciones es que fueron el

primer sistema superescalar: esto significa que este tipo de microarquitectura puede

ejecutar más de una instrucción por ciclo de reloj, de modo que sus registros de 64 bits

pueden ejecutar hasta 128 bits de datos simultáneamente.

El Pentium MMX fue uno de los pioneros. Éste procesador incluía 57 nuevas instrucciones que mejoraban el rendimiento multimedia.

SSEStreaming SIMD Extensionsabarca una extensión de instrucciones que surge como

contrapartida de las de MMX, pero para Pentium III. Fueron creadas e introducidas en el

mercado por Intel a partir de 1999.En el presente, además de estar en todos los

procesadores Intel, se encuentran tambien en los de AMD. Esto es así porque fueron creadas

para saldar las deficiencias de las MMX, que incluyen 70 instrucciones nuevas, de

las cuales 50 están destinadas a los cálculos numéricos de punto flotante. De todos

modos, lo más relevante es que usan ocho registros nuevos, independientemente de la

Page 3: SIMD Single Instruction Multiple Data

3CM3

unidad de coma flotante, con una capacidad de 128 bits. Estos se pueden separar hasta en

paquetes de elementos de enteros de 8 bits. Asimismo, Intel agregó un sumador

y multiplicador adicional, para que se pueda trabajar con dos corrientes de datos de 64 bits

paralelos, a los que se les adaptan operaciones diferentes; evidentemente, son la suma y la

multiplicación.

El procesador Pentium III, lanzado en 1999, fue el primero en incluir las instrucciones SSE.

SSE: un poco de historiaLas instrucciones SSE fueronoriginalmente conocidas como KNI, y son un grupo extensivo

de instruccionesMMX para los procesadores Pentium III de Intel. Estas instrucciones han

sufrido sus revisiones a lo largo del tiempo:

1999: Intel lanzó el Pentium III, que incluía una actualización de las instrucciones MMX. SSE

traía entonces 70 nuevas instrucciones para procesamiento de sonido y también de gráficos.

2000: SSE2 incorporaba 144 nuevas instrucciones SIMD. Incluye las MMX y las SSE.

2004: SSE3 se lanzó con los procesadores Pentium 4 Prescott, y agrega 13 nuevas

instrucciones SIMD. Incluye las MMX, las SSE y las SSE2.

2006: SSE4 incorpora 47 nuevas instrucciones.Tipos de instruccionesA su vez, existen diversos tipos de instrucciones, entre las cuales se encuentran:

Page 4: SIMD Single Instruction Multiple Data

3CM3

Instrucciones SSE de transferencia de datos: son las de entrada o lectura, y de salida o

escritura. En el ejemplo de las instrucciones de entrada o lectura, se transfiere el dato de

entrada desde la unidad de entrada de la memoria, y si esta es una instrucción de salida o

escritura, se lleva el dato desde la memoria a la unidad de salida

Instrucciones SSE aritméticas: son utilizadas para realizar cálculos aritméticos. Implican la

transferencia de datos antes o después. Efectúan operaciones aritméticas de las que se

ocupa la unidad aritmético-lógica.

Instrucciones SSE lógicas: igual que en el caso anterior, la unidad aritmético-lógica se

encarga de hacer las operaciones de carácter lógico.

Instrucciones SSE de conversión: son semejantes a las aritméticas y lógicas, pero

conllevan una lógica especial para efectuar la conversión.

Referencias

http://www.redusers.com/noticias/publicaciones/tecnico-pc-conviertase-en-un-reparador-de-computadoras-y-otros-equipos/

http://www.redusers.com/noticias/tecnico-pc-conjunto-de-instrucciones-simd/

Page 5: SIMD Single Instruction Multiple Data

3CM3

Qualcomn productos y oportunidades de trabajoDesde la aparición de nuestro primer producto en 1985, Qualcomm se ha dedicado

por completo a explorar nuevas posibilidades. Hemos mejorado la tecnología de

enlace aéreo que es la base de las redes inalámbricas y posibilitamos la aparición de

una nueva generación de hardware inalámbrico. También hemos creado potentes

aplicaciones móviles para consumidores y empresas. Nuestros socios, ingenieros y

desarrolladores no dejan de innovar y trabajar arduamente para cambiar la cara de las

comunicaciones inalámbricas mientras crean hoy las tecnologías del mañana.

Procesadores Snapdragon™

Procesadores móviles Snapdragon. Diseñados para ofrecer la mejor experiencia móvil

y prolongar la vida útil de la batería.

Realidad aumentada

Ya sea para juegos, multimedia y marketing interactivo o archivos de ayuda práctica o

instrucciones, la realidad aumentada abre un nuevo mundo de aplicaciones y servicios

móviles.

Oprotunidades de trabajoQualcomn cuenta con oportunidades para ingenieros, Profesionales, internos y recién graduados

En ingeniería cuentan con un apartado de Software, Hardware e ingeniería en sistemas

Ejemplos de trabajo.

Page 6: SIMD Single Instruction Multiple Data

3CM3

3D Audio R&D Engineer Careers @ Qualcomm

T1930477 1/26/2015

Job Function: Qualcomm's Advanced Technology R&D Team has multiple 3D Audio

Engineer positions available in San Diego, CA. These positions range from Senior to

Principal level. Candidates selected will function in one or more of the following

areas: Research and Development of 3D Audio related technologies such as Higher

Order Ambisonics (HOA) and or Wave Field Synthesis towards (WFS)

3GPP RAN4 Standards Engineers (San Diego, CA)

T1931164 1/6/2015

Job Function Qualcomms RF Systems team seeks a 3GPP RAN4 delegate with

demonstrated experience in wireless system design and standardization. The focus

of the job is 3GPP RAN Working Group 4 (UE performance definition), with an

emphasis on all aspects of RF standardization, including conducted and OTA

requirements. Skills/Experience REQUIRED -A Masters or PhD in electrical or

computer engineering -Professional experience in the design or definition of RF

systems

Sr. Software Engineer Careers @ Qualcomm | Network & Wireless Protocols & Standards

T1915498 1/28/2015

If you have Professional Work Experience and are passionate about Wireless,

Communication and Network Protocols, please apply to this. In doing so, you open

yourself up for maximum exposure across multiple opportunities and increase your

chances of receiving an offer from Qualcomm. Shortly after applying your resume

will be reviewed by numerous teams that primarily focus on Wireless Connectivity,

Communication and Network SW Protocol development within our QCT division