Historia Introducción a los sistemas basados en microprocesador Lección 1.1 Ing. Jorge Castro-Godı́nez Escuela de Ingenierı́a Electrónica Instituto Tecnológico de Costa Rica I Semestre 2013 Jorge Castro-Godı́nez Sistemas Basados Microprocesador 1 / 34 Historia Contenido 1 Historia Cronologı́a Desde el 4004 hasta el 80x86 Jorge Castro-Godı́nez Sistemas Basados Microprocesador 2 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Era mecánica ¿Desde cuando existen las computadoras? Aún antes de dispositivos eléctricos y electrónicos, habı́a computación. El ábaco, el odómetro, máquina analı́tica. Ábaco y diseño de la máquina analı́tica Jorge Castro-Godı́nez Sistemas Basados Microprocesador 3 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Era eléctrica (1) Surgimiento del motor eléctrico. Tarjetas y código de Hollerith, IBM. ENIAC: primer sistema computacional programable. ENIAC: 17000 tubos al vacı́o, + 500 millas de cable, 30 toneladas, 100000 operaciones/segundo. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 4 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Era eléctrica (2) La Whirlwind fue una computadora diseñada a finales de los 40’s en el MIT para controlar el simulador de bombarderos. Fue la primera que soportaba tiempo real. Fı́sicamente era muy grande, contenı́a alrededor de 4000 tubos al vacı́o. Circuiterı́a y pila de memoria de la Whirlwind. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 5 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (1) 1939 - Tecnologı́a de computadoras: John Atanasoff y Clifford Berry crearon el primer prototipo de Atanasoff-Berry Computer (ABC), la primera computadora digital. 1945 - Depuración: La primera “pulga” de computadoras fue encontrada por Grace Hopper. 1946 - Tecnologı́a de computadoras: ENIAC la primera computadora digital con programas almacenados del mundo fue creada. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 6 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (2) El primer bug reportado. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 7 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (3) 1950s - Evolución de lenguajes: Los lenguajes de ensamblador fueron creados. 1952 - Compiladores: Grace Hopper escribió el primer compilador para una computadora digital. 1954 - Evolución de lenguajes: John Backus y su equipo en IBM empezaron el desarrollo de FORTRAN (FORmula TRANslator). 1958 - Electrónica: Jack St. Clair inventó el circuito integrado en Texas Instruments. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 8 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (4) Primer CI desarrollado. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 9 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (5) 1962 - Electrónica: Texas Instruments introdujo la serie 7400 de circuitos integrados. 1965 - Tecnologı́a de computadoras: Gordon Moore publica en un artı́culo la famosa ley de Moore. 1967 - Evolución de lenguajes: Niklaus Wirth empieza el desarrollo de PASCAL. 1970 - Electrónica: Texas Instruments desarrolla un circuito integrado programable llamado PLA (programmable logic array). 1970 - Tecnologı́a de computadoras: Intel libera el chip 1103, el primer chip de memoria DRAM. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 10 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (6) 1971 - Tecnologı́a de computadoras: Intel libera el primer microprocesador, el 4004, que es una unidad central de proceso (CPU) de 4 bits. El mismo fue creado para el diseño de la primera calculadora digital. 1971 - Electrónica: General Electric desarrolla el primer dispositivo de lógica programable y borrable (PLD), basado en la tecnologı́a PROM. 1972 - Evolución de lenguajes: Dennis Ritchie desarrolla C en los laboratorios Bell para ser empleado en el sistema operativo UNIX. 1973 - Tecnologı́a de computadoras: Ethernet fue desarrollado. 1975 - Compiladores: Bill Gates and Paul Allen enviaron el compilador BASIC a MITS. Microsoft fue fundado. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 11 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (7) 1979 - Evolución de lenguajes: Bjarne Stroustrup desarrolló C++ en los laboratorios Bell como una mejora al lenguaje C. 1979 - Tecnologı́a de computadores: Laboratorios Bell introdujo el primer procesador de señales digitales (DSP). 1981 - Tecnologı́a de computadores: Un equipo liderado por John L. Hennessy en la Universidad de Standford empezaron a trabajar en el primer procesador MIPS. 1983 - Sistemas operativos: Richard Stallman anuncia el sistema operativo GNU. 1984 - Electrónica: Xilinx desarrolló el FPGA. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 12 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (8) 1984 - Tecnologı́a de computadoras: Fujio Masuoka inventó la memoria flash (NAND y NOR) mientras trabajaba para Toshiba. 1985 - Tecnologı́a de computadoras: Acorn Computers lanza el ARM1. 1991 - Sistemas operativos: Linux es diseñado por un estudiante avanzado de universidad llamado Linus Torvarlds. 1993 - Tecnologı́a de computadoras: IBM, Apple y Motorola liberan la arquitectura PowerPC. 1990s - Métodos de programación: Agile aparece en escena. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 13 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Cronologı́a (9) 1995 - Evolución de lenguajes: Sun Microsystems libera Java. 1996 - Sistemas operativos: Microsoft libera la primera versión de Windows Embedded CE. 2005 - Tecnologı́a de computadoras: IBM, Intel y AMD liberan sus primeros procesadores de múltiple núcleo. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 14 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Era del microprocesador Primer microprocesador: Intel 4004. 4 bits, 4096 posiciones de memoria (4 bits) ISA: 45 instrucciones. Tecnologı́a MOSFET de canal tipo p. 50000 instrucciones/segundo. Aplicaciones de videojuegos. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 15 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 4004 (1) Encapsulado DIP del 4004. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 16 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 4004 (2) Arquitectura del 4004. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 17 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Chips de soporte del 4004 (1) 4001: ROM de 256 bytes (256 instrucciones de programa de 8bits), y un puerto incorporado de I/O de 4 bits. 4002: RAM de 40 bytes (80 palabras de datos de 4 bits), y un puerto de salida incorporado de 4 bits. La porción de RAM del chip está organizada en cuatro “registro” de veinte palabras de 4 bits: 16 palabras de datos (usadas para los dı́gitos significativos en el diseño original de la calculadora). 4 palabras de estado (usadas para los dı́gitos de exponente en el diseño original de la calculadora). Jorge Castro-Godı́nez Sistemas Basados Microprocesador 18 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Chips de soporte del 4004 (2) 4003: shift register (registro de desplazamiento) de salida paralela de 10 bits para explorar teclados, pantallas, impresoras, etc. 4008: latch de 8 bits de dirección para acceso a chips de memoria estándar, y un chip incorporado de 4 bits de selección y puerto de I/O. 4009: programa y convertidor de acceso I/O a memoria estándar y a chips de I/O. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 19 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8008 Versión extendida de 8 bits del microprocesador 4004. Direccionamiento de memoria de 16 Kbytes (recordar que 1 B = 8 bits y 1 K son 1024). 48 instrucciones. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 20 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8080 (1) Microprocesador de 8 bits. 10x más rápido que el 8008 Compatible con tecnologı́a TTL. 4x direccionamiento de memoria (64 Kbytes) Jorge Castro-Godı́nez Sistemas Basados Microprocesador 21 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8080 (2) Primera computadora personal MITS Altair 8800. Bill Gates y Paul Allen desarrollan intérprete de BASIC escrito para esta computadora, 1975. MITS Altair 8800. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 22 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8080 (3) Publicidad impresa del MITS Altair 8800. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 23 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8080 (4) Apple I basada en 8080. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 24 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 8085 El 8085 fue una versión actualizada del 8080. 1,3 µs / instrucción. Ventas por más de 100 millones de microprocesadores. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 25 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Microprocesador moderno Intel lanza el microprocesador 8086 en 1978. Un año después lanza el 8088. Ambos de 16, con tasa de procesamiento de 400 ns/instrucción. Direccionamiento 1M de memoria, 16x más que el 8085. Caché o cola de 4 - 6 bytes, precargar instrucciones. CISC (computadoras de conjunto de instrucciones complejas) debido al número y la complejidad de las instrucciones. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 26 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Arquitectura 8086 y 8088 Jorge Castro-Godı́nez Sistemas Basados Microprocesador 27 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Diagrama de bloque de los microprocesadores 8086 y 8088 1 Bloque de registros de propósito general. 2 Bloque de registros de segmento y registro IP. 3 Sumador de direcciones. 4 Bus de direcciones interno. 5 Cola de instrucciones (4 bytes para el 8088 y 6 bytes para el 8086) 6 Unidad de control (muy simplificada). 7 Interfaz del bus. 8 Bus de datos interno 9 Unidad aritmético lógica (ALU). 10 Bus de direcciones, datos y control externos. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 28 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Diagrama Bloques 8086 Diagrama Bloques 8086. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 29 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Diagrama Bloques 8088 Diagrama Bloques 8088. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 30 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Computadora genérica Diagrama Bloques Computadora. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 31 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Memoria von Neumman Memoria von Neumman. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 32 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Memoria Hardvard Memoria Hardvard. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 33 / 34 Historia Cronologı́a Desde el 4004 hasta el 80x86 Referencias I B. Brey. Microprocesadores Intel: Arquitectura, Programación e Interfaz. Pearson, 7ma edición, 2008. Jorge Castro-Godı́nez Sistemas Basados Microprocesador 34 / 34