computadores vectoriales

Referencia: Computadores vectoriales cgi.di.uoa.gr/~halatsis/Advanced_Com p_Arch/UPoValencia/t13.pdf Procesamiento vecto

Views 109 Downloads 5 File size 171KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Referencia: Computadores vectoriales cgi.di.uoa.gr/~halatsis/Advanced_Com p_Arch/UPoValencia/t13.pdf Procesamiento vectorial Muchos problemas que requieren altas potencias de cálculo acceden a grandes estructuras de datos: Repiten el mismo procesamiento componentes de la estructura.

a

todas

las

La localidad de acceso a memoria es distinta a la de los computadores convencionales: las antememorias no ocultan el tiempo de acceso a memoria.

(vector processor o array processor). Un procesador vectorial es una unidad central de procesamiento (CPU) que implementa un conjunto de instrucciones que contienen instrucciones que operan en un arreglo unidimensional de datos llamados vectores. En otras palabras, es un diseño de CPU que es capaz de ejecutar operaciones matemáticas sobre múltiples datos de forma simultánea. Esto contrasta con los procesadores escalares, que manejan un elemento por vez. La gran mayoría de los CPU son escalares o muy cercanos a este concepto. Los primeros procesadores vectoriales aparecieron en los 70, siendo la base de la mayoría de las supercomputadoras entre los 80 y los 90. Los procesadores vectoriales eran comunes en computadoras para investigaciones científicas. Su uso fue declinando tras las mejoras en los procesadores escalares, particularmente en los microprocesadores. Actualmente la mayoría de las CPU implementan arquitecturas que tienen instrucciones características de algunos procesadores vectoriales. Por ejemplo MMX, SSE y AltiVec.

También muchas consolas de videojuegos y el hardware para gráficos de computadora actuales utilizan procesamiento vectorial en sus arquitecturas. Por ejemplo, la Sony PlayStation 3 cuenta con un procesador escalar y ocho procesadores vectoriales contenidos en un procesador llamado Cell.

Procesador vectorial 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

Imagen de un procesador vectorial.

La gran mayoría de las CPUs de hoy en día son escalares o superescalares. Los procesadores vectoriales son muy comunes en el área de la computación científica, formando 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 CPUs 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 intensivo 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 juego 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 • • •

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.

Referencia: www.slideshare.net/CeciliaOrtega/procesadores-vectoriales

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.

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  12. Ejemplo  13. Earth Simulator (NEC, Japón)

 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  15. 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. Referencia:Autor: JUAN LANCHARES DÁVILA titulo: apuntes de estructuras de computadores /www.dacya.ucm.es/lanchares/documentos/2.9.5 Apuntes de Estructura de Computadores.pdf --------UNIVERSIDAD COMPLUTENSE DE MADRID Por otro lado la idea de computador vectorial no se ha abandonado, solo que se tiende a utilizar tecnología CMOS en lugar de la ECL.

los procesadores vectoriales operan en subconjunto de elementos de un vector con una única instrucción

Procesamiento Vectorial El procesamiento vectorial requiere específicamente instrucciones con vectores en lenguaje de máquina. El procesamiento requiere hardware canalizado, pero no viceversa. Una instrucción vectorial indica la operación que se va a realizar y especifica la lista de operandos (denominada vector) sobre los que operará. Cuando se ejecuta una instrucción vectorial, se alimentan los elementos del vector a la canalización apropiada uno a la vez, retrasados por el tiempo que toma completar una etapa.

Referencia bibliográfica: titulo: Procesadores vectoriales comerciales autor Roberto Fernández Rodríguez, Iván Menéndez González y Francesco Buccini

Arquitectura y Tecnología de Computadores (4º curso de Ingeniería en Informática). EPSIG, Universidad de Oviedo. Campus de Viesques, E-33271. Gijón, Asturias. {UO173025, UO69574, UO216184}@uniovi.es Esta en www.atc.uniovi.es/inf_superior/4atc/trabajos/paralelas/2-Procesadores

Vectoriales comerciales-memoria.pdf Procesamiento Vectorial Como su nombre implica, los procesadores vectoriales se ocupan de múltiples datos en el contexto de una instrucción, contrastando con las CPUs más comunes de hoy en día que tienen procesadores escalares/superescalares y tratan un dato por cada una. A estos dos esquemas se les conoce respectivamente como SISD (Single Instruction, Single Data) que se corresponde con la arquitectura Von Neumann y SIMD (Single Instruction, Multiple Data) que es una técnica empleada para conseguir paralelismo a nivel de datos. Esta clasificación recibe el nombre de taxonomía de Flynn. Casi todas las CPUs de hoy en día incluyen algunas instrucciones de procesamiento de tipo vectorial. En particular y como se verá más adelante, dispositivos móviles, consolas de videojuegos, tarjetas gráficas, etc hacen un uso intensivo de este tipo de procesamiento. Procesador vectorial (vector processor o array processor) Como su nombre implica, los procesadores vectoriales se ocupan de múltiples datos en el contexto de una instrucción, contrastando con las CPUs más comunes de hoy en día que tienen procesadores escalares/superescalares y tratan un dato por cada una. A estos dos esquemas se les conoce respectivamente como SISD (Single Instruction, Single Data) que se corresponde con la arquitectura Von Neumann y SIMD (Single Instruction, Multiple Data) que es una técnica empleada para conseguir paralelismo a nivel de datos. Esta clasificación recibe el nombre de taxonomía de Flynn. Casi todas las CPUs de hoy en día incluyen algunas instrucciones de procesamiento de tipo vectorial. En particular y como se verá más adelante, dispositivos móviles, consolas de videojuegos, tarjetas gráficas, etc hacen un uso intensivo de este tipo de procesamiento.