GE-645

From Computer History Wiki
Revision as of 22:58, 6 January 2023 by Jnc (talk | contribs) (+impl details)
Jump to: navigation, search

The GE-645 was a large mainframe computer, created for use by the Multics project. It had hardware support for a single-level store, around which Multics was organized, as well as paging; although the two are logically separate, the two were both implemented by the same hardware (the 'Appending Unit', the main addition to the GE-635, of which it was an enhanced descendant). The Multics group selected the GE-645, proposed to it by General Electric, after IBM refused to add necessary features, such as virtual memory, to the System 360.

Addresses in the GE-645 were notionally 36 bits wide (it was a 36-bit machine, as was common for scientific computers in that period): an 18-bit segment number, and an 18-bit offset within the segment. Due to its legacy as a modified GE-635, instructions, and many of the internal registers in the CPU, did not directly handle full 36-bit addresses, though.

Registers

The CPU included a single-width accumulator; a single-width 'multiplier quotient'; eight half-with index registers; a half-width Instruction Counter (the Program Counter); a half-width Procedure Base Register (these last two together formed a full segment-addressed PC); a Descriptor Base Register (below); and eight Address Base Registers (likewise).

The Descriptor Base Register (DBR) points to the 'descriptor segment', which is an array of 'segment descriptor words' (SDWs) - one for each segment in a process' address space. When switching to a different process, only the DBR needs to be reloaded.

An Address Base Register (ABR) can be used to hold a segment number; an instruction can specify that its data address is formed from the segment number in an ABR, and an offset in the instruction. ABRs can also be paired, so that one contains an offset, and a second (specified in the first ABR) contains the segment.

Modes

A GE-645 CPU operated in either Absolute mode, in which memory management was disabled; Master mode, in which the memory management was operational (although certain limitations were disabled), but there were no limitations on which instructions could be executed; or Slave mode, in which all user code normally operated:

Limitation Mode
  Absolute Master Slave
Privileged instructions Yes Yes No
Interrupt inhibit Yes Yes No
Instruction fetch Absolute Segmented Segmented
Operand fetch Either Segmented Segmented
Controlled access No Yes Yes

Implementation

The basic overall architecture of the GE-645 was inherited from the GE-635 (although larger configurations were supported): it was a tightly-coupled multi-processor, with all the CPUs sharing access to a collection of multi-port memory modules. I/O activities were handled by Input/Output Controller modules, which similarly shared access to the memory modules.

It was made from discrete transistors; among the last computers to be so constructed. Very few were built; known instances were at MIT, GE Phoenix, Bell Labs Murray Hill, Rome Air Development Center, Honeywell Billerica, and Bull Paris.

External links