CENTRAL PROCESSING UNIT
The various elements in a SIGMA 2 system - memories,
input/output devices, and device controllers - are orga-
nized around a central processing unit (CPU), whichis.the
primary control Iing element for most system functions. Not
only does the CPU execute instructions, but it also controls
all input/output for both the byte-oriented and the direct
I/O systems. Basically, the SIGMA 2 CPU consists of a
register block and an arithmetic and control unit (see Fig-
ure 2).
REGISTER BLOCK
The CPU register block consists of high-speed, integrated-
circuit registers that are capable of communicating with the
arithmetic and control unit simultaneous with the operation
of the core memory. The register block is functionally di-
vided into three parts: general registers, I/o channel reg-
isters, and memory protection system registers. Each register
of the block is 16 bits in length and is identified by an ad-
dress code in the range 0 through 7 for general registers,
8 through 47 for I/O channel registers, and 0 through 15
for protection system registers. Specific configurations of
the READ DIRECTand WRITEDIRECTinstructions are used
to transfer information from the accumulator (general reg-
ister 7) to other registers of the register block, and vice
versa (see Chapter 3, "Direct Control Instructions").
General Registers
Eight registers of the register block are used mainly for
storage of program control information. These registers
are addressable by a COpy instruction (for register-to-
register operations) and by certain configurations of the
READ DIRECTand WRITEDIRECTinstructions (for internal
computer control operations). The functions of the general
registers are as follows:
Address Designation Functi on
0 Z
Source of zeros for copy
1
P
Program address
2
L Link address
3
T
Temporary storage
4
Xl
Index 1 (post-index)
5
X2 Index 2 (pre-index or base)
6
E Extended accumuIator
7 A Accumulator
A reference to the Z register in a COpy instruction pro-
duces a value of zero. The P register contains the address
of the next instruction which would be executed in normal
sequence. The six remaining registers can be used for vari-
ous purposes by a program.
I/O Channel Registers
The next eight registers of the register block are used to
hold control information for the four standard SIGMA 2
I/o channels (two registers are used for each channel).
Additional I/O channel registers can be added, in groups
of eight (up to a maximum of 40 registers, or 20 I/O chan-
nels). The I/O channel registers are loaded with control
information from the accumulator by a specific configuration
of the WRITEDIRECTinstruction. The operation of I/O
channel registers is described in Chapter 4, "I/O Control
Doublewords" .
Protection System Registers
Sixteen optional registers are available for both operation
protection and memory write protection. Each bit in this
16-register group provides protection for a single 256-word
"page" of core memory. (A complete discussion of this
feature is given on page 13.)
ARITHMETIC AND CONTROL UNIT
The arithmetic and control unit contains the necessary regis-
ters and control circuitry to access general registers or core
memory, to modify instruction addresses, to perform arithme-
tic and logical operations, to provide indications of compu-
tational results, and to preserve interrupt status information.
Basically, the arithmetic and control unit consists of arith-
metic and control registers and program status indicators.
Arithmeti c and Control Registers
Three 16-bit registers (S, H, and D) and an adder are used
to perform arithmetic and logical manipulations and to modi-
fy instruction addresses (see" Effective Address Computation").
Program Status Doubleword
When an interrupt occurs, the current state of the operating
program is saved by the automatic storing of a program status
doubleword (PSD), which is generated automatically from
information in the program status indicators and general reg-
isters. When stored in memory, the PSD has the format
The first word of the PSD contains five status indicators:
protected program (PP), internal interrupt inhibit (II), ex-
ternal interrupt i.!1hibit (EI), overflow
(0),
and carry (C).
The second word of the PSD is the current contents of the
program address register (general register 1). (Use of the
PSD in interrupt entry and exit is discussed on page 12.)
The protected program indicator bit is a 1 if the current pro-
gram is located in an area of core memory that is protected
by the memory protection option; otherwise, this bit is a
O.
The internal and external interrupt inhibits determine whe-
ther a program interruption can occur. If an interrupt in-
hibit is 0, the respective interrupt levels are allowed to
interrupt the program being executed. Conversely, if an
interrupt inhibit is a 1, the respective interrupt levels are
inhibited from interrupting the program. Inhibiting inter-
rupt levels also removes them from the interrupt system pri-
ority chain, allowing a lower-priority interrupt level to
interrupt the program. (Note, however, that the op-
tional override group of internal interrupt levels cannot
be inhibited.)
Central Processing Unit 5