El Manchester Mark 1 fue uno de los primeros ordenadores con programa almacenado , desarrollado en la Universidad Victoria de Manchester , Inglaterra, a partir del Manchester Baby (que entró en funcionamiento en junio de 1948). 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.
El funcionamiento exitoso de la máquina fue ampliamente difundido en la prensa británica, que utilizó la frase "cerebro electrónico" para describirla a sus lectores. Esa descripción provocó una reacción del director del Departamento de Neurocirugía de la Universidad de Manchester, el inicio de un largo debate sobre si una computadora electrónica podría llegar a ser realmente creativa .
El Mark 1 debía proporcionar un recurso informático dentro de la universidad, para permitir a los investigadores ganar experiencia en el uso práctico de las computadoras, pero muy pronto también se convirtió en un prototipo en el que se podría basar el diseño de la versión comercial de Ferranti . El desarrollo cesó a fines de 1949, y la máquina fue desechada hacia fines de 1950, reemplazada en febrero de 1951 por un Ferranti Mark 1 , el primer computador electrónico de propósito general disponible comercialmente del mundo. [1]
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 .
También se le llamó Máquina Digital Automática de Manchester o MADM . [2]
En 1936, el matemático Alan Turing publicó una definición de una "máquina de computación universal" teórica, una computadora que guardaba su programa en cinta, junto con los datos con los que se trabajaba. Turing demostró que una máquina de este tipo era capaz de resolver cualquier problema matemático concebible para el que se pudiera escribir un algoritmo . [3] Durante la década de 1940, Turing y otros como Konrad Zuse desarrollaron la idea de utilizar la propia memoria de la computadora para almacenar tanto el programa como los datos, en lugar de la cinta, [4] pero fue el matemático John von Neumann a quien se le atribuyó ampliamente la definición de esa arquitectura de computadora de programa almacenado , en la que se basó el Manchester Mark 1. [5]
La construcción práctica de un ordenador de von Neumann dependía de la disponibilidad de un dispositivo de memoria adecuado. El Baby de la Universidad de Manchester , el primer ordenador electrónico con programa almacenado del mundo, había demostrado con éxito la viabilidad del enfoque del programa almacenado y del tubo Williams , una forma temprana de memoria de ordenador basada en un tubo de rayos catódicos (TRC) estándar, al ejecutar su primer programa el 21 de junio de 1948. [6] Los primeros ordenadores electrónicos se programaban generalmente recableándolos o mediante enchufes y paneles de conexión ; no había un programa separado almacenado en la memoria, como en un ordenador moderno. Podría llevar varios días reprogramar el ENIAC , por ejemplo. [7] Otros investigadores también estaban desarrollando ordenadores con programa almacenado, en particular el Pilot ACE del Laboratorio Nacional de Física , el EDSAC de la Universidad de Cambridge y el EDVAC del Ejército de los EE. UU . [8] El Baby y el Mark 1 se diferenciaban principalmente en el uso de tubos Williams como dispositivos de memoria, en lugar de líneas de retardo de mercurio . [9]
Desde aproximadamente agosto de 1948, el Baby fue desarrollado intensivamente como prototipo para el Manchester Mark 1, inicialmente con el objetivo de proporcionar a la universidad una instalación de computación más realista. [10] En octubre de 1948, el científico jefe del gobierno del Reino Unido, Ben Lockspeiser, recibió una demostración del prototipo Mark 1 durante una visita a la Universidad de Manchester. Lockspeiser quedó tan impresionado por lo que vio que inmediatamente inició un contrato gubernamental con la empresa local Ferranti para fabricar una versión comercial de la máquina, la Ferranti Mark 1. [11] En su carta a la empresa, fechada el 26 de octubre de 1948, Lockspeiser autorizó a la empresa a "proceder en las líneas que discutimos, es decir, construir una máquina calculadora electrónica según las instrucciones del profesor FC Williams". [12] A partir de ese momento, el desarrollo del Mark 1 tuvo el propósito adicional de proporcionar a Ferranti un diseño en el que basar su máquina comercial. [13] El contrato del gobierno con Ferranti duró cinco años a partir de noviembre de 1948, y supuso un coste estimado de 35.000 libras esterlinas al año (equivalente a 1,38 millones de libras esterlinas [14] al año en 2023). [15] [a]
El Baby había sido diseñado por el equipo de Frederic C. Williams , Tom Kilburn y Geoff Tootill . Para desarrollar el Mark 1 se les unieron dos estudiantes de investigación, D. B. G. Edwards y GE Thomas; el trabajo comenzó en serio en agosto de 1948. El proyecto pronto tuvo el doble propósito de proporcionar a Ferranti un diseño funcional en el que pudieran basar una máquina comercial, el Ferranti Mark 1, y de construir una computadora que permitiera a los investigadores ganar experiencia sobre cómo se podría usar una máquina de este tipo en la práctica. La primera de las dos versiones del Manchester Mark 1, conocida como la versión intermedia, estuvo operativa en abril de 1949. [10] Sin embargo, esta primera versión carecía de características como las instrucciones necesarias para transferir datos programáticamente entre el almacenamiento principal y su nuevo almacenamiento de respaldo magnético, lo que debía hacerse deteniendo la máquina e iniciando manualmente la transferencia. Estas características faltantes se incorporaron en la versión de especificación final, que estaba en pleno funcionamiento en octubre de 1949. [13] La máquina contenía 4.050 válvulas y tenía un consumo de energía de 25 kilovatios . [16] Para aumentar la confiabilidad, se utilizaron CRT especialmente diseñados por GEC en la máquina en lugar de los dispositivos estándar utilizados en el Baby. [1]
La longitud de palabra de 32 bits del Baby se incrementó a 40 bits . Cada palabra podía contener un número de 40 bits o dos instrucciones de programa de 20 bits. El almacenamiento principal inicialmente consistía en dos tubos Williams de doble densidad, cada uno con dos matrices de 32 palabras de 40 bits (conocidas como páginas ) respaldadas por un tambor magnético capaz de almacenar 32 páginas adicionales. La capacidad se incrementó en la versión de especificación final a ocho páginas de almacenamiento principal en cuatro tubos Williams y 128 páginas de tambor magnético de almacenamiento de respaldo. [17] El tambor de 12 pulgadas (300 mm) de diámetro, [18] inicialmente conocido como rueda magnética, contenía una serie de pistas magnéticas paralelas alrededor de su superficie, cada una con su propio cabezal de lectura/escritura. Cada pista contenía 2560 bits, correspondientes a dos páginas (2×32×40 bits). Una revolución del tambor tardaba 30 milisegundos , tiempo durante el cual ambas páginas podían transferirse a la memoria principal del CRT , aunque el tiempo real de transferencia de datos dependía de la latencia, el tiempo que tardaba una página en llegar al cabezal de lectura/escritura. Escribir páginas en el tambor tardaba aproximadamente el doble que leerlas. [13] La velocidad de rotación del tambor estaba sincronizada con el reloj del procesador central principal , lo que permitía agregar tambores adicionales. Los datos se grababan en el tambor utilizando una técnica de modulación de fase que todavía hoy se conoce como codificación Manchester . [19]
El conjunto de instrucciones de la máquina se incrementó de las 7 del Baby a 26 inicialmente, incluyendo la multiplicación realizada en hardware. Esto aumentó a 30 instrucciones en la versión de Especificación Final. Se asignaron diez bits de cada palabra para almacenar el código de instrucción . El tiempo de instrucción estándar era de 1,8 milisegundos, pero la multiplicación era mucho más lenta, dependiendo del tamaño del operando . [20]
La innovación más significativa de la máquina se considera generalmente como la incorporación de registros de índice , algo habitual en los ordenadores modernos. El Baby había incluido dos registros, implementados como tubos Williams: el acumulador (A) y el contador de programa (C). Como A y C ya habían sido asignados, el tubo que contenía los dos registros de índice, originalmente conocidos como líneas B, recibió el nombre de B. El contenido de los registros podía utilizarse para modificar las instrucciones del programa, lo que permitía una iteración cómoda a través de una matriz de números almacenados en la memoria. El Mark 1 también tenía un cuarto tubo, (M), para contener el multiplicando y el multiplicador para una operación de multiplicación. [19]
De los 20 bits asignados para cada instrucción de programa, 10 se usaban para almacenar el código de instrucción , lo que permitía 1.024 (2 10 ) instrucciones diferentes. La máquina tenía 26 inicialmente, [10] aumentando a 30 cuando se añadieron los códigos de función para controlar programáticamente la transferencia de datos entre el tambor magnético y el almacén principal del tubo de rayos catódicos (CRT). En la versión intermedia, los programas se introducían mediante interruptores de llave y la salida se mostraba como una serie de puntos y rayas en un tubo de rayos catódicos conocido como dispositivo de salida, al igual que en la Baby a partir de la cual se había desarrollado la Mark 1. Sin embargo, la máquina de especificación final, completada en octubre de 1949, se benefició de la adición de un teleimpresor con un lector de cinta de papel de cinco agujeros y perforador . [13]
El matemático Alan Turing , que había sido designado para el puesto nominal de subdirector del Laboratorio de Máquinas de Computación de la Universidad de Manchester en septiembre de 1948, [10] ideó un esquema de codificación de base 32 basado en el código de teleimpresora de 5 bits ITA2 estándar , que permitía escribir y leer programas y datos desde una cinta de papel. [21] El sistema ITA2 asigna cada uno de los 32 valores binarios posibles que se pueden representar en 5 bits (2 5 ) a un solo carácter. Así, "10010" representa "D", "10001" representa "Z", y así sucesivamente. Turing cambió solo algunas de las codificaciones estándar; por ejemplo, 00000 y 01000, que significan "sin efecto" y "salto de línea" en el código de teleimpresora, se representaban con los caracteres "/" y "@" respectivamente. El cero binario, representado por la barra diagonal, era el carácter más común en programas y datos, lo que daba lugar a secuencias escritas como "//////////////". Uno de los primeros usuarios sugirió que la elección de Turing de una barra diagonal era una elección subconsciente de su parte, una representación de la lluvia vista a través de una ventana sucia, que reflejaba el clima "famosamente deprimente" de Manchester. [22]
Como el Mark 1 tenía una longitud de palabra de 40 bits, se necesitaban ocho caracteres de teleimpresora de 5 bits para codificar cada palabra. Así, por ejemplo, la palabra binaria:
En la cinta de papel se representaba como ZDSLZWRF. El contenido de cualquier palabra almacenada también podía configurarse mediante el teclado del teleimpresor y enviarse a la impresora. La máquina funcionaba internamente en binario, pero era capaz de realizar las conversiones de decimal a binario y de binario a decimal necesarias para su entrada y salida respectivamente. [18]
No había un lenguaje ensamblador definido para el Mark 1. Los programas debían escribirse y enviarse en formato binario, codificados como ocho caracteres de 5 bits por cada palabra de 40 bits; se animaba a los programadores a memorizar el esquema de codificación ITA2 modificado para facilitar su trabajo. Los datos se leían y escribían desde la perforadora de cinta de papel bajo el control del programa. El Mark 1 no tenía un sistema de interrupciones de hardware ; el programa continuaba después de que se hubiera iniciado una operación de lectura o escritura hasta que se encontraba otra instrucción de entrada/salida, momento en el que la máquina esperaba a que se completara la primera. [23]
El Mark 1 no tenía sistema operativo ; su único software de sistema eran unas pocas rutinas básicas de entrada y salida. [1] Al igual que en el Baby del que se desarrolló, y en contraste con la convención matemática establecida, el almacenamiento de la máquina estaba organizado con los dígitos menos significativos a la izquierda; por lo tanto, un uno se representaba en cinco bits como "10000", en lugar del más convencional "00001". Los números negativos se representaban utilizando el complemento a dos , como la mayoría de las computadoras todavía lo hacen hoy. En esa representación, el valor del bit más significativo denota el signo de un número; los números positivos tienen un cero en esa posición y los números negativos un uno. [23] Por lo tanto, el rango de números que podían almacenarse en cada palabra de 40 bits era de −2 39 a +2 39 − 1 (decimal: -549.755.813.888 a +549.755.813.887).
El primer programa realista que se ejecutó en el Mark 1 fue una búsqueda de números primos de Mersenne , a principios de abril de 1949, [24] que se ejecutó sin errores durante nueve horas en la noche del 16 al 17 de junio de 1949.
El algoritmo fue especificado por Max Newman , director del Departamento de Matemáticas de la Universidad de Manchester , y el programa fue escrito por Kilburn y Tootill. Alan Turing escribió más tarde una versión optimizada del programa, denominada Mersenne Express. [19]
El Manchester Mark 1 continuó realizando trabajos matemáticos útiles hasta 1950, incluida una investigación de la hipótesis de Riemann y cálculos en óptica . [25] [26]
Tootill fue transferido temporalmente de la Universidad de Manchester a Ferranti en agosto de 1949, para continuar trabajando en el diseño del Ferranti Mark 1, y pasó cuatro meses trabajando con la compañía. [27] El Manchester Mark 1 fue desmantelado y desechado en agosto de 1950, [28] reemplazado unos meses después por el primer Ferranti Mark 1, la primera computadora de propósito general disponible comercialmente del mundo. [1]
Entre 1946 y 1949, el tamaño medio del equipo de diseño que trabajaba en el Mark 1 y su predecesor, el Baby, había sido de unas cuatro personas. Durante ese tiempo se sacaron 34 patentes basadas en el trabajo del equipo, ya sea por el Ministerio de Abastecimiento o por su sucesora, la Corporación Nacional de Investigación y Desarrollo . [2] En julio de 1949, IBM invitó a Williams a los Estados Unidos en un viaje con todos los gastos pagos para discutir el diseño del Mark 1. Posteriormente, la empresa licenció varias de las ideas patentadas desarrolladas para la máquina, incluido el tubo Williams, en el diseño de sus propios ordenadores 701 y 702. [29] El legado de diseño más significativo del Manchester Mark 1 fue quizás su incorporación de registros de índice, cuya patente se sacó a nombre de Williams, Kilburn, Tootill y Newman. [2]
Kilburn y Williams concluyeron que las computadoras se utilizarían más en funciones científicas que en matemáticas puras, y decidieron desarrollar una nueva máquina que incluiría una unidad de punto flotante . El trabajo comenzó en 1951, y la máquina resultante, que ejecutó su primer programa en mayo de 1954, se conoció como Meg, o la máquina de megaciclo. Era más pequeña y simple que la Mark 1, y mucho más rápida para problemas de matemáticas. Ferranti produjo una versión de Meg con los tubos Williams reemplazados por la memoria central más confiable , comercializada como Ferranti Mercury . [30]
El funcionamiento exitoso del Manchester Mark 1 y su predecesor, el Baby, fue ampliamente difundido en la prensa británica, que utilizó la frase "cerebro electrónico" para describir las máquinas. [31] Lord Louis Mountbatten había introducido anteriormente ese término en un discurso pronunciado en la Institución Británica de Ingenieros de Radio el 31 de octubre de 1946, en el que especuló sobre cómo podrían evolucionar los primitivos ordenadores disponibles en ese momento. [32] El entusiasmo que rodeó el informe en 1949 de lo que fue el primer ordenador reconociblemente moderno provocó una reacción inesperada por parte de sus desarrolladores; Sir Geoffrey Jefferson , profesor de neurocirugía en la Universidad de Manchester, cuando se le pidió que pronunciara el discurso Lister el 9 de junio de 1949 eligió "La mente del hombre mecánico" como tema. Su propósito era "desacreditar" el proyecto Manchester. [33] En su discurso dijo:
Hasta que una máquina no pueda escribir un soneto o componer un concierto gracias a los pensamientos y emociones que siente, y no por la caída fortuita de símbolos, no podremos aceptar que la máquina es igual al cerebro, es decir, no sólo escribirlo sino saber que lo ha escrito. Ninguna máquina podría sentir placer por su éxito, pena cuando sus válvulas se funden, sentirse reconfortada por los halagos, sentirse desdichada por sus errores, encantada por el sexo, enfadada o desdichada cuando no consigue lo que quiere. [33]
El Times informó sobre el discurso de Jefferson al día siguiente, añadiendo que Jefferson predijo que "nunca llegaría el día en que las elegantes salas de la Royal Society se convirtieran en garajes para albergar a estos nuevos miembros". Esto se interpretó como un desaire deliberado a Newman, que había conseguido una subvención de la sociedad para continuar el trabajo del equipo de Manchester. En respuesta, Newman escribió un artículo de seguimiento para The Times , en el que afirmaba que había una estrecha analogía entre la estructura del Mark 1 y el cerebro humano. [34] Su artículo incluía una entrevista con Turing, que añadía:
Esto es sólo un anticipo de lo que está por venir, y sólo la sombra de lo que va a ser. Tenemos que tener cierta experiencia con la máquina antes de conocer realmente sus capacidades. Puede que pasen años antes de que nos adaptemos a las nuevas posibilidades, pero no veo por qué no debería entrar en cualquiera de los campos normalmente cubiertos por el intelecto humano y, finalmente, competir en igualdad de condiciones. [35]
{{cite web}}
: Mantenimiento de CS1: otros ( enlace )