English Electric KDF8

Last updated

English Electric KDF8
Developer English Electric
Manufacturer English Electric
Generation1
Release date1961;63 years ago (1961) (as KDP10)
Lifespan5 years
Introductory price£400,000
Units sold13
Memory(Magnetic core memory)
Storage Magnetic tapes
Removable storage Paper tape

KDF8 was an early British computer built by English Electric as a version of the RCA 501. By producing a software-compatible system, the intention was to reduce time and cost to develop software. However, the lengthy process of developing manufacturing capability meant that the system was soon outpaced by systems from other vendors. Only a few systems were sold during its 5 years of production. Due to the consolidation of the British computer industry, English Electric's computer division became one of the components of what would become ICL.

Contents

Background

During the late 1950s English Electric embarked on two major computer projects.

Firstly, English Electric built a version of the RCA 501 computer which was known as the KDP10 (KDP for Kidsgrove Data Processing). This was a machine intended for commercial data processing applications, with fixed length instructions, and capabilities for processing variable-length numeric and alpha-numeric data. RCA's original design was adapted to use the types of transistors, diodes and other components manufactured in the UK. The KDP10 was first delivered in 1961. In 1964 it was re-designated as the KDF8 and sales continued to 1965. [1] The machine was essentially the same as the RCA 501 and manufactured under license so that English Electric could offer a full range of computer systems for all its customers, without the expense of developing an entirely new machine. The machine sold for £400,000. Only 13 were sold. [2] [3]

The second large computer to emerge from development work at Kidsgrove was the KDF9, primarily designed for scientific work.

One KDF8 was installed at the Kidsgrove (Staffordshire) site of The English Electric Company's computer bureau. Over the years, and a succession of mergers, this organisation became English Electric Leo Marconi (EELM), International Computing Services Limited (ICSL), and finally under a joint arrangement between ICL and Barclay's Bank, Baric.

Basic features

Processor/main store

KDF8 was a transistor based machine with magnetic core memory. The core memory of the machine installed at the Kidsgrove computer bureau was upgraded from 64k to the then maximum of 96k of core memory. KDF8 used an octal (base eight) addressing system. A machine-code instruction was fixed length, ten octal characters long. The instruction set was specifically designed for commercial use. It had machine-code level instructions for all four of the decimal arithmetic functions operating on variable length numbers, and also had instructions for efficient manipulation of variable-length data-strings. Not all instructions required all ten characters. Given the minimal core memory available, programmers frequently used "spare" characters in instructions for storage of constants and similar storage-saving tricks.

KDF8 was strictly a batch processing computer, running one program at a time. Only one compute instruction could be processed at one time, but it was also possible to have one read and/or one write instruction (typically from and to magnetic tape) executing in parallel. A system of hardware "gates" set and checked at machine code level were used to control the degree of synchronous operation. However, since there was no operating system of any kind, this had to be controlled entirely at the individual program level.

The KDP10 in the service bureau was updated in situ, as the system was built with RCA germanium transistors. Part of the update was to convert the main logic to silicon transistors. There was also a three character address adder added, and the machine cycle was 15 microseconds, with six timing pulses, where sixth pulse was for settling time, thus the machine cycle was reduced to 12.5 microseconds.

The level of programmer skill to control full read/write/compute overlap, especially if data records were "batched" several to the "real" block of data on magnetic tape, was considerable, since all simultaneity checks had to be hand-coded into the program. Automatic error-detection was essentially limited to hardware parity checks at the character level, and there were no processor hardware checks on what the programmer could do. For example, the computer would simply stop if instructed to access a memory location beyond physical memory.

Peripherals

There were no magnetic disks, drums or other similar temporary backing-storage devices. Bulk storage was limited to magnetic tapes, on open reels, each reel of which was about one inch thick and nine inches (229 mm) across, holding a maximum of 2,400 feet (730 m) of tape. Data and programs were kept on these tapes. Peripheral error-checking was again limited to parity checks on all reads and writes and the use of write permit rings. The Kidsgrove KDF8 had eight magnetic tape units on-line, each rated at 40k characters per second read/write speed. Each tape unit was about 6 feet (1.8 m) tall and 2 feet (0.61 m) wide, and the processor and memory cabinets were about the same in size and number. The Kidsgrove configuration required a large air-conditioned room.

Eight was considered the working maximum number of tape units, one per channel, for any actual KDF8 configuration. It was possible for each tape channel to be split through additional hardware units into a sub-group of eight tape decks, giving a theoretical maximum of 61 on-line tape units. (Tt least three uniquely coded I/O channel identifiers were required for other devices.)

Other tape unit/printer pairs were available, able to operate independently of the mainframe. These provided an off-line printing facility for volume output, freeing the KDF8 to run other work.

Other peripherals included:

Both on and off-line printers were impact printers, capable of printing a line of either 120 or 160 characters, depending on the model They were single type-face, no lower case. Fan fold paper for the printers was continuous, with perforations between the pages, and sprocket-holes at each side of the paper for the paper-feed mechanism. Custom paper sizes, with pre-printed lines/text/colours etc. were common, especially for applications like payroll, and small paper-tape control loops were needed to match page-throw size to each paper type.

Instruction Set

Each KDF8 machine-code instruction took the format

OO AAA RR BBB

In this representation

OO represents a two-(octal) character operation code, identifying the instruction to be performed, in the range 00 to 77, AAA represents a six-(octal) character "A" core address ranging from 000000 to 777777. (A theoretical 14 Meg directly addressable main store, an actual 96K!) RR represents a two-character Register setting (one character for each of two possible registers numbered 1 to 7 used to modify the "A" and "B" addresses, with 0 indicating no register modification) and BBB represents the "B" address, the same as the "A" address in format.

Instructions were read in turn from main store into registers, then executed.

Example. An instruction to read data from the on-line paper-tape reader to locations starting at store location (octal) 200000 would look like

14 200000 00 770000 (spaces for clarity only)

Where 14 was the operation code for this type of read, 200000 was the lowest store location the data would be read to, 00 indicates that no register modification was to be done to the A or B addresses of the instruction, and 77 was the (fixed) device identifier of the paper tape reader. (Note - 77 used as a device ID for a write operation would direct the write to the operator's teleprinter. Embarrassing if this was due to a program error, and it was a large data block intended for mag tape.....) The last four octal characters (0000) were not required in this instruction, and would be ignored when the instruction was processed. Such "spare" characters were frequently, given the extremely limited main store available used by programmers to store constants.

Some aspects of the instruction set were advanced, and greatly eased programming of commercial systems.

The operation codes 51-54 did decimal arithmetic Add, Subtract, Multiply and Divide on variable length numbers, stored as decimal characters. One end of each operand was stored at the "A" and "B" addresses of the instruction. The other end was identified by an ISS (Item Separator Symbol), octal 74. Thus numbers could be any length. A "Sector Compare" instruction (Octal 43) permitted three-way conditional branching of program control depending on whether the data stored in the range from the "A" address to the "B" address was greater, less than, or equal to, the value of the same number of characters stored at locations to the left of the (previously set) "T" register, as the following Assembler language version attempts to demonstrate.


       Tag             Op      A-Address      RR    B-Address
       COMPARE         SET     £T                   SALARY,R                        SC      TAXLIMIT             TAXLIMIT,R                        CTC     BELOWTAXLIMIT        ABOVETAXLIMIT        EQUAL           TC      EQUALTAXLIMIT

This example compares a salary with a tax limit, and jumps to one of three program locations depending on the respective values. The ",R" Assembler convention represents the rightmost character of the named field. CTC stood for "Conditional Transfer of Control" and TC for (unconditional) Transfer of Control

In the above "compare" code, the original (KDP10?) instruction set compared from right to left, requiring the whole length of the data strings to be compared, a character at a time. KDP8 was enhanced to compare from left to right, so the comparison could stop as soon as the relative values were clear, speeding up processing of such instructions considerably.

Variable length data was handled with the aid of specially designated characters. The ISS or Item Separator Symbol, octal 74, usually represented as "●" was used to separate variable length data fields. Octal 75 "<" and 76 ">" identified the start and end of a data message, Octal 777777 was by custom and practice used to identify End of File. So data such as names and addresses could be punched onto paper tape for data input as (for example)

<IAN●TAYLOR●41●HIGH STREET●KIDSGROVE●STAFFS>

Various instructions could operate directly on this variable length data, and records could be batched say ten to the batch onto magnetic tape, for efficient storage. Given the relatively slow (by today's standards) processor and I/O rates, a significant aspect of the programmer's task was to balance the batching of data on tape, with the computing needed per record and organise the simultaneous I/O and compute operations with the aim of maximising overlap of computing with I/O and avoiding the tape-decks stopping between batch reads.

Software

There was no operating system. Programs were initiated by an on-line operator, via an operator's console. Operators were also responsible for manually clearing memory and re-setting the computer between programs, mounting and changing tapes, controlling off-line printing and the like.

Some standard software packages were available, or became available, all written in the US by the RCA organisation. These included the following.

To optimize throughput of production programs, standard packages of software were produced by bureau programmers for payroll, sales and purchase ledgers, share registration, stock control and the like, and some applications – such as payroll – supported the processing of data from many bureau customers in one computer run, with individual parameter settings managing individual customer's requirements. More complex client requirements were met by custom-built programs.

Computer operation

A very small (about 20 instructions) bootstrap loader could be held at the front of each program tape, but even this approach was not always used. Tape labels were (with the exception of COBOL and Tape Control managed applications) almost non-existent. A grandfather/father/son cycle of tape rotation protected production tapes from major disasters, but required careful manual controls. Programmers (or for operational suites Production Control staff) gave the operator written instructions on which program tape and data tapes to load, on which devices, and a written summary of how to load and initiate each program. The operator would then load the tapes, and load and initiate each program in turn manually from the console.

The console consisting of a vertical display panel about 10 inches (250 mm) high by about 5 feet (1.5 m) long with a similarly sized slightly angled control panel below it. Each of these two parts was filled with labeled buttons and illuminated indicators each (roughly) one inch square. The display section was made up of indicators which when illuminated showed, in binary (grouped as octal) characters, the machine's current running (or static) status at the individual machine core address and register level, for the compute, read and write operations then in progress. When a program was running, this display was a kaleidoscope of quickly changing, flashing, multi-colored lights. The control panel section consisted of press-buttons to select the next register to be set and a central part that mirrored the lay-out of a single machine core address. Other buttons accessed more complex operations. Use of these buttons enabled the operator to select and then directly input to the machine's core storage locations and registers the octal pattern he/she keyed in manually. For an operator to input a single machine instruction, each of up to ten octal characters of the instruction had to be selected and keyed in as its binary pattern – each with the correct (odd) parity bit.

See also

Related Research Articles

<span class="mw-page-title-main">Punched tape</span> Data storage device

Punched tape or perforated paper tape is a form of data storage device that consists of a long strip of paper through which small holes are punched. It was developed from and was subsequently used alongside punched cards, the difference being that the tape is continuous.

<span class="mw-page-title-main">LINC</span> Laboratory Instrument Computer (1962)

The LINC was a 12-bit, 2048-word transistorized computer. The LINC is considered by some to be the first minicomputer and a forerunner to the personal computer. Originally named the Linc, suggesting the project's origins at MIT's Lincoln Laboratory, it was renamed LINC after the project moved from the Lincoln Laboratory. The LINC was designed by Wesley A. Clark and Charles Molnar.

<span class="mw-page-title-main">IBM 1620</span> Small IBM scientific computer released in 1959

The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive scientific computer. After a total production of about two thousand machines, it was withdrawn on November 19, 1970. Modified versions of the 1620 were used as the CPU of the IBM 1710 and IBM 1720 Industrial Process Control Systems.

<span class="mw-page-title-main">IBM 1401</span> 1960s decimal computer

The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on punched cards and at providing peripheral services for larger computers. The 1401 is considered by IBM to be the Ford Model-T of the computer industry due to its mass appeal. Over 12,000 units were produced and many were leased or resold after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971.

<span class="mw-page-title-main">IBM 650</span> Vacuum-tube 1950s computer system

The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the first computer to make a meaningful profit. The first one was installed in late 1954 and it was the most-popular computer of the 1950s.

The Burroughs Large Systems Group produced a family of large 48-bit mainframes using stack machine instruction sets with dense syllables. The first machine in the family was the B5000 in 1961, which was optimized for compiling ALGOL 60 programs extremely well, using single-pass compilers. The B5000 evolved into the B5500 and the B5700. Subsequent major redesigns include the B6500/B6700 line and its successors, as well as the separate B8500 line.

Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. The purpose of JCL is to say which programs to run, using which files or devices for input or output, and at times to also indicate under what conditions to skip a step. Parameters in the JCL can also provide accounting information for tracking the resources used by a job as well as which machine the job should run on.

<span class="mw-page-title-main">IBM 1130</span> 16-bit IBM minicomputer introduced in 1965

The IBM 1130 Computing System, introduced in 1965, was IBM's least expensive computer at that time. A binary 16-bit machine, it was marketed to price-sensitive, computing-intensive technical markets, like education and engineering, succeeding the decimal IBM 1620 in that market segment. Typical installations included a 1 megabyte disk drive that stored the operating system, compilers and object programs, with program source generated and maintained on punched cards. Fortran was the most common programming language used, but several others, including APL, were available.

Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of operating systems for IBM System/360, System/370 and later mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. In its time, DOS/360 was the most widely used operating system in the world.

<span class="mw-page-title-main">IBM System/3</span> IBM midrange computer (1969–1985)

The IBM System/3 was an IBM midrange computer introduced in 1969, and marketed until 1985. It was produced by IBM Rochester in Minnesota as a low-end business computer aimed at smaller organizations that still used IBM 1400 series computers or unit record equipment. The first member of what IBM refers to as their "midrange" line, it also introduced the RPG II programming language. It is the first ancestor in the product line whose current version is the IBM i series and includes the highly successful AS/400.

<span class="mw-page-title-main">English Electric DEUCE</span>

The DEUCE was one of the earliest British commercially available computers, built by English Electric from 1955. It was the production version of the Pilot ACE, itself a cut-down version of Alan Turing's ACE.

KDF9 was an early British 48-bit computer designed and built by English Electric. 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.

<span class="mw-page-title-main">Bendix G-15</span> 1956 computer design

The Bendix G-15 is a computer introduced in 1956 by the Bendix Corporation, Computer Division, Los Angeles, California. It is about 5 by 3 by 3 feet and weighs about 966 pounds (438 kg). The G-15 has a drum memory of 2,160 29-bit words, along with 20 words used for special purposes and rapid-access storage. The base system, without peripherals, cost $49,500. A working model cost around $60,000. It could also be rented for $1,485 per month. It was meant for scientific and industrial markets. The series was gradually discontinued when Control Data Corporation took over the Bendix computer division in 1963.

The Burroughs B2500 through Burroughs B4900 was a series of mainframe computers developed and manufactured by Burroughs Corporation in Pasadena, California, United States, from 1966 to 1991. They were aimed at the business world with an instruction set optimized for the COBOL programming language. They were also known as Burroughs Medium Systems, by contrast with the Burroughs Large Systems and Burroughs Small Systems.

<span class="mw-page-title-main">LGP-30</span> Librascope General Purpose computer (1956)

The LGP-30, standing for Librascope General Purpose and then Librascope General Precision, is an early off-the-shelf computer. It was manufactured by the Librascope company of Glendale, California, and sold and serviced by the Royal Precision Electronic Computer Company, a joint venture with the Royal McBee division of the Royal Typewriter Company. The LGP-30 was first manufactured in 1956, at a retail price of $47,000, equivalent to $510,000 in 2022.

<span class="mw-page-title-main">Front panel</span>

A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal registers and memory. The front panel usually consisted of arrays of indicator lamps, digit and symbol displays, toggle switches, dials, and push buttons mounted on a sheet metal face plate. In early machines, CRTs might also be present. Prior to the development of CRT system consoles, many computers such as the IBM 1620 had console typewriters.

<span class="mw-page-title-main">Computer programming in the punched card era</span> History of computer programming using punch cards

From the invention of computer programming languages up to the mid-1970s, most computer programmers created, edited and stored their programs line by line on punch cards.

<span class="mw-page-title-main">Elliott 803</span>

The Elliott 803 is a small, medium-speed transistor digital computer which was manufactured by the British company Elliott Brothers in the 1960s. About 211 were built.

The Datamatic Division of Honeywell announced the H-800 electronic computer in 1958. The first installation occurred in 1960. A total of 89 were delivered. The H-800 design was part of a family of 48-bit word, three-address instruction format computers that descended from the Datamatic 1000, which was a joint Honeywell and Raytheon project started in 1955. The 1800 and 1800-II were follow-on designs to the H-800.

ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American competitors to the IBM System/360, enjoying significant success in the European and British Commonwealth markets.

References

  1. Simon Hugh Lavington, Early British Computers: The Story of Vintage Computers and the People who Built Them, Manchester University Press, 1980 ISBN   0719008107 page 76
  2. B. Jack Copeland (ed.), Alan Turing's Electronic Brain: The Struggle to Build the ACE, the World's Fastest Computer, OUP Oxford, 2012, ISBN   0191625868, pp. 166-168
  3. A. Gandy,The Early Computer Industry: Limitations of Scale and Scope, Springer, 2012, ISBN   0230389112, pp. 196-198