David Barron wrote:
>I've just been reading an article prompted by the recent death of Tom
>Kilburn (http://www.computer50.org/mark1/kilburn.html). I was struck by one
>of the observations:
>
>>At the same time Kilburn's team (helped by other members of the Electrical
>>Engineering staff) was exploring the capability of transistors. They
>>designed a cheap and simple computer using them, the ATransistor Computer.
>>This had no RAM, only a magnetic drum store, and had to resort to the same
>>device as the computers based on the mercury acoustic delay line,
>>of each instruction containing the address of the next instruction to
>>help overcome the inefficiencies due to lack of fast random-access store.
>
>I cut my programming teeth on EDSDAC 1, which had a mercury acoustic delay
>line store, but certainly didn't require each instruction to contain the
>address of its successor - it had a now-seen-as-conventional one-address
>order code.
>
>As I recall, the technique of incorporating the address of the next
>instruction in the current instruction was a characteristic of the IBM 650,
>which had a drum store. Indeed, as I recall further, one of the first major
>advances in software was the SOAP (Symbolic Optimisation and Assembly
>Program) assembler for the 650, which located instruction on the drum so
>that the address of the next instruction was (nearly) always optimal, thus
>making the three-address code useable.
>
>But old men forget. Have I got it wrong?
>
Well I can't comment on the IBM but I cut MY teeth on the Stantec
Zebra (followed by Edsac II with David as teacher) which had a drum
an NO OTHER store. It was optimal on that machine to have each
instruction refer to the one two after it because, by the time the
instruction at address A had been executed, the one at A+2 was just
under the drum's read head. This led to some interesting techniques
of interleaving instructions with data.
The Zebra was interesting for other reasons. It was horizontally
microprogrammed so that each bit of an instruction opened a gate. For
instance if the A bit was a 1, it connected the drum to the
arithmetic unit (a data fetch) and if zero, it connected the drum to
the control unit (an instruction fetch). Similarly the K bit
controlled whether the 'registers' connected to the arithmetic or
control unit. (The registers were duplicated all the way round
dedicated drum tracks thus making their value immediately available
at all times).
--
Tony Davie, Computer Science (Retrd.), St.Andrews University, North
Haugh, St.Andrews
Scotland, KY16 9SS, Tel: +44 1334 463276, Fax: +44 1334 463278
mailto:[log in to unmask] Home: http://www.dcs.st-and.ac.uk/~ad/Home.html
Handel Index and Chronology:
http://bruichladdich.dcs.st-and.ac.uk/HandelWWW/HandelCat.html
|