Professional Documents
Culture Documents
William Stallings
WILLIAM STALLINGS
Traduccin Antonio Caas Vargas Beatriz Prieto Campos Francisco Jos Pelayo Valle Julio Ortega Lopera Departamento de Arquitectura y Tecnologa de Computadores Universidad de Granada Coordinacin y revisin tcnica Alberto Prieto Espinosa Departamento de Arquitectura y Tecnologa de Computadores Universidad de Granada
Madrid Mxico Santaf de Bogot Buenos Aires Caracas Lima Montevideo San Juan San Jos Santiago So Paulo White Plains
Datos de catalogacin bibliogrfica ORGANIZACIN Y ARQUITECTURA DE COMPUTADORES WILLIAM STALLINGS PEARSON EDUCACIN, S.A., Madrid, 2005 ISBN 10: 84-8966-082-4 ISBN 13: 978-84-832-2858-6 Materia: Informtica. 0004.4 Formato: 195 250 mm Pginas: 840
Todos los derechos reservados. Queda prohibida, salvo excepcin prevista en la Ley, cualquier forma de reproduccin, distribucin, comunicacin pblica y transformacin de esta obra sin contar con autorizacin de los titulares de propiedad intelectual. La infraccin de los derechos mencionados puede ser constitutiva de delito contra la propiedad intelectual (arts. 270 y sgts. Cdigo Penal). DERECHOS RESERVADOS 2006 PEARSON EDUCACIN, S.A. C/ Ribera del Loira, 28 28042 Madrid (Espaa) ORGANIZACIN Y ARQUITECTURA DE COMPUTADORES WILLIAM STALLINGS ISBN 10: 84-8966-082-4 ISBN 13: 978-84-8966-082-3 Depsito Legal: MPEARSON-PRENTICE HALL es un sello editorial autorizado de PEARSON EDUCACIN, S.A. Authorized translation from the English language edition, entitled COMPUTER ORGANIZATION AND ARCHITECTURE: DESIGNING FOR PERFOMANCE, 7th Edition, by STALLINGS, WILLIAM, published by Pearson Education, Inc, publishing as Prentice Hall, Copyright 2006. ISBN: 0-13-146592-9 All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. Equipo editorial: Editor: Miguel Martn-Romo Tcnico editorial: Marta Caicoya Equipo de produccin: Director: Jos Antonio Clares Tcnico: Jos Antonio Hernn Diseo de cubierta: Equipo de diseo de Pearson Educacin, S.A. Focomposicin: JOSUR, TRATAMIENTO DE TEXTOS, S.L. Impreso por: IMPRESO EN ESPAA - PRINTED IN SPAIN
Este libro ha sido impreso con papel y tintas ecolgicos
Contenido
Prlogo Captulo 0 0.1 0.2 Gua del lector 1 2 4 5
Otros sitios web 3 Grupos de noticias USENET PRIMERA PARTE: VISIN GENERAL Captulo 1 1.1 1.2 Introduccin 7
8 9
Por qu estudiar la organizacin y arquitectura de los computadores? Evolucin y prestaciones de los computadores Una breve historia de los computadores 18 17
16
La primera generacin: los tubos de vaco 18 La segunda generacin: los transistores 26 La tercera generacin: los circuitos integrados 30 ltimas generaciones 35 2.2 Diseo buscando mejores prestaciones 40
Velocidad del microprocesador 40 Equilibrio de prestaciones 41 Mejoras en la organizacin y arquitectura de chips 2.3 Evolucin del Pentium y del PowerPC Pentium 47 PowerPC 48 47
44
vi
Contenido
2.4
49
2.5
Palabras clave, preguntas de repaso y problemas Palabras clave 51 Preguntas de repaso Problemas 51 51
51
55
Perspectiva de alto nivel del funcionamiento y de las interconexiones del computador 57 Componentes del computador 58 Funcionamiento del computador 61 Los ciclos de captacin y ejecucin Interrupciones 66 Funcionamiento de las E/S 73 62
3.3 3.4
Estructuras de interconexin 75 Interconexin con buses 77 Estructura del bus 77 Jerarquas de buses mltiples 80 Elementos de diseo de un bus 82
3.5
PCI
87
Estructura del bus 88 rdenes del PCI 90 Transferencias de datos Arbitraje 95 3.6
93
97
3.7
97
Apndice 3A
Diagramas de tiempo
101
Contenido
vii
Captulo 4 4.1
Memoria cach
103 104
Conceptos bsicos sobre sistemas de memoria de computadores Caractersticas de los sistemas de memoria Jerarqua de memoria 107 104
4.2 4.3
Principios bsicos de las memorias cach Elementos de diseo de la cach 114 Tamao de cach 115 Funcin de correspondencia 115 Algoritmos de sustitucin 126 Poltica de escritura 126 Tamao de lnea 128 Nmero de cachs 128
111
4.4
Organizacin de la cach en el Pentium 4 y el PowerPC Organizacin de cach en el Pentium 4 Organizacin de cach en el PowerPC 130 133
130
4.5 4.6
Lecturas recomendadas 134 Palabras clave, preguntas de repaso y problemas Palabras clave 135 Preguntas de repaso 135 Problemas 136
135
Apndice 4A
Prestaciones de las memorias de dos niveles Localidad 141 Funcionamiento de la memoria de dos niveles Prestaciones 144
140
143
Capitulo 5 5.1
Memoria interna
149 150
Memoria principal semiconductora Organizacin 150 DRAM y SRAM 151 Tipos de ROM 154 Lgica del chip 155 Encapsulado de los chips Organizacin en mdulos
157 158
viii
Contenido
5.2 5.3
Correccin de errores 158 Organizacin avanzada de memorias DRAM DRAM sncrona 165 DRAM rambus 168 SDRAM DDR 169 DRAM cachs 169
165
5.4
169
5.5
Palabras clave, preguntas de repaso y problemas Palabras clave 170 Preguntas de repaso 170 Problemas 171
170
Captulo 6 6.1
175 176
Mecanismos de lectura y escritura magntica 177 Organizacin y formato de los datos 178 Caractersticas fsicas 180 Parmetros para medir las prestaciones de un disco 6.2 RAID 185 188 191 192 192 193 194 194 196
182
Nivel 0 del RAID Nivel 1 del RAID Nivel 2 del RAID Nivel 3 del RAID Nivel 4 del RAID Nivel 5 del RAID Nivel 6 del RAID 6.3 Memoria ptica
Discos compactos 196 Disco digital verstil 200 6.4 6.5 Cinta magntica 201 Lecturas y sitios web recomendados Sitios web recomendados 203
203
Contenido
ix
6.6
Palabras clave, preguntas de repaso y problemas Palabras clave 204 Preguntas de repaso 204 Problemas 204
204
Captulo 7 7.1
Entrada/salida
Dispositivos externos
Teclado/Monitor 211 Controlador de disco (Disk Drive) 7.2 Mdulos de E/S 214
Funciones de un mdulo 214 Estructura de un mdulo de E/S 7.3 E/S programada 217
216
Resumen de la E/S programada rdenes de E/S 218 Instrucciones de E/S 218 7.4 E/S mediante interrupciones
218
221
Procesamiento de la interrupcin 221 Cuestiones de diseo 224 Controlador de interrupciones Intel 82C59A 225 La interfaz programable de perifricos Intel 82C55A 7.5 Acceso directo a memoria 229
227
Inconvenientes de la E/S programada y con interrupciones Funcionamiento del DMA 229 Controlador de DMA 8237A de Intel 231 7.6 Canales y procesadores de E/S 235
229
La evolucin del funcionamiento de las E/S 235 Caractersticas de los canales de E/S 235 7.7 La interfaz externa: FireWire e Infiniband Tipos de interfaces 237 Configuraciones punto-a-punto y multipunto Bus Serie FireWire 238 InfiniBand 243 237 238
Contenido
7.8
246
7.9
Palabras clave, cuestiones y problemas Palabras clave 247 Cuestiones 247 Problemas 248
247
Captulo 8 8.1
Sistemas operativos
Conceptos bsicos sobre sistemas operativos Objetivos y funciones del sistema operativo Tipos de sistemas operativos 257
8.2
Planificacin
Planificacin a largo plazo Planificacin a medio plazo Planificacin a corto plazo 8.3 Gestin de la memoria 272
Intercambio (Swapping) 272 Definicin de particiones 273 Paginacin 276 Memoria virtual 278 Buffer de traduccin anticipada (Translation Lookaside Buffer, TLB) Segmentacin 282 8.4 Gestin de memoria en el Pentium II y en el PowerPC Hardware de gestin de memoria en el Pentium II Hardware de gestin de memoria en el PowerPC 8.5 Lecturas y sitios web recomendados Sitios web recomendados 8.6 292 292 292 283 288 283
280
Palabras clave, cuestiones y problemas Palabras clave 292 Cuestiones 293 Problemas 293
Contenido
xi
TERCERA PARTE: LA UNIDAD CENTRAL DE PROCESAMIENTO Captulo 9 9.1 9.2 Aritmtica del computador 301
297
La unidad aritmtico-lgica 302 Representacin de enteros 303 Representacin en signo y magnitud 304 Representacin en complemento a dos 304 Conversin entre longitudes de bits diferentes Representacin en coma fija 309
307
9.3
Aritmtica con enteros Negacin 309 Suma y resta 311 Multiplicacin 314 Divisin 321
309
9.4
324 328
Fundamentos 324 Estndar del IEEE para la representacin binaria en coma flotante 9.5 Aritmtica en coma flotante 331
Suma y resta 331 Multiplicacin y divisin 334 Consideraciones sobre precisin 335 Estndar IEEE para la aritmtica binaria en coma flotante 9.6 Lecturas y sitios web recomendados Sitios web recomendados 9.7 340 341 339
337
Palabras clave, preguntas de repaso y problemas Palabras clave 341 Preguntas de repaso 341 Problemas 342
Captulo 10 10.1
Repertorios de instrucciones: caractersticas y funciones Caractersticas de las instrucciones mquina Elementos de una instruccin mquina 350 Representacin de las instrucciones 351 350
347
xii
Contenido
Tipos de instrucciones 352 Nmero de direcciones 353 Diseo del repertorio de instrucciones 10.2 Tipos de operandos Nmeros 357 Caracteres 358 Datos lgicos 358 10.3 356
356
Tipos de datos en el Pentium y el PowerPC Tipos de datos en el Pentium 359 Tipos de datos en el PowerPC 360
359
10.4
Tipos de operaciones
361
Transferencia de datos 365 Aritmticas 366 Lgicas 366 Conversin 369 Entrada/Salida 370 Control del sistema 370 Control de flujo 370 10.5 Tipos de operaciones en el Pentium y el PowerPC Tipos de operaciones del Pentium 375 Instrucciones de llamada/retorno 379 Tipos de operaciones del PowerPC 384 10.6 10.7 10.8 Lenguaje ensamblador 387 Lecturas recomendadas 389 Palabras clave, preguntas de repaso y problemas Palabras clave 390 Preguntas de repaso 390 Problemas 390 Apndice 10A Pilas 396 397 398 375
390
Contenido
xiii
Apndice 10B Endian: Extremo menor, extremo mayor y ambos extremos Orden de los bytes 401 Orden de los bits 405 Capitulo 11 11.1
401
407
Direccionamiento inmediato 410 Direccionamiento directo 411 Direccionamiento indirecto 411 Direccionamiento de registros 412 Direccionamiento indirecto con registro 412 Direccionamiento con desplazamiento 413 Direccionamiento de pila 415 11.2 Modos de direccionamiento en el Pentium y el PowerPC Modos de direccionamiento del Pentium 415 Modos de direccionamiento del PowerPC 418 11.3 Formatos de instrucciones 420 415
Longitud de instruccin 421 Asignacin de los bits 421 Instrucciones de longitud variable 11.4
425 428
Formatos de instrucciones del Pentium y del PowerPC Formatos de instruccin del Pentium 428 Formatos de instruccin del PowerPC 431
11.5 11.6
Lecturas recomendadas 432 Palabras clave, preguntas de repaso y problemas Palabras clave 433 Preguntas de repaso 433 Problemas 433
433
Estructura y funcionamiento del procesador Organizacin del procesador Organizacin de los registros 438 440
437
Registros visibles por el uuario 440 Registros de control y de estado 443 Ejemplos de organizaciones de registros de microprocesadores
444
xiv
Contenido
12.3
Ciclo de instruccin
446
El ciclo indirecto 446 Flujo de datos 447 12.4 Segmentacin de instrucciones 449
Estrategia de segmentacin 449 Prestaciones de un cauce segmentado Tratamiento de saltos 456 Segmentacin del Intel 80486 461 12.5 El procesador Pentium 464
455
Organizacin de los registros 464 Procesamiento de interrupciones 469 12.6 El procesador PowerPC 472
Organizacin de los registros 472 Procesamiento de interrupciones 476 12.7 12.8 Lecturas recomendadas 479 Palabras clave, preguntas de repaso y problemas Palabras clave 480 Preguntas de repaso 480 Problemas 480 Captulo 13 13.1 Computadores de repertorio reducido de instrucciones Caractersticas de la ejecucin de instrucciones Operaciones 490 Operandos 491 Llamadas a procedimientos Consecuencias 492 13.2 489 485
480
492
493
Ventanas de registros 494 Variables globales 496 Un amplio banco de registros frente a una cach 13.3 13.4
496
Optimizacin de registros basada en el compilador 497 Arquitectura de repertorio reducido de instrucciones 499