3. PROCESADORES
VECTORIALES
INTRODUCCION:
Vector: Es una secuencia de datos escalares del
mismo tipo almacenados en memoria,
normalmente en posiciones contiguas, aunque no
siempre.
Proceso en paralelo: Es lo que hace su cerebro
cuando escucha la radio al mismo tiempo que
conduce el automóvil y bebe de una lata. Si se
aplica a la programación, permite realizar los
cálculos más complejos en mucho menos tiempo.
4. PROCESO EN PARALELO
TECNICAS
Existen tres técnicas básicas de proceso en paralelo:
SIMD (Single Instruction Multiple Data):
Consiste en aplicar la misma instrucción a muchos datos
de forma paralela.
Fue utilizada en los primeros superordenadores.
Ahora está disponible en chips de altas prestaciones, que
permiten realizar funciones de modelado gráfico
tridimensional en tiempo real.
La tendencia es a su utilización como coprocesadores
gráficos avanzados en arquitecturas de ordenadores
personales o estaciones de trabajo.
5. PROCESO EN PARALELO
TECNICAS…
MIMD (Multiple Instruction Multiple Data):
Se aplican distintas instrucciones a distintos datos
de forma simultánea.
Supone la comunicación y coordinación entre
distintos procesadores escalables.
Es una puerta abierta principalmente por las
tecnologías RISC que previsiblemente seguirá
creciendo en los próximos años.
6. PROCESO EN PARALELO
TECNICAS…
Neurocomputación:
Proceso masivo en paralelo mediante redes neuronales
artificiales.
Permiten resolver problemas de forma adaptativa y no
algorítmica.
Adecuado para la resolución de problemas no
estructurados: reconocimiento de voz, de patrones,
corrección de errores, etc.
Comienzan a aparecer neurocomputadores con
coprocesadores asociados a ordenadores personales y
estaciones de trabajo.
También comienzan a estar disponibles lenguajes de alto
nivel para la reconfiguración y redefinición de las redes
neuronales.
7. HISTORIA
Muchos algoritmos numéricos permiten que aquellas
partes que consumen la mayor parte del tiempo del
procesador sean expresadas como operaciones
vectoriales. Esto se aplica especialmente a casi todos
los algoritmos del álgebra lineal. Es por eso que una
buena estrategia para mejorar el rendimiento de
procesadores utilizados para el procesamiento de datos
numéricos es proporcionar un conjunto de
instrucciones y su hardware asociado diseñados
específicamente para operaciones vectoriales.
Esta idea se materializó en arquitecturas vectoriales
compuestas por instrucciones vectoriales específicas,
que permiten la suma, multiplicación y división de
vectores componente a componente y la multiplicación
de los componentes de un vector por un escalar.
8. HISTORIA…
La primera computadora vectorial de éxito fue la
Cray-1S, introducida en 1975. Tenía un reloj de 80-
MHz (12.5 ns) y contaba con pipelining para producir
una operación de punto flotante cada ciclo (80
MFLOPS). El competidor más cercano, el
procesador Intel 8008 (1972) con un reloj de 108 KHz
era capaz de realizar 100 FLOPS (en un buen día con
viento a favor). Aún ahora las computadoras
vectoriales aún poseen los procesadores y sistema
de interconexión de memoria más rápidos. En los
70s y 80s los procesadores vectoriales eran la única
arquitectura con el mejor rendimiento
9. PROCESADOR VECTORIAL
(vector processor o array processor)
Definición
Es un diseño de CPU capaz de ejecutar
operaciones matemáticas sobre múltiples
datos de forma simultánea, en contraste
con los procesadores escalares, capaces
de manejar sólo un dato cada vez. La
gran mayoría de las CPUs de hoy en día
son escalares o superescalares.
10. PROCESADOR VECTORIAL
(vector processor o array processor)…
Sin embargo, parece claro que la mejora de la
tecnología y de los diseños de procesadores van a
acabar con el uso de procesadores vectoriales como
procesadores de propósito general. IBM, Toshiba y
Sony han anunciado el procesador Cell, que está
formado en parte por procesadores vectoriales.
Casi todas las CPUs de hoy en día incluyen algunas
instrucciones de procesamiento de tipo vectorial,
conocidas como SIMD. Los procesadores vectoriales
proporcionan operaciones de alto nivel que trabajan
sobre vectores.
11. PROCESADOR VECTORIAL
(vector processor o array processor)…
Los procesadores vectoriales segmentan las
operaciones sobre los elementos de un vector,
tanto la operación aritmética como los accesos a
memoria y cálculo de direcciones efectivas.
La idea básica explotada por un procesador
vectorial es combinar dos vectores, elemento a
elemento, para producir una salida vectorial
C=A+B
donde
ci = ai + bi , 0 ≤ i< N
16. PROCESADOR VECTORIAL
USOS
Los procesadores vectoriales son muy
comunes en el área de la computación
científica, que demandan velocidades de
cómputo elevadas.
En aplicaciones tales como: la predicción
metereológica, terremotos y dinámica de
fluidos en general.
Las consolas de videojuegos.
Las tarjetas gráficas hacen un uso intensivo
de este tipo de procesamiento.
Una operación vectorial equivale a un bucle completo
que procesaría los N elementos del registro vectorial
17. PROCESADOR VECTORIAL
VENTAJAS
El número de instrucciones a ser ejecutadas se reduce
dramáticamente, dado que una sola instrucción vectorial
representa un gran número de operaciones aritméticas. Esto
reduce el tráfico en la memoria.
Como las componentes del vector se almacenan usualmente en
forma contigua en la memoria, el patrón de acceso al
almacenamiento de datos es lineal. Los procesadores vectoriales
explotan este hecho utilizando un mecanismo de acceso
especializado de la memoria principal a los registros del
procesador.
No hay retrasos de memoria por la espera de un operando
vectorial ya que se encuentra completamente en un registro
vectorial.