Microprocesadores intel - Barry B. Brey PDF

Title Microprocesadores intel - Barry B. Brey
Author R. Maraboli Allende
Pages 902
File Size 9.5 MB
File Type PDF
Total Downloads 250
Total Views 819

Summary

Brey Microprocesadores S é p t i m a E d i c i ó n Intel 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Esta séptima edición de Microprocesadores Intel ofrece una cobertura actualizada y extensa de los más recientes desarrollos Procesador Pentium Pro, Pentium II, Pentium III, Pentium 4 en el ...


Description

Microprocesadores Intel 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Procesador Pentium Pro, Pentium II, Pentium III, Pentium 4

Arquitectura, Programación e Interfaz Séptima Edición

Barry B. Brey

CAPÍTULO 1 Introducción al microprocesador y la computadora

INTRODUCCIÓN Este capítulo presenta las generalidades sobre la familia de microprocesadores Intel. Se incluye una discusión sobre la historia de las computadoras y la función del microprocesador en el sistema de computadora basado en microprocesador. También introduciremos los términos y la jerga propios de la computación, para que pueda entender los modismos utilizados al hablar sobre microprocesadores y computadoras. El diagrama de bloques y una descripción de la función de cada bloque detallan la operación de un sistema computacional. Los bloques en el diagrama muestran cómo se interconectan la memoria y el sistema de entrada/salida (E/S) de la computadora personal. En este capítulo explicaremos con detalle cómo se almacenan los datos en la memoria, de manera que se pueda utilizar cada tipo de datos a medida que se vaya desarrollando el software. Los datos numéricos se almacenan como enteros, números de punto flotante y decimal codificado en binario (BCD); los datos alfanuméricos se almacenan utilizando el código ASCII (Código estándar estadounidense para el intercambio de información).

OBJETIVOS DEL CAPÍTULO Al terminar este capítulo podrá: 1. Conversar utilizando la terminología computacional apropiada, como bit, byte, datos, sistema de memoria real, sistema de memoria en modo protegido, Windows, DOS, E/S, etcétera. 2. Detallar brevemente la historia de la computadora y listar las aplicaciones realizadas por los sistemas computacionales. 3. Proporcionar las generalidades de los diversos miembros de la familia 80X86 y Pentium. 4. Dibujar el diagrama de bloques de un sistema computacional y explicar el propósito de cada bloque. 5. Describir la función del microprocesador y detallar su operación básica. 6. Definir el contenido del sistema de memoria en la computadora personal. 7. Realizar conversiones de números binarios, decimales y hexadecimales. 8. Diferenciar y representar la información numérica y alfanumérica como datos enteros, de punto flotante, BCD y ASCII.

1

2

CAPÍTULO 1

1-1

ANTECEDENTES HISTÓRICOS En esta primera sección describiremos los eventos históricos que produjeron el desarrollo del microprocesador y, específicamente, los extremadamente poderosos y actuales microprocesadores 80X86,1 Pentium, Pentium Pro, Pentium III y Pentium 4.2 Aunque no es esencial un estudio de la historia para comprender el funcionamiento del microprocesador, sirve como lectura de interés y proporciona una perspectiva histórica de la rápida evolución de la computadora.

La era mecánica La idea de un sistema computacional no es nueva; ya existía mucho antes de que se desarrollaran los dispositivos eléctricos y electrónicos modernos. La idea de realizar cálculos con una máquina se remonta hasta el año 500 a.C., cuando los babilonios inventaron el ábaco, la primera calculadora mecánica. El ábaco tiene hileras de cuentas con las que se realizan los cálculos. Los sacerdotes de Babilonia lo utilizaban para llevar la cuenta de sus vastos almacenes de grano. El ábaco, que aún se utiliza en la actualidad, se mejoró hasta 1642 cuando el matemático Blaise Pascal inventó una calculadora construida con base en engranajes y ruedas. Cada engranaje contenía 10 dientes que, cuando se movían una vuelta completa, hacían que un segundo engranaje avanzara una posición. Éste es el mismo principio que se utiliza en el mecanismo del odómetro de un automóvil y es la base de todas las calculadoras mecánicas. De hecho, el lenguaje de programación PASCAL se nombra así en honor de Blaise Pascal, por su trabajo pionero en las matemáticas y con la calculadora mecánica. A principios de la década de 1800 llegaron las primeras máquinas mecánicas con engranajes prácticas, utilizadas para calcular información de manera automática. Esto fue antes de que los humanos inventaran la bombilla eléctrica o antes de que se conociera mucho sobre la electricidad. En este amanecer de la era computacional, se soñaba con equipos mecánicos que pudieran calcular hechos numéricos mediante un programa; y no simplemente calcular hechos, como lo hace una calculadora. En 1937 unos planos y diarios mostraron que uno de los primeros pioneros de la maquinaria computacional mecánica fue Charles Babbage, ayudado por Augusta Ada Byron, la Condesa de Lovelace. Babbage fue comisionado en 1823 por la Real Sociedad Astronómica de la Gran Bretaña para producir una máquina calculadora programable. Esta máquina debía generar tablas de navegación para la Armada Real Británica. Él aceptó el reto y empezó a crear lo que llamó su Máquina analítica. Este motor era una computadora mecánica operada por vapor que almacenaba 1000 números decimales de veinte dígitos y un programa variable que podía modificar la función de la máquina para realizar varias tareas de cálculo. La entrada a su máquina era a través de tarjetas perforadas, muy parecidas a las tarjetas perforadas que usaban las computadoras en las décadas de 1950 y 1960. Se supone que él obtuvo la idea de usar tarjetas perforadas gracias a Joseph Jaquard, un francés que utilizaba tarjetas perforadas como base para un telar que inventó en 1801, al que todavía se le conoce como telar de Jacquard. Este telar utilizaba tarjetas perforadas para crear complicados patrones de tejido. Después de muchos años de trabajo, el sueño de Babbage empezó a desvanecerse cuando se dio cuenta que los maquinistas de su época no podían crear las piezas mecánicas que necesitaban para completar su trabajo. La máquina analítica requería más de 50,000 piezas maquinadas, las cuales no podían fabricarse con la precisión suficiente como para que su motor funcionara de manea confiable.

La era eléctrica La década de 1800 fue testigo de la llegada del motor eléctrico (concebido por Michael Faraday) con lo cual surgió una multitud de máquinas de sumar controladas por motores, todas basadas en la calculadora mecánica desarrollada por Blaise Pascal. Estas calculadoras mecánicas controladas en forma eléctrica no fueron piezas comunes del equipo de oficina sino hasta principios de la década de 1970, cuando apareció la pequeña calculadora electrónica portátil, introducida por primera vez por Bomar Corporation y 1

80X86 es un acrónimo aceptado para los microprocesadores 8086, 8088, 80186, 80188, 80286, 80386 y 80486; lo cual también incluye la serie Pentium. 2 Pentium, Pentium Pro, Pentium II, Pentium III y Pentium IV son marcas registradas de Intel Corporation.

INTRODUCCIÓN AL MICROPROCESADOR Y LA COMPUTADORA

3

llamada el Cerebro Bomar. Monroe fue también un pionero líder de las calculadoras electrónicas, pero sus máquinas eran modelos de escritorio de 4 funciones, del tamaño de cajas registradoras. En 1889 Herman Hollerith desarrolló la tarjeta perforada para almacenar datos. Al igual que Babbage, aparentemente él también tomó prestada la idea de una tarjeta perforada de Jacquard. También desarrolló un equipo mecánico (controlado por uno de los nuevos motores eléctricos) que contaba, ordenaba y cotejaba información almacenada en tarjetas perforadas. La idea de calcular mediante maquinaria intrigó tanto al gobierno de los EE.UU. que Hollerith fue comisionado para utilizar su sistema de tarjetas perforadas para almacenar y tabular información para el censo de 1890. En 1896 Hollerith formó la empresa Tabulating Machine Company, la cual desarrolló una línea de equipos que utilizaban tarjetas perforadas para la tabulación. Después de varias fusiones esta empresa se convirtió en International Business Machines Corporation, la cual se conoce actualmente como IBM, Inc, y a las tarjetas perforadas utilizadas en los sistemas computacionales se les llamó tarjetas de Hollerith, en honor de Herman Hollerith. El código de 12 bits que utilizan esas tarjetas perforadas se conoce como código de Hollerith. Los equipos mecánicos controlados por motores eléctricos continuaron dominando el mundo del procesamiento de información hasta la construcción de la primera máquina calculadora electrónica en 1941. El inventor alemán Konrad Zuse, quien trabajaba como ingeniero para la empresa Henschel Aircraft Company en Berlín, fue quien inventó la primera computadora moderna. En 1936 Zuse construyó una versión mecánica de su sistema y posteriormente en 1939 construyó su primer sistema computacional electromecánico, llamado Z2. Su computadora calculadora Z3, como se muestra en la figura 1-1, probablemente se utilizó en el diseño de aeronaves y misiles durante la Segunda Guerra Mundial para el ejército alemán. El Z3 era un equipo de lógica de relevadores que tenía un reloj de 5.33 Hz (mucho más lento que los recientes microprocesadores de varios GHz). Si el gobierno alemán le hubiera dado a Zuse un patrocinio adecuado, es muy probable que hubiera desarrollado un sistema computacional mucho más poderoso. Zuse está por fin siendo honrado por su trabajo pionero en el área de la electrónica digital y por su sistema computacional Z3.

FIGURA 1-1 La computadora Z3 desarrollada por Konrad Zuse utiliza una frecuencia de reloj de 5.33 Hertz. (Fotografía cortesía de Horst Zuse, el hijo de Konrad.)

4

CAPÍTULO 1

Recientemente se descubrió (por medio de la desclasificación de documentos militares de los ingleses) que la primera computadora electrónica se puso en operación en 1943 para quebrantar los códigos militares secretos de los alemanes. Este primer sistema computacional electrónico, que utilizaba tubos al vacío, fue inventado por Alan Turing, quien llamó a su máquina Colossus, probablemente por su tamaño. Un problema con Colossus fue que, aunque su diseño le permitía quebrantar códigos militares secretos de los alemanes, generados por la máquina Enigma mecánica, no podía resolver otros problemas. Colossus no era programable; era un sistema computacional de programa fijo, lo que se conoce actualmente como una computadora de propósito especial. El primer sistema computacional electrónico programable de propósito general se desarrolló en 1946, en la Universidad de Pensilvania. Esta computadora moderna se llamó ENIAC (Calculadora e Integradora Numérica Electrónica). La ENIAC era una máquina enorme que contenía más de 17,000 tubos al vacío y más de 500 millas de cables. Esta máquina pesaba más de 30 toneladas y realizaba sólo aproximadamente 100,000 operaciones por segundo. La ENIAC llevó al mundo a la era de las computadoras electrónicas. Se programaba cambiando el cableado de sus circuitos; un proceso que tomaba a muchos trabajadores varios días en completarlo. Los trabajadores cambiaban las conexiones eléctricas en tableros de conexiones que tenían una apariencia como la de los conmutadores telefónicos. Otro problema con la ENIAC era la vida de los componentes de tubos al vacío, que requerían de un mantenimiento frecuente. Los descubrimientos posteriores fueron el desarrollo del transistor, en diciembre 23 de 1947, en los laboratorios Bell por John Bardeen, William Shockley y Walter Brattain. Después le siguió, en 1958, la invención del circuito integrado por Jack Kilby de Texas Instruments. El circuito integrado condujo al desarrollo de los circuitos integrados digitales (RTL, o lógica de resistencia a transistor) en la década de 1960 y al primer microprocesador en Intel Corporation en 1971. En ese tiempo, los ingenieros de Intel Federico Faggin, Ted Hoff y Stan Mazor desarrollaron el microprocesador 4004 (Patente de los E.U. 3,821,715); el dispositivo que empezó la revolución de los microprocesadores, el cual continúa actualmente a un ritmo cada vez más acelerado.

Avances en la programación Una vez desarrolladas las máquinas programables, empezaron a aparecer los programas y los lenguajes de programación. Como se mencionó anteriormente, el primer sistema computacional electrónico programable se programaba volviendo a cablear sus circuitos. Como esto era demasiado laborioso para una aplicación práctica, en la primera etapa de la evolución de los sistemas computacionales comenzaron a aparecer los lenguajes computacionales para controlar la computadora. El primer lenguaje de ese tipo, el lenguaje máquina, estaba compuesto de unos y ceros y utilizaba códigos binarios almacenados en el sistema de memoria computacional como grupos de instrucciones, a lo cual se le llamaba programa. Esto era más eficiente que volver a cablear una máquina para programarla, pero aún requería de mucho tiempo el desarrollar un programa debido al número total de códigos requeridos. El matemático John von Neumann fue la primera persona en desarrollar un sistema que aceptaba instrucciones y las almacenaba en memoria. A menudo a las computadoras se les llama máquinas de von Neumann en honor de John von Neumann. (Recuerde que Babbage también había desarrollado el concepto mucho antes que von Neumann.) Una vez que estuvieron disponibles los sistemas computacionales tales como el UNIVAC, a principios de la década de 1950, se utilizó el lenguaje ensamblador para simplificar la tarea de introducir código binario en una computadora como sus instrucciones. El ensamblador permite al programador utilizar códigos nemónicos en inglés, como ADD para la suma, en lugar de un número binario tal como 0100 0111. Aunque el lenguaje ensamblador era una ayuda para la programación, no fue sino hasta 1957 cuando Grace Hopper desarrolló el primer lenguaje de programación de alto nivel llamado FLOWMATIC, que las computadoras se hicieron más fáciles de programar. En el mismo año, IBM desarrolló el lenguaje FORTRAN (FORmula TRANslator –Traductor de fórmulas) para sus sistemas computacionales. Este lenguaje permitía a los programadores desarrollar programas que utilizaran fórmulas para resolver problemas matemáticos. FORTRAN es utilizado aún por algunos científicos para la programación de computadoras. Otro lenguaje similar, introducido un año después de FORTRAN, fue ALGOL (ALGOrithmic Language –Lenguaje algorítmico).

INTRODUCCIÓN AL MICROPROCESADOR Y LA COMPUTADORA

5

El primer lenguaje de programación verdaderamente exitoso y de amplio uso para las aplicaciones comerciales fue COBOL (COmputer Business Oriented Language –Lenguaje computacional orientado a los negocios). Aunque el uso del COBOL ha diminuido de manera considerable en la actualidad, aún juega un papel importante en muchos sistemas comerciales extensos. Otro lenguaje de negocios que una vez fue popular es RPG (Report Program Generator –Generador de programas de reportes), el cual permite la programación especificando la forma de la entrada, la salida y los cálculos. Desde los primeros días de programación han aparecido varios lenguajes adicionales. Algunos de los más comunes son BASIC, Java, C#, C/C++, PASCAL y ADA. Los lenguajes BASIC y PASCAL se diseñaron como lenguajes de enseñanza, pero han escapado del salón de clases y se utilizan en muchos sistemas computacionales. El lenguaje BASIC es probablemente el más fácil de aprender. Algunas estimaciones indican que el lenguaje BASIC se utiliza en la computadora personal en el 80% de los programas escritos por los usuarios. En la década pasada una nueva versión de BASIC, llamada Visual BASIC, ha facilitado la programación en el entorno Windows. El lenguaje Visual BASIC puede eventualmente suplantar a C/C++ y PASCAL como un lenguaje científico, pero eso es dudoso. En la comunidad científica, C/C++ y en ocasiones PASCAL y FORTRAN aparecen como programas de control. Estos lenguajes, en especial C/C++, permiten al programador un control casi completo sobre el entorno de programación y el sistema computacional. En muchos casos, C/C++ está sustituyendo a varios de los controladores o del software de control de máquina de bajo nivel, reservados normalmente para el lenguaje ensamblador. Aún así, el lenguaje ensamblador sigue jugando un papel importante en la programación. La mayoría de los videojuegos para la computadora personal están escritos casi de manera exclusiva en lenguaje ensamblador. Este lenguaje también se entremezcla con C/C++ y PASCAL para realizar las funciones de control de la máquina eficientemente. Algunas de las instrucciones en paralelo más recientes (SIMD) que se encuentran en los microprocesadores Pentium son sólo programables en lenguaje ensamblador. El lenguaje ADA es muy utilizado por el Departamento de defensa de los Estados Unidos. Este lenguaje fue nombrado en honor de Augusta Ada Byron, Condesa de Lovelace. La condesa trabajaba con Charles Babbage a principios de la década de1800 en el desarrollo de software para su Máquina Analítica.

La era del microprocesador El primer microprocesador en el mundo, el Intel 4004, era de 4 bits; un controlador programable en un chip. Podía direccionar tan solo 4096 posiciones de memoria de 4 bits. (Un bit es un dígito binario con un valor de uno o cero. A una posición de memoria de 4 bits se le llama comúnmente cuarteto.) El conjunto de instrucciones del 4004 contenía solamente 45 instrucciones. Estaba fabricado con la tecnología MOSFET de canal P (que en ese entonces era la más avanzada) que sólo le permitía ejecutar instrucciones a una lenta velocidad de 50 KIPs (kilo instrucciones por segundo). Esto era lento si se le comparaba con las 100,000 instrucciones ejecutadas por segundo por la computadora ENIAC de 30 toneladas en 1946. La principal diferencia era que el 4004 pesaba menos de una onza. Al principio, las aplicaciones abundaban para este dispositivo. El microprocesador de 4 bits fue usado en los primeros sistemas de videojuegos y en los pequeños sistemas de control basados en microprocesador. Uno de los primeros videojuegos, el videojuego shuffleboard, fue producido por Bailey. Los principales problemas con este microprocesador eran su velocidad, la anchura de las palabras y el tamaño de la memoria. La mejora del microprocesador de 4 bits terminó cuando Intel sacó al mercado el microprocesador 4040, una versión actualizada del 4004. El 4040 operaba a una mayor velocidad, aunque carecía de mejoras en la anchura de las palabras y en el tamaño de la memoria. Otras compañías, en especial Texas Instruments (TMS-1000), también produjeron microprocesadores de 4 bits. Este tipo de microprocesador aún sobrevive en aplicaciones de bajo nivel tales como hornos de microondas y pequeños sistemas de control, y aún está disponible a través de algunos fabricantes de microprocesadores. La mayoría de las calculadoras se basan todavía en microprocesadores de 4 bits que procesan códigos BCD (Decimal codificado en binario) de 4 bits. A finales de 1971 y teniendo en cuenta que el microprocesador era un producto comercialmente viable, Intel Corporation sacó al mercado el 8008; una versión extendida de 8 bits del microprocesador 4004. El 8008 direccionaba un tamaño de memoria expandida (16 Kbytes) y contenía instrucciones

6

CAPÍTULO 1

TABLA 1-1 Los primeros microprocesadores de 8 bits.

Fabricante Fairchild Intel MOS Technology Motorola National Semiconductor Rockwell International Zilog

Número de pieza F-8 8080 6502 MC6800 IMP-8 PPS-8 Z-8

adicionales (un total de 48) que brindaban la oportunidad para su aplicación en sistemas más avanzados. (Un byte es por lo general un número binario de 8 bits, y un K equivale a 1024. A menudo, el tamaño de la memoria se especifica en Kbytes.) A medida que los ingenieros fueron desarrollando usos más demandantes para el microprocesador 8008, descubrieron que su tamaño de memoria relativamente pequeño, su baja velocidad y su conjunto de instrucciones limitaban su utilidad. Intel reconoció estas limitaciones y presentó el microprocesador 8080 en 1973; el primero de los microprocesadores modernos de 8 bits. Aproximadamente seis meses después de que Intel lanzó el microprocesador 8080, Motorola Corporation introdujo su microprocesador MC6800. Las compuertas de la presa se abrieron y el 8080 (junto con el MC6800, aunque en menor grado) pasó a la era del microprocesador. En poco tiempo, otras compañías empeza...


Similar Free PDFs