Computers I Have Known
by John Marchant (aka Gnome)
Evenin' all. Thought it might amuse a few readers if I relate some memories of computers I have known. The first one I met, and was properly introduced to was 'PEGASUS', built by Ferranti Ltd. before they amalgamated with I.C.T. (International Computers and Tabulators); later I.C.L.
This particular Pegasus was at the Cranfield Institute of Technology, and I knew two of the senior maths staff there, so I had a chance to see it. In fact I had a chance to write a short program for it in Autocode - a sort of algebraic assembler. But more of this later.
The date was round about 1960-ish, and I was shown into the computer room to see 'the Beast'. The room was about 12 by 10ft, with the computer in the middle in T formation. The leg of the T was the cabinets and racking for the processor. The cross-bar was the control station. On a desk was a teleprinter, a tape reader and a tape punch. On racking behind were two circular screens like oscilloscopes - which I think they were. On these were a number of traces flickering continually. I was told each little flicker was a "bit", and somebody mentioned "words". I don't think bytes were invented then. Later on IBM brought in bytes, buckets etc. and of course ICT didn't want to know, at first. When they had to, they changed to their own definition of a bucket, presumably out of spite... but I digress.
Then there was a control panel with lots of switches, mainly used I think, for changing what was shown on those CRO tubes. The exciting feature was that you were actually "seeing what went on inside its brain"! Fantastic.
Of course this machine had to be fed. While this was mentioned, as if the beast wanted to remind us it was hungry, it made a sort of chicken-run noise and squirted out some punched tape. I was told this was its "party piece" which it did if not used for a certain length of time. "Why?" I asked. "To show that it's still working" was the answer.
Feeding it involved typing your program on the teleprinter, which punched the tape. Then the tape was offered, in a sort of feeding-trough which some readers will remember, to the "high-speed tape reader". Wish I could quote figures, but my notes are no longer in existence. Certainly the tape went through the reader quite sharpish, and shot out in whorls into a steel bin. A long program could involve a lot of tape: maybe half a mile or so of it.
There was no on-line printing. To get hard copy, you took the output punched tape and fed it to the teleprinter.
You had to be pretty advanced to know about output. The first hurdle was to get your program and data accepted by the computer. Anyone of an excitable nature was discouraged from hanging around. "Come back in three hours' time, and I'll let you know if there's any output." I gather that if there was, you had a little celebration, and the resident engineer baked a cake.
If there was "no output today old chap" you prayed for output through the night. (A bit like taking cascara). For at 9am each day the resident engineer switched the beast off for daily maintenance.
Daily maintenance involved opening little doors, and pulling at lots of plastic handles. As you pulled them, circuit-boards came out on slides. I was shown a few: some had 3 or 4 valves - radio valves they were: albeit extra special quality. Long-Life so to speak. Some had fewer valves, and a spiral of springy nickel wire. These were delay-lines - memory registers capable of handling 2 or 3 words I think. The wire was tweaked by a magnetic thingie at one end - a tweak for each bit. The vibrations travelled at the speed of sound down the wire and were picked up the other end by a tweak-detector, a sort of glorified gramophone pickup. A word in this register became available each time it reached the end of the wire. If not yet wanted, it would be amplified and re-circulated in the same register.
Having removed a certain proportion of these boards each morning, the engineer replaced them with others from his workshop (on the premises of course). He then spent the rest of the maintenance hour doing tests. It was not unusual for the machine to fail such tests. If so, finding the fault or faults could take an indefinite time. But a good engineer would have it running again before mid-day. The rest of the day he tested the boards he had removed, and replaced any valves which looked as if they were going soggy. It was a highly skilled job.
There was a story of a programmer, working on an engineering design job, who liked to find a quiet corner in which to work. He found a cupboard in the side of the computer itself, where there was a bench, a light, a stool and an engineer's test panel with dials. One day the University Chancellor was being shown round the computing dept. "And this," said the professor, pulling open the little door, "is where the actual calculations are done." Inside was the programmer with pages of figures on the bench, peering at his slide-rule, and scratching his head in a puzzled way. But there were no little rooms inside Pegasus.
Pegasus had a magnetic drum store of 8192 words capacity (in later models). Arithmetic was fixed-point binary with a word-length of 39 bits allowing 11 decimal places. It had a stable-mate SIRIUS with rather more facilities and working in decimal.
If any reader remembers Pegasus, I hope I'm forgiven for embroidering my story a little. It's mostly fact but memory plays tricks.
I promised you a little on the autocode used for programming. I expect there was machine-code programming, probably in octal, but no high-level languages. The following program 'fragment' calculates 8x-2y, from values on a data tape. Two kinds of number are recognised, variables (v) and indices (n). (I've added the comments).
; Two variables v1, v2 to be v1=TAPE 2 ; input from tape (our x,y). v3=8 ; _ Defines v3,v4 v4=2 v3=v3xv1 ; _ v3 is now 8x v4=v4xv2 ; _ v4 = 2y v5=v3-v4 PRINT v5,3080 ; 3080 is a 'style' code STOP ; which includes decimal places etc.
PRINT in fact means "punch to tape".
Labels and jumps were available, but a program usually looked like some pages of rather odd algebraic working.
Text handling was rudimentary in the extreme. In fact there was one input code which meant "copy the following to output". This way you could actually produce columns of results under text headings (if you got your PRINT styles right). No way could Pegasus accept text into its processor - nothing so coarse! It was designed for number-crunching and did this very well (usually). I believe its brother, Sirius, could handle text to a limited extent.