16/02/2008 E.P.S. de Zamora Informática Introducción Escuela Politécnica Superior de Zamora Departamento de Informática y Automática Informática ITOP José Mª González Ríos Curso 2007/2008 Informática, ¿Qué es? Es el conjunto de conocimientos científicos que se ocupan del tratamiento automático de la información, información, especialmente por medio de ordenadores. Datos + Interpretación = Información útil José Mª González Ríos Informática – 2007/2008 2 1 16/02/2008 Primeras “computadoras” Ábacos Calculadoras mecánicas Sistemas basados en relés José Mª González Ríos Informática – 2007/2008 3 Máquinas diferenciales de Babagge 1822: Primera “computadora“ (mecánica) Usaba el método de las diferencias finitas para el cálculo de polinomios de 2do grado. Requería aprox. 25.000 partes. Fracaso en el intento 1847: Otra versión más “pequeña“ No llegó a construirse Fue reproducida por el Museo de Ciencia en 1985 José Mª González Ríos Informática – 2007/2008 4 2 16/02/2008 Máquina analítica 1834 Primera Computadora Digital (mecánica) Calculaba cualquier función algebraica y almacenaba números. Se programaba con tarjetas. Charles Babbage y Ada Lovelace. Lovelace. Fracaso en el intento... Informática – 2007/2008 José Mª González Ríos 5 Historia … Antes de 1940 … Después de 1940 ERA MECÁNICA Características: Componentes mecánicos Voluminosos Lentos Complicados Propensos a errores ERA ELECTRÓNICA 1ª Generación 2ª Generación 3ª Generación 4ª Generación 5ª Generación … La era mecánica supone que las máquinas de calcular eran construidas con componentes mecánicos mecánicos,, si bien al final de dicha era se combinaban componentes mecánicos con componentes eléctricos generando las máquinas de calcular electrónicas.. electrónicas La era electrónica se caracteriza por el empleo de componentes electrónicos (que permiten rapidez rapidez,, fiabilidad y precisión) como elementos fundamentales de las máquinas de calcular calcular.. El estudio de esta era se divide en 5 grandes etapas que constituyen las 5 generaciones de ordenadores. ordenadores. José Mª González Ríos Informática – 2007/2008 6 3 16/02/2008 Generaciones de ordenadores: 1ª Primera Generación (… a 1954). Las computadoras de la primera Generación emplearon válvulas para procesar información. Los operadores introducían los datos y programas en código especial por medio de tarjetas perforadas. perforadas. El primer ordenador electrónico de propósito general fue el ENIAC ((Electronic Electronic Numerical Integrator And Calculator Calculator), ), construido en la Universidad de Pensilvania bajo la dirección de un proyecto financiado por el Ejército Estadounidense para obtener una máquina de cálculo automático de tablas balísticas. Era una máquina enorme que contenía unas 18.000 válvulas, 70.000 resistencias y 10.000 condensadores. Pesaba unas 30 toneladas, consumía más de 150 Kw y ocupaba una superficie de unos 1.300 m² m².. Duró 10 años con 80.000 horas. J. Von Neumann propone el concepto de programa almacenado: las instrucciones podían almacenarse en el ordenador, juntamente con los datos. Esta idea tenía dos implicaciones importantes: Las instrucciones podrían cambiarse sin necesidad de establecer cableados manuales. El ordenador podría procesar las instrucciones como si fuesen datos, haciendo posible la alteración de su secuencia e incluso la modificación automática. José Mª González Ríos Informática – 2007/2008 7 Primera generación ¼ Tubos de vacío Utilizan tubos (vávulas (vávulas)) de vacío Enormes (20,000 tubos) y lentas (un ciclo ≈ 1 seg.) seg.) Un solo grupo diseñaba, construía, programaba, operaba y mantenía cada máquina. Toda la programación se hacía en lenguaje máquina (conectando cables en un tablero, por ejemplo). No existían los sistemas operativos. En 1950 se introducen las tarjetas perforadas. José Mª González Ríos Informática – 2007/2008 8 4 16/02/2008 El modelo de von Neumann Antes: programar era conectar cables… Hacer programas era mas una cuestión de ingeniería electrónica Cada vez que había a que calcular algo distinto había que reconectar todo. Mauchly y Eckert (ENIAC) documentaron la idea de almacenar programas como base de la EDVAC. Pero no lo publicaron… José Mª González Ríos Informática – 2007/2008 9 John Von Neumann Fue el pionero de la computadora digital moderna y de la aplicación de la teoría operadora a la mecánica cuántica. Trabajó con Eckert y Mauchly en la Universidad de Pennsylvania, donde publicó un artículo acerca del almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la llamada EDVAC ((Electronic Electronic DiscreteDiscrete-Variable Automatic Computer, Computer, es decir 'computadora automática electrónica de variable discreta'), discreta '), desarrollada por Von Neumann, Neumann, Eckert y Mauchly. Mauchly. Los programas almacenados dieron a las computadoras flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos. José Mª González Ríos Informática – 2007/2008 10 5 16/02/2008 von Neumann Neumann/ /Turing Los datos y programas se almacenan en una misma memoria de lecturalecturaescritura Los contenidos de esta memoria se direccionan indicando su posición sin importar su tipo. Ejecución en secuencia (salvo que se indique lo contrario). Representación Binaria José Mª González Ríos Informática – 2007/2008 11 Primera generación ¼Atanasoff Berry Computer (1939 - 1942) Primera computadora digital (binaria) No era de propósito general Resolvía sistemas de ecuaciones lineales. John Atanasoff y Clifford Berry de la Iowa State University José Mª González Ríos Informática – 2007/2008 12 6 16/02/2008 Primera generación ¼UNIVAC (1949) Primera computadora comercial Eckert--Mauchly Computer Corporation (Universal Eckert Automatic Computer Computer)) Incorpora el uso de cintas magnéticas Cálculos para el censo USA Para el fin de los 50 se construyó la UNIVAC II mucho más rápida y con más memoria José Mª González Ríos Informática – 2007/2008 13 Primera generación ¼Colossus (1943) Desarrollo Británico Diseñada para descifrar los mensajes encriptados por los alemanes Participó Turing No se conoció hasta los 80 Máquina Alemana “Enigma” 1 50,000,000,000,000,000,000 combinaciones. Pero los Aliados pudieron descifrar los mensajes José Mª González Ríos Informática – 2007/2008 14 7 16/02/2008 Primera Generación ¼Mark 1 Después de 7 años de estudios, el profesor Howard H. Aiken de la Universidad de Harvard completa, en colaboración con IBM, el primer calculador aritmético de tipo universal que realiza finalmente la intuición de Charles Babbage Babbage:: MARK 1 Una vez introducida la instrucción y datos para sumar o dividir, la máquina ((Automatic Automatic Sequence Controlled Calculator Calculator)) procede sola, sin ninguna intervención del hombre y da el resultado del cálculo perforándolo sobre una tarjeta o imprimiéndolo por medio de 2 máquinas eléctricas de escribir. Mark 1, la calculadora de la Universidad de Harvard pesaba 5 toneladas y está constituida por 78 máquinas calculadoras conectadas entre sí por 800 kilómetros de cable eléctrico. Contiene 3.300 relés, que ponen en movimiento dispositivos mecánicos, como calculadores y contadores de rueda y era capaz de multiplicar dos números de 23 cifras en 6 segundos. José Mª González Ríos Informática – 2007/2008 15 Mark I (1939(1939-1944) IBM y la universidad de Harvard Electromecánico, 760.000 ruedas! 800km de cables! Basado en la máquina analítica de Babagge Decimal 0.3 a 10 segundos por cálculo Programable mediante una cinta de papel Se uso hasta 1959 Grace Hooper: Hooper: popularizo el nombre “Bug “Bug”” Escribió en su cuaderno de trabajo :"Relé :"Relé #70 Panel F insecto en Relé". Relé". José Mª González Ríos Informática – 2007/2008 16 8 16/02/2008 Primera generación ¼Mark I También llamada Baby Usada para demostrar el concepto de programa almacenado En 1948 se contrató a Turing para el desarrollo de un lenguaje de programación para la máquina José Mª González Ríos Informática – 2007/2008 17 Primera generación ¼ ENIAC (1946) Electronic Numerical Integrator and Computer John Mauchly and J. Presper Eckert (Pennsylvania) Primera computadora de propósito general Se programaba “cableando” Construida entre 19431943-1946 para calcular la trayectoria de las armas Pero se terminó ...tarde Von Newman participó de las últimas etapas del proyecto FLOPS es el acrónimo Se usó hasta 1955 Decimal (no binaria) de Floating point 20 acumuladores de 10 dígitos Programada manualmente usando Operations Per Second switches (operaciones en coma 18,000 válvulas flotante por segundo) 30 toneladas! 2.40 m ancho x 30 m largo! (Pentium 4 varios 140 kW de consumo 5,000 adiciones por segundo Gflots)) Gflots 500 Flops José Mª González Ríos Informática – 2007/2008 18 9 16/02/2008 Primera generación ¼IBM 650 (1955) Primera computadora producida en masa Fuera de circulación en 1969 José Mª González Ríos Informática – 2007/2008 19 Primera generación ¼IBM 704 (1955) Primera máquina comercial con hardware de punto flotante 5 KFLOPS. José Mª González Ríos Informática – 2007/2008 20 10 16/02/2008 Generaciones de ordenadores: 2ª Segunda Generación (1955(1955-1964 1964). ). El invento del transistor hizo posible una nueva generación de computadoras, más rápidas, más pequeñas y con menores necesidades de ventilación. Diferencias con la anterior generación: 1. El transistor, inventado en 1948 en los laboratorios de la Bell Telephone Telephone,, reemplazó gradualmente a las válvulas en el diseño de los circuitos de conmutación. 2. Las memorias magnéticas de ferritas y de tambores, se impusieron sobre las otras tecnologías empleadas anteriormente. 3. Se generalizó el empleo de unidades aritméticas separadas para el tratamiento de números enteros y de números de punto flotante. 4. Aparecieron los primeros lenguajes de "alto nivel" como FORTRAN, COBOL, COBOL, LISP,, ALGOL. LISP 5. Se diseñaron pequeños procesadores de propósito especial para supervisar las operaciones de Entrada/Salida, que liberaban parcialmente a la CPU. 6. Los fabricantes empezaron a suministrar "software" básico, como compiladores y bibliotecas de programas programas.. Otra innovación importante de esta época fue el procesamiento por lotes (batch processing). processing ). Se prepara un lote de trabajos en una cinta para que el ordenador los procese en secuencia, sin pararse entre cada uno, como los anteriores. José Mª González Ríos Informática – 2007/2008 21 Segunda generación ¼ Transistores Se introducen los transistores. 9 Más baratos 9 Mas pequeños 9 Menos disipación de calor 9 Silicio (arena) Distinción entre diseñadores, constructores, programadores, operadores y personal de mantenimiento. Mainframes en salas acondicionadas. 9 Se escribían los programas en papel, luego se perforaban las tarjetas 9 Los operadores toman las tarjetas del programa y colocan también los del compilador. 9 Se crea el proceso por lotes que agrupa trabajos. Nace la microprogramación José Mª González Ríos Informática – 2007/2008 22 11 16/02/2008 Segunda generación ¼ IBM 1401 (1959) 4KB de memoria expandible a 16KB. Buena para leer tarjetas, copiar cintas e imprimir resultados, Mala para cálculos numéricos. Se utilizaba con fines comerciales (bancos, etc.) José Mª González Ríos Informática – 2007/2008 23 Segunda generación ¼ IBM 7094 (1962) IBM 1401 –IBM 7094: a) b) c) d) e) f) Los programadores llevan tarjetas La 1401 lee un lote de tarjetas y los graba en la cinta Un operador lleva la cinta a la 7094 La 7094 realiza los cómputos Un operador lleva la cinta a una 1401 La 1401 imprime las salidas Trabajo en FORTRAN (Formula Translator) Translator) Fortran Monitor System Comienzo de los Sistemas Operativos José Mª González Ríos Informática – 2007/2008 24 12 16/02/2008 Segunda generación ¼ DEC PDPPDP-1 (1961) 4K de palabras de 18 bits. US$ 120,000 < 5% del precio de la IBM 7094 José Mª González Ríos Informática – 2007/2008 25 Segunda generación ¼ Primer videovideo-juego Estudiantes de MIT (1962) Implementado en una PDPPDP-1 José Mª González Ríos Informática – 2007/2008 26 13 16/02/2008 Segunda generación ¼ Invención del Mouse (1964) José Mª González Ríos Informática – 2007/2008 27 Generaciones de ordenadores: 3ª Tercera Generación (1965 (1965-1975). 1975).Circuitos Circuitos Integrados, Integrados, Compatibilidad con Equipo Mayor, Multiprogramación, Minicomputadora . Las computadoras de la tercera generación emergieron con el desarrollo de los circuitos integrados (pastillas de silicio) en las cuales se colocan miles de componentes electrónicos, en una integración en miniatura miniatura.. Se diferencia de la anterior por: 1. Los circuitos integrados de pequeña y media escala (SSI, MSI) empezaron a reemplazar a los circuitos de transformadores discretos empleados en la segunda generación, generación, dando lugar a una reducción sustancial en tamaño y coste. 2. Las memorias de semiconductores empezaron a reemplazar a las de ferrita. 3. Se generalizó el empleo de la microprogramación microprogramación.. 4. Se introdujeron algunas técnicas para procesado en paralelo o concurrente, tales como segmentación, multiprogramación y multiproceso, con el fin de incrementar la velocidad efectiva del ordenador. 5. Se desarrollaron métodos para la compartición automática de los recursos de un ordenador. 6. Se generaliza el uso de el sistema operativo que ejerce un control global, supervisa la distribución de los recursos del sistema sistema,, planifica operaciones, evita interferencias entre los diferentes procesos, etc José Mª González Ríos Informática – 2007/2008 28 14 16/02/2008 Tercera generación ¼ circuitos integrados Se introducen los circuitos integrados 9 Bajan los costos 9 Sube el desempeño Se introduce la multiprogramación 9 Tiempo compartido entre usuarios Se introducen los discos duros Primer circuito integrado Jack Kilby (1958) 1 transistor, un capacitor, y 3 resistencias 10x15 mm Comparación con Pentium 4 55 millones de transistores Un pelo = 75 micrones Transistor Pentium 4 = 0.09 micrones micrones!! (90 nanómetros) José Mª González Ríos Informática – 2007/2008 29 IBM 360 (1964) Multiprogramación Terminales bobas Software compatible con IBM 7094, 1401 entre otros. Aparece el byte = 8bits José Mª González Ríos Informática – 2007/2008 30 15 16/02/2008 DEC PDPPDP-8 (1964) Primer minicomputador No necesita una habitación con aire acondicionado Lo bastante pequeño para colocarlo en una mesa de laboratorio US$16,000 José Mª González Ríos Informática – 2007/2008 31 Fundación de Intel (1968) Andy Grove , Robert Noyce y Gordon Moore Grove, José Mª González Ríos Informática – 2007/2008 32 16 16/02/2008 Generaciones de ordenadores: 4ª Cuarta Generación (1975 (1975–– actualidad). Microprocesador , Chips de memoria, Microminiaturización . Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de Muchos más componentes en un Chip: producto de la microminiaturización de los circuitos electrónicos electrónicos.. Se diferencian de las anteriores en: 1. El empleo de circuitos integrados de alta escala (LSI) y muy alta escala de integración (VLSI), en particular, de los microprocesadores. 2. La desaparición de las memorias de ferrita y su sustitución por las memorias de semiconductores en circuitos integrados. 3. La aparición de los ordenadores "personales "personales". ". (Apple II, IBM IBM--PC) 4. La tendencia cada vez mayor hacia la normalización en los sistemas operativos. José Mª González Ríos Informática – 2007/2008 33 Cuarta generación Usan VLSI (large (large scale integration). integration). > 100,000 componentes por chip Facilita la creación de microprocesadores Intel 8080 (8 bits) IBM PC (1981) con DOS. Intel 80286, 80386 y 80486. Aparecen las terminales gráficas (GUI) Microsoft “adopta” GUI y desarrolla Windows (sobre DOS) Aparecen la filosofía “RISC” José Mª González Ríos Informática – 2007/2008 34 17 16/02/2008 Lenguaje C (1972) Laboratorio Bell desarrolla el lenguaje C #include main() main () { } for(;;) for(;;) printf(" printf ("Helloworld Helloworld..." ..."\ \n); José Mª González Ríos Informática – 2007/2008 35 Cray 1 (1976) Seymour Cray Primera supercomputadora Procesamiento vectorial 12 unidades procesando en paralelo Aprox. 120 MFlops José Mª González Ríos Informática – 2007/2008 36 18 16/02/2008 MULTICS (1976) Impulso en el desarrollo de SO ““timesharing timesharing”” José Mª González Ríos Informática – 2007/2008 37 Primer microprocesador en un chip Intel Primer microprocesador en un chip IntelIntel 4004 (1971) CPU de 4 bits 2300 transistores Usado para calculadoras Dispositivos de control Intel 8080 (1974) 8 bits datos 16 bits direcciones José Mª González Ríos Informática – 2007/2008 38 19 16/02/2008 ALTAIR 8800 (1975) Primera computadora personal Tenía un Intel 8080 Se vendía como un kit a través de la revista Popular Electronics Electronics,, los diseñadores planearon vender solo unos pocos cientos de ejemplares a los aficionados, y se sorprendieron al vender diez veces esa cantidad solo en el primer mes. Hoy en día, la Altair es ampliamente reconocida como la chispa que condujo a la revolución del computador personal durante los años siguientes: El bus de computador diseñado para la Altair se convirtió en un estándar de facto conocido como el bus SS100. El primer lenguaje de programación para la máquina fue el Altair BASIC, escrito por Bill Gates y Paul Allen, quienes inmediatamente después fundarían Microsoft (wiki (wiki)) José Mª González Ríos Informática – 2007/2008 39 Apple I (1976) El Apple I fue uno de los primeros computadores personales, y el primero en combinar un teclado con un microprocesador y una conexión a un monitor. Fue diseñado por Steve Wozniak originalmente para uso personal. Un amigo de Steve Wozniak, Wozniak, Steve Jobs Jobs,, tuvo la idea de vender el computador Steve Jobs Jobs& & Steve Wosniak José Mª González Ríos Informática – 2007/2008 40 20 16/02/2008 Apple II (1977) Las primeras computadoras Apple II estuvieron a la venta el 5 de junio de 1977, basadas en un microprocesador Rockwell 6502 de MOS Technology funcionando a 1 MHz, con 48 KB RAM, 12 KB de ROM con el lenguaje de programación Integer BASIC, y una interface para grabadores de casetes de audio. El controlador de video mostraba en la pantalla 24 líneas por 40 columnas de texto solamente en mayúsculas, con salida de video compuesto NTSC para mostrase en un monitor, o en un aparato de televisión por medio de un modulador de RF. Se podía aumentar la RAM. Tenía 8 slots de expansión.. expansión La familia Apple II llegó a contar con trece versiones diferentes ((la la última fue Apple IIe) IIe) y se vendieron un total de 1.200.000 unidades. Apple llegó a denunciar a más de 20 empresas que habían tratado de imitar su popular máquina. José Mª González Ríos Informática – 2007/2008 41 Microsoft (1978) 1975 – Basic para la Altair 1981 acuerdan con IBM el desarrollo de DOS José Mª González Ríos Informática – 2007/2008 42 21 16/02/2008 Cuarta generación ¼ IBM PC (1981) Usa el Intel 8088, 16 bit a 4,7 MHz, 16 Kb de RAM, pantalla de 11,5” en blanco y negro y teclado de 83 teclas, Sistema DOS (Microsoft) (1.200.000 unidades el primer año) 1983:: XT, con disco rígido 1983 José Mª González Ríos Informática – 2007/2008 43 Cuarta generación ¼ Commodore64 (1982) El C64 tuvo una presentación impresionante, tal y como recuerda el ingeniero de producción David A. Ziembicki:: "Todo lo que veíamos en Ziembicki nuestro pabellón era gente de Atari con la boca abierta, diciendo '¿Cómo pueden hacer esto por 595$?'". La respuesta era, según se vio, la integración vertical: vertical: gracias a ser Commodore la dueña de las plantas de fabricación de semiconductores de MOS Technology, Technology, cada C64 tenía un costo estimado de producción de sólo 135$. José Mª González Ríos Informática – 2007/2008 44 22 16/02/2008 Cuarta generación ¼ Macintosh, Sony introduce el CD (1984) José Mª González Ríos Informática – 2007/2008 45 Cuarta generación ¼ Linux (1991) “Estoy construyendo un sistema operativo gratuito (no es más que un hobby, no será una cosa grande y profesional como GNU) para clones AT (con un 386 o 486).” Linus Torvalds Torvalds,, Helsinki, Oct. 91. José Mª González Ríos Informática – 2007/2008 46 23 16/02/2008 Cuarta generación ¼ Pentium (1993) Incorpora ideas de máquinas RISC RISC (del inglés Reduced Instruction Set Computer), Computadora con Conjunto de Instrucciones Reducido. Es un tipo de microprocesador con las siguientes características fundamentales: Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. Sólo las instrucciones de carga y almacenamiento acceden a la memoria por datos. 1994: Pentium Bug 5505001 / 294911 = 18.66600093 (Pentium) 5505001 / 294911 = 18.666651973 (Powerpc) Powerpc) X = 5505001, Y = 294911 Z = (X/Y)*Y - X (debería dar 0) Pentium con Bug : -256.00000 José Mª González Ríos Informática – 2007/2008 47 Generaciones de ordenadores: 5ª Quinta generación (1981 (1981 – actualidad). Hacia el año 1981, en Japón se empieza a hablar de ordenadores de quinta generación, basados en la inteligencia artificial(NO artificial(NO en el modelo de VonNeumann). VonNeumann). Con el nombre de quinta generación se refiere a una serie de ordenadores experimentales con inteligencia artificial, utilización del lenguaje natural, alta velocidad de proceso y un largo etcétera. etcétera. El proyecto de los ordenadores de la 5ª generación surgió en 1979 en el Ministerio de Industria y Comercio Internacional de Japón (MITI). Su objetivo es desarrollar una nueva generación de ordenadores para la década de los 90. El proyecto fue presentado en Octubre de1981 y comprendía 3 etapas: 1ª Etapa (1982 (1982--1985):Investigar y desarrollar nuevas tecnologías necesarias para los ordenadores de la 5ª generación. 2ª Etapa (1985(1985-1989):A partir de los resultados de la etapa anterior se desarrollarán arquitecturas paralelas con sistemas multiprocesadores. 3ª Etapa (1989(1989-1992):Desarrollo de un prototipo de máquina de la 5ªgeneración. José Mª González Ríos Informática – 2007/2008 48 24 16/02/2008 Quinta generación Las máquinas de esta nueva generación no se basarán en el modelo de Von Neumann, Neumann, pues serán "máquinas lógicas" cuyos objetivos serán, no sólo trabajar con datos, sino procesar símbolos, realizar deducciones, entender los lenguajes "naturales". El objetivo fundamental dela 5ª generación será lograr máquinas que "procesen el conocimiento". Para lograr estos objetivos se están desarrollando dos grandes temas de investigación: 1.-- Hardware: 1. - máquina de inferencias - máquina de la base de conocimientos 2.-- Software: 2. - desarrollo de desarrollo de desarrollo de desarrollo de desarrollo de un lenguaje núcleo de la 5ª generación un software de inferencia software de gestión de la base de conocimientos un software de "interface" inteligente un software de programación inteligente José Mª González Ríos Informática – 2007/2008 49 Resumen Tubos de vacío 19461946-1957 Transistores 19581958-1964 Small scale integration (SSI) – hasta 1965 Hasta 100 dispositivos en un chip Medium scale integration (MSI) - hasta 1971 100--3,000 dispositivos en un chip 100 Large scale integration (LSI) 19711971-1977 3,000 - 100,000 dispositivos en un chip Very large scale integration (VSLI) 1978 -1991 100,000 - 100,000,000 dispositivos en un chip Ultra large scale integration (ULSI) 1991 – Más de 100,000,000 dispositivos en un chip José Mª González Ríos Informática – 2007/2008 50 25