Patent GB-980352-A (GB)
Title: Program interrupt system for data processor
IPC: G06F9/46
Filed: 1963-06-20
Abstract: 980, 352. Electronic digital computers. SPERRY RAND CORPORATION. June 20, 1963 [July 3, 1962], No. 24510/63. Heading G4A. In a data processing system which can operate under the control of a plurality of stored programs, operational registers such as program address counters, accumulators and index registers are associated with the various programs so that when a program being executed is interrupted, the data in the operational registers associated with that program need not be specially stored and retrieved but is immediately available when the interrupted program is resumed. A selecting circuit is operative during an instruction cycle to select the operational registers associated with the program to be executed. The need for an "executive" or "housekeeping" program to control interrupts is thus obviated. General arrangement. The system described and shown in Fig. 1 is a small digital computer having a core matrix memory for storing 4096 7-bit words, each identified by a 12-bit (=4 octal digits) address. An instruction word comprises 14 bits in two adjacent memory locations and takes the form where f designates a function code, y the lowest six bits if an operand address, the higher six bits being obtained from an index register (B register) defined by the b bits. Numbers are represented in binary coded octal form. The 7-bit operand thus identified may be arithmetically combined with the contents of an accumulator register (A register) defined by the a bits of the instruction. The a bits can alternatively denote two additional function digits, or in an input-output operation can define features such as the direction of transfer. The computer includes also a 12-stage memory address register (S register); a 7-stage memory access register (Z register), a 7-stage register (X register) for holding an operand read from the memory; a logical adder of the 1's complement subtractive type for summing the contents of the Z andX registers; a 14-stage current instruction register (U register); a repeat instruction control unit comprising a 12-stage register (R register) for holding and modifying an operand address and an 8-stage counter (Rk register) for counting the number of repeats; and two input-output (I/O) channels. interrupt features. The computer has means for executing any one of eight different programs stored in the memory, which programs may be arranged in order of priority. Each program has, stored in the memory, an associated program address counter P and accumulator and index registers A and B. The occurrence of any one of seven possible interrupting events sets a corresponding stage in a 7-stage interrupt status register (I register). At the start of an instruction cycle, the highest priority set stage of the I register causes a 3-stage I c  register to be set to a corresponding value thereby providing an address prefix for addressing the particular program register P in the memory associated with the requested program. During the execution of any instruction in this program the 3-bit content of the I c  register continuously provides by application to the memory address register S, an appropriate prefix for addressing the A and B registers associated with the program being executed. The interrupt signals may arise either internally or externally. The computer has provision for changing the contents of the interrupt status register in accordance with a current instruction, for example the y designator and lower order b bit of the b designator of an instruction may be used to set the stages of the interrupt status register I in accordance with the binary "1"s in the y bits and b bit. Instruction sequence counter, Fig. 9. The computer instruction sequence counter comprises three flip-flop stages 9-10 to 9-12 which are controlled by a gating arrangement and auxiliary flipflop 9-13 so that successive input pulses from an input 9-37 cause the three counter stages to count in the Gray (monophylic) code: - The outputs of the flip-flops 9-10 to 9-12 may be connected via gates 9-17 to 9-24 to provide sequential outputs on lines SCO to SC7, in response to successive input pulses. Other circuit details. The various registers shown in Fig. 1 are described in detail in the Specification with reference to Figs. 3-8, 10-22 (not shown) and employ flip-flops and logical gates of the AND-inverter type (Fig. 2a, not shown) comprising transistors.