La historia del hardware informático abarca los desarrollos desde los primeros dispositivos utilizados para cálculos simples hasta las complejas computadoras actuales, abarcando avances tanto en tecnología analógica como digital.
Los primeros instrumentos de ayuda a 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. En etapas posteriores, los dispositivos informáticos comenzaron a representar números en formas continuas, como por distancia a lo largo de una escala, rotación de un eje o un nivel de voltaje específico. Los números también podían representarse en forma de dígitos, manipulados automáticamente por un mecanismo. Aunque este enfoque generalmente requería mecanismos más complejos, aumentó enormemente la precisión de los resultados. El desarrollo de la tecnología de transistores, seguido por la invención de chips de circuitos integrados, condujo a avances revolucionarios. Las computadoras basadas en transistores y, más tarde, las computadoras basadas en circuitos integrados permitieron que los sistemas digitales reemplazaran gradualmente a los sistemas analógicos, aumentando tanto la eficiencia como la potencia de procesamiento. La integración a gran escala (LSI) de semiconductores de óxido de metal (MOS ) permitió la memoria de semiconductores y el microprocesador , lo que condujo a otro avance clave, la computadora personal (PC) miniaturizada , en la década de 1970. El costo de las computadoras se fue haciendo gradualmente 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.
Los dispositivos se han utilizado para ayudar al cálculo durante miles de años, principalmente usando correspondencia uno a uno con los dedos . El primer dispositivo de conteo probablemente fue una forma de palo de conteo . El hueso Lebombo de las montañas entre Eswatini y Sudáfrica puede ser el artefacto matemático más antiguo conocido. [2] Data de 35.000 a. C. y consta de 29 muescas distintas que se cortaron deliberadamente en el peroné de un babuino . [3] [4] Las ayudas posteriores para mantener registros en todo el Creciente Fértil incluyeron cálculos (esferas de arcilla, conos, etc.) que representaban recuentos de elementos, probablemente ganado o granos, sellados en recipientes huecos de arcilla sin cocer. [b] [6] [c] El uso de varillas de conteo es un ejemplo. El ábaco se utilizó temprano para tareas aritméticas. Lo que ahora llamamos ábaco romano se utilizó en Babilonia ya en c. 2700-2300 a. C. Desde entonces, se han inventado muchas otras formas de tablas o tableros de cálculo. En una casa de contabilidad europea medieval , se colocaba un mantel a cuadros sobre una mesa y se movían marcadores sobre él según ciertas reglas, como ayuda para calcular sumas de dinero.
En la Antigüedad y la Edad Media se construyeron varias computadoras analógicas para realizar cálculos astronómicos, entre ellas el astrolabio y el mecanismo de Anticitera del mundo helenístico (c. 150-100 a. C.). [8] En el Egipto romano , Herón de Alejandría (c. 10-70 d. C.) fabricó dispositivos mecánicos, entre ellos autómatas y un carro programable . [9] La flauta automática a vapor descrita en el Libro de los ingeniosos dispositivos (850) de los hermanos persa-bagdadíes Banū Mūsā puede haber sido el primer dispositivo programable. [10]
Otros dispositivos mecánicos tempranos utilizados para realizar uno u otro tipo de cálculos incluyen el planisferio y otros dispositivos de computación mecánica inventados por Al-Biruni (c. 1000 d. C.); el ecuador y el astrolabio universal independiente de la latitud de Al-Zarqali (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 propulsado por energía hidroeléctrica inventado por Ismail al-Jazari en 1206, fue la primera computadora analógica programable . [ disputado (por: La fuente citada no respalda la afirmación, y la afirmación es engañosa.) – discutir ] [11] [12] [13] Ramon Llull inventó el Círculo Luliano: una máquina nocional para calcular respuestas a preguntas filosóficas (en este caso, relacionadas con el cristianismo) mediante combinatoria lógica. Esta idea fue retomada por Leibniz siglos más tarde, y es por tanto uno de los elementos fundadores de la informática y la ciencia de la información .
El matemático y físico escocés John Napier descubrió que la multiplicación y la división de números se podían realizar mediante la suma y la resta, respectivamente, de los logaritmos de esos números. Al producir las primeras tablas logarítmicas, Napier tuvo que realizar muchas multiplicaciones tediosas. Fue en ese momento cuando diseñó sus " huesos de Napier ", un dispositivo similar a un ábaco que simplificaba enormemente los cálculos que implicaban multiplicación y división. [d]
Como los números reales pueden representarse 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 significativamente más rápido de lo que era posible anteriormente. [14] 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. A esto le siguió la regla de cálculo moderna en 1632, esencialmente una combinación de dos reglas de Gunter , sostenidas juntas con las manos. Las reglas de cálculo fueron utilizadas por generaciones de ingenieros y otros trabajadores profesionales involucrados en las matemáticas, hasta la invención de la calculadora de bolsillo . [15]
En 1609 Guidobaldo del Monte fabricó un multiplicador mecánico para calcular fracciones de grado. Basado en un sistema de cuatro engranajes, la rotación de un índice en un cuadrante corresponde a 60 rotaciones de otro índice en un cuadrante opuesto. [16] Gracias a esta máquina se pueden evitar errores en el cálculo de primero, segundo, tercero y cuarto de grado. Guidobaldo es el primero en documentar el uso de engranajes para el cálculo mecánico.
En 1623, Wilhelm Schickard , un erudito alemán , diseñó una máquina calculadora que combinaba una forma mecanizada de las varillas de Napier con la primera máquina sumadora mecánica del mundo incorporada en la base. Debido a que utilizaba un engranaje de un solo diente, había circunstancias en las que su mecanismo de transporte se atascaba. [17] Un incendio destruyó al menos una de las máquinas en 1624 y se cree que Schickard estaba demasiado desanimado como para construir otra.
En 1642, cuando todavía era un adolescente, Blaise Pascal comenzó a trabajar de manera pionera en el desarrollo de máquinas calculadoras y, tras tres años de esfuerzo y 50 prototipos [18], inventó una calculadora mecánica . [19] [20] En los diez años siguientes construyó veinte de estas máquinas (llamadas calculadora de Pascal o Pascalina). [21] Han sobrevivido nueve Pascalinas, la mayoría de las cuales se exhiben en museos europeos. [e] Existe un debate continuo sobre si se debe considerar a Schickard o a Pascal como el "inventor de la calculadora mecánica" y la variedad de cuestiones que deben considerarse se analiza en otra parte. [22]
Gottfried Wilhelm von Leibniz inventó el computador 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 también usara un carro móvil para permitir la multiplicación y la división. Leibniz dijo una vez: "Es indigno de hombres excelentes perder horas como esclavos en el trabajo del cálculo que podría relegarse con seguridad a cualquier otra persona si se usaran máquinas". [23] Sin embargo, Leibniz no incorporó un mecanismo de acarreo completamente exitoso. Leibniz también describió el sistema numérico binario , [24] 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 ENIAC de 1945) se basaron en el sistema decimal. [f]
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 de Thomas . Podía usarse para sumar y restar, y con un carro móvil, el operador también podía multiplicar y dividir mediante un proceso de multiplicación larga y división larga. [25] Utilizaba un tambor escalonado similar en concepción al inventado por Leibniz. Las calculadoras mecánicas siguieron utilizándose hasta la década de 1970.
En 1804, el tejedor francés Joseph Marie Jacquard desarrolló un telar en el que el patrón que se tejía se controlaba mediante una cinta de papel construida a partir de tarjetas perforadas . La cinta de papel podía cambiarse sin cambiar el diseño mecánico del telar. Este fue un logro histórico en la capacidad de programación. Su máquina fue una mejora con respecto a los telares de tejido similares. Las tarjetas perforadas fueron precedidas por bandas perforadas, como en la máquina propuesta por Basile Bouchon . Estas bandas inspirarían el registro de información para pianos automáticos y, más recientemente, máquinas herramienta de control numérico .
A finales 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. [26] Para procesar estas tarjetas perforadas, inventó el tabulador y la máquina perforadora . Sus máquinas usaban relés y contadores electromecánicos . [27] El método de Hollerith se utilizó en el censo de los Estados Unidos de 1890. Ese censo se procesó dos años más rápido que el censo anterior. [28] La empresa de Hollerith finalmente se convirtió en el núcleo de IBM .
En 1920, las máquinas tabuladoras electromecánicas podían sumar, restar e imprimir totales acumulados. [29] Las funciones de las máquinas se dirigían insertando docenas de puentes de cable 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 los registros de 26 millones de trabajadores. [30] 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 [31] y la publicación de WJ Eckert de Punched Card Methods in Scientific Computation en 1940, describieron técnicas de tarjetas perforadas lo suficientemente avanzadas para resolver algunas ecuaciones diferenciales o realizar multiplicaciones y divisiones utilizando representaciones de punto flotante, todo en tarjetas perforadas y máquinas de registro unitario . [32] Dichas 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. [ cita requerida ] 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 . [33] [34]
En el siglo XX, las calculadoras mecánicas, las cajas registradoras, las máquinas de contabilidad, etc., se rediseñaron para utilizar motores eléctricos, con la posición de los engranajes como representación del estado de una variable. La palabra "computadora" era un título laboral asignado principalmente a las mujeres que utilizaban estas calculadoras para realizar cálculos matemáticos. [35] En la década de 1920, el interés del científico británico Lewis Fry Richardson en la predicción del tiempo 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 . [36]
Empresas como Friden , Marchant Calculator y Monroe fabricaron calculadoras mecánicas de escritorio a partir de la década de 1930 que podían sumar, restar, multiplicar y dividir. [37] En 1948, el inventor austríaco Curt Herzstark presentó la Curta . Era una calculadora mecánica pequeña, accionada manualmente y, como tal, descendiente del Stepped Reckoner 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. [38] [39] 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 de escritorio electrónica disponible, y era silenciosa y rápida. La tecnología de tubo fue reemplazada en junio de 1963 por la Friden EC-130 fabricada en EE. UU., que tenía un diseño totalmente de transistores, una pila de cuatro números de 13 dígitos mostrados en un CRT de 5 pulgadas (13 cm) e introdujo la notación polaca inversa (RPN).
La Revolución Industrial (finales del siglo XVIII y principios del siglo XIX) tuvo un impacto significativo en la evolución del hardware informático, ya que los rápidos avances de la época en maquinaria y fabricación sentaron las bases para la computación mecanizada y automatizada. Las necesidades industriales de cálculos precisos a gran escala, especialmente en campos como la navegación, la ingeniería y las finanzas, impulsaron innovaciones tanto en el diseño como en la función, sentando las bases para dispositivos como la máquina diferencial de Charles Babbage (1822). [40] [41] Este dispositivo mecánico estaba destinado a automatizar el cálculo de funciones polinómicas y representó una de las primeras aplicaciones de la lógica computacional. [42]
Babbage, considerado a menudo como el "padre de la computadora", imaginó un sistema completamente mecánico de engranajes y ruedas, impulsado por vapor, capaz de manejar cálculos complejos que anteriormente requerían un trabajo manual intensivo. [43] Su máquina diferencial, diseñada para ayudar a los cálculos de navegación, finalmente lo llevó a concebir la máquina analítica en 1833. [44] Este concepto, mucho más avanzado que su máquina diferencial, incluía una unidad lógica aritmética , flujo de control a través de ramificaciones y bucles condicionales y memoria integrada. [45] Los planes de Babbage hicieron que su máquina analítica fuera el primer diseño de propósito general que podría describirse como Turing-completo en términos modernos. [46] [47]
La máquina analítica se programó utilizando tarjetas perforadas , un método adaptado del telar Jacquard inventado por Joseph Marie Jacquard en 1804, que controlaba patrones textiles con una secuencia de tarjetas perforadas. [48] Estas tarjetas también se convirtieron en fundamentales en los sistemas informáticos posteriores. [49] La máquina de Babbage habría presentado múltiples dispositivos de salida, incluida una impresora, un trazador de curvas e incluso una campana, lo que demuestra su ambición por aplicaciones computacionales versátiles más allá de la aritmética simple. [50]
Ada Lovelace amplió la visión de Babbage al conceptualizar algoritmos que podrían ser ejecutados por su máquina. [51] Sus notas sobre la máquina analítica, escritas en la década de 1840, ahora se reconocen como los primeros ejemplos de programación informática. [52] Lovelace vio potencial en las computadoras para ir más allá de los cálculos numéricos, prediciendo que algún día podrían generar composiciones musicales complejas o realizar tareas como el procesamiento del lenguaje. [53]
Aunque los diseños de Babbage nunca se llevaron a cabo por completo debido a dificultades técnicas y financieras, influyeron en una serie de desarrollos posteriores en hardware informático. Cabe destacar que en la década de 1890, Herman Hollerith adaptó la idea de las tarjetas perforadas para el procesamiento automático de datos, que se utilizó en el censo de los EE. UU. y aceleró significativamente la tabulación de datos, conectando la maquinaria industrial con el procesamiento de datos. [54]
Los avances de la Revolución Industrial en los sistemas mecánicos demostraron el potencial de las máquinas para realizar cálculos complejos, lo que influyó en ingenieros como Leonardo Torres Quevedo y Vannevar Bush a principios del siglo XX. Torres Quevedo diseñó una máquina electromecánica con aritmética de punto flotante, [55] mientras que el trabajo posterior de Bush exploró la computación digital electrónica. [56] A mediados del siglo XX, estas innovaciones allanaron el camino para las primeras computadoras completamente electrónicas. [57]
En la primera mitad del siglo XX, muchos consideraban que las computadoras analógicas eran el futuro de la informática. Estos dispositivos utilizaban 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 utiliza valores discretos, sino valores continuos, los procesos no se pueden repetir de manera confiable con equivalencia exacta, como sí se puede hacer con las máquinas de Turing . [58]
El primer ordenador analógico moderno 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 una ubicación particular y era de gran utilidad para la navegación en aguas poco profundas. Su dispositivo fue la base para posteriores desarrollos en computación analógica. [59]
El analizador diferencial , una computadora analógica mecánica diseñada para resolver ecuaciones diferenciales mediante integración utilizando mecanismos de rueda y disco, fue ideado en 1876 por James Thomson , 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 bolas y discos . [60] En un analizador diferencial, la salida de un integrador impulsaba la entrada del siguiente integrador, o una salida gráfica.
Una notable serie de máquinas calculadoras analógicas fueron desarrolladas por Leonardo Torres Quevedo desde 1895, incluyendo una que era capaz de calcular las raíces de polinomios arbitrarios de orden ocho, incluidos los complejos, con una precisión de hasta milésimas. [61] [62] [63]
Un avance importante en la computación analógica fue el desarrollo de los primeros sistemas de control de tiro para el tiro de artillería de barcos de largo alcance . Cuando los alcances de los cañones aumentaron drásticamente 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 retransmitirían las mediciones de distancia y las observaciones a una estación de trazado central. Allí, los equipos de dirección de tiro introducían 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; la computadora luego generaría una solución de disparo, que se enviaría a las torretas para el tiro. En 1912, el ingeniero británico Arthur Pollen desarrolló la primera computadora analógica mecánica alimentada eléctricamente (llamada en ese momento el Reloj Argo). [ cita requerida ] Fue utilizado por la Armada Imperial Rusa en la Primera Guerra Mundial . [ cita requerida ] El sistema alternativo de control de tiro de la Tabla Dreyer se instaló en los buques capitales británicos a mediados de 1916.
También se utilizaron dispositivos mecánicos para mejorar 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 ; medía la velocidad del viento desde el aire y utilizaba esa medición para calcular los efectos del viento en la trayectoria de las bombas. El sistema se mejoró más tarde con el Course Setting Bomb Sight , y alcanzó su apogeo con las miras para bombas de la Segunda Guerra Mundial , la mira para bombas Mark XIV ( RAF Bomber Command ) y la Norden [64] ( United States Army Air Force ).
El arte de la computación analógica mecánica alcanzó su apogeo con el analizador diferencial , [65] 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 construyeron una docena de estos dispositivos antes de que se hiciera evidente su obsolescencia; el más potente 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ó en 1942 un ordenador analógico totalmente electrónico en el Centro de Investigación del Ejército de Peenemünde . [66] [67] [68]
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 computación analógica, pero las computadoras analógicas híbridas , controladas por electrónica digital, siguieron utilizándose sustancialmente durante las décadas de 1950 y 1960, y más tarde en algunas aplicaciones especializadas.
El principio de la computadora moderna fue descrito por primera vez por el científico informático Alan Turing , quien expuso la idea en su artículo seminal de 1936, [69] On Computable Numbers . Turing reformuló los resultados de 1931 de Kurt Gödel sobre los límites de la prueba y el cálculo, reemplazando el lenguaje formal universal basado en la aritmética de Gödel con los dispositivos hipotéticos formales y simples que se conocieron como máquinas de Turing . Demostró que alguna de esas máquinas 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 al mostrar primero que el problema de detención para las máquinas de Turing es indecidible : en general, no es posible decidir algorítmicamente si una máquina de Turing dada se detendrá alguna vez.
También introdujo la noción de una "máquina universal" (ahora conocida como máquina universal de Turing ), con la idea de que dicha máquina podría realizar las tareas de cualquier otra máquina, o en otras palabras, es demostrablemente capaz de calcular cualquier cosa que sea computable ejecutando 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 debió a este artículo. [70] 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 Turing-completas , lo que significa que tienen una capacidad de ejecución de algoritmos equivalente a una máquina universal de Turing .
La era de la informática moderna comenzó con un frenesí de desarrollo antes y durante la Segunda Guerra Mundial. La mayoría de las computadoras digitales construidas en este período se construyeron con componentes electromecánicos: interruptores eléctricos accionaban relés mecánicos para realizar el cálculo. Estos componentes mecánicos tenían una velocidad de funcionamiento baja debido a su naturaleza mecánica y finalmente fueron reemplazados por componentes totalmente eléctricos mucho más rápidos, que originalmente usaban tubos de vacío y luego transistores .
El Z2 fue uno de los primeros ejemplos de una computadora digital operada eléctricamente construida con relés electromecánicos y fue creado por el ingeniero civil Konrad Zuse en 1940 en Alemania. Fue una mejora de su anterior computadora mecánica Z1 ; aunque usaba la misma memoria mecánica , reemplazó la lógica aritmética y de control con circuitos de relés eléctricos. [71]
En el mismo año, los criptólogos británicos construyeron dispositivos electromecánicos llamados bombes para ayudar a descifrar mensajes secretos cifrados por la máquina Enigma alemana durante la Segunda Guerra Mundial . El diseño inicial de la bombe fue creado en 1939 en la Escuela de Código y Cifrado del Gobierno del Reino Unido (GC&CS) en Bletchley Park por Alan Turing , [72] con un importante refinamiento ideado en 1940 por Gordon Welchman . [73] 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 el criptólogo de la Oficina de Cifrado polaca Marian Rejewski , y conocido como la " bomba criptológica " ( en polaco : "bomba kryptologiczna" ).
En 1941, Zuse siguió con su máquina anterior con la Z3 , [71] la primera computadora digital electromecánica programable y completamente automática del mundo. [74] La 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-10 Hz . [75] El código del programa y los datos se almacenaban en una película perforada . Era bastante similar a las máquinas modernas en algunos aspectos, siendo pionera en numerosos avances como los números de punto 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 eran más fáciles de construir y potencialmente más confiables, dadas las tecnologías disponibles en ese momento. [76] La Z3 demostró ser una máquina Turing-completa en 1998 por Raúl Rojas . [77] En dos solicitudes de patente 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 de von Neumann , implementada por primera vez en 1948 en Estados Unidos en el IBM SSEC electromecánico y en Gran Bretaña en el Manchester Baby totalmente electrónico . [78]
Zuse sufrió reveses durante la Segunda Guerra Mundial, cuando algunas de sus máquinas fueron destruidas durante los bombardeos aliados . Al parecer, su trabajo permaneció en gran parte desconocido para los ingenieros del Reino Unido y los Estados Unidos hasta mucho después, aunque al menos IBM lo conocía, ya que financió su empresa emergente 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. [79] Era una computadora electromecánica de propósito general similar a la Z3, pero no era completamente Turing-completa.
El término digital fue sugerido por primera vez por George Robert Stibitz y se refiere a cuando una señal, como un voltaje, no se usa para representar directamente un valor (como sería en una computadora analógica ), sino para codificarlo. En noviembre de 1937, Stibitz, que entonces trabajaba en Bell Labs (1930-1941), [80] completó una calculadora basada en relés que más tarde denominó " Modelo K " (por " mesa de cocina ", en la que la había ensamblado), que se convirtió en el primer sumador binario . [81] 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 lógica de tres valores , especialmente en 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 decimal codificado en binario o BCD, bi-quinario , exceso de 3 y código dos de cinco .
La base matemática de la computación digital es el álgebra de Boole , desarrollada por el matemático británico George Boole en su obra Las leyes del pensamiento , publicada en 1854. Su álgebra de Boole fue refinada aún más en la década de 1860 por William Jevons y Charles Sanders Peirce , y fue presentada por primera vez sistemáticamente por Ernst Schröder y A. N. Whitehead . [82] En 1879 Gottlob Frege desarrolla el enfoque formal de la lógica y propone el primer lenguaje lógico para ecuaciones lógicas. [83]
En la década de 1930 y trabajando independientemente, 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. [84] Demostraron que los relés y los interruptores electrónicos pueden realizar las expresiones del álgebra de Boole . [85] Esta tesis fundó 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. [86]
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 cintas de papel perforadas para la entrada y como medio de almacenamiento principal (no volátil). [87]
El ingeniero Tommy Flowers se incorporó a la rama de telecomunicaciones de la Oficina General de Correos en 1926. Mientras trabajaba en la estación de investigación de 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 la central telefónica en un sistema electrónico de procesamiento de datos, utilizando miles de tubos de vacío . [59]
En los EE. UU., en 1940, Arthur Dickinson (IBM) inventó la primera computadora electrónica digital. [88] Este dispositivo de cálculo era completamente electrónico: control, cálculos y salida (la primera pantalla electrónica). [89] John Vincent Atanasoff y Clifford E. Berry de la Universidad Estatal de Iowa desarrollaron la computadora Atanasoff-Berry (ABC) en 1942, [90] el primer dispositivo de cálculo digital electrónico binario. [91] Este diseño era semielectrónico (control electromecánico y cálculos electrónicos) y utilizaba alrededor de 300 tubos de vacío, con condensadores fijados en un tambor giratorio mecánico para la memoria. Sin embargo, su lector/escritor de tarjetas de papel no era confiable y el sistema de contacto regenerativo del tambor 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. [92]
Las computadoras cuya lógica se construyó principalmente utilizando tubos de vacío ahora se conocen como computadoras de primera generación .
Durante la Segunda Guerra Mundial, los descifradores de códigos británicos de Bletchley Park , a 64 km al norte de Londres, lograron varios éxitos al descifrar las comunicaciones militares encriptadas del enemigo. La máquina de cifrado alemana, Enigma , fue atacada primero con la ayuda de las bombas electromecánicas . [93] Descartaron posibles configuraciones 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 restantes podían probarse a mano.
Los alemanes también desarrollaron una serie de sistemas de cifrado de teleimpresora, bastante diferentes de Enigma. La máquina Lorenz SZ 40/42 se utilizó para comunicaciones de alto nivel del Ejército, llamada en código "Tunny" por los británicos. Las primeras interceptaciones de mensajes de Lorenz comenzaron en 1941. Como parte de un ataque a Tunny, Max Newman y sus colegas desarrollaron el Heath Robinson , una máquina de función fija para ayudar a descifrar códigos. [94] Tommy Flowers , un ingeniero senior de la Estación de Investigación de Correos [95] fue recomendado a Max Newman por Alan Turing [96] y pasó once meses desde principios de febrero de 1943 diseñando y construyendo la computadora Colossus más flexible (que reemplazó al Heath Robinson ). [97] [98] Después de una prueba funcional en diciembre de 1943, Colossus fue enviado a Bletchley Park, donde fue entregado el 18 de enero de 1944 [99] y atacó su primer mensaje el 5 de febrero. [100] Cuando Alemania se rindió en mayo de 1945, había diez Colosos trabajando en Bletchley Park. [101]
Colossus fue la primera computadora programable digital electrónica del mundo . [59] Utilizaba una gran cantidad de válvulas (tubos de vacío). Tenía entrada de cinta de papel y era capaz de ser configurada para realizar una variedad de operaciones lógicas booleanas en sus datos, [102] pero no era Turing-completa . La entrada de datos a Colossus era por lectura fotoeléctrica de una transcripción de cinta de papel del mensaje interceptado cifrado. Esto se organizó en un bucle continuo para que pudiera leerse y releerse varias veces, ya que no había almacenamiento interno para los datos. El mecanismo de lectura funcionaba a 5000 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 simple de operar que Mark 1, acelerando enormemente el proceso de decodificación. El Mark 2 fue diseñado mientras se construía el Mark 1. Allen Coombs asumió el liderazgo del proyecto Colossus Mark 2 cuando Tommy Flowers pasó a otros proyectos. [103] 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 en el Día D.
La mayor parte del uso de Colossus era para determinar las posiciones de inicio de los rotores Tunny para un mensaje, que se llamaba "ajuste de rueda". Colossus incluía el primer uso de registros de desplazamiento y matrices sistólicas , lo que permitía cinco pruebas simultáneas, cada una de las cuales implicaba hasta 100 cálculos booleanos . Esto permitía examinar cinco posibles posiciones de inicio diferentes para un tránsito de la cinta de papel. [104] Además del ajuste de rueda, algunos Colossi posteriores incluían mecanismos destinados a ayudar a determinar patrones de pines conocidos como "rotura de rueda". Ambos modelos eran programables mediante interruptores y paneles de enchufes de una manera que sus predecesores no lo habían sido.
Sin el uso de estas máquinas, los aliados se habrían visto privados de la valiosísima inteligencia que se obtenía de la lectura de la enorme cantidad de mensajes telegráficos cifrados de alto nivel 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 dio 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 inminente Guerra Fría. Dos de las máquinas fueron transferidas al recién formado GCHQ y las otras fueron destruidas. Como resultado, las máquinas no fueron incluidas en muchas historias de la informática. [g] Una copia de trabajo reconstruida de una de las máquinas Colossus está ahora en exhibición en Bletchley Park.
El ENIAC (Electronic Numerical Integrator and Computer) fue el primer ordenador electrónico programable construido en los EE. UU. Aunque el ENIAC utilizaba una tecnología similar a la del Colossi , era mucho más rápido y flexible y era Turing-completo. Al igual que el Colossi, 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 programa almacenado que vinieron después. Una vez que un programa estaba listo para ejecutarse, tenía que ser introducido mecánicamente en la máquina con un restablecimiento manual de enchufes e interruptores. Las programadoras del ENIAC eran mujeres que habían recibido formación como matemáticas. [106]
Combinaba la alta velocidad de la electrónica con la capacidad de ser programada 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 hacer raíz cuadrada. La memoria de alta velocidad estaba limitada a 20 palabras (equivalentes a unos 80 bytes). Construida bajo la dirección de John Mauchly y J. Presper Eckert en la Universidad de Pensilvania, el desarrollo y la construcción de ENIAC duraron desde 1943 hasta su pleno funcionamiento a finales de 1945. La máquina era enorme, pesaba 30 toneladas, utilizaba 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. [107] Una de sus principales hazañas de ingeniería fue minimizar los efectos de la quema de los tubos, que era un problema común en la fiabilidad de las máquinas en aquella época. La máquina estuvo en uso casi constante durante los siguientes diez años.
La base teórica para la computadora con programa almacenado fue propuesta por Alan Turing en su artículo de 1936 On Computable Numbers . [69] Mientras Turing estaba en Princeton trabajando en su doctorado, John von Neumann lo conoció y quedó intrigado por su concepto de una máquina de computación universal. [108]
Las primeras máquinas de computación ejecutaban una secuencia de pasos determinada, conocida como " programa ", que podía modificarse modificando las conexiones eléctricas mediante interruptores o un panel de conexiones (o tablero de conexiones ). Sin embargo, este proceso de "reprogramación" era a menudo difícil y requería mucho tiempo, y requería que los ingenieros crearan diagramas de flujo y volvieran a cablear físicamente las máquinas. [109] Las computadoras con programa almacenado, por el contrario, estaban diseñadas para almacenar un conjunto de instrucciones (un programa ) en la memoria, normalmente la misma memoria que los datos almacenados.
Los inventores de la ENIAC, John Mauchly y J. Presper Eckert, propusieron en agosto de 1944 la construcción de una máquina llamada Electronic Discrete Variable Automatic Computer ( EDVAC ) y el trabajo de diseño para la misma comenzó en la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania , antes de que la 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 la ENIAC, y una memoria de acceso serial de alta velocidad . [110] Sin embargo, Eckert y Mauchly abandonaron el proyecto y su construcción fracasó.
En 1945, von Neumann visitó la Escuela Moore y escribió notas sobre lo que vio, que envió al proyecto. El enlace del ejército de los EE. UU. allí las hizo pasar a máquina y las distribuyó como el Primer borrador de un informe sobre el EDVAC . El borrador no mencionaba a Eckert ni a Mauchly y, a pesar de su naturaleza incompleta y la cuestionable falta de atribución de las fuentes de algunas de las ideas, [59] la arquitectura informática que esbozaba se conoció como la " arquitectura de von Neumann ".
En 1945, Turing se unió al Laboratorio Nacional de Física del Reino Unido y comenzó a trabajar en el desarrollo de una computadora digital electrónica con programa almacenado. Su informe de finales de 1945, "Propuesta de calculadora electrónica", fue la primera especificación razonablemente detallada para un dispositivo de este tipo. Turing presentó un documento más detallado al Comité Ejecutivo del Laboratorio Nacional de Física (NPL) en marzo de 1946, en el que se presentaba el primer diseño sustancialmente completo de una computadora con programa almacenado , un dispositivo que se denominó Motor de Cálculo Automático (ACE).
Turing consideró que la velocidad y el tamaño de la memoria de la computadora eran elementos cruciales, [111] : p.4 por lo que propuso una memoria de alta velocidad de lo que hoy se llamaría 25 KB , accedida a una velocidad de 1 MHz . El ACE implementó llamadas a subrutinas , mientras que el EDVAC no, y el ACE también utilizó Instrucciones de Computadora Abreviadas, una forma temprana de lenguaje de programación .
El Manchester Baby (Small Scale Experimental Machine, SSEM) fue el primer ordenador electrónico con programa almacenado del mundo . 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. [112]
La máquina no fue pensada para ser una computadora práctica, sino que fue diseñada como un banco de pruebas para el tubo Williams , el primer dispositivo de almacenamiento digital de acceso aleatorio . [113] Inventado por Freddie Williams y Tom Kilburn [114] [115] en la Universidad de Manchester en 1946 y 1947, era un tubo de rayos catódicos que utilizaba un efecto llamado emisión secundaria para almacenar temporalmente datos binarios electrónicos , y se utilizó con éxito en varias computadoras tempranas.
Descrito como pequeño y primitivo en una retrospectiva de 1998, el Baby fue la primera máquina funcional que contenía todos los elementos esenciales para una computadora electrónica moderna. [116] Tan pronto como se demostró la viabilidad de su diseño, se inició un proyecto en la universidad para desarrollar el diseño en una computadora más utilizable, 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 del mundo. [117]
El Baby tenía una longitud de palabra de 32 bits y una memoria de 32 palabras. Como fue diseñado para ser el ordenador de programa almacenado más simple posible, las únicas operaciones aritméticas implementadas en hardware eran la resta y la negación ; las demás operaciones aritméticas se implementaron en software. El primero de los tres programas escritos para la máquina encontró el divisor propio más alto de 2 18 (262,144), un cálculo que se sabía que tardaría mucho tiempo en ejecutarse (y así probar la confiabilidad del ordenador) al probar cada entero desde 2 18 − 1 hacia abajo, ya que la división se implementaba 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 el 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 un patrón de puntos en el CRT de salida que reflejaba el patrón guardado en el tubo Williams utilizado para el almacenamiento.
El SSEM condujo al desarrollo del Manchester Mark 1 en la Universidad de Manchester. [118] El trabajo comenzó en agosto de 1948, y la primera versión estuvo operativa en abril de 1949; un programa escrito para buscar primos de Mersenne funcionó sin errores durante nueve horas en la noche del 16 al 17 de junio de 1949. El funcionamiento exitoso de la máquina fue ampliamente reportado en la prensa británica, que utilizó la frase "cerebro electrónico" para describirlo a sus lectores.
El ordenador es especialmente significativo históricamente debido a su inclusión pionera de registros de índice , una innovación que facilitó a un programa la lectura secuencial de una serie 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 el IBM 701 y 702, así como el Ferranti Mark 1. Los diseñadores jefe, Frederic C. Williams y Tom Kilburn , concluyeron a partir de sus experiencias con el Mark 1 que los ordenadores se utilizarían más en funciones científicas 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 .
El otro candidato para ser el primer ordenador digital con programa almacenado reconociblemente moderno [119] fue el EDSAC , [120] diseñado y construido por Maurice Wilkes y su equipo en el Laboratorio de Matemáticas de la Universidad de Cambridge en Inglaterra en la Universidad de Cambridge en 1949. La máquina se inspiró en el seminal Primer borrador de un informe sobre el EDVAC de John von Neumann y fue uno de los primeros ordenadores electrónicos digitales con programa almacenado que funcionaban de manera útil . [h]
El EDSAC ejecutó sus primeros programas el 6 de mayo de 1949, cuando calculó una tabla de cuadrados [123] y una lista de números primos . El 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. El EDSAC 1 se cerró finalmente el 11 de julio de 1958, después de haber sido reemplazado por el EDSAC 2, que permaneció en uso hasta 1965. [124]
Es posible que algún día el "cerebro" [el ordenador] llegue a nuestro nivel [el de la gente común] y nos ayude con los cálculos de impuestos y contabilidad, pero esto es pura especulación y, hasta ahora, no hay señales de que vaya a ocurrir.
— 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. [125]
Los inventores de la ENIAC, John Mauchly y J. Presper Eckert, propusieron la construcción del EDVAC en agosto de 1944, y el trabajo de diseño para el EDVAC comenzó en la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania , antes de que la 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 la ENIAC, y una memoria de acceso serial de alta velocidad . [110] Sin embargo, Eckert y Mauchly abandonaron el proyecto y su construcción fracasó.
Finalmente fue entregado al Laboratorio de Investigación Balística del Ejército de los EE. UU. en el Campo de Pruebas de Aberdeen en agosto de 1949, pero debido a una serie de problemas, la computadora recién comenzó a funcionar en 1951, y solo de manera limitada.
El primer ordenador comercial fue el Ferranti Mark 1 , construido por Ferranti y entregado a la Universidad de Manchester en febrero de 1951. Estaba basado en el Manchester Mark 1. Las principales mejoras sobre el Manchester Mark 1 estaban en el tamaño del almacenamiento primario (utilizando tubos Williams de acceso aleatorio ), el almacenamiento secundario (utilizando 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 utilizaba casi una cuarta parte de los 4.050 tubos de vacío (válvulas) de la máquina. [126] La Universidad de Toronto compró una segunda máquina , antes de que el diseño fuera revisado para convertirse en el Mark 1 Star . Al menos siete de estas máquinas posteriores se entregaron entre 1953 y 1957, una de ellas a los laboratorios Shell en Ámsterdam. [127]
En octubre de 1947, los directores de J. Lyons & Company , una empresa de catering británica famosa por sus salones de té pero con fuertes intereses en nuevas técnicas de gestión de oficinas, decidieron asumir un papel activo en la promoción del desarrollo comercial de las computadoras. La computadora LEO I (Lyons Electronic Office) comenzó a funcionar en abril de 1951 [128] y realizó el primer trabajo rutinario de computadora de oficina del mundo . El 17 de noviembre de 1951, la compañía J. Lyons comenzó a operar semanalmente un trabajo de tasación de panaderías en LEO, la primera aplicación comercial en funcionar en una computadora con programa almacenado. [i]
En junio de 1951, la UNIVAC I (Universal Automatic Computer) fue entregada a la Oficina del Censo de los Estados Unidos . Remington Rand finalmente vendió 46 máquinas a más de un millón de dólares cada una (11,7 millones de dólares en 2024). [129] La UNIVAC fue la primera computadora "producida en masa". Utilizaba 5200 tubos de vacío y consumía125 kW de potencia. Su almacenamiento principal eran líneas de retardo de mercurio de acceso serial capaces de almacenar 1.000 palabras de 11 dígitos decimales más el signo (palabras de 72 bits).
En 1952, la Compagnie des Machines Bull lanzó el ordenador Gamma 3 , que se convirtió en un gran éxito en Europa, llegando a vender más de 1200 unidades, y fue el primer ordenador producido en más de 1000 unidades. [130] El Gamma 3 tenía características innovadoras para su época, incluyendo una ALU de modo dual, conmutable por software, BCD y binaria, así como una biblioteca de punto flotante cableada para computación científica. [130] En su configuración ET, la memoria de tambor del Gamma 3 podía albergar alrededor de 50 000 instrucciones para una capacidad de 16 384 palabras (alrededor de 100 kB), una gran cantidad para la época. [130]
En comparación con el UNIVAC, IBM presentó en 1954 una computadora más pequeña y asequible que resultó muy popular. [j] [132] El IBM 650 pesaba más de900 kg , la fuente de alimentación adjunta pesaba alrededor de1350 kg y ambos se guardaron en gabinetes separados de aproximadamente 1,5 × 0,9 × 1,8 m . El sistema costaba 500.000 dólares [133] (5,67 millones de dólares en 2024) o podía alquilarse por 3.500 dólares al mes (40.000 dólares en 2024). [129] Su memoria de tambor era originalmente de 2.000 palabras de diez dígitos, que luego se amplió a 4.000 palabras. Limitaciones de memoria como esta dominarían la programación durante décadas después. Las instrucciones del programa se obtenían del tambor giratorio a medida que se ejecutaba el código. La ejecución eficiente utilizando la memoria del tambor se proporcionaba mediante 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, [134] asignaba instrucciones a las direcciones óptimas (en la medida de lo posible mediante análisis estático del programa fuente). De este modo, muchas instrucciones se ubicaban, cuando era necesario, 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.
En 1951, el científico británico Maurice Wilkes desarrolló el concepto de microprogramación a partir de la constatación de que la unidad central de procesamiento de un ordenador podía ser controlada por un programa informático en miniatura, altamente especializado, en una ROM de alta velocidad . La microprogramación permite definir o ampliar el conjunto de instrucciones base mediante programas integrados (ahora llamados firmware o microcódigo ). [135] Este concepto simplificó enormemente el desarrollo de la CPU. Lo describió por primera vez en la Conferencia Inaugural de Computación de la Universidad de Manchester en 1951, y luego lo publicó en forma ampliada en IEEE Spectrum en 1955. [ cita requerida ]
Se utilizó ampliamente en las CPU y unidades de punto flotante de mainframes y otras computadoras; se implementó por primera vez en EDSAC 2 , [136] 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. [k]
Las memorias de tambor magnético 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 tambor en su 1103 , anunciado en febrero de 1953. La primera computadora producida en masa, la IBM 650 , también anunciada en 1953, tenía aproximadamente 8,5 kilobytes de memoria de tambor.
Memoria de núcleo magnético patentada en 1949 [138] y su primer uso demostrado para la computadora Whirlwind en agosto de 1953. [139] La comercialización se produjo 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) utilizaron memoria de núcleo magnético. Siguió dominando el campo hasta la década de 1970, cuando fue reemplazado por la memoria de semiconductores. El núcleo magnético alcanzó su máximo volumen alrededor de 1975 y disminuyó en uso y participación de mercado a partir de entonces. [140]
Incluso en 1980, en muchos de los sitios UNIX originales todavía se utilizaban máquinas PDP-11/45 que utilizaban memoria principal con núcleo magnético y tambores para intercambio.
El transistor bipolar fue inventado en 1947. A partir de 1955, los transistores reemplazaron a los tubos de vacío en los diseños de computadoras, [142] 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 transistorizadas podían contener decenas de miles de circuitos lógicos binarios en un espacio relativamente compacto. Los transistores redujeron en gran medida el tamaño de las computadoras, el costo inicial y el costo operativo . Por lo general, las computadoras de segunda generación estaban compuestas por un gran número de placas de circuitos impresos , como el Sistema modular estándar de IBM , [143] cada una con una a cuatro puertas lógicas o flip-flops .
En la Universidad de Manchester , un equipo bajo el liderazgo de Tom Kilburn diseñó y construyó una máquina que utilizaba los transistores recientemente desarrollados en lugar de válvulas. Inicialmente, los únicos dispositivos disponibles eran transistores de contacto puntual de germanio , menos confiables que las válvulas que reemplazaron pero que consumían mucha menos energía. [144] Su primer ordenador transistorizado , y el primero del mundo, estuvo operativo en 1953 , [145] y una segunda versión se completó allí en abril de 1955. [145] 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 los circuitos para leer y escribir en su memoria de tambor magnético, por lo que no fue el primer ordenador completamente transistorizado.
Esa distinción le corresponde al Harwell CADET de 1955, [146] construido por la división de electrónica del Atomic Energy Research Establishment en Harwell . El diseño incluía una memoria de tambor magnético de 64 kilobytes con múltiples cabezales móviles que había sido diseñada en el National Physical Laboratory, Reino Unido . En 1953, este equipo tenía circuitos de transistores que funcionaban para leer y escribir en un tambor magnético más pequeño del Royal Radar Establishment . La máquina utilizaba una velocidad de reloj baja de solo 58 kHz para evitar tener que usar válvulas para generar las formas de onda del reloj. [147] [146]
CADET utilizó 324 transistores de contacto puntual proporcionados por la empresa británica Standard Telephones and Cables ; se utilizaron 76 transistores de unión para los amplificadores de la primera etapa para la lectura de datos del tambor, ya que los transistores de contacto puntual eran demasiado ruidosos. Desde agosto de 1956, CADET ofreció un servicio de computación regular, durante el cual a menudo ejecutaba ejecuciones de computación continuas de 80 horas o más. [148] [149] Los problemas con la confiabilidad de los primeros lotes de transistores de contacto puntual y de unión aleada significaron que el tiempo medio de la máquina entre fallas era de aproximadamente 90 minutos, pero esto mejoró una vez que estuvieron disponibles los transistores de unión bipolar más confiables . [150]
El diseño de la computadora de transistores de la Universidad de Manchester fue adoptado por la firma de ingeniería local Metropolitan-Vickers en su Metrovick 950 , la primera computadora de transistores comercial del mundo. [151] Se construyeron seis Metrovick 950, la primera completada en 1956. Se implementaron con éxito en varios departamentos de la empresa y estuvieron en uso durante unos cinco años. [145] Una computadora de segunda generación, la IBM 1401 , capturó aproximadamente un tercio del mercado mundial. IBM instaló más de diez mil 1401 entre 1960 y 1964.
La electrónica transistorizada no sólo mejoró 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 eran capaces de almacenar decenas de millones de letras y dígitos. Junto a las unidades de almacenamiento en disco fijas , conectadas a la CPU mediante transmisión de datos de alta velocidad, estaban las unidades de almacenamiento de datos en disco extraíbles. Un paquete de discos extraíbles se puede cambiar fácilmente por otro paquete en unos pocos segundos. Aunque la capacidad de los discos extraíbles es menor que la de los discos fijos, su intercambiabilidad garantiza una cantidad casi ilimitada de datos a mano. La cinta magnética proporcionaba la capacidad de archivar estos datos, a un coste menor que el del disco.
Muchas CPU de segunda generación delegaban las comunicaciones de los dispositivos periféricos a un procesador secundario. Por ejemplo, mientras el procesador de comunicaciones controlaba la lectura y perforación de tarjetas , la CPU principal ejecutaba los cálculos y las instrucciones de bifurcación binaria . Un bus de datos transportaría los datos entre la CPU principal y la memoria central a la velocidad del ciclo de búsqueda y ejecución de la CPU , y otros buses de datos normalmente darían servicio 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 tardaban 10 microsegundos (100.000 operaciones por segundo) porque la mayoría de las operaciones tardaban al menos dos ciclos de memoria: uno para la instrucción y otro para la búsqueda de datos del operando .
Durante la segunda generación, las unidades terminales remotas (a menudo en forma de teleimpresoras como la Friden Flexowriter ) se utilizaron cada vez más. [l] Las conexiones telefónicas proporcionaban suficiente velocidad para las primeras terminales remotas y permitían una separación de cientos de kilómetros entre las terminales remotas y el centro de cómputo. Con el tiempo, estas redes de computadoras independientes se generalizarían en una red de redes interconectadas : Internet. [m]
A principios de la década de 1960 se produjo la aparición 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 uno de los primeros superordenadores del mundo , considerado el ordenador más potente del mundo en ese momento. [154] Se decía que cada vez que Atlas se desconectaba se perdía la mitad de la capacidad informática del Reino Unido. [155] Era una máquina de segunda generación, que utilizaba transistores de germanio discretos . Atlas también fue pionero en el Atlas Supervisor , "considerado por muchos como el primer sistema operativo moderno reconocible ". [156]
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. [157] La CDC 6600 , lanzada en 1964, generalmente se considera la primera supercomputadora. [158] [159] La CDC 6600 superó a su predecesora, la IBM 7030 Stretch , en aproximadamente un factor de 3. Con un rendimiento de aproximadamente 1 megaFLOPS , la CDC 6600 fue la computadora más rápida del mundo desde 1964 hasta 1969, cuando cedió ese estatus a su sucesora, la CDC 7600 .
La "tercera generación" de computadoras electrónicas digitales utilizaba chips de circuitos integrados (CI) como base de su lógica.
La idea de un circuito integrado fue concebida por un científico de radar que trabajaba para el Royal Radar Establishment del Ministerio de Defensa , Geoffrey WA Dummer .
Los primeros circuitos integrados funcionales fueron inventados por Jack Kilby en Texas Instruments y Robert Noyce en Fairchild Semiconductor . [160] 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. [161] La invención de Kilby fue un circuito integrado híbrido (CI híbrido). [162] Tenía conexiones de cables externos, lo que dificultaba su producción en masa. [163]
Noyce ideó su propia idea de circuito integrado medio año después que Kilby. [164] La invención de Noyce fue un chip de circuito integrado (CI) monolítico . [165] [163] Su chip resolvió muchos problemas prácticos que el de Kilby no había resuelto. Producido en Fairchild Semiconductor, estaba hecho de silicio , mientras que el chip de Kilby estaba hecho de germanio . La base para el CI 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, basándose en el trabajo de Mohamed M. Atalla sobre pasivación de superficies de semiconductores mediante dióxido de silicio en Bell Labs a fines de la década de 1950. [166] [167] [168]
Las computadoras de tercera generación (circuitos integrados) 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 esa década. La primera computadora con circuito integrado de silicio fue la Computadora de Guía Apolo o AGC. [169] Aunque no era la computadora más poderosa de su tiempo, las limitaciones extremas en cuanto a tamaño, masa y potencia de la nave espacial Apolo requerían que la AGC fuera mucho más pequeña y densa que cualquier computadora anterior, con un peso de solo 70 libras (32 kg). Cada misión de aterrizaje lunar llevaba dos AGC, uno en cada uno de los módulos de comando y ascenso lunar.
El MOSFET (transistor de efecto de campo de metal-óxido-semiconductor, o transistor MOS) fue inventado por Mohamed M. Atalla y Dawon Kahng en Bell Labs en 1959. [170] Además del procesamiento de datos, el MOSFET permitió el uso práctico de los transistores MOS como elementos de almacenamiento de celdas de memoria , una función que anteriormente cumplían los núcleos magnéticos . La memoria semiconductora , también conocida como memoria MOS , era más barata y consumía menos energía que la memoria de núcleo magnético . [171] La memoria de acceso aleatorio (RAM) MOS , en forma de RAM estática (SRAM), fue desarrollada por John Schmidt en Fairchild Semiconductor en 1964. [171] [172] En 1966, Robert Dennard en el Centro de Investigación Thomas J. Watson de IBM desarrolló la RAM dinámica MOS (DRAM). [173] 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 . [174] [175]
La "cuarta generación" de computadoras electrónicas digitales utilizó microprocesadores como base de su lógica. El microprocesador tiene su origen en el chip de circuito integrado MOS (MOS IC). [176] Debido al rápido escalamiento de los MOSFET , los chips MOS IC aumentaron rápidamente en complejidad a una velocidad predicha 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 computación fue la base para 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. [176]
El tema de qué dispositivo fue exactamente 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 multichip fueron el Four-Phase Systems AL-1 en 1969 y el Garrett AiResearch MP944 en 1970, desarrollados con múltiples chips MOS LSI. [176] El primer microprocesador de un solo chip fue el Intel 4004 , [177] desarrollado en un solo chip PMOS LSI. [176] Fue diseñado y realizado por Ted Hoff , Federico Faggin , Masatoshi Shima y Stanley Mazor en Intel , y lanzado en 1971. [n] Tadashi Sasaki y Masatoshi Shima en Busicom , un fabricante de calculadoras, tuvieron la idea inicial de que la CPU podría ser un solo chip MOS LSI, suministrado por Intel. [179] [177]
Si bien los primeros circuitos integrados de microprocesadores 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 los componentes electrónicos internos 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. [o] IBM implementó sus módulos IBM Solid Logic Technology en circuitos híbridos para el IBM System/360 en 1964. Hasta 1975, Sperry Univac continuó la fabricación de máquinas de segunda generación como la UNIVAC 494. Los grandes sistemas de Burroughs como el B5000 eran máquinas de pila , lo que permitía una programación más sencilla. Estos autómatas pushdown también se implementaron en minicomputadoras y microprocesadores más tarde, lo que influyó en el diseño de lenguajes de programación. Las minicomputadoras sirvieron como centros de computación de bajo costo para la industria, las empresas y las universidades. [180] 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 microcomputadoras , computadoras pequeñas y de bajo costo que podían ser propiedad de individuos y pequeñas empresas. Las microcomputadoras, las primeras de las cuales aparecieron en la década de 1970, se volvieron omnipresentes en la década de 1980 y después.
Aunque es un tema de debate qué producto específico se considera el primer sistema de microcomputadoras, uno de los primeros es el Micral N de R2E ( François Gernelle , André Truong ) lanzado "a principios de 1973" utilizando el Intel 8008. [181] 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, el Altair 8800 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 preensamblado del mundo. La unidad central de procesamiento constaba de dos tarjetas, con nombres en código PUCE1 y PUCE2, y a diferencia de la mayoría de los demás ordenadores personales, estaba construida con componentes TTL en lugar de un microprocesador. Tenía una o dos unidades de disquete 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, fue un paso significativo respecto del Altair, aunque nunca alcanzó el mismo éxito. Competía con un producto similar de IBM que tenía una unidad de disquete externa.
Entre 1975 y 1977, la mayoría de los microordenadores, como el MOS Technology KIM-1 , el Altair 8800 y algunas versiones del Apple I , se vendían como kits para aficionados al bricolaje. Los sistemas preensamblados no ganaron mucho terreno hasta 1977, con la introducción del Apple II , el Tandy TRS-80 , los primeros ordenadores SWTPC y el Commodore PET . La informática ha evolucionado con las arquitecturas de los microordenadores, con características añadidas de sus hermanos mayores, que ahora dominan la mayoría de los segmentos del mercado.
Tim Berners-Lee y Robert Cailliau utilizaron un ordenador NeXT y sus herramientas y bibliotecas de desarrollo orientadas a objetos en el CERN 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 los ordenadores requieren una fiabilidad muy alta . El ENIAC permaneció en funcionamiento continuo desde 1947 hasta 1955, durante ocho años antes de ser apagado. Aunque un tubo de vacío pudiera fallar, se lo reemplazaba sin hacer que se cayera el sistema. Con la sencilla estrategia de no apagar nunca el ENIAC, los fallos se redujeron drásticamente. Los ordenadores de defensa aérea SAGE con tubos de vacío se volvieron notablemente fiables: instalados en pares, uno fuera de línea, los tubos que probablemente fallarían lo hacían cuando el ordenador se hacía funcionar intencionadamente 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 la tradición de la reparación durante el funcionamiento continuo. Las memorias de semiconductores no suelen tener errores cuando funcionan, aunque los sistemas operativos como Unix han empleado pruebas de memoria al iniciarse para detectar hardware defectuoso. Hoy, el requisito de un rendimiento fiable se hace aún más estricto cuando las granjas de servidores son la plataforma de distribución. [182] Google ha logrado esto utilizando software tolerante a fallos para recuperarse de fallas de hardware, e incluso está trabajando en el concepto de reemplazar granjas de servidores enteras sobre la marcha, durante un evento de servicio. [183] [184]
En el siglo XXI, las CPU multinúcleo se empezaron a comercializar. [185] La memoria direccionable por contenido (CAM) [186] se ha vuelto lo suficientemente económica como para ser utilizada en redes, y se utiliza con frecuencia para la memoria caché en 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 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 precios en los 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 podía reducirse drásticamente. A diferencia del consumo de corriente continua de una puerta basada en otros tipos de lógica, una puerta CMOS solo consume una corriente significativa, excepto por fugas, durante la "transición" entre estados lógicos. [187]
Los circuitos CMOS han permitido que la informática se convierta en un producto que ahora es omnipresente, integrado 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 el funcionamiento se ha vuelto tan esencial como la velocidad de funcionamiento del cómputo. En 2006, los servidores consumieron el 1,5% del presupuesto total de energía de los EE. UU. [188] Se esperaba que el consumo de energía de los centros de datos informáticos se duplicara hasta el 3% del consumo mundial en 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 portátiles únicos . [189]
La computación cuántica es una tecnología emergente en el campo de la informática. 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. [190] 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 ; [191] la estabilidad se ha extendido 100 veces al extender un solo qubit lógico sobre cadenas de qubits de datos para la corrección de errores cuánticos . [191] Physical Review X informó una técnica para 'detección de puerta única como un método de lectura viable para qubits de espín' (un estado de espín singlete-triplete en silicio) el 26 de noviembre de 2018. [192] Un equipo de Google ha logrado operar su chip modulador de pulsos de RF a 3 kelvins , simplificando la criogenia de su computadora de 72 qubits, que está configurada para operar a 0,3 K ; pero aún queda por incorporar a la criogenia el circuito de lectura y otro controlador. [193] [p] Véase: Supremacía cuántica [195] [196] Los sistemas de qubit de silicio han demostrado entrelazamiento a distancias no locales . [197]
El hardware informático y su software se han convertido incluso en una metáfora del funcionamiento del universo. [198]
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. [199] Para cuando alguien tuvo tiempo de escribir algo, ya estaba obsoleto. Después de 1945, otros leyeron el Primer borrador de un informe de John von Neumann sobre el EDVAC 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. [q] [r]
Los cálculos se utilizaban en Irak para sistemas de contabilidad primitivos desde el 3200 al 3000 a. C., con sistemas de representación de conteo específicos para cada producto. La contabilidad equilibrada se utilizaba entre el 3000 y el 2350 a. C., y un sistema de numeración sexagesimal entre el 2350 y el 2000 a. C.