Historia del hardware
La historia del hardware informático cubre los desarrollos desde los primeros dispositivos simples para ayudar al cálculo hasta las computadoras modernas. Antes del siglo XX, la mayoría de los cálculos eran realizados por humanos.
Los primeros auxilios para la computación eran dispositivos puramente mecánicos que requerían que el operador estableciera los valores iniciales de una operación aritmética elemental y luego manipulara el dispositivo para obtener el resultado. Más tarde, las computadoras representaron números en forma continua (por ejemplo, la distancia a lo largo de una escala, la rotación de un eje o un voltaje). Los números también podrían representarse en forma de dígitos, manipulados automáticamente por un mecanismo. Aunque este enfoque generalmente requería mecanismos más complejos, aumentó en gran medida la precisión de los resultados. El desarrollo de la tecnología de transistores y luego el chip de circuito integrado condujo a una serie de avances, comenzando con las computadoras de transistores y luego las computadoras de circuitos integrados, lo que provocó que las computadoras digitales reemplazaran en gran medida a las computadoras analógicas. La integración a gran escala (LSI) de metal-óxido-semiconductor (MOS) luego habilitó la memoria de semiconductores y el microprocesador, lo que llevó a otro avance clave, la computadora personal (PC) miniaturizada, en la década de 1970. El costo de las computadoras gradualmente se volvió tan bajo que las computadoras personales en la década de 1990, y luego las computadoras móviles (teléfonos inteligentes y tabletas) en la década de 2000, se volvieron omnipresentes.
Primeros dispositivos
Antiguo y medieval
Los dispositivos se han utilizado para ayudar en el cálculo durante miles de años, en su mayoría utilizando correspondencia uno a uno con los dedos. El dispositivo de conteo más antiguo fue probablemente una forma de palo de conteo. El hueso Lebombo de las montañas entre Esuatini y Sudáfrica puede ser el artefacto matemático más antiguo conocido. Data del 35.000 a. C. y consta de 29 muescas distintas que se cortaron deliberadamente en el peroné de un babuino. Las ayudas posteriores para el mantenimiento de registros en todo el Creciente Fértil incluyeron cálculos (esferas de arcilla, conos, etc.) que representaban recuentos de artículos, probablemente ganado o granos, sellados en recipientes huecos de arcilla sin cocer.El uso de varillas de conteo es un ejemplo. El ábaco se utilizó desde el principio para tareas aritméticas. Lo que ahora llamamos el ábaco romano se usó en Babilonia desde c. 2700–2300 a. Desde entonces, se han inventado muchas otras formas de tableros o tablas de cómputo. En una casa de contabilidad europea medieval, se colocaba un paño a cuadros sobre una mesa y se movían marcadores sobre él de acuerdo con ciertas reglas, como ayuda para calcular sumas de dinero.
Varias computadoras analógicas se construyeron en la antigüedad y la época medieval para realizar cálculos astronómicos. Estos incluían el astrolabio y el mecanismo de Antikythera del mundo helenístico (c. 150-100 a. C.). En el Egipto romano, Héroe de Alejandría (c. 10-70 d. C.) fabricó dispositivos mecánicos que incluían autómatas y un carro programable.Otros dispositivos mecánicos tempranos utilizados para realizar uno u otro tipo de cálculos incluyen el planisferio y otros dispositivos informáticos mecánicos inventados por Abu Rayhan al-Biruni (c. 1000 dC); el ecuador y el astrolabio universal independiente de la latitud de Abū Ishāq Ibrāhīm al-Zarqālī (c. 1015 d. C.); las computadoras analógicas astronómicas de otros astrónomos e ingenieros musulmanes medievales; y la torre del reloj astronómico de Su Song (1094) durante la dinastía Song. El reloj del castillo, un reloj astronómico mecánico hidroenergizado inventado por Ismail al-Jazari en 1206, fue la primera computadora analógica programable.Ramon Llull inventó el Círculo luliano: una máquina nocional para calcular respuestas a cuestiones filosóficas (en este caso, relacionadas con el cristianismo) mediante combinatoria lógica. Esta idea fue retomada por Leibniz siglos después, y es por tanto uno de los elementos fundacionales de la informática y las ciencias de la información.
Herramientas de cálculo renacentistas
El matemático y físico escocés John Napier descubrió que la multiplicación y división de números podía realizarse mediante la suma y resta, respectivamente, de los logaritmos de esos números. Mientras producía las primeras tablas logarítmicas, Napier necesitaba realizar muchas multiplicaciones tediosas. Fue en este punto que diseñó sus 'huesos de Napier', un dispositivo parecido a un ábaco que simplificó enormemente los cálculos que involucraban multiplicación y división.
Dado que los números reales se pueden representar como distancias o intervalos en una línea, la regla de cálculo se inventó en la década de 1620, poco después del trabajo de Napier, para permitir que las operaciones de multiplicación y división se llevaran a cabo mucho más rápido que antes. Edmund Gunter construyó un dispositivo de cálculo con una sola escala logarítmica en la Universidad de Oxford. Su dispositivo simplificó enormemente los cálculos aritméticos, incluidas la multiplicación y la división. William Oughtred mejoró mucho esto en 1630 con su regla de cálculo circular. Siguió esto con la regla de cálculo moderna en 1632, esencialmente una combinación de dos reglas de Gunter, unidas con las manos. Las reglas de cálculo fueron utilizadas por generaciones de ingenieros y otros trabajadores profesionales involucrados matemáticamente, hasta la invención de la calculadora de bolsillo.
Calculadoras mecanicas
Wilhelm Schickard, un erudito alemán, diseñó una máquina calculadora en 1623 que combinaba una forma mecanizada de las barras de Napier con la primera máquina sumadora mecánica del mundo integrada en la base. Debido a que hizo uso de un engranaje de un solo diente, hubo circunstancias en las que su mecanismo de transporte se atascaría. Un incendio destruyó al menos una de las máquinas en 1624 y se cree que Schickard estaba demasiado desanimado para construir otra.
En 1642, cuando aún era un adolescente, Blaise Pascal inició un trabajo pionero sobre las máquinas calculadoras y, después de tres años de esfuerzo y 50 prototipos, inventó una calculadora mecánica. Construyó veinte de estas máquinas (llamadas calculadora de Pascal o Pascaline) en los siguientes diez años. Han sobrevivido nueve Pascalines, la mayoría de los cuales están en exhibición en museos europeos. Existe un debate continuo sobre si Schickard o Pascal deben ser considerados como el "inventor de la calculadora mecánica" y la gama de temas a considerar se discute en otra parte.
Gottfried Wilhelm von Leibniz inventó el contador escalonado y su famoso mecanismo de tambor escalonado alrededor de 1672. Intentó crear una máquina que pudiera usarse no solo para sumar y restar, sino que utilizaría un carro móvil para permitir largas multiplicaciones y divisiones. Leibniz dijo una vez: "Es indigno de hombres excelentes perder horas como esclavos en el trabajo de cálculo que podría relegarse con seguridad a cualquier otra persona si se usaran máquinas". Sin embargo, Leibniz no incorporó un mecanismo de acarreo completamente exitoso. Leibniz también describió el sistema numérico binario, un ingrediente central de todas las computadoras modernas. Sin embargo, hasta la década de 1940, muchos diseños posteriores (incluidas las máquinas de Charles Babbage de 1822 e incluso la ENIAC de 1945) se basaron en el sistema decimal.
Alrededor de 1820, Charles Xavier Thomas de Colmar creó lo que durante el resto del siglo se convertiría en la primera calculadora mecánica exitosa producida en masa, el Aritmómetro Thomas. Podría usarse para sumar y restar, y con un carro móvil, el operador también podría multiplicar y dividir mediante un proceso de multiplicación larga y división larga. Utilizaba un tambor escalonado similar en concepción al inventado por Leibniz. Las calculadoras mecánicas se mantuvieron en uso hasta la década de 1970.
Procesamiento de datos de tarjetas perforadas
En 1804, el tejedor francés Joseph Marie Jacquard desarrolló un telar en el que el patrón que se tejía estaba controlado por una cinta de papel construida con tarjetas perforadas. La cinta de papel se podía cambiar sin cambiar el diseño mecánico del telar. Este fue un logro histórico en la programabilidad. Su máquina fue una mejora con respecto a telares similares. Las tarjetas perforadas iban precedidas de bandas perforadas, como en la máquina propuesta por Basile Bouchon. Estas bandas inspirarían la grabación de información para pianos automáticos y, más recientemente, máquinas herramienta de control numérico.
A fines de la década de 1880, el estadounidense Herman Hollerith inventó el almacenamiento de datos en tarjetas perforadas que luego podían ser leídas por una máquina. Para procesar estas tarjetas perforadas, inventó el tabulador y la máquina perforadora de llaves. Sus máquinas utilizaban relés y contadores electromecánicos. El método de Hollerith se utilizó en el censo de Estados Unidos de 1890. Ese censo se procesó dos años más rápido que el censo anterior. La empresa de Hollerith finalmente se convirtió en el núcleo de IBM.
Para 1920, las máquinas tabuladoras electromecánicas podían sumar, restar e imprimir totales acumulados. Las funciones de la máquina se dirigieron insertando docenas de puentes de cables en paneles de control extraíbles. Cuando Estados Unidos instituyó la Seguridad Social en 1935, los sistemas de tarjetas perforadas de IBM se utilizaron para procesar registros de 26 millones de trabajadores. Las tarjetas perforadas se volvieron omnipresentes en la industria y el gobierno para la contabilidad y la administración.
Los artículos de Leslie Comrie sobre métodos de tarjetas perforadas y la publicación de WJ Eckert de Métodos de tarjetas perforadas en computación científica en 1940, describieron técnicas de tarjetas perforadas lo suficientemente avanzadas como para resolver algunas ecuaciones diferenciales o realizar multiplicaciones y divisiones usando representaciones de punto flotante, todo en tarjetas perforadas y unidades. máquinas de discos. Estas máquinas se utilizaron durante la Segunda Guerra Mundial para el procesamiento estadístico criptográfico, así como para una gran cantidad de usos administrativos. La Oficina de Computación Astronómica de la Universidad de Columbia realizó cálculos astronómicos que representan el estado del arte en computación.
Calculadoras
En el siglo XX, las calculadoras mecánicas anteriores, las cajas registradoras, las máquinas de contabilidad, etc., se rediseñaron para usar motores eléctricos, con la posición del engranaje como representación del estado de una variable. La palabra "computadora" era un título de trabajo asignado principalmente a mujeres que usaban estas calculadoras para realizar cálculos matemáticos. En la década de 1920, el interés del científico británico Lewis Fry Richardson por la predicción del clima lo llevó a proponer computadoras humanas y análisis numérico para modelar el clima; hasta el día de hoy, se necesitan las computadoras más poderosas de la Tierra para modelar adecuadamente su clima utilizando las ecuaciones de Navier-Stokes.
Compañías como Friden, Marchant Calculator y Monroe fabricaron calculadoras mecánicas de escritorio en la década de 1930 que podían sumar, restar, multiplicar y dividir. En 1948, el inventor austriaco Curt Herzstark introdujo la Curta. Era una pequeña calculadora mecánica de manivela y, como tal, descendiente del contador escalonado de Gottfried Leibniz y del aritmómetro de Thomas.
La primera calculadora de escritorio totalmente electrónica del mundo fue la británica Bell Punch ANITA, lanzada en 1961. Utilizaba tubos de vacío, tubos de cátodo frío y Dekatrons en sus circuitos, con 12 tubos "Nixie" de cátodo frío para su pantalla. La ANITA se vendió bien ya que era la única calculadora electrónica de escritorio disponible y era silenciosa y rápida. La tecnología de tubo fue reemplazada en junio de 1963 por el Friden EC-130 fabricado en EE. UU., que tenía un diseño de transistores, una pila de cuatro números de 13 dígitos que se mostraban en un CRT de 5 pulgadas (13 cm) e introdujo notación polaca inversa (RPN).
Primer dispositivo informático de propósito general
Charles Babbage, un ingeniero mecánico y erudito inglés, originó el concepto de una computadora programable. Considerado el "padre de la computadora", conceptualizó e inventó la primera computadora mecánica a principios del siglo XIX. Después de trabajar en su revolucionario motor diferencial, diseñado para ayudar en los cálculos de navegación, en 1833 se dio cuenta de que era posible un diseño mucho más general, un motor analítico. La entrada de programas y datos debía proporcionarse a la máquina a través de tarjetas perforadas, un método que se usaba en ese momento para dirigir telares mecánicos como el telar Jacquard. Para la salida, la máquina tendría una impresora, un trazador de curvas y una campana. La máquina también podría perforar números en las tarjetas para leerlos más tarde. Empleaba aritmética ordinaria de punto fijo en base 10.
El motor incorporó una unidad lógica aritmética, flujo de control en forma de bifurcaciones y bucles condicionales, y memoria integrada, lo que lo convirtió en el primer diseño de una computadora de propósito general que podría describirse en términos modernos como Turing-completo.
Debía haber una tienda, o memoria, capaz de contener 1.000 números de 40 dígitos decimales cada uno (aprox. 16,7 kB). Una unidad aritmética, llamada "molino", podría realizar las cuatro operaciones aritméticas, además de comparaciones y, opcionalmente, raíces cuadradas. Inicialmente, se concibió como un motor diferencial curvado sobre sí mismo, en un diseño generalmente circular, con la tienda larga saliendo a un lado. (Los dibujos posteriores muestran un diseño de cuadrícula regularizado). Al igual que la unidad central de procesamiento (CPU) en una computadora moderna, el molino se basaría en sus propios procedimientos internos, aproximadamente equivalentes al microcódigo en las CPU modernas, para almacenarse en forma de clavijas insertadas en tambores giratorios llamados "barriles", para llevar a cabo algunas de las instrucciones más complejas que el programa del usuario podría especificar.
El lenguaje de programación que emplearían los usuarios era similar a los lenguajes ensambladores modernos. Los bucles y las ramificaciones condicionales eran posibles, por lo que el lenguaje, tal como se concibió, habría sido Turing-completo, como lo definió más tarde Alan Turing. Se utilizaron tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, otra para constantes numéricas y otra para operaciones de carga y almacenamiento, transfiriendo números de la tienda a la unidad aritmética o viceversa. Había tres lectores separados para los tres tipos de tarjetas.
La máquina estaba un siglo adelantada a su tiempo. Sin embargo, el proyecto se vio frenado por varios problemas, incluidas disputas con el maquinista jefe que construía piezas para él. Todas las piezas de su máquina tenían que fabricarse a mano; este era un gran problema para una máquina con miles de piezas. Finalmente, el proyecto se disolvió con la decisión del gobierno británico de dejar de financiarlo. El fracaso de Babbage para completar el motor analítico se puede atribuir principalmente a dificultades no solo políticas y financieras, sino también a su deseo de desarrollar una computadora cada vez más sofisticada y avanzar más rápido de lo que nadie podría seguir. Ada Lovelace tradujo y agregó notas al " Bosquejo del motor analítico" por Luigi Federico Menabrea. Esta parece ser la primera descripción publicada de la programación, por lo que Ada Lovelace es ampliamente considerada como la primera programadora de computadoras.
Después de Babbage, aunque al principio desconocía su trabajo anterior, estaba Percy Ludgate, empleado de un comerciante de maíz en Dublín, Irlanda. Diseñó de forma independiente una computadora mecánica programable, que describió en un trabajo que se publicó en 1909. Otros dos inventores, Leonardo Torres y Quevedo y Vannevar Bush, también siguieron investigaciones basadas en el trabajo de Babbage. En sus Ensayos sobre automática (1913), Torres y Quevedo diseñó una máquina calculadora tipo Babbage que usaba partes electromecánicas que incluían representaciones de números de punto flotante y construyó un prototipo inicial en 1920. Análisis instrumental del artículo de Bush(1936) discutieron el uso de máquinas de tarjetas perforadas IBM existentes para implementar el diseño de Babbage. En el mismo año, inició el proyecto Rapid Arithmetical Machine para investigar los problemas de construcción de una computadora digital electrónica.
Computadoras analógicas
En la primera mitad del siglo XX, muchos consideraban que las computadoras analógicas eran el futuro de la informática. Estos dispositivos utilizaron los aspectos continuamente cambiantes de los fenómenos físicos, como las cantidades eléctricas, mecánicas o hidráulicas, para modelar el problema que se estaba resolviendo, en contraste con las computadoras digitales que representaban cantidades variables simbólicamente, a medida que cambiaban sus valores numéricos. Como una computadora analógica no usa valores discretos, sino valores continuos, los procesos no se pueden repetir de manera confiable con una equivalencia exacta, como se puede hacer con las máquinas de Turing.
La primera computadora analógica moderna fue una máquina de predicción de mareas, inventada por Sir William Thomson, más tarde Lord Kelvin, en 1872. Utilizaba un sistema de poleas y cables para calcular automáticamente los niveles de marea previstos para un período determinado en un lugar particular y era de gran utilidad para la navegación en aguas poco profundas. Su dispositivo fue la base para futuros desarrollos en computación analógica.
El analizador diferencial, una computadora analógica mecánica diseñada para resolver ecuaciones diferenciales por integración usando mecanismos de rueda y disco, fue conceptualizado en 1876 por James Thomson, el hermano del más famoso Lord Kelvin. Exploró la posible construcción de tales calculadoras, pero se vio obstaculizado por el par de salida limitado de los integradores de bola y disco. En un analizador diferencial, la salida de un integrador impulsó la entrada del siguiente integrador, o una salida gráfica.
Un avance importante en la computación analógica fue el desarrollo de los primeros sistemas de control de fuego para cañoneras de barcos de largo alcance. Cuando los rangos de artillería aumentaron dramáticamente a fines del siglo XIX, ya no era una simple cuestión de calcular el punto de mira adecuado, dados los tiempos de vuelo de los proyectiles. Varios observadores a bordo del barco transmitirían las medidas de distancia y las observaciones a una estación central de trazado. Allí, los equipos de dirección de fuego alimentaron la ubicación, la velocidad y la dirección del barco y su objetivo, así como varios ajustes para el efecto Coriolis, los efectos del clima en el aire y otros ajustes; Luego, la computadora generaría una solución de disparo, que se alimentaría a las torretas para su colocación. En 1912, el ingeniero británico Arthur Pollen desarrolló la primera computadora analógica mecánica alimentada eléctricamente (llamada en ese momento Argo Clock).Fue utilizado por la Armada Imperial Rusa en la Primera Guerra Mundial. El sistema alternativo de control de incendios Dreyer Table se instaló en los buques capitales británicos a mediados de 1916.
También se utilizaron dispositivos mecánicos para ayudar a la precisión de los bombardeos aéreos. Drift Sight fue la primera ayuda de este tipo, desarrollada por Harry Wimperis en 1916 para el Royal Naval Air Service; midió la velocidad del viento desde el aire y usó esa medida para calcular los efectos del viento en la trayectoria de las bombas. Posteriormente, el sistema se mejoró con el visor de bomba de ajuste de curso y alcanzó su clímax con los visores de bomba de la Segunda Guerra Mundial, el visor de bomba Mark XIV (Comando de bombarderos de la RAF) y el Norden (Fuerzas Aéreas del Ejército de los Estados Unidos).
El arte de la computación analógica mecánica alcanzó su cénit con el analizador diferencial, construido por HL Hazen y Vannevar Bush en el MIT a partir de 1927, que se basó en los integradores mecánicos de James Thomson y los amplificadores de par inventados por HW Nieman. Se construyó una docena de estos dispositivos antes de que se hiciera evidente su obsolescencia; el más poderoso se construyó en la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania, donde se construyó el ENIAC.
Helmut Hölzer construyó una computadora analógica completamente electrónica en 1942 en el Centro de Investigación del Ejército de Peenemünde.
En la década de 1950, el éxito de las computadoras electrónicas digitales había significado el fin de la mayoría de las máquinas de cómputo analógicas, pero las computadoras analógicas híbridas, controladas por electrónica digital, se mantuvieron en uso sustancial en las décadas de 1950 y 1960, y más tarde en algunas aplicaciones especializadas.
Advenimiento de la computadora digital
El principio de la computadora moderna fue descrito por primera vez por el informático Alan Turing, quien expuso la idea en su artículo seminal de 1936, Sobre los números computables. Turing reformuló los resultados de Kurt Gödel de 1931 sobre los límites de la prueba y el cálculo, reemplazando el lenguaje formal basado en la aritmética universal de Gödel con los dispositivos hipotéticos formales y simples que se conocieron como máquinas de Turing. Demostró que una máquina de este tipo sería capaz de realizar cualquier cálculo matemático concebible si fuera representable como un algoritmo. Continuó demostrando que no había solución para el Entscheidungsproblem mostrando primero que el problema de la detención de las máquinas de Turing es indecidible: en general, no es posible decidir algorítmicamente si una determinada máquina de Turing alguna vez se detendrá.
También introdujo la noción de una "máquina universal" (ahora conocida como máquina de Turing universal), con la idea de que tal máquina podría realizar las tareas de cualquier otra máquina, o en otras palabras, es capaz de calcular cualquier cosa que es computable mediante la ejecución de un programa almacenado en cinta, lo que permite que la máquina sea programable. Von Neumann reconoció que el concepto central de la computadora moderna se debía a este artículo. Las máquinas de Turing son hasta el día de hoy un objeto central de estudio en la teoría de la computación. Excepto por las limitaciones impuestas por sus almacenes de memoria finitos, se dice que las computadoras modernas son completas de Turing, es decir, tienen una capacidad de ejecución de algoritmos equivalente a una máquina de Turing universal.
Computadores electromecánicos
La era de la informática moderna comenzó con una ráfaga de desarrollo antes y durante la Segunda Guerra Mundial. La mayoría de las computadoras digitales construidas en este período eran electromecánicas: los interruptores eléctricos accionaban relés mecánicos para realizar el cálculo. Estos dispositivos tenían una baja velocidad de operación y finalmente fueron reemplazados por computadoras totalmente eléctricas mucho más rápidas, que originalmente usaban tubos de vacío.
El Z2 fue uno de los primeros ejemplos de una computadora de relé electromecánico y fue creado por el ingeniero alemán Konrad Zuse en 1940. Fue una mejora en su Z1 anterior; aunque utilizó la misma memoria mecánica, reemplazó la aritmética y la lógica de control con circuitos de relés eléctricos.
En el mismo año, los criptólogos británicos construyeron dispositivos electromecánicos llamados bombes para ayudar a descifrar los mensajes secretos cifrados por la máquina alemana Enigma durante la Segunda Guerra Mundial. El diseño inicial de la bomba fue creado en 1939 en la Escuela de Cifrado y Código del Gobierno del Reino Unido (GC&CS) en Bletchley Park por Alan Turing, con un refinamiento importante ideado en 1940 por Gordon Welchman. El diseño de ingeniería y la construcción fueron obra de Harold Keen de la British Tabulating Machine Company. Fue un desarrollo sustancial de un dispositivo que había sido diseñado en 1938 por la criptóloga polaca de Cipher Bureau Marian Rejewski, y conocido como la "bomba criptológica" (polaco: "bomba kryptologiczna").
En 1941, Zuse siguió a su máquina anterior con la Z3, la primera computadora digital completamente automática, electromecánica, programable y en funcionamiento del mundo. El Z3 se construyó con 2000 relés, implementando una longitud de palabra de 22 bits que operaba a una frecuencia de reloj de aproximadamente 5 a 10 Hz. El código del programa y los datos se almacenaron en una película perforada. Era bastante similar a las máquinas modernas en algunos aspectos, y fue pionera en numerosos avances, como los números de coma flotante. El reemplazo del sistema decimal difícil de implementar (usado en el diseño anterior de Charles Babbage) por el sistema binario más simple significó que las máquinas de Zuse fueran más fáciles de construir y potencialmente más confiables, dadas las tecnologías disponibles en ese momento. Raúl Rojas demostró en 1998 que el Z3 era una máquina completa de Turing.En dos solicitudes de patentes de 1936, Zuse también anticipó que las instrucciones de la máquina podrían almacenarse en el mismo almacenamiento utilizado para los datos: la idea clave de lo que se conoció como la arquitectura von Neumann, implementada por primera vez en 1948 en Estados Unidos en el IBM electromecánico SSEC y en Gran Bretaña. en el Manchester Baby completamente electrónico.
Zuse sufrió reveses durante la Segunda Guerra Mundial cuando algunas de sus máquinas fueron destruidas en el curso de las campañas de bombardeo aliadas. Aparentemente, su trabajo permaneció en gran parte desconocido para los ingenieros en el Reino Unido y los EE. UU. hasta mucho más tarde, aunque al menos IBM lo sabía cuando financió su nueva empresa de posguerra en 1946 a cambio de una opción sobre las patentes de Zuse.
En 1944, se construyó el Harvard Mark I en los laboratorios Endicott de IBM. Era una computadora electromecánica de propósito general similar a la Z3, pero no era del todo completa de Turing.
Cómputo digital
El término digital fue sugerido por primera vez por George Robert Stibitz y se refiere a que una señal, como un voltaje, no se usa para representar directamente un valor (como lo sería en una computadora analógica), sino para codificarlo. En noviembre de 1937, Stibitz, que entonces trabajaba en Bell Labs (1930-1941), completó una calculadora basada en relés que luego denominó "Modelo K " (por " mesa de cocina", en la que la había ensamblado), que se convirtió en la primer sumador binario.Por lo general, las señales tienen dos estados: bajo (que generalmente representa 0) y alto (que generalmente representa 1), pero a veces se usa una lógica de tres valores, especialmente en la memoria de alta densidad. Las computadoras modernas generalmente usan lógica binaria, pero muchas de las primeras máquinas eran computadoras decimales. En estas máquinas, la unidad básica de datos era el dígito decimal, codificado en uno de varios esquemas, incluido el código decimal codificado en binario o BCD, biquinario, exceso de 3 y dos de cinco.
La base matemática de la computación digital es el álgebra booleana, desarrollada por el matemático británico George Boole en su obra Las leyes del pensamiento, publicada en 1854. Su álgebra booleana fue refinada aún más en la década de 1860 por William Jevons y Charles Sanders Peirce, y se presentó por primera vez. sistemáticamente por Ernst Schröder y AN Whitehead. En 1879 Gottlob Frege desarrolla el enfoque formal de la lógica y propone el primer lenguaje lógico para ecuaciones lógicas.
En la década de 1930 y trabajando de forma independiente, el ingeniero electrónico estadounidense Claude Shannon y el lógico soviético Victor Shestakov demostraron una correspondencia uno a uno entre los conceptos de la lógica booleana y ciertos circuitos eléctricos, ahora llamados puertas lógicas, que ahora son omnipresentes en las computadoras digitales. Demostraron que los relés e interruptores electrónicos pueden realizar las expresiones del álgebra booleana. Esta tesis fundamentó esencialmente el diseño práctico de circuitos digitales. Además, el artículo de Shannon proporciona un diagrama de circuito correcto para un sumador binario digital de 4 bits.
Procesamiento electrónico de datos
Los elementos de circuitos puramente electrónicos pronto reemplazaron a sus equivalentes mecánicos y electromecánicos, al mismo tiempo que el cálculo digital reemplazó al analógico. Máquinas como la Z3, la computadora Atanasoff-Berry, las computadoras Colossus y la ENIAC se construyeron a mano, utilizando circuitos que contenían relés o válvulas (tubos de vacío) y, a menudo, usaban tarjetas perforadas o cinta de papel perforada para la entrada y como principal. medio de almacenamiento (no volátil).
El ingeniero Tommy Flowers se unió a la rama de telecomunicaciones de la Oficina General de Correos en 1926. Mientras trabajaba en la estación de investigación en Dollis Hill en la década de 1930, comenzó a explorar el posible uso de la electrónica para la central telefónica. El equipo experimental que construyó en 1934 entró en funcionamiento 5 años después, convirtiendo una parte de la red de intercambio telefónico en un sistema de procesamiento electrónico de datos, utilizando miles de tubos de vacío.
En los Estados Unidos, en 1940, Arthur Dickinson (IBM) inventó la primera computadora electrónica digital. Este dispositivo de cálculo era completamente electrónico: control, cálculos y salida (la primera pantalla electrónica). John Vincent Atanasoff y Clifford E. Berry de la Universidad Estatal de Iowa desarrollaron Atanasoff-Berry Computer (ABC) en 1942, el primer dispositivo de cálculo digital electrónico binario. Este diseño era semielectrónico (control electromecánico y cálculos electrónicos) y usaba alrededor de 300 tubos de vacío, con capacitores fijados en un tambor giratorio mecánicamente para la memoria. Sin embargo, su escritor/lector de tarjetas de papel no era confiable y el sistema de contacto del tambor regenerativo era mecánico. La naturaleza de propósito especial de la máquina y la falta de un programa almacenado modificable la distinguen de las computadoras modernas.
Las computadoras cuya lógica se construyó principalmente con tubos de vacío ahora se conocen como computadoras de primera generación.
La computadora electrónica programable
Durante la Segunda Guerra Mundial, los descifradores de códigos británicos en Bletchley Park, 40 millas (64 km) al norte de Londres, lograron una serie de éxitos al descifrar las comunicaciones militares enemigas encriptadas. La máquina de encriptación alemana, Enigma, fue atacada por primera vez con la ayuda de las bombas electromecánicas. Las mujeres a menudo operaban estas bombas. Descartaron posibles escenarios de Enigma realizando cadenas de deducciones lógicas implementadas eléctricamente. La mayoría de las posibilidades conducían a una contradicción, y las pocas que quedaban podían probarse a mano.
Los alemanes también desarrollaron una serie de sistemas de cifrado de teleimpresores, bastante diferentes de Enigma. La máquina Lorenz SZ 40/42 se utilizó para comunicaciones del ejército de alto nivel, con el nombre en código "Tunny" por los británicos. Las primeras intercepciones de los mensajes de Lorenz comenzaron en 1941. Como parte de un ataque a Tunny, Max Newman y sus colegas desarrollaron Heath Robinson, una máquina de función fija para ayudar a descifrar códigos. Tommy Flowers, un ingeniero senior de la Estación de Investigación de la Oficina de Correos, fue recomendado a Max Newman por Alan Turing y pasó once meses desde principios de febrero de 1943 diseñando y construyendo la computadora Colossus más flexible (que reemplazó a la Heath Robinson). Después de una prueba funcional en diciembre de 1943, Colossus se envió a Bletchley Park, donde se entregó el 18 de enero de 1944.y atacó su primer mensaje el 5 de febrero.
Colossus fue la primera computadora programable digital electrónica del mundo. Utilizaba una gran cantidad de válvulas (tubos de vacío). Tenía entrada de cinta de papel y podía configurarse para realizar una variedad de operaciones lógicas booleanas en sus datos,pero no era Turing-completo. La entrada de datos a Colossus se realizó mediante la lectura fotoeléctrica de una transcripción en cinta de papel del mensaje interceptado cifrado. Esto se organizó en un bucle continuo para que pudiera leerse y releerse varias veces, sin que hubiera un almacenamiento interno para los datos. El mecanismo de lectura funcionaba a 5.000 caracteres por segundo con la cinta de papel moviéndose a 40 pies/s (12,2 m/s; 27,3 mph). Colossus Mark 1 contenía 1500 válvulas termoiónicas (tubos), pero Mark 2 con 2400 válvulas y cinco procesadores en paralelo, era 5 veces más rápido y más fácil de operar que Mark 1, lo que aceleraba enormemente el proceso de decodificación. Mark 2 se diseñó mientras se construía Mark 1. Allen Coombs asumió el liderazgo del proyecto Colossus Mark 2 cuando Tommy Flowers pasó a otros proyectos.El primer Mark 2 Colossus entró en funcionamiento el 1 de junio de 1944, justo a tiempo para la invasión aliada de Normandía el día D.
La mayor parte del uso de Colossus fue para determinar las posiciones de inicio de los rotores Tunny para un mensaje, que se denominó "ajuste de rueda". Colossus incluyó el primer uso de registros de desplazamiento y matrices sistólicas, lo que permitió cinco pruebas simultáneas, cada una con hasta 100 cálculos booleanos. Esto permitió examinar cinco posibles posiciones iniciales diferentes para un tránsito de la cinta de papel. Además de la configuración de las ruedas, algunos Colossi posteriores incluyeron mecanismos destinados a ayudar a determinar los patrones de pasadores conocidos como "rotura de ruedas". Ambos modelos eran programables usando interruptores y paneles de enchufe de una manera que sus predecesores no habían sido. Diez Mk 2 Colossi estaban operativos al final de la guerra.
Sin el uso de estas máquinas, los Aliados se habrían visto privados de la valiosa inteligencia que se obtuvo al leer la gran cantidad de mensajes telegráficos de alto nivel cifrados entre el Alto Mando Alemán (OKW) y sus mandos militares en toda la Europa ocupada. Los detalles de su existencia, diseño y uso se mantuvieron en secreto hasta bien entrada la década de 1970. Winston Churchill emitió personalmente una orden para su destrucción en pedazos no más grandes que la mano de un hombre, para mantener en secreto que los británicos eran capaces de descifrar los cifrados Lorenz SZ (de las máquinas de cifrado de flujo de rotor alemanas) durante la Guerra Fría que se avecinaba. Dos de las máquinas fueron transferidas al GCHQ recién formado y las otras fueron destruidas. Como resultado, las máquinas no se incluyeron en muchas historias de la informática.Una copia de trabajo reconstruida de una de las máquinas Colossus ahora se exhibe en Bletchley Park.
El ENIAC (Electronic Numerical Integrator and Computer) construido en los EE. UU. Fue la primera computadora programable electrónica construida en los EE. UU. Aunque la ENIAC era similar a la Colossus, era mucho más rápida y flexible. Era inequívocamente un dispositivo completo de Turing y podía calcular cualquier problema que encajara en su memoria. Al igual que el Colossus, un "programa" en el ENIAC se definía por los estados de sus cables de conexión e interruptores, muy lejos de las máquinas electrónicas de programas almacenados que vinieron más tarde. Una vez que se escribía un programa, tenía que configurarse mecánicamente en la máquina con el restablecimiento manual de enchufes e interruptores. Las programadoras de la ENIAC eran mujeres que se habían formado como matemáticas.
Combinaba la alta velocidad de la electrónica con la capacidad de programarse para muchos problemas complejos. Podía sumar o restar 5000 veces por segundo, mil veces más rápido que cualquier otra máquina. También tenía módulos para multiplicar, dividir y raíz cuadrada. La memoria de alta velocidad estaba limitada a 20 palabras (equivalente a unos 80 bytes). Construido bajo la dirección de John Mauchly y J. Presper Eckert en la Universidad de Pensilvania, el desarrollo y la construcción de ENIAC duró desde 1943 hasta su plena operación a fines de 1945. La máquina era enorme, pesaba 30 toneladas, usaba 200 kilovatios de energía eléctrica y contenía más de 18.000 tubos de vacío, 1.500 relés y cientos de miles de resistencias, condensadores e inductores.Una de sus mayores hazañas de ingeniería fue minimizar los efectos del desgaste de los tubos, que era un problema común en la confiabilidad de las máquinas en ese momento. La máquina estuvo en uso casi constante durante los siguientes diez años.
Computadora con programa almacenado
Las primeras máquinas informáticas eran programables en el sentido de que podían seguir la secuencia de pasos que habían sido configuradas para ejecutar, pero el "programa", o los pasos que la máquina debía ejecutar, generalmente se configuraban cambiando la forma en que se conectaban los cables. en un panel de parcheo o tablero de conexiones. La "reprogramación", cuando era posible, era un proceso laborioso, que comenzaba con los ingenieros elaborando diagramas de flujo, diseñando la nueva configuración y luego el proceso, a menudo exigente, de volver a cablear físicamente los paneles de conexiones. Las computadoras con programas almacenados, por el contrario, fueron diseñadas para almacenar un conjunto de instrucciones (un programa) en la memoria, generalmente la misma memoria que los datos almacenados.
Teoría
La base teórica para la computadora de programa almacenado había sido propuesta por Alan Turing en su artículo de 1936. En 1945, Turing se unió al Laboratorio Nacional de Física y comenzó su trabajo en el desarrollo de una computadora digital electrónica con programa almacenado. Su informe de 1945 'Calculadora electrónica propuesta' fue la primera especificación para un dispositivo de este tipo.
Mientras tanto, John von Neumann de la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania, hizo circular su primer borrador de un informe sobre el EDVAC.en 1945. Aunque sustancialmente similar al diseño de Turing y conteniendo comparativamente pocos detalles de ingeniería, la arquitectura de la computadora que describió se conoció como la "arquitectura de von Neumann". Turing presentó un documento más detallado al Comité Ejecutivo del Laboratorio Nacional de Física (NPL) en 1946, dando el primer diseño razonablemente completo de una computadora con programa almacenado, un dispositivo que llamó Automatic Computing Engine (ACE). Sin embargo, el diseño EDVAC más conocido de John von Neumann, que conocía el trabajo teórico de Turing, recibió más publicidad, a pesar de su naturaleza incompleta y la cuestionable falta de atribución de las fuentes de algunas de las ideas.
Turing pensó que la velocidad y el tamaño de la memoria de la computadora eran elementos cruciales, por lo que propuso una memoria de alta velocidad de lo que hoy se llamaría 25 KB, a la que se accede a una velocidad de 1 MHz. El ACE implementó llamadas a subrutinas, mientras que el EDVAC no lo hizo, y el ACE también usó Instrucciones abreviadas de computadora, una forma temprana de lenguaje de programación.
Mánchester bebé
Manchester Baby fue la primera computadora electrónica del mundo con programa almacenado. Fue construido en la Universidad Victoria de Manchester por Frederic C. Williams, Tom Kilburn y Geoff Tootill, y ejecutó su primer programa el 21 de junio de 1948.
La máquina no estaba destinada a ser una computadora práctica, sino que fue diseñada como un banco de pruebas para el tubo de Williams, el primer dispositivo de almacenamiento digital de acceso aleatorio. Inventado por Freddie Williams y Tom Kilburn en la Universidad de Manchester en 1946 y 1947, era un tubo de rayos catódicos que usaba un efecto llamado emisión secundaria para almacenar temporalmente datos binarios electrónicos y se usó con éxito en varias de las primeras computadoras.
Aunque la computadora era pequeña y primitiva, era una prueba de concepto para resolver un solo problema; Baby fue la primera máquina de trabajo que contenía todos los elementos esenciales para una computadora electrónica moderna. Tan pronto como Baby demostró la viabilidad de su diseño, se inició un proyecto en la universidad para desarrollar el diseño en una computadora más útil, la Manchester Mark 1. La Mark 1, a su vez, se convirtió rápidamente en el prototipo de la Ferranti Mark 1, la primera computadora de propósito general disponible comercialmente en el mundo.
El Bebé tenía una longitud de palabra de 32 bits y una memoria de 32 palabras. Como fue diseñado para ser la computadora de programa almacenado más simple posible, las únicas operaciones aritméticas implementadas en el hardware fueron la resta y la negación; otras operaciones aritméticas se implementaron en el software. El primero de los tres programas escritos para la máquina encontró el divisor propio más alto de 2 (262,144), un cálculo que se sabía que tomaría mucho tiempo para ejecutarse y probar así la confiabilidad de la computadora al probar cada número entero desde 2 − 1 hacia abajo, ya que la división se implementó mediante la resta repetida del divisor. El programa constaba de 17 instrucciones y se ejecutó durante 52 minutos antes de llegar a la respuesta correcta de 131.072, después de que Baby hubiera realizado 3,5 millones de operaciones (para una velocidad de CPU efectiva de 1,1 kIPS). Las aproximaciones sucesivas a la respuesta se mostraban como las posiciones sucesivas de un punto brillante en el tubo de Williams.
Mánchester marca 1
La máquina experimental condujo al desarrollo del Manchester Mark 1 en la Universidad de Manchester. El trabajo comenzó en agosto de 1948 y la primera versión estuvo operativa en abril de 1949; un programa escrito para buscar números primos de Mersenne funcionó sin errores durante nueve horas en la noche del 16 al 17 de junio de 1949. La operación exitosa de la máquina fue ampliamente reportada en la prensa británica, que usó la frase "cerebro electrónico" para describirla a sus lectores
La computadora es especialmente significativa históricamente debido a su inclusión pionera de registros de índice, una innovación que facilitó que un programa leyera secuencialmente a través de una matriz de palabras en la memoria. Treinta y cuatro patentes resultaron del desarrollo de la máquina, y muchas de las ideas detrás de su diseño se incorporaron en productos comerciales posteriores, como IBM 701 y 702, así como Ferranti Mark 1. Los diseñadores principales, Frederic C. Williams y Tom Kilburn, concluyó a partir de sus experiencias con Mark 1 que las computadoras se usarían más en roles científicos que en matemáticas puras. En 1951 comenzaron el trabajo de desarrollo de Meg, el sucesor del Mark 1, que incluiría una unidad de punto flotante.
EDSAC
El otro contendiente por ser la primera computadora de programa almacenado digital reconociblemente moderna fue la EDSAC, diseñada y construida por Maurice Wilkes y su equipo en el Laboratorio de Matemáticas de la Universidad de Cambridge en Inglaterra en 1949. La máquina fue inspirada por John El primer borrador seminal de von Neumann de un informe sobre el EDVAC y fue una de las primeras computadoras de programa almacenado digital electrónicas útiles y operativas.
EDSAC ejecutó sus primeros programas el 6 de mayo de 1949, cuando calculó una tabla de cuadrados y una lista de números primos. EDSAC también sirvió como base para la primera computadora aplicada comercialmente, la LEO I, utilizada por la empresa de fabricación de alimentos J. Lyons. & Co. Ltd. EDSAC 1 finalmente se cerró el 11 de julio de 1958, después de haber sido reemplazado por EDSAC 2, que permaneció en uso hasta 1965.
El "cerebro" [computadora] puede algún día bajar a nuestro nivel [de la gente común] y ayudar con nuestros cálculos de impuestos sobre la renta y contabilidad. Pero esto es especulación y no hay señales de ello hasta ahora.— El periódico británico The Star en un artículo de noticias de junio de 1949 sobre la computadora EDSAC, mucho antes de la era de las computadoras personales.
EDVAC
Los inventores de ENIAC, John Mauchly y J. Presper Eckert, propusieron la construcción de EDVAC en agosto de 1944, y el trabajo de diseño para EDVAC comenzó en la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania, antes de que ENIAC estuviera en pleno funcionamiento. El diseño implementó una serie de importantes mejoras arquitectónicas y lógicas concebidas durante la construcción de ENIAC y una memoria de acceso en serie de alta velocidad. Sin embargo, Eckert y Mauchly abandonaron el proyecto y su construcción fracasó.
Finalmente se entregó al Laboratorio de Investigación de Balística del Ejército de EE. UU. en el campo de pruebas de Aberdeen en agosto de 1949, pero debido a una serie de problemas, la computadora solo comenzó a funcionar en 1951, y solo de forma limitada.
Computadoras comerciales
La primera computadora comercial fue la Ferranti Mark 1, construida por Ferranti y entregada a la Universidad de Manchester en febrero de 1951. Estaba basada en la Manchester Mark 1. Las principales mejoras sobre la Manchester Mark 1 estaban en el tamaño del almacenamiento primario (usando tubos Williams de acceso aleatorio), almacenamiento secundario (usando un tambor magnético), un multiplicador más rápido e instrucciones adicionales. El tiempo de ciclo básico era de 1,2 milisegundos y una multiplicación podía completarse en unos 2,16 milisegundos. El multiplicador usó casi una cuarta parte de los 4.050 tubos de vacío (válvulas) de la máquina. La Universidad de Toronto compró una segunda máquina, antes de que el diseño se revisara en Mark 1 Star. Al menos siete de estas últimas máquinas se entregaron entre 1953 y 1957, una de ellas a los laboratorios de Shell en Ámsterdam.
En octubre de 1947, los directores de J. Lyons & Company, una empresa de catering británica famosa por sus salones de té pero con gran interés en las nuevas técnicas de gestión de oficinas, decidieron tomar un papel activo en la promoción del desarrollo comercial de las computadoras. La computadora LEO I (Sede electrónica de Lyon) entró en funcionamiento en abril de 1951 y ejecutó el primer trabajo informático de oficina de rutina regular del mundo. El 17 de noviembre de 1951, la compañía J. Lyons comenzó la operación semanal de un trabajo de valoración de panadería en LEO, la primera aplicación comercial que se puso en marcha en una computadora con programa almacenado.
En junio de 1951, se entregó la UNIVAC I (Computadora Automática Universal) a la Oficina del Censo de los Estados Unidos. Remington Rand finalmente vendió 46 máquinas a más de US $ 1 millón cada una ($ 10,4 millones a partir de 2022). UNIVAC fue la primera computadora "producida en masa". Usó 5.200 tubos de vacío y consumió125 kw de potencia. Su almacenamiento principal eran líneas de retardo de mercurio de acceso en serie capaces de almacenar 1000 palabras de 11 dígitos decimales más el signo (palabras de 72 bits).
IBM introdujo una computadora más pequeña y asequible en 1954 que resultó ser muy popular. El IBM 650 pesaba más900 kg, la fuente de alimentación adjunta pesaba alrededor1350 kg y ambos se mantuvieron en gabinetes separados de aproximadamente 1,5 × 0,9 × 1,8 metros El sistema costaba US$500.000 ($5,05 millones a partir de 2022) o se podía arrendar por US$3.500 al mes ($40.000 a partir de 2022). Su memoria de batería era originalmente de 2000 palabras de diez dígitos, luego se amplió a 4000 palabras. Las limitaciones de memoria como esta dominarían la programación durante décadas después. Las instrucciones del programa se obtuvieron del tambor giratorio mientras se ejecutaba el código. Una combinación de arquitectura de hardware (el formato de instrucción incluía la dirección de la siguiente instrucción) y software: el Programa de ensamblaje óptimo simbólico, SOAP, proporcionó una ejecución eficiente utilizando la memoria del tambor.instrucciones asignadas a las direcciones óptimas (en la medida de lo posible mediante análisis estático del programa fuente). Por lo tanto, cuando era necesario, muchas instrucciones se ubicaban en la siguiente fila del tambor para ser leídas y se reducía el tiempo de espera adicional para la rotación del tambor.
Microprogramación
En 1951, el científico británico Maurice Wilkes desarrolló el concepto de microprogramación al darse cuenta de que la unidad central de procesamiento de una computadora podía controlarse mediante un programa de computadora en miniatura altamente especializado en ROM de alta velocidad. La microprogramación permite definir o ampliar el conjunto de instrucciones base mediante programas integrados (ahora denominados firmware o microcódigo). Este concepto simplificó enormemente el desarrollo de la CPU. Primero describió esto en la Conferencia Inaugural de Computación de la Universidad de Manchester en 1951, luego lo publicó en forma ampliada en IEEE Spectrum en 1955.
Fue ampliamente utilizado en las CPU y unidades de coma flotante de mainframe y otras computadoras; se implementó por primera vez en EDSAC 2, que también utilizó múltiples "porciones de bits" idénticas para simplificar el diseño. Se utilizaron conjuntos de tubos intercambiables y reemplazables para cada bit del procesador.
Memoria magnética
Las memorias de batería magnética se desarrollaron para la Marina de los EE. UU. durante la Segunda Guerra Mundial y el trabajo continuó en Engineering Research Associates (ERA) en 1946 y 1947. ERA, entonces parte de Univac, incluyó una memoria de batería en su 1103, anunciada en febrero de 1953. La primera La computadora producida en masa, la IBM 650, también anunciada en 1953, tenía alrededor de 8,5 kilobytes de memoria de tambor.
Memoria de núcleo magnético patentada en 1949 con su primer uso demostrado para la computadora Whirlwind en agosto de 1953. La comercialización siguió rápidamente. El núcleo magnético se utilizó en los periféricos del IBM 702 entregado en julio de 1955 y, más tarde, en el propio 702. El IBM 704 (1955) y el Ferranti Mercury (1957) usaban memoria de núcleo magnético. Continuó dominando el campo hasta la década de 1970, cuando fue reemplazada por la memoria de semiconductores. El núcleo magnético alcanzó su punto máximo en volumen alrededor de 1975 y disminuyó en uso y participación de mercado a partir de entonces.
Todavía en 1980, las máquinas PDP-11/45 que usaban memoria principal de núcleo magnético y tambores para intercambio todavía estaban en uso en muchos de los sitios UNIX originales.
Características de las primeras computadoras digitales
Nombre | Primera operativa | sistema numeral | mecanismo de computación | Programación | Turing-completo |
---|---|---|---|---|---|
Arthur H. Dickinson IBM (Estados Unidos) | enero de 1940 | Decimal | Electrónico | no programable | No |
Joseph Desch NCR (Estados Unidos) | marzo de 1940 | Decimal | Electrónico | no programable | No |
Zuse Z3 (Alemania) | mayo de 1941 | Punto flotante binario | electromecánica | Programa controlado por perforadoMaterial de película de 35 mm (pero sin rama condicional) | En teoría (1998) |
Computadora Atanasoff-Berry (EE. UU.) | 1942 | Binario | Electrónico | No programable: propósito único | No |
Coloso Mark 1 (Reino Unido) | febrero de 1944 | Binario | Electrónico | Controlado por programa mediante cables de conexión e interruptores | No |
Harvard Mark I – IBM ASCC (EE. UU.) | mayo de 1944 | Decimal | electromecánica | Programa controlado por cinta de papel perforado de 24 canales (pero sin bifurcación condicional) | Discutible |
Coloso Mark 2 (Reino Unido) | junio de 1944 | Binario | Electrónico | Controlado por programa mediante cables de conexión e interruptores | En teoría (2011) |
Zuse Z4 (Alemania) | marzo de 1945 | Punto flotante binario | electromecánica | Programa controlado por perforadomaterial de película de 35 mm | en 1950 |
ENIAC (EE. UU.) | febrero de 1946 | Decimal | Electrónico | Controlado por programa mediante cables de conexión e interruptores | Sí |
ARC2 (SEC) (Reino Unido) | mayo de 1948 | Binario | Electrónico | Programa almacenado en la memoria del tambor giratorio | Sí |
Bebé de Manchester (Reino Unido) | junio de 1948 | Binario | Electrónico | Programa almacenado en la memoria del tubo de rayos catódicos de Williams | Sí |
ENIAC modificado (EE. UU.) | septiembre de 1948 | Decimal | Electrónico | Mecanismo de programación almacenado de solo lectura utilizando las tablas de funciones como ROM de programa | Sí |
Mánchester Mark 1 (Reino Unido) | abril de 1949 | Binario | Electrónico | Programa almacenado en memoria de tubo de rayos catódicos Williams y memoria de tambor magnético | Sí |
EDSAC (Reino Unido) | mayo de 1949 | Binario | Electrónico | Programa almacenado en memoria de línea de retardo de mercurio | Sí |
CSIRAC (Australia) | noviembre de 1949 | Binario | Electrónico | Programa almacenado en memoria de línea de retardo de mercurio | Sí |
Computadoras de transistores
El transistor bipolar se inventó en 1947. A partir de 1955, los transistores reemplazaron a los tubos de vacío en los diseños de computadoras, dando lugar a la "segunda generación" de computadoras. En comparación con los tubos de vacío, los transistores tienen muchas ventajas: son más pequeños y requieren menos energía que los tubos de vacío, por lo que emiten menos calor. Los transistores de unión de silicio eran mucho más confiables que los tubos de vacío y tenían una vida útil más larga. Las computadoras con transistores podrían contener decenas de miles de circuitos lógicos binarios en un espacio relativamente compacto. Los transistores redujeron en gran medida el tamaño, el costo inicial y el costo operativo de las computadoras. Por lo general, las computadoras de segunda generación estaban compuestas por una gran cantidad de placas de circuito impreso, como el Sistema modular estándar de IBM, cada una con una a cuatro puertas lógicas o flip-flops.
En la Universidad de Manchester, un equipo bajo la dirección de Tom Kilburn diseñó y construyó una máquina utilizando transistores recientemente desarrollados en lugar de válvulas. Inicialmente, los únicos dispositivos disponibles eran transistores de germanio de contacto puntual, menos fiables que las válvulas a las que reemplazaban pero que consumían mucha menos energía. Su primera computadora transistorizada, y la primera en el mundo, estuvo operativa en 1953, y una segunda versión se completó allí en abril de 1955. La versión de 1955 usaba 200 transistores, 1300 diodos de estado sólido y tenía un consumo de energía de 150 vatios. Sin embargo, la máquina hizo uso de válvulas para generar sus formas de onda de reloj de 125 kHz y en el circuito para leer y escribir en su memoria de tambor magnético, por lo que no fue la primera computadora completamente transistorizada.
Esa distinción va para el Harwell CADET de 1955, construido por la división de electrónica del Establecimiento de Investigación de Energía Atómica en Harwell. El diseño presentaba un almacén de memoria de tambor magnético de 64 kilobytes con múltiples cabezales móviles que había sido diseñado en el Laboratorio Nacional de Física del Reino Unido. Para 1953, este equipo tenía circuitos de transistores operando para leer y escribir en un tambor magnético más pequeño del Royal Radar Establishment. La máquina usó una velocidad de reloj baja de solo 58 kHz para evitar tener que usar válvulas para generar las formas de onda del reloj.
CADET utilizó transistores de contacto de 324 puntos proporcionados por la empresa británica Standard Telephones and Cables; Se utilizaron 76 transistores de unión para los amplificadores de primera etapa para la lectura de datos del tambor, ya que los transistores de contacto puntual eran demasiado ruidosos. Desde agosto de 1956, CADET ofrecía un servicio de cómputo regular, durante el cual a menudo ejecutaba corridas de cómputo continuas de 80 horas o más. Los problemas con la confiabilidad de los primeros lotes de contacto puntual y transistores de unión aleados significaron que el tiempo medio de la máquina entre fallas fue de aproximadamente 90 minutos, pero esto mejoró una vez que estuvieron disponibles los transistores de unión bipolar más confiables.
El diseño de la computadora de transistores de la Universidad de Manchester fue adoptado por la empresa de ingeniería local Metropolitan-Vickers en su Metrovick 950, la primera computadora de transistores comercial del mundo. Se construyeron seis Metrovick 950, el primero completado en 1956. Se implementaron con éxito en varios departamentos de la empresa y estuvieron en uso durante unos cinco años. Una computadora de segunda generación, la IBM 1401, capturó alrededor de un tercio del mercado mundial. IBM instaló más de diez mil 1401 entre 1960 y 1964.
Periféricos de transistores
La electrónica transistorizada mejoró no solo la CPU (Unidad Central de Procesamiento), sino también los dispositivos periféricos. Las unidades de almacenamiento de datos en disco de segunda generación pudieron almacenar decenas de millones de letras y dígitos. Junto a las unidades de almacenamiento en disco fijo, conectadas a la CPU mediante transmisión de datos de alta velocidad, se encontraban unidades de almacenamiento de datos en disco extraíble. Un paquete de discos extraíbles se puede intercambiar fácilmente con otro paquete en unos segundos. Incluso si la capacidad de los discos extraíbles es menor que la de los discos fijos, su intercambiabilidad garantiza una cantidad casi ilimitada de datos al alcance de la mano. La cinta magnética proporcionó capacidad de archivo para estos datos, a un costo menor que el disco.
Muchas CPU de segunda generación delegaron las comunicaciones de los dispositivos periféricos a un procesador secundario. Por ejemplo, mientras el procesador de comunicaciones controlaba la lectura y el perforado de tarjetas, la CPU principal ejecutaba cálculos e instrucciones de bifurcación binaria. Un bus de datos transportaría datos entre la CPU principal y la memoria central a la velocidad del ciclo de ejecución de búsqueda de la CPU, y otros buses de datos normalmente servirían a los dispositivos periféricos. En el PDP-1, el tiempo de ciclo de la memoria central era de 5 microsegundos; en consecuencia, la mayoría de las instrucciones aritméticas tomaban 10 microsegundos (100 000 operaciones por segundo) porque la mayoría de las operaciones tomaban al menos dos ciclos de memoria; uno para la instrucción, uno para la obtención de datos del operando.
Durante la segunda generación, las unidades terminales remotas (a menudo en forma de teleimpresoras como Friden Flexowriter) experimentaron un uso mucho mayor. Las conexiones telefónicas proporcionaron suficiente velocidad para las primeras terminales remotas y permitieron una separación de cientos de kilómetros entre las terminales remotas y el centro de cómputo. Con el tiempo, estas redes informáticas independientes se generalizarían en una red de redes interconectadas: Internet.
Supercomputadoras de transistores
La década de 1960 vio el advenimiento de la supercomputación. El Atlas fue un desarrollo conjunto entre la Universidad de Manchester, Ferranti y Plessey, y se instaló por primera vez en la Universidad de Manchester y se puso en servicio oficialmente en 1962 como una de las primeras supercomputadoras del mundo, considerada la computadora más poderosa del mundo en ese momento.. Se dijo que cada vez que Atlas se desconectaba, se perdía la mitad de la capacidad informática del Reino Unido. Era una máquina de segunda generación, que utilizaba transistores de germanio discretos. Atlas también fue pionero en Atlas Supervisor, "considerado por muchos como el primer sistema operativo moderno reconocible".
En los EE. UU., Seymour Cray diseñó una serie de computadoras en Control Data Corporation (CDC) para usar diseños innovadores y paralelismo para lograr un rendimiento computacional máximo superior. La CDC 6600, lanzada en 1964, generalmente se considera la primera supercomputadora. La CDC 6600 superó a su predecesora, la IBM 7030 Stretch, por un factor de aproximadamente 3. Con un rendimiento de aproximadamente 1 megaFLOPS, la CDC 6600 fue la computadora más rápida del mundo entre 1964 y 1969, cuando cedió ese estatus a su sucesora, la CDC. 7600.
Computadoras de circuito integrado
La "tercera generación" de computadoras electrónicas digitales utilizaba chips de circuitos integrados (IC) como base de su lógica.
La idea de un circuito integrado fue concebida por un científico de radar que trabajaba para el Establecimiento Real de Radar del Ministerio de Defensa, Geoffrey WA Dummer.
Los primeros circuitos integrados en funcionamiento fueron inventados por Jack Kilby en Texas Instruments y Robert Noyce en Fairchild Semiconductor. Kilby registró sus ideas iniciales sobre el circuito integrado en julio de 1958, demostrando con éxito el primer ejemplo integrado funcional el 12 de septiembre de 1958. La invención de Kilby fue un circuito integrado híbrido (IC híbrido). Tenía conexiones de cables externas, lo que dificultaba su producción en masa.
A Noyce se le ocurrió su propia idea de un circuito integrado medio año después de Kilby. La invención de Noyce fue un chip monolítico de circuito integrado (IC). Su chip resolvió muchos problemas prácticos que Kilby's no tenía. Producido en Fairchild Semiconductor, estaba hecho de silicio, mientras que el chip de Kilby estaba hecho de germanio. La base del IC monolítico de Noyce fue el proceso planar de Fairchild, que permitió diseñar circuitos integrados utilizando los mismos principios que los de los circuitos impresos. El proceso planar fue desarrollado por el colega de Noyce, Jean Hoerni, a principios de 1959, basado en el trabajo de Mohamed M. Atalla sobre la pasivación de superficies de semiconductores con dióxido de silicio en Bell Labs a fines de la década de 1950.
Las computadoras de tercera generación (circuito integrado) aparecieron por primera vez a principios de la década de 1960 en computadoras desarrolladas para fines gubernamentales y luego en computadoras comerciales a partir de mediados de la década de 1960. La primera computadora IC de silicio fue la computadora de guía Apollo o AGC. Aunque no era la computadora más poderosa de su época, las limitaciones extremas de tamaño, masa y potencia de la nave espacial Apolo requerían que el AGC fuera mucho más pequeño y denso que cualquier computadora anterior, con un peso de solo 70 libras (32 kg). Cada misión de aterrizaje lunar llevaba dos AGC, uno en los módulos de mando y de ascenso lunar.
Memoria de semiconductores
El MOSFET (transistor de efecto de campo de semiconductor de óxido de metal o transistor MOS) fue inventado por Mohamed M. Atalla y Dawon Kahng en Bell Labs en 1959. Además del procesamiento de datos, el MOSFET permitió el uso práctico de los transistores MOS como memoria. elementos de almacenamiento celular, una función que antes cumplían los núcleos magnéticos. La memoria de semiconductores, también conocida como memoria MOS, era más barata y consumía menos energía que la memoria de núcleo magnético. La memoria de acceso aleatorio (RAM) MOS, en forma de RAM estática (SRAM), fue desarrollada por John Schmidt en Fairchild Semiconductor en 1964. En 1966, Robert Dennard en el Centro de Investigación IBM Thomas J. Watson desarrolló la RAM dinámica MOS (DRAM).En 1967, Dawon Kahng y Simon Sze en Bell Labs desarrollaron el MOSFET de puerta flotante, la base para la memoria no volátil MOS como EPROM, EEPROM y memoria flash.
Computadoras con microprocesador
La "cuarta generación" de computadoras electrónicas digitales utilizaba microprocesadores como base de su lógica. El microprocesador tiene su origen en el chip de circuito integrado MOS (MOS IC). Debido al rápido escalado de MOSFET, los chips MOS IC aumentaron rápidamente en complejidad a un ritmo predicho por la ley de Moore, lo que llevó a la integración a gran escala (LSI) con cientos de transistores en un solo chip MOS a fines de la década de 1960. La aplicación de chips MOS LSI a la informática fue la base de los primeros microprocesadores, ya que los ingenieros comenzaron a reconocer que un procesador de computadora completo podía estar contenido en un solo chip MOS LSI.
El tema de exactamente qué dispositivo fue el primer microprocesador es polémico, en parte debido a la falta de acuerdo sobre la definición exacta del término "microprocesador". Los primeros microprocesadores de chips múltiples fueron Four-Phase Systems AL-1 en 1969 y Garrett AiResearch MP944 en 1970, desarrollados con múltiples chips MOS LSI. El primer microprocesador de un solo chip fue el Intel 4004, desarrollado en un solo chip PMOS LSI. Fue diseñado y realizado por Ted Hoff, Federico Faggin, Masatoshi Shima y Stanley Mazor en Intel, y lanzado en 1971. Tadashi Sasaki y Masatoshi Shima en Busicom, un fabricante de calculadoras, tuvieron la idea inicial de que la CPU podría ser un solo MOS LSI. chip, suministrado por Intel.
Si bien los primeros circuitos integrados de microprocesador contenían literalmente solo el procesador, es decir, la unidad central de procesamiento de una computadora, su desarrollo progresivo condujo naturalmente a chips que contenían la mayoría o la totalidad de las partes electrónicas internas de una computadora. El circuito integrado de la imagen de la derecha, por ejemplo, un Intel 8742, es un microcontrolador de 8 bits que incluye una CPU que funciona a 12 MHz, 128 bytes de RAM, 2048 bytes de EPROM y E/S en el mismo chip.
Durante la década de 1960 hubo una superposición considerable entre las tecnologías de segunda y tercera generación. IBM implementó sus módulos IBM Solid Logic Technology en circuitos híbridos para IBM System/360 en 1964. Todavía en 1975, Sperry Univac continuó con la fabricación de máquinas de segunda generación como la UNIVAC 494. Los sistemas grandes de Burroughs como la B5000 fueron apilar máquinas, lo que permitió una programación más sencilla. Estos autómatas pushdown también se implementaron más tarde en minicomputadoras y microprocesadores, lo que influyó en el diseño del lenguaje de programación. Las minicomputadoras sirvieron como centros de cómputo de bajo costo para la industria, los negocios y las universidades. Se hizo posible simular circuitos analógicos con el programa de simulación con énfasis en circuitos integrados., o SPICE (1971) sobre minicomputadoras, uno de los programas para la automatización del diseño electrónico (EDA). El microprocesador condujo al desarrollo de las microcomputadoras, computadoras pequeñas y de bajo costo que podían ser propiedad de individuos y pequeñas empresas. Las microcomputadoras, la primera de las cuales apareció en la década de 1970, se hicieron omnipresentes en la década de 1980 y más allá.
Si bien qué sistema específico se considera la primera microcomputadora es un tema de debate, ya que se desarrollaron varios sistemas de aficionados únicos basados en Intel 4004 y su sucesor, Intel 8008, el primer kit de microcomputadora disponible comercialmente fue el Altair 8800 basado en Intel 8080., que se anunció en el artículo de portada de enero de 1975 de Popular Electronics. Sin embargo, este era un sistema extremadamente limitado en sus etapas iniciales, con solo 256 bytes de DRAM en su paquete inicial y sin entrada-salida, excepto sus interruptores de palanca y la pantalla de registro LED. A pesar de esto, inicialmente fue sorprendentemente popular, con varios cientos de ventas en el primer año, y la demanda superó rápidamente la oferta. Varios de los primeros proveedores externos, como Cromemco y Processor Technology, pronto comenzaron a suministrar hardware de bus S-100 adicional para el Altair 8800.
En abril de 1975, en la Feria de Hannover, Olivetti presentó el P6060, el primer sistema informático personal completo y premontado del mundo. La unidad central de procesamiento constaba de dos tarjetas, con el nombre en código PUCE1 y PUCE2, y, a diferencia de la mayoría de las otras computadoras personales, estaba construida con componentes TTL en lugar de un microprocesador. Tenía una o dos disqueteras de 8", una pantalla de plasma de 32 caracteres, una impresora térmica gráfica de 80 columnas, 48 Kbytes de RAM y lenguaje BASIC. Pesaba 40 kg (88 lb). Como sistema completo, era un paso significativo del Altair, aunque nunca logró el mismo éxito.Estaba en competencia con un producto similar de IBM que tenía una unidad de disquete externa.
De 1975 a 1977, la mayoría de las microcomputadoras, como la MOS Technology KIM-1, la Altair 8800 y algunas versiones de la Apple I, se vendieron como kits para los aficionados al bricolaje. Los sistemas preensamblados no ganaron mucho terreno hasta 1977, con la introducción del Apple II, el Tandy TRS-80, las primeras computadoras SWTPC y el Commodore PET. La informática ha evolucionado con las arquitecturas de microcomputadoras, con características añadidas de sus hermanos más grandes, que ahora dominan la mayoría de los segmentos del mercado.
Tim Berners-Lee y Robert Cailliau en el CERN utilizaron una NeXT Computer y sus herramientas y bibliotecas de desarrollo orientadas a objetos para desarrollar el primer software de servidor web del mundo, CERN httpd, y también para escribir el primer navegador web, WorldWideWeb.
Los sistemas tan complicados como las computadoras requieren una confiabilidad muy alta. ENIAC permaneció en funcionamiento continuo desde 1947 hasta 1955, durante ocho años antes de ser cerrado. Aunque un tubo de vacío podría fallar, sería reemplazado sin apagar el sistema. Con la simple estrategia de nunca apagar ENIAC, las fallas se redujeron drásticamente. Las computadoras de defensa aérea SAGE de tubo de vacío se volvieron notablemente confiables: instaladas en pares, una fuera de línea, los tubos que probablemente fallarían lo hicieron cuando la computadora se ejecutó intencionalmente a potencia reducida para encontrarlos. Los discos duros conectables en caliente, como los tubos de vacío conectables en caliente de antaño, continúan con la tradición de reparación durante el funcionamiento continuo. Las memorias de semiconductores normalmente no tienen errores cuando funcionan, aunque los sistemas operativos como Unix han empleado pruebas de memoria en el inicio para detectar fallas en el hardware. Hoy en día, el requisito de un rendimiento confiable se vuelve aún más estricto cuando las granjas de servidores son la plataforma de entrega.Google ha logrado esto mediante el uso de software tolerante a fallas para recuperarse de fallas de hardware, e incluso está trabajando en el concepto de reemplazar granjas de servidores completas sobre la marcha, durante un evento de servicio.
En el siglo XXI, las CPU multinúcleo estuvieron disponibles comercialmente. Memoria de contenido direccionable (CAM)se ha vuelto lo suficientemente económico como para usarse en redes y se usa con frecuencia para la memoria caché en el chip en los microprocesadores modernos, aunque ningún sistema informático ha implementado CAM de hardware para su uso en lenguajes de programación. Actualmente, las CAM (o matrices asociativas) en el software son específicas del lenguaje de programación. Las matrices de celdas de memoria de semiconductores son estructuras muy regulares y los fabricantes prueban sus procesos en ellas; esto permite reducciones de precio en productos de memoria. Durante la década de 1980, las puertas lógicas CMOS se convirtieron en dispositivos que podían fabricarse tan rápido como otros tipos de circuitos; Por lo tanto, el consumo de energía de la computadora podría reducirse drásticamente. A diferencia del consumo continuo de corriente de una compuerta basada en otros tipos de lógica, una compuerta CMOS solo consume una cantidad significativa de corriente durante la "transición" entre estados lógicos, excepto por fugas.
Los circuitos CMOS han permitido que la informática se convierta en una mercancía que ahora es omnipresente, integrada en muchas formas, desde tarjetas de felicitación y teléfonos hasta satélites. La potencia de diseño térmico que se disipa durante la operación se ha vuelto tan esencial como la velocidad de cálculo de la operación. En 2006, los servidores consumieron el 1,5 % del presupuesto total de energía de EE. UU. Se esperaba que el consumo de energía de los centros de datos informáticos se duplicara al 3 % del consumo mundial para 2011. El SoC (sistema en un chip) ha comprimido aún más los circuitos integrados en un solo chip; Los SoC están permitiendo que los teléfonos y las PC converjan en dispositivos móviles inalámbricos de mano únicos.
La computación cuántica es una tecnología emergente en el campo de la computación. MIT Technology Review informó el 10 de noviembre de 2017 que IBM ha creado una computadora de 50 qubits; actualmente su estado cuántico dura 50 microsegundos. Los investigadores de Google han podido extender el límite de tiempo de 50 microsegundos, como se informó el 14 de julio de 2021 en Nature; la estabilidad se ha ampliado 100 veces mediante la difusión de un solo qubit lógico sobre cadenas de qubits de datos para la corrección de errores cuánticos. El 26 de noviembre de 2018, Physical Review X informó sobre una técnica para la "detección de puerta única como un método de lectura viable para los qubits de espín" (un estado de espín singlete-triplete en silicio). Un equipo de Google logró operar su chip modulador de pulsos de RF a 3 Kelvin, simplificando la criogenia de su computadora de 72 qubits, que está configurada para operar a 0,3 Kelvin; pero el circuito de lectura y otro controlador aún deben incorporarse a la criogenia. Ver: supremacía cuántica Los sistemas qubit de silicio han demostrado entrelazamiento a distancias no locales.
El hardware informático y su software se han convertido incluso en una metáfora del funcionamiento del universo.
Epílogo
Una indicación de la rapidez del desarrollo de este campo se puede inferir de la historia del artículo seminal de 1947 de Burks, Goldstine y von Neumann. En el momento en que alguien tuvo tiempo de escribir algo, estaba obsoleto. Después de 1945, otros leyeron el primer borrador de un informe sobre el EDVAC de John von Neumann e inmediatamente comenzaron a implementar sus propios sistemas. Hasta el día de hoy, el rápido ritmo de desarrollo ha continuado en todo el mundo.
Contenido relacionado
Tarjeta perforada
Tecnología en la Edad Antigua
Historia de la Óptica