Segmentación de cauce y procesadores segmentados

Transcripción

Segmentación de cauce y procesadores segmentados
XV
Presentación....................................................................................
Prólogo
Capítulo 1.
XIX
Introducción:
1.1.
1.2.
de prestaciones.
...............................
1
3
1.1.1.
1.1.2.
3
8
Niveles de descripción de un computador
..................................
Definición de Arquitectura del Computador.
................................
Evolución y prestaciones
de las arquitecturas
en las arquitecturas
Clasificaciones
de un computador
...............................
25
31
.....................................
34
36
37
Conjuntos de programas de prueba ........................................
Mejoradeprestaciones
...................................................
El coste de un computador ................................................
Ejerciciosyproblemas
Bibliografía
paralelas.
14
16
21
25
...............................................
de las arquitecturas
Evaluación de prestaciones
1.4.1.
1.4.2.
1.4.3.
11
......................................
Un modelo sencillo de prestaciones: tiempo de CPU de un programa.
..........
Consecuencias de la--evolución prevista en la tecnología.
.....................
Consecuencias de la evolución de las aplicaciones y los mercados.
.............
El paralelismo
1.3.1.
1.4.
e incremento
Elconceptodearquitectura......................................................
1.2.1.
1.2.2.
1.2.3.
1.3.
paralelismo
40
................................................................
41
.......................................................................
PARTE I
PROCESADO RES PARALELOS
Capítulo 2.
Segmentación de cauce y procesadores segmentados
47
...................................
2.1. Introducción: definición y notas históricas .........................................
2.2. Principios de la segmentación y mejora de prestaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Diseño de un procesador segmentado. gestión de riesgos de datos, control y estructurales.
2.3.1. Soluciones para las dependencias de datos de tipo RAW ......................
2.3.2. Implementación de las instrucciones de salto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. Implementación de las instrucciones de acceso a memoria. . . . . . . . . . . . . . . . . . . . .
2.4. El espacio de diseño de los procesadores segmentados ..............................
2.5. Optimización de cauces funcionales ..............................................
2.5.1. Ejemplos de unidades funcionales segmentadas
~....
2.5.2. Diseño de una unidad de control para un cauce segmentado ..................
2.6. Interrupcionesenunprocesadorsegmentado
......................................
2.7. La familia deprocesadoresARM .................................................
49
50
53
Ejerciciosyproblemas
98
Bibliografía
...............................................................
.......................................................................
56
59
64
67
74
75
80
87
92
99
@ ITES-Paraninfo
VIII
I Contenido
Capítulo 3.
Procesadores superescalares (1):microarquitecturas y principios de funcionamiento.
3.1. Introducción: definición y notas históricas .........................................
3.2. Paralelismo entre instrucciones (ILP) y paralelismo de la máquina. . . . . . . . . . . . . . . . . . . .
3.3. Procesamientosuperescalardeinstrucciones
...
103
107
108
3.3.1. Decodificación paralela y predecodificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2. Emisióndeinstrucciones
.................................................
3.3.3. Renombramientoderegistros
.............................................
3.3.4. Mantenimiento de la consistencia. Buffer de reordenamiento ..................
3.4. Procesamiento de las instrucciones de salto ........................................
113
116
129
138
3.4.1. Alternativas para la gestión de los saltos condicionales. . . . . . . . . . . . . . . . . . . . . . .
3.4.1.1. Alternativas para la predicción de saltos. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1.2. Ramificaciónmulticamino
:.............
149
3.4.2. Instruccionesdeejecucióncondicional......................................
163
Ejerciciosyproblemas
171
.......................................................................
Procesadores superescalares (11):implementaciones
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
174
....................................
177
Introducción ..................................................................
LasmicroarquitecturasP6yP7deIntel
...........................................
LosprocesadoresPowerPC......................................................
ProcesadoresMIPSR1xOOO ......................................................
ProcesadoresUltraSPARC .......................................................
ProcesadoresAlpha ............................................................
Conclusiones ..................................................................
Ejerciciosyproblemas
Bibliografía
Capítulo
179
182
202
206
210
216
221
...............................................................
224
.......................................................................
225
5. ProcesadoresVLIW .................................................................
229
5.1. Introducción: motivación, definiciones y notas históricas. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Aprovechamientodel paralelismoen las arquitecturasVLIW """"""""""""
5.2.1.
Desenrollado
de bucles ...................................................
5.2.2. Segmentación software ...................................................
5.2.3. Planificación de trazas
5.3. Recursosdeapoyoalcompilador
................
................................................
231
236
237
240
242
249
5.3.1. Operaciones con predicado ...............................................
5.3.2. Recursos para preservar el comportamiento frente a las excepciones. . . . . . . . . . . .
5.3.3. Recursos para la especulación en los accesos a memoria. . . . . . . . . . . . . . . . . . . . . .
250
254
256
5.4. Ejemplos de procesadores VLIW y perspectivas futuras. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1. ElprocesadorItanium2
..................................................
5.4.2. Los procesadores de Transmeta ............................................
5.4.3. Perspectivas de losprocesadores ILP .......................................
257
Ejerciciosyproblemas
273
Bibliografía
@
150
163
164
...............................................................
ITES-Paraninfo
.......................................................................
"""'"
Capítu
146
3.5. Interrupcionesenunprocesadorsuperescalar......................................
Bibliografía
Capítulo 4.
. . . . . . 101
258
264
269
275
Capítl
~
Contenido
101
Capítulo 6.
103
107
108
Procesadoresvectoriales
I IXI
.............................................................
277
Introducción: motivación, definiciones y notas históricas. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arquitecturavectorialyprestaciones
.............................................
El sistema de memoria en los procesadores vectoriales ..............................
Medidas de rendimiento en los procesadores vectoriales ............................
Eficienciadelprocesamientovectorial
............................................
6.6. Ejemplode procesadorvectorial:EarthSimulator...................................
279
283
289
295
301
308
Ejerciciosyproblemas
311
6.1.
6.2.
6.3.
6.4.
6.5.
113
116
129
138
146
Bibliografía
...............................................................
.......................................................................
312
149
PARTE 11
150
163
163
164
171
174
177
179
182
202
206
no
~16
COMPUTADORES
Capítulo 7.
PARALELOS
............
315
..................................
317
Niveles y tipos de paralelismo implementados en la arquitectura. . . . . . . . . . . . . .
Niveles y tipos de paralelismo implícito en una aplicación. . . . . . . . . . . . . . . . . . . .
Unidades de ejecución: instrucciones, hebras y procesos. . . . . . . . . . . . . . . . . . . . . .
Relación entre paralelismo implícito, explícito y arquitecturas paralelas. . . . . . . . .
Detección, utilización, implementación y extracción del paralelismo. . . . . . . . . . . .
317
317
319
320
321
Introducción: computadores paralelos, programación paralela y prestaciones.
7.1. Arquitecturas paralelas y niveles de paralelismo.
7.1.1.
7.1.2.
7.1.3.
7.1.4.
7.1.5.
7.2. Motivación al estudio de computadores paralelos.
.................................
322
7.2.1. Aplicaciones que requieren computadores paralelos. . . . . . . . . . . . . . . . . . . . . . . . . . 322
7.2.2. Accesibilidad al hardware y al software para computadores paralelos. . . . . . . . . . 325
7.2.3. Estudio de diferentes facetas de la arquitectura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
~24
7.3. Espacio de diseño. Clasificación y estructura general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
333
7.3.1. Clasificación ............................................................
344
7.3.2. Convergencia ...........................................................
~25
7.4. Programación paralela
~21
:29
.31
136
~7
40
42
409
50
54
56
,7
;8
;4
;9
'3
'5
345
.......................................................
7.4.1. Punto de partida
.................
7.4.2. Modosdeprogramación
;........................
7.4.3. Herramientas para obtener programas paralelos. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliotecas de funciones para programación paralela. . . . . . . . . . . . . . . . . . . . . . . . .
Lenguajes paralelos y directivas del compilador .............................
Compiladoresparalelos ..................................................
7.4.4. Alternativas de comunicación .............................................
7.4.5. Estilosdeprogramación ..................................................
346
347
349
350
350
351
352
356
356
357
358
Paso de mensajes .......................................................
Variables compartidas ....................................................
Paralelismo de datos .....................................................
7.4.6. Alternativas para crear y terminar procesos o hebras. . . . . . . . . . . . . . . . . . . . . .
7.4.7. Estructurasdeprogramasparalelos
........................................
.
359
362
Dueño-esclavo (master-slave),o granja de tareas (task-farming) . . . . . . . . . . . . . . . . . . 362
Paralelismo de datos o descomposición de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Divideyvencerás(divideandconquer)
. 364
365
Segmentada(Pipeline),oflujodedatos
.....................................
7.4.8. Procesodeparalelización
.................................................
366
@ ITES-Paraninfo
;.
H
I Contenido
Descomposiciónentareas
Asignar tareas a procesos o hebras
Escribirelcódigoparalelo
Evaluacióndeprestaciones
7.4.9.
Ejemplo: paralelizar
367
368
,370
370
el cálculo del número n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Descomposiciónentareas
Asignar tareas a procesos o hebras
Escribirelcódigoparalelo:versiónMPI
VersióndecódigoOpenMP
7.5.
Capítulo 8.
371
371
372
373
374
Prestacionesencomputadoresparalelos
376
7.5.1.
7.5.2.
Benchmarkencomputadoresparalelos
Ganancia en prestaciones. Escalabilidad
378
382
Gananciaenvelocidad
382
LeydeAmdahl
Gananciaescalable.LeydeGustafson
Eficiencia
Funcióndeisoeficiencia
385
386
387
388
Ejerciciosyproblemas
389
Bibliografía
391
Sistemas de comunicación en computadores paralelos.
.................................
8.1. Clasificación de sistemas de comunicación para computadores.
8.2. Notahistórica .................................................................
......................
393
395
396
397
398
398
. . . . . . . . . . 398
8.3. Estructura general del sistema de comunicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
8.4. Estructura y funcionamiento de la interfaz de red. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
407
8.4.1. Tareasdelainterfazdered................................................
8.2.1.
8.2.2.
8.2.3.
8.2.4.
RedesWAN .............................................................
RedesLAN .............................................................
RedesSAN .............................................................
Redes diseñadas o implementadas a medida para sistemas paralelos.
:
8.4.1.1. Almacenamiento (buffer) de salida y de entrada de paquetes. . . . . . . . . .
8.4.1.2. Formateodelpaquete
............................................
8.4.1.3. Copia y almacenamiento de datos .................................
GestióndedispositivosdeE/S
....................................
Optimización del manejador del hardware de una interfaz . . . . . . . . . . . .
Alternativas para implementar manejadores de red. . . . . . . . . . . . . . . . . .
8.4.1.4. Protección en multiprogramación. Traducción de direcciones virtuales
afísicas ........................................................
8.4.1.5. Control de flujo .................................................
8.4.1.6. Dirección física, encaminamiento y reconfiguración ..................
8.4.2. Ubicación de la interfaz respecto al procesador ..............................
Enelprocesador.........................................................
Conexiónalacaché ......................................................
Conexiónalbusdelsistemaosimilar.......................................
Conexión al bus de E/S
...............
408
408
410
410
413
414
417
418
419
419
419
420
420
420
8.5. Estructura y funcionamiento de la red de interconexión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
@ ITES-Paraninfo
Ca~
....
Contenido
I XI I
8.5.1. Conmutador ............................................................
8.5.2. Enlacesycanales ........................................................
8.6. Prestaciones generales del sistema de comunicación.
8.6.1.
8.6.2.
Funcionalidad
Ejerciciosyproblemas
Bibliografía
...............................
Prestacionesextremo-a-extremo
...........................................
Prestaciones globales .....................................................
8.6.3. Medidasdeprestacionesadicionales
8.6.4.
421
424
""""""""""""""""""'"
del sistema de comurÜcación. Servicios de comunicación
colectivos.
426
427
431
434
436
438
...............................................................
438
.......................................................................
Capítulo9. Redes de interconexión para computadores paralelos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
9.1. Espacio de diseño en redes de interconexión. Niveles de servicios. . . . . . . . . . . . . . . . . . . .
9.2. Topología y clasificación de redes ................................................
9.2.1. Redesestáticas ..........................................................
9.2.1.1. Tipos de redes estrictamente ortogonales ...........................
9.2.1.2. Distancia mínima entre conmutadores de la red. . . . . . . . . . . . . . . . . . . . .
Distancia mínima en mallas
:.................................
Distancia mínima en toros unidireccionales .........................
Distancia mínima en toros bidireccionales . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.1.3. Encaminamiento ................................................
9.3.
443
447
450
452
453
453
454
454
456
9.2.2.
Redesdinámicas.........................................................
9.2.3.
Redesbloqueantes
.......................................................
Redomega..............................................................
Redmariposa
'.............................................
Redcubomultietapa
.....................................................
Red línea base ...........................................................
Redbaraje
..............................................................
456
459
459
460
460
461
461
9.2.4.
9.2.5.
Semejanza entre redes ....................................................
Prestaciones.............................................................
463
465
9.2.5.1. Prestaciones para topologías estáticas ortogonales
...................
9.2.5.2. Prestaciones para topologías dinámicas bloqueantes
.................
Técnicasdeconmutación........................................................
466
467
9.3.1.
9.3.2.
9.3.3.
9.3.4.
9.3.5.
471
472
474
475
477
468
Almacenamientoyreenvío................................................
Conmutación vermiforme (wormhole).......................................
Conmutación virtual cut-through ...........................................
Conmutación de circuitos .................................................
Canalesvirtuales ........................................................
9.4. Control de flujo ................................................................
479
9.4.1. Control de flujo físico ....................................................
9.4.2. Control de flujo de conmutación ...........................................
9.4.3. Control de flujo extremo-a-extremo ........................................
9.5. Encaminamiento ...............................................................
481
482
484
485
9.5.1. Espaciodediseño........................................................
Funcionalidad
'................
Selección del camino concreto de entre los que ofrece la topología. .............
486
486
486
@ ITES-Paraninfo
XII
I Contenido
Decisión de encaminamiento ..............................................
Implementación .........................................................
Canales de salida candidatos y número de caminos alternativos. . . . . . . . . . . . . . .
9.5.2. Encaminamiento en un anillo unidireccional ................................
9.5.3. Tratamiento de interbloqueos .............................................
9.5.4. Encaminamiento ordenado por dimensión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.5. Encaminamiento de cambio de dirección (turn-model) . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.6. Algoritmos de encaminamiento en redes mariposa unidireccionales y similares. .
9.5.7. Algoritmosdeencaminamientoup-down
....................................
9.5.8. Encaminamiento up-down en redes tipo mariposa bidireccionales .............
9.5.9. Encaminamiento up-down en redes irregulares. .. . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.10. Algoritmos adaptativos con canales de escape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ejerciciosyproblemas
Bibliografía
10.1. Mantenimiento
519
521
..................................................................
de coherencia en el sistema de memoria.
491
492
497
501
505
508
510
511
513
516
...............................................................
.......................................................................
Capítulo 10. Multiprocesadores
487
489
489
. . . . . . . . . . . .. . . . . . . . . . . . . . . .
523
10.1.1. Problema de coherencia y espacio de diseño. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
530
10.1.2. Protocolos de coherencia basados en espionaje (snoopy) .......................
10.1.2.1. Protocolo de invalidación de tres estados (MSI) . . . . . . . . . . . . . . . . . . . . . . 530
530
Posibles estados de un bloque .....................................
Transferencias que puede generar un nodo con caché . . . . . . . . . . . . . . . . . 531
531
Transiciones de estado de un bloque ...............................
534
10.1.2.2. Protocolo de invalidación de cuatro estados (MESI) ..................
Apén
534
Posibles estados de un bloque .....................................
Transferencias que puede generar un nodo con caché . . . . . . . . . . . . . . . . . 534
535
Transiciones de estado de un bloque ...............................
10.1.3. Protocolos de coherencia basados en directorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
10.1.3.1. Ejemplo de protocolo de coherencia basado en directorio.
............
538
Estados de un bloque en cachés y en el directorio. . . . . . . . . . . . . . . . . . . .
Transferencias generadas por el protocolo de coherencia. . . . . . . . . . . . . .
Secuencia de paquetes generados por el protocolo de coherencia
y transiciones entre estados .......................................
539
539
541
. . . . . . . . . . . . . . . . . . . . . . . . 547
Directoriodevectordebitscompleto
. 547
Directorio de vector de bits asignados a grupos. . . . . . . . . . . . . . . . . . . . . . 548
548
Directoriolimitado ..............................................
549
Directorioencadenado ...........................................
10.1.3.2. Alternativas de organización del directorio.
10.2. Consistencia de memoria
,...........................
10.2.1. Consistenciasecuencial...................................................
550
554
555
10.2.1.1. Consideracionessobreelhardware
................................
559
10.2.1.2. Consideraciones sobre el software .................................
10.2.1.3. Reducción de la penalización por acceso a memoria. . . . . . . . . . . . . . . . . . 559
561
10.2.2. Modelosrelajadosdeconsistencia..........................................
Modelos en los que las lecturas adelantan escrituras. . . . . . . . . . . . . . . . . . . . . . . . . . 562
@ ITES-Paraninfo
Índic
...
Contenido I KIII
I
Modelos en los que las lecturas adelantan escrituras y las escrituras adelantan
escrituras ...............................................................
563
Modelos que permiten cualquier reordenación entre escrituras y lecturas. . . . . . . 563
10.3. Sincronización .................................................................
567
10.3.1. Soportehardware........................................................
10.3.2. Cerrojos ................................................................
569
573
Cerrojos simples .........................................................
Cerrojos con etiqueta .....................................................
Cerrojos basados encolas .................................................
Prestaciones de diferentes implementaciones
de cerrojos.
10.3.3. Barreras ................................................................
575
579
580
581
.....................
Barreras centralizadas ....................................................
Barreras en árbol ........................................................
Prestaciones.............................................................
Ejerciciosyproblemas
Bibliografía
ApéndiceA.
Índiceanalítico
...............................................................
.......................................................................
582
582
584
586
587
589
El sistema de memoria ..............................................................
591
Al.
A2.
A3.
AA.
Accesoalsistemadememoria
...................................................
Los circuitos de memoria .......................................................
Interconexión entre procesador y memoria ........................................
Optimizacióndelusodelacaché.................................................
AA.1. Reduccióndelosfallosdecaché
...........................................
AA.2. Reduccióndelapenalizaciónporfallo......................................
AA.3. Reducción del tiempo de acceso acaché ....................................
Ejercicios y problemas ...............................................................
592
594
604
610
Bibliografía
624
.......................................................................
.................................................................................
612
619
619
623
627
I
.J
@ ITES-Paraninfo

Documentos relacionados