Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

[Phys-L] Engineering history: A code breaker as fast as a recent microcomputer.



this computer predates the ENIAC, claimed to be the first electronic
computer.

One reason for wanting to get Colossus working in 1996 was that for far
too long the Americans have got away with the myth that the ENIAC was
the first large-scale electronic digital calculator in the world. It was
not, but they got away with it because Colossus was kept secret until
the 1970s. As 1996 was the 50th anniversary of the switch-on of ENIAC I
made sure that Colossus was rebuilt and working in Bletchley Park, just
as it was in 1944.


The performance of Colossus

Colossus is not a stored-programme computer. It is hard-wired and
switch-programmed, just like ENIAC. Because of its parallel nature it is
very fast, even by today's standards. The intercepted message, punched
on to ordinary teleprinter paper tape, is read at 5,000 characters per
second. The sprocket holes down the middle of the tape are read to form
the clock for the whole machine. This avoids any synchronisation
problems: whatever the speed of the tape, that's the speed of Colossus.
Tommy Flowers once wound up the paper tape drive motor to see what
happened. At 9,600 characters per second the tape burst and flew all
over the room at 60 mph! It was decided that 5,000 cps was a safe speed.

At 5,000 cps the interval between sprocket holes is 200 microsecs. In
this time Colossus will do up to 100 Boolean calculations simultaneously
on each of the five tape channels and across a five character matrix.
The gate delay time is 1.2 microsecs which is quite remarkable for very
ordinary valves. It demonstrates the design skills of Tommy Flowers and
Allen Coombs who re-engineered most of the Mark 2 Colossus.

Colossus is so fast and parallel that a modern PC programmed to do the
same code-breaking task takes as long as Colossus to achieve a result!







The optical reader system

In order to break the Lorenz codes in a reasonable time the cipher text
had to be repeatedly scanned at very high speed. This meant at least
5,000 characters per second and in the 1942 this implied hard vacuum
photocells to optically read the holes in the paper tape. The smallest
photocells available were some developed for proximity fuses in anti
aircraft shells. Six of these in a row meant an optical projection
system to enlarge the image of the paper tape about 10 times. Dr Arnold
Lynch designed the paper tape reader and used slits cut into black card
to form a mask in front of the photocells.

The output from the data channels went to the staticiser and delta circuits.


The shift registers

These are the same circuits used as used on the delta boards, just
integrators sampled on the next sprocket pulse.

Up to 5 shift elements could be connected in cascade giving a 5 bit
shift register. This is thought to be the first recorded design or use
of a shift register. Some of the computational algorithms used this
window on previous data to improve the cross-correlation measurement.


Programming Colossus

Programming of the cross-correlation algorithm was achieved by a
combination of telephone jack-plugs, cords and switches. The main plug
panel was on the rack nearest to the paper tape reader. The direct and
delta signals from the paper tape reader and the K-wheel thyratron rings
were on this panel. The changeover from direct to delta could also be
achieved by switches. Also on the main plug panel were the input and
output sockets for the AND gates and the so called "Q" sockets which
took the calculated output to the main switch panel on the next rack to
the left. This very large switch panel allowed signals to be combined
through further logic gates and the results switched to any of the five
result counters.




http://www.codesandciphers.org.uk/lorenz/index.htm
_______________________________________________
Phys-L mailing list
Phys-L@electron.physics.buffalo.edu
https://www.physics.buffalo.edu/mailman/listinfo/phys-l