Z3 (computadora)
La Z3 fue una computadora electromecánica alemana diseñada por Konrad Zuse en 1938 y terminada en 1941. Fue la primera computadora digital completamente automática y programable del mundo. El Z3 se construyó con 2600 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 se almacenó en una película perforada. Los valores iniciales se ingresaron manualmente.
El Z3 se completó en Berlín en 1941. No se consideró vital, por lo que nunca se puso en funcionamiento todos los días. Basado en el trabajo del ingeniero aerodinámico alemán Hans Georg Küssner (conocido por el efecto Küssner), un "Programa para calcular una matriz compleja" fue escrito y utilizado para resolver problemas de aleteo. Zuse solicitó al gobierno alemán financiación para reemplazar los relés con interruptores completamente electrónicos, pero la financiación fue denegada durante la Segunda Guerra Mundial ya que tal desarrollo se consideró "no importante para la guerra".
El Z3 original fue destruido el 21 de diciembre de 1943 durante un bombardeo aliado de Berlín. Ese Z3 originalmente se llamaba V3 (Versuchsmodell 3 o Experimental Model 3), pero se le cambió el nombre para que no se confundiera con las armas V de Alemania. Una réplica completamente funcional fue construida en 1961 por la compañía de Zuse, Zuse KG, que ahora se encuentra en exhibición permanente en el Deutsches Museum en Munich.
En 1998 se demostró que el Z3 era, en principio, Turing-completo. Sin embargo, debido a que carecía de ramificación condicional, el Z3 solo cumple con esta definición calculando especulativamente todos los resultados posibles de un cálculo.
Gracias a esta máquina y sus predecesoras, a menudo se ha sugerido a Konrad Zuse como el inventor de la computadora.
Diseño y desarrollo
Zuse diseñó el Z1 entre 1935 y 1936 y lo fabricó entre 1936 y 1938. El Z1 era totalmente mecánico y solo funcionaba durante unos minutos como máximo. Helmut Schreyer aconsejó a Zuse que usara una tecnología diferente. Como estudiante de doctorado en el Instituto de Tecnología de Berlín en 1937, trabajó en la implementación de operaciones booleanas y (en la terminología actual) flip-flops sobre la base de tubos de vacío. En 1938, Schreyer demostró un circuito sobre esta base a una pequeña audiencia y explicó su visión de una máquina informática electrónica, pero dado que los dispositivos electrónicos operativos más grandes contenían muchos menos tubos, esto se consideró prácticamente inviable. En ese año al presentar el plan para una computadora con 2.000 tubos de electrones, Zuse y Schreyer, quien era asistente en Wilhelm Stäblein's
Instituto de Telecomunicaciones de la Universidad Técnica de Berlín, fueron desalentados por miembros del instituto que conocían los problemas con la tecnología de tubo de electrones. Zuse recordó más tarde: "Nos sonrieron en 1939, cuando queríamos construir máquinas electrónicas... Dijimos: La máquina electrónica es genial, pero primero hay que desarrollar los componentes." En 1940, Zuse y Schreyer lograron concertar una reunión en el Oberkommando der Wehrmacht (OKW) para discutir un posible proyecto para desarrollar una computadora electrónica, pero cuando estimaron una duración de dos o tres años, la propuesta fue rechazada.Zuse decidió implementar el siguiente diseño basado en relés. La realización del Z2 fue ayudada financieramente por Kurt Pannke, quien fabricó pequeñas máquinas calculadoras. El Z2 se completó y se presentó a una audiencia del Deutsche Versuchsanstalt für Luftfahrt ("Laboratorio alemán de Aviation") en 1940 en Berlín-Adlershof. Zuse tuvo suerte: esta presentación fue uno de los pocos casos en los que el Z2 realmente funcionó y pudo convencer a la DVL de financiar en parte el próximo diseño.
Mejorando la máquina Z2 básica, construyó la Z3 en 1941, que era un proyecto altamente secreto del gobierno alemán. Joseph Jennissen (1905–1977), miembro de la "Research-Leadership" (Forschungsführung) en el Ministerio del Aire del Reich actuó como supervisor del gobierno para las órdenes del ministerio a la empresa ZUSE Apparatebau de Zuse. Otro intermediario entre Zuse y el Ministerio del Aire del Reich fue el aerodinámico Herbert A. Wagner.
El Z3 se completó en 1941 y era más rápido y mucho más confiable que el Z1 y el Z2. La aritmética de coma flotante de Z3 se mejoró con respecto a la de Z1, ya que implementó el manejo de excepciones 'usando solo unos pocos relés', los valores excepcionales (más infinito, menos infinito e indefinido) se podían generar y pasar operaciones. Además agregó una instrucción de raíz cuadrada.
El Z3, al igual que sus predecesores, almacenaba su programa en una cinta perforada externa, por lo que no era necesario volver a cablear para cambiar de programa. Sin embargo, no tenía la bifurcación condicional que se encuentra en las computadoras universales posteriores.
El 12 de mayo de 1941, el Z3 se presentó ante una audiencia de científicos, incluidos los profesores Alfred Teichmann y Curt Schmieden de la Deutsche Versuchsanstalt für Luftfahrt ("Laboratorio Alemán de Aviación") en Berlín, hoy conocido como el Centro Aeroespacial Alemán en Colonia.
Zuse pasó al diseño del Z4, que completó en un búnker en las montañas de Harz, junto con el desarrollo de misiles balísticos de Wernher von Braun. Cuando terminó la Segunda Guerra Mundial, Zuse se retiró a Hinterstein en los Alpes con el Z4, donde permaneció durante varios años.
Conjunto de instrucciones
La Z3 funcionaba como una máquina de pila con una pila de dos registros, R1 y R2. La primera operación de carga en un programa cargaría el contenido de una ubicación de memoria en R1; la siguiente operación de carga cargaría el contenido de una ubicación de memoria en R2. Las instrucciones aritméticas operarían sobre los contenidos de R1 y R2, dejando el resultado en R1 y borrando R2; la siguiente operación de carga se cargaría en R2. Una operación de almacenamiento almacenaría el contenido de R1 en una ubicación de memoria y borraría R1; la siguiente operación de carga cargaría el contenido de una ubicación de memoria en R1.
Una operación de lectura del teclado leería un número del teclado en R1 y borraría R2. Una instrucción de visualización mostraría el contenido de R1 y borraría R2; la siguiente instrucción de carga se cargaría en R2.
Z3 como máquina de Turing universal
Era posible construir bucles en el Z3, pero no había ninguna instrucción de bifurcación condicional. Sin embargo, el Z3 era Turing-completo: Raúl Rojas mostró en 1998 cómo implementar una máquina de Turing universal en el Z3. Propuso que el programa de cinta tendría que ser lo suficientemente largo para ejecutar todos los caminos posibles a ambos lados de cada rama. Calcularía todas las respuestas posibles, pero los resultados innecesarios se cancelarían (una especie de ejecución especulativa). Rojas concluye: "Por lo tanto, podemos decir que, desde una perspectiva teórica abstracta, el modelo de cómputo del Z3 es equivalente al modelo de cómputo de las computadoras actuales. Desde una perspectiva práctica, y en la forma en que el Z3 estaba realmente programado, no era equivalente a las computadoras modernas."
Esta aparente limitación desmiente el hecho de que el Z3 proporcionó un conjunto de instrucciones prácticas para las aplicaciones de ingeniería típicas de la década de 1940. Consciente de las restricciones de hardware existentes, el principal objetivo de Zuse en ese momento era tener un dispositivo viable para facilitar su trabajo como ingeniero civil.
Relación con otros trabajos
El éxito del Z3 de Zuse se suele atribuir a su uso del sistema binario simple. Esto fue inventado aproximadamente tres siglos antes por Gottfried Leibniz; Boole luego lo usó para desarrollar su álgebra booleana. Zuse se inspiró en el libro de Hilbert y Ackermann sobre lógica matemática elemental Principles of Mathematical Logic. En 1937, Claude Shannon introdujo la idea de mapear el álgebra booleana en relés electrónicos en un trabajo seminal sobre diseño de circuitos digitales. Zuse, sin embargo, no conocía el trabajo de Shannon y desarrolló las bases de forma independiente para su primera computadora Z1, que diseñó y construyó entre 1935 y 1938.
El compañero de trabajo de Zuse, Helmut Schreyer, construyó un modelo experimental digital electrónico de una computadora usando 100 tubos de vacío en 1942, pero se perdió al final de la guerra.
El científico de cohetes Helmut Hölzer construyó una computadora analógica en 1942 en el Centro de Investigación del Ejército de Peenemünde para simular trayectorias de cohetes V-2.
El Colossus construido por Tommy Flowers (1943) y el Atanasoff-Berry Computer (1942) utilizaron válvulas termoiónicas (tubos de vacío) y representación binaria de números. La programación se realizó mediante la reconexión de paneles de conexión y la configuración de interruptores.
La computadora ENIAC, completada después de la guerra, usaba tubos de vacío para implementar interruptores y usaba representación decimal para los números. Hasta 1948, la programación era, como con Colossus, mediante cables de conexión e interruptores.
La Manchester Baby de 1948, junto con la Manchester Mark 1 y la EDSAC, ambas de 1949, fueron las primeras computadoras en funcionamiento del mundo que almacenaban instrucciones de programas y datos en el mismo espacio. En esto, implementaron el concepto de programa almacenado que con frecuencia (pero erróneamente) se atribuye a un artículo de 1945 de John von Neumann y sus colegas. Se dice que Von Neumann le dio el debido crédito a Alan Turing, y el mismo Konrad Zuse había mencionado antes el concepto, en una solicitud de patente de 1936 (que fue rechazada). El propio Konrad Zuse recordaba en sus memorias: "Durante la guerra, de todos modos apenas habría sido posible construir dispositivos de programas almacenados eficientes". y Friedrich L. Bauer escribieron: "Sus ideas visionarias (programas en vivo) que solo se publicarían años después apuntaban a la dirección práctica correcta, pero nunca fueron implementadas por él".
Especificaciones
- Velocidad promedio de cálculo: adición – 0.8 segundos, multiplicación – 3 segundos
- Unidad Aritmética: Binario punto flotante, 22-bit, añadir, subtract, multiplicar, dividir, raíz cuadrada
- Memoria de datos: 64 palabras de 22 bits
- Memoria del programa: Cinta de celuloide picada
- Entrada: Números de punto flotante decimal
- Producto: Números de punto flotante decimal
- La entrada y salida fue facilitada por un terminal, con un teclado especial para la entrada y una fila de lámparas para mostrar resultados
- Elementos: Alrededor de 2.000 relés (1.400 para la memoria)
- Frecuencia: 5-10 hertz
- Consumo de energía: Alrededor de 4.000 vatios
- Peso: Alrededor de 1 tonelada (2.200 lb)
Reconstrucciones modernas
Una reconstrucción moderna dirigida por Raúl Rojas y Horst Zuse comenzó en 1997 y terminó en 2003. Ahora se encuentra en el Museo Konrad Zuse en Hünfeld, Alemania. La memoria se redujo a la mitad a 32 palabras. El consumo de energía es de aproximadamente 400 W y el peso es de aproximadamente 30 kilogramos (66 lb).
En 2008, Horst Zuse inició él mismo una reconstrucción del Z3. Fue presentado en 2010 en el Museo Konrad Zuse en Hünfeld.
Contenido relacionado
San Pirán
Venus de Milo
Fotograma clave