Arquitectura Vectorial
Enviado por Ericksz • 8 de Noviembre de 2012 • 423 Palabras (2 Páginas) • 438 Visitas
¿Por qué máquinas vectoriales?
Si bien es cierto que la segmentación se presenta como un mecanismo importante para mejorar el rendimiento de una computadora, es aún más cierto que existen límites en la mejora del rendimiento que la segmentación puede conseguir. Habrá que decir que los procesadores segmentados de alta velocidad son útiles para grandes aplicaciones científicas y de ingeniería, sin embargo, los programas científicos grandes, cuya ejecución es larga, tienen con frecuencia conjuntos de datos activos muy grandes que son accedidos a menudo, consiguiendo un rendimiento pobre de la jerarquía de memoria. El impacto resultante es una disminución en el rendimiento de la cache.
Las máquinas vectoriales proporcionan operaciones de alto nivel que trabajan sobre vectores (arrays lineales de números).
Las operaciones vectoriales pueden hacerse más rápidas que una secuencia de operaciones escalares sobre el mismo número de elementos de datos, y los diseñadores están motivados para incluir unidades vectoriales si el conjunto de las aplicaciones las puede usar frecuentemente.
Una operación vectorial normal puede sumar dos vectores de 64 elementos en puntos flotantes para obtener como resultado un vector de 64 elementos.
La instrucción vectorial es equivalente a un bucle completo, donde en cada iteración se calcula uno de los 64 elementos del resultado, actualizando los índices y saltando al comienzo.
Arquitectura vectorial básica.
Una máquina vectorial, normalmente, consta de una unidad escalar segmentada más una unidad vectorial. Todas las unidades funcionales de la unidad vectorial tienen una latencia de varios ciclos de reloj. Esto permite un ciclo de reloj de menor duración y es compatible con operaciones vectoriales de larga ejecución que pueden ser segmentadas a nivel alto sin generar riesgos. La mayoría de las máquinas vectoriales permiten que los vectores sean tratados como números en punto flotante, como enteros o como datos lógicos.
Hay dos tipos principales de arquitecturas vectoriales:
• Máquinas vectoriales con registros. En este tipo de máquina todas las operaciones vectoriales -excepto las de carga y almacenamiento- operan con vectores almacenados en los registros. Estas máquinas son el equivalente vectorial de una arquitectura escalar de carga/almacenamiento. Ejemplos de máquinas vectoriales construidas en 1990 que utilizan una arquitectura vectorial son:
o Las máquinas de Cray Research: CRAY-1, CRAY-2, X-MP e Y-MP.
o Los supercomputadores japoneses: NEC SX/2, Fujitsu VP2000 y el Hitachi S820.
o Los minisupercomputadores: Convex C-1 y C-2.
• Máquinas vectoriales memoria-memoria. En este tipo de máquina todas las operaciones vectoriales son de memoria a memoria. Las primeras máquinas vectoriales fueron de este tipo, como por
...