32
TEMA 3 PROCESADORES VECTORIALES

TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

Embed Size (px)

Citation preview

Page 1: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

TEMA 3 PROCESADORES

VECTORIALES

Page 2: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

V e n t a j a s d e l o s p r o c e s a d o r e s v e c t o r i a l e s PROCESADORES VECTORIALES

Proporcionan operaciones para trabajar con vectores. Una sola instrucción trabaja sobre todos los elementos de un vector:

– El cálculo sobre los elementos de un vector suele ser independiente. Menos riesgos de datos.

– Los accesos a memoria siguen un patrón fijo. Los elementos de los vectores están ordenados.

– Se eliminan bucles y dependencia de control.

-Pueden trabajar también con operandos escalares.

Page 3: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

ESQUEMA PROCESADOR VECTORIAL

Page 4: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

D L X v e c t o r i a l : D L X V Características del procesador

vectorial genérico Registros vectoriales: Hay de 8 a 256 registros para

almacenar vectores de 64 elementos por lo general(cada elemento de 64 bits).

• Unidades Funcionales Vectoriales: Totalmente segmentadas. Aceptan una nueva operación cada ciclo. Las hay Punto Flotante y enteras.

• Unidades Vectoriales de Carga y Almacenamiento: Totalmente segmentadas. También se ocupan de los accesos a memoria escalares.

• Registros escalares

Page 5: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

E j e m p l o s d e p r o c e s a d o r e s v e c t o r i a l e s

Características procesadores vectoriales comerciales

Page 6: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

O p e r a c i o n e s t í p i c a s e n e l D L X V Operaciones vectoriales

Page 7: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

E e m l o : S A X P Y / D A X P Y • O p e r a c i ó n S A X P Y ( D A X P Y e n d o b l e p r e c i s i ó n ) :

Y = a · X + Y V e c t o r e s d e 6 4

e l e m e n t o s d e 6 4 b i t s

Operaciones vectoriales

de manera escalar

Page 8: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o Strip mining (troceado del vector)

MVL: máxima longitud del vector (64) VLR: longitud del vector en cada momento

Ejemplo

Page 9: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I

D L X V

Operaciones vectoriales por filas o columnas

C = A · B

Page 10: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

Operaciones vectoriales condicionales

Page 11: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

O p e r a c i o n e s v e c t o r i a l e s c o n d i c i o n a l e s

R e g i s t r o V e c t o r - M a s k ( V M ) :

V e c t o r d e l o n g i t u d M V L . L a s

o p e r a c i o n e s v e c t o r i a l e s s e

a p l i c a r á n a l e l e m e n t o i d e l

v e c t o r , s i y s ó l o s i e l b i t i - é s i m o

d e l V M e s t á a 1

Operaciones vectoriales condicionales

Page 12: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

S t r i p - m i n i n g • T i e m p o d e e j e c u c i ó n

elementoarranquen TnTT • n: número de elementos en cada vector • Tarranque: latencia de producir el primer resultado • Telemento: tiempo que se tarda en calcular el resto de

elementos

MEDIDA DEL RENDIMIENTO DE UN FRAGMENTO DE CÓDIGO VECTORIAL

n

nn

T

TFLOPSnR

)/ flotante comaen sOperacioneelementosn (

/

Page 13: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

Convoy: conjunto de instrucciones que pueden ser emitidas simultáneamente al no existir dependencias verdaderas entre ellas ni riesgos estructurales

DEPENDENCIA RAW. SIN ENCADENAMIENTO

n

nT

FLOPSnR

Page 14: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

Encadenamiento: La salida de una instrucción se

anticipa a la entrada de la siguiente. El tiempo de ejecución viene dado por el número de elementos del vector (número

de ciclos) más las iniciaciones de las instrucciones. No se permite riesgos estructurales

Encadenamiento sin solapamiento

Convoy: conjunto de instrucciones

que pueden ser emitidas simultáneamente al no existir dependencias verdaderas entre ellas ni riesgos estructurales

DEPENDENCIA RAW

Page 15: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

Encadenamiento con solapamiento

Page 16: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

LA UNIDAD FUNCIONAL DE CARGA/ALMACENAMIENTO VECTORIAL

Es capaz de mantener un ancho de banda sostenido de una palabra por ciclo de reloj tras la latencia de acceso inicial.

El tiempo de arranque corresponde con los tiempos de acceso a memoria.

El tiempo de elemento es el tiempo empleado desde un banco de memoria hasta un registro o viceversa

Instrucción de carga

Instrucción de almacenamiento

Page 17: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o

S t r i p - m i n i n g Y = a · X + Y

V e c t o r e s d e 6 4

e l e m e n t o s d e 6 4 b i t s

Medida del rendimiento de un bucle vectorizado

Strip mining (troceado)

Page 18: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

A T 5 1 1 8 – A r q u i t e c t u r a e I n g e n i e r í a J u a n A n t o n i o M a e s t r o

S t r

elementoarranquebuclebasen TnTTMVL

nTT

)(

• n: número de elementos en cada vector • MVL: Longitud máxima del vector en la arquitectura • Tbase: tiempo que consumen las instrucciones escalares antes de abordar

el bucle exterior (que secciona el vector en secciones) Líneas 1,2,3 • Tbucle: Tiempo de gestión del bucle con operaciones escalares para

realizar el seccionamiento. Líneas 4,5,9,10 y 11 • Tarranque: Tiempo de inicio de las operaciones vectoriales de los convoyes

de instrucciones • Telemento: número de grupos vectoriales (convoyes) Líneas 6,7 y 8

Tiempo de ejecución de un bucle con stripmining:

Medida del rendimiento de un bucle vectorizado

)n es vectorialsOperacione

(limn

n TR

Page 19: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

• MVL es 64 y la frecuencia de reloj es 500 Mhz. • Todas las operaciones vectoriales están segmentadas.

En el PROCESADOR VECTORIAL, la suma tiene un tiempo de inicio de 6 ciclos, y la multiplicación de 7. Las operaciones aritméticas tienen latencia 1.

• Las cargas y almacenamientos en memoria también están segmentadas, con un tiempo de inicio de 12 ciclos. Pueden realizarse operaciones en paralelo, siempre que existan múltiples puertos de lectura y escritura en la memoria.

• Tbase=10 ciclos, Tbucle=15 ciclos

Page 20: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 1: Sin encadenamiento de

resultados entre unidades

elementoarranquebuclebasen TnTTMVL

nTT

)(

ciclos

elementos

ciclosTelemento 4

64

64646464

Page 21: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 1: Sin encadenamiento de

resultados entre unidades

elementoarranquebuclebasen TnTTMVL

nTT

)(

Page 22: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 1: Sin encadenamiento de

resultados entre unidades

Page 23: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 2: Con encadenamiento de

resultados entre unidades

ciclos

elementos

ciclosTelemento 3

64

646464

Page 24: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 2: Con encadenamiento de

resultados entre unidades

elementoarranquebuclebasen TnTTMVL

nTT

)(

Page 25: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 2: Con encadenamiento de

resultados entre unidades

Page 26: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 3: Con encadenamiento y dos unidades de

carga/almacenamiento

ciclos

elementos

ciclosTelemento 2

64

6464

Page 27: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 3: Con encadenamiento y dos unidades de

carga/almacenamiento

elementoarranquebuclebasen TnTTMVL

nTT

)(

Page 28: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 3: Con encadenamiento y dos unidades de

carga/almacenamiento

Page 29: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 4: Con encadenamiento, dos unidades de carga/almacenamiento y

solapamiento entre convoyes dentro de la misma iteración

Page 30: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 4: Con encadenamiento, dos unidades de carga/almacenamiento y

solapamiento entre convoyes dentro de la misma iteración

elementoarranquebuclebasen TnTTMVL

nTT

)(

Page 31: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

CASO 4: Con encadenamiento, dos unidades de carga/almacenamiento y

solapamiento entre convoyes dentro de la misma iteración

Page 32: TEMA 3 PROCESADORES VECTORIALES - … · PROCESADORES VECTORIALES Proporcionan operaciones para trabajar con vectores. ... • Tbucle: Tiempo de gestión del bucle con operaciones

examen 2012 (muy similar al ejercicio 3.11 y 3.12) está resuelto en Alf carpeta documentos. Allí están todas las soluciones a

problemas de examen de procesadores vectoriales)