ebook img

Arquitectura de Computadores : Un enfoque cuantitativo PDF

854 Pages·1993·32.43 MB·Spanish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Arquitectura de Computadores : Un enfoque cuantitativo

ARQUITECTURA DE COMPUTADORES Un enfoque cuantitativo CONSULTORES EDITORIALES AREA DE INFORMATICA Y COMPUTACION Antonio Vaquero Sánchez Catedrático de Informática Facultad de Ciencias Físicas Universidad Complutense de Madrid ESPANA Gerardo Quiroz Vieyra Ingeniero en Comunicaciones y Electrónica Escuela Superior de Ingeniena Mecánica y Eléctrica IPN Carter Wallace, S. A. Universidad Autónoma Metropolitana Docente DCSA MEXICO ARQUITECTURA DE COMPUTADORES Un enfoque cuantitativo John L. Hennessy Universidad de Stanf ord David A. Patterson Universidad de California en Berkeley Traducción JUAN MANUEL SANCHEZ Universidad Complutense de Madrid Revisión técnica ANTONIO GONZALEZ MATE0 VALER0 Universidad Politécnica de Cataluña ANTONIO VAQUERO Universidad Complutense de Madrid MADRID BUENOS AIRES m CARACAS GUATEMALA LISBOA MEXICO NUEVA YORK PANAMA SAN JUAN SANTAFE DE BOGOTA SANTIAGO SAO PAULO AUCKLAND HAMBURGO LONDRES MlLAN MONTREAL NUEVA DELHl PAR6 SAN FRANCISCO SIDNEY SINGAPUR ST. LOUlS TOKIO TORONTO ARQUITECTURA DE COMPUTADORES. UN ENFOQUE CUANTITATIVO No está permitida la reproducción total o parcial de este libro, ni su tratamiento in- formático, ni la transmisión de ninguna forma o por cualquier medio, ya sea electró- nico, mecánico, por fotocopia, por registro u otros métodos, sin el permiso previo y por escrito de los titulares del Copyright. DERECHOS RESERVADOS O 1993 respecto a la primera edición en español por McGRAW-HILLPNTERAMERICANA DE ESPANA, S. A. U. Edificio Valrealty, la. planta Basauri, 17 28023 Aravaca (Madrid) Traducido de la primera edición en inglés de COMPUTER ARCHITECTURE. A QUANTITATIVE APPROACH Copyright O MLMXC, por Morgan Kaufmann Publishers, Inc. ISBN: 1-55860-069-8 ISBN: 84-7615-912-9 Depósito legal: M. 4 1.104-2002 Editor: Mariano J. Norte Cubierta: F. Piñuela. Grafismo electrónico Compuesto en: FER Fotocomposición, S. A. Impreso en: LAVEL, Industria Gráfica, S. A. - PRINTED IN SPAIN IMPRESO EN ESPANA A Andrea, Linda y nuestros cuatro hijos Marcas registradas Las siguientes marcas registradas son propiedad de las siguientes organizaciones: Alliant es una marca registrada de Alliant Computers. ESAl370, System/360, Systeml370, 701, 704, 709, 801, 3033, 3080. 3080 series, 3080 VF, 3081, 3090, 30901100, 3090/200, 30901400, 30901600, AMD 29000 es una marca registrada de AMD. 30901600S. 3090 VF. 3330. 3380. 3380D. 3380 Disk Model AK4, 33803. TeX es una marca registrada de American Mathematical Society. 3390, 3880-23, 3990,7030,7090,7094, IBM FORTRAN, ISAM, MVS, AMI 6502 es una marca registradade AMI. IBM PC, IBM PC-AT, PL.8, RT-PC, SAGE, Stretch, IBM SVS, Vector Apple 1, Apple 11 y Macintosh son marcas registradas de Apple Compu- Facility y VM son marcas registradas de International Business Machines ter, Inc. Corporation. ZS- l es una marca registrada de Astronautics. FutureBus es una marca registrada de Institute of Electrical and Electro- nic Engineen. UNIX y UNIX F77 son marcas registradas de AT&T Bell Laboratories. Lamborghini y Countach son marcas registradas de Nuova Automobili Turbo C es una marca registrada de Borland International. Femcio Lamborghini, SPA. The Cosmic Cube es una marca registrada de California Institutc of Lotus 1-2-3 es una marca registrada de Lotus Development Corporation. Technology. MB8909 es una marca registrada de LSI Logic. Warp, C.mmp y Cm* son marcas registradas de Carnegie-Mellon lJni- NuBus es una marca registrada de Massachusetts Institute of Techno- versity. ~WY. CP3100 es una marca registrada de Conner Peripherals. Miata y Mazda son marcas registradas de Mazda. CDC 6600, CDC 7600, CDC STAR- 100, CYBER- 180, CYBER 1801990 MASM, Microsoft Macro Assembler, MS DOS, MS DOS 3.1 y OS12 son y CYBER-205 son marcas registradas de Control Data Corporation. marcas registradas de Microsoft Corporation. Convex, C- 1, C-2 y C series son marcas registradas de Convex. MIPS, MIPS 120, MIPS/I2OA, M/500. M/1000, RC6230, RC6280, CRAY-3 es una marca registrada de Cray Computer Corporation. R2000, R2000A, R2010, R3000 y R3010 son marcas registradas de MIPS CRAY-1, CRAY-IS, CRAY-2, CRAY X-MP, CRAY X-MP1416, CRAY Computer Systems. Y-MP, Cm77 V3.0, CFT y CFT2 V1.3a son marcas registradas de Cray Delta Senes 8608, System VI88 R32V1, VME bus, 6809, 68000, 68010, Research. 68020,68030,68882,88000,88000 1.8.4m14, 88100 y 88200 son mar- Cydra 5 es una marca registrada de Cydrome. cas registradas de Motorola Corporation. CY7C601,7C601,7C604 y 7C157 son marcas registradas de Cypress Se- Multiflow es una marca registrada de Multiflow Corporation. miconductor. National 32032 y 32x32 son marcas registradas de National Semicon- Nova es una marca registrada de Data General Corporation. ductor Corporation. HEP es una marca registrada de Denelcor. Ncube es una marca registrada de Ncube Corporation. CVAX, DEC, DECsystem, DECstation, DECstation 3 100, DECsystem SX/2, SX/3 y FORTRAN 77/SX V.040 son marcas registradas de NEC 10120, fort, LPI 1, Massbus, MicroVAX-1, MicroVAX-11, PDP-8, PDP- Information Systems. 10, PDP-I 1, RS-I IMIIAS, Unibus, Ultrix, Ultrix 3.0, VAX, VAXsta- NYU Ultracomputer es una marca registrada de New York University. tion, VAXstation 2000, VAXstation 3100, VAX-I 1, VAX-111780, VAX- VAST-2 v.2.21 es una marca registrada de Pacific Sierra. 111785, VAX Model730, Model750, Model780, VAX 8600, VAX 8700, VAX 8800, VS FORTRAN V2.4 y VMS son marcas registradas de Di- Wren IV, Imprimis, Sabre 97209 e IPI-2 son marcas registradas de Sea- gital Equipment Corporation. gate Corporation. BlNAC es una marca registrada de Eckert-Mauchly Computer Corpora- Sequent, Balance 800, Balance 21000 y Symmetry son marcas registra- tion. das de Sequent Computers. Multimax es una marca registrada de Encore Computers. Silicon Graphics 4Dl60, 4D1240 y Silicon Graphics 4D Series son mar- cas registradas de Silicon Graphics. ETA 10 es una marca registrada de ETA Corporation. Stellar GS 1000, Stardent- 1500 y Ardent Titan-I son marcas registradas SYMBOL es una marca registrada de Fairchild Corporation. de Stardent. Pegasus es una marca registrada de Ferranti, Ltd. Sun 2, Sun 3, Sun 3/75, Sun 31260, Sun 31280, Sun 4, Sun 411 10, Sun Ferran y Testarossa son marcas registradas de Ferrari Moton. 41260, Sun 41280, SunOS 4.0.3c, Sun 1.2 FORTRAN compiler, SPARC AP-I2OB es una marca registrada de Floating Point Systems. y SPARCstation I son marcas registradas de Sun Microsystems. Ford y Escort son marcas registradas de Ford Motor Co. Synapse N+ es una marca registrada de Synapse. Gnu C Compiler es una marca registrada de Free Software Foundation. Tandem y Cyclone son marcas registradas de Tandem Computers. M2361A, Super Eagle, VPlOO y VP200 son marcas registradasde Fujitsu TI 8847 y TI ASC son marcas registradas de Texas Instmments Corpo- Corporation. ration. Chevrolet y Corvette son marcas registradas de General Motors Corpo- Connection Machine y CM-2 son marcas registradas de Tbinking Ma- ration. chines. HP Precision Architecture, HP 850, HP 3000, HP 3000170, Apollo DN Burroughs 6500, B5000, B5500, D-machine, UNIVAC, UNIVAC 1 y 300, Apollo DN 10000 y Precision son marcas registradas de Hewlett- UNIVAC 1103 son marcas registradas de UNISYS. Packard Company. Spice y 4.2 BSD UNIX son marcas registradas de Univenity of Califor- S810, S8 101200 y S820 son marcas registradas de Hitachi Corporation. nia, Berkeley. Hyundai y Excel son marcas registradas de Hyundai Corporation. Illiac, Illiac IV y Cedar son marcas registradas de University of Illinois. 432,960 CA, 4004,8008,8080,8086,8087,8088,80186,80286,80386, Ada es una marca registrada de U.S. Government (Ada Joint Program 80486, iAPX 432, i860, Intel, Multibus, Multibus 11 e Intel Hypercube Office). son marcas registradas de lntel Corporation. Weitek 3364, Weitek 1 167, WTL 3 110 y WTL 3170 son marcas registra- lnmos y Transputer son marcas registradas de Inmos. das de Weitek Computen. Clipper ClOO es una marca registrada de Intergraph. Alto, Ethemet, PARC, Palo Alto Research Center, Smalltalk y Xerox son marcas registradas de Xerox Corporation. 2-80 es una marca registrada de Zilog. Prefacio por C. Gordon Be11 Estoy encantado y satisfecho de escribir el prefacio de este libro decisivo. Los autores han ido más allá de las contribuciones de Thomas al Cálculo y de Samuelson a la Economía. Han proporcionado el texto y referencia de- finitivos para el diseño y arquitectura de computadores. Para avanzar en com- putación, recomiendo encarecidamente a los editores que retiren los monto- nes de libros sobre este tópico de manera que, rápidamente, pueda emerger una nueva raza de arquitecto/ingeniero. Este libro no eliminará los micropro- cesadores complejos y llenos de errores de las compañías de semicomputado- res, pero acelerará la educación de ingenieros que podrán diseñarlos mejor. El libro presenta las herramientas críticas para analizar los computadores uniprocesadores. Muestra al ingeniero en ejercicio cómo cambia la tecnología a lo largo del tiempo y ofrece las constantes empíricas que se necesitan para el diseño. Motiva al diseñador sobre la función, que es una orientación más agradable que la habitual lista exhaustiva de los mecanismos que un diseña- dor novel ~uedein tentar incluir en un único diseño. Los autores establecen un punto de partida para realizar análisis y com- paraciones utilizando la máquina más importante de cada clase: computado- res grandes (IBM 360), mini (DEC VAX), y micro PC (Intel 80x86). Con esta base, muestran la línea futura de procesadores paralelos segmentados más simples. Estas nuevas tecnologías se muestran como variantes de su procesa- dor (DLX) útil pedagógicamente, pero altamente realizable. Los autores ha- cen énfasis en la independencia de la tecnología al medir el trabajo realizado por ciclo de reloj (paralelismo), y el tiempo para hacer el trabajo (eficiencia y latencia). Estos métodos también mejorarán la calidad de la investigación so- bre nuevas arquitecturas y paralelismo. Por ello, el libro es necesario que lo conozca cualquiera que trabaje en ar- quitectura o hardware, incluyendo arquitectos, ingenieros de sistemas de computadores y de circuitos integrados, e ingenieros de sistemas operativos y compiladores. Es útil especialmente para los ingenieros de software que escri- ben programas para computadores vectoriales y segmentados. Los empresa- rios y vendedores se beneficiarán al conocer las secciones de Falacias y Pifias del libro. El fracaso de muchos computadores -y ocasionalmente, de alguna compañía- se puede atribuir a ingenieros que fallan al comprender las suti- lezas del diseño de com~utadores. Los dos primeros capítulos establecen la esencia del diseño de computa- dores a través de medidas y de la comprensión de la relación preciolrendi- PREFACIO miento. Estos conceptos se aplican a la arquitectura a nivel de lenguaje má- quina y a la forma de medirla. Explican la implementación de procesadores e incluyen amplias discusiones sobre técnicas para diseñar procesadores vecto- riales y segmentados. También hay capítulos dedicados a la jerarquía de me- moria y a las, con frecuencia, despreciadas entradas/salidas. El capítulo final presenta oportunidades y preguntas sobre máquinas y directrices futuras. Ahora, necesitamos su siguiente libro sobre cómo construir estas máquinas. La razón por la que este libro constituye un estándar sobre todos los an- teriores y es improbable que sea sustituido en un futuro previsible es la com- prensión, experiencia, gusto y unicidad de los autores. Han estimulado el cambio principal en arquitectura por su trabajo sobre los RISC (Patterson acuñó la palabra). Su investigación universitaria que llevó al desarrollo de productos en MIPS y Sun Microsystems; estableció importantes arquitecturas para los años 90. Así, han hecho análisis, evaluado compromisos, trabajado sobre compiladores y sistemas operativos, y visto que sus máquinas consiguen importancia con el uso. Además, como maestros, han visto que el libro es pe- dagógicamente sólido (y han solicitado opiniones de los demás a través del programa de examen sin precedentes Beta). Estoy convencido que éste será el libro de la década en sistemas de computadores. Quizás su mayor logro sea estimular a otros grandes arquitectos y diseñadores de sistemas de alto nivel (bases de datos, sistemas de comunicaciones, lenguajes y sistemas operativos) a escribir libros similares sobre sus dominios. Yo ya he aprendido y me he divertido con el libro, y usted, seguramente, también. C. Gordon Be11 1 Contenido Prefacio vii por G. GORDON BELL Agradecimientos xxi Sobre los autores xxvi Fundamentos del diseño de computadores Introduccion Definiciones de rendimiento Principios cuantitativos del diseño de computadores El trabajo de un diseñador de computadores Juntando todo: el concepto de jerarquía de memoria Falacias y pifias Observaciones finales Perspectiva histórica y referencias Ejercicios Rendimientos y coste 2.1 Introducción 2.2 Rendimiento 2.3 Coste 2.4 Juntando todo: precio/rendimiento de tres máquinas 2.5 Falacias y pifias 2.6 Observaciones finales 2.7 Perspectiva histórica y referencias Ejercicios Diseño de repertorios de instrucciones: alternativas y principios 3.1 Introduccion 3.2 Clasificación de las arquitecturas a nivel lenguaje máquina 3.3 Almacenamiento de operandos en memoria: clasificación de las máquinas de registros de propósito general 3.4 Direccionamiento de memoria 3.5 Operaciones del repertorio de instrucciones 3.6 Tipo y tamaño de los operandos 3.7 El papel de los lenguajes de alto nivel y compiladores X CONTENIDO 3.8 Juntando todo: cómo los programas utilizan los repertorios de instrucciones 3.9 Falacias y pifias 3.10 Observaciones finales 3.11 Perspectiva histórica y referencias Ejercicios Ejemplos y medidas de utilización de los repertorios de instrucciones Medidas de los repertorios de instrucciones: qué y por qué La arquitectura VAX La arquitectura 3601370 La arquitectura 8086 La arquitectura DLX Juntando todo: medidas de utilización del repertorio de instrucciones Falacias y pifias Observaciones finales Perspectiva histórica y referencias Ejercicios Técnicas básicas de implementación de procesadores 5.1 Introducción 5.2 Camino de datos del procesador 5.3 Pasos básicos de ejecución 5.4 Control cableado 5.5 Control microprogramado 5.6 Interrupciones y otros enredos 5.7 Juntando todo: control para DLX 5.8 Falacias y pifias 5.9 Observaciones finales 5.10 Perspectiva histórica y referencias Ejercicios Segmentación ¿Qué es la segmentación? Segmentación básica para DLX Haciendo que funcione la segmentación El principal obstáculo de la segmentación: riesgos de la segmentación Qué hace difícil de implementar la segmentacion Extensión de la segmentación de DLX para manipular operaciones multiciclo Segmentación avanzada: planificación dinámica de la segmentacion Segmentación avanzada: aprovechando más el paralelismo de nivel de instrucción Juntando todo: un VAX segmentado Falacias y pifias Observaciones finales

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.