previous | contents | next

Section 6

Processors with multiprogramming ability

The processors in this section have features which allow multiple programs to exist in the primary memory at the same time. The programs can be executed alternately by a single processor without having to wait for new programs to be input. The cost is only that of changing the processor state, which involves only a few instructions at most (and only one instruction on some systems, such as the CDC 6600). Since programs are subject to numerous unpredictable delays within a single run for inter change with the external environment (either via Ms or T), substantial increases in Pc utilization can be achieved by multiprogramming. If more than a single processor has access to Mp, the system is called a multiprocessor system.

Time-shared computers are generally multiprogrammed. Alternatively, time-shared systems can be implemented by swapping programs, one at a time, into primary memory for interpretation. The Berkeley Time-Sharing System (Chap. 24) uses both multiprogramming and program swapping. The Burroughs B 5000 (Chap. 22) is an early computer to have multiprogram capability. The idea of multiprogramming is so fundamental that it should be among the first concepts to be understood by the student of computing systems. A very nice review of memory mapping and storage allocation is presented in the paper Dynamic Storage Allocation Systems [Randell and Kuehner, 1968].

Atlas

The Atlas is one of the most important machines described in this book. The prototype was originally designed and constructed at Manchester University. The Atlas 1 and Atlas 2 were produced by Ferranti Corp. (prior to becoming part of I.C.T.1). Atlas 1 is the most interesting; it incorporates most of the features of the Atlas prototype. The Lincoln Laboratory TX-2 [Clark, 1957] influenced some Atlas features: multiple index registers and interrupt processing of input/output devices. Atlas' detailed internal structure is described in a paper [Sumner et al., 1962].

Two original features, one-level storage and extracodes, have been copied in many other machines. A one-level store is common to most new computers which are time-shared or multi-programmed; the scheme for memory paging in the SDS 940 is essentially that of Atlas.

The extracodes feature allows ordinary machine operation codes to be used to call subroutines. Commonly used complex instructions (such as sin, cos, and monitor calls) can be written in a common operating system accessible to all users. Initially these subroutines were stored in a read-only memory.

The ISP is straightforward and extremely nice. The extra- code idea appears in the SDS 900 series and was used in the SDS 940 system for defining common-user instructions. The IBM System/360 SVC (supervisor call) instruction is an adaptation of the extracode.

Atlas was about the earliest computer to be designed with a software operating system and the idea of user machine in mind. The operating system has been nicely described [Kilburn et al., 1961] and evaluated [Morris et al., 1967].

In a letter to the authors of this book, F. H. Sumner makes the following comments on Atlas.

The initial ideas and the preliminary research on the Atlas computer system started in the Department of Computer Science of the University of Manchester in 1956. The team, under the direction of Professor T. Kilburn, was later supplemented by several members of the CT. Computer Research Department, and the prototype machine was working in the department by the Autumn of 1961. The first production model became operational in January 1963.

The significant features of the system can be summarised as:

1 The provision of a virtual address field greater than the real address space.

2 The implementation of a "one-level" store using a mixture of core store and drum store.

3 The interrupt system and the method of peripheral control.

4 The realisation at the design stage that there would be a complex operating system and the provision in the hardware of specific features to assist such an operating system.

1International computers and Tabulators, U. K.

274

previous | contents | next