Pegasus: Difference between revisions

From Computer History Wiki
Jump to navigationJump to search
Get rid of another red link
 
Improve description of memories; add drum specs
 
Line 9: Line 9:
==Technical details==
==Technical details==


As mentioned, the machine was built out of vacuum tubes; [[register]]s and fast [[main memory]] were nickel [[delay line]]s (since the speed of sound in nickel did not vary so much with temperature, it was easier to work with than the then-much-used mercury - in addition to being cheaper). The machine also included a [[fixed-head disk|fixed-head]] [[drum]], with single-[[word]] and 'block' transfers available; [[sector interleaving|interleaving]] was used on the drum, to prevent large variances in access times.
As mentioned, the machine was built out of vacuum tubes; the [[general register]]s and [[main memory]] (termed 'computing store') were nickel [[delay line]]s (since the speed of sound in nickel did not vary so much with temperature as in the then-much-used mercury, it was easier to work with - in addition to being cheaper). The main memory lines each held one [[word]]; i.e. [[random access]] to it incurred no [[access time]] delay.


Implementation made heavy use of standard [[hardware module]]s (called 'packages'), intended to ease maintenance. The modules, produced in a limited number of types, made use of [[printed circuit board]]s; both were on cost grounds. (A Pegasus contained 444 modules, of only 20 types; the [[Central Processing Unit|CPU]] contained 314, of only 5 types.) Much use was made of [[parity]], to enhance reliability; [[margining]] was also used.
The machine also included a [[fixed-head disk|fixed-head]] [[drum]] (termed the 'main store'), to which single-word and 'block' multi-word transfers were available; [[instruction]]s, however, could only be [[fetch]]ed and [[execute]]d from the computing store. [[Sector interleaving|Interleaving]] was used on the drum, to prevent large variances in access times.
 
Implementation made heavy use of standard [[hardware module]]s (called 'packages'), intended to ease maintenance. The modules, produced in a limited number of types, made use of [[printed circuit board]]s; both were on cost grounds. (A Pegasus contained 444 modules, of only 20 types; the [[Central Processing Unit|CPU]] contained 314, of only 5 types.) Much use was made of [[parity]], to enhance reliability; [[margin]]ing was also used.


It was a [[serial computer]], with a [[clock]] rate of 3 μseconds/[[bit]]; its primary architectural attributes were:
It was a [[serial computer]], with a [[clock]] rate of 3 μseconds/[[bit]]; its primary architectural attributes were:


* word length was 39 bits;
* word length was 39 bits;
* there were 8 [[general register]]s ('sort of' 8; the 8th could not be written, and always read as 0); all 7 of the working ones could be used as [[index register]]s;
* integers use [[one's complement]] for negative numbers;
* it had 19-bit [[instruction]]s, stored two per word, with a stop/go bit in the extra bit;
* there is no [[hardware]] support for [[floating point]];
* there were 8 general registers ('sort of' 8; the 8th could not be written, and always read as 0); all 7 of the working ones could be used as [[index register]]s;
* it had 19-bit instructions, stored two per word, with a stop/go bit in the extra bit;
* it had 49 [[operation code]]s;
* it had 49 [[operation code]]s;
* instructions contained a 6-bit op-code, a 3-bit register selection, a 3-bit index register number, and a 7-bit memory [[address]] or constant;  
* instructions contained a 6-bit op-code, a 3-bit register selection, a 3-bit index register number, and a 7-bit memory [[address]] or constant;  
* the fast main memory was only 56 words in size; the drum held 5120 words;
* the main memory was only 48 words in size; the drum held 5120 words;
* the basic instruction time was 315 μseconds.
* the basic instruction time was 315 μseconds;
* the drum rotated at 3720 RPM (roughly 16 milliseconds per rotation);
* each [[track]] was 128 words long.


''Note: There are some inconsistencies between sources as to a few of the details; take everything here with a grain of salt!''
''Note: There are some inconsistencies between sources as to a few of the details; take everything here with a grain of salt!''


The fast main memory and drum were both divided into 8-word 'blocks'; provision was made for the transfer of blocks back and forth between the two. The drum was divided into a 4,096 word read/write area; a write-protected 512 word area which held a [[bootstrap]]; and another write-protected 512 word area for [[diagnostic]]s.
The main memory and drum were both divided into 8-word 'blocks' (6 of these in the main memory); provision was made for the transfer of blocks back and forth between the two. (The programmer, for [[program]]s longer than 6 blocks, thus had to explicitly transfer blocks of the program between the main memory and the drum, as needed.) The drum was divided into a 4,096 word read/write area; a write-protected 512 word area which held a [[bootstrap]]; and another write-protected 512 word area for [[diagnostic]]s.


The Pegasus was apparently the first machine in the world to have a large set of registers (now a standard concept). The [[arithmetic logic unit|ALU]] of the Pegasus is named the "mill" in original Pegasus documentation - the same term as used by [[Charles Babbage|Babbage]] for this function!
The Pegasus was apparently the first machine in the world to have a set of general registers (now a standard concept). The [[arithmetic logic unit|ALU]] of the Pegasus is named the "mill" in original Pegasus documentation - the same term as used by [[Charles Babbage|Babbage]] for this function!


There were two models of the machine ('Pegasus 1' and 'Pegasus 2'); they differed principally in the size of the memories (particularly the drum), and in the richness of the available [[input/output|I/O]] device suite.
There were two models of the machine ('Pegasus 1' and 'Pegasus 2'); they differed principally in the size of the memories (particularly the drum), and in the richness of the available [[input/output|I/O]] device suite.

Latest revision as of 10:44, 29 September 2026

The Pegasus was a fairly early computer produced by Ferranti. The basic concept was to produce a machine that was economical, reliable, and easy to repair when it failed (which happened a fair amount, as it was built out of vacuum tubes, and, lke all such, had only a moderate MTBF).

Work on what was to become the Pegasus actually started at Elliott Brothers in April 1952; after changes at Elliotts led to the departure of key personnel, some to eventually move to Ferranti, work started there (at a facility near London; their unit near Manchester was then focused on the higher-performance Mercury) in November, 1953.

The first machine was operational by October, 1955. A total of 40 were produced; the last one was completed in October, 1962.

The Pegasus was noted for the involvement of Christopher Strachey in the design; he, along with others, argued against the use of optimum programming for the machine (as used in the Elliott Brothers machine), on the grounds that it diverted programmers into worrying about very local optimizations, etc. He felt it was more important to produce a machine that was easy to use; a goal which it was agreed the Pegasus met.

Technical details

As mentioned, the machine was built out of vacuum tubes; the general registers and main memory (termed 'computing store') were nickel delay lines (since the speed of sound in nickel did not vary so much with temperature as in the then-much-used mercury, it was easier to work with - in addition to being cheaper). The main memory lines each held one word; i.e. random access to it incurred no access time delay.

The machine also included a fixed-head drum (termed the 'main store'), to which single-word and 'block' multi-word transfers were available; instructions, however, could only be fetched and executed from the computing store. Interleaving was used on the drum, to prevent large variances in access times.

Implementation made heavy use of standard hardware modules (called 'packages'), intended to ease maintenance. The modules, produced in a limited number of types, made use of printed circuit boards; both were on cost grounds. (A Pegasus contained 444 modules, of only 20 types; the CPU contained 314, of only 5 types.) Much use was made of parity, to enhance reliability; margining was also used.

It was a serial computer, with a clock rate of 3 μseconds/bit; its primary architectural attributes were:

  • word length was 39 bits;
  • integers use one's complement for negative numbers;
  • there is no hardware support for floating point;
  • there were 8 general registers ('sort of' 8; the 8th could not be written, and always read as 0); all 7 of the working ones could be used as index registers;
  • it had 19-bit instructions, stored two per word, with a stop/go bit in the extra bit;
  • it had 49 operation codes;
  • instructions contained a 6-bit op-code, a 3-bit register selection, a 3-bit index register number, and a 7-bit memory address or constant;
  • the main memory was only 48 words in size; the drum held 5120 words;
  • the basic instruction time was 315 μseconds;
  • the drum rotated at 3720 RPM (roughly 16 milliseconds per rotation);
  • each track was 128 words long.

Note: There are some inconsistencies between sources as to a few of the details; take everything here with a grain of salt!

The main memory and drum were both divided into 8-word 'blocks' (6 of these in the main memory); provision was made for the transfer of blocks back and forth between the two. (The programmer, for programs longer than 6 blocks, thus had to explicitly transfer blocks of the program between the main memory and the drum, as needed.) The drum was divided into a 4,096 word read/write area; a write-protected 512 word area which held a bootstrap; and another write-protected 512 word area for diagnostics.

The Pegasus was apparently the first machine in the world to have a set of general registers (now a standard concept). The ALU of the Pegasus is named the "mill" in original Pegasus documentation - the same term as used by Babbage for this function!

There were two models of the machine ('Pegasus 1' and 'Pegasus 2'); they differed principally in the size of the memories (particularly the drum), and in the richness of the available I/O device suite.

Further reading

  • Hugh McGregor Ross, Pegasus: The Early Seminal Computer, Bright Pen, Sandy, 2012 - the author was one of the engineers who built Pegasus; also contains re-prints of papers about Pegasus, and information on descendants
  • Simon H. Lavington, The Pegasus Story: A History of a Vintage British Computer, Science Museum, London, 2000
  • Simon H. Lavington, Early Computing in Britain: Ferranti Ltd. and Government Funding, 1948-1958, Springer Nature, Cham, 2019 - covers the environment in which the Pegasus was produced in some detail
  • Simon H. Lavington, Early British Computers: The Story of Vintage Computers and the People Who Built Them, Manchester University, Manchester, Digital Press, Bedford, 1980
  • John F. Wilson, Ferranti: A History - Volume I: Building a Family Business, 1882–1975, Carnegie Publishing, Lancaster, 2001 - not much technical content, but does cover the organizational context
  • John Hendry, Innovating for Failure: Government Policy and the Early British Computer Industry, MIT Press, Cambridge, 1990 - covers the background at Eliotts in Chapter 7; the Pegasus appears in Chapter 8

External links