Procesador vectorial

De Wikipedia, la enciclopedia libre

Un procesador vectorial 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.

Descripción[editar]

Imagen de un procesador vectorial.

La gran mayoría de las CPU de hoy en día son escalares o superescalares. Los procesadores vectoriales son muy comunes en el área de la computación científica y formaron la base de la mayor parte de los supercomputadores durante los años 80 y 90. 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 CPU de hoy en día incluyen algunas instrucciones de procesamiento de tipo vectorial, conocidas como SIMD. En particular, las consolas de videojuegos y las tarjetas gráficas hacen un uso intenso de este tipo de procesamiento.

Los procesadores vectoriales proporcionan operaciones de alto nivel que trabajan sobre vectores.

Una máquina vectorial consta de una unidad escalar segmentada y una unidad vectorial. La unidad vectorial dispone de M registros vectoriales de N elementos y de unidades funcionales vectoriales (de suma/resta, multiplicación, división, de carga/almacenamiento, etc.) que trabajan sobre los registros vectoriales y un conjunto de registros escalares.

Dispone de un conjunto de instrucciones vectoriales. Por ejemplo: addv v1,v2,v3.

Una operación vectorial equivale a un bucle completo que procesaría los N elementos del registro vectorial.

Características[editar]

  • Arquitectura orientada a procesar vectores.
  • Dispone de instrucciones máquina que implementan operaciones sobre vectores.
  • Segmentan las operaciones sobre los elementos de un vector y los accesos a memoria.