- Back to Home »
- SIMD. Such fascinating evolution.
Posted by : Unknown
viernes, abril 04, 2014
¡Hola! :D
En esta ocasión, hablaré sobre el artículo titulado Teaching the SIMD Execution Model:
Assembling a Few Parallel Programming Skills escrito por Ariel Ortiz y
publicado en las memorias del 34° SIGCSE Technical
Symposium on Computer Science Education en febrero del 2003.
En el artículo se habla sobre el modelo Single-Instruction/Multiple-Data (SIMD), el soporte de éste mismo
en procesadores Pentium 4 y sobre algunos idioms
que pueden ser usados. Primero que nada, hay que recordar que SIMD permite procesar
varios elementos de manera simultánea, lo que implica que tendrá un mejor
comportamiento que el procesamiento secuencial. En la actualidad, todos los
procesadores soportan algún tipo de tecnología SIMD, entre las cuales destacan
MMX o SSE (las cuales fueron muy populares cuando fueron lanzadas).
El soporte de SIMD puede verse de muchas maneras. En el caso
del Pentium 4, existen 8 registros y dependiendo de cómo utilicemos las instrucciones
es la manera en la que vamos a manejar dichos registros. Éstos pueden manejarse
de varias maneras, desde palabras de 8 bits hasta palabras de 128 bits o tipos
de dato float en C.
Una parte importante del SIMD son los denominados idioms, los cuales son patrones son
patrones para soluciones de bajo nivel. Con ellos, se puede entender de una
mejor manera como usar SIMD. Estos idioms
se pueden considerar como algunas aplicaciones sencillas de SIMD para
familiarizarse con el uso de esta tecnología, y cada uno de ellos tiene
instrucciones específicas que son necesarias para los mismos y que a su vez
ayudan a comprender su funcionamiento individual. Si tomamos de ejemplo el complemento
a 2. Para este idiom podemos usar las
instrucciones pcmpeqb (comprobar si dos elementos son iguales) y pxor (instrucción
XOR), debido a que SIMD no tiene una instrucción NOT. Hay que recordar que para
el uso de cualquier operador es importante escribirlo de la forma OPERADOR destino fuente.
Finalmente, hay que recordar que como cualquier otra
tecnología, es importante que SIMD pueda ser enseñada a estudiantes de ciencias
computacionales. Es por ello que utilizar técnicas como idioms puede resultar relevante para realizar otro tipo de
proyectos que requieran mayor complejidad, ya que de esta manera, los
estudiantes ya tienen un background de
ésta tecnología.