HOME

TheInfoList



OR:

KDF9 was an early British
48-bit In computer architecture, 48-bit integers can represent 281,474,976,710,656 (248 or 2.814749767×1014) discrete values. This allows an unsigned binary integer range of 0 through 281,474,976,710,655 (248 − 1) or a signed two's complement ra ...
computer designed and built by
English Electric N.º UIC: 9094 110 1449-3 (Takargo Rail) The English Electric Company Limited (EE) was a British industrial manufacturer formed after the Armistice of 11 November 1918, armistice of World War I by amalgamating five businesses which, during th ...
(which in 1968 was merged into
International Computers Limited International Computers Limited (ICL) was a British computer hardware, computer software and computer services company that operated from 1968 until 2002. It was formed through a merger of International Computers and Tabulators (ICT), English Ele ...
(ICL)). The first machine came into service in 1964 and the last of 29 machines was decommissioned in 1980 at the National Physical Laboratory. The KDF9 was designed for, and used almost entirely in, the mathematical and scientific processing fields in 1967, nine were in use in UK universities and technical colleges. The KDF8, developed in parallel, was aimed at commercial processing workloads. The KDF9 was an early example of a machine that directly supported
multiprogramming In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result ...
, using offsets into its
core memory Core or cores may refer to: Science and technology * Core (anatomy), everything except the appendages * Core (manufacturing), used in casting and molding * Core (optical fiber), the signal-carrying portion of an optical fiber * Core, the central ...
to separate the programs into distinct virtual address spaces. Several
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s were developed for the platform, including some that provided fully interactive use through
PDP-8 The PDP-8 is a 12-bit computing, 12-bit minicomputer that was produced by Digital Equipment Corporation, Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's ...
machines acting as smart
terminal server A terminal server connects devices with a serial port to a local area network (LAN). Products marketed as terminal servers can be very simple devices that do not offer any security functionality, such as data encryption and user authentication. ...
s. A number of
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s were available, notably both checkout and globally optimizing compilers for
Algol 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
.


Architecture

The logic circuits of the KDF9 were entirely solid-state. The KDF9 used transformer-coupled
diode–transistor logic Diode–transistor logic (DTL) is a class of digital circuits that is the direct ancestor of transistor–transistor logic. It is called so because the logic gating function (e.g., AND) is performed by a diode network and the amplifying functio ...
, built from germanium diodes, about 20,000 transistors, and about 2,000 toroid
pulse transformer A variety of types of electrical transformer are made for different purposes. Despite their design differences, the various types employ the same basic principle as discovered in 1831 by Michael Faraday, and share several key functional part ...
s. They ran on a 1 MHz clock that delivered two pulses of 250 ns separated by 500 ns, in each clock cycle. 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 single 48-bit integer or
floating-point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
number, two 24-bit integer or floating-point numbers, six 8-bit instruction
syllable A syllable is a unit of organization for a sequence of speech sounds typically made up of a syllable nucleus (most often a vowel) with optional initial and final margins (typically, consonants). Syllables are often considered the phonological "bu ...
s, 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. Its standard character set was a version of the
Friden Flexowriter The Friden Flexowriter produced by the Friden Calculating Machine Company, was a teleprinter, a heavy-duty electric typewriter capable of being driven not only by a human typing, but also automatically by several methods, including direct atta ...
paper tape code that was oriented to Algol 60, and included unusual characters such as the Algol subscript 10. However, each other I/O device type implemented its own subset of that. 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. Three additional Nest levels and one additional SJNS level were reserved to Director, the Operating System, allowing short-path interrupts to be handled without explicit register saving and restoring. As a result, the interrupt overhead was only 3 clock cycles.


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 intensive use of the register sets, meant that relatively few store accesses were needed for common scientific codes, such as
scalar product In mathematics, the dot product or scalar productThe term ''scalar product'' means literally "product with a scalar as a result". It is also used sometimes for other symmetric bilinear forms, for example in a pseudo-Euclidean space. is an algebra ...
and polynomial inner loops. This did much to offset the relatively slow core cycle time, giving the KDF9 about a third of the speed of its much more famous, but 8 times more expensive and much less commercially successful contemporary, the Manchester/
Ferranti Ferranti or Ferranti International plc was a UK electrical engineering and equipment firm that operated for over a century from 1885 until it went bankrupt in 1993. The company was once a constituent of the FTSE 100 Index. The firm was known ...
Atlas Computer The Atlas Computer was one of the world's first supercomputers, in use from 1962 (when it was claimed to be the most powerful computer in the world) to 1972. Atlas' capacity promoted the saying that when it went offline, half of the United Ki ...
.


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 confined to 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 responsible program was of higher priority than the program currently running, the I/O Control (IOC) unit interrupted to allow an immediate context switch. IOC also made provision to avoid priority inversion, in which a program of high priority waits for a device made busy by a program of lower priority, requesting a distinct interrupt in that case. Later operating systems, including Eldon 2 at the University of Leeds, and COTAN, developed by UKAEA Culham Laboratories with the collaboration of Glasgow University, were fully interactive multi-access systems, with
PDP-8 The PDP-8 is a 12-bit computing, 12-bit minicomputer that was produced by Digital Equipment Corporation, Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's ...
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 to the Whetstone benchmark for scientific computation, which inspired in turn the
Dhrystone Dhrystone is a synthetic computing benchmark program developed in 1984 by Reinhold P. Weicker intended to be representative of system (integer) programming. The Dhrystone grew to become representative of general processor ( CPU) performance. T ...
benchmark for non-numerical workloads.


Reminiscence

Machine code orders were written in a form of
octal The octal numeral system, or oct for short, is the radix, base-8 number system, and uses the Numerical digit, digits 0 to 7. This is to say that 10octal represents eight and 100octal represents sixty-four. However, English, like most languages, ...
officially named ''
syllabic octal Syllabic octal and split octal are two similar notations for 8-bit and 16-bit octal numbers, respectively, used in some historical contexts. Syllabic octal ''Syllabic octal'' is an 8-bit octal number representation that was used by English Elect ...
'' (also known as 'slob-octal' or 'slob' notation,). It represented 8 bits with three octal digits but the first digit represented only the two most-significant bits, whilst the others the remaining two groups of three bits each. Although the word '
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
' had been coined by the designers of the
IBM 7030 Stretch The IBM 7030, also known as Stretch, was IBM's first transistorized supercomputer. It was the fastest computer in the world from 1961 until the first CDC 6600 became operational in 1964."Designed by Seymour Cray, the CDC 6600 was almost three tim ...
for a group of eight
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s, it was not yet well known, and English Electric used the word '
syllable A syllable is a unit of organization for a sequence of speech sounds typically made up of a syllable nucleus (most often a vowel) with optional initial and final margins (typically, consonants). Syllables are often considered the phonological "bu ...
' for what is now called a byte. Within English Electric, its predecessor,
DEUCE Deuce, Deuces, or The Deuce may refer to: Arts and entertainment Fictional characters * Deuce, in the ''Danger Girl'' comic book series * Deuce, a character in ''Shake It Up'' * Deuce, in the ''Wild Cards'' science fiction universe * Deuce Biga ...
, had a well-used matrix scheme based on GIP (General Interpretive Programme). The unreliability of valve machines led to the inclusion of a sum-check mechanism to detect errors in matrix operations. The scheme used block floating-point using fixed-point arithmetic hardware, in which the sum-checks were precise. However, when the corresponding scheme 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 recognized that error rates with transistor machines was not an issue; they either worked correctly or didn’t work at all. 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. There is a legend 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 F—". The truth is more mundane: the name was chosen essentially at random by a marketing manager. (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 The United Kingdom Atomic Energy Authority is a UK government research organisation responsible for the development of fusion energy. It is an executive non-departmental public body of the Department for Business, Energy and Industrial Strategy ( ...
Winfrith Winfrith Atomic Energy Establishment, or AEE Winfrith, was a United Kingdom Atomic Energy Authority site near Winfrith Newburgh in Dorset. It covered an area on Winfrith Heath to the west of the village of Wool between the A352 road and the South ...
: in Thomas Hardy's book ''The Return of the Native'' Winfrith Heath is called Egdon Heath. EGDON Fortran was called EGTRAN. Eldon was so named because
Leeds University , mottoeng = And knowledge will be increased , established = 1831 – Leeds School of Medicine1874 – Yorkshire College of Science1884 - Yorkshire College1887 – affiliated to the federal Victoria University1904 – University of Leeds , ...
's computer was located in a converted Eldon chapel.


Physical

The machine weighed more than . Control desk with interruption typewriter 300 lb (136 kg), main store and input/output control unit 3,500 (1,587 kg), arithmetic and main control unit 3,500 (1,587 kg), power supply unit 3,000 (1,360 kg).


See also

*
Reverse Polish notation Reverse Polish notation (RPN), also known as reverse Łukasiewicz notation, Polish postfix notation or simply postfix notation, is a mathematical notation in which operators ''follow'' their operands, in contrast to Polish notation (PN), in whi ...
(RPN)


Notes


References


External links


The English Electric KDF9

The Hardware of the KDF9

The Software of the KDF9

The KDF9 and Benchmarking

The KDF9: a Bibliography

The KDF9 character codes

ee9
a KDF9 emulator written in
GNU Ada A gnat () is any of many species of tiny Fly, flying Insect, insects in the Diptera, dipterid suborder Nematocera, especially those in the families Mycetophilidae, Anisopodidae and Sciaridae. They can be both biting and non-biting. Most often t ...

Delivery List and applications for the English Electric KDF9

History of KDF9 Algol compiler

The Whetstone KDF9 Algol Translator



Presentation on KDF9 Algol on visit from Dijkstra


(images)
Source Code for KDF9 port of Atlas Autocode compiler
{{ALGOL programming Early British computers
KDF9 KDF9 was an early British 48-bit computer designed and built by English Electric (which in 1968 was merged into International Computers Limited (ICL)). The first machine came into service in 1964 and the last of 29 machines was decommissioned ...
Magnetic logic computers Transistorized computers
KDF9 KDF9 was an early British 48-bit computer designed and built by English Electric (which in 1968 was merged into International Computers Limited (ICL)). The first machine came into service in 1964 and the last of 29 machines was decommissioned ...
Computer-related introductions in 1964