Historia de las Computadoras El hombre contra la máquina • El 12/11/1945, se organizó una competencia entre el soroban (ábaco japonés) y la calculadora electrónica. • El operador de soroban fue Kiyoshi Matsuzaki, conocido como “El manos” por su habilidad manual, tenía 22 años y era empleado del Ministerio de Comunicaciones de Japón. • El operador de la calculadora fue Thomas Ian Wood, también de 22 años, era soldado de las fuerzas de ocupación de USA en Japón. • Matsuzaki tenía 7 años de experiencia en soroban y Wood 4 años de experiencia en manejo de calculadoras. • El soroban costaba unos 25 centavos de dólar y la calculadora alrededor de 700 dólares. • A los dos les fueron dadas 5 tareas con las 4 operaciones básicas. Universidad de Sonora Arquitectura de Computadoras 2 K. Matsuzaki vs. Thomas I. Wood ábaco vs. calculadora electrónica PROBLEMAS P1: Suma: 50 números cada uno conteniendo de 3 a 6 dígitos. P2: Resta: 5 problemas con minuendos y sustraendos de 6 a 8 dígitos cada uno. P3: Multiplicación: 5 problemas cada uno conteniendo de 5 a 12 dígitos en el multiplicador y el multiplicando. P4: División: 5 problemas cada uno conteniendo de 5 a 12 dígitos en el divisor y el dividendo. P5: Composición: 1 problema de suma de 30 números de 6 dígitos; 3 problemas de resta, cada uno con dos números de 6 dígitos; 8 problemas de multiplicación cada uno conteniendo un total de 5 a 12 dígitos; 3 problemas de división, cada uno conteniendo un total de 5 a Arquitectura de Computadoras 12Universidad dígitos. de Sonora 3 ¿Quién ganó? • El resultado final fue de 4:1 para el ábaco. • Matsuzaki fue el vencedor en suma, resta, división y mezcla de operaciones; solo fue derrotado en multiplicación. • El desarrollo posterior de las calculadoras no debe cambiar ese resultado, pues la velocidad de cálculo es determinada por la habilidad humana en apretar el teclado y no por la velocidad de cálculo. Universidad de Sonora Arquitectura de Computadoras 4 ¿Porqué ganó el ábaco? • Matsuzaki hacía las operaciones fáciles en su cabeza y usaba el ábaco para el resto. • Wood, como la mayoría de los operadores, solo se dedicaba a apretar teclas. Universidad de Sonora Arquitectura de Computadoras 5 3000 A.C. El ábaco fue inventado en Babilonia Universidad de Sonora Arquitectura de Computadoras 6 Los indios (de la India) inventaron el cero escrito, permitiéndoles efectuar la aritmética decimal en papel. Aquí comienza la llamada era de papel y lápiz. Las matemáticas indias fueron difundidas por los árabes, al Occidente. En 830, un persa, Mohammed Al-Khwarismi, escribió un libro sobre álgebra. La palabra algoritmo se deriva de su apellido. Universidad de Sonora Arquitectura de Computadoras 7 John Napier (1550-1617) inventó la "Tabla de Napier", que era similar a una tabla de multiplicaciones. La tabla reducía multiplicaciones y divisiones a sumas y restas. Usando ese principio, en 1620 fueron creadas las reglas de cálculo, usadas hasta 1970, antes de las calculadoras de bolsillo. Universidad de Sonora Regla de cálculo Arquitectura de Computadoras 8 Máquinas de calcular El alemán Wilhelm Schickard (1592-1635) construyó una máquina de calcular en 1623 y la llamó “Speeding Clock”. La máquina original fue destruida en un incendio y los planos se perdieron en el siglo 19. En 1960 se construyó una réplica funcional. El francés Blaise Pascal (1623-1662) diseño y construyó la segunda máquina de calcular en 1642-1652. La máquina, conocida como la Pascalina era capaz de sumar y restar. Universidad de Sonora Pascal (calculadora Arquitectura dePascalina Computadoras de Pascal) 9 El filósofo y matemático alemán Gottfried Wilhelm Leibniz (1646-1716) inventó en 1672 una calculadora mecánica, la Stepped Reckoner. La calculadora fue completada en 1694 y era capaz de sumar, restar, multiplicar y dividir. Solo queda un prototipo original de 16 dígitos en un museo de Hannover, Alemania. Universidad de Sonora Arquitectura de Computadoras 10 Pero… • Ninguno de esos 3 diseños fue viable debido a la complejidad de los mecanismos. Universidad de Sonora Arquitectura de Computadoras 11 Isaac Newton (1643-1727) con su Teoría Gravitacional coronó la era de papel e lápiz. Su teoría despertó grandes desafíos matemáticos, entre ellos el Problema de los Tres Cuerpos el Sol, la Tierra y la Luna, cuya solución es difícil y tediosa. Con el tiempo, un gran número de científicos comenzó a pensar en hacer estos cálculos a través de alguna máquina... Universidad de Sonora Arquitectura de Computadoras 12 En 1801, en Francia, durante la Revolución Industrial, Joseph Marie Jacquard, mecánico francés (1752-1834), inventó un telar mecánico controlado por tarjetas perforadas, capaz de producir tejidos con diseños bonitos e intrincados. En siete años, ya había 11 mil telares de ese tipo operando en Francia. Universidad de Sonora Arquitectura de Computadoras 13 tarjeta perforada Universidad de Sonora Arquitectura de Computadoras 14 El matemático inglés Charles Babbage (1792-1871) es conocido como el "Padre de la Computadora". 1822 - Charles Babbage inició el proyecto de construcción de una “Máquina de Diferencias” (Difference Engine). 1832 - Babbage y Joseph Clement construyeron una porción de dicha máquina. Universidad de Sonora Arquitectura de Computadoras 15 1834-35 - Babbage cambia su meta para el proyecto de la “Máquina Analítica” (Analytical Engine). Babbage proyectó la llamada "Calculadora Analítica", parecida a la idea de un computadora actual. El proyecto, totalmente mecánico, estaba compuesto de una memoria, un dispositivo central, engranajes y palancas para la transferencia de datos de la memoria hacia el dispositivo central y dispositivos para entrada e salida de datos. La calculadora utilizaría tarjetas perforadas y sería automática. Por algún tiempo, el gobierno británico financió a Babbage para construir a su invento. Pero nunca fue construida por problemas financieros, políticos y legales. Universidad de Sonora Arquitectura de Computadoras 16 Ada Augusta (1815-1852), Lady Lovelace, hija del poeta Lord Byron, se considera la primera programadora al escribir series de instrucciones para la máquina analítica de Babbage. Ada inventó algunos conceptos: a) subrutina: una secuencia de instrucciones que puede ser usada varias veces en diferentes contextos; b) ciclos, de modo que la secuencia pueda tener su ejecución repetida; y c) salto condicional: la lectora de tarjetas saltaría para otra tarjeta si alguna condición fuese satisfecha. Universidad de Sonora Arquitectura de Computadoras 17 El matemático inglés George Boole (1815-1864) publicó en 1854 los principios de la lógica booleana, donde las variables toman solo valores 0 e 1 (verdadero y falso). La dificultad de implementar un dígito decimal (un número entero entre 0 e 9) en componentes eléctricos determinó el uso de la base 2 en las computadoras. La lógica booleana fue usada en la implementación de los circuitos eléctricos internos a partir del siglo 20. Universidad de Sonora Arquitectura de Computadoras 18 Cerca de 1890, Herman Hollerith (1860-1929), fue responsable de un gran cambio en la manera de procesar los datos de los censos. Los datos del censo de 1880, manualmente procesados, llevaron 7 años y medio para ser compilados. Los del censo de 1890 fueron procesados en 2 años y medio con la ayuda de una máquina de perforar tarjetas y máquinas de tabular y ordenar, creadas por Hollerith y su equipo. Mas tarde, Hollerith fundó una compañía para producir máquinas de tabulación llamada Tabulating Machine Company, una de las antecesoras de IBM. Universidad de Sonora Arquitectura de Computadoras 19 Computadoras electromecánicas La primera computadora electromecánica, llamada Z-1, usaba relays y fue construida por el alemán Konrad Zuse (1910-1995) en 1936. Zuze intentó venderle sin éxito al gobierno alemán computadoras para uso militar. Universidad de Sonora Arquitectura de Computadoras 20 Relays electromecánicos Universidad de Sonora Arquitectura de Computadoras 21 Z-1 Universidad de Sonora Arquitectura de Computadoras 22 La marina de USA, en conjunto con la Universidad de Harvard e IBM, construyó en 1944 la Mark I. En cierto sentido, Mark I era la realización del proyecto de Babbage. Mark I ocupaba 120 m3, tenía miles de relays y hacía un ruido infernal. Una multiplicación de números de 10 dígitos llevaba 3 segundos para ser efectuada. Universidad de Sonora Arquitectura de Computadoras 23 Computadora electrónica En secreto, el ejército de USA también desarrollaba su computadora. Esta usaba solo bulbos e tenía como objetivo calcular las trayectorias de misiles con mas precisión. Válvula electrónica (bulbo) Universidad de Sonora Arquitectura de Computadoras 24 Válvula electrónica (bulbo) Universidad de Sonora Arquitectura de Computadoras 25 Los ingenieros John Presper Eckert (1919-1995) y John Mauchly (1907-1980) diseñaron la ENIAC: Electronic Numeric Integrator And Calculator, con 18.000 bulbos. La ENIAC hacía 500 multiplicaciones por segundo. La ENIAC fue presentada en la Universidad de Pennsylvania el 14 de febrero de 1946 y se inicia la era de la computación moderna. Universidad de Sonora Arquitectura de Computadoras 26 Von Neumann El matemático húngaro John von Neumann (1903-1957) formalizó el proyecto lógico de una computadora. von Neumann sugirió que las instrucciones fuesen almacenadas en la memória de la computadora (stored program concept). Hasta entonces, las instrucciones era leídas de tarjetas perforadas y ejecutadas una a una. Almacenadas en la memoria, para entonces ejecutarlas, tornaría la computadora mas rápida, yá que, al momento de ejecución, las instrucciones serían obtenidas con rapidez electrónica. La mayoría de las computadoras de hoy en día siguen el modelo propuesto por von Neumann. Universidad de Sonora Arquitectura de Computadoras 27 Generación de computadoras • Las tres primeras generaciones de computadoras reflejan principalmente la evolución de los componentes básicos de la computadora (hardware): – La primera generación (1945-1959) usaban bulbos, kilómetros de cables, eran lentas, enormes y se calentaban mucho. – En la segunda generación (1959-1964) se cambiaron los bulbos por transistores y los cables por circuitos impresos. Eso volvió las computadoras mas rápidas, menores y de costo mas bajo. – En la tercera generación (1964-1970) fueron usados los circuitos integrados, proporcionando mayor compactación, reducción de costos e incremento en la velocidad de procesamiento. Tiene inicio la utilización de avanzados sistemas operativos. – Las generaciones posteriores, de 1970 hasta hoy, se caracterizan por el perfeccionamiento tecnológico, un mayor grado de miniaturización, densidad de componentes, confiabilidad y velocidad mayor. Universidad de Sonora Arquitectura de Computadoras 28 Evolución de la Microelectrónica (1925) Lilienfeld: principios de los transistores de efecto de campo (1947) Bardeen e Brattain: inventaron el transistor de unión bipolar (BJT bipolar junction transistor) (1948) Shockley: teoría del BJT (1958) Kilby (Texas Instr.): desarrollo del primer circuito integrado (1959) Atalla e Kahng: producen el primer transistor MOS (1970) Intel: DRAM de 1-Kbit (3 transistores/bit PMOS) (1971) Intel: microprocesador 4004 (2300 transistores NMOS) Final de los años 1970: primeros circuitos CMOS Universidad de Sonora Arquitectura de Computadoras 29 Invención del transistor El 23 de diciembre de 1947, en los Bell Labs, John Bardeen, Walter Brattain, e William Shockley, desarrollaron el primer transistor; Usando semiconductores, los transistores pudieron sustituir a los bulbos, siendo menores, mas rápidos y mas duraderos, además de que no se calientan tanto ni consumen tanta energía. Diversos encapsulamientos de transistores Universidad de Sonora Arquitectura de Computadoras 30 Desarrollo de los primeros circuitos integrados • En los años 60s, bajo la influencia del programa espacial de USA, el desarrollo de la microelectrónica llevó a la construcción de circuitos transistorizados integrados en una única pastilla de silicio (chip) de dimensiones reducidas. • Decenas de millares de transistores son integrados en un chip de algunos milímetros cuadrados, dando origen a los circuitos integrados. • 1971 – El equipo de Ted Hoff, S. Mazor y F.Fagin desarrolló el microprocesador 4004 de Intel, la primera computadora en un chip. Microprocessador 4004 2300 transistores Universidad de Sonora Arquitectura de Computadoras 31 Microprocesadores de la década de 1970 Microproces adores 4004 8008 8080 8086 8088 Año 1971 1972 1974 1978 1979 Reloj 108KHz 108KHz 2MHz 5-10MHz 5-8MHz Bus 4 bits 8 bits 8 bits 16 bits 8 bits Número de transistores 2,300 3,500 6,000 29,000 29,000 Tecnología 10 micrones 6 micrones 3 micrones 3 micrones Direccionami 640 bytes ento de memoria Memoria Virtual - Universidad de Sonora 16 Kilobytes 64 Kilobytes 1 Megabyte 1 Megabyte - - - Arquitectura de Computadoras - 32 8008 (primero microprocesador de 8 bits) año 1972 3500 transistores 10 micrones Universidad de Sonora Arquitectura de Computadoras 33 8080 (microprocesador de 8 bits) 1974 6000 transistores 6 micrones Universidad de Sonora Arquitectura de Computadoras 34 8086 – microprocesador de 16 bits (1978) 29000 transistores 3 micrones Universidad de Sonora Arquitectura de Computadoras 35 Procesadores de la década de 1980 Microprocesador es/ Características 80286 80386DX 80386SX 80486DX Año 1982 1985 1988 1989 Reloj 6-12.5 MHz 16-33 MHz 16-33 MHz 25-50 MHz Bus 16 bits 32 bits 16 bits 32 bits Número de transistores 134,000 275,000 275,000 1,200,000 Tecnología 1.5 micrones 1 micrón 1 micrón 0.8 -1 micrón Direccionamiento 16 de memoria Megabytes 4 Gigabytes 4 Gigabytes 4 Gigabytes Memoria Virtual 1 Gigabyte 64 Terabytes 64 Terabytes 64 Terabytes Caché - - Universidad de Sonora - Arquitectura de Computadoras 8 Kilobytes 36 80286 (1982) 134,000 transistores 1.5 micrones Universidad de Sonora Arquitectura de Computadoras 37 80386 (1985) 275,000 transistores 1 micrón Universidad de Sonora Arquitectura de Computadoras 38 80486DX (1989) 1,200,000 transistores 0.8 – 1 micrón Universidad de Sonora Arquitectura de Computadoras 39 Procesadores de la década de 1990 Microprocesadores 80486SX Pentium Pentium Pro Pentium II Pentium III Año 1991 1993 1995 1997 1999 Reloj 16-33 MHz 60-166 MHz 150-200 MHz 200-300MHz 400-1000MHz Bus 32 bits 32 bits 64 bits 64 bits 64 bits Número de transistores 1,185,000 3,100,000 5,500,000 7,500,000 9,500,000 Tecnología 1 micrón 0,8 micrón 0.6 micrón - - 4 Gigabytes 64 Gigabytes 64 Gigabytes 64 Gigabytes Direccionam 4 Gigabytes iento de memoria Memoria Virtual 64 Gigabytes 64 Terabytes 64 Terabytes 64 Terabytes 64 Terabytes Caché 8Kbytes Instrucción 8K Dato - 8K Instrucción 8K Dato – 8 K L2 – 256 K Instrucción 16K Dato- 16 K L2 – 512 K Instrucción 16K Dato–16 K L2 – 512 K Universidad de Sonora Nota: L2 caché de segundo nivel Arquitectura de Computadoras 40 Pentium (1993) 3,100,000 transistores 0.8 micrón Universidad de Sonora Arquitectura de Computadoras 41 Pentium II (1995) 7,500,000 transistores 0.6 micrón Universidad de Sonora Arquitectura de Computadoras 42 Pentium III (1999) 21,000,000 transistores 0.18 micrón Universidad de Sonora Arquitectura de Computadoras 43 35,000,000 transistores 0.18 micrón Universidad de Sonora Arquitectura de Computadoras 44 Universidad de Sonora Arquitectura de Computadoras 45 Ley de Moore • “La densidad de transistores a la cual el costo por transistor es mínimo, se duplica cada dos años” Gordon Earle Moore, 1975 Universidad de Sonora Arquitectura de Computadoras 46 Ley de Moore (aplicada a partir de 1900) Universidad de Sonora Arquitectura de Computadoras 47 Universidad de Sonora Arquitectura de Computadoras 48 Cada 2 años se dobla la cantidad de transistores en las CPUs (Ley de Moore) Universidad de Sonora Arquitectura de Computadoras 49 Universidad de Sonora Arquitectura de Computadoras 50 Universidad de Sonora Arquitectura de Computadoras 51 Universidad de Sonora Arquitectura de Computadoras 52 Universidad de Sonora Arquitectura de Computadoras 53 Universidad de Sonora Arquitectura de Computadoras 54 Universidad de Sonora Arquitectura de Computadoras 55 Evolución del costo de memoria Universidad de Sonora Arquitectura de Computadoras 56 Capacidad de Memoria (DRAM de chip único) size 1000000000 100000000 10000000 1000000 100000 10000 1000 1970 1975 1980 1985 1990 1995 2000 ano 1980 1983 1986 1989 1992 1996 2000 tamaño 64K 256K 1M 4M 16M 64M 256M tiempo 250 ns 220 ns 190 ns 165 ns 145 ns 120 ns 100 ns Year Universidad de Sonora Arquitectura de Computadoras 57 Tendencias Tecnológicas (Resumen) Capacidad Velocidad (latencia) Lógica 2x en 3 años 2x en 3 años DRAM 4x en 3 años 2x en 10 años Disco 4x en 3 años 2x en 10 años Universidad de Sonora Arquitectura de Computadoras 58 Universidad de Sonora Arquitectura de Computadoras 59 Interconexiones dentro de un chip Universidad de Sonora Arquitectura de Computadoras 60 Universidad de Sonora Arquitectura de Computadoras 61 Universidad de Sonora Arquitectura de Computadoras 62 Universidad de Sonora Arquitectura de Computadoras 63 SOC (System on Chip) Universidad de Sonora Arquitectura de Computadoras 64 System on Chip Universidad de Sonora Arquitectura de Computadoras 65 System on Chip Aplicaciones dedicadas y empotradas, donde el costo, desempeño y consumo de energía son críticos. Uso intensivo de procesamiento de señales digitales – DSP. Mezcla de diversos componentes. Combinación de módulos programables y dedicados. Software tiene un papel fundamental. Universidad de Sonora Arquitectura de Computadoras 66 Conclusiones • Tendencia hacia el sistema en el chip. • Tendencia hacia sistemas empotrados. • Demanda creciente de memoria y velocidad de procesamiento. Universidad de Sonora Arquitectura de Computadoras 67