ICL 2900 Series

When ICL was formed in 1968 as a result of the merger of International Computers and Tabulators (ICT) with English Electric Leo Marconi and Elliott Automation, the company considered several options for its future product line.

These included enhancements to either ICT's 1900 Series or the English Electric System 4, and a development based on J. K. Iliffe's Basic Language Machine.

There are two kinds of shared memory: public segments used by the operating system (which are present in all virtual machines), and global segments used for application-level shared data: this latter mechanism is used only when there is an application requirement for two virtual machines to communicate.

This was a forward-looking decision at the time, because it was expected that the dominant programming languages would initially be COBOL and FORTRAN.

However, in practice, all machines in the 2900 series implement a common order code or instruction set, known as the PLI (Primitive Level Interface).

It is possible to use ISO (essentially ASCII) instead of EBCDIC by setting a control bit in a privileged register; among other things, this affects certain decimal conversion instructions.

The efficiencies achieved by the 2900 architecture, notably the avoidance of system call overheads, compensated for relatively slow raw hardware performance.

The 2980 allowed one or two order code processors (OCPs), each operating at up to 3 million instructions per second, with real memory configurable up to 8 megabytes, with a 500 nanosecond access time.

Unlike the 2980, the 2970 and the subsequent 2960 were microcoded, and thus allowed emulation of instruction sets such as that of the older 1900 Series or the System 4.

A 2900 Series machine was constructed from a number of functional modules, each contained in a separate cabinet.

Peripheral devices were connected using ICL's Primitive Interface (Socket/Plug and cable set) to a Port Adapter on the SMAC.

Logical addressing was employed and used a group scheme to identify system components in terms of Ports, Trunks, and Streams.

The boot process for the 2960 Series merits special mention: the OCP contained a mini OPER terminal and a cassette deck.

The IPL code provided the means for the OCP to discover the system's hardware configuration by enquiring down the Stream(s), Trunk(s), and Port(s) to find the default or manually elected boot device for the microcode set and/or Operating System to be booted.

An ICL 2966 Model 39
ICL 2966 disk drives
Operator adding unit
Operator adding unit
An ICL 7561 terminal, used as an operator console