ICT 1900 series

From Wikipedia for FEVERv2
Jump to navigation Jump to search

ICT 1900 was the name given to a series of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and '70s. ICT 1900 series_sentence_0

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. ICT 1900 series_sentence_1

ICT 1900 series_table_infobox_0

ICT 1900ICT 1900 series_table_caption_0
DesignerICT 1900 series_header_cell_0_0_0 Ferranti-Packard/ICT/ICLICT 1900 series_cell_0_0_1
BitsICT 1900 series_header_cell_0_1_0 24-bitICT 1900 series_cell_0_1_1
IntroducedICT 1900 series_header_cell_0_2_0 1964ICT 1900 series_cell_0_2_1
DesignICT 1900 series_header_cell_0_3_0 CISCICT 1900 series_cell_0_3_1
TypeICT 1900 series_header_cell_0_4_0 Register-Register

Register-Memory Memory-Memory (move)ICT 1900 series_cell_0_4_1

EncodingICT 1900 series_header_cell_0_5_0 FixedICT 1900 series_cell_0_5_1
BranchingICT 1900 series_header_cell_0_6_0 Comparison, carry, overflow, indexing, countingICT 1900 series_cell_0_6_1
Page sizeICT 1900 series_header_cell_0_7_0 1024 words (1904A/S, 1906A/S, 1903T)ICT 1900 series_cell_0_7_1
ExtensionsICT 1900 series_header_cell_0_8_0 extended floating point on 1906/7ICT 1900 series_cell_0_8_1
RegistersICT 1900 series_header_cell_0_9_0
General purposeICT 1900 series_header_cell_0_10_0 8 24-bit (3 usable for indexing)ICT 1900 series_cell_0_10_1
Floating pointICT 1900 series_header_cell_0_11_0 1 48-bit (96-bit if the extended floating point is present)ICT 1900 series_cell_0_11_1

Origins ICT 1900 series_section_0

In early 1963, ICT was engaged in negotiations to buy the computer business of Ferranti. ICT 1900 series_sentence_2

In order to sweeten the deal, Ferranti demonstrated to ICT the Ferranti-Packard 6000 (FP6000) machine, which had been developed by its Canadian subsidiary Ferranti-Packard, to a design known as Harriac that had been initiated in Ferranti by Harry Johnson and fleshed out by Stanley Gill and John Iliffe. ICT 1900 series_sentence_3

The FP6000 was an advanced design, notably including hardware support for multiprogramming. ICT 1900 series_sentence_4

ICT considered using the FP6000 as their medium-sized processor in the 1965–1968 timeframe, replacing the ICT 1302. ICT 1900 series_sentence_5

Another plan being considered was to license a new range of machines being developed by RCA, probably compatible with the expected IBM 8000. ICT 1900 series_sentence_6

On 7 April 1964 IBM announced the System/360 series, a family of compatible machines spanning nearly the complete range of customer needs. ICT 1900 series_sentence_7

It was immediately obvious that ICT would need a coherent response. ICT 1900 series_sentence_8

Two paths were available: develop a range of machines based on the FP6000, using the flexibility of its design to produce smaller or larger machines, or cooperate with RCA who were re-targeting their development to a System/360 compatible range to be known as the RCA Spectra 70. ICT 1900 series_sentence_9

One major consideration was that the FP6000 was already running, while the RCA Spectra range would take some years to become available. ICT 1900 series_sentence_10

In the end the decision was made to go with a range of machines based on the FP6000. ICT 1900 series_sentence_11

The centrepiece of the new range was the ICT 1904, a version of the FP6000 with the ICT standard peripheral interface. ICT 1900 series_sentence_12

For higher-end machines a new larger processor, the ICT 1906, was to be developed by the ICT West Gorton unit (formerly part of Ferranti). ICT 1900 series_sentence_13

To meet the needs of smaller customers, smaller machines, the ICT 1901 and ICT 1902/3, were developed by the ICT Stevenage unit, based on the PF182 and PF183 processors already in development. ICT 1900 series_sentence_14

On 29 September 1964 the ICT 1900 range was announced in a filmed presentation, scripted by Antony Jay. ICT 1900 series_sentence_15

The following week two working systems were demonstrated at the Business Equipment Exhibition, Olympia. ICT 1900 series_sentence_16

The first commercial sale was made in 1964 to the Morgan Crucible Company, comprising a 16K word 1902 with an 80-column 980-card/minute reader, a card punch, a 600 line/min printer and 4 x 20kchar/s tape drives. ICT 1900 series_sentence_17

It was soon upgraded to a 32K word memory and a floating point unit to allow for some scientific work. ICT 1900 series_sentence_18

The same company had also been the first to order ICT's first computer, the HEC4 (later ICT 1201), in 1955. ICT 1900 series_sentence_19

The first system delivered was a 1904, for the Northampton College of Advanced Technology, London in January 1965. ICT 1900 series_sentence_20

Architecture ICT 1900 series_section_1

The ICT 1900 was a word-addressing machine using a register-to-memory architecture with eight accumulator registers. ICT 1900 series_sentence_21

Three of the accumulators could be used as modifier (index) registers. ICT 1900 series_sentence_22

The word length was 24 bits, which could be used as four six-bit characters; instructions were provided for copying single characters to and from memory. ICT 1900 series_sentence_23

The accumulators were addressable as if they were the first eight words of memory, giving the effect of register-to-register instructions with no extra operation codes being needed. ICT 1900 series_sentence_24

The hardware registers were an optional feature, and if not fitted the accumulators were the first eight words of memory. ICT 1900 series_sentence_25

The large number of optional features in the FP6000 design gave ICT great flexibility in pricing. ICT 1900 series_sentence_26

A notable feature of the series was the hardware support for running multiple processes – every process ran in an independent address space, enforced by datum and limit registers. ICT 1900 series_sentence_27

No user process could access the memory of any other process. ICT 1900 series_sentence_28

Later models added paging hardware, allowing true virtual memory with the GEORGE 4 operating system. ICT 1900 series_sentence_29

On the original models the address size was 15 bits, allowing up to 32k words of memory. ICT 1900 series_sentence_30

Later models added 22-bit addressing, allowing a theoretical 4Mword maximum memory. ICT 1900 series_sentence_31

Instructions contained a 12-bit operand, either fixed or offset from an index register. ICT 1900 series_sentence_32

Branch instructions held a 15-bit offset, allowing access to all memory on the initial range. ICT 1900 series_sentence_33

When the address size was increased to 22 bits, replaced (indirect) and relative branches were added to the instruction set to allow access to the larger address space. ICT 1900 series_sentence_34

The largest change between the original FP6000 and the 1900 series was the inclusion of the ICT standard interface for connection of peripherals. ICT 1900 series_sentence_35

This allowed connection of any ICT peripheral to any processor of the series, and owners could upgrade their processors while keeping the same peripherals or vice versa. ICT 1900 series_sentence_36

All I/O operations were initiated by a privileged supervisor process, known as the executive. ICT 1900 series_sentence_37

User processes communicated with the executive using extracodes, instructions that caused a trap into the executive. ICT 1900 series_sentence_38

The executive would then communicate with the appropriate peripheral via the Standard Interface, using functions not available to user processes. ICT 1900 series_sentence_39

The subsequent data transfers would then occur across this interface, autonomously without further program involvement. ICT 1900 series_sentence_40

The conclusion of the transfers (or error if any) would similarly be indicated back to the executive. ICT 1900 series_sentence_41

On smaller members of the series, some expensive instructions (floating point for example) were also implemented as extracodes. ICT 1900 series_sentence_42

The combination of the executive and hardware provided the same interface to programs running on any model of the range. ICT 1900 series_sentence_43

The hardware floating-point unit, if fitted, ran autonomously. ICT 1900 series_sentence_44

After a floating-point operation was started, integer instructions could be run in parallel until the result of the floating-point operation was needed. ICT 1900 series_sentence_45

Data formats ICT 1900 series_section_2

The instruction set supported the following data formats: ICT 1900 series_sentence_46

ICT 1900 series_unordered_list_0

  • Character formICT 1900 series_item_0_0
    • A 24-bit word could hold four six-bit characters.ICT 1900 series_item_0_1
  • Counter modifier, also known as an index wordICT 1900 series_item_0_2
    • A 9-bit counter and a 15-bit modifier (address) field. A loop instruction decremented the counter and incremented the address either by 1 or 2.ICT 1900 series_item_0_3
    • This format was only available in 15-bit addressing mode. In 22-bit mode the counter and address were kept in separate words.ICT 1900 series_item_0_4
  • Character counter modifier, also known as a character index wordICT 1900 series_item_0_5
    • Two-bit character offset, seven-bit counter and 15-bit modifier (word address). The BCHX (branch on character indexing) instruction decremented the counter and incremented the character offset, incrementing the word address if the character offset overflowed, branching if the count had not reached zero.ICT 1900 series_item_0_6
    • In 22-bit addressing mode the counter was unavailable, the format was a two-bit character offset and a 22-bit word address. The BCHX instruction incremented the character offset, incremented the word address if the character offset overflowed, and branched unconditionally.ICT 1900 series_item_0_7
  • Single-length integerICT 1900 series_item_0_8
  • Multi-length integerICT 1900 series_item_0_10
    • The first word held a 24-bit two's complement signed number, subsequent words held 23-bit extensions with the high bit used for internal carry.ICT 1900 series_item_0_11
  • Single-length floating point numberICT 1900 series_item_0_12
    • Two words holding a 24-bit signed argument (mantissa) and a nine-bit exponent.ICT 1900 series_item_0_13
  • Double-length floating-point numberICT 1900 series_item_0_14
    • Two words holding a 38-bit signed argument and a nine-bit exponent.ICT 1900 series_item_0_15
  • Quadruple-length floating-point numberICT 1900 series_item_0_16
    • Four words holding a 75-bit signed argument and a nine-bit exponent.ICT 1900 series_item_0_17
    • Handled in software on all but 1906/7 processors with the extended floating-point feature.ICT 1900 series_item_0_18

Character set ICT 1900 series_section_3

Since the ICT 1900 used a six-bit character it was largely limited to a 64-character repertoire, with only upper case letters and no control characters. ICT 1900 series_sentence_47

In order to deal with data on paper tape or from communications equipment, a system of shifts could be used to represent the full 128 characters of ASCII. ICT 1900 series_sentence_48

Character #74 (octal 74) was considered an alpha shift and indicated subsequent characters were to be considered upper case, #75 was a beta shift and indicated subsequent characters were in lower case, #76 the delta shift, indicating the next character was a control character, and #77 was used as a fill (ignore) character. ICT 1900 series_sentence_49

For example, the ASCII string "Hello World" would be encoded as "αHβELLO αWβORLD". ICT 1900 series_sentence_50

The 1900 used a variant of ASCII-63, known by ICT as the ECMA character set, with some characters in different positions: ICT 1900 series_sentence_51

ICT 1900 series_table_general_1

ASCIIICT 1900 series_cell_1_0_0 $ICT 1900 series_cell_1_0_1 \ICT 1900 series_cell_1_0_2 ^ICT 1900 series_cell_1_0_3 _ICT 1900 series_cell_1_0_4 `ICT 1900 series_cell_1_0_5
ECMAICT 1900 series_cell_1_1_0 £ICT 1900 series_cell_1_1_1 $ICT 1900 series_cell_1_1_2 ICT 1900 series_cell_1_1_3 ICT 1900 series_cell_1_1_4 _ICT 1900 series_cell_1_1_5

Comparison with System/360 ICT 1900 series_section_4

Both the 1900 series and IBM System/360 provided hardware support for multi-programming. ICT 1900 series_sentence_52

On the 1900 all user memory addresses were modified by a datum (base address) register and checked against a limit register, preventing one program interfering with another. ICT 1900 series_sentence_53

The System/360 gave each process and every 2048-byte block of memory a four-bit key, and if a process key did not match the memory block key an exception would result. ICT 1900 series_sentence_54

The 1900 system required programs to occupy a contiguous area of memory but allowed processes to be relocated during execution, simplifying the work of the operating system. ICT 1900 series_sentence_55

The 1900 also allowed any process direct access to the first 4096 words of its address space. ICT 1900 series_sentence_56

(Both the 1900 and 360 had a 12-bit operand field, but on the 360 addresses were physical addresses so a program could directly access the first 4096 bytes of physical memory). ICT 1900 series_sentence_57

The System/360 had the advantage of a larger word and character size; its 32-bit words were large enough for (low accuracy) floating point numbers whereas the 1900 needed at least two words. ICT 1900 series_sentence_58

The eight-bit byte of the System/360 allowed manipulation of lowercase characters without the complex shift sequences of the 1900. ICT 1900 series_sentence_59

However, in the early days the smaller word size of the 1900 was seen as a cost advantage, as the memory could be 25% cheaper for the same number of words. ICT 1900 series_sentence_60

1900 range ICT 1900 series_section_5

Initial range ICT 1900 series_section_6

The initial range of machines was: ICT 1900 series_sentence_61

ICT 1900 series_unordered_list_1

  • ICT 1901ICT 1900 series_item_1_19
    • A very small machine with a 6-bit wide mill (arithmetic unit). For compatibility with the other machines a 24-bit operation was performed by the processor as four 6-bit operations. Based on the PF183 developed by ICT Stevenage. The 1901 was announced and released after the other members of the initial range, in response to the IBM System/360 Model 20, and was a great success.ICT 1900 series_item_1_20
  • ICT 1902ICT 1900 series_item_1_21
    • A small machine. Based on the ICT Stevenage PF182 processor.ICT 1900 series_item_1_22
    • Like the 1901 the 1902 performed multiply and divide operations as extracodes. An optional commercial computing facility or CCF was available to add hardware multiply and divide. An optional floating point unit, the scientific computing facility, SCF was also available as a super-set of the CCF.ICT 1900 series_item_1_23
  • ICT 1903ICT 1900 series_item_1_24
    • The same processor as the 1902, but with 2µs core in place of the 6µs core supplied with the 1902.ICT 1900 series_item_1_25
  • ICT 1904ICT 1900 series_item_1_26
    • The ICT West Gorton processor derived from the FP6000 with the addition of the ICT standard interface.ICT 1900 series_item_1_27
  • ICT 1905ICT 1900 series_item_1_28
    • A 1904 with an autonomous hardware floating point unit.ICT 1900 series_item_1_29
  • ICT 1906ICT 1900 series_item_1_30
    • A new processor designed by ICT West Gorton with a 48-bit wide memory pathway and a 22-bit addressing mode. Delivered with up to 256Kwords of memory.ICT 1900 series_item_1_31
  • ICT 1907ICT 1900 series_item_1_32
    • A 1906 with a floating point unit.ICT 1900 series_item_1_33
  • ICT 1909ICT 1900 series_item_1_34
    • A machine similar to the 1905 but with a slow 6µs store comparable to the 1902. Designed for Universities who needed floating point but found the 1905 too expensive.ICT 1900 series_item_1_35

The execution time for an addition instruction ("add the contents of store location x to register y") ranged from 2.5 μs for a 1906 or 1907 with 1.1 μs core store, to 34 μs for a 1901 with 6 μs core store. ICT 1900 series_sentence_62

All machines except the 1901 were operated from a modified Teletype Model 33 ASR used to give commands to the executive. ICT 1900 series_sentence_63

The 1901 was operated from console switches, with a console available as an optional extra. ICT 1900 series_sentence_64

A range of peripherals was available, including 80-column card punches and readers, 8 track paper tape punches and readers and solid barrel line printers. ICT 1900 series_sentence_65

Data could be stored on half-inch magnetic tape. ICT 1900 series_sentence_66

Magnetic disk storage became available in 1966. ICT 1900 series_sentence_67

The 1900 E/F series ICT 1900 series_section_7

In 1968 ICT introduced the E series machines: ICT 1900 series_sentence_68

ICT 1900 series_unordered_list_2

  • ICT 1904EICT 1900 series_item_2_36
    • Some improvements were made to the original 1904 and the new 22-bit addressing mode developed for the 1906 was made available.ICT 1900 series_item_2_37
  • ICT 1905EICT 1900 series_item_2_38
    • The 1904E with a floating point unit.ICT 1900 series_item_2_39
  • ICT 1906EICT 1900 series_item_2_40
    • The original 1906 had not been as fast as hoped, therefore the new top of the range machines were actually dual-processor versions of the 1904E.ICT 1900 series_item_2_41
  • ICT 1907EICT 1900 series_item_2_42
    • A 1906E with a special higher performance floating point unit.ICT 1900 series_item_2_43

Improvements to the memory subsystems of these machines, replacing the 1.8µs core with 0.75µs core, were introduced as the F series. ICT 1900 series_sentence_69

(ICT merged with English Electric Computers to form ICL on 9 July 1968. ICT 1900 series_sentence_70

Thus although the E series had been designed by ICT many, if not all, were delivered with ICL badges). ICT 1900 series_sentence_71

1900 A series ICT 1900 series_section_8

In 1969 the 1900 A series was delivered, replacing the remaining machines from the initial series and the E/F machines. ICT 1900 series_sentence_72

The original discrete germanium semiconductor implementations were replaced by Texas Instruments 7400 series TTL integrated circuits in most of the range and Motorola MECL 10K ECL integrated circuits in the new 1906A (which was based on the original 1906 rather than the dual processor 1904 of the 1906E/F). ICT 1900 series_sentence_73

There was a proposal to build a multiprocessor version of the 1906A, the 1908A (known internally as Project 51), which would allow ICL to compete with the large CDC and IBM machines in Universities and research centers but it was eventually abandoned in favor of accelerating work on the New Range which was being designed to replace both the 1900 series and the ICL System 4. ICT 1900 series_sentence_74

With the A series a hardware floating point unit was made an optional feature of all machines, instead of having a different model number for floating point equipped machines. ICT 1900 series_sentence_75

The 22-bit addressing mode and extended branch mode introduced by the 1906 was extended to the 1902A and 1903A, but not the much smaller 1901A. ICT 1900 series_sentence_76

ICL introduced a paging unit to the higher end machines (1904A, 1906A) and a new version of the GEORGE operating system, GEORGE 4 which was compatible with GEORGE 3 but used paged virtual memory in place of the simple base/limit system of the earlier machines. ICT 1900 series_sentence_77

ICT 1900 series_unordered_list_3

  • ICL 1901AICT 1900 series_item_3_44
    • Deliveries started in 1969.ICT 1900 series_item_3_45
  • ICL 1902AICT 1900 series_item_3_46
    • Deliveries started in 1969.ICT 1900 series_item_3_47
  • ICL 1903AICT 1900 series_item_3_48
    • Deliveries started in 1969.ICT 1900 series_item_3_49
  • ICL 1904AICT 1900 series_item_3_50
    • First deliveries in 1970.ICT 1900 series_item_3_51
    • The 1904A had an optional paging unit and so could run GEORGE 4.ICT 1900 series_item_3_52
  • ICL 1906AICT 1900 series_item_3_53
    • First deliveries in 1970.ICT 1900 series_item_3_54
    • The 1906A had a paging unit and so could run GEORGE 4.ICT 1900 series_item_3_55

The 1900 S series ICT 1900 series_section_9

In April 1971 ICL announced the S series of machines, replacing the core store of the earlier machines with semiconductor memory in most of the range and very fast Plessey nickel plated wire memory for the top of the range 1906S. ICT 1900 series_sentence_78

ICT 1900 series_unordered_list_4

  • ICL 1901SICT 1900 series_item_4_56
    • 4µs semiconductor storeICT 1900 series_item_4_57
  • ICL 1902SICT 1900 series_item_4_58
    • 3µs semiconductor storeICT 1900 series_item_4_59
  • ICL 1903SICT 1900 series_item_4_60
    • 1.5µs semiconductor storeICT 1900 series_item_4_61
  • ICL 1904SICT 1900 series_item_4_62
    • First delivery in 1972. New Schottky STTL logic used, giving a 30% performance increase. 500ns semiconductor store.ICT 1900 series_item_4_63
  • ICL 1906SICT 1900 series_item_4_64
    • First delivery in 1973. Nickel plated wire memory with a 250ns cycle speed.ICT 1900 series_item_4_65

1900 T series ICT 1900 series_section_10

As the larger models of the new range were being introduced it was decided that the lower models of the 1900 range were becoming uncompetitive. ICT 1900 series_sentence_79

To refresh the range new models were released. ICT 1900 series_sentence_80

In each case the model was simply based on the next higher model of the previous range, the 1903T being based on the 1904S for example. ICT 1900 series_sentence_81

ICT 1900 series_unordered_list_5

  • ICL 1901TICT 1900 series_item_5_66
    • Delivery started in 1974. The 1901T was based on the 1902S with an integrated disk controller and VDU controller added to the processor cabinet to reduce space.ICT 1900 series_item_5_67
  • ICL 1902TICT 1900 series_item_5_68
    • Delivery started in 1974. The 1902T was based on the 1903S with an integrated disk controller and integrated VDU controller.ICT 1900 series_item_5_69
  • ICL 1903TICT 1900 series_item_5_70
    • Delivery started in 1973. As the 1903T was based on the 1904S it was available with a paging unit and could run George 4. The processor clock and memory cycle time were slower than the 1904S, allowing the use of cheaper parts. The 1903T was built at the ICL West Gorton site.ICT 1900 series_item_5_71

1900-compatible machines ICT 1900 series_section_11

During and after the production of the 1900 series a number of compatible (or clone) machines were produced by ICL licensees, and competitors. ICT 1900 series_sentence_82

2903/2904 ICT 1900 series_section_12

In 1969 IBM had introduced the System/3 entry-level machine, which began to cut into sales of the ICL 1901 and 1902 models. ICT 1900 series_sentence_83

To recapture the market an ICL project known internally as PF73 was started, based on an ICL Stevenage-developed microprogrammed machine known as MICOS-1. ICT 1900 series_sentence_84

PF73 was eventually sold in 1973 as the ICL 2903 and 2904; despite their New Range numbering these machines used the ICL 1900 instruction set and ran 1900 software. ICT 1900 series_sentence_85

The 2903/2904 were released with an RPG compiler to better compete with System/3. ICT 1900 series_sentence_86

It was a major commercial success; almost 3000 machines were sold. ICT 1900 series_sentence_87

ME29 ICT 1900 series_section_13

Based on a fully microprogrammed CPU, the Stanford EMMY commercialised by Palyn Associates, the ME29 was sold as a replacement for the 2903 and 2904, still executing the 1900 order code. ICT 1900 series_sentence_88

An EMMY processor emulating the IBM 360 order code was estimated to be around the speed of an IBM System/360 Model 50, implying that the ME29 was faster than the original ICT 1904, approaching the speed of the ICT 1906. ICT 1900 series_sentence_89

IBM 370/145 ICT 1900 series_section_14

In an effort to increase sales to ICL customers, and to profit from the difficulties ICL were having moving customers from the 1900 to the New Range, IBM introduced a microcode package for the 370/145 allowing execution of 1900 series programs. ICT 1900 series_sentence_90

Odra 1300 series ICT 1900 series_section_15

The Odra 1300 series (Odra 1304, Odra 1305 and Odra 1325) were a range of 1900 compatible machines built by Elwro in Wrocław, Poland between 1971 and 1978. ICT 1900 series_sentence_91

By agreement with ICL the Odra machines ran standard ICL software (executive E6RM, George 3). ICT 1900 series_sentence_92

ICL 2900 (New Range) systems ICT 1900 series_section_16

Second generation "S3E" (microcoded) versions of the larger New Range systems (such as the 2960/2966 from West Gorton, and the later 2940/50 from Stevenage), could run 1900 series code under DME (Direct Machine Environment) as an emulation as well as the New Range instruction set under the newer VME (Virtual Machine Environment). ICT 1900 series_sentence_93

Later CME (Concurrent Machine Environment) microcode was developed, which allowed DME and VME to co-exist (and run) concurrently on the same platform, similar to the functionality offered by virtualisation software such as VMware today. ICT 1900 series_sentence_94

Operating systems ICT 1900 series_section_17

Executive ICT 1900 series_section_18

The FP6000 ran under the control of operators executive, a simple operating system that allowed the operator using the system console to load programs from magnetic tape, cards or paper tape, allocate peripherals to programs and attribute priorities to running programs. ICT 1900 series_sentence_95

Executive performed all the I/O operations on behalf of user programs, allowing allocation of different peripherals as needed. ICT 1900 series_sentence_96

Despite its simplicity executive was, for the time, quite powerful, allocating memory to programs as needed (rather than the fixed partitions provided by OS/360). ICT 1900 series_sentence_97

This was possible because the FP6000 design contained hardware to aid multi-programming, datum and limit registers which made programs address independent and avoided one program accessing the memory allocated to another. ICT 1900 series_sentence_98

To allow more efficient use of peripherals, as well running multiple programs simultaneously, executive allowed a limited multi-threading within programs (each program could be split into up to four sub-programs, sharing the same address space, which were also time shared. ICT 1900 series_sentence_99

While one sub-program was waiting for peripheral activity another could continue processing). ICT 1900 series_sentence_100

An extended version of the FP6000 executive was provided with the ICT 1904/1905, and new versions were written for the ICT 1906/7 and ICT 1901/2/3. ICT 1900 series_sentence_101

An important task of these different versions was to hide the hardware differences between the different machines, providing emulation of missing instructions as extracodes. ICT 1900 series_sentence_102

The concept was that applications, and later operating systems, were written to run on the combination of the hardware and the executive, and so would run on any member of the series, no matter how different the underlying hardware was. ICT 1900 series_sentence_103

With the introduction of magnetic disk systems executive became more complex, using overlaying to reduce its memory footprint. ICT 1900 series_sentence_104

Disk based executives included features to simplify disk operations, handling file management (creation, renaming, deletion, resizing) on behalf of user programs. ICT 1900 series_sentence_105

Files were identified by 12 character names and a user program did not need to know which physical disk was being used for a file. ICT 1900 series_sentence_106

GEORGE ICT 1900 series_section_19

Main article: GEORGE (operating system) ICT 1900 series_sentence_107

In December 1964 ICT set up an Operating Systems Branch to develop a new operating system for the 1906/7. ICT 1900 series_sentence_108

The branch was initially staffed with people being released by the end of work on the OMP operating system for the Ferranti Orion. ICT 1900 series_sentence_109

The initial design of the new system, named George in part after George E. Felton, head of the Basic Programming Division, was based on ideas from the Orion and the spooling system of the Atlas computer. ICT 1900 series_sentence_110

The initial versions, George 1 (for the ICT 1901, 1902 and 1903 machines) was a simple batch processing system. ICT 1900 series_sentence_111

Job descriptions were read in from cards or paper tape, peripherals and magnetic tape files were dynamically allocated to the job which was then run, producing output on the line printer. ICT 1900 series_sentence_112

George 2 added the concept of spooling. ICT 1900 series_sentence_113

Jobs and input data were read in from cards or paper tape to an input well on disk or tape. ICT 1900 series_sentence_114

The jobs were then run, writing output to disk or tape spool files, which were then written to the output peripherals. ICT 1900 series_sentence_115

The input/processing/output stages were run in parallel, increasing machine utilisation. ICT 1900 series_sentence_116

On larger machines it was possible to run multiple jobs simultaneously. ICT 1900 series_sentence_117

George 1 and 2 ran as simple programs under executive (with trusted status that allowed them to control user programs). ICT 1900 series_sentence_118

George 3 was a complete operating system in itself, it used a much reduced executive responsible only for handling low level hardware access. ICT 1900 series_sentence_119

George 3 implemented both batch processing and Multiple online programming (MOP) – interactive use from terminals. ICT 1900 series_sentence_120

George 4 was introduced with the availability of paging hardware on the later machines and implemented paged virtual memory instead of the simple swapping used by George 3. ICT 1900 series_sentence_121

Minimop and Maximop ICT 1900 series_section_20

Main article: MINIMOP ICT 1900 series_sentence_122

Programming languages ICT 1900 series_section_21

ICT initially provided the PLAN assembly language and later the "big three" high-level languages: ALGOL 60, COBOL and FORTRAN 66. ICT 1900 series_sentence_123

The compilers were released in various versions, of increasing sophistication. ICT 1900 series_sentence_124

Initially paper tape and cards were used for input and output; later magnetic tape and finally disk files. ICT 1900 series_sentence_125

The first versions of the compilers ran in very limited space, starting around 4K words for PLAN and NICOL and as little as 16K words for FORTRAN and ALGOL. ICT 1900 series_sentence_126

Later versions for the George 3 and 4 operating systems expanded to sizes as large as 48K words. ICT 1900 series_sentence_127

Other languages available included: ICT 1900 series_sentence_128

ICT 1900 series_unordered_list_6

Applications software ICT 1900 series_section_22

Like many contemporary machines much application software was bundled with the basic system, including the compilers and utility programs. ICT 1900 series_sentence_129

Other software was available as paid options from ICT or other sources, including such exotic packages as Storm Sewer Design and Analysis. ICT 1900 series_sentence_130

ICT 1900 series_unordered_list_7

  • SCAN – Stock control system (Acronym: Stock Control and Analysis on Nineteen-hundred)ICT 1900 series_item_7_81
  • PERT – Project management system (Acronym: Project Evaluation and Review Technique)ICT 1900 series_item_7_82
  • PROSPER – Financial planning system (not the forerunner of today's spreadsheet programs that were originated by accountants more than one hundred years ago in the form of Analysis Ledgers). PROSPER (Profit Simulation, Planning and Evaluation of Risk) package extended the previous work contained in PROP (Profit Rating of Projects).ICT 1900 series_item_7_83
  • NIMMS – Production control system (Acronym: Nineteen-hundred Integrated Modular Management System)ICT 1900 series_item_7_84
  • COMPAY – Company payroll programICT 1900 series_item_7_85
  • DATADRIVE and DATAVIEW – Online data entry and enquiry system, capable of driving a large number of terminalsICT 1900 series_item_7_86
  • FIND – File Interrogation of Nineteenhundred Data (data analysis package)ICT 1900 series_item_7_87
  • – A tool for generating reports based on decision tables. Filetab was marketed by the National Computing Centre (NCC), set up by the British Government in Manchester. Initially, it was a very flexible, parameter-driven report generator with later versions allowing extensive file handling capabilities. The product was first known as NITA (Nineteen Hundred Tabulator) and later became known as TABN (Tabulator Nineteen Hundred). It would run on the ICL 1900 Series of machines, and later on both the 2900 Series and 3900 Series computers. TABN statements were either interpreted from punched cards at run-time, or they could be compiled to produce a program that could simply be executed. One of the attractions of writing programs in Filetab was its short development time.ICT 1900 series_item_7_88

Credits to the contents of this page go to the authors of the corresponding Wikipedia page: en.wikipedia.org/wiki/ICT 1900 series.