Fuente techrepublic.
Las máquinas Colossus fueron los primeros dispositivos calculadores electronicos usados por los británicos para leer las comunicaciones cifradas alemanas durante la Segunda Guerra Mundial. Colossus fue uno de los primeros computadores digitales.
La máquina Colossus fue diseñada originalmente por Tommy Flowers en la Post Office Research Station (Estación de Investigación de la Oficina Postal), Dollis Hill. El prototipo, Colossus Mark I, entró en funcionamiento en Bletchley Park desde febrero de 1944. Una versión mejorada, el Colossus Mark II se instaló en junio de 1944, y se llegaron a construir unos diez Colossus hasta el final de la guerra.
Las máquinas Colossus se usaron para descifrar los mensajes cifrados, que se interceptaban de las comunicaciones de la Alemania Nazi, usando la máquina Lorenz SZ40/42. Colossus comparaba dos flujos de datos, contando cada coincidencia basada en una función programable booleana. El mensaje cifrado se leía a gran velocidad a través de una cinta de papel. El otro flujo de datos era generado internamente, y era una simulación electrónica de la máquina de Lorenz en varias combinaciones. Si el número de coincidencias para una combinación era superior a una cierta cantidad, la salida era escrita en una máquina de escribir eléctrica.
Propósito y orígenes
Las computadoras Colossus se usaron en el criptoanálisis para las comunicaciones de alto nivel alemanas, mensajes que habían sido cifrados usando la máquina Lorenz SZ 40/42. Parte de la operación Colossus era emular electrónicamente la máquina mecánica de Lorenz. Para cifrar un mensaje con la máquina de Lorenz, el texto plano se combinaba con un flujo de BITs clave, en grupos de cinco. El flujo clave se generaba usando doce ruedas: cinco fueron clasificadas (por los británicos) como ruedas χ («Χ»), otras cinco como ψ («Ψ»), y las dos restantes como «ruedas motoras». Las ruedas χ rotaban regularmente con cada letra que se cifraba, mientras que las ruedas ψ rotaban irregularmente, controladas por las ruedas motoras.
Bill Tutte, un criptoanalista de Bletchley Park, descubrió que los flujos de claves producidos por la máquina mostraban una predisposición a una desviación estadística de lo aleatorio, y que esas predisposiciones podían ser usadas para romper el cifrado y leer los mensajes. Para poder leer los mensajes, había dos tareas que debían realizarse. La primera de las tareas era romper con las ruedas (wheel breaking), que consistía en descubrir los patrones de los dientes para todas las ruedas. Estos patrones se establecían una vez en la máquina de Lorenz y después se usaban durante un periodo de tiempo establecido y para un número de mensajes diferentes. La segunda tarea consistía en establecer las ruedas (wheel setting), que podía realizarse una vez que se conocía los patrones de los dientes. Cada mensaje cifrado usando la máquina de Lorenz, se codificaba con posición inicial de las ruedas diferente. El proceso de establecer las ruedas encontraba la posición inicial de las ruedas para un mensaje dado. Inicialmente Colossus se usó para ayudar a averiguar la posición inicial de las ruedas, después se demostró que la máquina podía ser adaptada también para el proceso de romper las ruedas.
Colossus era operado en la Newmanry, la sección de Bletchley Park responsable de los métodos mecánicos contra la máquina de Lorenz, liderada por el matemático Max Newman.
Colossus se desarrolló debido a un proyecto anterior que produjo una máquina comparadora opto-mecánica llamada «Heath Robinson». El mayor problema de la máquina Robinson era la sincronización de dos cintas perforadas, una perforada con el mensaje cifrado y la otra representando los patrones producidos por las ruedas de la máquina de Lorenz, pero cuando se tenía que leer a una velocidad de más de 1000 caracteres por segundo, resultaba en una infinidad de cálculos. Colossus solucionó el problema reproduciendo electrónicamente una de las cintas. La otra cinta se podía introducir en Colossus a mayor velocidad y podía ser contada con mucha mayor fiabilidad.
La construcción de Colossus
Un equipo liderado por Tommy Flowers dedicó diez meses (desde principios de febrero hasta principios de diciembre de 1943) diseñando y construyendo la computadora Colossus en la Post Office Research Station, Dollis Hill, al noroeste de Londres. Después de una prueba funcional el 8 de diciembre de 1943, la máquina fue desmontada y enviada al norte de Bletchley Park, después fue montada en el bloque F en las navidades de 1943. La Mark 1 tuvo éxito en su primera prueba con un mensaje real cifrado en enero de 1944. [1] Fue seguido de nueve máquinas Colossus Mark 2, la primera de ellas se instaló en junio de 1944 mientras que la Mark I original fue convertida a Mark 2. La máquina Colossus número once se terminó justo al final de la guerra.
La máquina Colossus Mark I tenía 1.500 válvulas electrónicas. La Colossus Mark 2, con 2.400 válvulas, era 5 veces más rápida y más fácil de operar que la Mark I: ambas características aumentaron considerablemente el proceso de decodificación. La Mark 2 se diseñaba mientras la Mark I era construida. En comparación, otras computadoras como la ENIAC de 1946 usaba 17.468 válvulas y la Manchester Mark I de 1949 usó alrededor de 4.200.
Colossus contaba con la segunda cinta diseñada para la máquina Robinson que generaba los patrones electrónicamente y procesaba 5.000 caracteres por segundo con la cinta de papel circulando a 12 metros por segundo. Los circuitos eran sincronizados por una señal de reloj, generada por las perforaciones de la cinta. La velocidad de cálculo estaba limitada por los mecanismos del lector de la cinta. El diseñador Tommy Flowers testeó el lector de cinta hasta los 9.700 caracteres por segundo antes de que la cinta se desintegrase. Él configuró 5.000 caracteres por segundo como la velocidad más deseable para un funcionamiento óptimo. Algunas veces, dos o más Colossus probaron diferentes combinaciones de trabajo simultáneo, lo que ahora se denomina computación paralela, aumentando notablemente el proceso de decodificación.
Colossus incorporaba por primera vez el uso de registros lineales y arrays sistólicas, permitiendo cinco tests simultáneos, implicando más de 100 cálculos booleanos, en cada uno de los cinco canales de la cinta perforada (no obstante, en funcionamiento normal, sólo uno ó dos canales eran examinados en cada ejecución).
Inicialmente Colossus se usaba solamente para determinar las posiciones iniciales de las ruedas para un mensaje concreto (denominado posición de rueda). El Mark 2 incluida mecanismos para ayudar a determinar los patrones de los dientes de las ruedas (rotura de rueda). Ambos modelos eran programables usando interruptores y paneles acoplados que la máquina Robinsons no tenía.
Diseño y operado
Colossus usaba unos tubos de vacío (válvulas termoiónicas), tiratrones y fotomultiplicadores para leer de forma óptica una cinta de papel y después aplicar una función lógica programable a cada carácter, contando cuántas veces la función devolvía «verdadero». Aunque se sabía que las máquinas con muchas válvulas eran propensas a altas tasas de averías, también se reconocía que las averías de las válvulas solían ocurrir al encender la máquina, de tal forma que las máquinas Colossus, una vez encendidas, nunca se apagaban a no ser que comenzasen a funcionar de forma incorrecta.
Colossus fue la primera de las máquinas digitales en incorporar una limitada programabilidad. No obstante no era una computadora de propósito general, no siendo turing completa, aunque las Colossus se basaban en la definición de Alan Turing y éste trabajó en Bletchley Park, donde las Colossus fueron operadas. En aquella época no era tan importante que las máquinas fuesen Turing-completas, la mayoría del resto de las primeras máquinas computacionales tampoco lo eran, como por ejemplo la Computadora de Atanasoff-Berry, Harvard Mark I la primera máquina electromecánica, las máquinas de relés de los Laboratorios Bell (de George Stibitz et al), los primeros diseños de Konrad Zuse y demás. La noción de una computadora como una máquina de propósito general, y no como una gran calculadora dedicada a resolver problemas difíciles pero singulares, no se destacó hasta unos años después.
Colossus fue precedido por una serie de computadoras, la mayor parte de ellas las primeras de su categoría. Zuse Z3 fue la primera computadora completamente programable funcional, y estaba basada en relés electromecánicos, igual que (las menos avanzadas) máquinas de Bell Labs a finales de la década de 1930 (George Stibitz, et al). El ABC Computer era electrónico y binario (digital), pero no programable. Las computadoras indicadas eran semiprogramables; algunas fueron construidas mucho antes de la década de los años 30 del siglo XX (eg, Vannevar Bush). Anterior a estas, está la máquina analitica de Babbage (en la mitad del siglo XIX), que era digital y programable, pero nunca fue construida totalmente y nunca funcionó realmente (una réplica de esta máquina diferencial fue construida en 1991, y funciona). Colossus fue la primera máquina que combinaba su funcionamiento digital, parcialmente programable y electrónica.
Características de los primeros computadores
Influencia y destino
El uso al que Colossus fue destinado y su propia construcción fue uno de los mayores secretos, y siguió así por muchos años después de la Segunda Guerra Mundial. Así, Colossus no fue incluido en la historia del hardware de computador durante muchos años, y Flowers y sus asociados fueron privados del reconocimiento debido.
Poco conocido es que tuvo alguna influencia directa en el desarrollo de posteriores computadoras; EDVAC fue el primer diseño que tuvo más influencia en subsecuentes arquitecturas de futuras computadoras.
Reconstrucción
Una réplica del Colossus Mark II se comenzó a construir por un equipo liderado por Tony Sale. La reconstrucción se puede ver en el museo de Bletchley Park en Milton Keynes, Buckinghamshire.
Fuente. http://es.wikipedia.org/wiki/Colossus