Table Of ContentEste libro de texto se centra en el diseño y evaluación de arqui- Otros libros de interés s Diseño y evaluación de
a
tecturas de computadoras que incorporen las técnicas de au- Organización y arquitectura or
mento de prestaciones actuales en el diseño del procesador o de computadoras, 7.ª ed d
procesadores, la jerarquía de memoria y el sistema de E/S. William Stallings a arquitecturas de computadoras
t
PEArSOn PrEntiCE HAll u
p
Se trata de un manual que no ha sido concebido como iSBn 978-84-896-6082-3 m
libro de consulta o de referencia, sino como una herramien- o
c
ta muy potente para el estudio autónomo y/o dirigido de los
e
alumnos de las titulaciones relacionadas con la informática, las d
tecnologías de la información y las comunicaciones. s
a
r
u
Adaptado a los nuevos planes de estudios universitarios, es
t
c
accesible, ameno y está escrito con un enfoque completamen-
e
te pedagógico (basado en la utilización de figuras ilustrativas, t
i
u
ejemplos resueltos, casos prácticos, pruebas de autoevaluación,
Organización de computadoras: q
resúmenes de conceptos importantes) que surge de la experien- r
un enfoque estructurado, 4.ª ed a
cia de años impartiendo materias en el área de Arquitectura de Andrew S. tanenbaum e
Computadores de los dos autores del libro. Además, este libro PEArSOn PrEntiCE HAll d
lleva asociado un sitio web con recursos adicionales para estu- iSBn 978-97-017-0399-1 n
ó
diantes y profesores. i
c
a
u
Desde esta perspectiva didáctica, el libro se estructura en l
a
seis capítulos cuyo objetivo es el aprendizaje basado en compe- v
e
tencias. Estos capítulos se centran en el estudio del diseño del
y
procesador, la jerarquía de memoria y el sistema de E/S, el au-
o
mento de prestaciones del procesador, la mejora de la jerarquía ñ
de memoria y del sistema de E/S, el diseño de sistemas multi- e
s
procesador y multicomputador y la evaluación del rendimiento i
D
de las arquitecturas.
Beltrán
Guzmán
Prentice Hall
es un sello editorial de
Marta Beltrán Pardo
Antonio Guzmán Sacristán
www.pearsoneducacion.com
arquitectura de componentes_cover 15mm.indd 1 24/5/10 10:37:12
Diseño y evaluación
de arquitecturas
de computadoras
Marta Beltrán Pardo
Profesora Titular de Universidad
Área de Arquitectura y Tecnología de Computadores
Universidad Rey Juan Carlos de Madrid
Antonio Guzmán Sacristán
Profesor Contratado Doctor
Área de Arquitectura y Tecnología de Computadores
Universidad Rey Juan Carlos de Madrid
00a-PRINCIPIOS.indd 3 10/5/10 12:14:40
Datos de catalogación bibliográfica
Marta Beltrán Pardo, Antonio Guzmán Sacristán
Diseño y evaluación de arquitecturas de computadoras
PEARSON EDUCACIÓN, S.A., Madrid, 2010
ISBN: 978-84-8322-650-6
Materia: 004, Computadores
Formato: 195 × 250 mm Páginas: 344
Todos los derechos reservados.
Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra sólo
puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La infracción
de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (arts. 270 y
sgts. Código penal).
Diríjase a cedro (Centro Español de Derechos Reprográficos: www.cedro.org), si necesita fotocopiar o
escanear algún fragmento de esta obra.
DERECHOS RESERVADOS
© 2010, PEARSON EDUCACIÓN, S.A.
C/ Ribera del Loira, 28
28042 Madrid (España)
www.pearsoneducacion.com
PRENTICE HALL es un sello editorial autorizado de PEARSON EDUCACIÓN
ISBN: 978-84-8322-650-6
Depósito Legal: M-
Equipo editorial:
Editor: Miguel Martín-Romo
Técnico editorial: Esther Martín
Equipo de producción:
Director: José Antonio Clares
Técnico: Isabel Muñoz
Diseño de cubierta: Equipo de Diseño de PEARSON EDUCACIÓN, S. A.
Composición: JOSUR TRATAMIENTO DE TEXTOS, S.L.
Impreso por:
Nota sobre enlaces a páginas web ajenas: Este libro puede incluir enlaces a sitios web gestionados por
terceros y ajenos a PEARSON EDUCACIÓN S.A. que se incluyen sólo con finalidad informativa.
PEARSON EDUCACIÓN S.A. no asume ningún tipo de responsabilidad por los daños y perjuicios deri-
vados del uso de los datos personales que pueda hacer un tercero encargado del mantenimiento de las pá-
ginas web ajenas a PEARSON EDUCACIÓN S.A. y del funcionamiento, accesibilidad o mantenimiento
de los sitios web no gestionados por PEARSON EDUCACIÓN S.A. Las referencias se proporcionan en
el estado en que se encuentran en el momento de publicación sin garantías, expresas o implícitas, sobre
la información que se proporcione en ellas.
IMPRESO EN ESPAÑA - PRINTED IN SPAIN
Este libro ha sido impreso con papel y tintas ecológicos.
00a-PRINCIPIOS.indd 4 10/5/10 12:14:40
Índice
Contenido
Introducción
1. Definición de arquitectura de computadoras ........................................................................ XI
2. Objetivos de este libro ........................................................................................................... XII
3. Cómo usar este libro ............................................................................................................. XIV
4. Agradecimientos ................................................................................................................... XV
Capítulo 1: Conceptos básicos de procesadores
1.1. Diseño de un repertorio de instrucciones .............................................................................. 2
1.1.1. Decisiones acerca del tipo de almacenamiento de operandos .................................... 3
1.1.2. Decisiones acerca de la interpretación de las direcciones de memoria y de los modos
de direccionamiento soportados ................................................................................ 7
1.1.3. Otras decisiones ........................................................................................................ 11
1.1.4. Codificación del repertorio de instrucciones .............................................................. 12
1.1.5. Mejoras y optimizaciones del repertorio de instrucciones ......................................... 14
1.2. Mecanismo completo de ejecución de una instrucción .......................................................... 15
1.3. Evaluación de prestaciones de un procesador ....................................................................... 18
1.4. Diseño de procesadores secuenciales ..................................................................................... 19
1.4.1. Procesador monociclo ............................................................................................... 20
1.4.2. Procesador multiciclo ................................................................................................ 25
1.4.3. Tratamiento de excepciones en procesadores secuenciales ......................................... 33
1.5. Diseño de procesadores segmentados.................................................................................... 35
1.5.1. Conceptos básicos de segmentación .......................................................................... 36
1.5.2. Resolución de riesgos en procesadores segmentados ................................................. 40
1.5.3. Procesadores segmentados multifuncionales ............................................................. 58
1.5.4. Tratamiento de excepciones ....................................................................................... 63
REsuMEn DE DECIsIOnEs DE DIsEñO DEl REPERTORIO DE InsTRuCCIOnEs ..... 66
REsuMEn DE DECIsIOnEs DE DIsEñO DEl PROCEsADOR ........................................... 67
Procesadores secuenciales ..................................................................................................... 67
Procesadores segmentados .................................................................................................... 67
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 68
PROBlEMAs ................................................................................................................................ 69
AuTOEVAluACIÓn .................................................................................................................... 73
Capítulo 2: Conceptos básicos de memoria y E/S
2.1. Diseño de una jerarquía de memoria básica .......................................................................... 76
2.2. Mecanismo completo de acceso a memoria .......................................................................... 79
00b-INDICE.indd 5 10/5/10 12:19:07
contenido
2.3. Evaluación de prestaciones de la jerarquía de memoria ........................................................ 81
2.4. niveles de la jerarquía de memoria ....................................................................................... 82
2.4.1. Diseño de la memoria caché ...................................................................................... 82
2.4.2. Diseño de la memoria principal ................................................................................ 100
2.4.3. Diseño de la memoria virtual .................................................................................... 104
2.5. Diseño de un sistema de E/s básico ...................................................................................... 108
2.6. Mecanismo completo de una operación de E/s ..................................................................... 110
2.7. Evaluación de prestaciones del sistema de E/s ...................................................................... 111
2.8. Buses de E/s .......................................................................................................................... 112
2.8.1. Diseño de buses de E/s .............................................................................................. 113
2.8.2. Diseño de jerarquías de buses .................................................................................... 117
2.9. Gestión del sistema de E/s .................................................................................................... 120
2.9.1. E/s programada con espera de respuesta ................................................................... 120
2.9.2. E/s con interrupciones .............................................................................................. 120
2.9.3. E/s con acceso directo a memoria ............................................................................. 126
REsuMEn DE DECIsIOnEs DE DIsEñO DE lA jERARquÍA DE MEMORIA ................ 130
Memoria caché ..................................................................................................................... 130
Memoria principal ................................................................................................................ 130
Memoria virtual .................................................................................................................... 131
Buses de E/s .......................................................................................................................... 131
Gestión E/s ........................................................................................................................... 132
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 132
PROBlEMAs ................................................................................................................................ 133
AuTOEVAluACIÓn .................................................................................................................... 136
Capítulo 3: Técnicas de aumento de prestaciones para procesadores
3.1. Planificación dinámica de instrucciones ................................................................................ 138
3.1.1. Planificación de instrucciones de acceso a memoria .................................................. 139
3.1.2. Planificación dinámica de instrucciones centralizada ................................................ 141
3.1.3. Planificación dinámica de instrucciones distribuida .................................................. 145
3.2. Predicción dinámica de saltos ............................................................................................... 150
3.2.1. Estructuras hardware para la predicción de salto ...................................................... 151
3.2.2. Predictores de salto ................................................................................................... 161
3.3. Emisión múltiple de instrucciones ......................................................................................... 167
3.3.1. VlIW ........................................................................................................................ 167
3.3.2. superescalar estática ................................................................................................. 169
3.3.3. superescalar dinámica ............................................................................................... 172
3.4. Especulación ......................................................................................................................... 173
3.5. Multithreading ...................................................................................................................... 181
REsuMEn DE DECIsIOnEs DE DIsEñO DE TéCnICAs DE AuMEnTO DE PREsTA-
CIOnEs PARA PROCEsADOREs .............................................................................................. 184
Planificación dinámica de instrucciones ................................................................................ 184
Predicción dinámica de saltos ............................................................................................... 184
00b-INDICE.indd 6 10/5/10 12:19:07
contenido
Emisión múltiple de instrucciones y especulación ................................................................. 185
Paralelismo a nivel de thread ................................................................................................ 185
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 185
PROBlEMAs ................................................................................................................................ 186
AuTOEVAluACIÓn .................................................................................................................... 190
Capítulo 4: Técnicas de aumento de prestaciones para memoria y E/S
4.1. Técnicas de optimización para la memoria caché .................................................................. 192
4.1.1. Reducción de la penalización por fallo ...................................................................... 192
4.1.2. Reducción de la tasa de fallos ................................................................................... 196
4.1.3. Reducción del tiempo de acceso ................................................................................ 200
4.2. Técnicas de optimización para la memoria principal ............................................................. 206
4.2.1. Incremento del ancho de banda ................................................................................ 207
4.3. Técnicas de optimización conjunta para todos los niveles de la jerarquía: visión global de la
jerarquía de memoria ............................................................................................................ 211
4.3.1. soporte a las técnicas de optimización del procesador .............................................. 211
4.3.2. Almacenamiento local vs memoria caché .................................................................. 212
4.4. Técnicas de optimización para los buses de E/s .................................................................... 212
4.4.1. Ancho de datos y frecuencia de operación ................................................................ 212
4.4.2. número de transferencias por ciclo ........................................................................... 214
4.4.3. utilización de protocolos de comunicaciones de alto rendimiento ............................ 215
4.5. Técnicas de optimización para los dispositivos de E/s........................................................... 217
4.5.1. Optimización para los dispositivos de almacenamiento: RAID ................................ 217
4.6. Técnicas de optimización para la gestión de E/s ................................................................... 223
4.6.1. Procesador para el sistema gráfico: GPu .................................................................. 223
REsuMEn DE DECIsIOnEs DE DIsEñO DE TéCnICAs DE AuMEnTO DE PREsTA-
CIOnEs PARA MEMORIA Y E/s ............................................................................................... 228
Aumento de prestaciones de la memoria caché ..................................................................... 228
Aumento de prestaciones de la memoria principal ................................................................ 228
Aumento de prestaciones de buses de E/s ............................................................................. 228
Aumento de prestaciones de dispositivos de E/s: almacenamiento ........................................ 229
Aumento de prestaciones en la gestión de E/s ....................................................................... 229
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 229
PROBlEMAs ................................................................................................................................ 230
AuTOEVAluACIÓn .................................................................................................................... 233
Capítulo 5: Sistemas multiprocesador y multicomputador
5.1. Clasificación de arquitecturas con varios procesadores ......................................................... 236
5.1.1. Arquitecturas de memoria compartida ...................................................................... 237
5.1.2. Arquitecturas de memoria compartida-distribuida ................................................... 238
5.1.3. Arquitecturas de memoria distribuida ....................................................................... 239
00b-INDICE.indd 7 10/5/10 12:19:08
contenido
5.1.4. Arquitecturas on-chip de memoria compartida ......................................................... 240
5.1.5. Arquitecturas on-chip de memoria distribuida .......................................................... 242
5.2. Redes dentro de arquitecturas de computadoras ................................................................... 242
5.2.1. Topología .................................................................................................................. 245
5.2.2. Técnicas de conmutación .......................................................................................... 249
5.2.3. Técnicas de encaminamiento ..................................................................................... 252
5.2.3. Técnicas de control de flujo ....................................................................................... 253
5.3. Diseño de arquitecturas de memoria compartida .................................................................. 254
5.3.1. soluciones para el problema de la coherencia............................................................ 257
5.3.2. soluciones para el problema de la consistencia ......................................................... 269
5.3.3. soluciones para el problema de la sincronización ...................................................... 272
5.4. Diseño de arquitecturas de memoria compartida-distribuida................................................ 274
5.4.1. soluciones para el problema de la coherencia............................................................ 275
5.5. Diseño de arquitecturas de memoria distribuida ................................................................... 283
5.5.1. Clusters ..................................................................................................................... 283
5.5.2. Grids ......................................................................................................................... 286
REsuMEn DE DECIsIOnEs DE DIsEñO DE sIsTEMAs MulTIPROCEsADOR Y Mul-
TICOMPuTADOR ....................................................................................................................... 288
Diseño de redes dentro de arquitecturas................................................................................ 288
Diseño de arquitecturas de memoria compartida .................................................................. 288
Diseño de arquitecturas de memoria compartida-distribuida................................................ 288
Diseño de arquitecturas de memoria distribuida ................................................................... 289
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 289
PROBlEMAs ................................................................................................................................ 290
AuTOEVAluACIÓn .................................................................................................................... 296
Capítulo 6: Evaluación de prestaciones
6.1. Definición de métricas de rendimiento .................................................................................. 298
6.2. Métricas de rendimiento sencillas ......................................................................................... 299
6.3. Evaluación y comparación de rendimiento ........................................................................... 300
6.3.1. ley de Amdhal y ley de Gustafson .......................................................................... 303
6.4. Técnicas de medida y benchmarks ........................................................................................ 307
6.4.1. Técnicas de medida ................................................................................................... 308
6.4.2. Tipos de benchmark .................................................................................................. 310
6.5. Métricas de rendimiento complejas ....................................................................................... 312
6.5.1. speedup en sistemas paralelos y eficiencia ................................................................. 313
6.5.2. Escalabilidad ............................................................................................................. 315
BIBlIOGRAFÍA Y lECTuRAs RECOMEnDADAs ............................................................... 317
PROBlEMAs ................................................................................................................................ 318
AuTOEVAluACIÓn .................................................................................................................... 320
Índice analítico
......................................................................................................................... 321
00b-INDICE.indd 8 10/5/10 12:19:08