SlideShare una empresa de Scribd logo
1 de 27
ARQUITECTURA DE COMPUTADORES I
Curso 2011/2012
Tema 5: Procesadores Vectoriales
Lección 18: Características Generales de los
Procesadores Vectoriales
Bibliografía
Arquitectura de Computadores I. Tema 5. Lección 18 2
1. J. L. HENNESSY and D. A. PATTERSON.
Computer Architecture. A Quantitative Approach,
Morgan Kaufmann, 3rd edition, 2003.
2. D. SIMA and T. FOUNTAIN, and P. KACSUK.
Advanced Computer Architectures: A Design Space Approach,
Addison Wesley, 1997.
3. K. HWANG.
Advanced Computer Architecture: Parallelism, Scalability, Programmability,
McGraw Hill, 1992.
4. J. ORTEGA, M. ANGUITA y A. PRIETO.
Arquitectura de Computadores,
Thomson, 2004.
Tema 5. Procesadores Vectoriales
1. Introducción: Motivación y Nota Histórica
[Ortega 6.1; Hennessy G.1]
2. Principio, Espacio de Diseño y Prestaciones Generales
3. El Sistema de Memoria
4. Medida de Prestaciones de los Procesadores Vectoriales
5. Problemas en el Procesamiento Vectorial y Soluciones
Arquitectura de Computadores I. Tema 5. Lección 18 3
Motivación
Arquitectura de Computadores I. Tema 5. Lección 18 4
• Presentan una microarquitectura orientada a obtener altas prestaciones en el
procesamiento vectorial (sumas de vectores, productos escalares,...)
• Su repertorio de instrucciones máquina incluye instrucciones donde los operandos
y los resultados son vectores
• Propiedades de las operaciones con Vectores
– El cálculo de uno de los componentes del vector es independiente del de otros
componentes: Se obtienen buenos rendimientos en las unidades funcionales
segmentadas
A = (a1, a2, …, an) B = (b1, b2, …, bn) A+B = (a1+b1, a2+b2, …, am+bm)
– Una sola operación vectorial especifica una gran cantidad de cálculos: Se reduce el
número de instrucciones a ejecutar y se evitan riesgos de control al sustituir
bucles enteros por una instrucción.
ADDV V1,V2,V3 = for i:=1 to n do V1(i):=V2(i)+V3(i)
– Los vectores pueden almacenarse ocupando posiciones adyacentes y las operaciones
vectoriales acceden a varios de ellos: Se aprovecha de forma eficiente el
entrelazado de memoria y las organizaciones S y C para mejorar el ancho de
banda de la memoria
Ejemplo de Repertorio de Instrucciones Vectoriales: DLXV
Código Escalar
Cálculo de Y = a*X + Y
VLR: Registro de longitud vectorial VM: Registro de Máscara
Código Vectorial
Arquitectura de Computadores I. Tema 5. Lección 18 5
Evolución de las Arquitecturas Vectoriales
Arquitectura de Computadores I. Tema 5. Lección 18 6
Alliant Multiprocesador (8 proc.) (1987)
CDC STAR100 (m-m) (1972) CYBER205 (1981)
ETA-10 (1987) (10 proc, 10 GF m-m)
Convex C-1 y C-2 (1985) Minisupercomp.
(Compil., 0.5-1 M$-diez veces menos)
C-4 (1994)
Cray Cray 1 (1976)
(reg. Vectoriales)
(Proc. Escalar más rápido del
momento)
(12.5 ns == 80 MHz)
Cray X-MP (1983)
(varios cauces de memoria)
(9.5 ns == 105 MHz)
Cray.2 (1985) (256 Mpal 60 b/pal)
Cray Y-MP (1988)
(Cray: CComp.Corp y CRes. (1989)
Cray-3 Cray-4 (95-96)
C-90 (1991)
(16 Proc. 250 MHz)
T3D (1993)
J90 (1995) (250 K$)
T90 (1996) (10 M$)
TI ASC (m-m) (1972)
NEC SX/2 (1984) SX/4 (1995)
Hitachi S810-820 (1984)
IBM 171 inst. vectoriales en la arq. S/370
Unid. 3090/VF en la CPU 3090 (86)
Fujitsu VP-100 VP-200 (1982)
Compañía
Años
70’s 80’s 90’s
VPP5000 Fujitsu 1999-2001
SR8000 Hitachi 2000
SX-5 NEC 2000
VPP800 Fujitsu 1998
VPP700 Fujitsu 1998
SX-4 NEC 1997
Arquitectura de Computadores I. Tema 5. Lección 18 7
Computadores Recientes con Procesadores Vectoriales
Computador Vectorial #1 en el TOP500 (Nov ’02)
NEC Earth Simulator:
5120 Procesadores Vectoriales (640 nodos x 8 Proc.)
Arquitectura de Computadores I. Tema 5. Lección 18 8
Rmax=35.86 TFLOPS Rpico=40.96 TFLOPS
Evolución Reciente de los Procesadores Vectoriales
1 0 0 %
9 0 %
8 0 %
7 0 %
6 0 %
5 0 %
4 0 %
3 0 %
2 0 %
1 0 %
0 %
S I M D Es c alar Vectorial
Distribución de arquitecturas en el TOP500:
2 4
2 2
2 0
1 8
1 6
1 4
1 2
1 0
8
6
4
2
0
N a t i o n a l A e r o s p a c e L a b o r a t o r y o f J a p a n
L e i b n i z R e c h e n z e n t r u m
A t m o s p h e r i c E n v i r o n m e n t S e r v i c e ( A E S )
U n i v e r s i t y o f T o k y o
N E C
U n i v e r s i t y o f T o k y o
T h e E a r t h S i m u l a t o r C e n t e r
Arquitectura de Computadores I. Tema 5. Lección 18 9
Situación del mejor computador vectorial en el TOP500:
Situación de los Procesadores Vectoriales en el TOP500
TOP500 (Noviembre de 2006)
TOP500 (Noviembre de 2007)
Arquitectura de Computadores I. Tema 5. Lección 18 10
Situación en el TOP500 (cont.)
TOP500 (Noviembre de 2008)
TOP500 (Noviembre de 2009):
NEC SX-9/E (Posición 31)
Arquitectura de Computadores I. Tema 5. Lección 18 11
TOP500 (Noviembre de 2010):
NEC SX-9/E (Posición 54)
(Velocidad pico: 131.07 TFLOPS)
Situación en el TOP500 (nuevo Earth Simulator)
Cada CPU:
• Procesador Superescalar de 4 vías (SU)
• Procesador Vectorial (VU) con 8 grupos de 72 registros
de 256 componentes y 6 tipos de cauces (8 cauces).
• Frecuencia: 3.2 GHz
Arquitectura de Computadores I. Tema 5. Lección 18 12
Extensiones Vectoriales para el
Repertorio de Instrucciones:
Tarantula (Alpha)
AltiVec (PowerPC)
Tema 5. Procesadores Vectoriales
1. Introducción: Motivación y Nota Histórica
2. Principio, Espacio de Diseño y Prestaciones Generales
[Ortega 6.2; Hennessy G.2]
1. Características del Procesamiento Vectorial
2. Aplicación de la Segmentación
3. Tipos de Arquitecturas Vectoriales
3. El Sistema de Memoria
4. Medida de Prestaciones de los Procesadores Vectoriales
5. Problemas en el Procesamiento Vectorial y Soluciones
Arquitectura de Computadores I. Tema 5. Lección 18 13
Características del Procesamiento Vectorial
Arquitectura de Computadores I. Tema 5. Lección 18 14
• Longitud de palabra:
– Suele ser mayor que el empleado en el resto de procesadores en todos los niveles
(memoria, unidades de ejecución, registros, etc.)
• Longitud de los vectores:
– Los vectores se pueden operar con una sola instrucción, así que cuanto mayores sean,
mejor
• Uso de la segmentación:
– En el procesamiento de instrucciones se usa para ganar ILP
– En el procesamiento de datos se usa a varios niveles:
• Microsegmentación: Segmentación de las unidades vectoriales
• Macrosegmentación: Encadenamiento de las operaciones vectoriales
• Uso de flujos de datos múltiples (replicación):
– Si se dispone de varios cauces vectoriales segmentados que implementan la misma
operación vectorial (ej. suma), se podrán realizar varias sumas segmentadas a la vez
– Se puede usar para lograr:
• Paralelismo funcional: Si las operaciones son de instrucciones diferentes
• Paralelismo de datos: Si se reparten los elementos de un vector entre los cauces
Tipos de Arquitecturas Vectoriales
Arquitectura de Computadores I. Tema 5. Lección 18 15
• Memoria – Memoria:
– Todas las instrucciones vectoriales operan con datos y resultados en
memoria
– Ejemplos:
• CDC 6600, CDC 7600
• CDC STAR100, TI ASC, CDC CYBER-205
• Registro – Registro:
– Operan con datos y resultados en registros y tienen instrucciones de
tipo LOAD/STORE para cargar/almacenar los vectores
– Ejemplos:
• Cray, NEC SX, Fujitsu VPP, Convex, Hitachi
IF ID OF
Reg. Escalares
Cauces Esc.
Cauces Vector.
Reg. Vectoriales
Unidad
LOAD/STORE
E/S IF ID OF
Datos Escalares
Flujo
Instr.
Control
Reg. Escalares
Cauces Esc.
Reg. Vectoriales
Cauces Vector.
Unidad Escalar
Unidad Vectorial
Datos Vectoriales
Procesador
Vectorial
Unidad
LOAD/STORE
Memoria
Principal
Registro Vectorial
a2
a1
a3
a4
b2
b1
b3
b4
a1+b1
a2+b2
a8 a7 a6 a5 a4 a3
b8 b7 b6 b5 b4 b3
a2
a1
a3
a4
b2
b1
b3
b4
a8
b8
a7
b7
a6
b6
a5
b5
a4
b4
a3
b3 a2+b2
a1+b1
Registros
Vectoriales
Cauce Vectorial
Aplicación de la Segmentación
ILP: El procesamiento
de instrucciones está
segmentado y se
utilizan múltiples
unidades funcionales
Paralelismo de datos:
cada instrucción vectorial
codifica una operación
sobre todos los
componentes del vector
Unidades funcionales
segmentadas
Arquitectura de Computadores I. Tema 5. Lección 18 16
Características de Procesadores Vectoriales Representativos
Arquitectura de Computadores I. Tema 5. Lección 18 17
– Palabras de 64 bits
– Frecuencia 80 MHz
– Memoria 1 Mpalabra (bipolar, 64
bits + 8 de corrección de
errores)
– B,T,V (1 palabra/ciclo)
– A,S (2 palabras/ciclo)
– Inst. (4 pal//ciclo)
– 8 Reg Vectoriales (64 registros
de 64 bits)
– 12 canales de Entrada y 12 de
Salida
Arquitectura de Computadores I. Tema 5. Lección 18 18
Esquema del Cray 1
Tema 5. Procesadores Vectoriales
1. Introducción: Motivación y Nota Histórica
2. Principio, Espacio de Diseño y Prestaciones Generales
3. El Sistema de Memoria
[Ortega 6.3, Hwang 8.1, Hwang-Briggs 3.1.4]
1. Unidades de Carga y Almacenamiento y Entrelazado de Memoria
2. Acceso a Memoria Simultáneo y Concurrente
4. Medida de Prestaciones de los Procesadores Vectoriales
5. Problemas en el Procesamiento Vectorial y Soluciones
Arquitectura de Computadores I. Tema 5. Lección 18 19
Requisitos del Sistema de Memoria
Arquitectura de Computadores I. Tema 5. Lección 18 20
Al igual que el resto de las unidades de ejecución, las unidades de memoria
deberían poder cargar/almacenar un dato cada ciclo de reloj para no
introducir cuellos de botella
Para mantener este ancho de banda se debe diseñar un sistema de
memoria con múltiples bancos, ya que:
– Muchos computadores vectoriales soportan varios accesos a memoria por ciclo,
(múltiples unidades de memoria) y el tiempo de acceso a memoria es mayor
que el tiempo de ciclo de CPU
– Los procesadores vectoriales soportan la característica de poder acceder
simultáneamente a datos no adyacentes en memoria (vector stride, gather-
scatter)
– La mayoría de los computadores vectoriales tienen varios (o bastantes)
procesadores compartiendo la memoria, y cada procesador generará su propio
flujo de direcciones
Entrelazado de Memoria (I)
El entrelazado consiste en distribuir el espacio de memoria del procesador entre
distintos módulos de memoria.
En una dirección de memoria, un conjunto de bits indican el módulo y el resto
indican la posición dentro de ese módulo.
Si los bits que indican el módulo son los menos significativos se habla de
entrelazado de orden inferior y si son los más significativos se trata de
entrelazado de orden superior.
01101010101010100100
Posición dentro
del Módulo Módulo
Entrelazado de
orden inferior
01101010101010100100
Posición dentro
del Módulo
Arquitectura de Computadores I. Tema 5. Lección 18 21
Módulo
Entrelazado de
orden superior
Entrelazado de
una memoria de
220 palabras en
26=64 módulos
Entrelazado Superior Entrelazado Inferior
0 1 0 1 1 (11)
25=32 direcciones de memoria
22=4 módulos de 23=8 posiciones
000 0 8 16 24
001 1 9 17 25
010 2 10 18 26
011 3 11 19 27
100 4 12 20 28
101 5 13 21 29
110 6 14 22 30
111 7 15 23 31
00 01 10 11
000
001
010
011
100
101
110
111
11
10
01
00
3
7
11
15
19
23
27
31
2
6
10
14
18
22
26
30
1
5
9
13
17
21
25
29
0
4
8
12
16
20
24
28
0 1 0 1 1 (11)
Entrelazado de Memoria (II)
Arquitectura de Computadores I. Tema 5. Lección 18 22
Acceso a Memoria Simultáneo o Tipo S
Módulo 0
Módulo 1
Módulo 2
Módulo
M-1
Multiplexor
n-m bits más significativos
m bits menos
significativos
n
m
n-m
Con Entrelazado Inferior
N=2n direcciones
M=2m módulos
2(n-m) direcciones/módulo
Acceso 1
Ta
T = Ta + M*t
t
Acceso 2
Arquitectura de Computadores I. Tema 5. Lección 18 23
0 1 …… M-1 0 1 …… M-1
0
M-1
Ta = M*t
Acceso a Memoria Concurrente o Tipo C
m
n-m
n
Con Entrelazado Inferior
N=2n direcciones
M=2m módulos
2(n-m) direcciones/módulo
Ta
M-1
t
t
0 1 …… M-1
T = Ta + M*t
0
1
Ta
Ta
Ta = M*t
Permite acceder concurrentemente a M direcciones, con lo
que soporta el uso de strides en los accesos a memoria
m
n-m
0 1 M-1
decod
R/W M6
M7 M0
Señales
Ocupado/
Completo
Arquitectura de Computadores I. Tema 5. Lección 18 24
Controlador
de Memoria
Registros de
Direcciones y
control
000 0 1 2 3
001 4 5 6 7
010 8 9 10 11
011 12 13 14 15
100 16 17 18 19
101 20 21 22 23
110 24 25 26 27
111 28 29 30 31
00 01 10 11
000 0 1 2 3
001 4 5 6 7
010 8 9 10 11
011 12 13 14 15
100 16 17 18 19
101 20 21 22 23
110 24 25 26 27
111 28 29 30 31
00 01 10 11
• R1 = 00000 (inicio del vector)
• R2 = 3 (stride, primo con 4)
LVWS V1, (R1, R2)
V1 (0, 3, 6, 9)
Arquitectura de Computadores I. Tema 5. Lección 18 25
• R1 = 00000 (inicio del vector)
• R2 = 2 (stride, MCM(4, 2) = 2)
LVWS V1, (R1, R2)
Contención en los módulos 0 y 2
Acceso a Componentes no Adyacentes: Vector Stride
La organización tipo S degrada las
prestaciones rápidamente si la
distancia entre componentes del
vector (stride) es mayor que 1.
Este caso es bastante frecuente en
procesamiento vectorial
do 10 i=1,100
do 10 j=1,100
A(i,j)=0.0
do 10 k=1,100
10 A(i,j)=A(i,j)+B(i,k)*C(k,j)
Para B interesa que las columnas estén en el mismo módulo (se accede por filas)
Para C interesa que las filas estén en el mismo módulo (se accede por columnas)
Los procesadores vectoriales proporcionan
instrucciones de acceso a memoria con stride
para facilitar la vectorización de estas
operaciones, así que el sistema de memoria
debería ejecutarlas eficientemente
B(1,1)
B(2,1)
C(1,1)
C(1,2)
C(2,1)
C(2,2)
B(1,2)
B(2,2)
Vector Stride (II)
Arquitectura de Computadores I. Tema 5. Lección 18 26
Para ampliar …
Arquitectura de Computadores I. Tema 5. Lección 18 27
• Páginas Web:
– http://www.top500.org/
– http://www.es.jamstec.go.jp/esc/eng/outline.html
• Artículos de Revistas y Libros:
– HWANG, K.: “Advanced Computer Architecture. Parallelism, Scalability,
Programmability”. McGraw Hill, 1993 [Capítulo 8, 8.1-8.4]
– HWANG, K.; BRIGGS, F.A.: “Arquitectura de Computadoras y Procesamiento
Paralelo”. McGraw Hill, 1988. [Capítulos 3 y 4]
– LUBECK, O.; MOORE, J.; MENDEZ, R.: “A benchmark comparison of three
supercomputers: Fujitsu VP-200, Hitachi S810/20, and Cray X-MP/2”. IEEE
Computer, 18:1, pp.10-29. Enero, 1985.
– PADUA, D.; WOLFE, M.: “Advanced Compiler Optimizations for
Supercomputers”. Comm. Of the ACM, 29:12, pp.1184-1201. Diciembre,
1986.

Más contenido relacionado

Similar a Arquitectura de computadores I

Arquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptxArquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptx
RicardoSusa4
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
Victor Asanza
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
JosueYDB
 
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Aldo Altamira
 

Similar a Arquitectura de computadores I (20)

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Arquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptxArquitectura_de_Computadoras_11_04_15.pptx
Arquitectura_de_Computadoras_11_04_15.pptx
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, EXAMEN RESUELTO 3ra EVALUACIÓN (2019 1er ...
 
1. introduccion
1. introduccion1. introduccion
1. introduccion
 
Arquitecturas de computadores_avanzadas
Arquitecturas de computadores_avanzadasArquitecturas de computadores_avanzadas
Arquitecturas de computadores_avanzadas
 
Portafolio arquitectura felix
Portafolio arquitectura felixPortafolio arquitectura felix
Portafolio arquitectura felix
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Itcr el 3310 i semestre 2008 soluciones
Itcr el 3310  i semestre 2008 solucionesItcr el 3310  i semestre 2008 soluciones
Itcr el 3310 i semestre 2008 soluciones
 
Portafolio arquitectura felix
Portafolio arquitectura felixPortafolio arquitectura felix
Portafolio arquitectura felix
 
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdfarquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
arquitecturadelcomputador-150519021612-lva1-app6892 (1).pdf
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computo
 
Arquitectura del computador
Arquitectura del computadorArquitectura del computador
Arquitectura del computador
 
Clusterhomogeneorocks
ClusterhomogeneorocksClusterhomogeneorocks
Clusterhomogeneorocks
 
introduccion a la informatica
introduccion a la informaticaintroduccion a la informatica
introduccion a la informatica
 
historia de los computadores
historia de los computadores historia de los computadores
historia de los computadores
 
Micropro
MicroproMicropro
Micropro
 
ARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdfARQII_00-Repaso-2012.pdf
ARQII_00-Repaso-2012.pdf
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
Modelosdearquitecturasdecomputadoras 120905220343-phpapp01
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 

Último

Último (20)

ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.ppt
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 

Arquitectura de computadores I

  • 1. ARQUITECTURA DE COMPUTADORES I Curso 2011/2012 Tema 5: Procesadores Vectoriales Lección 18: Características Generales de los Procesadores Vectoriales
  • 2. Bibliografía Arquitectura de Computadores I. Tema 5. Lección 18 2 1. J. L. HENNESSY and D. A. PATTERSON. Computer Architecture. A Quantitative Approach, Morgan Kaufmann, 3rd edition, 2003. 2. D. SIMA and T. FOUNTAIN, and P. KACSUK. Advanced Computer Architectures: A Design Space Approach, Addison Wesley, 1997. 3. K. HWANG. Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw Hill, 1992. 4. J. ORTEGA, M. ANGUITA y A. PRIETO. Arquitectura de Computadores, Thomson, 2004.
  • 3. Tema 5. Procesadores Vectoriales 1. Introducción: Motivación y Nota Histórica [Ortega 6.1; Hennessy G.1] 2. Principio, Espacio de Diseño y Prestaciones Generales 3. El Sistema de Memoria 4. Medida de Prestaciones de los Procesadores Vectoriales 5. Problemas en el Procesamiento Vectorial y Soluciones Arquitectura de Computadores I. Tema 5. Lección 18 3
  • 4. Motivación Arquitectura de Computadores I. Tema 5. Lección 18 4 • Presentan una microarquitectura orientada a obtener altas prestaciones en el procesamiento vectorial (sumas de vectores, productos escalares,...) • Su repertorio de instrucciones máquina incluye instrucciones donde los operandos y los resultados son vectores • Propiedades de las operaciones con Vectores – El cálculo de uno de los componentes del vector es independiente del de otros componentes: Se obtienen buenos rendimientos en las unidades funcionales segmentadas A = (a1, a2, …, an) B = (b1, b2, …, bn) A+B = (a1+b1, a2+b2, …, am+bm) – Una sola operación vectorial especifica una gran cantidad de cálculos: Se reduce el número de instrucciones a ejecutar y se evitan riesgos de control al sustituir bucles enteros por una instrucción. ADDV V1,V2,V3 = for i:=1 to n do V1(i):=V2(i)+V3(i) – Los vectores pueden almacenarse ocupando posiciones adyacentes y las operaciones vectoriales acceden a varios de ellos: Se aprovecha de forma eficiente el entrelazado de memoria y las organizaciones S y C para mejorar el ancho de banda de la memoria
  • 5. Ejemplo de Repertorio de Instrucciones Vectoriales: DLXV Código Escalar Cálculo de Y = a*X + Y VLR: Registro de longitud vectorial VM: Registro de Máscara Código Vectorial Arquitectura de Computadores I. Tema 5. Lección 18 5
  • 6. Evolución de las Arquitecturas Vectoriales Arquitectura de Computadores I. Tema 5. Lección 18 6 Alliant Multiprocesador (8 proc.) (1987) CDC STAR100 (m-m) (1972) CYBER205 (1981) ETA-10 (1987) (10 proc, 10 GF m-m) Convex C-1 y C-2 (1985) Minisupercomp. (Compil., 0.5-1 M$-diez veces menos) C-4 (1994) Cray Cray 1 (1976) (reg. Vectoriales) (Proc. Escalar más rápido del momento) (12.5 ns == 80 MHz) Cray X-MP (1983) (varios cauces de memoria) (9.5 ns == 105 MHz) Cray.2 (1985) (256 Mpal 60 b/pal) Cray Y-MP (1988) (Cray: CComp.Corp y CRes. (1989) Cray-3 Cray-4 (95-96) C-90 (1991) (16 Proc. 250 MHz) T3D (1993) J90 (1995) (250 K$) T90 (1996) (10 M$) TI ASC (m-m) (1972) NEC SX/2 (1984) SX/4 (1995) Hitachi S810-820 (1984) IBM 171 inst. vectoriales en la arq. S/370 Unid. 3090/VF en la CPU 3090 (86) Fujitsu VP-100 VP-200 (1982) Compañía Años 70’s 80’s 90’s
  • 7. VPP5000 Fujitsu 1999-2001 SR8000 Hitachi 2000 SX-5 NEC 2000 VPP800 Fujitsu 1998 VPP700 Fujitsu 1998 SX-4 NEC 1997 Arquitectura de Computadores I. Tema 5. Lección 18 7 Computadores Recientes con Procesadores Vectoriales
  • 8. Computador Vectorial #1 en el TOP500 (Nov ’02) NEC Earth Simulator: 5120 Procesadores Vectoriales (640 nodos x 8 Proc.) Arquitectura de Computadores I. Tema 5. Lección 18 8 Rmax=35.86 TFLOPS Rpico=40.96 TFLOPS
  • 9. Evolución Reciente de los Procesadores Vectoriales 1 0 0 % 9 0 % 8 0 % 7 0 % 6 0 % 5 0 % 4 0 % 3 0 % 2 0 % 1 0 % 0 % S I M D Es c alar Vectorial Distribución de arquitecturas en el TOP500: 2 4 2 2 2 0 1 8 1 6 1 4 1 2 1 0 8 6 4 2 0 N a t i o n a l A e r o s p a c e L a b o r a t o r y o f J a p a n L e i b n i z R e c h e n z e n t r u m A t m o s p h e r i c E n v i r o n m e n t S e r v i c e ( A E S ) U n i v e r s i t y o f T o k y o N E C U n i v e r s i t y o f T o k y o T h e E a r t h S i m u l a t o r C e n t e r Arquitectura de Computadores I. Tema 5. Lección 18 9 Situación del mejor computador vectorial en el TOP500:
  • 10. Situación de los Procesadores Vectoriales en el TOP500 TOP500 (Noviembre de 2006) TOP500 (Noviembre de 2007) Arquitectura de Computadores I. Tema 5. Lección 18 10
  • 11. Situación en el TOP500 (cont.) TOP500 (Noviembre de 2008) TOP500 (Noviembre de 2009): NEC SX-9/E (Posición 31) Arquitectura de Computadores I. Tema 5. Lección 18 11 TOP500 (Noviembre de 2010): NEC SX-9/E (Posición 54) (Velocidad pico: 131.07 TFLOPS)
  • 12. Situación en el TOP500 (nuevo Earth Simulator) Cada CPU: • Procesador Superescalar de 4 vías (SU) • Procesador Vectorial (VU) con 8 grupos de 72 registros de 256 componentes y 6 tipos de cauces (8 cauces). • Frecuencia: 3.2 GHz Arquitectura de Computadores I. Tema 5. Lección 18 12 Extensiones Vectoriales para el Repertorio de Instrucciones: Tarantula (Alpha) AltiVec (PowerPC)
  • 13. Tema 5. Procesadores Vectoriales 1. Introducción: Motivación y Nota Histórica 2. Principio, Espacio de Diseño y Prestaciones Generales [Ortega 6.2; Hennessy G.2] 1. Características del Procesamiento Vectorial 2. Aplicación de la Segmentación 3. Tipos de Arquitecturas Vectoriales 3. El Sistema de Memoria 4. Medida de Prestaciones de los Procesadores Vectoriales 5. Problemas en el Procesamiento Vectorial y Soluciones Arquitectura de Computadores I. Tema 5. Lección 18 13
  • 14. Características del Procesamiento Vectorial Arquitectura de Computadores I. Tema 5. Lección 18 14 • Longitud de palabra: – Suele ser mayor que el empleado en el resto de procesadores en todos los niveles (memoria, unidades de ejecución, registros, etc.) • Longitud de los vectores: – Los vectores se pueden operar con una sola instrucción, así que cuanto mayores sean, mejor • Uso de la segmentación: – En el procesamiento de instrucciones se usa para ganar ILP – En el procesamiento de datos se usa a varios niveles: • Microsegmentación: Segmentación de las unidades vectoriales • Macrosegmentación: Encadenamiento de las operaciones vectoriales • Uso de flujos de datos múltiples (replicación): – Si se dispone de varios cauces vectoriales segmentados que implementan la misma operación vectorial (ej. suma), se podrán realizar varias sumas segmentadas a la vez – Se puede usar para lograr: • Paralelismo funcional: Si las operaciones son de instrucciones diferentes • Paralelismo de datos: Si se reparten los elementos de un vector entre los cauces
  • 15. Tipos de Arquitecturas Vectoriales Arquitectura de Computadores I. Tema 5. Lección 18 15 • Memoria – Memoria: – Todas las instrucciones vectoriales operan con datos y resultados en memoria – Ejemplos: • CDC 6600, CDC 7600 • CDC STAR100, TI ASC, CDC CYBER-205 • Registro – Registro: – Operan con datos y resultados en registros y tienen instrucciones de tipo LOAD/STORE para cargar/almacenar los vectores – Ejemplos: • Cray, NEC SX, Fujitsu VPP, Convex, Hitachi
  • 16. IF ID OF Reg. Escalares Cauces Esc. Cauces Vector. Reg. Vectoriales Unidad LOAD/STORE E/S IF ID OF Datos Escalares Flujo Instr. Control Reg. Escalares Cauces Esc. Reg. Vectoriales Cauces Vector. Unidad Escalar Unidad Vectorial Datos Vectoriales Procesador Vectorial Unidad LOAD/STORE Memoria Principal Registro Vectorial a2 a1 a3 a4 b2 b1 b3 b4 a1+b1 a2+b2 a8 a7 a6 a5 a4 a3 b8 b7 b6 b5 b4 b3 a2 a1 a3 a4 b2 b1 b3 b4 a8 b8 a7 b7 a6 b6 a5 b5 a4 b4 a3 b3 a2+b2 a1+b1 Registros Vectoriales Cauce Vectorial Aplicación de la Segmentación ILP: El procesamiento de instrucciones está segmentado y se utilizan múltiples unidades funcionales Paralelismo de datos: cada instrucción vectorial codifica una operación sobre todos los componentes del vector Unidades funcionales segmentadas Arquitectura de Computadores I. Tema 5. Lección 18 16
  • 17. Características de Procesadores Vectoriales Representativos Arquitectura de Computadores I. Tema 5. Lección 18 17
  • 18. – Palabras de 64 bits – Frecuencia 80 MHz – Memoria 1 Mpalabra (bipolar, 64 bits + 8 de corrección de errores) – B,T,V (1 palabra/ciclo) – A,S (2 palabras/ciclo) – Inst. (4 pal//ciclo) – 8 Reg Vectoriales (64 registros de 64 bits) – 12 canales de Entrada y 12 de Salida Arquitectura de Computadores I. Tema 5. Lección 18 18 Esquema del Cray 1
  • 19. Tema 5. Procesadores Vectoriales 1. Introducción: Motivación y Nota Histórica 2. Principio, Espacio de Diseño y Prestaciones Generales 3. El Sistema de Memoria [Ortega 6.3, Hwang 8.1, Hwang-Briggs 3.1.4] 1. Unidades de Carga y Almacenamiento y Entrelazado de Memoria 2. Acceso a Memoria Simultáneo y Concurrente 4. Medida de Prestaciones de los Procesadores Vectoriales 5. Problemas en el Procesamiento Vectorial y Soluciones Arquitectura de Computadores I. Tema 5. Lección 18 19
  • 20. Requisitos del Sistema de Memoria Arquitectura de Computadores I. Tema 5. Lección 18 20 Al igual que el resto de las unidades de ejecución, las unidades de memoria deberían poder cargar/almacenar un dato cada ciclo de reloj para no introducir cuellos de botella Para mantener este ancho de banda se debe diseñar un sistema de memoria con múltiples bancos, ya que: – Muchos computadores vectoriales soportan varios accesos a memoria por ciclo, (múltiples unidades de memoria) y el tiempo de acceso a memoria es mayor que el tiempo de ciclo de CPU – Los procesadores vectoriales soportan la característica de poder acceder simultáneamente a datos no adyacentes en memoria (vector stride, gather- scatter) – La mayoría de los computadores vectoriales tienen varios (o bastantes) procesadores compartiendo la memoria, y cada procesador generará su propio flujo de direcciones
  • 21. Entrelazado de Memoria (I) El entrelazado consiste en distribuir el espacio de memoria del procesador entre distintos módulos de memoria. En una dirección de memoria, un conjunto de bits indican el módulo y el resto indican la posición dentro de ese módulo. Si los bits que indican el módulo son los menos significativos se habla de entrelazado de orden inferior y si son los más significativos se trata de entrelazado de orden superior. 01101010101010100100 Posición dentro del Módulo Módulo Entrelazado de orden inferior 01101010101010100100 Posición dentro del Módulo Arquitectura de Computadores I. Tema 5. Lección 18 21 Módulo Entrelazado de orden superior Entrelazado de una memoria de 220 palabras en 26=64 módulos
  • 22. Entrelazado Superior Entrelazado Inferior 0 1 0 1 1 (11) 25=32 direcciones de memoria 22=4 módulos de 23=8 posiciones 000 0 8 16 24 001 1 9 17 25 010 2 10 18 26 011 3 11 19 27 100 4 12 20 28 101 5 13 21 29 110 6 14 22 30 111 7 15 23 31 00 01 10 11 000 001 010 011 100 101 110 111 11 10 01 00 3 7 11 15 19 23 27 31 2 6 10 14 18 22 26 30 1 5 9 13 17 21 25 29 0 4 8 12 16 20 24 28 0 1 0 1 1 (11) Entrelazado de Memoria (II) Arquitectura de Computadores I. Tema 5. Lección 18 22
  • 23. Acceso a Memoria Simultáneo o Tipo S Módulo 0 Módulo 1 Módulo 2 Módulo M-1 Multiplexor n-m bits más significativos m bits menos significativos n m n-m Con Entrelazado Inferior N=2n direcciones M=2m módulos 2(n-m) direcciones/módulo Acceso 1 Ta T = Ta + M*t t Acceso 2 Arquitectura de Computadores I. Tema 5. Lección 18 23 0 1 …… M-1 0 1 …… M-1 0 M-1 Ta = M*t
  • 24. Acceso a Memoria Concurrente o Tipo C m n-m n Con Entrelazado Inferior N=2n direcciones M=2m módulos 2(n-m) direcciones/módulo Ta M-1 t t 0 1 …… M-1 T = Ta + M*t 0 1 Ta Ta Ta = M*t Permite acceder concurrentemente a M direcciones, con lo que soporta el uso de strides en los accesos a memoria m n-m 0 1 M-1 decod R/W M6 M7 M0 Señales Ocupado/ Completo Arquitectura de Computadores I. Tema 5. Lección 18 24 Controlador de Memoria Registros de Direcciones y control
  • 25. 000 0 1 2 3 001 4 5 6 7 010 8 9 10 11 011 12 13 14 15 100 16 17 18 19 101 20 21 22 23 110 24 25 26 27 111 28 29 30 31 00 01 10 11 000 0 1 2 3 001 4 5 6 7 010 8 9 10 11 011 12 13 14 15 100 16 17 18 19 101 20 21 22 23 110 24 25 26 27 111 28 29 30 31 00 01 10 11 • R1 = 00000 (inicio del vector) • R2 = 3 (stride, primo con 4) LVWS V1, (R1, R2) V1 (0, 3, 6, 9) Arquitectura de Computadores I. Tema 5. Lección 18 25 • R1 = 00000 (inicio del vector) • R2 = 2 (stride, MCM(4, 2) = 2) LVWS V1, (R1, R2) Contención en los módulos 0 y 2 Acceso a Componentes no Adyacentes: Vector Stride
  • 26. La organización tipo S degrada las prestaciones rápidamente si la distancia entre componentes del vector (stride) es mayor que 1. Este caso es bastante frecuente en procesamiento vectorial do 10 i=1,100 do 10 j=1,100 A(i,j)=0.0 do 10 k=1,100 10 A(i,j)=A(i,j)+B(i,k)*C(k,j) Para B interesa que las columnas estén en el mismo módulo (se accede por filas) Para C interesa que las filas estén en el mismo módulo (se accede por columnas) Los procesadores vectoriales proporcionan instrucciones de acceso a memoria con stride para facilitar la vectorización de estas operaciones, así que el sistema de memoria debería ejecutarlas eficientemente B(1,1) B(2,1) C(1,1) C(1,2) C(2,1) C(2,2) B(1,2) B(2,2) Vector Stride (II) Arquitectura de Computadores I. Tema 5. Lección 18 26
  • 27. Para ampliar … Arquitectura de Computadores I. Tema 5. Lección 18 27 • Páginas Web: – http://www.top500.org/ – http://www.es.jamstec.go.jp/esc/eng/outline.html • Artículos de Revistas y Libros: – HWANG, K.: “Advanced Computer Architecture. Parallelism, Scalability, Programmability”. McGraw Hill, 1993 [Capítulo 8, 8.1-8.4] – HWANG, K.; BRIGGS, F.A.: “Arquitectura de Computadoras y Procesamiento Paralelo”. McGraw Hill, 1988. [Capítulos 3 y 4] – LUBECK, O.; MOORE, J.; MENDEZ, R.: “A benchmark comparison of three supercomputers: Fujitsu VP-200, Hitachi S810/20, and Cray X-MP/2”. IEEE Computer, 18:1, pp.10-29. Enero, 1985. – PADUA, D.; WOLFE, M.: “Advanced Compiler Optimizations for Supercomputers”. Comm. Of the ACM, 29:12, pp.1184-1201. Diciembre, 1986.