English Electric KDF9

English Electric KDF9

KDF9 was an early British computer designed and built by English Electric, later English Electric Leo Marconi, EELM, later still incorporated into ICL. It first came into service in 1964 and was still in use in 1980 in at least one installation. The present article presents a synoptic overview of the architecture of the KDF9; for a more complete account, see ‘The Architecture of the KDF9 Computer’, and ‘KDF9 Usercode Programming Manual’, at the links below.

Architecture

The logic circuits of the KDF9 were entirely solid-state. The KDF9 used transformer-coupled diode-transistor logic, built from germanium diodes, about 20,000 transistors, and about 2,000 toroid pulse transformers [ [http://www.cs.man.ac.uk/CCS/res/res18.htm#c "The KDF9 Computer - 30 Years On"] ] . They ran on a 1 MHz two-phase clock. The maximum configuration incorporated 32K words of 48-bit core storage (192K bytes) with a cycle time of 6 microseconds. Each word could hold a 48-bit integer or floating-point number, two 24-bit integer or floating-point numbers, six 8-bit instruction "syllables", or eight 6-bit characters. There was also provision for efficient handling of double-word, 96-bit, numbers in both integer and floating point formats. However, there was no facility for byte or character addressing, so that non-numerical work suffered by comparison. Moreover, there was no standard character set. Each I/O device type had its own more or less similar character code. Not every character that could be read from paper tape could be successfully printed, for example.

Registers

The CPU architecture featured three register sets. The "Nest" was a 16-deep pushdown stack of arithmetic registers, The "SJNS" (Subroutine Jump Nesting Store) was a similar stack of return addresses. The "Q Store" was a set of 16 index registers, each of 48 bits divided into "Counter" (C), "Increment" (I) and "Modifier" (M) parts of 16 bits each. Flags on a memory-reference instruction specified whether the address should be modified by the M part of a Q Store, and, if so, whether the C part should be decremented by 1 and the M part incremented by the contents of the I part. This made the coding of counting loops very efficient.

Instruction set

Instructions were of 1, 2 or 3 syllables. Most arithmetic took place at the top of the Nest and used "zero-address", 1-syllable instructions, although address arithmetic and index updating were handled separately in the Q store. Q Store handling, and some memory reference instructions, used 2 syllables. Memory reference instructions with a 16-bit address offset, most jump instructions, and 16-bit literal load instructions, all used 3 syllables.

Dense instruction coding, and extensive use of the register sets, meant that relatively few store accesses were needed for common scientific codes, such as scalar product and polynomial inner loops. This did much to offset the relatively slow core cycle time, giving the KDF9 about a half of the speed of its more famous, but much more expensive and much less commercially successful contemporary, the Manchester/Ferranti Atlas Computer.

Multiprogramming (Timesharing)

The KDF9 was one of the earliest fully hardware-secured multiprogramming systems. Up to four programs could be run at once under the control of its elegantly simple operating system, the "Timesharing Director", each being locked into its own core area by BA (Base Address) and NOL (Number of Locations) registers. Each program had its own sets of stack and Q store registers, which were activated when that program was dispatched, so that context switching was very efficient. Each program could drive hardware I/O devices directly, but was limited by hardware checks to those that the Director had allocated to it. Any attempt to use an unallocated device caused an error interrupt. A similar interrupt resulted from overfilling or (over-emptying) the Nest or SJNS, or attempting to access storage at an address above that given in the NOL register. Somewhat different was the Lock-Out interrupt, which resulted from trying to access an area of store that was currently being used by an I/O device, so that there was hardware mutual exclusion of access to DMA buffers. When a program blocked on a Lock-Out, or by voluntarily waiting for an I/O transfer to terminate, it was interrupted and Director switched to the program of highest priority that was not itself blocked. When a Lock-Out cleared, or an awaited transfer terminated, and the newly unblocked program was of higher priority than the program currently running, an interrupt to Director allowed for an immediate context switch.

Later operating systems, including Eldon at the University of Leeds, and Egdon/COTAN, developed by a collaboration of Culham Laboratories, the University of Glasgow, and others, were fully interactive multi-access systems, usually with PDP-8 front ends to handle the terminals.

The Kidsgrove and Whetstone Algol 60 compilers were among the first of their class. The Kidsgrove compiler stressed optimization; the Whetstone compiler produced an interpretive object code aimed at debugging. It was by instrumenting the latter that Brian Wichmann obtained the statistics on program behaviour that led him to devise the Whetstone benchmark for scientific computation, which inspired in turn the Dhrystone benchmark for non-numerical workloads.

Reminiscence

Machine code programming used an unusual form of octal, known locally as 'bastardised octal'. It represented 8 bits with three octal digits but the first represented only two bits, whilst the others, the usual three.

Within English Electric, its predecessor, DEUCE, had a well-used matrix package. The unreliability of valve machines led to the inclusion of a sum-check mechanism to detect single errors in matrix operations. The package used fixed-point arithmetic, in which the sum-checks were precise. However, when the corresponding package was implemented on KDF9, it used floating point, a new concept that had only limited mathematical analysis. It quickly became clear that sum checks were no longer precise and a project was established in an attempt to provide a usable check. (In floating point (A+B)+C is not necessarily the same as A+(B+C) i.e. the + operation is not associative.) Before long, however, it was recognised that error rates with transistor machines was not an issue - they either worked or did not! Consequently the idea of sum checks was abandoned. The initial matrix package proved a very useful system testing tool as it was able to generate lengthy performance checks well before more formal test packages which were subsequently developed.

Legend has it that the KDF9 was developed as project KD9 (Kidsgrove Development 9) and that the 'F' in its designation was contributed by the then Chairman after a long and tedious discussion on what to name the machine at launch - "I don't care if you call it the .......". (See also KDF8 for the parallel development and use of a Commercially-oriented computer.)

The Egdon operating system was so named because one was going to UKAEA Winfrith: in Thomas Hardy's book "The Return of the Native" Winfrith Heath is called Egdon Heath. Their Fortran was called Egtran. Eldon was so named because Leeds University's computer was located in a converted Eldon chapel.

During the "foot and mouth" trauma of 1968 the Grand National was run on English Electric's Bureau KDF9 in Hartree House, Queensway, London with Raymond Glendinning leaning over the back of the line printer, reading the printout to the world of BBC radio!

External links

* [http://www.findlayw.plus.com/KDF9/KDF9%20Lectures%20by%20JWP.pdf The Architecture of the KDF9 Computer] (pdf)
* [http://frink.ucg.ie/~bfoley/edhist/kdf9pm/kdf9pm.html KDF9 Usercode Programming Manual]
* [http://www.cs.ncl.ac.uk/research/pubs/articles/papers/427.pdf History of KDF9 Algol compiler]
* [http://www.cs.ncl.ac.uk/research/pubs/books/papers/124.pdf The Whetstone KDF9 Algol Translator]
* [http://www.cs.ncl.ac.uk/research/pubs/trNN/papers/38.pdf Whetstone compiler, 1962] (pdf)
* [http://www.cs.man.ac.uk/CCS/res/res04.htm#d Some KDF9 Algol compiler anecdotes]
* [http://www.cs.ncl.ac.uk/research/pubs/trNN/papers/34.pdf Presentation on KDF9 Algol on visit from Dijkstra]
* [http://homepages.cwi.nl/~dik/english/codes/8tape.html#kdf KDF9 8-level papertape format]
* [http://themotionstore.com/leeedavison/kdf9/ KDF9 Nest] (images)
* [http://history.dcs.ed.ac.uk/archive/languages/atlas-autocode/imp9.imp.txt Source Code for KDF9 port of Atlas Autocode compiler]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • English Electric KDF8 — KDF8 was an early British computer designed and built by English Electric, later English Electric Leo Marconi, EELM, later still incorporated into ICL. Background During the late 1950s English Electric embarked on two major computer projects.… …   Wikipedia

  • English Electric — Infobox Defunct Company company name = English Electric company fate = Acquired by GEC foundation = 1918 defunct = 1968 location = Lancashire headquartered at Strand, London successor = BAC GEC ICL subsid= Napier Son (1942 ) The Marconi Company… …   Wikipedia

  • Zero address arithmetic — is a feature of a few innovative computer architectures, whereby the assignment to a physical address space is deferred until programming statement execution time. It eliminates the link step of conventional compile and link architectures. All… …   Wikipedia

  • Met Office — UKMET redirects here. For the model, see Unified Model. Met Office Current logo, as of 2009 Agency overview Formed 1854 Jurisdiction …   Wikipedia

  • Bruce Dalling — (16 August 1938 7 July 2008) was a Springbok South African yachtsman, national heroFact|date=July 2008, also advocate and farmer, best known for taking second place on elapsed time and first on corrected time for the monohull award in the 1968… …   Wikipedia

  • Atlas Autocode — (AA) was a programming language developed around 1965 at Manchester University for the Atlas Computer. It was developed by Tony Brooker and Derrick Morris as an improvement on the ALGOL programming languages, removing some of Algol s poorer… …   Wikipedia

  • Single-Handed Trans-Atlantic Race — The Single handed Trans Atlantic Race, or STAR, is an east to west yacht race across the North Atlantic. When inaugurated in 1960, it was the first single handed ocean yacht race; it is run from Plymouth to the USA, and is held every four years.… …   Wikipedia

  • Met Office — Para el modelo UKMET, ver: Modelo de previsión de ciclones tropicales Met Office 140px logo corriente, 2009 Información Fundación 1854 Jurisdicció …   Wikipedia Español

  • ALGOL — This article is about the programming language family. For other uses, see Algol (disambiguation). ALGOL Paradigm(s) procedural, imperative, structured Appeared in 1958 Designed by Bauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis …   Wikipedia

  • International Computers Limited — Former type Private Industry Computer hardware, Computer software Fate Acquired Successor Fujitsu Services Founded 1968 ( …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”