Cyber_840A 870A_ _170_State_HRM.60463560C.1987 Cyber 840A 870A 170 State HRM.60463560C.1987

Cyber_840A-870A_-_170_State_HRM.60463560C.1987 Cyber_840A-870A_-_170_State_HRM.60463560C.1987

User Manual: Pdf Cyber_840A-870A_-_170_State_HRM.60463560C.1987

Open the PDF directly: View PDF PDF.
Page Count: 260

DownloadCyber_840A-870A_-_170_State_HRM.60463560C.1987 Cyber 840A-870A - 170 State HRM.60463560C.1987
Open PDF In BrowserView PDF
System Description

This c h a p t e r i n t r o d u c e s t h e computer systems, i d e n t i f i e s t h e i r p h y s i c a l and
f u n c t i o n a l c h a r a c t e r i s t i c s , and provides d e s c r i p t i o n s of major system
components.

Introduction
The computer systems a r e l a r g e - s c a l e , h i g h s p e e d systems f o r both b u s i n e s s and
s c i e n t i f i c a p p l i c a t i o n s . The systems i n c l u d e t h e f o l l o w i n g components.
C e n t r a l p r o c e s s o r (CP).
C e n t r a l memory (CM).
I n p u t / o u t p u t u n i t (IOU).

Physical Characteristics
The mainframe c o n f i g u r a t i o n f o r t h e computer system ( f i g u r e 1-1) i n c l u d e s an
i n t e r c o n n e c t e d t h r e e - s e c t i o n c a b i n e t f o r t h e CP, CM, and IOU. System o p e r a t i o n
a l s o r e q u i r e s t h e system console. A second CP, which i s contained i n an
a d d i t i o n a l one-bay s e c t i o n i s s t a n d a r d on a n 870A and o p t i o n a l on a n 860A. I n
a d d i t i o n t o t h e s t a n d a r d I O U u n i t , an o p t i o n a l DMA ( d i r e c t memory a c c e s s ) I O U
i s a v a i l a b l e with a l l models.
Each c a b i n e t s e c t i o n c o n t a i n s a l o g i c c h a s s i s w i t h plug-in c i r c u i t boards. The
CP c a b i n e t s e c t i o n comprises t h r e e a t t a c h e d s u b s e c t i o n s , each w i t h s e p a r a t e
power and c o o l i n g f a c i l i t i e s . Each c a b i n e t s e c t i o n a l s o c o n t a i n s an a c / d c
c o n t r o l s e c t i o n w i t h v o l t a g e margin t e s t i n g f a c i l i t i e s and d c power s u p p l i e s .
A stand-alone water-cooling u n i t ( s ) provides c o o l i n g f o r t h e CP s u b s e c t i o n s ,
CM, and IOU. For s p e c i f i c c o o l i n g c o n f i g u r a t i o n s , r e f e r t o t h e mainframe s i t e
p r e p a r a t i o n manual l i s t e d i n t h e preface.
For a d d i t i o n a l c o o l i n g o r power
i n f o r m a t i o n , r e f e r t o t h e c o o l i n g system and power system manuals l i s t e d i n t h e
preface.

I

I

Functional Characteristics

-I----

---d

1

I
IOU

CM

INTERBAY

I

WATER
COOLING

A

SYSTEM
CONSOLE

CPO

r

I

I
L---A

,

+

IOU

a

NOTES:
CP1 OPTIONAL WlTH 860A. STANDARD WlTH 810A.
A SECOND WATER COOLING UNlT IS REQUIRED
FOR CPI.
OPTIONAL DMA (DIRECT MEMORY ACCESS) IOU.

F i g u r e 1-1.

Physical Characteristics

Functional Characteristics
To a c h i e v e h i g h computation s p e e d s , t h e computer system u s e s emitter-coupled
High speed i s a l s o t h e
l o g i c (ECL) and l a r g e - s c a l e i n t e g r a t i o n ( L S I ) l o g i c .
o b j e c t i v e of t h e CP d e s i g n , which is based on t h e assumption t h a t both d a t a and
i n s t r u c t i o n s a r e , i n most cases, a c c e s s e d from s u c c e s s i v e memory l o c a t i o n s .
Accordingly, t h e CP p r e f e t c h e s b o t h i n s t r u c t i o n s and d a t a t h a t a r e expected t o
be used n e x t w h i l e t h e c u r r e n t i n s t r u c t i o n i s being processed.
The semiconductor c e n t r a l memory i s d i v i d e d i n t o e i g h t independent banks.
These banks may a l l be s i m u l t a n e o u s l y i n t h e p r o c e s s of completing r e a d l w r i t e
r e q u e s t s t h a t a r e queued and d i s t r i b u t e d a t ECL speeds. System i n p u t / o u t p u t
speeds a r e determined by t h e c a p a b i l i t i e s of e x i s t i n g e x t e r n a l d e v i c e s .

CP Characteristics

Characteristics
Central Processor
The CP has the following characteristics.
60-bit internal word.
Eight 60-bit operand (x) registers.
Eight 18-bit address (A) registers.
Eight 18-bit index (B) registers.
Two registers that isolate each user's central memory space ( U C , FLC).

TWO registers that isolate each user's extended memory space (RAE, FLE)
Register exchange instructions (exchange jumps) for interrupting programs.
Floating-point arithmetic (10-bit exponent plus sign bit, 48-bit
Some FP instructions use 96-bit (doublecoefficient plus sign bit).
precision) coefficients.
Integer arithmetic (60/18-bit operands).
Character string compare/move facilities (6-bit characters).
Packed instructions (15/30/60-bit instructions in 60-bit words).
Synchronous internal logic.
64-9

clock period.

2048-word cache buffer memory; option available for 4096-word cache.
Instruction and branch instruction look-ahead.
Microcode control.
Parity checking of all major data and address paths.
Maintenance channel to IOU.

C M Characteristics

Central Memory
The CM has the following characteristics.
72-bit data word (60 data bits; 8 single-error correction, double-error
detection bits; and 4 unused bits).
2097K words (16 Mbytes) of dynamic random access memory; options available
to 167 76K words (128 Mbytes).
Organization of eight independent banks.
Two memory ports (located in the central processor cabinet).
Bounds register to limit write access.
6411s clock period.

Maximum data transfer rate of one word every 32 ns.
4643s read access time.
384-8

readhite cycle time.

768-8

partial write cycle time.

Read and write data queuing capability.
Single-error correction, double-error detection (SECDED) on stored data.
Parity checking of all major data, address and control paths.
Unified extended memory (UEM), which serves as extended memory within CM.

IOU Characteristics

InputIOutput Unit
The LOU h a s t h e f o l l o w i n g c h a r a c t e r i s t i c s .
Twenty p e r i p h e r a l p r o c e s s o r s ( P P s ) . Each PP h a s 4K o r 8K of independent
memory (PPM) comprised of 16-bit words w i t h t h e upper 4 b i t s e q u a l t o 0 .
P o r t t o c e n t r a l memory.
Bounds r e g i s t e r t o l i m i t w r i t e s t o c e n t r a l memory.
Twent y-f o u r 12-bit CYBER 170 c h a n n e l s t o e x t e r n a l d e v i c e s .
Real-time c l o c k ( c h a n n e l 1 4 8 ) .
D i s p l a y c o n t r o l l e r (CYBER 170 c h a n n e l 108).
Two-port m u l t i p l e x e r ( c h a n n e l 1 5 8 ) .
Maintenance c h a n n e l ( c h a n n e l 178).
P a r i t y checking on a l l major d a t a and a d d r e s s p a t h s .
O p e r a t i n g speed o f 250 ns and a minor c y c l e of 50 ns.
O p t i o n a l c o n c u r r e n t i n p u t / o u t p u t (CIO) PPs and d i r e c t memory a c c e s s (DMA)
1/0 channel adapters.

Major System Component Descriptions

Major System Component Descriptions
The major system components include:
r

Central processor (CP)

0

Central memory (CM)

0

~nput/outputunit (IOU)

r

System console

The remainder of the chapter provides brief descriptions of the major system
components. The descriptions refer to the computer system block diagram
(figure 1-2).

Central Processor (CP)
The central processor (CP) hardware (figure 1-2) consists of the following.
0

Instruction section.
Registers.

0

Execution section.
Cache memory.

0

Addressing section.

0

Central memory control.

The CP is isolated from the IOU and, therefore, is able to carry on computation
or character manipulation unencumbered by I/O requirements.

Instruction Section
The instruction section directs the arithmetic and manipulative functions for
instruction execution. The instruction section prefetches instruction words
from memory and disassembles them into instructions..

Major System Component Descriptions

Registers
Operating registers reduce storage accesses for operands used during the
execution of an instruction. These registers are:
Eight 60-bit X registers (XO through X7), which hold operands used for
computation.
Eight 18-bit A registers (A0 through A71, which use A0 primarily for
indexing and Al through A7 for CM operand addressing.
Eight 18-bit B registers (BO through B7), which are primarily indexing
registers to control program execution. The BO register always contains
all 0's.
Eight support registers support the operating registers during program
execution. These registers are:
18-bit program address (PI register.
21-bit reference address for CM (RAC) register. This is a program's lower
bound.
21-bit field length for CM (FLC) register.

This is a program's upper bound.

6-bit exit mode (EM) register.
6-bit flag register.
21-bit reference address for UEM (RAE) register.
24-bit field length for UEM (FLE) register.
18-bit monitor address (MA) register.
The registers store data and control information, present operands to the
execution section, and store results.
The operating and support registers reside in the operand issue section.

Major System Component Descriptions

Execution Section
The execution section combines the operands'to achieve the result.

Cache Memory
The cache memory consists of two sets of fast bipolar memory that are capable
of storing 2048 60-bit words. Cache memory can be expanded to four sets of
bipolar memory with a capacity of 4096 words. The memory addressing sections
determine whether a requested word is in the cache memory. If the word is not,
they read four consecutive words from central memory into the cache memory.

Addressing Section
The addressing section checks memory addresses against the CP registers RAC,
FLC, RAE, and FLE to ensure isolation of user memory space.

Central Memory Control .
Central memory control (CMC) is integrated within the CP. CMC controls the
flow of data between CM and requesting system components.

Major System Component Descript~ons

Central Memory (CM)
The CM (figure 1-2) consists of the following items.
Eight memory banks.
Memory ports.
Distributor.
The CM is a dynamic random access memory organized into eight independent banks.
A portion of CM can be reserved for use as extended memory. This portion,
which is called unified extended memory (UEM), is referenced by the RAE and FLE
registers. The UEM operates in either 24-bit format standard addressing mode
or 30-bit format expanded addressing mode.

One memory port has a queuing buffer.
processor cabinet.

The ports are located in the central

The distributor resolves port conflicts and multiplexes data from ports to the
storage unit. It includes the error correction code (ECC) generator, SECDED,
and partial-write logic. The distributor is located in the central processor
cabinet

.

Major System Component Descriptions

I
I

I
INSTRUCTIONS

1

I

CENTRAL
MEMORY

,I

I
I

I

INSTRUCTION
SECTION

CACHE
MEMORY

--

1

REGISTERS

.

OPERANDS

I

-i

-4

4

b

EXECUTlON
SECTION

I

ADDRESSING
SECTION

F
4
I
I
MAINTENANCE
ACCESS
CONTROL

CENTRAL
PROCESSOR

----------J
MAINTENANCE CHANNEL
MAINTENANCE CHANNEL

MAINTENANCE
CHANNEL

r------------------

-1

I

I

SYSTEM

4

!

I
I

CONSOLE
CONTROLLER

Cr

CYBER 170 I/OCHANNELS

v v * . v
,

I

PERIPHERAL
PROCESSORS

I

L

INPUTIOUTPUT U N I T

+ +

RS 232.C INTERFACE

Figure 1-2.

System Block Diagram

I
I
I

Major System Component Descriptions

InputIOutput Unit (IOU)
The i n p u t / o u t p u t u n i t (IOU) c o n s i s t s o f :
Twenty l o g i c a l l y i n d e p e n d e n t , non-concurrent i n p u t / o u t p u t (NIO) p e r i p h e r a l
p r o c e s s o r s ( P P s ) , Options a r e a v a i l a b l e t o i n c r e a s e t h e t o t a l t o 25 o r 30

PPs

.

a

F i v e o r t e n o p t i o n a l l o g i c a l 1y i n d e p e n d e n t , c o n c u r r e n t i n p u t / o u t p u t (CIO)
PPs and direct-memory access (DMA) c h a n n e l a d a p t e r s .

0

I n t e r n a l i n t e r f a c e t o 24 1 / 0 c h a n n e l s .
t h e t o t a l t o 34 c h a n n e l s .

Options a r e a v a i l a b l e t o i n c r e a s e

External i n t e r f a c e s t o 1 / 0 channels:

-

a

11 o r 23 CYBER 170 c h a n n e l i n t e r f a c e s .
D i s p l a y c o n t r o l l e r i n t e r f a c e (CYBER 170 channel 108).

-

Two-port m u l t i p l e x e r i n t e r f a c e ( c h a n n e l 158).

-

Maintenance channel i n t e r f a c e ( c h a n n e l 178).

Real-time c l o c k i n t e r f a c e ( c h a n n e l 148).

I n t e r f a c e t o c e n t r a l memory.
Bounds r e g i s t e r t o l i m i t w r i t e s t o CM.

The PPs a r e o r g a n i z e d i n groups of f i v e , which a r e c a l l e d b a r r e l s . The PPs i n
a b a r r e l time-share common hardware.
Each PP h a s i t s own 4 K o r 8K i n d e p e n d e n t
memory and communicates w i t h a l l 1 / 0 c h a n n e l s and w i t h c e n t r a l memory.

System Console
The system c o n s o l e , which i s r e q u i r e d f o r system o p e r a t i o n , p r o v i d e s a v i s u a l ,
alphanumeric r e a d o u t f o r t h e computer. The r e c e i p t of symbol and p o s i t i o n
i n f o r m a t i o n from t h e computer e n a b l e s d i s p l a y i n g program i n f o r m a t i o n on a
cathode-ray t u b e (CRT).
The s t a t i o n a l s o c o n t a i n s an alphanumeric keyboard
t h a t e n a b l e s a n o p e r a t o r t o send d a t a t o t h e computer.
The keyboard and CRT
combination p e r m i t s t h e computer o p e r a t o r t o monitor and c o n t r o l system
o p e r a t i o n . Except f o r programming i n f o r m a t i o n i n c h a p t e r 5 , r e f e r t o t h e CDC
7 2 1 hardware r e f e r e n c e manual l i s t e d i n t h e p r e f a c e f o r f u r t h e r system c o n s o l e
information.

I
I

2
Functional Descriptions

Functional Descriptions

T h i s c h a p t e r p r o v i d e s f u n c t i o n a l d e s c r i p t i o n s of t h e c e n t r a l p r o c e s s o r (CP),
c e n t r a l memory (CM), and i n p u t l o u t p u t u n i t ( I O U ) as shown i n t h e b l o c k diagrams
i n c h a p t e r 1. F u n c t i o n a l d e s c r i p t i o n s f o r t h e system d i s p l a y s t a t i o n a r e i n
t h e CDC 721 hardware r e f e r e n c e manual; d e s c r i p t i o n s of t h e water-cooling system
a r e i n t h e c o o l i n g system manual; b o t h manuals a r e l i s t e d i n t h e p r e f a c e .

Central Processor
The CP c o n s i s t s of t h e i n s t r u c t i o n s e c t i o n , r e g i s t e r s , t h e e x e c u t i o n s e c t i o n ,
cache memory, t h e a d d r e s s i n g s e c t i o n , and c e n t r a l memory c o n t r o l .

Instruction Section
The i n s t r u c t i o n s e c t i o n c o n s i s t s a f l o g i c f o r i n s t r u c t i o n c o n t r o l .

lnstruction Lookahead
The i n s t r u c t i o n lookahead hardware ( ILH) pref e t c h e s a maximum of 12
i n s t r u c t i o n s t o make t h e n e x t i n s t r u c t i o n immediately a v a i l a b l e when t h e
execution of t h e p r e v i o u s i n s t r u c t i o n i s completed. T h i s i s accomplished by
r e a d i n g i n s t r u c t i o n s from cache/CM i n t o a series o f b u f f e r r a n k s .
The ILH responds t o both n e g a t i v e and p o s i t i v e r e s o l u t i o n of a c o n d i t i o n a l
branch by purging t h e b u f f e r r a n k s and r e i n i t i a l i z i n g t h e i n s t r u c t i o n f e t c h
unit.
When ILH d e t e c t s a c o n d i t i o n a l branch, i t assumes t h a t t h e branch c o n d i t i o n
w i l l be met.
ILH computes t h e branch t a r g e t a d d r e s s and r e a d s i n s t r u c t i o n s
from cache/CM s t a r t i n g a t t h e t a r g e t a d d r e s s . I f t h e branch i s t a k e n , t h e
b u f f e r ranks c o n t a i n t h e n e x t e x e c u t a b l e i n s t r u c t i o n words.
I f t h e branch i s
not t a k e n , t h e hardware purges t h e b u f f e r ranks and resumes p r e f e t c h i n g a t t h e
i n s t r u c t i o n word f o l l o w i n g t h e u n s a t i s f i e d branch i n s t r u c t i o n .

Maintenance Access Control
The maintenance a c c e s s c o n t r o l performs i n i t i a l i z a t i o n and maintenance
o p e r a t i o n s i n t h e CP.

Instruction Section

l nstruction Control Sequences
The instruction control section performs instruction translation and control
sequences. Each control sequence obtains the necessary instruction operands
from the operating registers and provides the control signals for execution.
Instructions read from CM are 60-bit instruction words that are in four 15-bit
groups, two 30-bit groups, or a combination of 15-bit and 30-bit groups. The
15-bit groups are termed parcels with the first parcel (parcel 0 ) being the
highest-order 15 bits of a 60-bit CM word. Second, third, and fourth parcels
(parcels 1, 2, and 3) follow in order. The 30-bit groups contain two 15-bit
parcels.
The instruction control sequences control the execution of one or more
instructions of a common type. These sequences and associated instructions are
briefly described in this chapter. For further information, refer to CP
Instruction Descriptions in chapter 4.

8001ean Sequence
The Boolean sequence controls instructions that require bit-by-bit data
manipulation. This includes both the logical and transmissive operations. The
instructions requiring logical operations are:

*
Xj +
Xj -

11

Logical product (Xj) and (Xk) to Xi

BXi Xj

Xk

12

Logical sum of (Xj) and (Xk) to Xi

BXi

Xk

13

Logical difference of (Xj) and (Xk) to Xi

BXi

15

Logical product of (Xj) with complement of (Xk) to Xi

BXI -Xk

*

Xj

16

Logical sum of (Xj) with complement of (Xk) to Xi

BXi -Xk

+

Xj

17

Logical difference of (Xj) with complement of
(Xk) to Xi

The instructions requiring transmissive operations are:
10

Transmit (Xj) to Xi

BXI Xj

14

Transmit complement of (Xk) to Xi

BXi

-

Xk

Xk

Instruction Section

Shift Sequence
The s h i f t sequence c o n t r o l s i n s t r u c t i o n s t h a t r e q u i r e s h i f t i n g t h e 60-bit
f i e l d of d a t a w i t h i n t h e operand word. The s h i f t i n s t r u c t i o n s a r e :

20

Left s h i f t (Xi) by jk

LXI jk

21

Right s h i f t ( x i ) by jk

AXi jk

22

Left s h i f t (Xk) nominally (Bj) places t o X i

LXi Bj, Xk

23

)
to X i
Right s h i f t (Xk) nominalLy ( ~ j places

AXI Bj, Xk

43

Form mask of jk b i t s t o X i

M X i jk

The s h i f t sequence a l s o c o n t r o l s t h e pack and unpack i n s t r u c t i o n s . I n t h e
packed f l o a t i n g format, t h e c o e f f i c i e n t i s contained i n . t h e lower 48 b i t s .
The s i g n and biased exponents a r e contained i n t h e upper 1 2 b i t s . The unpack
i n s t r u c t i o n o b t a i n s the packed word from the Xk r e g i s t e r , d e l i v e r s the
c o e f f i c i e n t t o t h e X i r e g i s t e r , and d e l i v e r s the exponent t o t h e Bj r e g i s t e r .
The unpack and pack i n s t r u c t i o n s a r e :
26

Unpack (Xk) t o X i and Bj

U X i Bj, Xk

27

Pack (Xk) and (Bj) t o X i

PXi Bj, Xk

The s h i f t sequence a l s o c o n t r o l s t h e normalize operations. The c o e f f i c i e n t
p o r t i o n of t h e operand i s r e p o s i t i o n e d , and the exponent i s a d j u s t e d so that
t h e most s i g n i f i c a n t b i t of t h e c o e f f i c i e n t i s i n t h e highest-order b i t
p o s i t i o n of t h e c o e f f i c i e n t , and t h e exponent i s decreased by t h e number of
b i t p o s i t i o n s s h i f t e d . The normalize i n s t r u c t i o n s are:

24

Normalize (Xk) t o X i and B j

N X i Bj, Xk

25

Round normalize (Xk) t o X i and Bj

Z X i Bj, Xk

Instruction Section

Floa ring-Add Sequence
The floating-add sequence c o n t r o l s t h e o p e r a t i o n s necessary t o form t h e 48-bit
f l o a t i n g sum with a 12-bit exponent of t h e f l o a t i n g - p o i n t sum o r d i f f e r e n c e of
two f l o a t i n g - p o i n t operands. The fl o a ting-add i n s t r u c t i o n s a r e :
30

F l o a t i n g sum of (Xj) and ( ~ k )t o X i

FXi X j

+ Xk

31

F l o a t i n g d i f f e r e n c e of ( X j ) and (Xk) t o X i

F'Xi X j

-

Xk

32

F l o a t i n g double-precision sum of (Xj) and
(Xk) t o X i

DXI X j

+

Xk

33

F l o a t i n g double-precision
(Xk) t o X i

DXi X j

-

Xk

34

Round f l o a t i n g sum of (Xj) and (Xk) t o X i

RXi X j

+

Xk

35

Round f l o a t i n g d i f f e r e n c e of (Xj) and (Xk) t o X i

RXi X j

-

Xk

d i f f e r e n c e of (Xj) and

Floating-Multiply and Floating-Divide Sequence
The f l o a t i n g - m u l t i p l y and f l o a t i n g - d i v i d e sequence c o n t r o l s the o p e r a t i o n of
f l o a t i n g - m u l t i p l y , f l o a t i n g - d i v i d e , and population-count i n s t r u c t i o n s .
The m u l t i p l y i n s t r u c t i o n s a r e :
40

F l o a t i n g product of (Xj) and (Xk) t o X i

FXi Xj

41

Round f l o a t i n g product of ( ~ j and
)
( ~ k )t o X i

R X i Xj

42

F l o a t i n g double-precision
(Xk) t o X i

DXi X j

product of (X j ) and

*
*
*

The d i v i d e i n s t r u c t i o n s a r e :

44

F l o a t i n g d i v i d e (Xj) by (Xk) t o X i

FXi X j / X k

45

Round f l o a t i n g d i v i d e (Xj) by (Xk) t o X i

H i Xj/Xk

The population-count i n s t r u c t i o n counts t h e number of 1 b i t s i n a 60-bit
operand. The i n s t r u c t i o n is:
47

Population count of (Xk) t o X i

C X i Xk

Xk
Xk

Xk

Instruction Section

Increment Sequence
The increment sequence c o n t r o l s t h e o n e ' s complement a d d i t i o n and s u b t r a c t i o n
of 18-bit f i x e d - p o i n t operands f o r increment i n s t r u c t i o n s 50 through 77. The
sequence a l s o c o n t r o l s t h e 6 0 - b i t o n e ' s complement sum and d i f f e r e n c e v a l u e s
f o r long-add i n s t r u c t i o n s 36 and 37.
The increment i n s t r u c t i o n s a r e :
SAi Aj

+ K

S e t Ai t o ( B j )

+K
+K

SAi B j

+

52

S e t Ai t o (Xj)

+K

SAi X j + K

53

S e t A i t o (Xj)

+

(Bk)

SAi X j

+

54

S e t Ai t o ( A j )

+

(Bk)

55

S e t Ai t o (Aj)

-

(Bk)

56

S e t Ai t o ( B j )

+ (Bk)

SAi Bj

+ Bk

57

S e t Ai t o ( B j )

-

SAL Bj

-

60

Set B i t o (Aj)

SBi A j

+K

61

Set B i t o (Bj)

+K
+K

SBi B j

+

62

Set B i t o (Xj)

+

K

SBi X j + K

63

Set B i t o (Xj)

+

(Bk)

SBi X j

+

Bk

64

S e t Bi t o ( A j )

+

(Bk)

SBi A j

+

Bk

65

S e t B i t o (Aj)

-

(Bk)

SBi A j - Bk

66

Set B i t o (Bj)

+

(Bk)

SBi B j + Bk

67

S e t B i t o (Bj)

-

(Bk)

SBi Bj

-

Bk

70

Set X i t o (Aj)

+

K

SXi Aj

+

K

71

Set X i t o ( ~ j +
) K

SXi Bj

+

K

72

Set X i t o (Xj) + K

SXi X j

+

K

73

Set X i t o ( X j )

+

74

Set X i t o (Aj)

+ (Bk)

SXi A j

+ Bk

75

Set X i t o ( ~ j ) (Bk)

SXi A j

-

76

Set X i t o ( ~ j +
) ( ~ k )

77

SetXito(Bj)-(Bk)

50

S e t Ai t o ( A j )

51

(Bk)

(Bk)

K

Bk

Bk

K

SXi Xj + Bk

Bk

Instruction Section

The long-add

instructions are:

36

I n t e g e r sum of (Xj) and (Xk) t o X i

37

I n t e g e r d i f f e r e n c e of ( X j ) and (Xk) t o X i

CompareIMove Sequence
The compare/move sequence c o n t r o l s d a t a manipulation on a c h a r a c t e r b a s i s .
The compare/move i n s t r u c t i o n s ( a l s o r e f e r r e d t o a s CMU i n s t r u c t i o n s ) a r e
60-bit i n s t r u c t i o n s t h a t use s i x support r e g i s t e r s f o r source and r e s u l t f i e l d
CM a d d r e s s e s and c h a r a c t e r p o s i t i o n o f f s e t s . The support r e g i s t e r s load from
t h e 60-bit i n s t r u c t i o n word. The compare/move i n s t r u c t i o n s a r e :

+

IM Bj

464

Move i n d i r e c t (Bj)

465

Move d i r e c t

DM

466

Compare c o l l a t e d

CC

467

Compare u n c o l l a t e d

CU

K

+

K

The support r e g i s t e r s a r e :
a

An 18-bit l
U r e g i s t e r t h a t s p e c i f i e s which r e l a t i v e CM a d d r e s s word
c o n t a i n s t h e f i r s t c h a r a c t e r of t h e source d a t a f i e l d .

An 18-bit K 2 r e g i s t e r t h a t s p e c i f i e s which r e l a t i v e CM a d d r e s s word
c o n t a i n s t h e f i r s t c h a r a c t e r of t h e r e s u l t f i e l d .
A &-bit C 1 r e g i s t e r t h a t s p e c i f i e s t h e c h a r a c t e r p o s i t i o n o r o f f s e t of

t h e f i r s t CM word of t h e source f i e l d .

A 4-bit C2 r e g i s t e r t h a t s p e c i f i e s t h e c h a r a c t e r p o s i t i o n o r o f f s e t of
t h e f i r s t CM word of t h e r e s u l t f i e l d .
Two 16-bit L r e g i s t e r s (LA and LC) t h a t s p e c i f y t h e number of c h a r a c t e r s
i n t h e d a t a f i e l d . The LA r e g i s t e r i s a s s o c i a t e d with K1, and t h e LC
r e g i s t e r i s a s s o c i a t e d with K2. I n s t r u c t i o n 464 u s e s 14 r e g i s t e r b i t s .
I n s t r u c t i o n s 465, 4 6 6 , and 467 use only t h e lower 8 r e g i s t e r b i t s .

NOTE
CMU i n s t r u c t i o n s a r e provided f o r c o m p a t i b i l i t y
with previous systems. For b e t t e r performance ,
recompile jobs t o avoid use of CMU i n s t r u c t i o n s .

instruction Section

CYBER 170 Exchange Sequence
The CYBER 170 exchange sequence i s t h e method used t o swap jobs i n and o u t o f
e x e c u t i o n . When a CYBER 170 exchange jump i n s t r u c t i o n o c c u r s , t h e CYBER 1 7 0
exchange sequence w r i t e s t h e c o n t e n t s of t h e c u r r e n t j o b ' s CP r e g i s t e r s
( d e s c r i b e d l a t e r in t h i s c h a p t e r ) i n t o an a r e a of c e n t r a l memory c a l l e d a
CYBER 170 exchange package. A CYBER 170 exchange package i s a s s o c i a t e d w i t h
each job.
It c o n t a i n s s u f f i c i e n t i n f o r m a t i o n t o r e s t a r t a job i f t h e job i s
To
i n t e r r u p t e d d u r i n g e x e c u t i o n and swapped o u t by a CYBm 170 exchange jump.
complete t h e sequence, CP r e g i s t e r s f o r a n o t h e r job a r e r e a d from i t s CYBER
170 exchange package, and t h a t job b e g i n s o r resumes e x e c u t i o n .
For f u r t h e r
i n f o r m a t i o n , r e f e r t o CYBER 170 Exchange Jump i n c h a p t e r 5 .

Block Copy Sequence
The block copy sequence c o n t r o l s t h e t r a n s f e r of d a t a between CM and UEM.
The
a d d i t i o n of K t o t h e c o n t e n t s of Bj determines t h e number o f words t o be
t r a n s f e r r e d . The s t a r t i n g a d d r e s s f o r CM i s formed by adding e i t h e r t h e A 0
r e g i s t e r o r c e r t a i n b i t s of t h e XO r e g i s t e r t o t h e RAC r e f e r e n c e a d d r e s s . The
s t a r t i n g a d d r e s s f o r UEM i s formed by adding c e r t a i n b i t s of t h e XO r e g i s t e r
t o t h e RAE r e f e r e n c e a d d r e s s . The block copy i n s t r u c t i o n s a r e :

OU Block copy B j

+K

012

+

Block copy Bj

words from UEM t o CM

BE B j

+

K

K words from CM t o UEM

WE B j

+

K

Direct Read1 Write Sequence
I n s t r u c t i o n s 014 and 015 perform single-word, d i r e c t r e a d and w r i t e o p e r a t i o n s
f o r UEM, and i n s t r u c t i o n s 660 and 670 perform single-word, d i r e c t r e a d and
w r i t e o p e r a t i o n s f o r c e n t r a l memory.

+ RAE)

014

Read one word from UEM a t (Xk

015

Write one word from X j t o U M a t (Xk

660

Read c e n t r a l memory a t (Xk) t o X j

CRXj Xk

670

Write X j i n t o c e n t r a l memory a t ( X k )

CWXj Xk

i n t o Xj

R X j Xk

+ RAE)

WXj Xk

lnstruction Section

Normal Jump Sequence
The normal jump sequence c o n t r o l s t h e e x e c u t i o n of branch i n s t r u c t i o n s 02
through 07. The 02 i n s t r u c t i o n performs an u n c o n d i t i o n a l jump t o t h e B i
r e g i s t e r a d d r e s s p l u s K.
The branch a d d r e s s i s K when i e q u a l s 0. The 02
instruction is:

The c o n d i t i o n a l jump i n s t r u c t i o n s 03 through 07 branch t o a d d r e s s K if t h e
jump c o n d i t i o n i s m e t . These i n s t r u c t i o n s a r e :
030

Branch t o K i f ( X j ) = 0

ZR Xj, K

031

Branch t o K i f (Xj) f 0

NZ X j , K

032

Branch t o K i f ( X j ) i s p o s i t i v e

PL X j , K

033

Branch t o K i f ( X j ) i s n e g a t i v e

NG Xj, K

034

Branch t o K i f ( X j ) i s i n range

IR X j , K

035

Branch t o K i f ( X j ) i s o u t of range

OR Xj, K

036

Branch t o K i f ( X j ) i s d e f i n i t e

DF Xj, K

037

Branch t o K i f ( X j ) i s i n d e f i n i t e

I D Xj, K

04

Branch t o K i f ( B i ) = ( B j )

EQ B i , B j , K

05

Branch t o K i f ( B i ) # ( B j )

NE B i , B j , K

06

Branch t o K i f ( B i )

> (Bj)

GE B i , Bj, K

07

Branch t o K i f ( B i )

<

LT B i , Bj, K

(Bj)

Return Jump Sequence
The r e t u r n jump sequence c o n t r o l s t h e e x e c u t i o n of t h r e e i n s t r u c t i o n s .
00

E r r o r e x i t t o MA o r program s t o p

PS

010

Return jump t o K

RJ K

013

C e n t r a l exchange jump t o ( B j )
exchange jump t o MA

+

K o r monitor

XJBji-K

Registers

Registers
The CP c o n t a i n s t h e o p e r a t i n g and s u p p o r t r e g i s t e r s d e s c r i b e d i n t h e f o l l o w i n g
paragraphs.
1-2).

These r e g i s t e r s a r e l o c a t e d i n t h e operand i s s u e s e c t i o n ( f i g u r e

The c o n t e n t s of t h e s e r e g i s t e r s c a n be w r i t t e n i n t o memory and reloaded from
memory a s a CYBER 3.70 exchange package by a s i n g l e CP i n s t r u c t i o n (CYBER 170
exchange jump).
Figure 2-1 shows t h e CYBER 170 exchange package.

The time a CYBER 170 exchange package r e s i d e s i n CP hardware i s c a l l e d an
execution i n t e r v a l . During t h i s i n t e r v a l , CP i n s t r u c t i o n s c a n change t h e
c o n t e n t s of X, A, B, and P r e g i s t e r s . The c o n t e n t s of o t h e r support r e g i s t e r s
change only a s a r e s u l t of a CYBER 170 exchange jump. For f u r t h e r i n f o r m a t i o n ,
r e f e r t o CYBER 170 Exchange Jump i n c h a p t e r 5.

N+3

EM

N+4

///A

RAC

A1

81

F LC

A2

82

A3

83

A4

84

FLAGS
RAE

CM
LOCATIONS

NO HARDWARE REGISTERS EXIST

Figure 2-1.

CYBER 170 Exchange Package

Registers

Operating Registers
The operating registers consist of operand (XI, address (A), and index ( B )
registers. These registers minimize memory references for arithmetic operands
and results.

X Registers
The CP contains eight 60-bit X registers (XO through X7). The XO register is
used in the compare instructions to indicate if two fields of characters are
equal. Also, the XO register provides the relative UEM starting address in a
block copy operation.
Registers X 1 through X7 are primarily data-handling registers for computation.
Registers X 1 through X5 are used to input data from CM, and registers X6 and X7
are used to transmit data to CM.
Operands and results transfer between CM and the X registers as a result of
placing CM addresses into corresponding A registers.

Registers

A Registers
The CP contains eight 18-bit A registers (A0 through A 7 ) . The A0 register
serves as an intermediate register for the user's discretion. The A0 register
is used in the compare collate instruction for the collate table address.
Also, the A0 register provides the relative CM starting address in a block copy
operation.
Registers Al through A7 are essentially CM operand address registers associated
one-for-one with the X registers. Placing a quantity into an address register
( A l through A51 causes a CM read reference to that address and transmits the CM
word to the corresponding X register (XIthrough X5). Similarly, placing a
quantity into the A6 or A7 register causes the word in the corresponding X6 or
X7 register to be written into that relative address of CM.

8 Registers
The CP contains eight 18-bit B registers (BO through B 7 ) . These registers are
primarily indexing registers to control program execution. Program loop counts
may also be incremented or decremented in these registers.
Program addresses may be modified on the way to an A register by adding or
subtracting B register quantities. The B registers also hold shift counts for
the nominal B j shifts, the resultant exponent for the unpack, the operand
exponent for the pack, and the resultant shift count from a normalize. The BO
register always contains 4, which can be used as an operand. This register
cannot hold results from instructions.

Support Registers
Eight support registers assist the operating registers during programs
execution. The contents of the support registers are stored in CM, and their
new contents are loaded from CM during a CYBER 170 exchange sequence. With the
exception of the P register, the contents of the support registers cannot be
altered during the execution interval of a CYBER 170 exchange package. When
the execution interval completes, the data in the support registers is sent
back to CM through a CYBER 170 exchange jump.

P Register
The 18-bit program address (PI register loads from CM during the first word of
a CYBER 170 exchange sequence and contains the current program execution
address. The register serves as a program address counter and holds the
relative CM address for each program step.

Registers

RA C Register

The 21-bit CM reference address (RAC) register loads from CM during the second
word of a CYBER 170 exchange sequence. An absolute CM address forms by adding
RAC to a relative address determined by the instruction. The content of the P
register is added to RAC to form the program address in CM. A P-equal-to-zero
condition specifies relative address 0 and, therefore, (RAC).
This CM location
is reserved for recording error exit conditions and should not be used to store
data or instructions.

FLC Register
The 21-bit CM field length (FLC) register Loads from CM during the third word
of a CYBER 170 exchange sequence. The FLC register defines the size of the
field of the program in execution. Relative CM addresses are compared with FLC
to check that the program is not going out of its allocated memory range.

EM Register

The 6-bit exit mode (EM) register loads from CM during the fourth word of a
CYBER 170 exchange sequence. The EM register holds six exit mode selection
bits that control individual. error conditions for a program. Selected EM
register bits cause the CP to error exit when the corresponding conditions
occur. Any or all of the 6 bits can be set at one time. Clear EM register
bits allow the CP to continue without error processing when most of the
corresponding conditions occur. Refer to the error exit tables under Error
Response in chapter 5 for specific cases. The exit mode selection bits appear
in the exchange package as bits 48 through 50 and bits 57 through 59. The mode
selection bits and their corresponding conditions are:
Bit

Significance

48

Address out of range

49

Infinite operand

50

Indefinite operand

57

Hardware error

58

Hardware error

59

Hardware error

Registers

Flag Register
The 6-bit flag register loads from CM during the fourth word of a CYBER 170
exchange sequence. The flag register holds 6 bits that function as control
flags.
Bits

Condition

51

Hardware error bit.

52

Instruction stack (lookahead) purge flag. If set, extended purging
of instruction lookahead registers is enabled. For further
information, refer to Instruction Lookahead Purge Control in
chapter 5.

53

CMU interrupted flag.
has been interrupted.
operation is saved.

54

Block copy flag. If set, block copy instructions (011, 012) use
bits 30 through 50 of XO rather than A0 to determine the CM
address. For further information, refer to the descriptions of the
block copy instructions in chapter 4.

55

Expanded addressing select flag. If set, UEM is operating in
expanded addressing mode; if clear, UEM is operating in 24-bit
standard addressing mode. For further information, refer to
Addressing Modes under Memory Programming in chapter 5.

-

-

-- -

-

--

-

If set, one of instructions 464 through 467
The information necessary to resume

UEM enable flag. If set, UEM is available. This flag must be set
to allow 011, 012, 014, and 015 instructions to access UEM.

Registers

RAE Register
The 21-bit UEM reference address (RAE) register loads from CM during the fifth
word of a CYBER 170 exchange sequence. The lower 6 bits of this register are
always 0. An absolute UEM address forms by adding RAE to the relative address,
which is determined by the instruction.

FLE Register
The 24-bit UEM field length (FLE) register loads from CM during the sixth word
of a CYBER 170 exchange sequence. The lower 6 bits of this register are always
0. The FLE register defines the size of the field in UEM for the program in
execution. Relative UEM addresses are compared with FLE.

MA Register
The 18-bit monitor address (MA) register loads from CM during the seventh word
of a CYBER 170 exchange sequence. The MA register contains the absolute
starting address of an exchange package that is used when executing a central
exchange jump (013) instruction with the CYBER 170 monitor flag clear or when
honoring a monitor exchange jump to MA (262x1 instruction with the CYBER 170
monitor flag clear. For further information, refer to CYBER 170 Exchange Jump
in chapter 5.

Execution Section

Execution Section
The execution section combines the operands into results, providing additional
sequencing control where necessary.

Cache Memory
Cache memory is a high-speed buffer memory that is transparent to the user. It
reduces effective CM access time by eliminating unnecessary CM references.
When the CP first reads CM, a block of 4 words from CM (containing the
requested word) is read rapidly into cache memory. These words may be instructions or data. On subsequent reading of any of these words, CM does not have
to be accessed when these words are in cache memory. Often this is the case
because the same data is read more than once or because a loop o f instructions
is repeatedly executed. Cache memory is 2048 words or, optionally, 4096 words.

Addressing Section
An addreas adder calculates memory addresses for data and unconditional jump
instructions.
Memory management hardware verifies that memory addresses are to access
permitted memory areas. If this is the case, this hardware accesses cache
memory and, if necessary, central memory.

Central Memory Control
Central memory control (CMC) provides an interface to CM for the CP and IOU.
It is physically located in the CP cabinet. CMC includes:
0

Ports and distributor.

SECDED logic.
Partial-write Logic.
0

Memory control logic.
Maintenance registers.

Central Memory

Central Memory
The CM performs t h e following f u n c t i o n s .
The e i g h t memory banks s t o r e from 2097K t o 16 7763 of 64-bit words ( t h e
l e f t m o s t 4 b i t s a r e undefined) and an 8-bit SECDED code.
The two p o r t s make CM a c c e s s i b l e t o t h e CP and every PP.
A bounds r e g i s t e r limits a c c e s s t o CM from e i t h e r o r both p o r t s .

The SECDED g e n e r a t o r s g e n e r a t e t h e SECDED code b i t s s t o r e d with each word.
SECDED checks c i r c u i t s , c o r r e c t s s i n g l e - b i t e r r o r s , and d e t e c t s double-bit
errors.
The maintenance channel i n t e r f a c e g i v e s a PI? i n t h e I O U a c c e s s t o t h e CM
maintenance r e g i s t e r s f o r system i n i t i a l i z a t i o n , c o r r e c t i v e a c t i o n , e r r o r
r e p o r t i n g and d i a g n o s t i c s , and s e t t i n g t h e p o r t bounds r e g i s t e r .

Address Format
Figure 2-2 i l l u s t r a t e s t h e a d d r e s s format f o r t h e computer system.

23 22 21 20

r

I

L

32

12 11

I COLUMN ADDRESS I

I

R o w ADDRESS
SELECT

I

1 ,

CHlP ADDRESS

CHlP SELECT
QUADRANT SELECT

Figure 2-2.

BANK SELECT

Address Format

0

I

I

Central Memory

The following l i s t d e f i n e s t h e a d d r e s s f i e l d s f o r f i g u r e 2-2.

Quadrant s e l e c t s p e c i f i e s one of f o u r quadrants ( a r r a y packs) w i t h i n a bank.
Chip s e l e c t , i f s e t , enables t h e row a d d r e s s s e l e c t t o t h e upper h a l f ( 7 2 0 )
of t h e 144 c h i p s on memory boards i n a l l e i g h t memory banks. I f c l e a r ,
c h i p enable enables t h e lower h a l f of t h e 144 chips on memory boards i n all
e i g h t banks.
Chip a d d r e s s , which comprises column a d d r e s s s e l e c t and row a d d r e s s s e l e c t ,
s p e c i f i e s t h e a d d r e s s of 1 word on a c h i p f o r t h e s e l e c t e d bank and
quadrant.
Row address s e l e c t s p e c i f i e s t h e row-select
a chip.

p o r t i o n of t h e c h i p a d d r e s s on

Column a d d r e s s s e l e c t s p e c i f i e s t h e column-select
a d d r e s s on a chip.

p o r t i o n of t h e c h i p

Bank s e l e c t s p e c i f i e s one of e i g h t banks.

CM Access and Cycle Times
The following paragraphs l i s t CM a c c e s s and c y c l e times t h a t o p e r a t e on an
i n t e r n a l clock period of 64 n s (major c y c l e ) .

The CM a c c e s s time f o r a read o p e r a t i o n i s 320 ns ( f i v e major c y c l e s ) .
One bank c y c l e f o r a read o r w r i t e o p e r a t i o n i s 384 ns ( s i x major c y c l e s ) .
Cycle time f o r a p a r t i a l w r i t e (read/modify/write) i s 768 n s (12 major c y c l e s ) .

Central Memory

CM Ports and Priorities
A priority network resolves access conflicts on a rotating basis, preventing
long-term lockout of any port. In case of simultaneous requests, the CP has
priority.

The CM also has a refresh mechanism that may consume a maximum of 4 percent of
memory time. Refresh requests have priority over port requests. Refer to
table 2-1 for maximum request lockout time.
Table 2-1.

Maximum Request Lockout Time in Bank Cycles

Port

Read or Write Requests

Refresh
Port 0
Port 1

1
4
5

Note: One bank cycle equals six clock periods, which
equals 384 ns.

Central Memory

SECDED Logic
The SECDED l o g i c c o r r e c t s s i n g l e - b i t e r r o r s during a CM r e a d , permitting
unimpeded computer operation. The SECDED l o g i c prepares f o r t h e e r r o r
c o r r e c t i o n by generating e r r o r c o r r e c t i o n code (ECC) b i t s f o r each d a t a word
and by s t o r i n g these ECC b i t s i n CM with t h e d a t a word durlng t h e CM w r i t e .
Table 2-2 l i s t s t h e hexadecimal codes f o r d l t h e combinations of syndrome b i t s
with t h e number of t h e d a t a b i t assigned t o each code o r a note c a t e g o r i z i n g
t h e code. During a CM r e a d , CM then performs t h e following SECDED sequence.
1.

Read 1 CM word and generate new ECC b i t s f o r d a t a p o r t i o n of CM word.

2.

Compare new ECC b i t s with CM word ECC b i t s .

3.

I f old and new ECC b i t s match, no e r r o r e x i s t s .
requesting unit.

4.

If b i t s do not match, generate syndrome b i t s from t h e r e s u l t of the ECC
compare.

5.

Decode syndrome b i t s t o determine i f a s i n g l e - o r m u l t i p l e - b i t f a i l u r e
occurred.

6.

I f a single-bit
the d a t a word.

7.

If a multiple-bit o r o t h e r uncorrectable e r r o r occurred, send the
uncorrectable e r r o r response code t o t h e CP o r the IOU. A PP i n the IOU
may then analyze the syndrome b i t s using t h e maintenance channel.

Send d a t a t o the

f a i l u r e occurred, c o r r e c t by i n v e r t i n g t h e f a i l i n g b i t i n
Send the c o r r e c t e d word t o t h e r e q u e s t i n g u n i t .

Central Memory

Table 2-2.

Code

Bit

SECDED Syndrome Codes/Corrected Bits
Code

Bit

20

66

@

Code

Bit

40

65

code

@

Bit

60

@

Code

Bit

80

66

Code

0

@

41

@

61

@

81

@

Al

22

@

42

62

43

83

@
@

A2

@

@
@

82

23

@
@

4

@

A4

85

@

A5

@

86

A6

0

87
88

24

0

25

@

4

4

0

6

45

@

4

0

@

65

8

0

A0

21

63

Bit

0
@
0
0
0
0

A3

26

@

46

@

66

27

67

@

67

68

68

@

69

48

@

6B

@
@
@

89

4A

@
@
@

2B

@
@
@
@
@

8B

@
@
@
@
@
@

2C

0

4C

@

6C

@

8C

@

AC

2D

@

4D

10 @

6D

@

80

@

AD

13

@

48

@

4F

@
@

5

28
29
2A

2E

4

2F

19

30

6A
22

14

8A

A7

8E

@

8F

@

AF

70

0

90

@

BO

@

91

@

B1

@

92

@

B2

0

93

@

83

@

94

@

B4

9

95

@

B5

96

@

B6

30

2/30

50

31

@

51

@
@

32

@

52

@

72

33

@

53

@

73

30

54

@

74

35

@
@

55

@

75

58

36

@

56

@

76

62

56

71

60

57

@

99

@

B9

49

3A

@
@

5A

@

7A

61

@

9A

@

BA

53

58

18 @

78

@

9B

17

@

BB

0

BC

0

BD

3E

4

3F

5D

0

5E

@

10 @

9

2

7E

@

9E

l @

5F

0

@

7F

63

@

9F

@

51

BE

BF

EC

Corrected single-bit

9

El7

@

55

@
@

40

Dl

D2
44

07

EF

Double error or multiple error (even number of code b i t s s e t ) .
Multiple error reported as a s i n g l e error.

@
@

F1

a

F?

@

F3

@

F4

@

F5

@
@

F7

31

@

D9

4 1 0

F9

@

DA

4 5 @

FA

@

0

DB

@

DC

@
@

DE

@

DF

43

DD

47

0
0
0
0

FD

15

a

FE

7

@

@

FF

FB

23

@

Double error or w l t i p l t error or forced double error due t o a p a r t i a l write parity error on one of the 2 b y t e s indicated.

@

No error detected.

@

@

FC

error.

@

3u

FO

@ Syndrome code b i t f a i l e d ( s i n g l e code b i t s e t ) .

@

J5@

ED

Notes:

@

@

@

79

9D

3 7 0
SB

F8

@

9C

3 3 Q

0
0

59

@

E9

D8

@

0

E8

0
0

39

59

0
0

E7

F6

87

7D

@

@

B8

7C

@

38

46

@

0

34

E6

D6

0

5c

€5

@

98

@

DO

0

54

@

0-

CF

@

@

42

78

12

0

36

05

77

3D

@

E3

54

@

@

3C

11

3

C9

€2

50

@

20

CD

CE

C8

0
0

Dl

58

38

@
@

0
0

27

3 2 0

El

0

57

25

CC

C7

EO

03

@

97

0

C5

C6

Bit

@

52

0

26

C3
c4

@

0
@

38

28

C2

Code

0
0
0
0
0
0
0

48

@
@

37

0
0
0
0

19

AB

@

@

CB

0

@

6

011

Cl

@

AA

6F

co

CA

@

0
0
21

Bit

0
0
0
0
0
0

A9

A8

AE

6E

29

Code

@

Central Memory

CM Layout
C e n t r a l memory c o n t a i n s an a r e a t h a t i s r e s e r v e d f o r s p e c i a l software c a l l e d
V i r t u a l S t a t e software. Along with t h e hardware and microcode, t h i s s o f t w a r e
handles t h e o p e r a t i o n s of V i r t u a l S t a t e a s d e s c r i b e d i n c h a p t e r 5. V i r t u a l
S t a t e software i s l o c a t e d a t t h e h i g h e r end of memory. The remaining memory i s
a v a i l a b l e t o t h e CYBER 170 S t a t e and may be a l l o c a t e d a s c e n t r a l memory
( a c c e s s i b l e v i a RAC and FLC) o r a s u n i f i e d extended memory ( a c c e s s i b l e v i a RAE,
FLE, and t h e 011, 012, 014, and 015 i n s t r u c t i o n s ) . Refer t o f i g u r e 2-3.
f

Available CM size

(optional)

Actual CM size

Software

I
Figure 2-3.

CM Layout

CM Bounds Register
The CM bounds r e g i s t e r l i m i t s t h e w r i t e a c c e s s t o CM from s p e c i f i e d p o r t s .
The
p o r t s a r e l i m i t e d t o t h e a r e a between an upper and lower bound a s s p e c i f i e d i n
t h e CM bounds r e g i s t e r . B i t s i n byte 0 s p e c i f y t h e p o r t ( s ) from which t h e
w r i t e a c c e s s i s l i m i t e d . The CM bounds r e g i s t e r i s s e t through t h e maintenance
For f u r t h e r i n f o r m a t i o n , r e f e r t o Maintenance Channel Programming i n
channel
c h a p t e r 5.

.

Central Memory Reconfiguration
C e n t r a l memory r e c o n f i g u r a t i o n i s a manually performed f u n c t i o n t h a t p e r m i t s
t h e computer o p e r a t o r t o r e s t r u c t u r e t h e CM a d d r e s s e s SG t h a t a f a i l i n g p a r t of
CM can be q u i c k l y locked o u t t o provide a continuous block of u s a b l e CM. To
accomplish CM r e c o n f i g u r a t i o n , s e t t h e s w i t c h e s on t h e memory u n i t t o
manlpulate t h e upper address b i t s .
When each c o n f i g u r a t i o n switch i s s e t , i t i n v e r t s a CM a d d r e s s b i t . T h i s
i n v e r s i o n e f f e c t i v e l y moves blocks of bad memory t o t h e h i g h e s t memory block
and moves blocks of good memory down, thereby, providing a s e q u e n t i a l l y
a d d r e s s a b l e block of e r r o r - f r e e memory. I n c a s e of CM m a l f u n c t i o n s , t h e
remaining good memory can be r e c o n f i g u r e d so i t i s a c c e s s i b l e by contiguous
a d d r e s s e s from z e r o t o t h e maximum remaining a d d r e s s e s . For f u r t h e r
i n f o r m a t i o n , r e f e r t o c h a p t e r 3.

InputlOutput Unit

InputlOutput Unit
The input/output unit (IOU) performs the functions required to locate, select,
and initialize the external devices connected to the system. The IOU controls
the transfer of data between a selected device and CM. The IOU also performs
system maintenance functions.
The IOU contains the following functional areas.
Peripheral processor (PP).
I/O channels.
Real-time clock.
Two-port multiplexer.
Maintenance channel.
CM access.

Peripheral Processor
The basic IOU contains 20 PPs and 24 I/O channels. Each PP is a logically
independent computer with its own memory. Each 5-PP group is organized into a
multiplexing system that allows the PPs to share common hardware for arithmetic,
logical, and I/O operations without losing independence. This multiplexing
system comprises five ranks of registers, which is termed a barrel. Each rank
contains information related to the instruction being executed by one PP.
Each PP can communicate with the CP by issuing a CYBER 170 exchange request to
a specific CYBER 170 exchange package associated with the issuing PP. In
addition, a PP can also communicate with the CP via CM read and write
operations. PPs can communicate with each other over the 110 channels and
through CM.
Each PP executes programs alone or with other PPs to control data transfers
between external devices and CM. These programs are comprised of instructions
from the IOU instruction set and respond to requests issued through CM by the
operating system. The programs translate generalized operating system requests
into c-ontrol functions for accessing the external devices and may also perform
device scheduling and optimization. The programs use PP memory as a buffer for
the data transfer between external devices and CM to isolate IOU data transfer
from variations in CM transfer rate.
An IOU upgrade is available which is an optional, concurrent input/output (CIO)
subsystem consisting of five or ten P P s . Optional intelligent standard
interface (ISI), intelligent peripheral interface (IPI), and CYBER 170 DMA
(direct memory access) I/O channel adapters can be installed in the CIO.

InputlOutput Unit

Deadstart
A d e a d s t a r t sequence allows t h e I O U t o i n i t i a l i z e i t s e l f .

This d e a d s t a r t
sequence i s i n i t i a t e d by t h e DEAD START switch on t h e system console (CC634
system console uses Control G Control R t o i n i t i a t e t h e d e a d s t a r t sequence).
The d i s p l a y i n c l u d e s c o n t r o l s f o r a s s i g n i n g any PPM t o PPO. For f u r t h e r
information, r e f e r t o chapter 3.

Barrel and Slot
The b a r r e l c o n s i s t s of t h e R, A, P, Q , and K r e g i s t e r s , each of which h a s f i v e
Information i n t h e s e r e g i s t e r s
ranks ( 0 through 4 ) . Refer t o f i g u r e 2-4.
moves from one rank t o t h e next a t a uniform 20-MHz r a t e , providing a
multiplexed system of f i v e PPs, each o p e r a t i n g a t a 4-MHz r a t e . The r e g i s t e r s
a r e s t a t i o n a r y while t h e PPs r o t a t e . For example, rank 4 r e g i s t e r s c o n t a i n
PPO, PPL, PP2, PP3, and PP4 i n s u c c e s s i o n , each of which consumes 50 n s of t h e
t o t a l c y c l e time of 250 ns.
Each time d a t a e n t e r s t h e s l o t , a p o r t i o n of t h e i n s t r u c t i o n f o r t h a t d a t a i s
executed. The s l o t performs t a s k s such a s a r i t h m e t i c and l o g i c o p e r a t i o n s and
program address manipulation. Complete execution of an i n s t r u c t i o n may r e q u i r e
t h e R, A, P, Q , and K r e g i s t e r q u a n t i t i e s t o go more than one t r i p around t h e
b a r r e l and through t h e s l o t .
The PPM may be referenced once each time t h e PP passes around t h e b a r r e l and
through t h e s l o t . During i t s s l o t time, t h e PP may a l s o communicate w i t h CM o r
with any of t h e 1 / 0 channels.

PP Registers
The PP r e g i s t e r s , which a r e discussed i n t h e following paragraphs, a r e :
0

R register.
A register.

0

P register.

0

Q register.

0

K register.

InputlOutput Unit

PP MEMORIES

4

1 INSTRUCTION

hBARREL
ID+ol

TO OTHER

FROM OTHER

CENTRAL

CENTRAL
MEMORY
1641

--3 MEMORY

(641

64-BIT WORD
(161

PERIPHERAL
EOUIPMENT

@

I N SLOT

0 IS THE ADDRESS OF THE FIRST PP WORD

Figure 2-4.

Barrel and S l o t

InputlOutput Unit

R Register
The 22-bit R r e g i s t e r , i n conjunction with t h e A r e g i s t e r , forms an a b s o l u t e CM
a d d r e s s f o r CM r e a d / w r i t e i n s t r u c t i o n s . When b i t 17 of t h e A r e g i s t e r i s s e t ,
t h e a b s o l u t e CM a d d r e s s i s formed by appending s i x 0 ' s t o t h e lower end of t h e
c o n t e n t s of t h e R r e g i s t e r and adding t o t h e r e s u l t b i t s 0 through 16 of t h e
c o n t e n t s of t h e A r e g i s t e r ( r e f e r t o f i g u r e 2-5).

Figure 2-5.

Formation of Absolute CM Address

A Register
The 18-bit A r e g i s t e r h o l d s one operand f o r a r i t h m e t i c , l o g i c , o r s e l e c t e d 110
o p e r a t i o n s . The c o n t e n t of A may be a n a r i t h m e t i c o r l o g i c a l operand, CM
address o r p a r t of a CM a d d r e s s (depending on b i t 1 7 ) , I/o f u n c t i o n , I/O d a t a
word, o r a word count f o r block I / O i n s t r u c t i o n s . Various i n s t r u c t i o n s o p e r a t e
on 6, 1 2 , 1 6 , o r 1 8 b i t s of t h e A r e g i s t e r .
When t h e A r e g i s t e r i s used a s t h e CM a d d r e s s , p a r i t y i s generated f o r
t r a n s m i s s i o n with t h e address t o memory c o n t r o l . At d e a d s t a r t , t h e A r e g i s t e r
i s s e t t o 10000 ( o c t a l ) . When b i t 17 of t h e A r e g i s t e r i s c l e a r , t h e A
r e g i s t e r i s used a s t h e CM a d d r e s s ; however, when b i t 1 7 i s s e t , t h e R r e g i s t e r
i s added t o t h e A r e g i s t e r ( a s d e s c r i b e d i n t h e R r e g i s t e r d e s c r i p t i o n ) t o
o b t a i n t h e a b s o l u t e CM a d d r e s s f o r CM r e a d l w r i t e i n s t r u c t i o n s .

P Register
The 16-bit P r e g i s t e r i s t h e program a d d r e s s r e g i s t e r , except during t h e
execution of i n s t r u c t i o n s 61, 63, 7 1 , and 73. For t h e s e i n s t r u c t i o n s , t h e P
r e g i s t e r c o n t a i n s t h e PPM a d d r e s s of t h e d a t a t r a n s f e r . A t d e a d s t a r t , t h e P
r e g i s t e r i s s e t t o 0.

InputlOutput Unit

Q Register

-

The 16-bit Q r e g i s t e r holds d a t a f o r s e v e r a l functions such a s t h e address of
t h e operand during d i r e c t addressing and i n d i r e c t addressing, t h e p e r i p h e r a l
address of d a t a used during 1-word c e n t r a l read o r w r i t e i n s t r u c t i o n s , t h e
upper 6 b i t s during constant mode i n s t r u c t i o n s , the channel number on a l l I/O
and channel i n s t r u c t i o n s , t h e s h i f t count, and the r e l a t i v e jump d e s i g n a t o r .
A t d e a d s t a r t , each rank of t h e Q r e g i s t e r i s s e t t o a corresponding PP number
Rank 0 i s s e t t o PPO, rank 2 is s e t t o PP2, and so on.

K Register
The 7-bit K r e g i s t e r i s v i s i b l e t o t h e programmer through t h e maintenance
channel only. This r e g i s t e r holds t h e o p e r a t i o n code f i e l d of an i n s t r u c t i o n
f o r d i s p l a y on the IOU d e a d s t a r t console and f o r d e a d s t a r t console
i n t e r r o g a t i o n . When a PP i s h a l t e d ( i d l e d ) , t h i s r e g i s t e r c o n t a i n s a l l 1 ' s .

PP Numbering
PPs a r e numbered a s follows:
Barrel

PPs

1

05 t o 11 ( o c t a l )

2

20 t o 24 ( o c t a l )

3

25 t o 31 ( o c t a l )

The
The d e a d s t a r t sequence i s used t o determine PP numbering w i t h i n a b a r r e l .
sequence a s s i g n s b a r r e l numbers according t o t h e IOU b a r r e l r e c o n f i g u r a t i o n
parameter. During t h e f i r s t minor cycle a f t e r d e a d s t a r t , t h e sequence l o a d s a
0 i n t o the Q r e g i s t e r i n b a r r e l 0. This d e f i n e s a l l the d a t a i n t h a t rank of
t h e b a r r e l a s belonging t o PPO, and s i n c e Q i s t h e channel s e l e c t o r , i t a s s i g n s
PPO t o channel 0. During t h e next minor c y c l e , Q loads with a 1. This d e f i n e s
PP1 and a s s i g n s i t t o channel 1. This process occurs i n p a r a l l e l i n a l l
b a r r e l s u n t i l the I O U a s s i g n s each rank of each b a r r e l with a PP number and a
channel number. Reassignment can be done only during a d e a d s t a r t .

InputlOutput Unit

PP Memory
Each PP has an independent 4K or 8K word memory. Each word contains 16 data
bits, with the upper 4 bits set to 0, and 6 SECDED bits. PPO executes the
deadstart program from the microprocessor RAM during the deadstart operation.
PP memory 0, therefore, must be operational. A PP memory reconfiguration
feature allows the user to restore IOU operation if the IOU detects a fault in
the PP memory normally assigned to PPO.
To reconfigure, the operator assigns a good PP memory to PPO and the operating
system removes the failing PP memory. Computer operation can continue without
the failing PP memory, and repairs can be made during scheduled maintenance.
The system must be deadstarted to reconfigure PPMs.

I/O Channels
The I/O channels are composed of:
0

An internal interface that allows common hardware and software to control
the external devices, and

0

An external interface that allows the IOU to communicate with the external
devices using 12-bit data channels. The internal interface can transfer
16-bit data words between two PPs or between a PP and an external device at
a maximum rate of 1 word every 250 ns.

This rate can be sustained for the maximum practical channel transfer (4096
words). During transfers between PPs, if the PPs are in the slot at the same
time, the transfer rate is 500 ns.
Any PP can access any of the CYBER 170 bidirectional 110 channels. All PPs
communicate with external devices through the independent 1/0 channels. Each
channel may be connected to one or more pieces of external equipment, but only
one piece of equipment can use a channel at one time. All channels can be
active simultaneously. Available channels are:
Twenty-four CYBER 170 compatible I/O channels available with a maximum data
transfer rate of 3 ~bytes/second.
An optional, DMA-enhanced, intelligent standard interface (ISI) channel
adapter, intelligent peripheral interface (IPI) channel adapter or CYBER
170 channel adapter that can be installed in any one of ten channel
locations in the CIO cabinet. The adapters transfer data between the IS1
or CYBER 170 channel and PP memory using standard I/O instructions. They
also support DMA transfer in which data goes directly between CM and an
external device without going through the PP. There are two types of CYBER
170 DMA transfers, fast and normal. Fast transfers are used with the
Extended Semiconductor Memory-11 (ESM-II), and normal transfers are used
with other CYBER 170 external devices.

1

InputlOutput Unit

The d i s p l a y s t a t i o n c o n t r o l l e r (DSC) i s a t t a c h e d t o CYBER 170 c h a n n e l lo8.
The DSC i s t h e I O U i n t e r f a c e between t h e PPs and t h e s y s t e m c o n s o l e , s e r v i c i n z
b o t h t h e keyboard and t h e cathode-ray t u b e (CRT).
It t r a n s m i t s f u n c t i o n words
and d i g i t a l symbol s i z e / p o s i t i o n d a t a t o t h e s y s t e m c o n s o l e , and r e c e i v e s
It a l s o r e c e i v e s d i g i t a l symbol
d i g i t a l c h a r a c t e r codes from t h e keyboard.
codes from t h e PPs and c o n v e r t s t h e s e t o a n a l o g s i g n a l s t o t h e CRT.

Real-Time Clock
The r e a l - t i m e c l o c k i s a 1 2 - b i t , f r e e - r u n n i n g c o u n t e r , i n c r e m e n t i n g a t a
1-MHz r a t e .
T h i s c h a n n e l may
It i s permanently a t t a c h e d t o c h a n n e l 148.
be r e a d a t any t i m e b e c a u s e i t s a c t i v e and f u l l f l a g s a r e a l w a y s s e t .

Two-Port Multiplexer
The two-port m u l t i p l e x e r p r o v i d e s communication c a p a b i l i t y between a PP and two
attached terminals.
One p o r t i s r e s e r v e d f o r m a i n t e n a n c e p u r p o s e s , and t h e
The two-port m u l t i p l e x e r i s p e r m a n e n t l y
o t h e r port is reserved f o r f u t u r e use.
a t t a c h e d t o c h a n n e l 158.

Maintenance Channel
The m a i n t e n a n c e c h a n n e l i s used f o r i n i t i a l i z a t i o n of t h e CP and CM m a i n t e n a n c e
r e g i s t e r s and m o n i t o r i n g o f e r r o r s t a t u s .
The maintenance c h a n n e l c o n s i s t s o f t h e maintenance c h a n n e l i n t e r f a c e on
c h a n n e l 178, a m a i n t e n a n c e a c c e s s c o n t r o l i n e a c h s y s t e m e l e m e n t , and a set
of interconnecting cables.

Central Memory Access
Any PP c a n a c c e s s CM.
During a w r i t e from t h e I O U t o CM, t h e I O U a s s e m b l e s
f i v e s u c c e s s i v e 12-bit PP words i n t o a 6 4 - b i t CM word w i t h t h e l e f t m o s t 4 b i t s
u n d e f i n e d , During a CM r e a d , t h e IOU d i s a s s e m b l e s t h e r i g h t m o s t 60 b i t s of t h e
6 4 - b i t CM word i n t o f i v e PP words.
To f i n d t h e CM a d d r e s s , a PP r e a d s t h e A
register.
I f b i t 17 o f t h e A r e g i s t e r i s c l e a r , t h e PP u s e s t h e c o n t e n t s o f
If b i t 17 o f t h e A r e g i s t e r i s s e t , t h e PP
t h e A r e g i s t e r f o r t h e CM a d d r e s s .
adds t h e r e l o c a t i o n a d d r e s s from t h e R r e g i s t e r t o t h e A r e g i s t e r t o form t h e
CM a d d r e s s .
A maximum o f 20 PPs i n v a r i o u s s t a g e s o f a s s e m b l y / d i s a s s e m b l y c a n s i m u l t a n e o u s l y r e a d CM words, and f i v e PPs c a n w r i t e CM words.

3
Operating Instructions

Operating Instructions

This chapter describes mainframe controls and indicators and the operating
procedures that are hardware-dependent. Software-dependent procedures are in
system software reference manuals listed in the preface.

Controls and Indicators
This chapter describes IOU deadstart controls and indicators and CM
configuration switches that the system operator uses. Other controls that
maintenance personnel use are described in the hardware operator's guide and
the power distribution and warning system, the cooling system, and the CDC 721
manuals, which are listed in the preface.

Deadstart Displays/Controls
Pressing the deadstart puohbutton on the CC545 system console or pressing the
CTRL G and CTRt R keys on the CC634B system console initiates deadstart and an
initial deadstart display appears on the system control screen. The display is
created by an independent microcomputer in the mainframe and does not rely on
any program being operational in the PPs. The initial deadstart display is
used to select a 16-word deadatart program for PPO and to initiate the
deadstart sequence for PPO. The display is also used to reconfigure PPMs and
barrels, and to display error status and maintenance information.
Figure 3-1 shows the format of the deadstart options display, and figure 3-2
shows the deadstart display. Table 3-1 describes the two operator-selectable
options and table 3-2 describes the operator entries and functions for the
deadstart display. Other deadstart displays are available for maintenance
use. Refer to the CYBER Instruction Package (CIP) listed in the preface for
additional information.

DEADSTART OPTIONS
S
M

SYSTEM LOAD OPTIONS
MAINTENANCE OPTIONS

(CR)

SYSTEM LOAD OPTIONS

PROGRAM X SELECTED

Figure 3-1.

Deadstart Options Display

Deadstart DisplayslControls

DEADSTART

- REV.

XX YYYYYY=CHANGE DS PRG
XX+YWYW=CHANGE DS PRG I N C
$"SHORT DS
L'LONG DS

H=HELP

01
PPM CONF ' 00
N I O BRL CONF = 0
DLY LOOP = 0
LDS ADDR ' 6000
CLK FREQ = NORMAL
N I O MEM SIZE ' 4 K

PROGRAM 1

Figure 3-2.

I n i t i a l Deadstart Display

Deadstart DisplayslControls

Table 3-1.

Deadstart Options Display

Option

Description

S

S e l e c t s a s h o r t d e a d s t a r t sequence using t h e d e a d s t a r t program
i d e n t i f i e d a t t h e bottom of t h e d i s p l a y . Upon completion of the
d e a d s t a r t sequence a d i s p l a y f o r l o a d i n g system software a p p e a r s .

M

Causes t h e d e a d s t a r t d i s p l a y t o appear on t h e s c r e e n .

Table 3-2.

Deadstart Display Operator E n t r i e s and Functions

Operator Entry
YYYYYY

Function
Enters a s i n g l e word i n t h e d e a d s t a r t program a t xx t o a new
value yyyyyy ( o c t a l ) .

XX+YYYYYY

Changes words i n t h e d e a d s t a r t program i n sequence s t a r t i n g
a t xx.

S

S e l e c t s a s h o r t d e a d s t a r t sequence.

L

S e l e c t s a long d e a d s t a r t sequence.
Brings up a d i s p l a y t h a t l i s t s and e x p l a i n s a l l a v a i l a b l e
commands. Refer t o t h e Hardware Operator's Guide f o r
d e t a i l e d information about t h e s e commands.

Central Memory Controls

Central Memory Controls
The CM contains six two-position configuration switches (figure 3-3). These
switches are located along the address interface pak switch in the A section of
the memory cabinet.
The switches are used to eliminate CM sections with malfunctions. Each switch,
SWO through SW5, inverts the corresponding CM address bit (37 through 42). The
inversion effectively moves blocks of bad memory to the highest memory block
and moves blocks of good memory down, thereby providing a sequentially
addressable block of error-free memory. Refer to table 3-3.
In case of CM malfunctions, the remaining good memory can be reconfigured so it
is accessible by contiguous addresses from zero to the maximum remaining
address. This is accomplished by setting configuration switches (figure 3 - 3 )
as listed in table 3-3. Refer to the hardware operator's guide listed in the
preface for further information.

t

INV

"TM
ADRS

6
ii
6
6
6

ADRS

ADRS

ADRS

ADRS

ADRS
42

--- -- - --

Figure 3-3.

CM Configuration Switches

Central Memory Controls

Table 3-3.

Central Memory Reconfiguration
Reconfigured CM

Original CM

Reconfiguration Settings
Size
Words
(MB)

8390 K
( 6 4 MB)

AddressRange

0-37 777 777

Error-Free
Size

4195 K
( 3 2 MB)

SWO
ADRS 37

ADRS 38

SW2
ADRS 39

D

U

D

SWl

SW3
ADRS 40

D

SW4

ADRS 41

D

SW5
ADRS 42

D

Notes:
1.

CM remaining can be further reconfigured to obtain larger contiguous blocks of error-free
memory by setting additional configuration switches. See examples shown in figure 3-4.

2.

U equgls up; D equals down.

Normal setting of all switches is down.

Central Memory Controls

..

-- .

SET SWO UP TO MOVE BLOCK OF MEMORY CONTAINING ERROR TO UPPER HALF OF MEMORY.

64 MBYTES

1/64 MBYTES//
//(CONTAINS/ /
/. I. /. ERROR) / I /

I

I

SWO=UP

1/64 MBYTES//
/ / (CONTAINS1 /
///ERROR)///

64 MBYTES

I
64 MBYTES OF
ERROR-FREE
MEMORY

I

128 MBYTES
ERROR I N LOWER 64MBYTE BLOCK OF 128-MBYTE MEMORY.

SET SW1 UP TO MOVE 32-MBYTES BLOCK CONTAINING ERROR TO NEXT HIGHER 32 MBYTES.
THEN SET SWO UP TO MOVE BLOCK CONTAINING ERROR TO HIGHEST BLOCK OF MEMORY.

32 MBYTES

SWl=UP

32 MBYTES

SWO=UP

32 MBYTES
96-MBYTES OF
ERROR-FREE
MEMORY

32 MBYTES
132 MBYTES/

32 MBYTES

//l/lll///ll
128 MBYTES
ERROR I N LOWEST 32-MBYTE BLOCK OF 128-MBYTE MEMORY.
SET SW2 UP TO MOVE 16 MBYTE BLOCK CONTAINING ERROR TO NEXT HIGHER BLOCK.
THEN SET SW1 UP TO MOVE 32 MBYTE BLOCK CONTAINING ERROR TO HIGHEST BLOCK
OF MEMORY.

16 MBYTES
16 MBYTES
16 MBYTES
16 MBYTES
16 MBYTES
16 MBYTES
128 MBYTES
ERROR I N LOWEST 16-MBYTE BLOCK OF UPPER HALF OF 128-MBYTE MEMORY

Figure 3-4.

Reconfiguration Examples

112-MBYTES OF
ERROR-FREE
MEMORY

Power-On and Power-Off Procedures

Power-On and Power-Off Procedures
In Case of an emergency, use t h e system EMERGENCY OFF switch. The power-on and
power-off procedures are described i n t h e hardware o p e r a t o r ' s guide l i s t e d i n
t h e preface.

CAUTION

Improper a p p l i c a t i o n o r removal of power may
damage system c i r c u i t s a n d l o r a i r - c o n d i t i o n i n g
system. Power must be turned on/off by
designated personnel. only, except f o r t h e
system EMERGENCY OFF switch. Use o d y f o r
extreme emergency and not f o r normal shutdown.

Operating Procedures
Refer t o t h e hardware o p e r a t o r ' s guide. The system i s i n i t i a l i z e d by s e t t i n g
i t s d e a d s t a r t d i s p l a y c o n t r o l parameters and then by running e i t h e r a long or
s h o r t d e a d s t a r t sequence (defined l a t e r i n t h i s c h a p t e r ) . A f t e r i n i t i a l i z a t i o n , t h e keyboard is used t o i n s t r u c t the system f u r t h e r under program
control.

Control Checks
Before a c t i v a t i n g a long o r s h o r t d e a d s t a r t sequence, check t h e d e a d s t a r t
d i s p l a y parameters a g a i n s t t h e i r intended use. The normal s e t t i n g s of t h e s e
parameters a r e :
Parameter

Value

PPM CONF

00

NIO BRL CONF

0

LDS ADDR

6000

Error messages

None

Operating Procedures

Deadstart Sequences
In response to a keyboard command (L or S) to the deadstart display, the IOU
performs a deadstart sequence. Depending on the command (L or S), either the
long or the short deadstart sequence is performed. The short deadstart
sequence is used when hardware integrity verification is not required. The
long deadstart sequence performs all the tasks performed by the short deadstart
sequence and some additional tasks. The main additional task is the running of
a diagnostic program, from a read-only memory (ROM) in the IOU on logical PPO.
The diagnostic program takes approximately 15 seconds to run.
Both deadstart sequences begin with a master clear, which sets up all P P s
except logical PPO, for a 4096-word block input starting at PP location 0. The
input into each PP is from the c h a ~ e lwith the same number as the logical
number of the PP concerned. The master clear also resets all external devices
and sets maintenance channel connect code bit 52. The individual registers are
set as follows:
Register

Initialization

Description

K

0071008

Instruction display.
Causes block input to
start from location 0.

A

10,O O O ~

Count of 4096 words,

Q

0, 1, 2...

I/O channel numbers
(PPO: 0, PP1: 1, and
so on).

All registers in both barrels are set to these values, except the registers of
PPO

.

If the long deadstart sequence is being performed, hardware clears location
7777 in all PP memories and sets the P register of PPO to the value indicated
by tae parameter U S ADDR = xXXX (normally 6000s). PPO starts performing a
test program from a read-only memory in IOU. Hardware errors cause the LDS
program to hang before completion. In the absence of errors, execution
When this happens,
proceeds until the test program reaches location 7776
the unique part of the long deadstart sequence ends wgth a master cleat.

.

Next, both deadstart sequences clear PPO location 0, write the deadstart
program on the display into PPO memory locations 1 to 208, and clear PPO
location 21
PPO then starts executing the program entered from the
deadstart dgsplay, which is normally a bootstrap program to input more data
from an assigned external device.

.

The short deadstart sequence does not disturb PP memory other than PPO
locations 0 to Zlg. Both deadstart sequences leave all PPs, except PPO,
waiting for a block input or for action through the maintenance channel. After
the block input is completed, each PP starts executing the program entered from
whatever address was entered into location 0 of that PP.

IOU Reconfiguration

IOU Reconfiguration
The logical PP numbers and hardware are assigned to physical PPs circularly
from the settings of IOU deadstart display PPM CONF and BRL CONF parameters,
specifying which physical barrel and PPM is PPO. Maximum values for these
parameters depend on the number of PPs installed (table 3 - 4 ) . Illegal values
entered in BB X and RP XX commands are rejected by the deadstart display and
cause error messages to appear on the acreen (refer to the hardware operator's
guide). ~econfi~uration
i s discussed in detail in the hardware operator's
guide. Tables 3-5 and 3-6 show allowable values for the PPM CONF and BRL CONF
parameters and reconfiguration examples.

Table 3 - 4 .

Barrel Numbering Table
Logical PPs in Physical Barrel With
BARREL RECONFIGURATION Switch Values

Barrels Installed
Four Barrels
(20 PPs)

Physical Barrel

0

1

2

3

IOU Reconfiguration

Table 3-5.

No.
of
PP6

Notes:
1.

RP

2.
3.

KB

Logical PP
FiB-2

Logical PP
RE-1

Logical PP
RB-0

Phyaical
PPMs
in Each
Barrel

BARO

BARl

BARZ

BAR3

BAR0

BARl

BAR2

BAR3

BAR0

BARl

BAR2

BAR3

BAR0

BARl

BAR2

BAR3

04

04

11

24

31

31

04

11

24

24

31

04

11

11

24

31

04

Logical PP
0-3

-

PP Configuration.
NIO Barrel Configuration o d y .
BAR 0-3 are the physical barrels.
=

Table 3-6.

No.
of
PPs

PP and Barrel Reconfiguration Example, RPIO

Physical
PPMs
in Each
Barrel

-

PP and Barrel Reconfiguration Example, RPa2

BAR0

Logical PP

Logical PP

RB4)

RB-1

BARl

...

W = PP Configuration.

2.
3.

BAR

BAR2

BAR3

AD = IOU Barrel Configuration only.
0-3 are t h e physical barrels.

BAR0

BARJ.

BAR2

Logical PP
RB-2
BAR3

BAR0

B.4IJ.l

BAR2

Logical PP
RB-3

BAR3

BAR0

BAR1

BAR2

BAR3

4

Instruction Descriptions

Instruction Descriptions

This c h a p t e r c o n t a i n s t h e CYBm 170 S t a t e CP i n s t r u c t i o n d e s c r i p t i o n s and PP
instruction descriptions.

CP Instruction-Formats
NOTE
CYBER 170 CP i n s t r u c t i o n s use t h e r i g h t m o s t 60
b i t s i n t h e 64-bit word. The l e f t m o s t 4 b i t s
a r e undefined. For t h e s e i n s t r u c t i o n s , t h e
m o s t - s i g n i f i c a n t b i t i s b i t 59 and t h e l e a s t s i g n i f i c a n t b i t i s b i t 0.
Program i n s t r u c t i o n words a r e divided i n t o 15-bit f i e l d s c a l l e d p a r c e l s . The
f i r s t p a r c e l ( p a r c e l 0) i s t h e highest-order 1 5 b i t s of t h e 60-bit word. The
second, t h i r d , and f o u r t h p a r c e l s ( p a r c e l s 1, 2 , and 3) f o l l o w i n order.
Figure 4-1 shows p o s s i b l e p a r c e l arrangements f o r i n s t r u c t i o n s w i t h i n a program
i n s t r u c t i o n word.

An i n s t r u c t i o n may occupy one, two, o r f o u r p a r c e l s . This arrangement depends
on t h e i n s t r u c t i o n format. When an i n s t r u c t i o n occupies two p a r c e l s , i t must
occupy two p a r c e l s w i t h i n t h e same program word. A program word may be f i l l e d
with a one-parcel pass i n s t r u c t i o n o r an i n s t r u c t i o n a c t i n g a s a two-parcel
pass i n s t r u c t i o n . These i n s t r u c t i o n s a r e used t o f i l l a program word when
necessary t o p l a c e a p a r t i c u l a r i n s t r u c t i o n i n t h e f i r s t p a r c e l of a program
word o r t o avoid s t a r t i n g a two-parcel i n s t r u c t i o n i n t h e f o u r t h p a r c e l of a
program word. Pass i n s t r u c t i o n s may a l s o be used f o r branch e n t r y p o i n t s
because a branch i n s t r u c t i o n d e s t i n a t i o n address must begin w i t h a new word.
One-parcel pass i n s t r u c t i o n s a r e 460xx through 463xx. I n s t r u c t i o n s 60xxx
through 62xxx may be used as two-parcel pass i n s t r u c t i o n s by s e t t i n g t h e i
i n s t r u c t i o n d e s i g n a t o r t o 0. Refer t o t a b l e 4-1 f o r CP i n s t r u c t i o n d e s i g n a t o r s .
CP i n s t r u c t i o n s 011 and 012 have s p e c i a l p r o p e r t i e s . They a r e 60-bit double
i n s t r u c t i o n s t h a t musr s t a r t a t p a r c e l 0. The programmer has t h e 0pri0n of
providing a branch i n s t r u c t i o n a t p a r c e l s 2 and 3 i n t h e same i n s t r u c t i o n word
( t o an error-handling software r o u t i n e ) o r f i l l i n g t h i s space w i t h pass
i n s t r u c t i o n s . Refer t o i n s t r u c t i o n s 011 and 012.

I n s t r u c t i o n s 013 and 464 through 467 a r e 60-bit i n s t r u c t i o n s which must s t a r t
a t p a r c e l 0. They ignore any information i n p a r c e l s 2 and 3; however, t h e s e
p a r c e l s a r e normally s e t t o a l l 0 ' s .

CP Instruction Formats

INSTRUCTION COMBINATIONS
59

29

44

-

15

15

PARCEL
0

59

29
30
2nd OPERAND REGISTER (1 of 8)
1st OPERAND REGISTER (1 of 8)

LRESULT
REGISTER (1 of 8)
OPERATION CODE

List OPERAND REGISTER (1 of 8)
RESULT REGISTER (1 of 81
OPERATION CODE

Figure 4-1.

CP Instruction Parcel Arrangement

Instruction Description Nomenclature

lnstruction Description Nomenclature
The instruction descriptions in this chapter use the following instruction
designators.
Designator

Description
6-bit/9-bit field specifying instruction operation code.
3-bit code specifying one of eight registers.
6-bit code specifying amount of shift or mask.
18-bit operand or addresss.
Unused designator.
One of eight 18-bit address registers.
One

of eight 18-bit index registers; BO is fixed and equal to

0.
One of eight 60-bit operand registers.
Content o f the word at a central memory address.
Offset (character address) of the first character in the
first word of the source field.
Character address of the first character in the first word o f
the result field.
Klt

18-bit address indicating the central memory location of the
first (leftmost) character o f the source field.
18-bit address indicating the central memory location of the
first (leftmost) character of the result field.
Lower 4 bits of the field length (character count) for a move
or compare instruction; used with LU to specify field length.
Upper 9 bits of the field length; (character count) for
indirect move instruction or the upper 3 bits for direct
instructions; used with LL to specify field length.

t~pplicableto compare/move instructions only.

CP Operating Modes

CP Operating Modes
The CP executes instructions in CYBER 170 job mode, CYBW 170 monitor mode, and
executive state. Changes between CYBER 170 job mode and CYBER 170 monitor mode
are caused by CYBW 170 exchange jumps (CP instruction 013 and PP instructions
2600, 2610, and 2620). A hardware flag called the C Y B W 170 monitor flag (MF)
indicates whether the CP is in CYBER 170 job mode (flag is clear) or in CYBER
170 monitor mode (flag is set).
The executive state is invisible to the applications programmer. It s e t s up
the CYBER 170 environment during initialization, executes certain instructions,
and handles hardware-detected error conditions. Hardware-caused exchanges are
called error exits. Most of these can be enabled or disabled by setting or
clearing bits in the CYBER 170 exchange package. For further information on CP
operating modes, refer to CYBER 170 Exchange Jump, Executive State, and Error
Response in chapter 5 .

CP lnteger Arithmetic Instructions

CP Instruction Descriptions
The CP general instructions are divided into 16 subgroups as follows:
0

Integer Arithmetic

0

Branch
Block Copy

0

Shift

a

Logical

0

Floating Point

0

Jump
Exchange/Jump

rn

~ompare/~ove

rn

Set

0

Normalize
Pass
Illegal Instruction

a

Mask

rn

Pop Count
Read Free Running Counter

CP lnteger Arithmetic lnstructions
The integer arithmetic instructions (table 4-1) perform integer arithmetic on
signed two's complement words or half words in Xk or XkR. The sign bit is bit
0 for full-word integers or bit 32 for half-word integers.

Table 4-1.

CP Integer Arithmetic Instructions
- .

.

Opcode

Format

Instruction

Mnemonic

27
26
36
37

ijk
ijk
Uk
1jk

Pack (~k)and (Bj) to Xi
Unpack (Xk) to Xi and Bj
Integer sum of (Xj) and (Xlc) to Xi
Integer difference of (Xj) and (Xk) to Xi

PXi Bj Xk

UXi Bj Xk
IXi Xj+Xk
IXi Xj-Xk

CP Integer Arithmetic Instructions

lnteger Pack/Unpack
27ijk

Pack (Xk) and (Bj) t o X i

PXi B j , Xk

This i n s t r u c t i o n r e a d s t h e c o n t e n t s of Xk and B j , packs them i n t o a s i n g l e word
i n f l o a t i n g - p o i n t format, and d e l i v e r s t h i s r e s u l t t o X i . The c o e f f i c i e n t f o r
t h e value i n X i i s obtained from t h e c o n t e n t of Xk, which is t r e a t e d as a
signed i n t e g e r . The exponent f o r t h e v a l u e i n X i i s obtained from t h e c o n t e n t
of B j , which i s t r e a t e d a s a signed i n t e g e r .
The lowest-order 48 b i t s i n X i a r e copied d i r e c t l y from t h e lowest-order 48
b i t s i n Xk. The s i g n b i t i n X i is copied d i r e c t l y from t h e s i g n b i t i n Xk.
The exponent f i e l d i n X i i s derived from t h e v a l u e i n Bj by e x t r a c t i n g t h e
lowest-order 11 b i t s i n Bj and modifying t h i s q u a n t i t y f o r exponent b i a s and
c o e f f i c i e n t sign.
Four sample s e t s of operands and packed r e s u l t s a r e l i s t e d i n o c t a l n o t a t i o n t o
i l l u s t r a t e t h e o p e r a t i o n performed. These examples c o n t a i n t h e f o u r combinat i o n s of c o e f f i c i e n t s i g n and exponent sign.

( X i ) = 2034 4500 3333 2000 0077

(Xi) = 5743 3277 4444 5777 7700

(Bj) = 77 7743

(Xi) = 6034 3277 4444 5777 7700
This i n s t r u c t i o n c o n v e r t s a number i n fixed-point format t o f l o a t i n g - p o i n t
format. For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n c h a p t e r 5 .

CP Integer Arithmetic Instructions

Unpack ( X k ) t o X i and Bj

U X i Bj, Xk

This i n s t r u c t i o n r e a d s one operand from Xk, unpacks t h i s word from f l o a t i n g point format, and d e l i v e r s t h e c o e f f i c i e n t and exponents t o X i and B j ,
r e s p e c t i v e l y . The 60-bit word d e l i v e r e d t o X i c o n s i s t s of t h e lowest 48 b i t s
u n a l t e r e d from t h e o r i g i n a l operand p l u s t h e upper 1 2 b i t s , each equal t o t h e
o r i g i n a l s i g n b i t . This is a signed i n t e g e r equal t o t h e value of t h e
c o e f f i c i e n t i n t h e o r i g i n a l operand. The 18-bit q u a n t i t y d e l i v e r e d t o B j i s a
signed i n t e g e r equal t o t h e value of the exponent i n the o r i g i n a l operand. The
11-bit exponent f i e l d i n t h e operand i s a l t e r e d t o remove t h e b i a s and then
sign-extended t o f i l l out t h e 18-bit q u a n t i t y . The s i g n of t h e c o e f f i c i e n t i s
removed i n t h i s process.
Four sample s e t s of operands and unpacked r e s u l t s a r e l i s t e d i n o c t a l n o t a t i o n
t o i l l u s t r a t e the o p e r a t i o n performed. These examples c o n t a i n the four
combinations of c o e f f i c i e n t s i g n and exponent sign.

( x i ) = 0000 4500 3333 2000 0077

(Xi) = 7777 3277 4444 5777 7700

This i n s t r u c t i o n converts a number from floating-point format t o fixed-point
format. For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Integer Arithmetic Instructions

36ijk

I n t e g e r sum of (Xj) and (Xk) t o X i
98

14

I

36

0

65 32
i

j

k

This i n s t r u c t i o n reads operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a 60-bit i n t e g e r sum, and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r . The
operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands a r e signed
Overflow i s not
i n t e g e r s . The r e s u l t i n g i n t e g e r sum i s d e l i v e r e d t o X i .
detected.
This i n s t r u c t i o n adds i n t e g e r s too l a r g e f o r handling by 50 through 77
i n s t r u c t i o n s . The i n s t r u c t i o n a l s o merges and compares d a t a f i e l d s during d a t a
processing.
For f u r t h e r information, r e f e r t o I n t e g e r Arithmetic under CP Programming i n
chapter 5.
37ijk

I n t e g e r d i f f e r e n c e of ( ~ j )and
(Xk) t o X i

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a 60-bit i n t e g e r d i f f e r e n c e , and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r .
The operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands a r e signed
i n t e g e r s . The r e s u l t of s u b t r a c t i n g t h e q u a n t i t y i n Xk from t h e q u a n t i t y i n X j
i s delivered t o X i . Overflow i s not detected.
This i n s t r u c t i o n s u b t r a c t s i n t e g e r s too l a r g e f o r handling by 50 through 77
i n s t r u c t i o n s . The i n s t r u c t i o n a l s o compares d a t a f i e l d s during d a t a processing.
For f u r t h e r information, r e f e r t o I n t e g e r Arithmetic under CP Programming i n
chapter 5.

CP Branch Instructions

CP Branch lnstructions
The branch i n s t r u c t i o n s ( t a b l e 4-2) c o n s i s t of both c o n d i t i o n a l and
u n c o n d i t i o n a l branch i n s t r u c t i o n s . Each c o n d i t i o n a l branch i n s t r u c t i o n
compares t h e c o n t e n t s of two g e n e r a l r e g i s t e r s t o determine whether a normal o r
a branch e x i t i s taken.

Table 4-2.

CP Branch I n s t r u c t i o n s

Opcode

Format

Instruction

030
03 1
032
033
034

jK
jK
jK
jK
jK
jK
jK
jK
jK

Branch
Branch
Branch
Branch
Branch
Branch
Branch
Branch
Branch
Branch
Branch
Branch

035
036
037
04 i

051
06i
07i

jK
jK
jK

Mnemonic

t o K i f (Xj) = 0
t o K i f (Xj) # 0
t o K i f (Xj) i s p o s i t i v e
t o K i f (Xj) i s negative
to
to
to
to
to
to
to
to

K
K
K
K
K
K
K

if
if
if
if
if
if
if
K if

( Xj) i s i n range

(Xj)
(Xj)
(Xj)
(Bi)
(Bi)
(Bi)
(Bi)

i s o u t of range
is definite
is indefinite
= (Bj)
(Bj)
> (Bj)
(Bj)

ZR
NZ
PL
NG
IR
OR

DF
ID
EQ

NE
GE

LT

CP Branch Instructions

Branch
030 j K

ZR Xj, K

Branch t o K i f (Xj ) = 0

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K.
Execution of t h i s i n s t r u c t i o n causes t h e program sequence t o terminate with a
jump t o addreas K i n CM o r t o continue with t h e c u r r e n t program sequence,
depending on t h e content of Xj. The branch t o address K occurs only on t h e
following conditions. The c u r r e n t program sequence continues f o r a l l o t h e r
cases.
Jump t o K i f :

(Xj) = 0000 0000 0000 0000 0000 ( p o s i t i v e z e r o )
( ~ j =
) 7777 7777 7777 7777 7777 ( n e g a t i v e zero)

This i n s t r u c t i o n branches on a zero r e s u l t from e i t h e r a fixed-point o r a
floating-point operation.
031j K

Branch t o K i f (Xj)

"

0

NZ X j , K

This two-parcel i n s t r u c t i o n uses t h e lower-order 18 b i t s a s operand K.
Execution of t h i s i n s t r u c t i o n causes t h e program sequence t o terminate with a
jump t o address K i n CM o r t o continue with t h e c u r r e n t program sequence,
depending on the content of X j . The program sequence continues only on t h e
following conditions. The branch t o address K occurs f o r a l l o t h e r c a s e s .
Continue i f :

(Xj) = 0000 0000 0000 0000 0000 ( p o s i t i v e zero)
(Xj) = 7777 7777 7777 7777 7777 (negative zero)

This i n s t r u c t i o n branches on a nonzero r e s u l t from e i t h e r a fixed-point o r a
floating-point operation.

CP Branch instructions

Branch t o K i f (Xj) i s P o s i t i v e

PL X j , K

This two-parcel i n s t r u c t i o n uses t h e lower-order 18 b i t s a s operand K.
Execution of t h i s i n s t r u c t i o n causes t h e program sequence t o terminate with a
jump t o address K i n CM o r t o continue with t h e c u r r e n t program sequence,
The branch d e c i s i o n f o r t h i s i n s t r u c t i o n i s
depending on t h e content of X j .
based on t h e value of t h e sign b i t i n X j .
Jump t o K i f : B i t 59 of X j = 0 ( p o s i t i v e )
1 (negative)
Continue i f : B i t 59 of X j
This i n s t r u c t i o n branches on a p o s i t i v e r e s u l t from e i t h e r a fixed-point
f l o a t i n g - p o i n t operation.

033 j K

Branch t o K i f (Xj) i s Negative

or a

NG X j , K

This two-parcel i n s t r u c t i o n uses the lower-order 18 b i t s as operand K.
Execution of t h i s i n s t r u c t i o n causes t h e program sequence t o terminate with a
jump t o address K i n CM o r t o continue with t h e c u r r e n t program sequence,
depending on t h e content of X j . The branch d e c i s i o n f o r t h i s i n s t r u c t i o n i s
based on t h e value of t h e s i g n b i t i n X j .
Jump t o K i f : B i t 59 of X j = 1 ( n e g a t i v e )
Continue i f : B i t 59 of X j = 0 ( p o s i t i v e )
This i n s t r u c t i o n branches on a negative r e s u l t from e i t h e r a fixed-point o r a
floating-point operation.

CP Branch Instructions

034jK

Branch to K if (Xj) is in range

IR Xj, K

This two-parcel instruction uses the lower-order 18 bits as operand K.
Execution of this instruction causes the program sequence to terminate with a
jump to address K in CM or to continue with the current program sequence,
depending on the content of Xj. The program sequence continues only on the
following conditions. The branch to address K occurs for all other cases.
Continue if:

(Xj) = 3777 xxxx xmrx xxxx xxxx (positive overflow)
(Xj) = 4000 xxxx xxxx xxxx xxxx (negative overflow)

This instruction branches on a floating-point quantity within the floatingpoint range. The value of the coefficient is ignored in making this branch
test. Ari underflow quantity is considered in range for purposes of this test.
035jK

Branch to K if (Xj) is out of range

OR Xj, K

This two-parcel instruction uses the lower-order 18 bits as operand K.
Execution of this instruction causes the program sequence to terminate with a
jump to address K in CM or to continue with the current program sequence,
depending on the content of Xj. The branch to address K occurs only on the
following conditions. The current program sequence continues for all other
cases.
Jump to K if:

( ~ j )= 3777 xxxx xxxx xxxx xxxx (positive overflow)
(Xj) a 4000 xxxx xxxx xxxx xxxx (negative overflow)

Branch to K if (Xj) is definite

DF Xj, K

This two-parcel instruction uses the lower-order 18 bits as operand K.
Execution of this instruction causes the program sequence to terminate with a
jump to address K in CM or to continue with the current program sequence,
depending on the content of Xj. The program sequence continues only on the
following conditions. The branch to address K occurs for all other cases.
Continue if:

(Xj) = 1777 xxxx xxxx xxxx xxxx (positive indefinite)
(Xj) = 6000 XMM xxxx xxxx xxxx (negative indefinite)

This instruction branches on a floating-point quantity that may be out of range
but is still defined. The value of the coefficient is ignored in making this
branch test. An overflow quantity or an underflow quantity is considered
defined for purposes of this test.

CP Branch Instructions

Branch to K if (Xj) is indefinite

ID X j , K

This two-parcel instruction uses the lower-order 18 bits as operand K.
Execution of this instruction causes the program sequence to terminate with a
jump to address K in CM or to continue with the current program sequence,
depending on the content of the Xj register. The branch to address K occurs
only on the following conditions. The current program sequence continues for
all other cases.
Jump to K if:

(Xj) = 1777 xxxx xxxx xxxx xxxx (positive indefinite)
(Xj) = 6000 murx xxxx xxxx xxxx (negative indefinite)

This instruction branches on a floating-point quantity that is not defined.
The value of the coefficient is ignored in making this branch rest. An
overflow quantity or an underflow quantity is considered defined for purposes
of this test.
O4i jK

Branch to K if (Bi)

(Bj)

EQ Bi, Bj, K

This two-parcel instruction uses the lower-order 18 bits as operand K.
Execution of this instruction causes the program sequence to terminate with a
jump to address K in CM or to continue with the current program sequence,
depending on a comparison of the contents of the Bi and Bj registers. The
branch to address K occurs only if the two quantities are identical on a
bit-by-bit comparison basis. The current program sequence continues for all
other cases.
This instruction branches on an index equality test. A quantity consisting of
all 0's and a quantity consisting of all 1's are not equal for this test.

CP Branch instructions

0 5 i jK

Branch t o K i f ( B i ) # ( B j )

NE B i , Bj, K

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K.
Execution of c h i s i n s t r u c t i o n c a u s e s t h e program sequence t o t e r m i n a t e w i t h a
jump t o a d d r e s s K i n CM o r t o c o n t i n u e w i t h t h e c u r r e n t program sequence,
The
depending on a comparison of t h e c o n t e n t s of t h e B i and B j r e g i s t e r s .
Program sequence c o n t i n u e s only i f t h e two q u a n t i t i e s a r e i d e n t i c a l on a
b i t - b y - b i t comparison b a s i s .
The branch t o a d d r e s s K o c c u r s f o r a l l o t h e r
cases.
This i n s t r u c t i o n branches on an i n d e x i n e q u a l i t y t e s t .
A quantity consisting
of a l l 0's and a q u a n t i t y c o n s i s t i n g of a l l 1's a r e n o t e q u a l f o r t h i s t e s t .

0 6 i jK

Branch t o K i f ( B i )

2

(Bj)

GE B i , Bj, K

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K.
Execution of t h i s i n s t r u c t i o n c a u s e s t h e program sequence t o t e r m i n a t e w i t h a
jump t o a d d r e s s K i n CM o r t o c o n t i n u e with t h e c u r r e n t program sequence,
Both q u a n t i t i e s a r e
depending on a comparison of t h e c o n t e n t s of B i and Bj.
t r e a t e d a s signed i n t e g e r s .
The branch t o a d d r e s s K o c c u r s i f t h e c o n t e n t of
B i i s g r e a t e r than o r e q u a l t o t h e c o n t e n t of B j .
The c u r r e n t program sequence
c o n t i n u e s i f the c o n t e n t of B i i s l e s s than B j .
This i n s t r u c t i o n branches on an index t h r e s h o l d t e s t .
c o n s i d e r e d g r e a t e r than a -0 q u a n t i t y .

07i jK

Branch t o K i f ( B i )

<

A +O q u a n t i t y i s

LT B i , B j , K

(Bj)

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K.
Execution of t h i s i n s t r u c t i o n c a u s e s t h e program sequence t o t e r m i n a t e w i t h a
jump t o a d d r e s s K i n CM o r t o c o n t i n u e with t h e c u r r e n t program sequence,
depending on a comparison of t h e c o n t e n t s of B i and Bj.
Both q u a n t i t i e s a r e
t r e a t e d a s signed i n t e g e r s .
The branch t o a d d r e s s K o c c u r s i f the c o n t e n t of
B i i s l e s s than t h e c o n t e n t of B j .
The c u r r e n t program sequence c o n t i n u e s i f
the c o n t e n t of B i i s g r e a t e r than o r e q u a l t o t h e c o n t e n t of Bj.
This i n s t r u c t i o n branches on an index t h r e s h o l d t e s t .
c o n s i d e r e d g r e a t e r t h a n a -0 q u a n t i t y .

A

+O q u a n t i t y i s

CP Block Copy Instructions

CP Block Copy lnstructions
The block copy instructions (table 4 - 3 ) transfer 60-bit words between fields in
CM and UEM.

Table 4 - 3 .

CP Block Copy Instructions

Opcode

Format

Instruction

011
012

jK
jK

Block copy (Bj
Block copy (Bj

Mnemonic

+ K) words
+ K) words

from U E M to CM
from CM to UEM

RE Bj+K
WE Bj+K

CP Block Copy Instructions

Block Copy
OlljK

Block copy (Bj + K) words from UEM to CM
59

51

47

30 29
K

0

INST. FOR HALF EXIT

This instruction copies a block of Bj plus K consecutive words from unified
extended memory (UEM) to CM. The source UEM address is XO plus RAE where the
bits used depend on the setting of the expanded addressing select flag in the
CYBER 170 exchange package, If the flag is clear (UEM is in standard
addressing mode), the UEM address is calculated using bits 0 through 22 of XO;
bits 24 through 59 are ignored. If the flag i s set (UEM is in expanded
addressing mode), the UEM address is calculated using bits 0 through 28 of XO;
bits 30 through 59 are ignored.
The destination CM address is either A0 plus RAC, or XO plus RAC, depending on
the setting of the block copy flag in the CYBER 170 exchange package. When the
block copy flag is clear, the CM address is A0 plus RAC. When the block copy
flag is set, the CM address is calculated using bits 30 through 50 of XO. Bits
51 through 59 must be set to 0; results are undefined if these bits are not 0.
The operation leaves Bj, XO, and A0 unchanged. Bj and K are both signed 18-bit
one's complement numbers, making it possible to transfer a maximum of 131 071
60-bit words. If Bj plus K is 0, the instruction acts as a 60-bit pass
instruction.

If bit 21 or 22 of the result of XO plus RAE is a 1, 0's are transferred, and
the next instruction is taken from parcel 2 of the same instruction word. If
this is not the case, the next instruction is taken from parcel 0 of the next
instruction word. If execution of the OlljK instruction is interrupted, it is
restarted from the beginning.
This instruction is illegal if it does not start in parcel 0 or the UEM enable
flag in the CYBER 170 exchange package is clear.
In standard addressing mode, 24 bits of XO are checked against 23 bits of FLE
with bit 23 of FLE equal to 0. In expanded addressing mode, 30 bits of XO are
checked against 29 bits of FLE with bit 29 equal to 0, If the XO bits are
greater than or equal to FLE, an address-out-of-range condition is detected.

If Bj plus K is negative, an address range error exit takes place. If the
source field and the destination field overlap in physical memory, the final
contents of the destination field are undefined.
For further information, refer to Block Copy Instructions in chapter 5.

CP Block Copy instructions

012jK

Block copy ( B j

59

47

51
012

+ K)

i

words from CM t o U W

30 29
K

0

INSP. FOR HALF EXIT

This i n s t r u c t i o n copies a block of Bj plus K consecutive words from CM t o UEM.
The source CM address i s e i t h e r A0 p l u s RAC o r XO p l u s RAC, depending on the
s e t t i n g of t h e block copy f l a g i n the CYBER 170 exchange package. When t h e
block copy f l a g i s c l e a r , t h e CM address i s A0 plus RAC. When the block copy
f l a g i s s e t , t h e CM address is c a l c u l a t e d using b i t s 30 through 50 of XO.
Bits
5 1 through 59 must be s e t t o 0; r e s u l t s a r e undefined i f these b i t s a r e not 0.
The d e s t i n a t i o n UPI address i s XO plus RAE where t h e b i t s used depend on t h e
s e t t i n g of t h e expanded addressing s e l e c t f l a g i n t h e CYBER 170 exchange
package. I f t h e f l a g i s c l e a r (UPI i s i n standard addressing mode), the UEM
address i s c a l c u l a t e d using b i t s 0 through 22 of XO; b i t s 24 through 59 a r e
ignor'ed.
I f t h e f l a g i s s e t (UPI i s i n expanded addressing mode), the UEM
address i s c a l c u l a t e d using b i t s 0 through 28 of XO; b i t s 30 through 59 a r e
ignored.
The operation l e a v e s Bj, XO, and A0 unchanged. B j and K a r e both signed 18-bit
one's complement numbers, making i t p o s s i b l e t o t r a n s f e r a maximum of 131 071
60-bit words. If B j plus K i s 0, t h e i n s t r u c t i o n a c t s a s a 60-bit pass
instruction.

If b i t 21 o r 22 of t h e r e s u l t of XO plus RAE i s a 1, 0 ' s a r e t r a n s f e r r e d and
the next i n s t r u c t i o n i s t a k e n from p a r c e l 2 of the same i n s t r u c t i o n word. I f
t h i s is not t h e c a s e , t h e next i n s t r u c t i o n i s taken from p a r c e l 0 of the next
i n s t r u c t i o n word. I f execution of t h e 012jK i n s t r u c t i o n i s i n t e r r u p t e d , i t i s
r e s t a r t e d from t h e beginning.
This i n s t r u c t i o n i s i l l e g a l i f i t does not s t a r t i n p a r c e l 0 o r t h e UEM enable
f l a g in t h e CYBER 170 exchange package i s c l e a r .
I n standard addressing mode, 24 b i t s of XO a r e checked a g a i n s t 23 b i t s of FLE
with b i t 23 of FLE equal t o 0. I n expanded addressing mode, 30 b i t s of XO a r e
checked a g a i n s t 29 b i t s of FLE with b i t 29 equal t o 0. I f the XO b i t s a r e
g r e a t e r than o r equal t o FLE, an address-out-of-range c o n d i t i o n i s d e t e c t e d .
I f B j plus K i s negative, an address range e r r o r e x i t t a k e s place. I f t h e
source f i e l d and the d e s t i n a t i o n f i e l d overlap i n p h y s i c a l memory, the f i n a l
contents of t h e d e s t i n a t i o n f i e l d a r e undefined.
For f u r t h e r information, r e f e r t o Block Copy I n s t r u c t i o n s i n chapter 5.

CP Shift Instructions

CP Shift lnstructions
The s h i f t i n s t r u c t i o n s ( t a b l e 4-41 s h i f t t h e X i 60-bit word through t h e number
of b i t p o s i t i o n s determined from a computed s h i f t count.

Table 4-4.

CP S h i f t I n s t r u c t i o n s

Opcode

Format

Instruction

Mnemonic

20
22

ijk
i jk
ij k
ijk

L e f t s h i f t ( x i ) by jk
L e f t s h i f t (Xk) nominally (Bj) p l a c e s t o X i
Right s h i f t ( X i ) by jk
Right s h i f t (Xk) nominally ( B j ) p l a c e s t o X i

LXi
LXi
AX1
AXi

21
23

jk
Bj Xk
jk
Bj Xk

Left Shift
20ijk

L e f t s h i f t (Xi) by jk

LXi jk

This i n s t r u c t i o n r e a d s one operand from X i , s h i f t s t h e 60-bit word l e f t
c i r c u l a r l y by jk b i t p o s i t i o n s , and w r i t e s t h e r e s u l t i n g 60-bit word back i n t o
t h e same X i r e g i s t e r . The j and k d e s i g n a t o r s a r e t r e a t e d a s a s i n g l e 6-bit
p o s i t i v e i n t e g e r operand i n t h i s i n s t r u c t i o n .
A left-circular

s h i f t i m p l i e s t h a t t h e b i t p a t t e r n i n t h e 60-bit word i s
d i s p l a c e d towards t h e h i g h e s t - o r d e r b i t p o s i t i o n s . The b i t s s h i f t e d o f f t h e
upper end of t h e 60-bit word a r e i n s e r t e d i n t h e lowest-order b i t p o s i t i o n s i n
t h e same sequence. The r e s u l t i n g 60-bit word h a s t h e same q u a n t i t y of b i t s
w i t h v a l u e s of 1 and 0 a s i n the o r i g i n a l operand.
A sample computation i s l i s t e d i n o c t a l n o t a t i o n t o i l l u s t r a t e t h e o p e r a t i o n
performed.

I n i t i a l I X i ) = 2323 6600 0000 0000 0111
jk = I2 ( o c t a l )
F i n a l (Xi) = 7540 0000 0000 0022 2464

This i n s t r u c t i o n , t o g e t h e r w i t h i n s t r u c t i o n 21, may be used whenever a d a t a
word i s t o be s h i f t e d by a predetermined amount. I f t h e amount of s h i f t i s
d e r i v e d i n t h e e x e c u t i o n of t h e program, use i n s t r u c t i o n 22 o r 23.

CP Shift Instructions

Left shift ( X k ) nominally (Bj)
places to Xi

rXi Bj, Xk

This instruction reads a 60-bit operand from Xk, shifts the data either left or
right as specified by Bj, and writes the resulting 60-bit word into Xi. If the
value in Bj is positive, the data is left-shifted circularly the number of bit
positions designated by the value in Bj. If the value in Bj is negative, the
data is right-shifted with sign extension the number of bit positions
designated by the value in Bj. Bj bit 17 determines the sign of Bj.

A left-circular shift implies that the bit pattern in the 60-bit word is
displaced towards the highest-order bit positions. The bits shifted off the
upper end are inserted in the lowest-order bit positions in the same sequence.
The resulting 60-bit word has the same quantity of bits with values of 1 and 0
as in the original operand.

A right shift with sign extension implies that the bit pattern in the 60-bit
word is displaced towards the lowest-order positions. The bits shifted off the
lower end are discarded. The highest-order bit positions are filled with
copies of the original sign bit.
Two sample computations are listed in octal notation to illustrate the
operation performed. An example of a positive shift count resulting in a leftcircular shift is as follows:

An example of the right shift with sign extension is as follows:

If Bj bits 6 through 10 are different from Bj bit 17 aid Bj bit 17 is set, the
shift count is greater than 63 (decimal) places right, and a result of +O is
returned to Xi. Bj bits 11 through 16 are not tested by this instruction.
This instruction is used when the amount of shift is derived in the
computation. The instruction is also used for correcting the coefficient of a
floating-point number when the exponent has been unpacked into a B register.

CP Shift Instructions

Right Shift
2lijk

This
sign
into
6-bit

Right s h i f t (Xi) by jk

i n s t r u c t i o n r e a d s one operand from X i , s h i f t s the 60-bit word r i g h t with
extension by jk b i t p o s i t i o n s , and w r i t e s t h e r e s u l t i n g 60-bit word back
t h e same X i r e g i s t e r . The j and k d e s i g n a t o r s a r e t r e a t e d as a s i n g l e
p o s i t i v e i n t e g e r operand i n t h i s i n s t r u c t i o n .

A r i g h t s h i f t with s i g n extension implies t h a t t h e b i t p a t t e r n i n the 60-bit

word i s displaced toward t h e lowest-order b i t p o s i t i o n s . The b i t s s h i f t e d o f f
the lower end of t h e word a r e discarded. The highest-order b i t p o s i t i o n s a r e
f i l l e d wtth copies of t h e o r i g i n a l s i g n b i t .
Two sample computations a r e l i s t e d i n o c t a l n o t a t i o n t o i l l u s t r a t e the
operation performed. An example of a p o s i t i v e operand i s a s follows:

I n i t i a l (Xi)

Final (Xi)

2004 7655 0002 3400 0004

0000 0000 2004 7655 0002

An example of a negative operand i s a s follows:
I n i t i a l (Xi) = 6000 4420 2222 0000 5643
jk = 10 ( o c t a l )
F i n a l (Xi) = 7774 0 0 U 0404 4440 0013
This i n s t r u c t i o n , t o g e t h e r with i n s t r u c t i o n 20, may be used whenever a d a t a
word i s t o be s h i f t e d by a predetermined amount. I f the amount of s h i f t i s
derived i n t h e execution of t h e program, use i n s t r u c t i o n 22 o r 23.

CP Shift Instructions

Right s h i f t (Xk) nominally ( ~ j )
places t o Xi

AX1 B j , Xk

This i n s t r u c t i o n r e a d s a 60-bit operand from Xk, shifts t h e d a t a e i t h e r l e f t or
r i g h t a s s p e c i f i e d by t h e content of B j , and w r i t e s t h e r e s u l t i n g 60-bit word
I f t h e value i n Bj i s p o s i t i v e , t h e d a t a i s r i g h t - s h i f t e d with s i g n
into Xi.
e x t e n s i o n t h e number of b i t p o s i t i o n s designated by t h e v a l u e in B j . I f t h e
value i n B j i s negative, t h e d a t a is l e f t - s h i f t e d c i r c u l a r l y t h e number of b i t
p o s i t i o n s designated by t h e value i n Bj. Bj b i t 17 determines t h e s i g n of B j .
A l e f t - c i r c u l a r s h i f t implies t h a t t h e b i t p a t t e r n i n t h e 60-bit word i s
d i s p l a c e d towards t h e highest-order b i t p o s i t i o n s . The b i t s s h i f t e d o f f t h e
upper end a r e i n s e r t e d i n t h e lowest-order b i t p o s i t i o n s i n t h e same sequence.
The r e s u l t i n g 60-bit word has t h e same q u a n t i t y of b i t s with values of 1 and 0
a s i n t h e o r i g i n a l operand.

A r i g h t s h i f t with s i g n extension i m p l i e s t h a t t h e b i t p a t t e r n i n t h e 60-bit
words i s displaced towards t h e lowest-order b i t p o s i t i o n s . The b i t s s h i f t e d
off t h e lower end of t h e word are discarded. The highest-order b i t p o s i t i o n s
a r e f i l l e d with c o p i e s of t h e o r i g i n a l s i g n b i t .
Two sample computations a r e l i s t e d i n o c t a l n o t a t i o n t o i l l u s t r a t e t h e
o p e r a t i o n performed. The following example c o n t a i n s a p o s i t i v e s h i f t count
r e s u l t i n g i n a r i g h t s h i f t with s i g n extension.

The following example c o n t a i n s a negative s h i f t count r e s u l t i n g i n a l e f t circular shift.

(Xk) = 2323 6600 0000 0000 0111
( B j ) = 77 7765
(Xi) = 7540 0000 0000 0022 2464
B j b i t s 6 through 10 a r e d i f f e r e n t from B j b i t 1 7 , and B j b i t 17 i s c l e a r ,
t h e s h i f t count i s g r e a t e r than 63 (decimal) p l a c e s r i g h t , and a r e s u l t of +0
is returned t o X i .
This i n s t r u c t i o n does not t e s t B j b i t s 11 through 16.

This i n s t r u c t i o n i s used when t h e amount of s h i f t i s derived i n the
computation. The i n s t r u c t i o n i s a l s o used f o r c o r r e c t i n g the c o e f f i c i e n t of a
f l o a t i n g - p o i n t number when t h e exponent has been unpacked i n t o a B r e g i s t e r .

CP Logical lnstructions

CP Logical lnstructions
The logical instructions (table 4-5) perform logical (Boolean) operations in
the X registers.

Table 4-5.

CP Logical Instructions

Opcode

Format

Instruction

Mnemonic

12
16

ijk
ijk

BXi Xj+Xk

13
17

ijk
ijk

11
15

ijk
Cik

Logical sum of (Xj) and (Xk) to Xi
Logical sum of (Xj) with complement
of (Xk) to Xi
and (Xk) to Xi
Logical difference of (~j)
Logical difference of (Xj) with
complement of (Xk) to Xi
Logical product of (Xj) and (Xk) to Xi
Logical product of (~j)with complement
of (Xk) to Xi

BXi -Xk+X j
BXi Xj-Xk
BXi -Xk-Xj
B X I X j*Xk
BXi -Xj*X j

CP Logical Instructions

Logical Sum
12ijk

Logical sum of (Xj) and ( X k ) to Xi

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a third X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the
bit-by-bit logical sum of the two operands. Each of the 60 bits in Xj is
compared with the corresponding bit in Xk to form a single bit in Xi. A sample
computation is listed in octal notation to illustrate the operation performed
and includes the four possible bit combinations that may occur.
(Xj)

=

0000 7777 0123 4567 1010

0123 7777 7777 4567 1110

(Xi)

This instruction merges portions of a 60-bit word into a composite word during
data processing.
16ijk

Logical sum of (Xj) with complement
of (Xk) to Xi
14

I

98
16

65 32
i

j

BXi -Xk

+

Xj

0
k

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a third X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the
bit-by-bit logical sum of the value in Xj and the complement of the value in
Xk. Each of the 60 bits in Xj is compared with the corresponding bit in Xk to
form a single bit in Xi. A sample computation is listed in octal notation to
illustrate the operation performed and includes the four possible bit
combinations that may occur.

(Xi)

=

7654 7777 0123 7777 7677

This instruction merges portions of a 60-bit word into a composite word during
data processing.

CP Logical Instructions

Logical Difference
13ijk

Logical difference of (Xj) and
(Xk) to Xi

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a third X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the
bit-by-bit logical difference of the two operands. Each of the 60 bits in Xj
is compared with the corresponding bit in Xk to form a single bit in Xi. A
sample computation is listed in octal notation to illustrate the operation
performed and includes the four possible bit combinations that may occur.

(Xi)

=

0000 3210 7654 7777 0110

This instruction compares bit patterns or complements bit patterns during data
processing.
17ijk

Logical difference of ( X j ) with
complement of (Xk) to Xi

BXi -Xk

-

Xj

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a thlrd X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the bit-bybit logical difference of the value in Xj and the complement of the value in
Xk. Each of the 60 bits in Xj is compared with the corresponding bit in Xk to
form a single bit in Xi. A sample computation is listed in octal notation to
illustrate the operation performed and includes the four possible combinations
that may occur.

This instruction compares bit patterns or complements bit patterns during data
processing.

CP Logical lnstruct~ons

Logical Product
llijk

Logical product of (Xj) and (Xk) to Xi

BXi Xj

* Xk

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a third X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the bit-bybit logical product of the two operands. Each of the 60 bits in Xj is compared
with the corresponding bit in Xk to form a single bit in Xi. A sample
computation is listed in octal notation to illustrate the operation performed
and includes the four possible bit combinations that may occur.

This instruction extracts portions of a 60-bit word during data processing.
lSijk

Logical product of (Xj) with
complement of (Xk) to Xi

BXI -Xk

*

Xj

This instruction reads operands from two X registers, operates on them to form
a result, and delivers this result to a third X register. The operands for
this instruction are in Xj and Xk. The result delivered to Xi is the bit-bybit logical product of the value in Xj and the complement of the value in Xk.
Each of the 60 bits in Xj is compared with the corresponding bit in Xk to form
a single bit in Xi. A sample computation is listed in octal notation to
illustrate the operation performed and includes the four possible bit
.
combinations that may occur.

(Xi) = 7654 3000 0120 0067 OOZO

This instruction extracts-portions of a 60-bit word during data processing.

CP Floating-Point Arithmetic lnstructions

CP Floating-point Arithmetic Instructions
The f l o a t i n g - p o i n t i n s t r u c t i o n s ( t a b l e 4-6)
f l o a t i n g - p o i n t numbers.

Table 4-6.
Opcode

perform a r i t h m e t i c o p e r a t i o n s on

CP Floating-point I n s t r u c t i o n s
Format

34
31

ijk
ijk

33

ijk

35

ijk

40
41

ijk
ijk

44
45

ijk
ijk

Instruction
Floating sum of (Xj) and (Xk) t o X i
Floating double-precision sum of (Xj )
and (Xk) t o X i
Round f l o a t i n g sum of (Xj) and (Xk) t o X i
F l o a t i n g d i f f e r e n c e of ( ~ j and
)
(Xk)
to X i
Floating double-precision d i f f e r e n c e of
(Xj) and (Xk) t o X i
Round f l o a t i n g d i f f e r e n c e of (Xj)
and ( X k ) t o X i
F l o a t i n g product of (Xj) and (Xk) t o X i
Round f l o a t i n g product of (Xj) and (Xk)
t o Xi.
Floating double-precision product of
(Xj) and (Xk) t o X i
Floating d i v i d e (Xj) by (Xk) t o X i
Round f l o a t i n g d i v i d e (Xj) by ( X k ) t o X i

Mnemonic

D X i Xj+Xk
R X i Xj+Xk
FXi X j-Xk
D X i Xj-Xk

RXI Xj-Xk
FXI Xj*Xk

D X i Xj*Xk
FXI X j / X k
Rxi X j / %

CP Floating-Point Arithmetic Instructions

Floating Sum
30i jk

Floating sum of (Xj) and ( X k ) t o X i

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a floating-point sum, and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r . The
operands f o r t h i s i n s t r u c t l o n a r e i n Xj and Xk. These operands a r e i n
f l o a t i n g - p o i n t format and a r e not n e c e s s a r i l y normalized. The sum of t h e
q u a n t i t i e s i n Xj and Xk i s delivered t o X i i n floating-point format and i s not
n e c e s s a r i l y normalized.
The two operands a r e uppacked from floating-point format, and the exponents are
compared. The c o e f f i c i e n t with t h e smaller exponent i s r i g h t - s h i f t e d by t h e
d i f f e r e n c e of t h e two exponents such t h a t borh c o e f f i c i e n t s a r e the same
s i g n i f i c a n c e . The two c o e f f i c i e n t s a r e then added t o form a 96-bit r e s u l t .
The upper h a l f of t h e r e s u l t i s then s e l e c t e d a s a c o e f f i c i e n t and packed along
If coefficient
with the l a r g e r exponent t o form t h e r e s u l t s e n t t o X i .
overflow occurs, t h e sum i s r i g h t - s h i f t e d one place, and t h e exponent i s
increased by one.
I f t h e two operands have u n l i k e s i g n s , t h e r e s u l t c o e f f i c i e n t may have l e a d i n g
zeros. No normalize o p e r a t i o n i s b u i l t i n t o t h i s i n s t r u c t i o n t o c o r r e c t t h i s
s i t u a t i o n . A s e p a r a t e normalize i n s t r u c t i o n must be programmed i f t h e r e s u l t
is t o be kept i n a normalized form.
When t h e difference between the exponents i s g r e a t e r than 128 (decimal), t h e
s h i f t e d s i g n b i t i s extended t o t h e e n t i r e s h i f t e d operand. I n f i n i t e
x o r 4000xxx...x) o r i n d e f i n i t e (1777xxx
x o r 6000xxx
x)
(3777xxx
operands cause corresponding e x i t c o n d i t i o n s t o s e t i n t h e CP f o r e x i t mode
action.

...

...

...

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Floating-PointArithmetic Instructions

32ijk

Floating double-precision sum of
(Xj) and (Xk) to Xi

DXi X j

+

Xk

This instruction reads operands from two X registers, operates on them to form
a double-precision, floating-point sum, and delivers the lower half of this
result to a third X register. The operands for this instruction are in Xj and
Xk. These operands are in floating-point format and are not necessarily
normalized. The sum of the quantities in Xj and Xk is delivered to Xi in
floating-point format and is not necessarily normalized,
The two operands are unpacked from floating-point format, and the exponents are
compared. The coefficient with the smaller exponent is right-shifted by the
difference of the.two exponents such that both coefficients are the same
significance. The two coefficients are then added to form a 96-bit result.
The lower half of the result is then selected and packed along with the larger
exponent minus 48 (decimal) to form the result sent to Xi. If coefficient
overflow occurs, the result is right-shifted by one place, and the exponent is
increased by 1. Infinite (37771urx...x or 4000xm...x) or indefinite
(1777xxx...x or 6000xxx...x)
operands cause corresponding exit conditions to
set in the CP for exit mode action.
For further information, refer to Floating-Poht Arithmetic under CP Programming
in chapter 5.
34ijk

Round floating sum of (Xj) and
(Xk) to Xi

This instruction reads operands from two X registers, operates on them to form
a rounded floating-point sum, and delivers this result to a third X register.
The operands for this instruction are in Xj and Xk. These operands are in
floating-point format and are not necessarily normalized. The result is
delivered to Xi in floating-point format and is not necessarily normalized.
The round floating-point sum is a single-precision floating-point sum with a
round bit (or bits) inserted before the add operation takes place. A round bit
is always inserted in the coefficient with the larger exponent. If the two
exponents are equal, the round bit is inserted in the coefficient for Xk. The
round bit is equal to the complement of the sign bit and is inserted immediately to the right of the lowest-order bit in the coefficient. This has the
effect of increasing the magnitude of the coefficient by one-half of the l e a s t significant bit. A second round bit is inserted in a corresponding manner to
the other coefficient if both operands are normalized or have unlike signs.
The second round bit is inserted before the coefficient is shifted by the
difference of the exponents. Infinite (3777xxx...x or 4000xxx x) or
indefinite (1777xxx. ..x or 6000xxx x) operands cause corresponding exit
conditions to set in the CP for exit mode action.

...

...

For further information, refer to Floating-Point Arithmetic under CP
Programming in chapter 5.

CP Floating-Point Arithmetic Instructions

Floating Difference
3lijk

F l o a t i n g d i f f e r e n c e of (Xj) and
(Xk) t o X i

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a f l o a t i n g - p o i n t d i f f e r e n c e , and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r .
The operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands a r e i n
floating-point format and a r e not n e c e s s a r i l y normalized.
The r e s u l t of
s u b t r a c t i n g t h e q u a n t i t y i n Xk from t h e q u a n t i t y i n X j i s delivered t o X i i n
floating-point format and i s not n e c e s s a r i l y normalized.
The two operands a r e unpacked from f l o a t i n g - p o i n t format, and t h e exponents are
compared. The c o e f f i c i e n t with t h e smaller exponent i s r i g h t - s h i f t e d by t h e
d i f f e r e n c e of t h e two exponents such t h a t both c o e f f i c i e n t s a r e t h e same
s i g n i f i c a n c e . The Xk c o e f f i c i e n t i s then s u b t r a c t e d from t h e X j c o e f f i c i e n t t o
form a 96-bit r e s u l t . The upper h a l f of t h e r e s u l t i s t h e n s e l e c t e d and packed
along with t h e l a r g e r exponent t o form t h e r e s u l t s e n t t o X i .
If c o e f f i c i e n t
overflow occurs, t h e r e s u l t i s r i g h t - s h i f ted one p l a c e , and t h e exponent i s
increased by one.

I f t h e two operands have l i k e s i g n s , t h e r e s u l t c o e f f i c i e n t may have l e a d i n g
zeros.
No normalize o p e r a t i o n i s b u i l t i n t o t h i s i n s t r u c t i o n t o c o r r e c t t h i s
s i t u a t i o n . A s e p a r a t e normalize i n s t r u c t i o n must be programmed i f t h e r e s u l t
i s t o be kept i n a normalized form. I n f i n i t e (3777xxx...x
o r 4000xxx...x)
or
i n d e f i n i t e (1777xxx...x o r 6000xxx...x) operands cause corresponding e x i t
conditions t o s e t i n t h e CP f o r e x i t mode a c t i o n .
For f u r t h e r information, r e f e r t o Floating-point
i n chapter 5.

Arithmetic under CP Programming

CP Floating-Point Arithmetic Instructions

33ijk

Floating double-precision
difference of (Xj) and (Xk) to Xi
14

I

98

33

65 3 2
i

j

DXi Xj

-

Xk

0

k

This instruction reads operands from two X registers, operates on them to form
a double-precision, floating-point difference, and delivers the lower half of
this result to a third X register. The operands for this instruction are in Xj
and X k . These operands are in floating-point format and are not necessarily
normalized. The result of subtracting the quantity in Xk from the quantity in
Xj is delivered to Xi in floating-point format and is not necessarily
normalized.
The two operands are unpacked from floating-point format, and the exponents are
compared. The coefficient with the smaller exponent is right-shifted by the
difference of the two exponents such that both coefficients are the same
significance. The Xk coefficient is then subtracted from the Xj coefficient to
form a 96-bit result. The lower half of the result is then selected and packed
along with the larger exponent minus 48 (decimal) to form the result sent to
Xi. If coefficient overflow occurs, the result is right-shifted one place, and
the exponent is increased by one.

...

...

Infinite (3777xxx x or 4000xxx...x) or indefinite (1777x9~ x or
6OOOxxx... x) operands cause corresponding exit conditions to set in the CP for
exit mode action.
For further information, refer to Floating-point Arithmetic under CP
Programming in chapter 5.

CP Floating-point Arithmetic Instructions

Round f l o a t i n g d i f f e r e n c e of
(xj) and (Xi) t o X i

R X i Xj

-

Xk

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a rounded floating-point d i f f e r e n c e , and d e l i v e r s t h i s r e s u l t t o a t h i r d X
r e g i s t e r . The operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands
a r e i n floating-point format and a r e not n e c e s s a r i l y normalized. The r e s u l t of
s u b t r a c t i n g t h e q u a n t i t y i n Xk from t h e q u a n t i t y i n Xj i s d e l i v e r e d t o X i i n
floating-point format and is not n e c e s s a r i l y normalized.
The round floating-point d i f f e r e n c e i s a s i n g l e - p r e c i s i o n , f l o a t i n g - p o i n t
difference with a round b i t ( o r b i t s ) i n s e r t e d before t h e s u b t r a c t o p e r a t i o n
t a k e s place. A round b i t i s always i n s e r t e d i n t h e c o e f f i c i e n t with t h e l a r g e r
exponent. I f the two exponents are e q u a l , t h e round b i t i s added t o t h e
c o e f f i c i e n t f o r Xk. The round b i t i s equal t o the complement of the s i g n b i t
and i s i n s e r t e d immediately t o t h e r i g h t of the lowest-order b i t i n t h e
c o e f f i c i e n t . This has t h e e f f e c t of i n c r e a s i n g the magnitude of t h e
c o e f f i c i e n t by one-half of t h e l e a s t - s i g n i f i c a n t b i t . A second round b i t i s
i n s e r t e d i n a corresponding manner t o t h e o t h e r c o e f f i c i e n t i f both operands
a r e normalized o r have l i k e s i g n s . The second round b i t i s i n s e r t e d before t h e
c o e f f i c i e n t i s s h i f t e d by t h e d i f f e r e n c e o f . t h e exponents. I n f i n l t e
x) o r i n d e f i n i t e (1777xxx...x o r 6000xxx x)
(3777xxx...x o r 4000xxx
operands cause corresponding e x i t conditions t o s e t i n t h e CP f o r e x i t mode
action.

...

...

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Floating-Point Arithmetic Instructions

Floating Product
40i j k

Floating product of (Xj) and (Xk) t o X i

FXi X j

*

Xk

This i n s t r u c t i o n reads operands from two X r e g i s t e r s , o p e r a t e s on them t o form
product, and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r . The
operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands a r e i n
floating-point format and a r e not n e c e s s a r i l y normalized. The r e s u l t i s
delivered t o X i i n floating-point format. I f both operands a r e normalized, t h e
r e s u l t i s a l s o normalized. I f both operands a r e not normalized, the r e s u l t i s
not normalized,
a floating-point

The two operands a r e unpacked from floating-point format. The exponents a r e
added with a c o r r e c t i o n f a c t o r t o determine the exponent f o r t h e r e s u l t . The
c o e f f i c i e n t s a r e m u l t i p l i e d a s signed i n t e g e r s t o form a 96-bit i n t e g e r
product. The upper h a l f of t h i s product is e x t r a c t e d t o form t h e c o e f f i c i e n t
f o r t h e r e s u l t . I f t h e o r i g i n a l operands a r e normalized and t h e product has
only 95 s i g n i f i c a n t b i t s , a 1-bit l e f t s h i f t i s done t o normalize t h e r e s u l t
c o e f f i c i e n t . The r e s u l t i n g exponent is reduced by one count i n t h i s case.
I f both operands a r e not normalized, the r e s u l t i n g double-precision product h a s
l e s s than 96 s i g n i f i c a n t b i t s . No t e s t i s made f o r t h e p o s i t i o n of t h e mosts i g n i f i c a n t b i t . The upper 48 b i t s are read from t h e double-precision product
r e g i s t e r . Leading zeros occur i n t h i s r e s u l t c o e f f i c i e n t .
This i n s t r u c t i o n i s used i n floating-point c a l c u l a t i o n s where rounding of
operands i s not d e s i r e d , such a s i n multiple-precision a r i t h m e t i c and i n
x or ~OOOXXX...~)
c a l c u l a t i o n s involving e r r o r a n a l y s i s . I n f i n i t e (3777xxx
o r i n d e f i n i t e (1777xxx
x o r 6000xxx...x) operands cause corresponding e x i t
conditions t o s e t i n t h e CP f o r e x i t mode a c t i o n .

...

...

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Floating-Point Arithmetic Instructions

Round f l o a t i n g product of (Xj) and
(Xk) t o X i

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a rounded f l o a t i n g - p o i n t product, and d e l i v e r s t h i s r e s u l t t o a t h i r d X
r e g i s t e r . The operands f o r t h i s i n s t r u c t i o n a r e i n Xj and Xk. These operands
a r e i n f l o a t i n g - p o i n t format and a r e not n e c e s s a r i l y normalized. The r e s u l t i s
d e l i v e r e d t o Xi in f l o a t i n g - p o i n t format. I f both operands a r e normalized, t h e
r e s u l t i s a l s o normalized. I f both operands a r e not normalized, t h e r e s u l t i s
n o t normalized.
The two operands a r e unpacked from f l o a t i n g - p o i n t format. The exponents a r e
added w i t h ' a c o r r e c t i o n f a c t o r t o determine t h e exponent f o r t h e r e s u l t . The
c o e f f i c i e n t s a r e m u l t i p l i e d as signed i n t e g e r s t o form a 96-bit i n t e g e r
product. A rounding b i t is added t o b i t p o s i t i o n 46 of t h i s product. The
upper half of t h i s product i s e x t r a c t e d t o form t h e c o e f f i c i e n t f o r t h e
r e s u l t . If t h e o r i g i n a l operands a r e normalized and t h e product has o n l y 95
s i g n i f i c a n t b i t s , a l - b i t l e f t s h i f t is done t o normalize t h e r e s u l t
c o e f f i c i e n t . The r e s u l t i n g exponent i s reduced by one count i n t h i s case.

If both operands a r e not normalized, t h e r e s u l t i n g double-precision product has
l e s s t h a n 96 s i g n i f i c a n t b i t s . No t e s t i s made f o r t h e p o s i t i o n of t h e mosts i g n i f i c a n t b i t . The upper 48 b i t s a r e r e a d from t h e double-precision product
r e g i s t e r . Leading z e r o s occur i n t h i s r e s u l t c o e f f i c i e n t .
This i n s t r u c t i o n i s used i n s i n g l e - p r e c i s i o n , f l o a t i n g - p o i n t c a l c u l a t i o n s . For
m u l t i p l e - p r e c i s i o n c a l c u l a t i o n s , t h e 40 and 42 i n s t r u c t i o n s must be used.
I n f i n i t e (37779xx.. .x o r 4000rmx.. .x) o r i n d e f i n i t e (1777xxx.. . x or
6000xxx
x ) operands cause corresponding e x i t c o n d i t i o n s t o s e t i n t h e CP f o r
e x i t mode a c t i o n .

...

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n c h a p t e r 5.

CP Floating-Point Arithmetic Instructions

42ijk

Floating double-precision product
(Xk) t o X i
of ( ~ j and
)

This i n s t r u c t i o n reads operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a double-precision, floating-point product, and d e l i v e r s t h e lower h a l f of t h i s
r e s u l t t o a t h i r d X r e g i s t e r . The operands f o r t h i s i n s t r u c t i o n a r e i n X j and
Xk. These operands a r e i n f l o a t i n g - p o i n t format and a r e not n e c e s s a r i l y
normalized. The lower h a l f of the double-precision product i s d e l i v e r e d t o X i
i n floating-point format and i s not n e c e s s a r i l y normalized.
The operands a r e not rounded i n t h i s operation. The two operands a r e unpacked
from floating-point format. The exponents a r e added t o determine t h e exponent
f o r t h e r e s u l t . The r e s u l t exponent i s e x a c t l y 48 l e s s than t h e exponent f o r a
40 i n s t r u c t i o n . The c o e f f i c i e n t s a r e m u l t i p l i e d a s signed i n t e g e r s t o form a
96-bit i n t e g e r product. The lower h a l f of t h i s product i s e x t r a c t e d t o form
the c o e f f i c i e n t f o r t h e r e s u l t . I f t h e o r i g i n a l operands a r e normalized and
t h e double-precision product has only 95 s i g n i f i c a n t b i t s , a l - b i t l e f t s h i f t
i s done t o normalize t h e r e s u l t c o e f f i c i e n t . The r e s u l t i n g exponent i s reduced
by one count i n t h i s case.
I f both operands a r e not normalized, t h e r e s u l t i n g double-precision product has
l e s s than 96 s i g r d f i c a n t b i t s . No t e s t is made f o r t h e p o s i t i o n of t h e mosts i g n i f i c a n t b i t . The lower 48 b i t s a r e always read from t h e 96-bit product
register.
This i n s t r u c t i o n i s used i n multiple-precision, f l o a t i n g - p o i n t c a l c u l a t i o n s .
This i n s t r u c t i o n a l s o provides f o r i n t e g e r m u l t i p l i c a t i o n c a p a b i l i t i e s where
both operands have an exponent value of plus o r minus zero, and n e i t h e r
c o e f f i c i e n t has been normalized. The i n t e g e r r e s u l t s e n t t o X i i s 48 b i t s w i t h
60-bit s i g n extension. I f t h e r e s u l t exceeds 48 b i t s , t h e hardware does not
d e t e c t an overflow. An overflow check can be made by executing a 40
i n s t r u c t i o n using t h e same two operands. I f t h e r e s u l t i s nonzero, overflow i s
then i n d i c a t e d . An i n t e g e r multiply o p e r a t i o n i s not intended f o r use with
x and 4000xxx
x) o r indefinite
normalized operands. I n f i n i t e (3777xxx
(1777xxx...x o r 6OOOxxx... x ) operands cause corresponding e x i t c o n d i t i o n s t o
s e t i n t h e CP f o r e x i t mode a c t i o n .

...

...

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Floating-Point Arithmetic Instructions

Floating Divide
44ijk

Floating divide (Xj) by ( X k ) t o X i

This i n s t r u c t i o n r e a d s operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a floating-point q u o t i e n t , and d e l i v e r s t h i s r e s u l t t o a t h i r d X r e g i s t e r . The
operands f o r t h i s i n s t r u c t i o n a r e i n X j and Xk. These operands a r e i n
f l o a t i n g - p o i n t format. The r e s u l t of d i v i d i n g t h e content of X j by the c o n t e n t
of Xk i s delivered t o X i . If both operands a r e normalized, the quotient i s
a l s o normalized. The remainder from the d i v i s i o n process i s discarded.
The two operands a r e unpacked from floating-point format. The exponents a r e
subtracted with a c o r r e c t i o n f a c t o r t o determine t h e exponent f o r t h e r e s u l t .
The c o e f f i c i e n t from X j i s positioned i n a dividend r e g i s t e r . The c o e f f i c i e n t
from Xk i s t r i a l - s u b t r a c t e d repeatedly from the dividend. The quotient b i t s
a r e assembled i n a q u o t i e n t r e g i s t e r . When 48 b i t s of t h e q u o t i e n t a r e
assembled, they a r e packed with the r e s u l t exponent i n t o f l o a t i n g - p o i n t format
and delivered t o X i .
If the exponent s u b t r a c t i o n causes an underflow o r overflow, a n underflow o r
overflow r e s u l t i s r e t u r n e d even with t h e occurrence of a d i v i d e f a u l t .

I f the dividend i s not normalized, t h e q u o t i e n t cannot be normalized. However,
the q u o t i e n t i s c o r r e c t even though t h e r e may be l e a d i n g z e r o s i n the
c o e f f i c i e n t . I f t h e d i v i s o r i s not normalized, t h e q u o t i e n t may be i n c o r r e c t .
I f the c o e f f i c i e n t f o r t h e content of X j i s l a r g e r than t h e c o e f f i c i e n t f o r the
content of Xk by a f a c t o r of two o r more, a d i v i d e f a u l t causes an i n d e f i n i t e
r e s u l t t o be returned t o X i .
This i n s t r u c t i o n is used i n floating-point c a l c u l a t i o n s where rounding of
operands i s not d e s i r e d . I n multiple-precision d i v i s i o n , t h i s i n s t r u c t i o n m u s t
be followed by a m u l t i p l i c a t i o n of t h e q u o t i e n t by t h e d i v i s o r and s u b t r a c t e d
from the dividend t o r e c o n s t r u c t the remainder.
If i n f i n i t e (3777mrx...x o r 4000xgx...x) o r i n d e f i n i t e (1777xxx...x o r
6000xxx...x) operands a r e used, corresponding e x i t c o n d i t i o n s a r e s e t i n t h e CP
f o r e x i t mode a c t i o n .

For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Floating-point Arithmetic Instructions

45ijk

Bound f l o a t i n g d i v i d e (Xj) by
( ~ k )t o X i

This i n s t r u c t i o n reads operands from two X r e g i s t e r s , o p e r a t e s on them t o form
a rounded f l o a t i n g - p o i n t q u o t i e n t , and d e l i v e r s t h i s r e s u l t t o a t h i r d X
r e g i s t e r . The operands f o r t h i s i n s t r u c t i o n a r e i n Xj and Xk. These operands
a r e i n floating-point format. The r e s u l t of d i v i d i n g t h e content of Xj by t h e
content of Xk i s delivered t o X i .
I f both operands a t e normalized, t h e
q u o t l e n t i s a l s o normalized. The remainder from t h e d i v i s i o n process i s
discarded

.

The two operands a r e unpacked from floating-point format i n t h i s operation.
The exponents a r e subtracted with a c o r r e c t i o n f a c t o r t o determine the exponent
f o r t h e r e s u l t . The c o e f f i c i e n t from Xj i s positioned i n a dividend r e g i s t e r .
The X j q u a n t i t y is modified by i n s e r t i n g a 2525
25 round p a t t e r n below the
lowest-order b i t of t h e dividend c o e f f i c i e n t . The c o e f f i c i e n t from Xk i s
t r i a l - s u b t r a c t e d repeatedly from the dividend. The q u o t i e n t b i t s a r e assembled
i n a q u o t i e n t r e g i s t e r . When 48 b i t s of t h e q u o t i e n t a r e assembled, they a r e
packed with t h e r e s u l t exponent i n t o floating-point format and d e l i v e r e d t o X i .

...

If the dividend i s not normalized, the q u o t i e n t cannot be normalized. However,
t h e q u o t i e n t i s c o r r e c t even though t h e r e may be l e a d i n g z e r o s i n the
c o e f f i c i e n t . I f t h e d i v i s o r i s not normalized, the q u o t i e n t may be i n c o r r e c t .
I f t h e c o e f f i c i e n t f o r the content of Xj i s l a r g e r than t h e c o e f f i c i e n t f o r t h e
content of Xk by a f a c t o r of two or more, a divide f a u l t occurs. A d i v i d e
f a u l t causes an i n d e f i n i t e r e s u l t t o be returned t o X i .
This i n s t r u c t i o n i s used i n single-precision, f l o a t i n g - p o i n t c a l c u l a t i o n s where
rounding of operands i s d e s i r e d t o reduce t r u n c a t i o n e r r o r s .

...

...

x ) o r i n d e f i n i t e (1777xxx
x or
I f i n f i n i t e (3777mrx...x o r 4000xxx
6000xxx...x) operands are used, corresponding e x i t c o n d i t i o n s a r e s e t i n the CP
f o r e x i t mode a c t i o n .
For f u r t h e r information, r e f e r t o Floating-point Arithmetic under CP
Programming i n chapter 5.

CP Jump Instructions

CP Jump Instructions
The jump i n s t r u c t i o n s ( t a b l e 4-7) a l l o w d e p a r t u r e from s e q u e n t i a l i n s t r u c t i o n
execution.

CP Jump I n s t r u c t i o n s

Table 4-7.
Opcode

Format

Instruction

010
02

XK
ixK

Return jump t o K
Jump t o ( B i ) + K

Mnemonic

Jump
RJ K

Return jump t o K

This
This two-parcel i n s t r u c t i o n uses t h e lower-order 1 8 b i t s a s operand K.
i n s t r u c t i o n w r i t e s a s p e c i a l word i n t o CM a t r e l a t i v e a d d r e s s K. The c u r r e n t
program sequence then t e r m i n a t e s by a jump t o a d d r e s s K p l u s 1. The word
s t o r e d i n memory c o n t a i n s a jump i n s t r u c t i o n which causes an u n c o n d i t i o n a l jump
t o t h e a d d r e s s of t h i s r e t u r n jump i n s t r u c t i o n p l u s 1.
This i n s t r u c t i o n c a l l s a s u b r o u t i n e and i n s e r t s execution of t h e s u b r o u t i n e
between execution of t h i s i n s t r u c t i o n word and t h e following i n s t r u c t i o n word.
I n s t r u c t i o n s appearing a f t e r t h e r e t u r n jump i n s t r u c t i o n i n t h e i n s t r u c t i o n
word a r e not executed. The c a l l e d s u b r o u t i n e e x i t must be a t a d d r e s s K. The
c a l l e d s u b r o u t i n e e n t r a n c e a d d r e s s must be K p l u s 1.
This i n s t r u c t i o n s t o r e s a 60-bit word a t a d d r e s s K i n memory. The upper h a l f
of t h i s word c o n t a i n s an u n c o n d i t i o n a l jump (0400) i n s t r u c t i o n with an a d d r e s s
t h a t i s e q u a l t o t h e c u r r e n t program a d d r e s s p l u s 1. The lower h a l f of t h e
s t o r e d word i s a l l 0 ' s .
The o c t a l d i g i t s i n t h e s t o r e d word t h e n appear a s
i l l u s t r a t e d with t h e x f i e l d i n d i c a t i n g t h e l o c a t i o n of t h e c u r r e n t program
address p l u s 1.
K
K

+

1

0 4 0 0 ~ xxxxx

00000

00000

Subroutine e x i t

yyyyy

yyyyy

yyyyy

Subroutine e n t r a n c e

yyyyy

CP Jump Instructions

02 ixK

Jump t o (Bi) 4- K

J P B i + K

This two-parcel i n s t r u c t i o n uses the lower-order 18 b i t s a s operand K.
The
i n s t r u c t i o n causes t h e c u r r e n t program sequence t o t e r m i n a t e with a jump t o
address B i plus K i n CM.
This i n s t r u c t i o n allows computed branch point d e s t i n a t i o n s . This i s the only
i n s t r u c t i o n i n which a computed parameter can s p e c i f y a program branch
d e s t i n a t i o n address. A11 o t h e r jump i n s t r u c t i o n s have preassigned d e s t i n a t i o n
addresses.
The q u a n t i t i e s i n B i and operand K a r e added i n an 18-bit o n e ' s complement
mode. The r e s u l t i s t r e a t e d as an 18-bit p o s i t i v e i n t e g e r t h a t s p e c i f i e s t h e
beginning address i n CM f o r t h e new program sequence. The remaining
i n s t r u c t i o n s , i f any, i n t h e i n s t r u c t i o n word do not execute.

CP Exchange Jump lnstructions

CP Exchange Jump Instructions
The exchange jump instructions (table 4-8) exchange the current process
registers (formatted as an exchange package) with another set stored in CM, and
do the following:
When executed with CP in Virtual State monitor mode, the processor switches
from monitor to job mode.
When executed in Virtual State job mode, the processor switches from mob to
monitor mode and the system call bit sets in the monitor condition register
(MCR 10).
In either case, the P register stored in the outgoing exchange package points
to the next instruction that would have executed if the exchange had not
occurred.
This instruction can cause the following exception conditions.
Environment specification error.
System call.
Refer to chapter 5 for programming information.

Table 4 - 8 .

CP Exchange Jump Instructions

Opcode

Format

Instruction

Mnemonic

013

jK

Central exchange jump to (Bj) +K
(CYBER 170 monitor flag set)

XJ Bj+K

Monitor exchange jump to MA
(CYBER 170 monitor flag clear)

XJ

013

xx

CP Exchange Jump Instructions

Exchange Jump
013jK

Central exchange jump t o (Bj) +K
when CYBER 170 MF s e t

X J Bj

013xx

Monitor exchange jump t o MA when
CYBER 170 MF c l e a r

XJ

+K

This i n s t r u c t i o n must s t a r t a t p a r c e l 0. Also, a CYBER 170 exchange package
must be ready a t address B j p l u s K o r a t address MA.
This i n s t r u c t i o n s t o r e s P p l u s 1 i n t o t h e outgoing CYBER 170 exchange package
i n hardware and then exchanges t h i s CYBER 170 exchange package with t h e CYBER
170 exchange package s t o r e d i n memory. I f t h e CYBER 170 MF i s s e t a t the
beginning of t h e i n s t r u c t i o n , t h e incoming CYBER 170 exchange package s t a r t s a t
a b s o l u t e address B j plus K.
I f t h e CYBER 170 MF i s c l e a r a t t h e beginning,
then the j and K f i e l d s of the i n s t r u c t i o n a r e ignored, and the incoming CYBER
170 exchange package s t a r t s a t a b s o l u t e address MA, which i s obtained from t h e
outgoing CYBW 170 exchange package. I n e i t h e r c a s e , t h e CYBER 170 MF i s
toggled, and t h e outgoing CYBER 170 exchange package i s s t o r e d beginning a t t h e
same CM address from where the incoming CYBER 170 exchange package i s
obtained. Also, t h e jump i s always t o r e l a t i v e address P, p a r c e l 0 , from t h e
new CYBER 170 exchange package. Refer t o CYBER 170 Exchange Jump i n c h a p t e r 5 .

CP CornparelMove lnstructions

CP CompareIMove lnstructions
The compare/move instructions (table 4-9) move characters from one CM location
to another and compare fields of characters either directly or through a
collate table. The transmit instructions move words from one CM register to
another

.

Table 4-9.
Opcode

10

14
464
465
466

467

CP Compare/Move Instructions
Format

Instruction

Mnemonic

i jx
ixk

Transmit (Xj) to Xi
Transmit complement of (Xk) to Xi
Move indirect
Move direct
Compare collated
Compare uncollated

BXi X j
BXi -Xk
IM
DM
CC
CU

jK

Transmit
lOijx

Transmit (Xj) to Xi

BXi Xj

This instruction transfers a 60-bit word from Xj into Xi.
This instruction moves data from one X register to another X register. No
logical function i s performed on the data.
14ixk

Transmit complement of (Xk) to Xi

BXi -Xk

This instruction reads a 60-bit word from Xk, complements the word, and writes
the result into Xi.
This instruction changes the sign of a fixed-point or floating-point quantity.
The instruction also inverts an entire 60-bit field during data processing.

CP ComparelMove Instructions

Corn pare/Move
The compare/move i n s t r u c t i o n s ( a l s o r e f e r r e d t o a s CMU i n s t r u c t i o n s ) a r e
provided f o r c o m p a t i b i l i t y with previous systems. For b e t t e r performance,
recompile jobs t o avoid use of
instructions.
( X U i n s t r u c t i o n s must appear i n p a r c e l 0 o r they a r e t r e a t e d as i l l e g a l
instructions.
Data f i e l d s c o n s i s t i n g of 6-bit c h a r a c t e r s may start o r end with any c h a r a c t e r
p o s i t i o n ( o f f s e t ) of the t e n + b i t p o s i t i o n s i n each word. The c h a r a c t e r
p o s i t i o n s a r e designated a s follows :

For move i n s t r u c t i o n s , a K1 designator s p e c i f i e s which CM word contains the
f i r s t c h a r a c t e r of the source d a t a f i e l d , and a C 1 d e s i g n a t o r s p e c i f i e s t h e
c h a r a c t e r p o s i t i o n ( o f f s e t ) of t h e f i r s t c h a r a c t e r . The K2 d e s i g n a t o r
s p e c i f i e s t h e CM l o c a t i o n i n which t h e f i r s t c h a r a c t e r of t h e r e s u l t d a t a f i e l d
i s placed, and t h e C2 designator s p e c i f i e s t h e f i r s t c h a r a c t e r p o s i t i o n . For
compare i n s t r u c t i o n s , both d a t a f i e l d addresses s p e c i f y source f i e l d s .
Example :

If t h e i n s t r u c t i o n i s Kl=1000 and C1'3, t h e f i r s t c h a r a c t e r of t h e source
f i e l d i s i n p o s i t i o n 3 of l o c a t i o n 1000.

Therefore, t h e f i r s t c h a r a c t e r of t h e source f i e l d i s 71.
An address i s out of range i f C 1 o r C2 i s g r e a t e r than 9 , K l p l u s N 1 i s g r e a t e r
than the program f i e l d l e n g t h f o r CM (FLc), o r K2 p l u s N2 i s g r e a t e r than FLC.
N 1 equals t h e number of CM r e f e r e n c e s made t o the source d a t a f i e l d s t a r t i n g a t
K1, and N2 equals the number of CM r e f e r e n c e s made t o t h e r e s u l t d a t a f i e l d
s t a r t i n g a t K2. When an address-out-of-range c o n d i t i o n occurs, t h e CMU
i n s t r u c t i o n i s not executed.

U i s t h e lower 4 b i t s , and LU i s t h e upper 9 b i t s of t h e f i e l d l e n g t h
designator i n numbers of c h a r a c t e r s . The maximum l e n g t h of t h e d a t a f i e l d s f o r
t h e move d i r e c t and t h e compare i n s t r u c t i o n s i s 127 (177
c h a r a c t e r s . The
maximum data f i e l d l e n g t h f o r t h e move i n d i r e c t inatruct!?on i s 8191 (17777*)
c h a r a c t e r s . I f L (LU and LZ, combined) i s 0, the i n s t r u c t i o n becomes a pass.
For overlapping move i n s t r u c t i o n s , the address of t h e source f i e l d ( s p e c i f i e d
by K1) must be g r e a t e r than the address of t h e r e s u l t f i e l d ( s p e c i f i e d by K 2 )

t o provide proper f i e l d overlap. I f K1 i s l e s s than K2, p a r t of the source
f i e l d i s changed during execution. The amount of change is determined by t h e
number of CM c o n f l i c t s encountered. Overlapping f i e l d s should not contain more
than 377 ( o c t a l ) c h a r a c t e r s because an exchange jump i n t e r r u p t s any compare/
move operation having a decremented f i e l d l e n g t h g r e a t e r than 377 ( o c t a l ) .

CP ComparelMove Instructions

464 j K

Move i n d i r e c t

59 51504847

30 29

Any i n s t r u c t i o n s located i n t h e lower two p a r c e l s of t h e i n s t r u c t i o n word do
not execute.

Bj plus K s p e c i f i e s a r e l a t i v e address i n CM f o r t h e following d e s c r i p t o r word.

The d e s c r i p t o r word s p e c i f i e s the movement of t h e source f i e l d t o t h e r e s u l t
f i e l d . The movement i s from l e f t t o r i g h t through the f i e l d . R e g i s t e r XO
clears a t the end of t h e execution.

465

Move d i r e c t

DM

This i n s t r u c t i o n moves t h e source f i e l d t o the r e s u l t f i e l d as s p e c i f i e d by t h e
60-bit i n s t r u c t i o n word. The f i e l d l e n g t h i s l i m i t e d t o a 7-bit count.

Compare collated

CC

This instruction compares the field designated by K1,Cl with the field
designated by K2,C2 as specified by the 60-bit instruction word.
The compare is from left to right through the fields until two unequal
characters are found. These two characters are then collated and referenced in
the collate table beginning at address A0 (table 4-10).
If the table values
found for the two unequal characters are equal, the compare continues until
another pair of characters is unequal or until the field length is exhausted.
If the table values found for the two unequal characters are unequal, XO is set
prior to instruction termination as follows:

If field K1 is greater than field K2, set XO to 0000 0000 0000 0000 Oxxx.
If field K1 is equal to field K2, set XO to 0000 0000 0000 0000 0000.
If field K1 is less than field K 2 , set XO to 7777 7777 7777 7777 7yyy where
is the complement of wx.

yyy

The value of the three octal numbers xxx that are stored in XO is determined by
the equation L minus N equals xxx (L is the length of the field, and N is the
number of-pairsof characters that were collated equal prior to instruction
In other words, xxx is the number of pairs of characters not yet
termination).
compared plus 1.
The A0 register contains the starting word address of an 8-word, 64-character
collate table (table 4-10).
This table must have been previously stored in
consecutive CM locations.
The collated value of a character is found by examining the collate table. The
upper 3 bits of the character to be collated are added to A0 to obtain the
relative address of the word containing the collated value. The lower 3 bits
of the character to be collated specify the character address of the collated
value.
Example:
Suppose the character under examination is an octal 63. The 6 is added to
the A0 to form the word address. The 3 is used to pick the correct
character from that word. The value of 63 is 63 in the collate table.

CP ComparelMove Instructions

Table 4-10.

Collate Table

Address

Collating character Locations

467

Compare uncollated

CU

This instruction is similar to the 466 instruction except that the collate
table is not used. The XO register is set when the first pair of unequal
characters is encountered or when the field length is exhausted.

CP Set Instructions

CP Set lnstructions
Table 4-11 lists the CP set instructions. Opcodes 50 through 57 obtain
operands from CM for computation and deliver the results back into CM. The
remaining opcodes operate on B or X registers only.
Table 4-11. CP Set Instructions
Opcode

Format

Instruction

Mnemonic

Set Ai to (Aj) + K
Set Ai to (Bj) + K
Set Ai to (~j)+ K
Set Ai to (Xj) + (Bk)
Set Ai to (Aj) + (Bk)
(Bk)
Set A i to (Aj)
Set Ai to (Bj) + (Bk)
Set A i to (Bj)
(Bk)
Set Bi to (Aj) + K
Set Bi to (Bj) + K
Set Bi to (Xj) + K
Set Bi to (Xj) 4- (Bk)
Set Bi to (Aj) + (Bk)
Set Bi to (Aj) - (Bk)
Set Bi to (Bj) + (Bk)
Set Bi to (Bj)
(~k)
Set Xi to (Aj) + K
Set Xi to (Bj) + K
Set Xi to (Xj) + K
Set Xi to (~j)+ (Bk)
Set Xi to (Aj) + (Bk)
Set Xi to (Aj) - (Bk)
Set Xi to (Bj) + (~k)
Set Xi to (Bj) - (Bk)
Read CM at ( X k ) to Xj
Write Xj into CM at (Xk)

SAi Aj+K

-

-

-

SAi Bj+K
SAi Xj+K
SAi Xj+Bk
SAi Aj+Bk
SAI Aj-Bk
SAi Bj+Bk
S A i Bj-Bk
SBi Aj+K
SBi Bj+K
SBi Xj+K
SBi Xj+Bk
SBi Aj+Bk
SBi Aj-Bk
SBi Bj+Bk
SBi Bj-Bk
SXi Aj+K
SXi Bj+K
SXi Xj+K
sxi Xj+Bk
SXi Aj+Bk
SXi Aj-Bk
SXi Bj+Bk
SXi Bj-Bk
CRXj XK
C W j Xk

CP Set instructions

Set Ai
S e t Ai t o ( A j )

+

K

S M Aj

+K

This two-parcel i n s t r u c t i o n uses t h e lower-order 18 b i t s a s operand K.
i n s t r u c t i o n r e a d s an operand from A j , forms t h e sum of t h e operand p l u s
d e l i v e r s t h e r e s u l t t o Ai. I f t h e i d e s i g n a t o r i s nonzero, a r e f e r e n c e
t o CM, using t h e r e s u l t a s t h e r e l a t i v e address. The type of r e f e r e n c e
f u n c t i o n of t h e i d e s i g n a t o r value.

i = O

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This
K, and
i s made
is. a

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t back i n t o CM.
5 l i jK

Set Ai t o (Bj)

+K

SAi Bj

+K

This two-parcel i n s t r u c t i o n uses the lower-order 1 8 bits a s operand K.
i n s t r u c t i o n r e a d s an operand from B j , forms t h e sum of t h e operand p l u s
d e l i v e r s t h e r e s u l t t o A i . I f t h e i d e s i g n a t o r i s nonzero, a r e f e r e n c e
t o CM, using t h e r e s u l t as t h e r e l a t i v e address. The t y p e of r e f e r e n c e
f u n c t i o n of t h e i d e s i g n a t o r value.
i = 0

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This
K, and
i s made
is a

T h i s i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s the
r e s u l t back i n t o CM.

CP Set lnstructions

5 2 i jK

Set Ai t o (Xj)

+

K

SAi X j

+

K

This two-parcel i n s t r u c t i o n uses t h e lower-order 18 b i t s as operand K.
i n s t r u c t i o n r e a d s an operand from X j , forms t h e sum-of t h e operand p l u s
d e l i v e r s t h e r e s u l t t o Ai. I f t h e i d e s i g n a t o r i s nonzero, a r e f e r e n c e
t o CM, using t h e r e s u l t a s t h e r e l a t i v e address. The t y p e of r e f e r e n c e
f u n c t i o n of t h e i d e s i g n a t o r value.
i = 0

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This
K, and

i s made
is a

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t back i n t o CM.
5 3 ijk

S e t A i t o (Xj)

+

(Bk)

This i n s t r u c t i o n r e a d s operands from X j and Bk, forms t h e sum of t h e operands,
and d e l i v e r s t h e r e s u l t t o A i . I f t h e i d e s i g n a t o r i s nonzero, a r e f e r e n c e i s
made t o CM, u s i n g t h e r e s u l t a s t h e r e l a t i v e a d d r e s s . The type of r e f e r e n c e i s
a f u n c t i o n of t h e i d e s i g n a t o r v a l u e .

i = O

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t back i n t o CM.

CP Set instructions

This i n s t r u c t i o n reads operands from A j and Bk, forms t h e sum of the operands,
and d e l i v e r s t h e r e s u l t t o Ai. I f t h e i designator i s nonzero, a r e f e r e n c e i s
made t o CM, using t h e r e s u l t a s t h e r e l a t i v e address. The type of r e f e r e n c e i s
a f u n c t i o n of t h e i designator value.
i = O

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t back i n t o CM.
5 5 i jk

S e t lu t o ( A j )

-

(Bk)

SAi A j

- Bk

This i n s t r u c t i o n reads operands from A j and Bk, s u b t r a c t s the Bk operand from
the A j operand, and d e l i v e r s t h e r e s u l t t o Ai. I f t h e i d e s i g n a t o r i s nonzero,
i s made t o CM, using t h e r e s u l t a s t h e r e l a t i v e address.
The type
of reference i s a f u n c t i o n of t h e i d e s i g n a t o r value.

a reference
i = O

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from M t o X i

i = 6,7

Write i n t o CM from X i

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t s back i n t o CM.

CP Set instructions

56ijk

Set Ai t o (Bj)

+

(Bk)

SAi B j

+

Bk

This i n s t r u c t i o n r e a d s operands from Bj and Bk, forms t h e sum of t h e operands,
and d e l i v e r s t h e r e s u l t t o Ai. I f t h e i d e s i g n a t o r i s nonzero, a r e f e r e n c e i s
made t o CM, using t h e r e s u l t a s t h e r e l a t i v e address. The type of r e f e r e n c e i s
a function of t h e i d e s i g n a t o r value.

i s O

No CM r e f e r e n c e

i = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s the
r e s u l t s back i n t o CM.
Set Ai t o (Bj)

5 7 ij k

-

(Bk)

SAI B j

-

Bk

This i n s t r u c t i o n r e a d s operands from B j and Bk, s u b t r a c t s t h e Bk operand from
the Bj operand, and d e l i v e r s t h e r e s u l t t o A i . I f t h e i d e s i g n a t o r i s nonzero,
a reference i s made t o CM, using t h e r e s u l t as t h e r e l a t i v e a d d r e s s . The type
of reference i s a f u n c t i o n of t h e i designator value.
i = 0

No CM r e f e r e n c e

1 = 1,2,3,4,5

Read from CM t o X i

i = 6,7

Write i n t o CM from X i

This i n s t r u c t i o n o b t a i n s operands from CM f o r computation and d e l i v e r s t h e
r e s u l t back i n t o CM.

CP Set lnstructions

Set Bi
Set Bi to ( A j )

+K

This two-parcel instruction uses the lower-order 18
instruction reads an operand from Aj, forms the sum
delivers the result to Bi. The sum is formed in an
mode. This instruction is for address modification
61ijK

Set Bi to (Bj) + K

SBi A j

+

K

bits as operand K. This
of the operand plus K and
18-bit one's complement
in the increment registers.
SBi Bj

+K

This two-parcel instruction uses the lower-order 18 bits as operand K. This
instruction reads an operand from Bj, forms the sum of the operand plus K, and
delivers the result to Bi. The sum is formed in an 18-bit one's complement
mode.
62ijK

Set Bi to (Xj)

+K

SBi Xj + K

This two-parcel instruction uses the lower-order 18 bits as operand K. This
instruction reads an operand from Xj, forms the sum of rhe operand plus K, and
delivers the result to Bi. The sum is formed in an 18-bit one's complement
mode.

CP Set instructions

6 3 i jk

Set B i t o (Xj)

+

(Bk)

This i n s t r u c t i o n reads operands from X j and Bk, adds the operands, and d e l i v e r s
the r e s u l t t o B i . The sum i s formed i n an 18-bit one's complement mode.
6 4 i jk

Set B i t o (Aj)

+

(Bk)

SBi Aj

+

Bk

This i n s t r u c t i o n reads operands from A j and Bk, adds t h e operands, and d e l i v e r s
t h e r e s u l t t o B i . The sum i s formed i n an 18-bit one's complement mode.
6 5 i jk

Set B i t o (Aj)

-

(Bk)

This i n s t r u c t i o n reads operands from A j and Bk, s u b t r a c t s t h e Bk operand from
t h e Aj operand, and d e l i v e r s t h e r e s u l t t o B i . The d i f f e r e n c e i s formed in an
18-bit one's complement mode. If t h e i designator i s 0, t h i s becomes a pass
instruction.

CP Set Instructions

Set B i t o ( ~ j )+ (Bk)

S B i Bj

+

Bk

This i n s t r u c t i o n reads operands from Bj and Bk, adds t h e operands, and d e l i v e r s
o n e ' s complement mode. If
t h e r e s u l t t o B i . The sum is formed i n a n 18+t
t h e i d e s i g n a t o r i s 0 , t h i s becomes a read c e n t r a l memory i n s t r u c t i o n .

67ijk

Set Bi t o (Bj)

-

(Bk)

SBi Bj

-

Bk

This i n s t r u c t i o n reads operands from Bj and Bk, s u b t r a c t s the Bk operand from
t h e Bj operand, and d e l i v e r s t h e r e s u l t t o B i . The d i f f e r e n c e i s formed i n an
18-bit one's complement mode. If t h e i designator i s 0 , t h i s becomes a w r i t e
c e n t r a l memory i n s t r u c t i o n .

CP Set Instructions

Set Xi
70i j K

Set X i t o (Aj)

+

K

SXI A j

+

K

This two-parcel i n s t r u c t i o n uses t h e lower-order 18 b i t s as operand K. This
i n s t r u c t i o n r e a d s a n operand from Aj, forms t h e sum of t h e operand p l u s K, and
d e l i v e r s the r e s u l t t o X i . The sum i s formed. i n an 18-bit one's complement
mode. The 18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of
the r e s u l t i n t o t h e upper 42 b i t p o s i t i o n s i n X i .
7 1 ij K

Set X i t o (Bj)

+K

SXi Bj

+

K

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K. This
i n s t r u c t i o n reads an operand from Bj, forms t h e sum of t h e operand p l u s K, and
d e l i v e r s t h e r e s u l t t o X i . The sum i s formed i n an 18-bit one's complement
mode. The 18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of
t h e r e s u l t i n t o t h e upper 42 b i t p o s i t i o n s i n X i .
72i jK

S e t X i t o (Xj)

+

K

SXi X j

+K

This two-parcel i n s t r u c t i o n u s e s t h e lower-order 18 b i t s a s operand K. T h i s
i n s t r u c t i o n reads a n operand from Xj, forms t h e sum of t h e operand p l u s K, and
The sum i s formed i n an 18-bit o n e ' s complement
delivers the r e s u l t to X i .
mode. The 18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of
the r e s u l t i n t o t h e upper 42 b i t p o s i t i o n s i n X i .

CP Set Instructions

SXi Xj
14

65 32

98
i

j

+

Bk

0
k

This i n s t r u c t i o n r e a d s operands from X j and Bk, adds t h e operands, and d e l i v e r s
the result to Xi.
The sum i s formed i n an 18-bit one's complement mode. The
18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of t h e r e s u l t
i n t o t h e upper 42 b i t p o s i t i o n s i n X i .
7 4 i jk

Set X i t o (Aj)

+ (Bk)

SXi Aj

+

Bk

This i n s t r u c t i o n r e a d s operands from Aj and Bk, adds t h e operands, and d e l i v e r s
t h e r e s u l t t o X i . The sum i s formed i n an 18-bit one's complement mode. T h e
18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of t h e r e s u l t
i n t o t h e upper 42 b i t p o s i t i o n s i n X i .
751jk

Set X i t o ( A j )

-

(Bk)

SXi Aj

-

Bk

This i n s t r u c t i o h reads operands from Aj and Bk, s u b t r a c t s t h e Bk operand from
The d i f f e r e n c e i s formed i n a n
t h e Aj operand, and d e l i v e r s t h e r e s u l t t o X i .
18-bit one's complement mode. The 18-bit r e s u l t i s sign-extended by copying
t h e highest-order b i t of t h e r e s u l t i n t o t h e upper 42 b i t p o s i t i o n s i n X i .

CP Set lnstructions

76i jk

Set X i t o ( B j )

+

(Bk)

SXi Bj

+

Bk

This i n s t r u c t i o n r e a d s operands from B j and Bk, adds the operands, and d e l i v e r s
t h e r e s u l t t o X i . The sum i s formed i n an 18-bit o n e ' s complement mode. The
18-bit r e s u l t i s sign-extended by copying t h e highest-order b i t of t h e r e s u l t
i n t o t h e upper 42 b i t p o s i t i o n s i n X i .
77ijk

Set X i t o (Bj)

-

(Bk)

SXi B j

-

Bk

This i n s t r u c t i o n r e a d s operands from B j and Bk, s u b t r a c t s t h e Bk operand from
The d i f f e r e n c e i s formed i n an
t h e B j operand, and d e l i v e r s t h e r e s u l t t o X i .
18-bit o n e ' s complement mode. The 18-bit r e s u l t i s sign-extended by copying
t h e highest-order b i t of t h e r e s u l t i n t o t h e upper 42 b i t p o s i t i o n s i n X i .

CP Normalize Instructions

Read central memory at (Xk) to Xj

CR X j , Xk

This instruction loads into Xj the word at location (Xk), where Xk is a
right-justified 21-bit relative word address. Bits 21 through 59 of Xk are
ignored. If the 21 bits of Xk are greater than or equal to FLC, an
address-out-of-range condition is detected.
670jk

Write Xj into central memory at (Xk)

cw xj, Xk

[is instruction stores Xj in location (Xk), where Xk is a 21-*bitrelative wort
address. Bits 21 through-59of Xk are ignored. If the 21 bits of Xk are
greater than or equal to FLC, an address-out-of-range condition is detected.

CP Normalize lnstructions
The normalize instructions (table 4-12) perform normalizing operations in
floating-point format and deliver the normalized result to Xi.

Table 4-12. CP Normalize Instructions
-. .

Opcode

Format

Instruction

Mnemonic

24
25

ijk
ijk

Normalize (Xk) to Xi and Bj
Round normalize (Xk) to Xi and Bj

NXi Bj Xk
ZXi Bj Xk

C P Normalize lnstructions

Normalize
24ijk

Normalize (Xk) t o X i and Bj

NXi B j , X k

This i n s t r u c t i o n reads one operand from X k , performs a normalizing o p e r a t i o n on
t h i s word i n floating-point format, and d e l i v e r s t h e normalized r e s u l t t o X i .
I n a d d i t i o n , a p o s i t i v e i n t e g e r s h i f t count i s s e n t t o Bj. This s h i f t count i s
the number of b i t p o s i t i o n s of s h i f t required t o normalize t h e o r i g i n a l operand
coefficient

.

The normalizing operation c o n s i s t s of r e p o s i t i o n i n g t h e c o e f f i c i e n t p o r t i o n of
the operand and then a d j u s t i n g t h e exponent p o r t i o n of t h e operand t o l e a v e t h e
value of t h e r e s u l t unaltered. The c o e f f i c i e n t i s s h i f t e d towards t h e
higher-order b i t p o s i t i o n s of t h e word. The c o e f f i c i e n t i s s h i f t e d the minimum
number of b i t p o s i t i o n s required t o make b i t 47 d i f f e r e n t from s i g n b i t 59.
This places t h e most-significant b i t of t h e c o e f f i c i e n t i n t h e highest-order
p o s i t i o n . The exponent i s then decreased by the number of b i t p o s i t i o n s
shifted.
Two sample computations a r e l i s t e d i n o c t a l n o t a t i o n t o i l l u s t r a t e the
o p e r a t i o n performed. The following example involves a p o s i t i v e f l o a t i n g - p o i n t
number.

The following example involves a negative floating-point number.

Normalizing a number with e i t h e r a +O o r a -0 c o e f f i c i e n t s e t s a s h i f t count i n
Bj t o 48 (decimal) and e n t e r s X i with +O. If Xk contains a n i n f i n i t e q u a n t i t y
x ) o r an i n d e f i n i t e q u a n t i t y (1777xxx
x or
(3777xxx...x o r 40OOxgx
x ) , no s h i f t t a k e s place. The content of Xk i s copied t o X i , and B j
6000xxx
i s s e t t o 0. Corresponding i n f i n i t e and i n d e f i n i t e e x i t conditions a r e a l s o
s e t i n t h e CP f o r e x i t mode a c t i o n . I f the exponent i s less than negative 1777
with a zero c o e f f i c i e n t , t h e c o n t e n t s of X i and Bj a r e s e t t o 0. For f u r t h e r
information, r e f e r t o Floating-point Arithmetic under CP Programming i n
chapter 5.

...

...

...

CP Normalize Instructions

Round Normalize
Round normalize (Xk) t o X i and B j

ZXi Bj,

This i n s t r u c t i o n reads one operand from Xk, performs a rounding and then a
normalizing o p e r a t i o n i n floating-point format, and d e l i v e r s t h e round
normalized r e s u l t t o X i . I n a d d i t i o n , a p o s i t i v e i n t e g e r s h i f t count i s s e n t
t o B j . This s h i f t count i s t h e number of b i t p o s i t i o n s of s h i f t required t o
normalize t h e o r i g i n a l operand c o e f f i c i e n t .
The rounding o p e r a t i o n c o n s i s t s of adding a b i t t o t h e c o e f f i c i e n t p o r t i o n of
t h e operand i n a b i t p o s i t i o n immediately below the l e a s t - s i g n i f i c a n t b i t
p o s i t i o n . This round b i t h a s a value equal t o t h e complement of the operand
s i g n b i t . The r e s u l t i n c r e a s e s t h e magnitude of t h e c o e f f i c i e n t by one-half
t h e value of t h e l e a s t - s i g n i f i c a n t b i t .
The normalizing operation c o n s i s t s of r e p o s i t i o n i n g t h e c o e f f i c i e n t and
a d j u s t i n g t h e exponent t o l e a v e t h e v a l u e of t h e r e s u l t i n g f l o a t i n g - p o i n t
q u a n t i t y unaltered. The c o e f f i c i e n t i s s h i f t e d towards t h e higher-order b i t
p o s i t i o n s . The round b i t i s s h i f t e d along with t h e c o e f f i c i e n t . The
displacement i s the minimum number of b i t p o s i t i o n s r e q u i r e d t o make b i t 47
d i f f e r e n t from s i g n b i t 59. This places t h e most-significant b i t of the
c o e f f i c i e n t i n t h e highest-order b i t p o s i t i o n . The exponent i s decreased by
t h e number of b i t p o s i t i o n s s h i f t e d .
Two sample computations a r e l i s t e d i n o c t a l n o t a t i o n t o i l l u s t r a t e the
normalizing o p e r a t i o n performed.
An example t h a t involves a p o s i t i v e floating-point

number i s a s follows.

The following example involves a negative number.

( x i ) = 5751 3012 7777 7755 1537

...

...

If Xk contains e i t h e r an i n f i n i t e q u a n t i t y (3777mrx
x o r 4000xxx
x ) o r an
i n d e f i n i t e q u a n t i t y (1777xxx
x o r 6OOOxn..x
.) , no s h i f t t a k e s place. The
content of Xk i s copied t o X i , and B j i s s e t t o 0. Corresponding i n f i n i t e and
i n d e f i n i t e e x i t conditions a r e a l s o s e t i n t h e CP f o r e x i t mode a c t i o n .

...

Refer t o Floating-Point Arithmetic under CP Programming i n chapter 5.

CP Pass Instructions

CP Pass lnstructions
The pass instructions (table 4-13) perform no operation and are used for
filling words to get the next instruction properly positioned.

CP Pass InatructLons

Table 4-13.
Opcode

Format

Instruction

460
461
462
463

xx

Pass
Pass
Pass
Pass

xx
xx

xx

Mnemonic

Pass
46Oxx
rhru 463xx

Pass

These lnstructions fill program instruction words where necessary to match jump
destinations with word boundaries. The j and k designators are Ignored, and a
nonzero value has no effect in this instruction.

CP Illegal Instructions

CP Illegal lnstructions
The illegal instructions (table 4-14) cause an exchange to CYBER 170 monitor
mode, when in CYBER 170 job mode, and cause a jump to executive state when in
CYBER 170 monitor mode.

Table 4-14.
Opcode

CP Illegal Instructions

Format

Instruction

Mnemonic

jK

Error exit to MA or interrupt to
executive mode
Illegal instruction (Trap 180)
Read one word from UFM to Xj
Write one word from Xj to UEM

RT

OOxxx
017
014
015

jK
jK

w

xk

WXj Xk

Error Exit
Error exit to MA when CYBER 17
MF clear
Interrupt to executive
mode when CYBER 170 MF set

00-

This instruction causes an illegal instruction error exit. CYBER 170 MF is the
hardware monitor flag. Refer to Illegal Instructions in chapter 5 .

Illegal l nstruction
017jk

-

Illegal Instruction

Refer to Illegal Instructions in chapter 5.

CP Illegal instructions

l llegal Read/Write
014 j k

Read one word from (Xk

+ RAE)

to X j

This i n s t r u c t i o n i s i l l e g a l i f t h e UEM enable f l a g i n t h e CYBER 170 exchange
package i s c l e a r . This i n s t r u c t i o n reads t h e 60-bit word from UKM l o c a t i o n Xk
plus RAE i n t o X j . Xk i s l e s s than FLE.
The number of b i t s checked f o r an address-out-of-range c o n d i t i o n v a r i e s ,
depending on the addressing mode of UEM. I n standard addressing mode, 24 b i t s
of Xk a r e checked a g a i n s t 23 b i t s of FLE with b i t 23 of FLE equal t o 0. In
expanded addressing mode, 30 b i t s of Xk a r e checked a g a i n s t 29 b i t s of FLE with
b i t 29 of FLE equal t o 0. If Xk i s g r e a t e r than o r equal t o FLE, an addressout-of-range condition i s d e t e c t e d ,
015 jk

Write one word from Xj t o
(Xk + RAE)

This i n s t r u c t i o n is i l l e g a l i f t h e UEM enable f l a g i n the CYBER 170 exchange
package i s c l e a r . This i n s t r u c t i o n w r i t e s the 60-bit word from X j i n t o the UEM
l o c a t i o n Xk plus RAE. Xk i s l e s s than FLE.
The number o f b i t s checked f o r an address-out-of-range
condition v a r i e s ,
depending on the addressing mode of UEM.
I n standard addressing mode, 24 b i t s
of Xk a r e checked a g a i n s t 23 b i t s of FLE with b i t 23 of FLE equal t o 0. I n
expanded addressing mode, 30 b i t s of Xk a r e checked a g a i n s t 29 b i t s of FLE with
b i t 29 of FLE equal t o 0. If Xk i s g r e a t e r than o r equal t o FLE, an
address-out-of-range condition i s detected.

CP Mask

Instruction

CP Mask lnstruction
Form Mask
Form mask of jk b i t s t o X i

This i n s t r u c t i o n g e n e r a t e s a masking word u s i n g t h e j and k d e s i g n a t o r s a s
The j and k
parameters. No operands a r e read from o p e r a t i n g r e g i s t e r s .
d e s i g n a t o r s a r e t r e a t e d a s a s i n g l e , 6-bit o c t a l q u a n t i t y t o d e s i g n a t e t h e
width of t h e masking f i e l d . A f i e l d of l ' s , beginning a t t h e highest-order end
The completed
of t h e word, i s extended downward on a background of 0 ' s .
masking word c o n s i s t s of 1 b i t s i n t h e highest-order jk b i t p o s i t i o n s and 0
b i t s i n t h e remainder of t h e word. This masking word i s t h e n d e l i v e r e d t o X i .
The following a r e sample parameters.

This i n s t r u c t i o n g e n e r a t e s v a r i a b l e width masks f o r l o g i c a l o p e r a t i o n s . T h i s
i n s t r u c t i o n , t o g e t h e r with a s h i f t i n s t r u c t i o n , g e n e r a l l y c r e a t e s an a r b i t r a r y
f i e l d mask f a s t e r t h a n reading a pregenerated mask from CM.

CP Pop Count Instruction

CP Pop Count lnstruction

Population Count
47ixk

Population count of (Xk) t o X i

C X i Xk

This i n s t r u c t i o n r e a d s one operand from Xk, counts t h e number of one b i t s i n
t h e operand, and s t o r e s t h e count i n X i .
The count d e l i v e r e d t o X i is a
p o s i t i v e i n t e g e r . If t h e operand i s a l l l ' s , a count of 60 (decimal) i s
delivered t o X i .
I f operand i s a l l z e r o s , a 0 ' s word i s d e l i v e r e d t o X i .

CP Read Free Running Counter lnstruction

Read Free-Running Counter
016 jk

Read f r e e . running counter

T h i s I n s t r u c t i o n t r a n s f e r s t h e c u r r e n t c o n t e n t s of t h e 48-bit f r e e running
counter t o t h e X j r e g i s t e r . The l e f t m o s t 1 2 b i t s of X j a r e s e t t o 0. The k
f i e l d i s ignored.

This i n s t r u c t i o n i s a s i n g l e p a r c e l i n s t r u c t i o n t h a t can be l o c a t e d i n any
parcel.

PP Instruction Descriptions

PP lnstruction Descriptions
The peripheral processor (PP) instruction s e t comprises the following eight
subgroups

.

Load/Store.
Arithmetic.

Logical.
Replace.
Branch.
Central Memory Access.
Input/Output.
Other.

PP Instruction Descriptions

PP lnstruction Formats
Figure 4-2 shows PP instruction formats. PP instructions are 16 or 32 bits
long. In instruction descriptions, the operation code is given either by two
or three octal digits. The third digit, when used, indicates the state of the
s-bit (0 or 1) in 110 instructions (refer to table 4-15).
The upper 4 bits of the PP instructions must be 0 to ensure that the
Instructions operate as defined in this chapter.

Table 4-15. PP Nomenclature
Term

Description
Specifies instruction operation code.
Specifies I/O instruction subcode.
Specifies channel number.
Refers to the A register (arithmetic register) or the content of
the A register.
Refers to the content of the word at the CM address specified by
the A register.
Refers to the P register or to the content of the P register
(program address register).
Refers to the R register or to the content of the R register
(relocation register).
Refers to the content of the word at the PP memory address
specified by the d field (direct mode).
Refers to the content of the word at the PP memory address
specified by the content of the word at the PP memory address
specified by the d field (indirect mode).
Refers to the PP memory address specified by the m field indexed by
the content of the word at the PP memory addressed specified by the
d field.

(rn

+ (dl) Refers to the content of rhe word at the PP memory address
specified by the m field indexed by the content of the word at the
PP memory address specified by the d field (memory mode).

PP Instruction Descriptions

31

2827

22

20

1615

ZEROS OPCODE s

Figure 4-2.

0

1211

1

m

PP I n s t r u c t i o n Formats

PP Data Format
Figure 4-3 shows PP data format and how 12-bit data i s packed i n t o 64-bit CM
words or unpacked from 64-bit CM words.

ZEROS
64 - BIT DATA WORD I N CENTRAL MEMORY
LOCATION

15

1211

0

d

ZEROS

a

d+ 1

ZEROS

b

d+2

ZEROS

c

d+3
d+4

ZEROS

d
e

ZEROS

64 - BIT DATA WORD I N PP MEMORY

Figure 4-3.

PP Data Format

PP LoadlStore lnstructions

PP delocation Register Format
Figure 4-4 shows PP relocation (R) register format. This register is loadedfrom/stored-into PP memory by instructions 24 and 25 (load/store R register).

27

I

65

18 17

I

a

b

0
ZEROS

RELOCATION REGISTER I N PP HARDWARE

LOCATION 15

12

d

d+ I

ZEROS

RELOCATION REGISTER IN PP MEMORY

Figure 4-4. PP Relocation (R) Register Format

PP LoadBtore Instructions
Load and store instructions (table 4-16) transfer 6-, lo-, 12-, and 18-bit
quantities between the PP A register and the PP memory.

Table 4-16.
Opcode

PP Load/Store Instructions

Format

Instruction

Mnemonic

Load d
Load complement d
Load dm
Load R
Load (dl
Load ( ( d l
Load (m+(d))
Store R
Store (d)
Store ((dl)
Store (m+(d))

LDN
LCH
LDC
LRD
LDD

d
d
m,d
d
d

LDI d

LDM
SRD
STD
ST1
STM

m,d
d

d
d
m,d

PP LoadlStore Instructions

Load
Load d

This instruction clears the A register and loads d.
are 0.
Load complement d

LDN d

The upper 12 bits of A

LCN d

This instruction clears the A-registerand loads the complement of d.
upper 12 bits of A are 1.
2Odm

Load dm

The

LDC dm

This instruction clears the A register and loads an 18-bit quantity consisting
of d as the upper 6 bits and m as the lower 12 bits. The content of the
location (P plus 1) which follows the present program address (I?) is read to
provide m.
Load R register

LRD d

Figure 4-4 shows B register format. If d is not equal to 0, this instruction
loads the upper 10 bits of the R register (bits 18-27) from the rightmost 10
bits of PP memory location d. The 12 bits contained in PP memory location d
plus 1 are loaded into the next 12 bits of the R register (bits 6 through 17).
If d equals 0, the instruction is a pass.

LDD d

Load (dl

This instruction clears the A register and loads the content at location d.
The upper 6 bits of A are 0.
40d

Load ((dl)

LDI d

This instruction clears the A register and loads a 12-bit quantity that is
obtained by indirect addressing. The upper 6 bits of A are 0. Location d is
read from PPM, and the word read is used as the operand address.
5Odm

Load (m

+

(d))

LDM

m,d

This instruction clears the A register and loads a 12-bit quantity. The upper
6 bits of A are 0's. The 12-bit operand is obtained by indexed direct
addressing.
In indexed direct addressing, the quantity m, which i s read from PPM.location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
location d may be used as an
content in d is the operand address. Therefore,
index quantity to modify operand addresses.

PP LoadlStore

Instructions

Store
Store R register

SRD d

Figure 4-4 shows R register format. If d is not equal to 0, this instruction
stores the upper 10 bits of the R register (bits 18 through 27) into the
righrmost 10 bits of PP memory location d. The 12 bits contained In PP memory
location d plus 1 are stored into the next 12 bits of the R register (bits 6
through 17). If d equals 0, the instruction is a pass.
34d

Store (d)

STD d

This instruction stores the lower 12 bits of the A register at location d.
44d

Store ( ( d l )

ST1 d

This instruction stores the lower 12 bits of the A register at the Location
specified by the content of location d .
54dm

Store (m

+

(d))

STM m,d

This instruction stores the lower 12 bits of the A register in the location
determined by indexed direct addressing.

In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content of d 1s added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Arithmetic lnstructions

PP ~rithmeticInstructions
The PP arithmetic instructions (table '4-17) perform integer arithmetic using
the PP A register contents as one operand, with the other operand specified by
the instruction. The result replaces the original contents of A. The PP
considers the operands as one's complement integers and performs the arithmetic
in one's complement.

Table 4-17.
Opcode

PP Arithmetic Instructions

Format

Instruction

Mnemonic

Add d
Add dm
Add (d)
Add ((dl)
Add (m+(d))
Subtract d
Subtract ( d l
Subtract ((d))
Subtract (m+(d))

ADN d
ADC m,d
ADD d
AD1 d
ADM m,d
SBN d
SBD d
SBI d
SBM m,d

Arithmetic Add
16d

Add d

ADN d

This instruction adds d (treated as a 6-bit positive quantity) to the content
of the A register.
21dm

Add dm

ADC

dm

This instruction adds to the A register the 18-bit quantity consisting of d as
the upper 6 bits and m as the lower 12 bits. The content of the location ( P
plus 1) which follows the present program address (P) is read to provide m.

PP Arithmetic Instructions

ADD

Add (dl

d

This instruction adds the content at location d (treated as a 12-bit positive
quantity) to the A register.

This instruction adds to the content of the A register a 12-bit operand
(treated as a positive quantity) obtained by indirect addressing. Location d
is read from PPM, and the word read is used as the operand address.
51dm

Add (m

+

(dl)

ADM

m,d

This instruction adds the 12-bit operand (treated as a positive quantity) read
by indexed direct addressing to the A register.
In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Arithmetic Instructions

Arithmetic Subtract
17d

Subtract d

SBN d

This instruction subtracts d (treated as a 6-bit positive quantity) from the
content of the A register.
32d

SBD d

Subtract (d)

This instruction subtracts the content at location d (treated as a 12-bit
positive quantity) from the A register.
42d

SBX d

Subtract ( (dl )

This instruction subtracts from the A register a 12-bit operand (treated as a
positive quantity) obtained by indirect addressing. Location d is read from
PPM, and the word read is used as the operand address.
52dm

Subtract (m

+

(d))

SBM m,d

This instruction subtracts the 12-bit operand (treated as a positive quantity)
read by indexed direct addressing from the A register.
In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Logical lnstructions

PP Logical Instructions
The logical instructions (table 4-18) perform operations with one operand as
the PP A register contents, and the other as specified by the instruction. The
result replaces the origiml contents of A.

Table 4-18.

PP Logical Instructions

Opcode

Format

Instruction

Mnemonic

10
13
11

d
d
d
dm
d
d

Shift d
Selective clear d
Logical difference
Logical difference
Logical difference
Logical difference
Logical difference
Logical product d
Logical product dm

SHN d
SCN d
LMNd
LMC m,d
LMDd
LMI d
LMM m,d
LPN d
LPC m,d

23
33
43
53
12
22

dm
d
dm

d
dm
(d)
( (d) )
(m+(d))

Shift
10d

Shift d

This instruction
If d is positive
(40 through 771,
Thus, d equal to
a right-shift of

SHN

d

shifts the content of the A register right or left d places.
(00 through 3 7 ) , the shift is left circular. If d is negative
the shift is right circular (end-off with no sign extension).
06 requires a left-shift of s i x places; d equal to 71 requires
six places.

Selective Clear
13d

Selective clear d

SCN

d

This instruction clears any of the lower 6 bits of the A register where
corresponding bits of d are 1. The upper 12 bits of A are not altered.

PP Logical instructions

Logical Difference
lld

Logical difference d

LMN d

This instruction forms the bit-by-bit logical difference of d and the lower 6
bits of A in the register in A. This is equivalent to complementing individual
bits of A that correspond to bits of d that are 1. The upper 12 bits of A are
not altered.
23dm

Logical difference dm

LMC

dm

This instruction forms the bit-by-bit logical difference of the content of the
A register and the 18-bit quantity dm in A. This is equivalent to complementing individual bits of A which correspond to bits of dm that are 1. The upper
6 bits of the quantity consist of d, and the lower 12 bits are the content of
the location (P plus 11, which follows the present program address (P).
33d

Logical difference ( d )

This instruction forms in the A register the bit-by-bit logical difference of
the lower 12 bits of the A register and the content at location d. This is
equivalent to complementing individual bits of A that correspond to bits in
location d that are 1's. The upper 6 bits are not altered.

PP Logical Instructions

Logical difference ((dl)

This instruction forms in the A register the bit-by-bit logical difference of
the lower 12 bits of the A register and the 12-bit operand read by indirect
addressing. Location d is read from PPM, and the word read is used as the
operand address. The upper 6 bits of A are not altered.
53dm

--

Logical difference (m

(PI

+

(d))

LMM m,d

(P+l)

This instruction forms the bit-by-bit logical difference of the lower 12 bits
of the A register and a 12-bit operand obtained by indexed direct addressing in
the A register. The upper-6 bits of A are not altered.
In indexed direct addressing, the quantity m, which i s read from PPM location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Logical Instructions

Logical Product
12d

Logical product d

LPN d

This instruction forms the bit-by-bit logical product of d and the lower 6 bits
of the A register and leaves this quantity in the lower 6 bits of A. The upper
12 bits of A are 0.
22dm

Logical product dm

LPC dm

This instruction forms the bit-by-bit logical product of the content of the A
register and the 18-bit quantity dm in A. The upper 6 bits of this quantity
consist of d, and the lower 12 bits are the content of the location (P plus I),
which follows the present program address (PI.

PP Replace Instructions

PP Replace Instructions
The replace instructions (table 4-19) perform integer arithmetic with one
operand as the contents of A and the other as specified by the instruction.
The result replaces the original contents of A and the contents of the other
operands location. The result stored in location d is either the rightmost 12
bits (for the normal instructions) or the rightmost 16 bits (for the long
instructions) of the A register. Therefore, since A contains .18 bits, the
value remaining in A cannot equal the value stored in PP memory location d.
The PP considers the operands as one's complement integers and performs one's
complement arithmetic.

Table 4-19.

PP Replace Instructions
- --

Opcode

Format

Instruction

Mnemonic

Replace add (d)
Replace add 1 (dl
Replace add ((dl
Replace add 1 ((dl )
Replace add (m+(d))
Replace add 1 (m+(d))
Replace subtract 1 (m+(d))
Replace subtract 1 ( d l
Replace subtract 1 ((d))

RAD d

AOD d
W d
A01 d
RAM m,d
AOM m,d
SOM m,d
SOD d
SO1 d

PP Replace Instructions

Replace Add
35d

Replace add ( d )

RAD

d

This i n s t r u c t i o n adds t h e q u a n t i t y a t l o c a t i o n d t o t h e content of t h e A
r e g i s t e r and s t o r e s t h e lower 1 2 b i t s of t h e r e s u l t a t l o c a t i o n d. The r e s u l t
remains i n A a t the end of the o p e r a t i o n , and the o r i g i n a l content of A i s
destroyed.

36d

Replace add 1 ( d l

AOD

d

This i n s t r u c t i o n r e p l a c e s t h e q u a n t i t y a t l o c a t i o n d with i t s o r i g i n a l value
p l u s 1. The r e s u l t remalns i n t h e A r e g i s t e r a t t h e end of the o p e r a t i o n , and
t h e o r i g i n a l content of A i s destroyed.
45d

Replace add ( ( d l )

RAI

d

This i n s t r u c t i o n adds t h e operand, which i s obtained from the l o c a t i o n
s p e c i f i e d by t h e content a t l o c a t i o n d , t o the content of t h e A r e g i s t e r . The
lower 1 2 b i t s of t h e sum r e p l a c e the o r i g i n a l operand. The r e s u l t remains i n A
a t the end of t h e operation.

PP Replace lnstructrons

Replace add 1 ((dl )

This instruction replaces the operand, which is obtained from the location
specified by the content at location d, by its original value plus 1. The
result remains in the A register at the end of the operation, and the original
content of A is destroyed.
Replace add (m

+

(dl)

RAM m,d

This instruction adds the operand, which is obtained from the location
determined by indexed direct addressing, to the A register. The lower 12 bits
of the sum replace the original operand in PPM. The result remains in A at the
end of the operation, and the original content of A is destroyed.
In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.
56dm

Replace add 1 (m + (dl)

AOM m,d

This instruction replaces the operand, which is obtained from the location
determined by indexed direct addressing, by its original value plus 1. The
result remains in the A register at the end o f the operation, and the original
content of A is destroyed.
In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content of d is added.
If d equals 0, the operand address is m y but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Replace lnstructions

Replace Subtract
37d

Replace subtract 1 (d)

SOD d

This instruction replaces the quantity at location d with its original value
minus 1. The result remains in the A register at the end of the operation, and
the original content of A is destroyed.
47d

Replace subtract 1 ((d))

This instruction replaces the operand, which is obtained from the location
specified by the content at location d, by its original value minus 1. The
result remains in the A register at the end of the operation, and the original
content of A is destroyed.
57dm

Replace subtract 1 (m

+

(d))

SOM m,d

This instruction replaces the operand, which is obtained from the location
determined by indexed direct addressing, by its original value minus 1. The
result remains in the A register at the end of the operation, and the original
content of A is destroyed.

In indexed direct addressing, the quantity m, which is read from PPM location P
plus 1, serves as the base operand address to which the content o f d is added.
If d equals 0, the operand address is m, but if d is not equal to 0, m plus the
content in d is the operand address. Therefore, location d may be used as an
index quantity to modify operand addresses.

PP Branch Instructions

PP Branch lnstructions
The branch instructions (table 4-20) allow departure from sequential
instruction execution.

PP Branch Instructions

Table 4-20.
Opcode

Format

Instruction

Mnemonic

01
02
03
04

dm

Long jump to m + (dl
Return jump to m + (d)
Unconditional jump d
Zero jump d
Nonzero jump d
Plus jump d
Minus jump d
Jump to m if channel c
Jump to m if channel c
Jump to m if charnel c
Jump to m if channel c
Jump to m i f chamel c
Jump to m if channel c

L J M m,d

05
06
07
640
650
660
661
670
671

dm

d
d
d
d
d
cm
cm
cm

cm
em
cm

RJM
UJN
ZJN
NJN
PJN
MJN
active

AJM

inactive
full
error flag set
empty
error flag clear.

IJM
FJM
SFM
EJM
CFM

m,d
d
d
d
d
d
m,c
m,c
m,c
m,40B+c
m , ~
m,40B+c

Long Jump
Oldm

Long jump to m

+

(d)

LJM m,d

This instruction jumps to the address given by m plus the content of location
d. If d equals 0, m is not modified.

PP Branch instructions

Return Jump
02dm

Return jump to m

+

(d)

RJM

m,d

This instruction jumps to the address given by m plus the content of location
d. If d equals zero, m is not modified. The current program address (P) plus
2 is stored at the jump address. The next instruction starts at the jump
address plus 1. The subprogram exits with a long jump or normal sequencing to
the jump address minus 1, which in turn contains a long jump, 0100. This
returns the original program address plus 2 to the P register.

Unconditional Jump
03d

Unconditional jump d

UJN

d

This instruction provides an unconditional jump to any address up to 31
(decimal) locations forward or backward from the current program address. The
value of d is added to the current program address. If d is positive (01
through 37), 0001 through 0037 is added, and the jump is forward. If d is
negative (40 through 76), 7740 through 7776 is added, and the jump is
backward. When d equals 00 or 77, the PP hangs. A deadstart is required to
restart the PP.

PP Branch Instructions

Zero/Nonzero Jump
04d

Zero jump d

This i n s t r u c t i o n provides a c o n d i t i o n a l jump t o any address up t o 31 (decimal)
l o c a t i o n s forward o r backward from t h e c u r r e n t program address. If the c o n t e n t
of t h e A r e g i s t e r i s 0 , t h e jump i s taken. I f t h e content of A i s nonzero, t h e
next i n s t r u c t i o n executes from P plus 1. A -0 (777777) i s t r e a t e d a s nonzero.
For i n t e r p r e t a t i o n of d , r e f e r t o the 03 i n s t r u c t i o n ,

O5d

Nonzero jump d

NJN

d

This i n s t r u c t i o n provides a c o n d i t i o n a l jump t o any a d d r e s s up t o 3 1 (decimal)
l o c a t i o n s forward o r backward from t h e c u r r e n t program address. I f t h e content
of t h e A r e g i s t e r i s nonzero, t h e jump i s taken. I f t h e content of A i s 0 , t h e
next i n s t r u c t i o n executes from P p l u s 1. A -0 (777777) i s t r e a t e d a s nonzero.
If d i s p o s i t i v e (01 through 371, 0001 through 0037 i s added, and the jump i s
forward. I f d i s negative (40 through 761, 7740 through 7776 i s added, and t h e
jump i s backward. When d equals 00 o r 77, t h e PP hangs. A d e a d s t a r t i s
required t o r e s t a r t t h e PP.

PP Branch Instructions

Plus/Minus Jump
06d

Plus jump d

This instruction provides a conditional jump to any address up to 31 (decimal)
locations forward or backward from the current program address. If the sign of
the A register is positive, the jump is taken. If the sign of A is negative,
the next instruction executes from P plus 1. A +O is treated as a positive
quantity. A -0 i s treated as a negative quantity. If d is positive (01
through 37), 0001 through 0037 is added, and the jump is forward. If d is
negative (40 through 761, 7740 through 7776 i s added, and the jump is
backward. When d equals 00 or 77, the PP hangs. A deadstart is required to
restart the PP.
07d

Minus jump d

This instruction provides a conditional jump to any address up to 31 (decimal)
locations forward or backward from the current program address. If the content
of the A register is negative, the jump is taken. If the content of A is
positive, the next instruction executes from P plus 1. A +O is treated as a
positive quantity. A -0 is treated as a negative quantity. If d is positive
(01 through 37), 0001 through 0037 is added, and the jump is forward. If d is
negative (40 through 761, 7740 through 7776 is added, and the jump is
backward. When d equals 00 or 77, the PP hangs. A deadstart is required to
restart the PP.

PP Branch instructions

Jump To m
Jump to m if channel c active

AJM m,c

If channel c is active, this instruction causes a jump to m; otherwise, it is a
pass.
650cm

Jump to m if channel c inactive

IJM m,c

This instruction provides a conditional jump to a new address specified by m.
The jump is taken if the channel specified by c is inactive. The next
instruction is at P plus 2 if the channel is active.
660-

Jump to m if channel c full

FJM m,c

This instruction provides a conditional jump to a new address specified by m.
The jump is taken if the channel designated by c is full. The next instruction
is at P plus 2 if the channel is empty.
An input channel is full when the input equipment places a word in the channel
and no PP has accepted that word. The channel is empty when a word has been
accepted. An output c h a ~ e lis full when a PP places a word on the channel.
The channel is empty when the output equipment accepts the word.

P P Branch instructions

661cm

Jump t o m i f channel c e r r o r f l a g s e t

I f t h e channel c
causes a jump t o
When m i s s e t t o
when t h e program
6 7 Ocm

SFM

m,c

e r r o r f l a g i s s e t , t h i s i n s t r u c t i o n c l e a r s t h e e r r o r flag. and
m.
I f t h i s e r r o r f l a g i s c l e a r , t h e i n s t r u c t i o n is a p a s s .
P p l u s 2 , t h e channel e r r o r f l a g i s u n c o n d i t i o n a l l y c l e a r e d
r e a c h e s P p l u s 2.

Jump t o rn i f channel c empty

EJM

m,c

This i n s t r u c t i o n provides a c o n d i t i o n a l jump t o a new a d d r e s s s p e c i f i e d by m.
The jump i s taken i f t h e channel s p e c i f i e d by c i s empty. The n e x t i n s t r u c t i o n
i s a t P p l u s 2 i f t h e channel i s f u l l . An i n p u t channel i s f u l l when t h e i n p u t
equipment p l a c e s a word i n t h e channel and no PP has a c c e p t e d t h a t word. The
An o u t p u t channel i s f u l l when
channel i s empty when a word has been accepted.
a PP p l a c e s a word on t h e channel. The channel i s empty when t h e o u t p u t
equipment a c c e p t s t h e word.

67 1cm

Jump t o m i f channel c e r r o r f l a g c l e a r

CFM

m,c

If
If t h e channel c e r r o r f l a g i s c l e a r , t h i s i n s t r u c t i o n c a u s e s a jump t o m.
t h i s e r r o r f l a g i s s e t , t h e i n s t r u c t i o n c l e a r s t h e e r r o r f l a g and proceeds with
t h e n e x t i n s t r u c t i o n . When m i s s e t t o P p l u s 2 , t h e channel e r r o r f l a g i s
u n c o n d i t i o n a l l y c l e a r e d when t h e program r e a c h e s P p l u s 2 .

PP Central Memory Access Instructions

PP Central Memory Access Instructions
The PP central memory access instructions (table 4-21) provide the capability
to read and mite CM words to and from PP memory. The PPs have read access to
all CM storage locations, while the OS bounds register controls write and
exchange accesses. The IOU performs CM addressing with real memory word
addresses. To address all locations in the larger CM sizes available, the IOU
uses address relocation to modify the CM address in the A register of the PP.
If bit 46 in A is 1 during a PP central memory read or write instruction, the
IOU adds the R register contents to A register bits 47 through 63 to produce
the CM address. If bit 46 of A Is 0, the IOU does not perform address
relocation but uses the A address. The R register contains an absolute 64-word
starting boundary within CM. When relocation is desired, an absolute CM
address is formed by concatenating six 0's to the rightmost end of the R
contents and adding bits 47 through 63 of A.

PP Central Memory Access Instructions

Table 4-21.
Opcode

Format

Instruction

Mnemonic

60
61
62
63

d
dm
d
dm

Central read from (A) to d
Central read ( d ) words from (A) to m
Central write to (A) from d
Central write (d) words to (A) from m

CRD d
CRM m,d
CUD d
CWM m,d

Central Read
Central read from (A) to d

CRD d

This instruction disassembles one 60-bit word from central memory into five
12-bit words and stores these in five consecutive PP memory locations,
beginning with the leftmost 12 bits of the 60-bit word.
The parameters of the transfer are as follows: If bit 17 of A is 0, A bits 0
through 16 contain the absolute address of the 60-bit word transferred. If bit
17 of A is 1, hardware adds relocation register R to zero-extended A bits 0
through 16 to obtain the absolute address of the 60-bit word transferred. For
further information, refer to R Register under ~nput/~utput
Unit in chapter 2,
and PP Relocation Register Format at the beginning of this section on PP
Instruction Descriptions. Field d gives the PP location that receives the
first 12-bit word transferred. PP memory addressing is cyclic, and location
0000 follows location 7777.

PP Central Memory Access Instructions

61dm

Central read (dl words from (A) to m

CRM

d,m

PP location 0000 is used by hardware. This instruction disassembles 60-bit
words from central memory into 12-bit words, and places these in consecutive PP
memory locations, beginning with the leftmost 12 bits of the first 60-bit word.
The parameters of the transfer are as follows: If bit 17 of A is 0, A bits 0
through 16 contain the absolute address of the first 60-bit word transferred.
If bit 17 of A is 1, hardware adds relocation register R to zero-extended A
bits 0 through 16 to obtain the absolute address of the first 60-bit word
transferred. For further information, refer to R Register under Input/Output
Unit in chapter 2, and PP Relocation Register Format under PP Instruction
Descriptions. PP location d must contain the number of 60-bit words
transferred. Field m gives the PP location into which the first 12-bit word is
placed.
This instruction stores P plus 1 into PP location 0000 before beginning the
transfer. After the transfer is completed, the next instruction is taken from
1 plus whatever address is stored in location 0000. If the transfer overwrites
location 0000, execution resumes at the location specified by (0000) plus 1 and
results are undefined. (PP memory addressing is cyclic, and location 0000
follows location 7777.)
The A register is incremented by 1 after each 60-bit word is read from central
memory. If the incrementing changes A bit 17, the central memory addressing is
switched between direct address and relocation address modes. Refer to Central
Memory Addressing by PPs in chapter 5.
After the transfer is completed, the A register contains either the address of
the last word transferred plus 1 (direct addressing) or the same address Less
the contents of the relacation address register (relocation addressing), except
as follows: If the last word transferred is from a relative address 3777768
and relocation is in effect, then the A register is cleared, and the value
returned in A may not point to the last word transferred plus 1.

PP Central Memory Access Instructions

Central Write
62d

Central write to (A) from d

CWD d

This instruction assembles five 12-bit words from consecutive PP memory
locations into one 60-bit word and stores the 60-bit word in central memory.
The first 12-bit word is stored in the leftmost 12 bits of the 60-bit word.
(PP memory addressing is cyclic, and location 0000 follows location 7777.)
The parameters of the transfer are a a follows: If bit 17 of A is 0, A bits 0
through 16 contain the absolute address of the 60-bit word stored. If bit 17
of A is 1, hardware adds relocation register R to zero-extended A bits 0
through 16 to obtain the absolute address of the 60-bit word stored. For
further information, refer to R Register under Input/Output Unit in chapter 2,
and PP Relocation Register Format under PP Instruction Descriptions. Field d
gives the PP location of the first 12-bit word transferred. The transfer is
subject to the CM bounds test.

PP Central Memory Access Instructions

Central write ( d l words to (A) from m

CWM

m,d

Hardware uses PP location 0000. This instruction assembles 12-bit words from
consecutive PP memory locations into 60-bit words and stores these in central
memory. The first 12-bit word is stored in the leftmost 12 bits of the 60-bit
word. (PP memory addressing is cyclic, and location 0000 follows location
7777.)
The parameters of the transfer are as follows: If bit 17 of A is 0, A bits 0
through 16 contain the absolute address of the first 60-bit word transferred.
If bit 17 of A is 1, hardware adds relocation register R to zero-extended A
bits 0 through 16 to obtain the absolute address of the first 60-bit word
transferred. For further information, refer to R Register under ~nput/~utput
Unit in chapter 2 and in PP Relocation Register Format at the beginning of this
section on PP Instruction Descriptions. PP location d must contain the number
of 60-bit words transferred. Field m gives the PP location from where the
first 12-bit word is obtained. The transfer is subject to the CM bounds test.
This instruction stores P plus 1 into PP location 0000 before beginning the
transfer. Gfter the transfer is completed, the next instruction is taken from
1 plus whatever address is stored in location 0000.
+TheA register is incremented by 1 after each 60-bit word is written into
central memory. If the incrementing changes A bit 17, the central memory
addressing is switched between direct address and relocation address modes.
Refer to Central Memory Addressing by PPs in chapter 5.
After the transfer is completed, the A register contains either the address of
the last word transferred plus 1 (direct addressing) or the same address less
the contents of the relocation address register (relocation addressing), except
as follows: If the last word transferred is from a relative address 3777768
and relocation is in effect, then the A register is cleared, and the value
returned in A may not point to the last word transferred plus 1.

PP lnput/Output Instructions

PP Input/Output Instructions
The PP input/output instructions (table 4 - 2 2 ) direct activity on the I/o
channels. They select an external device and transfer data to or from that
device. The instructions also determine whether a channel or external device
is available and ready to transfer data. The preparatory steps ensure that the
channels carry out an orderly data transfer. Each external device has a set of
external function codes that the PP uses to establish operation modes, and to
start and stop data transfer. The devices can also detect.certaid errors that
are indicated to the controlling PP.

Table 4 - 2 2 .
Opcode

PP Input/Output Instructions

Format

Instruction
-

Mnemonic

-

Test and set channel c flag
Clear channel c flag
Input to A from channel d
Input A words to m from channel d
Output from A on channel d
Output (A) words from m on channel d
Activate channel d
Deactivate c h a ~ e ld
Function A on channel d
Function m on channel d

SCF
CCF
IAN
IAM
OAN
OAM
ACN
DCN
FAN
FNC

m,&OB+c
c
d
m,d
d
m,d
d
d
d

m,d

PP InputlOutput Instructions

641cm

Test and set channel c flag

SCF m,c

If the C h a ~ e lc flag is set, this instruction causes a jump to m. If the
chamel c flag is clear, it sets this flag and continues with the next
instruction. When m is set to P plus 2, the channel flag is unconditionalLy
set when the program reaches P plus 2.
If two or more PPs simultaneously issue this instruction for the same channel,
the conflict is resolved as follows:
If one of the competing channels i s channel 17 (maintenance channel), the PP in
the lowest physical level sees the true condition of the flag; the other
conflicting PPs see the flag set (and hence take a jump).
If the competing
chamel is any other channel, software must resolve the conflict. Any five
consecutively numbered PPs (in the same barrel) issue instructions at different
times.
651cm

Clear channel c flag

CCF m,c

This instruction clears the channel c flag. The m field is required but is not
used.

PP InputlOutput Instructions

Input to A from channel d

IAN

d

This instruction transfers a word from input channel d to the lower 12 bits of
the A register. The upper 6 bits of A are cleared to 0.

NOTE
If bit 5 of d is clear and the channel is
inactive, this instruction hangs the PP,
waiting for the channel to go active and full,
if executed. If bit 5 of d is set and the
channel is inactive or is deactivated before a
full is received, the instruction exits. The
word is not accepted, and the A register clears.

Input A words to m from channel d

IAM m,d

This instruction transfers a block of 12-bit words from input channel d to
PPM. The first word goes to the PPM address specified by m. The A register
holds the block length. A reduces by 1 as each word is read. The input
operation completes when A equals 0 or the data channel becomes inactive. If
the operation terminates by the channel becoming inactive, the next storage
location in PPM is set to 0. However, the word count is not affected by this
empty word. Therefore, A holds the block length minus the number of real data
words read.
During this instruction, address 0000 temporarily holds P while m is held in
the P register. P advances by 1 to hold the address for the next word as each
word is stored.

NOTE
If this instruction executes when the data
channel is inactive, no input operation is
accomplished, and the program continues at P
plus 2. However, the location specified by rn
is set to 0.

Output from A on channel d

This instruction transfers a word from the A register (lower 12 bits) to output
channel d.

NOTE
If bit 5 of d is clear and the channel i s
inactive, this instruction hangs the PP,
waiting for the channel to go active and full,
if executed. If bit 5 of d is set and the
channel is inactive, the program continues at
P plus 1. The word is not transferred.

73dm

Output A words from m on channel d

OAM

m,d

This instruction transfers a block of words from PPM to channel d. The first
word is read from the address specified by m. The A register holds the number
of words to be sent. A reduces by 1 as each word is read. The output
operation completes when A equals 0 or the channel becomes inactive.
During this instruction, address 0000 temporarily holds P while m is held in
the P register. P advances by 1 to give the address of the next word as each
word is read from the PPM.

NOTE
If this instruction executes when the data
channel is inactive, no output operation is
accomplished, and the program continues at P
plus 2.

74d

Activate channel d

This i n s t r u c t i o n a c t i v a t e s the channel s p e c i f i e d by d and sends the a c t i v e
s i g n a l on the channel t o equipment connected t o the channel. Activating a
channel, which must precede a 70 through 73 i n s t r u c t i o n , prepares 1 / 0 equipment
f o r the exchange of data.

NOTE
I f t h i s i n s t r u c t i o n executes when the d a t a
channel i s already a c t i v e and i f b i t 5 of d i s
s e t , the program continues a t P plus 1.
Otherwise, a c t i v a t i n g an already a c t i v e
channel causes t h e PP t o wait u n t i l the
channel goes inactive. The PP hangs i f t h e
channel does not go i n a c t i v e .

Deactivate channel d

DCN

This i n s t r u c t i o n d e a c t i v a t e s the channel s p e c i f i e d by d.
d a t a t r a n s f e r stops.

d

As a r e s u l t , the 1 / 0

NOTES
I f t h i s i n s t r u c t i o n executes when the d a t a
channel i s already i n a c t i v e and b i t 5 of d i s
s e t , the pr.ogram continues a t P p l u s 1. The
channel remains i n a c t i v e , and no i n a c t i v e
s i g n a l i s s e n t t o t h e 110 equipment. Deactiv a t i n g an already i n a c t i v e channel causes t h e
PP t o hang u n t i l the channel becomes a c t i v e .
If an output i n s t r u c t i o n i s followed by a
disconnect i n s t r u c t i o n without f i r s t establ i s h i n g t h a t t h e i n p u t device (check f o r
channel empty) has accepted t h e information,
t h e Zast word transmitted may be l o s t .

Do not d e a c t i v a t e a channel before p u t t i n g a
u s e f u l program i n the a s s o c i a t e d PP. PPs
other than 0 a r e hung on an i n p u t i n s t r u c t i o n
(71) a f t e r d e a d s t a r t . Deactivating a channel
a f t e r d e a d s t a r t causes an e x i t t o t h e address
s p e c i f i e d by the content of l o c a t i o n 0000 p l u s
1 and execution of t h a t program.
I f the chann e l i s deactivated without a v a l i d program i n
t h a t PP, t h e PP executes whatever program was
Left i n PPM. Therefore, t h e PP could run wild.

Function
76d

Function A on chamel d

FAN

d

This instruction sends the external function code in the lower 12 bits of the A
register on channel d.

NOTE
If this instruction executes with bit 5 of d
clear and the channel active, PP execution
stops until a deadstart or another PP causes
the channel to become inactive. If bit 5 of d
is set and the channel is active, the program
continues at P plus 1. Neither the function
signal nor the function word transmits. The
channel remains active, and execution continues.

Function m on channel d

FNC

m,d

This instruction sends the external function code specified by m on channel d.

NOTE
If this instruction executes with bit 5 of d
clear and the channel active, PP execution
stops until a deadstart or another PP causes
the channel to become inactive. If bit 5 of d
is set and the channel is active, the program
continues at P plus 2. Neither the function
signal nor the function word transmits. The
channel remains active, and execution continues.

Other IOU Instructions

Other IOU lnstructions
Table 4-23 lists the other IOU instructions.

Table 4-23.
Opcode

00
27
260
261
262

Other IOU Instructions

Format

Instruction

xx

Pass
Pass
Exchange Jump
Monitor exchange jump
Monitor exchange jump to M

d
x
x

x

Mnemonic

ExN
MXN

MAN

Pass
OOxx

Pass

PSN

This instruction specifies that no operation i s to be performed.
instruction provides a means of padding out a program.
27d

Pass

The

KPT d

This instruction is not an operation. However, it generates a pulse to a
testpoint (keypoint) for optional monitoring by external equipment.

Other IOU Instructions

Exchange Jump
2600

Exchange jump

EXN

This instruction causes an unconditional exchange jump in the CP, leaving the
CP CYBER 170 monitor flag unaltered. The new CYBER 170 exchange package begins
at central memory location R plus A when the leftmost bit in A is set. When
this bit is clear, A specifies the address. The PP waits until the exchange is
completed before proceeding with the next instruction.
2610

Monitor exchange jump

MXN

If the CP is in the CYBER 170 monitor mode, this instruction is a pass. If the
CP is in the CYBER 170 job mode, it causes a CYBER 170 exchange jump in the CP,
switching the CP to the CYBER 170 monitor mode (MF equals 1). The new CYBER
170 exchange package begins at central memory location R plus A when the
leftmost bit in A is set. When this bit is clear, A specifies the address.
The PP waits until the exchange is completed before proceeding with the next
instruction.
2620

Monitor exchange jump to MA

MAN

If the CP is in CYBER 170 monitor mode, this instruction is a pass. If the CP
is in CYBER 170 job mode, It causes a CYBER 170 exchange jump in the CP,
switching the CP to CYBER 170 monitor mode (MF equals 1). The new CYBER 170
exchange package begins at the absolute address given in the MA field of the
outgoing CYBER 170 exchange package. The PP waits until the exchange is
completed before proceeding with the next instruction.

Instruction Execution Timing

Instruction Execution Timing
Table 4-24 lists approximate execution times for the PP instructions. These
times are listed with the assumption that no conflicts occur. The numbers in
the timing notes column refer to the notes at the end of the table. Execution
times are given in 250-11s major cycles.

NOTE
These execution times are approximations only
and are subject to change without notice.
Accurate timlngs can come only from benchmark
tests. Control Data Corporation is not
responsible for assumptions made based on the
times listed here.

Instruction Execution Timing

Table 4-24.

PP Instruction Timing
Execution Time
in 250-ns Cycles

Timing Notes

Instruction Code

Description

OOxx

Pass

Oldm

Long jump to m

02dm

Return jump to rn

03d

Unconditional jump d

1

04d

Zero jump d

1

-

05d

Nonzero jump d

1

-

06d

Plus jump d

1

-

07d

Minus jump d

1

-

10d

Shift d

1

-

lld

Logical difference d

1

-

12d

Logical product d

1

-

13d

Selective clear d

1

14d

Load d

1

-

2

-

3

-

4

-

1

+

3

(d)
f

4

(d)

-

Load complement d
Add d
Subtract d
Load dm
Add dm
Logical product dm
23dm

Logical difference dm

24d

Load R register from (d) and (d)

25d

Store R register at (dl and ( d l + 1

+1

(Continued)

Instruction Execution Timing

Table 4-24.

PP Instruction Timing (Continued)

-

Instruction Code

Execution Time
in 2.50-ns Cycles

Description
Exchange jump

Timing Notes

,

Monitor exchange jump
Monitor exchange jump to MA
Pass
Load (dl.
Add (d)
Subtract (dl
Logical difference (d)
Store (dl
Replace add (d)
Replace add one (dl
Replace subtract one ( d )
Load ((dl)
Add ((dl)
Subtract ((d))
Logical difference ((d))
Store ((dl)
Replace add ( (dl )
Replace add one ((d))
Timing Notes:
1. No assembly-disassembly unit (ADU) conflicts and no outstanding CYBER 170 exchange
jump request in the ADU.

(Continued)

Instruction Execution Timrng

Table 4-24.

PP Instruction Timing (Continued)

Instruction Code

Execution Time
in 250-ns Cycles

Description

Timing Notes

Replace subtract one ((dl)
Load (m
Add (m

+ (dl

+

(dl)

Subtract (m

+

(d))

Logical difference(m
Store (m

+

+

(d))

(d))

+ d))
one (m +

Replace add (m
Replace add

(dl)

Replace subtract one (m

+

(d))

Central read from (A) to d
Central read (d) words from (A)
to m
Central write to (A) from d
Central write (d) words to (A)
from m
Jump to m if channel c active
Test and set channel c flag
Jump to m if channel c inactive
Clear channel c flag
Jump to m if channel c full
Timing Notes:

2. No ADU conflicts. No central memory conflicts. Add a possible trip due to
resynchronization (CM read instructions only).
3,

Seven major cycles for instruction set-up and instruction exit.
for every CM word.

4.

Six major cycles for instruction set-up and instruction exit.
for every CM word.

Five major cycles
Five major cycles
(Continued)

4-105

Instruction Execution Timing

Table 4-24. PP Instruction Timing (Continued)

Instruction Code

Description

Execution Time
in 250-ns Cycles

Timing Notes

Jump to m if channel c error flag
set

Jump to m if channel c empty
Jump to m if channel c error flag
clear

Input to A from channel d
Input A words to m from channel d
Output from A on c h a ~ e ld
Output (A) words from m on
channel d
Activate channel d
Deactivate channel d
Function A on channel d
Function m on channel d
Timing Notes:
5. Five major cycles for instruction set-up and exit. One major cycle per word
(nonconflict case) or two major cycles per word (conflict case).

Nonconflict case occurs when two PPs communicating to each other are not in the
slot at the same time.
Conflict case occurs when two PPs communicating with each other are in the slot at
the same time.

Programming Information

Programming Information

This chapter contains special programming information about the CP, CM, PPs,
system console, real-time clock, two-port multiplexer, and maintenance channel.

CP Programming
CYBER 170 Exchange Jump
The CP operates in either CYBER 170 job mode, which is interruptable, or CYBER
170 monitor mode, which is not interruptable. A hardware flag called the CYBER
170 monitor flag (MF) indicates the mode in which the CP is executing a job.
The CP uses a CYBER 170 exchange jump operation to switch from CYBER 170 job
mode to CYBER 170 monitor mode and back again. The execution of a CYBER 170
exchange jump permits the CP to send pertinent information from the operating
and control registers to CM and permits CM to send new information to the same
registers. The information that flows from and into the operating and control
registers during a CYBER 170 exchange jump is called a CYBER 170 exchange
package (figure 5-1).
The CP 013 instruction and the PP 2600, 2610, and 2620 instructions initiate a
CYBER 170 exchange jump operation. A CYBER 170 exchange jump instruction
starts or interrupts the CP and provides CM with the first address of a 16-word
exchange package. For the 013 instruction with MF set (CP in monitor mode),
the starting address of the CYBER 170 exchange package is Bj plus K. With MF
clear (CP in job mode), the address is the monitor address (MA). For the 2600
instruction, the CYBER 170 exchange package address is A plus R when bit 17 of
the A register is set. When this bit is clear, the address is A. For the 2610
instruction with MF set, the instruction is a pass. With MI? clear, the CYBER
170 exchange package address is A plus R when bit 17 of the A register is set.
When this bit is clear, the address is A. For the 2620 instruction with MF
set, the instruction is a pass. With MF clear, the CYBER 170 exchange package
address is MA of the outgoing CYBER 170 exchange package.

CP Programming

N+ 3

EM

N+4

///A

FLAGS

RAC

A1

B1

F LC

A2

82

A3

83

A4

84

EM
RAE

FLE

CM
LOCATIONS

VTA

NO HARDWARE REGISTERS EXIST

Figure 5-1.

CYBW 170 Exchange Package

CP Programming

The CYBER 170 exchange package contains the following r e g i s t e r s which provide
information f o r program execution.
18-bit program address ( P I r e g i s t e r ,
21-bit reference address f o r CM (RAC) r e g i s t e r .
21-bit f i e l d l e n g t h f o r CM (E'LC) r e g i s t e r .
6-bit e x i t mode (EM) r e g i s t e r .
6-bit f l a g r e g i s t e r .
21- o r 24-bit r e f e r e n c e address f o r U W (RAE); 2 1 b i t s with Lower 6 b i t s
assumed t o be 0 i n standard addressing mode; 24 b i t s r i g h t - s h i f t e d with 6
b i t s assumed t o be 0 ' s i n expanded addressing mode.
21- o r 24-bit f i e l d l e n g t h f o r UEM (FLE); 21 b i t s i n standard addressing
mode and 24 b i t s i n expanded addressing mode; lower 6 b i t s a r e assumed t o
be 0.
18-bit monitor address (MA) r e g i s t e r .
I n i t i a l c o n t e n t s o f e i g h t 60-bit X r e g i s t e r s .
I n i t i a l contents of e i g h t 18-bit A r e g i s t e r s .
I n i t i a l c o n t e n t s of 18-bit B r e g i s t e r s B 1 through B7; BO contains a
c o n s t a n t 0.
The time t h a t a p a r t i c u l a r CYBER 170 exchange package r e s i d e s i n the CP
hardware r e g i s t e r s i s t h e execution i n t e r v a l . The execution i n t e r v a l begins
with a CYBER 170 exchange jump t h a t swaps t h e CYBER 170 exchange package
information i n CM with the information contained i n t h e CP r e g i s t e r s . The
execution i n t e r v a l ends with the next ClBW 170 exchange jump.

CP Programming

Executive State
The executive s t a t e uses a combination of hardware, software, and microcode to
handle t h e following items.
System i n i t i a l i z a t i o n .
Compare/move i n s t r u c t i o n s .
Software e r r o r s and unimplemented i n s t r u c t i o n s t h a t occur i n CYBER 170
monitor mode.
a

Processor-detected

hardware e r r o r s .

a

Hardware i n t e g r i t y v e r i f i c a t i o n ( d i a g n o s t i c s ) .

I n g e n e r a l , executive s t a t e d e t e r m i n e s , t h e cause of an i n t e r r u p t and decides
whether t o r e t u r n t h e CP t o the i n t e r r u p t e d mode, t o h a l t t h e CP, o r t o
simulate a CYBER 170 exchange and r e t u r n c o n t r o l t o CYBER 170 monitor mode.
Refer t o E r r o r Response i n t h i s chapter.

Floating-point Arithmetic

Format
Floating-point a r i t h m e t i c expresses a number i n t h e form kBn.
k = Coefficient

B = Base number

n

Exponent o r power t o which t h e base number i s r a i s e d

B i s assumed t o be 2 f o r binary-coded q u a n t i t i e s . I n t h e 60-bit, f l o a t i n g point format ( f i g u r e 5-21, the binary point i s considered t o be t o the r i g h t of
t h e c o e f f i c i e n t . The lower 48 b i t s express the i n t e g e r c o e f f i c i e n t , which i s
t h e equivalent of 15 decimal d i g i t s . The s i g n of t h e c o e f f i c i e n t i s separated
from t h e r e s t of the c o e f f i c i e n t and appears i n t h e highest-order b i t of the
packed word. Negative numbers a r e represented i n one's complement n o t a t i o n .
The exponent i s biased by complementing the exponent s i g n b i t .

CP Programming

rI

COEFFICIENT SIGN
BINARY POINT
,,,AS
INTEGER COEFFICIENT
EXPONENT
A

I

Figure 5-2.

Floating-Point Format

Table 5-1 summarizes the configurations of bits 58 and 59 and the implications
regarding signs of the possible combinations.

Bits 58 and 59 Configurations

Table 5-1.
Bit 59

Bit 58

Coefficient Sign

Exponent Sign

0

1

Positive

Positive

0

0

Positive

Negative

1

0

Negative

Positive

1

1

Negative

Negative

Packing
Packing refers to the conversion of numbers in the form kBn to floating-point
format. A shortcut method of packing exponents can be derived by considering
the representation of -0 and +O exponents. Assuming a positive coefficient, 0
exponents are packed as follows:
+O exponent:

2000x,...,x

-0 exponent:

1777x,...,x

Since positive exponents are expressed in true form, begin with a bias of 2000
(4)aid add the magnitude of the exponent. The range of positive exponents is
0000 through 1777. In packed form, the range is 2000 through 3777.

When the coefficient is negative, the packed positive exponent is complemented
to become 5777 through 4000.

CP Programming

Negative
1777 (-0)
negative
range i s

exponents a r e expressed i n complement form by beginning with a b i a s of
and then s u b t r a c t i n g the magnitude of the exponent.
he range of
exponents i s negative 0000 through negative 1777. I n packed form, the
1777 through 0000.

When the c o e f f i c i e n t i s negative, t h e packed negative exponent i s complemented
t o become 6000 through 7777.
Examples of packed and unpacked floating-point numbers a r e shown i n o c t a l
b a m p l e s ' l and 2 a r e d i f f e r e n t
n o t a t i o n t o i l l u s t r a t e t h e packing process.
forms of t h e i n t e g e r p o s i t i v e 1. Fxample 3 i s p o s i t i v e 100 (decimal), and
example 4 i s negative 100 (decimal). Examples 5 and 6 a r e l a r g e and small
p o s i t i v e numbers. The unpacked values a r e shown as they might appear i n t h e X
and B r e g i s t e r s p r i o r t o a pack operation.
The packed -0 exponent i s not used f o r normal operation.
i n d i c a t e t h e s p e c i a l e r r o r c o n d i t i o n of i n d e f i n i t e .
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format
Unpacked c o e f f i c i e n t
Unpacked exponent
Packed format

I n s t e a d , 1777 i s used

CP Programming

Overflow
Overflow of t h e floating-point range i s i n d i c a t e d by an exponent value of
p o s i t i v e 1777 (3777 o r 4000 i n packed form). This i s t h e l a r g e s t exponent
value t h a t can be represented i n t h e f l o a t i n g - p o i n t format. This exponent
v a l u e may r e s u l t from the calculation i n which t h i s exponent value, t o g e t h e r
with t h e computed c o e f f i c i e n t v a l u e , i s a c o r r e c t r e p r e s e n t a t i o n of t h e
r e s u l t . This s i t u a t i o n i s c a l l e d a p a r t i a l overflow. However, f u r t h e r
computation using t h i s r e s u l t generates an overflow.
A complete overflow occurs whenever a r e s u l t r e q u i r e s a n exponent l a r g e r t h a n

p o s i t i v e 1777. I n t h i s case, a complete overflow value r e s u l t s . This r e s u l t
has a p o s i t i v e 1777 exponent and a zero c o e f f i c i e n t . The s i g n of the
c o e f f i c i e n t i s t h e same a s t h a t which generates i f t h e resu1.t had not
overflowed t h e floating-point range.

Underflow
Underflow of t h e floating-point range i s i n d i c a t e d by an exponent value of
negative 1777 (0000 o r 7777 i n packed form). This i s t h e s m a l l e s t exponent
v a l u e t h a t can be represented i n t h e f l o a t i n g - p o i n t format. This exponent
v a l u e may r e s u l t from t h e c a l c u l a t i o n i n which t h i s exponent v a l u e , t o g e t h e r
with t h e computed c o e f f i c i e n t v a l u e , i s a c o r r e c t r e p r e s e n t a t i o n of t h e
r e s u l t . This s i t u a t i o n is c a l l e d a p a r t i a l underflow. Further computation
using t h i s r e s u l t may be detected a s an underflow.
A complete underflow occurs whenever a r e s u l t r e q u i r e s an exponent smaller than
negative 1777. I n t h i s c a s e , a complete underflow value r e s u l t s . This r e s u l t

has a negative 1777 exponent and a zero c o e f f i c i e n t . The complete underflow
i n d i c a t o r i s a word of a l l O ' s , and i t i s t h e same a s a zero word i n i n t e g e r
format.

Indefinite
An i n d e f i n i t e r e s u l t i n d i c a t o r g e n e r a t e s whenever t h e c a l c u l a t i o n i s

unresolvable. An example i s d i v i s i o n when the d i v i s o r i s 0 and the dividend is
a l s o 0. Another example i s m u l t i p l i c a t i o n of an overflow number times an
underflow number. The i n d e f i n i t e r e s u l t i n d i c a t o r i s a value t h a t cannot occur
i n normal f l o a t i n g - p o i n t c a l c u l a t i o n s . This i n d i c a t o r corresponds t o a -0
exponent and a 0 c o e f f i c i e n t (177770,
,0 i n packed form).

...

Any i n d e f i n i t e i n d i c a t o r used a s an operand generates an i n d e f i n i t e r e s u l t no
matter what the other operand v a l u e is. Although i n d e f i n i t e i n d i c a t o r s always
generate with a p o s i t i v e s i g n , they may occur a s operands with a n e g a t i v e s i g n .

CP Programming

Nonstandard Operands
In summary, the special operand forms in octal are:
Positive overflow (+

)

3777x,...,x

Negative overflow (-

)

4OOOx,

...,x

Positive indefinite (+IND)

1777x,...,x

Negative indefinite (-IND)

6OOOx,

Positive underflow (+0)

OOOOx,...,x

Negative underflow (-0)

7777x,.

...,x

..,x

Tables 5-2 through 5-5 indicate the resulting forms when various combinations
of underflow, overflow, and indefinite forms are used in floating-point
operations. The designations W and N are defined as follows:
W

Any word except

+

co

and

N

Any word except

+

o,

, + IND, and +

Table 5-2.

+

IND
0

Xj Plus Xk (30, 32, 34 Instructions)

IND

IND

IND

CP Programming

Table 5-3.

Xj

-

Table 5-4.

Xj Minus Xk (31, 33, 35 ~nstructions)

03

-

rn

-00

IND

IND

IND

IND

IND

Xj Multiplied by Xk (40, 41, 42 Instructions)

0

0

O

0

Integer

IND

-

co

IND

-ca

+co

IND

IND

IND

IND

IND

IND

IND

+-" I / /

Xj

+

03

-03

IND

IND

+ a

-

IND

IND

IND

IND

IND

IND

IND

?If both operands used in the integer multiply are normalized,
an underflow results.

CP Programming

Table 5-5.

Xj Divided by Xk (44, 45 Instructions)

+O

-o,

0

0

+cr,

- a

0

0

IND

-so

+cr,

0

0

IND

IND

IND

0

0

IND

IND

IND

I-= + a -

-+INDIIND

-

+or

IND
-

IND

IND

IND

IND

IND

IND

Normalized Numbers
A normalized floating-point number has as large a coefficient and as small an
exponent as possible. A floating-point number in packed format is normalized
if the coefficient sign bit is different from bit 47. This condition indicates
that the'coefficient has been left-shifted until bit 47 contains the mostsignificant bit in the coefficient; therefore, the floating-point number has no
leading sign bits in the coefficient. The normalized instructions perform the
coefficient shift. The floating-multiply and floating-divide instructions
deliver normalized results when provided with normalized operands. The
floating-add instructions may deliver unnormalized results even when both
operands are normalized. Therefore, it is necessary to perform the normalize
operation after each sequence of floating-add or floating-subtract operations
if the result is to be kept in a normalized form.

Rounding
Floating-point instructions round the results in single-precision computation.
These instructions execute in the same amount of time as the unrounded
versions. The operands-are modified to accomplish the rounding function. The
amount of bias introduced by the rounding operation varies and is affected by
the coefficient value in the operands. The descriptions of the round
instructions define the effects of rounding in detail.

Double-Precision Results
The floating-point arithmetic instructions generate double-precision results.
Use of unrounded instructions allows separate recovery of upper- and lower-half
results with proper exponents. Rounded instructions allow only upper-half
results to be obtained. Two instructions, one single-precision and one
double-precision, are required to retrieve an entire double-precision result.
60463560 A

CP Programming

To add or subtract two floating-point numbers, the coefficient with the smaller
exponent enters the upper half of an accumulator and is right-shifted by the
difference of the exponents. The other coefficient is then added into the
upper half of the accumulator. The result is a double-length register
(figure 5-3).

BINARY POINT

1
(

UPPER HALF RESULT
MOST SIGNIFICANT BlTS

LOWER HALF RESULT
LEAST SIGNIFICANT BlTS

Figure 5-3. Floating-Add Result Format

If single precision is selected, the upper 48 bits of the 96-bit result and the
larger exponent are returned as the result. Selecting double precision causes
only the lower 48 bits of the 96-bit result and the larger exponent minus 60
(octal) to be returned as the result. The subtraction of 60 (octal) is
necessary because the binary point is effectively moved from the right of bit
48 to the right of bit 0. A 96-bit product generates from two 48-bit
coefficients. The result of a multiply is a double-length register
(figure 5-4).

I

BINARY POINT

1

LOWER HALF RESULT
UPPER HALF RESULT
MOST SIGNIFICANT BlTS LEAST SIGNIFICANT BITS

Figure 5-4.

Multiply Result Format

If single precision is selected, the upper 48 bits of the product and the sum
of the exponents plus 60 (octal) are returned as the result. The addition of
60 (octal) is necessary because the binary point effectively moves from the
right of bit 0 to the right of bit 48 when the upper half of the 96-bit result
is selected. If double precision is selected, the result is the lower 48 bits
of the product and the sum of the exponents.

CP Programming

Fixed-Point Arithmetic
Fixed-point a d d i t i o n and s u b t r a c t i o n of 60-bit numbers a r e handled by the
long-add i n s t r u c t i o n s ( 3 6 and 37). Negative numbers a r e represented i n o n e ' s
complement n o t a t i o n , and overflows a r e ignored. The s i g n b i t i s i n t h e
high-order b i t p o s i t i o n ( b i t 59), and t h e binary p o i n t i s t o t h e r i g h t of t h e
low-order b i t p o s i t i o n ( b i t 0 ) .
The increment i n s t r u c t i o n s (50 through 77) handle fixed-point a d d i t i o n and
s u b t r a c t i o n of 18-bit numbers. Negative numbers a r e represented i n one's
complement n o t a t i o n , and overflows a r e ignored. The sign b i t is i n t h e
high-order b i t p o s i t i o n ( b i t 1 7 ) , and t h e binary point i s t o t h e r i g h t of the
low-order p o s i t i o n ( b i t 0 ) .
I n t e g e r m u l t i p l i c a t i o n i s handled as a subset operation of t h e
floating-multiply (42) i n s t r u c t i o n . The i n t e g e r m u l t i p l y r e q u i r e s ' t h a t both
47-bit i n t e g e r operands have zero exponents and a r e not normalized. The r e s u l t
i s 48 b i t s with s i g n extension. Normalized operands cause underflow r e s u l t s to
be reported. I f t h e r e s u l t s exceed 48 b i t s , overflow i s not d e t e c t e d .
An i n t e g e r d i v i d e t a k e s s e v e r a l s t e p s . For example, an i n t e g e r q u o t i e n t X 1
equal t o ~ 2 / i~s 3produced by the following s t e p s .

Instructions

Remarks

Pack X2 from X2 and BO

Pack X2

Pack X3 from X3 and BO

Pack X3

Normalize X3 i n XO and BO

Normalize X3 ( d i v i s o r )

Normalize X2 i n X2 and BO

Normalize X2 (dividend)

F l o a t i n g q u o t i e n t of X2 and XO t o X i

Divide

Unpack X 1 t o X 1 and B7

Unpack q u o t i e n t

S h i f t X 1 nominally l e f t B7 places

Shift t o integer position

The d i v i d e r e q u i r e s t h a t both i n t e g e r (247 maximum) operands must be i n
floating-point format, and t h e dividend c o e f f i c i e n t must be l e s s than two
times t h e d i v i s o r c o e f f i c i e n t . The normalize X3 i n s t r u c t i o n ensures t h i s
condition.
The normalize X3 i n s t r u c t i o n l e f t - s h i f t s the d i v i s o r n p l a c e s (n)O), providing
a d i v i s o r exponent of negative n.
The q u o t i e n t exponent i s then 0 minus (-n)
minus 48 e q u a l s n minus 48<0.
After unpacking and l e f t - s h i f t i n g nominally, t h e negative ( o r zero) value i n
B7 r i g h t - s h i f t s the q u o t i e n t 48 minus n p l a c e s , producing an i n t e g e r quotient
i n X 1 . A remainder may be obtained by an i n t e g e r multiply of X 1 and X 3 and
s u b t r a c t i n g the r e s u l t from X2.

CP Programming

Integer Arithmetic
I n t e g e r d i v i d e packs the i n t e g e r s i n t o floating-point
i n s t r u c t i o n with a zero-exponent value.

format, using t h e pack

I n i n t e g e r m u l t i p l i c a t i o n , a 48-bit product can be formed by using t h e
double-precision multiply i n s t r u c t i o n . Both operands must have an exponent
The r e s u l t i s
value of +0, and t h e c o e f f i c i e n t s cannot both be normalized.
sign-extended t o 60 b i t s and s e n t t o an X r e g i s t e r .
I n i n t e g e r d i v i s i o n , the d i v i s o r must be normalized, but t h e dividend does n o t
have t o be normalized. The r e s u l t i n g q u o t i e n t must be unpacked and the
c o e f f i c i e n t must be s h i f t e d by t h e amount of the unpacked exponent using the
l e f t - s h i f t (22) i n s t r u c t i o n t o o b t a i n t h e i n t e g e r q u o t i e n t .

Compare/Move Arithmetic
The compare/move a r i t h m e t i c provides multiple-character manipulation. The
c h a r a c t e r s a r e 6 b i t s long. Characters can be moved from one CM l o c a t i o n t o
a n o t h e r , and f i e l d s of c h a r a c t e r s can be compared e i t h e r d i r e c t l y o r through a
collate table.
The moae d i r e c t i n s t r u c t i o n moves- a f i e l d of up t o 127 c h a r a c t e r s from one
l o c a t i o n t o another l o c a t i o n as s p e c i f i e d i n t h e i n s t r u c t i o n . The move
i n d i r e c t i n s t r u c t i o n performs t h e same kind of move, b u t a CM r e f e r e n c e i s used
t o o b t a i n t h e parameters. The move i n d i r e c t i n s t r u c t i o n moves a f i e l d of up t o
8181 c h a r a c t e r s .
The compare c o l l a t e d i n s t r u c t i o n compares two f i e l d s of up t o 127 c h a r a c t e r s .
When two c h a r a c t e r s a r e unequal, t h e c h a r a c t e r s a r e referenced i n a c o l l a t e
t a b l e , and t h e values a r e compared. I f those values a r e unequal, t h e f i e l d
with t h e l a r g e r c h a r a c t e r i s i n d i c a t e d . The compare uncollated i n s t r u c t i o n
compares two f i e l d s of up t o 127 c h a r a c t e r s and i n d i c a t e s the l a r g e r o f t h e
f i r s t c h a r a c t e r p a i r t h a t i s found t o be unequal.

CMU i n s t r u c t i o n s a r e provided f o r c o m p a t i b i l i t y with previous systems.
b e t t e r performance, recompile jobs t o avoid use of CMU i n s t r u c t i o n s .

For

lnstruction Lookahead Purge Control

Instruction Lookahead Purge Control
Prefetching of i n s t r u c t i o n s a t a branch t a r g e t address by i n s t r u c t i o n lookahead
hardware can l e a d t o program f a i l u r e s i f a program modifies i t s own code
dynamically. Under normal c o n d i t i o n s , t h e lookahead r e g i s t e r s a r e purged by
execution of a r e t u r n jump i n s t r u c t i o n (OlO), UEM read i n s t r u c t i o n (0111,
exchange jump i n s t r u c t i o n (0131, o r unconditional branch i n s t r u c t i o n ( 0 2 ) .
Selecting extended purge c o n t r o l extends these conditions. When extended purge
c o n t r o l i s i n e f f e c t , lookahead r e g i s t e r s a r e a l s o purged by execution of any
c o n d i t i o n a l jump i n s t r u c t i o n (03 through 07) o r any CM s t o r e i n s t r u c t i o n (50
through 57 when i equals 6 o r 7 ) . To enable extended purge c o n t r o l , t h e system
s e t s b i t 52 of the f l a g r e g i s t e r i n the CYBER 170 exchange package. When
self-modifying code is present, it may be h e l p f u l t o s e t extended purge
c o n t r o l ; however, the a d d i t i o n a l purging causes a degradation i n execution and
does not cover all cases of code modification.

Purge Control
I f normal purge conditions a r e i n e f f e c t , a s t o r e i n s t r u c t i o n t h a t modifies a
s e q u e n t i a l i n s t r u c t i o n must modify a t l e a s t P p l u s 6 words ahead t o ensure
execution of t h e modified code. I n a d d i t i o n , a s t o r e i n s t r u c t i o n followed by a
branch t o a modified i n s t r u c t i o n executes t h e modified code only i f t h e r e a r e
a t l e a s t 12 executed i n s t r u c t i o n s between t h e s t o r e and t h e modified code.
I f the extended purge o p t i o n i s
next s e q u e n t i a l i n s t r u c t i o n and
i n s t r u c t i o n . Likewtse, a s t o r e
i n s t r u c t i o n always executes t h e

s e l e c t e d , a s t o r e i n s t r u c t i o n can modify t h e
be assured of executing t h e modified
i n s t r u c t i o n followed by a branch t o a m o d i f i e d ,
modified code.

Error Response
When the CP d e t e c t s o r i s informed of an e r r o r , it records the e r r o r .
Depending on the type of e r r o r and t h e e x i t mode s e l e c t i o n b i t s s e t i n t h e EM
r e g i s t e r , the program i n execution may be i n t e r r u p t e d . I f t h e e r r o r i s an
i l l e g a l i n s t r u c t i o n o r an address-range e r r o r on an RNI o r branch, the program
i n t e r r u p t i o n i s unconditional. For o t h e r types of e r r o r s , t h e e x i t mode
s e l e c t i o n b i t s determine whether o r not t h e program i s i n t e r r u p t e d . I f t h e
e x i t mode s e l e c t i o n b i t i s s e t and the corresponding c o n d i t i o n i s d e t e c t e d , the
program i s i n t e r r u p t e d . The e x i t mode s e l e c t i o n b i t s a r e contained i n word N
plus 3 of t h e exchange package. Figure 5-5 shows the format of t h e e x i t
condition r e g i s t e r a t (RAC). Table 5-6 d e s c r i b e s t h e p o s s i b l e c o n t e n t s of the
r e g i s t e r . Tables 5-7 and 5-8 l i s t CP e r r o r responses.
The CP has the following e r r o r conditions:
e r r o r s , and c o n d i t i o n a l software e r r o r s .

i l l e g a l i n s t r u c t i o n s , hardware

Instruction Lookahead Purge Control

59

CONTENT OF P
REGISTER WHEN
ERROR IS DETECTED

--

EXIT
CONDITION

54 53 48 47

P

Figure 5-5.

Table 5-6.
Field

30 29

I

0

ERROR STATUS

Format of Exit Condition Registe-r at (RAC)

Contents of Exit Condition Register at (RAC)
Description

--- - -- --

ec

6-bit exit condition code:
Code

Condition

0°8
018
028
048
208
678

Illegal instruction.
Address-range error (bit 48).
Floating-point infinite (bit 49).
Floating-point indefinite (bit 50).
Processor-detected malfunction.
Hardware malfunction.

P

When an error exit occurs, the content of the P register may not
correspond to the address of the instruction that caused the error
exit. The P register may have been incremented prior to the
execution of the instruction.

ERROR
STATUS

Nonzero information in bits 0 through 29 is error status for customer
engineering and maintenance.

Instruction Lookahead Purge Control

Table 5-7.

Error E x i t s i n CYBER 170 Monitor Mode (MF=l)

Error Response
Error Condition

Exit Mode Selected
-

I l l e g a l i n s t r u c t i o n or 00
instruction.

Exit c o n d i t i o n b i t 48 s e t by
an incremental read w i t h an
a d d r e s s out of range (AOR).

Exit c o n d i t i o n h i t 48 s e t by
m incrementcll m i t e with an
2 d d r e s s out of range (AOR).

E x i t corirlition b i t 48 s z t by
~n R V I o r branch a d d r e s s
o u t ~f rsnge.

Exit Mode Not S e l e c t e d

---

1. The i n s t r u c t i o n i s not executed.

1.

N / A ( e x i t mode i s always

selected).

2.

S t o r e P and e x i t c o n d i t i o n b i t s (00)
a t l o c a t i o n RAC.
P equals address
of i l l e g a l i n s t r u c t i o n .

3.

Interrupt t o executive State.

4.

CP s t o p s i n executive s t a t e .

1.. The X r e g i s t e r is unchanged.

1.

I n h i b i t r e a d , X unchanged

2.

The A r e g i s t e r c o n t a i n s t h e AOR
address.

2.

Continue execution.

3.

S t o r e P and e x i t c o n d i t i o n b i t s (01)
a t l o c a t i o n RAC. P e q u a l s a d d r e s s
of increment i n s t r u c t i o n o r a d d r e s s
of i n s t r u c t i o n following t h e increment.

4.

Interrupt to executive s t a t e .

5.

CP s t o p s i n e x e c u t i v e s t a t e .

1.

Block m i t e o p e r a t i o n ; c o n t e n t of CM
i s unchanged.

1.

I n h i b i t w r i t e , CM unchanged.

2.

Continue execution.

2.

The A r e g i s t e r c o n t a i n s t h e AOR
address.

3.

S t o r e P and e x i t c o n d i t i o n b i t s (01)
a t l o c a t i o n RAG. P e q u a l s a d d r e s s
of i n s t r u c t i o n o r a d d r e s s of
i n s t r u c t i o n following t h e increment.

4.

Interrupt t o executive s t a t e .

5.

CP s t o p s i n executive s t a t e .

1.

I n h i b i t execution.

2.

S t o r e P and e x i t condZtion b i t s
(01) a t l o c a t i o n RAC. P e q u a l s
a d d r e s s of i n s t r u c t i o n r e q u i r e d
by RNI o r address o f branch
destination instruction.

3.

Interrupt t o executive s t a t e .

4.

CP s t o p s i n executive s t a t e .

1. N / A ( e x i t mode i s always
s e l e c t e d r e g a r d l e s s of s t a t u s
of EM r e g i s t e r b i t 4 8 ) .

(Continued)

Instruction Lookahead Purge Control

Table 5-7.

Error E x i t s i n CYBER 170 Monitor Mode (MP1) (Continued)

Error Response
Error Condition

Exit Mode Selected

Exit condition b i t 48 s e t on
CMU i n s t r u c t i o n .

1.

Detected by executive s t a t e during the
execution of compare/move i n s t r u c t i o n .

1.

Detected by executive s t a t e during
t h e execution of compare/move
instruction.

1.

C 1 o r C2 g r e a t e r than 9.

2.

2.

2.

K1 or K2 address out of
range.

Condition 1 omits r e a d i n g l v r i t i n g ;
M i s unchanged.
Condition 2 causes
t h e i n s t r u c t i o n t o go unexecuted.

Condition 1 omits r e a d i n g / w r i t i n g ;
CM i s unchanged. Condition 2 causes
the i n s t r u c t i o n t o go unexecuted.

3.

Store P and e x i t b i t s (01) a t RAC.

3.

Continue with next i n s t r u c t i o n .

4.

CP s t o p s i n executive s t a t e .

1.

Execute i n s t r u c t i o n a s a pass.

1.

Execute i n s t r u c t i o n a s a pass.

2.

Store P and e x i t b i t s (01) a t RAC.

2.

Exit t o next 60-bit word and
continue execution.

3.

I n t e r r u p t t o executive s t a t e .

4.

CP s t o p s i n executive s t a t e .

1.

Execute i n e t r u c t i o n as a pass.

1.

Execute i n s t r u c t i o n a s a pass.

2.

Store P and e x i t condition b i t s (01)
a t RAC. P e q u a l s address of following i n s t r u c t i o n .

2.

Exit t o next parcel and continue
execution.

3.

I n t e r r u p t t o executive s t a t e .

4.

CP s t o p s i n executive s t a t e .

1.

Store P and e x i t condition b i t s (02
f o r i n f i n i t e o r 04 f o r i n d e f i n i t e ) .
P equals address of a r i t h m e t i c
i n s t r u c t i o n o r address of instruct i o n follouing.

1.

Continue execution.

2.

I n t e r r u p t t o executive s t a t e .

3.

CP s t o p s i n executive s t a t e .

1.

I n t e r r u p t t o executive s t a t e .

1.

I n t e r r u p t t o executive s t a t e .

2.

Executive s t a t e s t o r e s P and e x i t
condition b i t s (20) a t RAC.

2.

Executive s t a t e s t o r e s P and
e x i t condition b i t s (20) a t RAC.

3.

CP s t o p s i n executive s t a t e .

3.

CP s t o p s i n executive s t a t e .

Exit condition b i t 48 s e t by
a UEH address range check
f o r i n s t r u c t i o n s 011 and 012.

Exit condition b i t 48 s e t by
a UEM address range check
f o r i n s t r u c t i o n s 014 and 015.

Exit condition b i t 49 s e t by
i n f i n i t e condition, or b i t
50 set by i n d e f i n i t e
condition.

Any hardware p a r i t y e r r o r or
double SECDED e r r o r .

Exit Mode Not Selected

.

Instruction Lookahead Purge Control

Table 5-8.

Error Exits in CYBER 170 Job Mode (MF=O)
Error Response

Error Condition

Exit Mode Selected

Exit Mode Not Selected

Illegal instruction or 00
instruction.

1. The instruction is not executed.

1. N/A (exit mode is always
selected).

2. Store P and exit condition bits (00)
at location RAC. P equals address
of illegal instruction.
3.

Exit condition bit 48 set by
an incremental. read with an
address out of range (AOR).

Exit condition bit 48 set by
an incremental write with an
address out of range (AOR).

Exchange jump to MA and set CYBER
170 MF.

1. The X register is unchanged.

1. Inhibit read, X unchanged.

2. The A register contains the AOR
address.

2.

3.

Store P and exit condition bits
(01) at location RAC. P equals
address of increment instruction
or address of instruction
following the increment.

4.

Exchange jump to MA and set CYBER
170 MF.

1.

Block write operation; content of
CM is unchanged.

2.

The A register contains the AOR
address.

Continue execution.

1. Inhibit write, CM unchanged.

2.

Continue execution.

1.

N/A (exit mode is always
selected regardless of status
of EM register bit 4 8 ) .

3. Store P and exit condition bits
(01) at location RAC. P equals
address of instruction or address
of instruction following the
increment.

Exit condition bit 48 set by
an RNI or branch address
out of range.

4.

Exchange jump to MA and set
CYBER 170 MF..

1.

Inhibit execution.

2. Store P and exit condition bits
(01) at location RAC. P equals
address of instruction required by

RNI or address of branch destination
instruction.

3.

Exchange jump to
CYBER 170 MF.

and set
(Continued)

Instruction Lookahead Purge Control

Table 5-8.

Error E x i t s in CYBER 170 Job Mode (MF'O)

(Continued)

Error Response
.

.
.
.

.

Error Condition

Exit Mode Selected

E x i t Mode Not Selected

Exit c o n d i t i o n b i t 48 s e t on
CMU i n s t r u c t i o n .

1. Detected by executive s t a t e during
the execution of compare/move
instruction.

1. Detected by executive s t a t e
d u r i n g t h e execution of
compare/move i n s t r u c t i o n .

2.

Condition 1 omits r e a d i n g / w r i t i n g ;
CN i s unchanged. Conditon 2 causes
t h e i n s t r u c t i o n t o go unexecuted.

2.

Condition 1 omits reading/
w r i t i n g ; CM i s unchanged.
Condition 2 causes t h e
i n s t r u c t i o n t o go unexecuted.

3.

S t o r e P and e x i t b i t s (01) a t RAC.

3.

Continue with next i n s t r u c t i o n

4.

Exchange jump t o MA and s e t CYBER
170 HF.

1.

Execute i n s t r u c t i o n a s a pass.

S t o r e P and e x i t b i t s (01) a t RAC.
continue execution.
Exchange jump t o MA and s e t CYBER
170 MF.

2.

Exit t o next 60-bit word and

1.

Execute i n s t r u c t i o n a s a pass.

1. Execute i n s t r u c t i o n a s a pass.

2.

Stop CP.

2.

hit t o next parcel and
continue execution.

1.

Continue execution.

1.

C1 o r C2 g r e a t e r t h a n 9 .

2.

K1 o r K2 address out of
range.
I

Exit c o n d i t i o n b i t 48 s e t by
a UEM a d d r e s s range check
for i n s t r u c t i o n s 011 and 012.

1. Execute i n s t r u c t i o n a s a pass.
2.
3.

Exit c o n d i t i o n b i t 48 see by
a UEM a d d r e s s range check
f o r i n s t r u c t i o n s 014 and 015.

S t o r e P and e x i t c o n d i t i o n b i t s (01)
a t l o c a t i o n RAC.
Exchange jump t o MA and s e t CYBER

170 MF.
Exit c o n d i t i o n b i t 49 s e t by
i n f i n i t e condition, or
b i t 50 s e t by i n d e f i n i t e
condition.

Any hardware p a r i t y e r r o r
o r double SECDED e r r o r .

1.

S t o r e P and e x i t c o n d i t i o n b i t s
(02 f o r i n f i n i t e o r 04 f o r
i n d e f i n i t e ) . P equals address of
arithmetic instruction or address
of i n s t r u c t i o n following.

2.

Exchange jump t o MA and s e t CYBER
170 MF.

1.

I n t e r r u p t t o executive s t a t e .

1.

I n t e r r u p t t o executive s t a t e . .

2.

Executive s t a t e s t o r e s P and e x i t
c o n d i t i o n b i t s (20) a t RAC.

2.

Executive s t a t e s t o r e s P and
e x i t c o n d i t i o n b i t s (20) a t
RAC

3.

Exchange jump t o MA and s e t CYBER
170 MF.

.

3,

Exchange jump t o MA and set
CYBER 170 MF.

Instruction Lookahead Purge Control

Illegal Instructions
An instruction is illegal when it has an illegal operating code, an illegal
operating parameter, or when it is positioned so that it begins in one
instruction word and extends into the next instruction word. In the CYBER 170
job mode, illegal instructions cause an exchange to the CYBER 170 monitor
mode. In the CYBER 170 monitor mode, illegal instructions cause a jump to
executive state. The CP stops. CP illegal instructions are:

011, 012, 013, 464, 465, 466, 467 if they do not begin at parcel 0.

011, 012, 014, 015 if the UEM enable flag in the flag register of the CYBER
170 exchange package is clear.
Any 30-bit instruction that begins at parcel 3.

Instruction Lookahead Purge Control

Hardware Errors
CP/CM hardware e r r o r s a r e : d a t a p a r i t y e r r o r s , a d d r e s s p a r i t y errors, and
double-bit e r r o r s . If t h e CP i s i n CYBER 170 job mode, a hardware e r r o r c a u s e s
a jump t o e x e c u t i v e s t a t e , which r e t u r n s t o CYBER 170 monitor mode. If t h e CP
i s i n CYBER 170 monitor mode, a hardware e r r o r causes a jump t o e x e c u t i v e
s t a t e . The CP h a l t s . The i n s t r u c t i o n being executed when such a f a u l t i s
d e t e c t e d i s n o t n e c e s s a r i l y connected with t h e f a u l t .

Conditional Software Errors
C o n d i t i o n a l software e r r o r s a r e caused by address-range e r r o r s and f l o a t i n g p o i n t i n f i n i t e l i n d e f i n i t e operands o r r e s u l t s . A c o n d i t i o n a l software e r r o r
causes a c t i o n , depending on b i t s s e t i n t h e EM f i e l d i n t h e c u r r e n t CYBER 170
exchange package. If t h e b i t reserved f o r use with t h e s p e c i f i c type of e r r o r
i s c l e a r , t h e e r r o r i s ignored i n both CYBER 170 job and CYBER 170 monitor
modes.
If t h e b i t i s s e t and t h e e r r o r occurs i n t h e CYBER 170 job mode, i t
causes an exchange t o t h e CYBER 170 monitor mode.

I f t h e b i t i s s e t and t h e e r r o r occurs i n t h e CYBER 170 monitor mode, i t c a u s e s
an i n t e r r u p t t o e x e c u t i v e s t a t e .

Memory Programming

Memory Programming
A l l r e f e r e n c e s t o CM by t h e CP f o r i n s t r u c t i o n s o r r e a d / w r i t e d a t a a r e made
r e l a t i v e t o RAC.
The RAC d e f i n e s t h e lower l i m i t of the a d d r e s s e s of a program
The upper l i m i t of t h e program a d d r e s s e s i s d e f i n e d by FLC added t o RAC.
i n CM.
A l l r e f e r e n c e s t o UEM by t h e CP f o r i n s t r u c t i o n s o r r e a d / w r i t e d a t a a r e made
r e l a t i v e t o RAE. The RAE d e f i n e s t h e lower l i m i t of t h e a d d r e s s e s of a
program/data i n UEM. The upper l i m i t of t h e a d d r e s s e s i s d e f i n e d by FLE added
t o RAE.

The f i e l d l e n g t h i s a number of 60-bit words e s t a b l i s h e d by t h e o p e r a t i n g
system p r i o r t o program e x e c u t i o n . A l l r e f e r e n c e s t o CM o r UEM f o r a
programldata must be w i t h i n t h e f i e l d e s t a b l i s h e d f o r t h a t program.
h r i n g a CYBER 170 exchange jump, RAC and FLC a r e loaded i n t o r e s p e c t i v e
r e g i s t e r s t o d e f i n e t h e CM l i m i t s of t h e program t h a t i s i n i t i a t e d by t h e CYBER
170 exchange jump.
RAE and FLE a r e loaded t o d e f i n e t h e UEM l i m i t s of a
program.
Figure 5-6 shows t h e a b s o l u t e and r e l a t i v e memory a d d r e s s e s , RAC, FLC, RAE, and
FLE r e g i s t e r r e l a t i o n s h i p s .
For a program t o o p e r a t e w i t h i n t h e e s t a b l i s h e d
l i m i t s , t h e f o l l o w i n g c o n d i t i o n s must e x i s t .
For a b s o l u t e memory a d d r e s s e s :
RAC

-< (RAC + P)

<

(RAC

+ FLC)

For r e l a t i v e memory a d d r e s s e s :

0

-< P <

FLC

Memory Programming

CENTRAL
JlEMORY
YBER 17a
MNITOR

BSOLUT
iDDRES5

JOB A

--- 1

RAC+O

I

PROGRAM'S
CENTRAL MEMORY

ccy

JOB B

IAC+F LC

ZzZ
JOB C

RAE+O

m

I

I
JOB'S
PORTION
OF
UEM

IAEtFLE
EXECUTIVE
STATE

I
I
PROGRAM'S
UEM

I

I
I
I
I

Memory Programming

Addressing Modes
UEM can be used i n e i t h e r of two a d d r e s s i n g modes:

standard or
Standard a d d r e s s i n g mode provides a d d r e s s i n g up t o 2 1 b i t s i n a
Expanded a d d r e s s i n g mode provides a d d r e s s i n g up t o 24 b i t s i n a
Addressing mode i s determined by t h e expanded a d d r e s s i n g s e l e c t
word 3 , i n t h e CYBER 170 exchange package.

expanded.
24-bit f o r m a t .
30-bit format.
f l a g , b i t 55 of

Direct Read/Write lnstructions (014,015,660,670)
These i n s t r u c t i o n s t r a n s f e r one 60-bit word between t h e s e l e c t e d X r e g i s t e r and
a memory l o c a t i o n , u s i n g a 21-bit r e l a t i v e a d d r e s s . I n s t r u c t i o n s 660 and 670
use t h e memory a d d r e s s Xk ( 2 1 b i t s ) p l u s RAC ( 2 1 b i t s ) t o a d d r e s s CM.
I n s t r u c t i o n s 014 and 015 u s e t h e memory a d d r e s s Xk ( 2 1 b i t s ) p l u s RAE ( 2 1 b i t s )
t o a d d r e s s UEM.

Block Copy lnstructions (011,012)
These i n s t r u c t i o n s t r a n s f e r up t o 1 3 1 071 60-bit words between f i e l d s i n CM and
The UEM a d d r e s s i s XO p l u s RAE ( b i t s 0 through 22 i n s t a n d a r d a d d r e s s i n g
mode; b i t s 0 through 28 i n expanded a d d r e s s i n g mode). The CM a d d r e s s i s A0
p l u s RAC ( i f t h e block copy f l a g i s c l e a r i n t h e CYBER 170 exchange package) o r
XO ( b i t s 30 through 50) p l u s RAC ( i f t h e block copy f l a g i s s e t ) .

UEM.

The t r a n s f e r s occur i n blocks of up t o 64 words, d u r i n g which o t h e r CP
a c t i v i t i e s a r e suspended.
These i n s t r u c t i o n s a r e 30-bit i n s t r u c t i o n s t h a t must s t a r t a t p a r c e l 0. I f t h e
UEM a d d r e s s h a s b i t 21 o r b i t 22 s e t i n s t a n d a r d a d d r e s s i n g mode ( b i t 28 i f i n
expanded a d d r e s s i n g mode), 0 ' s a r e t r a n s f e r r e d t o CM and t h e n e x t i n s t r u c t i o n
i s t a k e n from p a r c e l 2 of t h e same i n s t r u c t i o n word. If t h i s i s n o t t h e c a s e
on a block r e a d , t h e n e x t i n s t r u c t i o n i s t a k e n from p a r c e l 0 of t h e next
i n s t r u c t i o n word. A t r a n s f e r of a l l 0 ' s can be made t o c e n t r a l memory u s i n g
t h e 011 i n s t r u c t i o n and s e t t i n g b i t 2 1 o r 22 ( o r b i t 28) of t h e a d d r e s s
(XO + RAE) when FLE i s s u f f i c i e n t l y l a r g e .

PP Programming

PP Programming
One 64-bit word o r a block of
The PPs have a c c e s s t o a l l CM s t o r a g e l o c a t i o n s .
64-bit words can be t r a n s f e r r e d from a p e r i p h e r a l processor memory (PPM) t o CM
(Five 12-bit PP words e q u a l one 64-bit CM word, with t h e
o r from CM t o PPM.
l e f t m o s t 4 b i t s undefined.)
Data from e x t e r n a l d e v i c e s i s read i n t o a PPM, and
with a d d i t i o n a l i n s t r u c t i o n s , i s t r a n s f e r r e d t o CM.
Conversely, d a t a i s
t r a n s f e r r e d from CM t o a PPM and is then t r a n s f e r r e d by a d d i t i o n a l i n s t r u c t i o n s
t o e x t e r n a l devices. Addresses s e n t t o CM from PPs a r e a b s o l u t e o r r e l o c a t i o n
addresses.

Central Memory Addressing by PPs
PPs a d d r e s s c e n t r a l memory using e i t h e r a b s o l u t e o r r e l o c a t i o n a d d r e s s i n g .
Every PP can read a l l c e n t r a l memory l o c a t i o n s without r e s t r i c t i o n . Every PP
has w r i t e a c c e s s t o c e n t r a l memory. The bounds r e g i s t e r i n c e n t r a l memory nay
a l s o be s e t t o l i m i t w r i t e a c c e s s from t h e I O U .
I n s t r u c t i o n s 24/25 l o a d / s t o r e t h e r e l o c a t i o n (R) r e g i s t e r .
I f b i t 17 of t h e A
r e g i s t e r i s 0, b i t s 0 through 1 6 of A s p e c i f y an a b s o l u t e c e n t r a l memory
a d d r e s s 0 through 377 777
I f b i t 17 of A i s 1, b i t s 0 through 16 of A a r e
added t o t h e 28-bit R r e g a s t e r t o s p e c i f y an a b s o l u t e c e n t r a l memory a d d r e s s 0
through 0 007 777 7778. I f b i t 17 of A changes d u r i n g a t r a n s f e r , t h e a d d r e s s i n g mode a l s o changes accordingly. The l e f t m o s t 7 b i t s of R r e p r e s e n t unused
e x t r a addressing c a p a c i t y . The rightmost 6 b i t s of R a r e appended 0 ' s .
I n s t r u c t i o n 24 l o a d s R from two consecutive PP memory l o c a t i o n s . I n s t r u c t i o n
25 s t o r e s R i n t o two PP memory l o c a t i o n s . Figure 4-4 shows how R i s s t o r e d i n
PP memory.

.

PP Memory Addressing by PPs
PP i n s t r u c t i o n s use 6-bit o r 18-bit d i r e c t operands o r a c c e s s PP memory through
d i r e c t , i n d i r e c t , o r indexed a d d r e s s i n g .

Direct 6-Bit Operand
PP i n s t r u c t i o n s i n t h i s category a r e no-address i n s t r u c t i o n s . They have t h e
format OPCODEd. The d f i e l d i s used a s a 6-bit d i r e c t operand, zero-extended
t o 18 b i t s i n c a l c u l a t i o n s .

Direct 18-Bit Operand
PP i n s t r u c t i o n s i n t h i s category a r e c o n s t a n t a d d r e s s i n s t r u c t i o n s . They have
t h e format OPCODEdm. The combined d and m f i e l d s a r e used a s an 18-bit operand.

PP Programming

Direct 6-Bit Address
PP i n s t r u c t i o n s i n t h i s category a r e d i r e c t - a d d r e s s i n s t r u c t i o n s . They have
t h e format OPCODEd. The d f i e l d i s used as a 6-bit d i r e c t a d d r e s s , a c c e s s i n g
PP memory l o c a t i o n s 0 t o 778.

Direct 12-Bit Address
PP i n s t r u c t i o n s i n t h i s category a r e indexed d i r e c t - a d d r e s s i n s t r u c t i o n s with
zero index. They have t h e format OPCODEdm where d e q u a l s 0. The m f i e l d is
used a s a 12-bit d i r e c t address t h a t a c c e s s e s PP memory l o c a t i o n s 0 through

77778.

Indexed 12-Bit Address
PP i n s t r u c t i o n s I n t h i s category a r e indexed d i r e c t - a d d r e s s i n s t r u c t i o n s .
They
have t h e format OPCODEdm where d e q u a l s 0. The m f i e l d i s used a s a 12-bit
d i r e c t a d d r e s s (base a d d r e s s ) . The d f i e l d s p e c i f i e s a PP memory l o c a t i o n from
1 t o 77 , the c o n t e n t s of which i s a 12-bit one's complement number index.
The indgxed d i r e c t a d d r e s s is formed by adding t h e index t o t h e base a d d r e s s a s
signed one's complement numbers. Overflow i s ignored. When m p l u s ( d ) e q u a l s
7777, t h e r e s u l t i s s e t t o 0000, except as follows: adding 7777 p l u s 7777
e q u a l s 7777. I n g e n e r a l , adding 0000 o r 7777 l e a v e s t h e o t h e r number
unchanged, except when t h e o t h e r number i s a l s o 0000 o r 7777.

Indirect 6-Bit Address
PP i n s t r u c t i o n s i n t h i s category a r e i n d i r e c t - a d d r e s s i n s t r u c t i o n s . They have
t h e format OPCODEd. The 6-bit d f i e l d i s used t o read a 12-bit number from PP
l o c a t i o n s 0 through 77
This number i s used a s a 12-bit a d d r e s s t o a c c e s s
PP memory l o c a t i o n s 0 fhrough 77778.

.

PP Programming

Central Memory Read/Write lnstructions
PP instructions can read and write to central memory either single words or
blocks of words.

PP Central Memory Read lnstructions (60, 61)

-

Instruction 60 transfers one CM word into five 12-bit PP memory words.
Instruction 61 transfers a block of 1 through 811 CM words into 5 through 4095
12-bit PP words. It is possible to transfer up to 4096 CM words overwriting PP
memory cyclically; location 0, however, has special properties. The Central
Read description in chapter 4 has more information on instruction 61.

PP Central Memory Write lnstructions (62, 63)
Instruction 62 transfers five 12-bit PP memory words into 1 CM word.
Instruction 63 transfers 5 through 4095 PP memory words into 1 through 811 CM
words. It is possible to transfer up to 20 480 PP memory words, repeating
information from PP memory cyclically.

PP Programming

Input/Output Channel Communications
Data t r a n s f e r s t o and from e x t e r n a l d e v i c e s a r e c o n t r o l l e d by PP i n s t r u c t i o n s
64 through 77. The assignment of PPs, t r a n s f e r p r i o r i t i e s , and r e s o l u t i o n of
c o n f l i c t s a r e software r e s p o n s i b i l i t i e s .
Channel p a r i t y and r e s e r v a t i o n must be provided f o r , using t h e channel marker
f l a g a n d l o r software i n t e r l o c k s i n c e n t r a l memory. A f t e r any c o n f l i c t s have
been r e s o l v e d , proceed a s fbllows:
Action

Typical I n s t r u c t i o n

1. Clear t h e e r r o r f l a g .

Jump i f t h e e r r o r f l a g i s s e t ,
and c l e a r t h e f l a g (661).

2.

Verify i n a c t i v e s t a t u s .

Jump i f a c t i v e (640).

3.

Verify read s t a t u s :
Prepare f o r reading t h e summary s t a t u s .

Function m (771.

Verify t h a t t h e device responded.

Jump i f a c t i v e ( 6 4 0 ) .

A c t i v a t e t h e channel.

Activate (74).

Read t h e summary s t a t u s .

Input t o A ( 7 0 ) .

Verify t h e e r r o r f l a g i s c l e a r .

Jump i f t h e e r r o r f l a g i s s e t
(661).

Analyze t h e summary s t a t u s .

Logical product ( 1 2 ) .
(04).

4.

Enter t h e number of words t o A.

Load d ( 1 4 ) .

5.

Prepare f o r i n p u t l o u t p u t :
Verify i n a c t i v e s t a t u s .

Jump i f a c t i v e (640).

Prepare f o r r e a d / w r i t e .

Function m ( 7 7 ) .

Verify t h a t t h e device responded.

Jump i f a c t i v e (640).

Zero jump

PP Programming

Act i o n
6.

7.

Typical I n s t r u c t i o n

Read/write d a t a :
A c t i v a t e t h e channel.

Activate (74).

R e a d h r i t e data.

~ n p u t / o u t p u tA words ( 7 1 / 7 3 ) .

I f w r i t e , loop u n t i l empty.

Jump i f f u l l (660).

Disconnect t h e channel.

Deactivate ( 7 5 ) .

Verify i n a c t i v e s t a t u s .

Jump i f a c t i v e (640).

Verify t r a n s f e r i n t e g r i t y :
Verify A words were t r a n s f e r r e d
( r e f e r t o note).

Nonzero jump (05).

Verify t h e e r r o r f l a g i s c l e a r .

Jump i f e r r o r f l a g s e t ( 6 6 1 ) .

Verify i n a c t i v e s t a t u s .

Jump i f a c t i v e (640).

Prepare f o r reading device s t a t u s .

Function m ( 7 7 ) .

V e r i f y t h a t t h e device responded.

Jump i f a c t i v e ( 6 4 0 ) .

A c t i v a t e t h e channel.

A c t i v a t e (74).

Read t h e device s t a t u s .

Input t o A ( 7 0 ) .

Verify t h e e r r o r f l a g i s c l e a r .

Jump i f e r r o r f l a g s e t (661).

Analyze device s t a t u s .

Logical product (12).
jump (051.

Disconnect t h e channel.

Deactivate ( 7 5 ) .

NOTES
I f A e q u a l s t h e o r i g i n a l v a l u e , no words were
transferred.
I f A i s n o t e q u a l t o 0 , t h e device o r a n o t h e r
PP ended t h e t r a n s f e r .

Nonzero

PP Programming

Inter-PP Communications
Any PP can communicate with any other PP using any channel (except the
real-time clock) by omitting the conditioning of the external devices of that
channel for a data transfer. Both single-word and block transfers can be
used. Either the sending or the receiving PP can activate the channel used,
after which the sending PP outputs data into the.channel register of the
channel concerned and the receiving PP inputs data from the same register. The
transfer rate is 1 word every 250 us, except when the transfer is between PPs
in different barrels but in the same time slot. In such a case, the transfer
rate is 1 word every 500 ns. PPs that use the same time slots are as follows:
Slot

PP Number

1
2

0,
1,
2,
3,

3
4
5

5, 20, 25
6, 21, 26
7, 22, 27
10, 23, 30
4, ll, 24, 31

Software resolves priority and reservation problems arising in inter-PP
communications by interlocks stored in CM or by other means.

PP Program Timing Considerations
Some external equipment may require timing considerations in issuing function,
activate, and input instructions. Refer to the applicable external equipment
reference manual. Such timing considerations may, for example, be required to
ensure that the equipment attains a proper speed before data is sent (required
by some magnetic tape equipment). Also, equipment that terminates a data
transfer by resetting the active flag to inactive often requires timing
considerations in issuing the next function instruction.

Channel Operation

Channel Control Flags
Channel operation is affected by the channel active/inactive and full/empty
flags and, depending on the status of these two flags, the channel is said to
be active, inactive, full, or empty. Each channel also has a marker flag for
software use and an error flag for indicating transmission parity errors.

PP Programming

Channel Active/lnactive Flag
A channel i s normally a c t i v a t e d by a f u n c t i o n ( 7 6 o r 7 7 ) i n s t r u c t i o n o r by a n
a c t i v a t e channel ( 7 4 ) i n s t r u c t i o n . An e x t e r n a l device can a l s o a c t i v a t e the

channel.

.

A f u n c t i o n i n s t r u c t i o n conditions t h e external. device f o r a coming d a t a o r

s t a t u s information t r a n s f e r . The i n s t r u c t i o n p l a c e s a 12-bit function word
plus p a r i t y i n the channel r e g i s t e r and s e t s t h e a c t i v e and f u l l f l a g s . The
f u n c t i o n word and a f u n c t i o n s i g n a l a r e s e n t t o t h e e x t e r n a l device. No a c t i v e
o r f u l l s i g n a l s a r e s e n t during a f u n c t i o n i n s t r u c t i o n . The e x t e r n a l device
a c c e p t s t h e f u n c t i o n word and sends an i n a c t i v e s i g n a l , which c l e a r s t h e
channel a c t i v e and f u l l f l a g s , c l e a r i n g the channel r e g i s t e r .
An a c t i v a t e channel i n s t r u c t i o n prepares a channel f o r d a t a t r a n s f e r and sends

an a c t i v e s i g n a l t o the e x t e r n a l device. Subsequent i n p u t o r output
i n s t r u c t i o n s t r a n s f e r data. A disconnect channel (75) i n s t r u c t i o n a f t e r a d a t a
t r a n s f e r r e t u r n s t h e channel t o an i n a c t i v e s t a t e , and an i n a c t i v e s i g n a l i s
s e n t t o the e x t e r n a l device.

Register FulVEmpty Flag
A r e g i s t e r i s f u l l when it contains a f u n c t i o n o r d a t a word f o r an e x t e r n a l
device o r c o n t a i n s a ward received from t h e e x t e r n a l device. The r e g i s t e r i s
empty when t h e f l a g c l e a r s . The f l a g i s turned on o r o f f a s t h e r e g i s t e r
changes s t a t e . A channel can only be f u l l when i t i s a c t i v e .

,

On d a t a o u t p u t , t h e processor places a word i n t h e channel r e g i s t e r ( t h e
channel should be a c t i v e and empty) and s e t s a f u l l f l a g . The d a t a word plus
p a r i t y and a £ 3 1 s i g n a l a r e s e n t t o t h e e x t e r n a l device. The e x t e r n a l device
a c c e p t s the word and sends an empty s i g n a l t o t h e channel, which c l e a r s t h e
f u l l f l a g , c l e a r i n g the channel r e g i s t e r . The a c t i v e and empty s t a t u s of the
channel s i g n a l s the PP t o send t h e next word t o t h e r e g i s t e r .
On d a t a i n p u t , the e x t e r n a l device sends a word and a f u l l s i g n a l t o the d a t a
channel. The word i s placed i n t h e channel r e g i s t e r , and the f u l l f l a g s e t s .
The PP s t o r e s the word and c l e a r s t h e f u l l f l a g , c l e a r i n g t h e d a t a r e g i s t e r .
An empty s i g n a l i s s e n t t o t h e e x t e r n a l device, s i g n a l i n g i t t o send t h e next
d a t a word.

PP Programming

Channel (Marker) Flag lnstructions (641, 651)

.

Software uses t h i s f l a g software a s a marker. This f l a g does not a f f e c t
hardware operation. When PPs i n t h e same time s l o t use t h i s f l a g , p r i o r i t y
c o n f l i c t s e x i s t . For channel
(maintenance channel) marker f l a g , hardware
r e s o l v e s p r i o r i t y problems. For o t h e r channels, software must r e s o l v e such
c o n f l i c t s . Any f i v e consecutively numbered PPs a r e not i n t h e same time s l o t .

Error Flag lnstructions (661, 671)
This f l a g i n d i c a t e s an i n p u t d a t a p a r i t y e r r o r on t h e s p e c i f i c channel being
t e s t e d . The f l a g a l s o i n d i c a t e s an output d a t a p a r i t y e r r o r on channels t h a t
have t h e c a p a b i l i t y of sending an e r r o r s i g n a l t o t h e I O U i n c a s e o f such an
e r r o r . The s t a t u s r e g i s t e r of t h e device concerned must be read t o v e r i f y
output d a t a i n t e g r i t y .

Channel Transfer Timing
Figure 5-7 shows channel t r a n s f e r timing. A l l s i g n a l p u l s e s a r e 25 +5 n s i n width and occur 25 2 5 n s following t h e 10-MHz clock.
To maintain t h e f a s t e s t p o s s i b l e c y c l e time (500 u s ) , a f u n c t i o n / f u l l / e m p t y
pulse from t h e PP must be answered w i t h a n i n a c t i v e / e m p t y / f u l l p u l s e ,
r e s p e c t i v e l y , w i t h i n 310 235 ns. I f t h e maximum speed i s n o t r e q u i r e d , t h i s
response time may be increased by m u l t i p l e s of 100 ns.
The PP master clock frequency can be v a r i e d by 2 2 percent.
devices used must t o l e r a t e t h i s ' frequency v a r i a t i o n .

The p e r i p h e r a l

PP Programming

10 MHz CLOCK
TRANSMITTED
ON CHANNEL

,-

-d

MASTER CLEAR
TRANSMITTED
ON CHANNEL

p
I

7

-25t5nsa

u

u
25 ns
y25+5ns0

U

I

I

I

u

1

I

I

u

SENT BY
EXTERNAL DEVICE
RECEIVED AT PP

1

r

,

I

s
I

I

I

I

I

I I

135 ns

4

w-

-4

135 ns
CABLE DELAY
ICABLE DELAY
(APPROX.)
I (APPROX.)
I
EXTERNAL DEVICE
I
RESPONSE TIME

1

vr

I

7
7
-

TRANSMllTED
FUNCTION ON CHANNEL

INACTIVE
EMPTY
FULL

8

--

I

I

'

NOTES:

@

ALL TRANSMISSION PULSE WIDTHS (INCLUDING DATA. FULL, EMPTY, ETC.) ARE 25: 5 ns

2

O
O

TO AVOID LOST DATA, ALL INPUTS FROM THE CHANNEL TO THE PP MUST ARRIVE WITHIN
THE IO ns. INPUTS MAY BE EARLIER OR LATER BY IOO ns MULTIPLES

3

TOTAL TURNAROUND TIME BETWEEN FUNCTION AND INACTIVE IS MEASURED AT PP.
T H 6 T l M E VARIES DUE TO EXTERNAL DEVICE RESPONSE TIME BUT MUST BE WITHIN
310 35 nr TO MAINTAIN THE 5 W ns CYCLE TIME.

+

.

F l g u r e 5-7.

Channel Transfer Timing

u

Idr

PP Programming

Input/Output Transfers
The following paragraphs d i s c u s s input/output t r a n s f e r s with t h e PP.

Data Input Sequence
The e x t e r n a l device sends d a t a ( f i g u r e 5-8) t o the PP v i a t h e c o n t r o l l e r a s
follows :
The PP p l a c e s a function word i n t h e channel r e g i s t e r and s e t s t h e f u l l
f l a g and t h e channel a c t i v e f l a g . A t t h e same time, t h e PP sends t h e f i r s t
of a group of words and f u n c t i o n s i g n a l s t o a l l c o n t r o l l e r s . The f u n c t i o n
s i g n a l s cause a l l c o n t r o l l e r s t o sample the words and i d e n t i f y t h e words a s
f u n c t i o n codes r a t h e r than d a t a words. Connect codes s e l e c t c o n t r o l l e r s
and modes of operation and c l e a r nonselected c o n t r o l l e r s . Only s e l e c t e d
c o n t r o l l e r s a r e connected.
The c o n t r o l l e r sends an i n a c t i v e s i g n a l t o the PP, i n d i c a t i n g acceptance of
t h e f u n c t i o n code. The s i g n a l drops t h e channel a c t i v e f l a g , which i n
t u r n , drops t h e f u l l f l a g and c l e a r s t h e channel r e g i s t e r .
The PP s e t s t h e channel a c t i v e f l a g and sends a n a c t i v e s i g n a l t o the
c o n t r o l l e r , which s i g n a l s the i n p u t equipment t o s t a r t sending d a t a .
The i n p u t equipment reads a 12-bit d a t a word p l u s 1 p a r i t y b i t and then
sends the word with p a r i t y t o t h e channel r e g i s t e r with a f u l l s i g n a l ,
which s e t s t h e channel f u l l f l a g (10 t o 1 5 nanoseconds a f t e r the data
arrives).
The PP s t o r e s the word, drops t h e f u l l f l a g , and r e t u r n s an empty s i g n a l ,
i n d i c a t i n g acceptance of t h e word. The i n p u t equipment c l e a r s i t s d a t a
r e g i s t e r and prepares t o send t h e next word.
Steps 4 and 5 repeat f o r each word t r a n s f e r r e d .
A t t h e end of the t r a n s f e r , t h e c o n t r o l l e r c l e a r s i t s a c t i v e condition and

sends an i n a c t i v e s i g n a l t o t h e PP t o i n d i c a t e t h e end of t h e d a t a . The
s i g n a l c l e a r s the channel a c t i v e f l a g t o disconnect t h e c o n t r o l l e r and the
PP from t h e channel.
As an a l t e r n a t i v e , t h e PP may choose t o d i s c o ~ e c tfrom t h e channel before
t h e i n p u t equipment has s e n t a l l i t s d a t a . The PP does t h i s by dropping
t h e a c t i v e f l a g and sending an i n a c t i v e s i g n a l t o t h e c o n t r o l l e r , which
immediately c l e a r s i t s a c t i v e c o n d i t i o n and sends no more d a t a , although
the input equipment may continue t o the end of i t s record o r cycle ( f o r
example, a magnetic tape u n i t would continue t o end-of-record and s t o p i n
the record gap).

PP Programming

S B L

I

ORIGIN

Pf'

FUNCTION

,

I

,

I

I

'

I

I

I

I

I

j

I

,

I

,,

I

I

I

I

/

I

I

I

I

6

I

I

8
I

PP INSTRUCTIONS
76 AND 77

PP INSTRUCTION
74

ACTIVE

PP

I

'

:;DATA:

;

I

DATA;

;

I

I

I

I

I

I

12-BIT WORD ED
+ 1 BIT PARITY
I

FULL

ED

EMPTY

PP

INACTIVE

ED

INACTIVE
(ALTERNATE)

PP

REPEATS FOR EACH WORD

t

PP INSTRUCTIONS
70 AND 71

DISCONNECT (END OF DATA)

PP INSTRUCTION
75

NOTES:

O
1

TlME I S A FUNCTION OF EXTERNAL DEVICE (ED). PP RECOGNIZES INACTIVE 1 MAJOR
CYCLE (OR A MULTIPLE OF MAJOR CYCLES) AFTER FUNCTION. THE PP MUST PREVIOUSLY
RECEIVE INACTIVE.

O

TlME IS A FUNCTION OF PERIPHERAL PROCESSOR IPP). MINIMUM TlME IS 1 MINOR CYCLE.
ACTUAL TIME IS A FUNCTION OF THE W PROGRAM.

@

TlME IS A FUNCTION OF ED.

2

'
4

TlME IS A FUNCTION OF PP. MINIMUM TlME IS 1 MINOR CYCLE. MAXIMUM TlME IS UP
TO I MINOR CYCLES TO ALLOW OPERATION WITHIN 1 MAJOR CYCLE.

O

TlME IS A FUNCTION OF PP. MINIMUM TlME IS 2 MAJOR CYCLES. MAXIMUM TlME IS
AN INTEGRAL MULTIPLE OF MAJOR CYCLES.

@

TlME IS A FUNCTION OF ED.

5

7. MAJOR CYCLE TIME IS 250 NS.
8.

O
O
9

10

@

@
@

MINOR CYCLE IS W NS.
TlME IS A FUNCTION OF ED. FULL SHOULD PROCEED THE DATA BY A MINIMUM OF 5 NS
I15 NS MAXIMUM) TO REMOVE THE CLEAR ON THE INPUT DATA RECEIVERS.
PP MAY DISCONNECT AFTER EMPTY SIGNAL OF ANY ED WORD. STATUS REQUEST
DISCONNECTS I N THIS MANNER.
CHANNEL MUST BE PREVIOUSLY INACTIVE.
CHANNEL REMAINS ACTIVE UNTl L ED SENDS INACTIVE.
CHANNEL MUST BE PREVIOUSLY INACTIVE.

Figure 5-8.

Data Input Sequence Timing

PP Programming

Data Output Sequence
The PP send

. a t a ( f i g u r e 5-91 t o the e x t e r n a l device as follows.

The PP p l a c e s a f u n c t i o n word i n t h e channel r e g i s t e r and s e t s the f u l l
f l a g and t h e channel a c t i v e f l a g . The function s i g n a l causes a l l
c o n t r o l l e r s t o sample t h e word and i d e n t i f y t h e word as a f u n c t i o n code
r a t h e r t h a n a d a t a word. Connect codes s e l e c t c o n t r o l l e r s and modes of
operation and c l e a r nonselected c o n t r o l l e r s . Only s e l e c t e d c o n t r o l l e r s a r e
connected.
The c o n t r o l l e r s e n d s , a n i n a c t i v e s i g n a l t o t h e PP, i n d i c a t i n g acceptance of
the f u n c t i o n code. The s i g n a l drops t h e channel a c t i v e f l a g , which i n
t u r n , drops the f u l l f l a g and c l e a r s the channel r e g i s t e r .
The PP s e t s the channel a c t i v e f l a g and sends a n a c t i v e s i g n a l t o t h e
c o n t r o l l e r , which s i g n a l s the output equipment t h a t d a t a flow i s s t a r t i n g .
The PP p l a c e s a 12-bit d a t a word p l u s 1 p a r i t y b i t i n t h e channel r e g i s t e r
and s e t s t h e f u l l f l a g . Coincidently, t h e PP sends a word w i t h p a r i t y and
a f u l l s i g n a l t o the c o n t r o l l e r .
The c o n t r o l l e r a c c e p t s t h e word and sends an empty s i g n a l t o t h e PP where
t h e s i g n a l c l e a r s t h e channel r e g i s t e r and drops t h e f u l l f l a g .
Steps 4 and 5 r e p e a t f o r each PP word.
A f t e r t h e l a s t word is t r a n s f e r r e d and acknowledged by t h e c o n t r o l l e r empty
s i g n a l , t h e PP drops t h e channel a c t i v e f l a g and t u r n s off t h e c o n t r o l l e r
with an i n a c t i v e s i g n a l .

PP Programming

1

ACTIVE

I
I
I

INSTRUCTIONS
76 A N D 7 7

PP
INSTRUCTION
74

SIGNAL

-

ORIGIN

( FUNCTION

PP

I

n
PP

( INACTIVE

ED

ACTIVE

PP

I

13-BIT
WORD

I

~

C

T

I
I

I

I
I

I
I

I

I

I

I
I

I
I
I
I

O COM
N

I

i l l

I

I

k;
I

I

PP

I

PP

( EMPTY

t
w
I

I
I
I
I

I
I

I

I
I
I

I

I

I

I
I

I

I

I

I

I

I

I

I

I

I

I

I

I

I
I

I

I

I

I

@

*

I
I

I

I

J

I

I

I
I

I

I

I

l

I
I

I

I
I
I
I

I

:I
(

REPEATS
FOR EACH

ED

PP
INSTRUCTION
75

INACTIVE

PP
NOTES:

a

TlME IS A FUNCTION OF EXTERNAL DEVICE (ED]. PP RECOGNIZES INACTIVE 1 MAJOR
CYCLE (OR A MULTIPLE OF MAJOR CYCLES) AFTER FUNCTION. THE PP MUST PREVIOUSLY
RECEIVE INACTIVE.

@

TlME IS A FUNCTION OF PERIPHERAL PROCESSOR (PP). M I N I M U M TlME IS 1 MINOR CYCLE
ACTUAL TlME IS A FUNCTION OF THE PP PROGRAM.

@

TlME IS A FUNCTION OF ED

@

TlME IS A FUNCTION OF PP. MINIMUM TlME IS 1 MINOR CYCLE. MAXIMUM TlME IS UP
TO 4 MINOR CYCLES TO ALLOW OPERATION WITHIN 1 MAJOR CYCLE.

@

TlME IS A FUNCTION OF PP. MINIMUM TlME IS 2 MAJOR CYCLES. M A X I M U M TlME IS
A N INTEGRAL MULTIPLE OF MAJOR CYCLES.

@

TlME IS A FUNCTION OF ED

7.

MAJOR CYCLE TlME IS 250 NS.

8.

MINOR CYCLE IS 50 NS.

@

CHANNEL MUST BE PREVIOUSLY INACTIVE.

@
@

CHANNEL REMAINS ACTIVE UNTIL ED SENDS INACTIVE.
CHANNEL MUST BE PREVIOUSLY INACTIVE.

Figure 5-9.

Data Output Sequence Timing

System Console Programming

System Console Programming
Keyboard
A PP transmits function code 70208 to request data from the keyboard of the

system console. The PP then activates the input channel and inputs one
character from the keyboard. This character enters as the lower 6 bits of the
word; the upper bits are cleared. There is no status report by the keyboard.
Table 5-9 lists the keyboard character codes.

Data Display
Data is displayed within an 8- by 11-inch area of a cathode-ray tube (CRT).
The display can be in character mode (alphanumeric) and/or dot mode (graphic).
Two presentation areas (left and right) are displayed. Each is made up of 262
144 dot locations arranged in a 512- by 512-dot format. Each dot position is
determined by the intersection of X and Y coordinates. The lower left corner
dot i s octal address X16000 and YR7000, and the upper right corner dot is octal
address X16777 and Y=7777. An optional CC 634B system console is available.
Refer to the hardware reference manual listed in the preface for additional
information regarding this terminal.

Character Mode
In character mode, three sizes are provided. Large characters are arranged in
a 32- by 32-dot format with 16 characters per line. Medium characters are
arranged id a 16- by 16-dot format with 32 characters per line. Small
characters are arranged in an 8- by 8-dot format with 64 characters per line.
Table 5-10 lists the display character codes.

System Console Programming

Table 5-9.
Character

Keyboard Character Codes
Code

Character

No data

0

A

1

B

2

C
D

3
4

E

5

F

6

G

7

H

8

I

9

J
K

f

L
M

-

*
/

N

(

0

1

P

Left blank key

Q
R

s

Right blank key
9

T
U

Carriage return

v

Backspace

W

Space

X
Y
Z

Code

System Console Programming

Table 5-10.
Character

Display Character Codes
Code

Character

1
2

3

4
5

6

7
8

9

+

*
/
(

1
Space
P

Space
>

Code

System Console Programming

Dot Mode
I n dot mode, d i s p l a y d o t s a r e p o s i t i o n e d by t h e X and Y c o o r d i n a t e s .

The X
c o o r d i n a t e s p o s i t i o n t h e d o t s h o r i z o n t a l l y . The Y c o o r d i n a t e s p o s i t i o n t h e
d o t s v e r t i c a l l y and unblank t h e CRT f o r each d o t . A s e r i e s of X and Y
c o o r d i n a t e s form h o r i z o n t a l l i n e s . A s i n g l e X c o o r d i n a t e and a s e r i e s of Y
c o o r d i n a t e s form v e r t i c a l l i n e s .

Codes
A s i n g l e f u n c t i o n word i s t r a n s m i t t e d t o s e l e c t t h e p r e s e n t a t i o n , mode, and
c h a r a c t e r s i z e ( c h a r a c t e r mode only).
Figure 5-10 i l l u s t r a t e s t h e f u n c t i o n
word format. The word following t h e f u n c t i o n word s p e c i f i e s t h e s t a r t i n g
c o o r d i n a t e s f o r t h e d i s p l a y ( f o r e i t h e r mode). Figure 5-11 i l l u s t r a t e s t h e
c o o r d i n a t e d a t a word. I n c h a r a c t e r mode, t h e words t h a t follow a r e d i s p l a y
c h a r a c t e r codes. Figure 5-12 i l l u s t r a t e s t h e c h a r a c t e r d a t a word.

0 = CHARACTER MODE
1 = D O T MODE
2 = KEYBOARD INPUT

0 = LEFT PRESENTAT
1 = RIGHT PRESENTA
NOT
USED
7 = EQUIPMENT
SELECT

/ I,=

0 = SMALL CHARACTERS
MEDIUM CYARACTERS
2 = LARGE CHARACTERS

7

-7

11

,

9 8 7

Figure 5-10.

6 5

32

0

Display S t a t i o n Output Function Code

System Console Programming

6=X
7=Y

COORDINATE
ADDRESS
A

NOTE:
INDOT MODE, EACH Y COORDINATE TRANSMITTED FORCES
A DOT DISPLAY.

Figure 5-11.

FIRST
CHARACTER

Figure 5-12.

Coordinate Data Word

SECOND
CHARACTER

Character Data Word

When t h e d i s p l a y o p e r a t i o n has s t a r t e d , t h e c o n t r o l l e r r e g u l a t e s c h a r a c t e r
spacing on t h e l i n e . A new c o o r d i n a t e d a t a word must be s e n t t o start each
l i n e . I f new c o o r d i n a t e s a r e n o t s p e c i f i e d , d a t a i s w r i t t e n on t h e l i n e
s p e c i f i e d by t h e a c t i v e c o o r d i n a t e word, and information a l r e a d y on t h a t l i n e
i s o v e r w r i t t e n . Character s i z e s can be mixed by sending a new f u n c t i o n word
and coordinate word f o r each s i z e change. Spacing on a l i n e can be v a r i e d by
sending a c o o r d i n a t e word f o r t h e c h a r a c t e r that: i s t o be spaced d i f f e r e n t l y .

System Console Programming

Programming Example
The following programming example ( f i g u r e 5-13) r e q u e s t s an i n p u t of one l i n e
of d a t a from t h e system console and d i s p l a y s t h i s d a t a on t h e CRT a s I t i s
being typed.

Programming Timing Considerations
When performing an output o p e r a t i o n , t h e computer must waft a t t h e end of t h e
output f o r a channel-empty c o n d i t i o n t o prevent a l o s s of c o o r d i n a t e s o r d a t a .
A full jump a t t h e end of t h e output e n s u r e s t h a t t h e channel i s empty and the
d i s p l a y c o n t r o l l e r a c c e p t s t h e l a s t word of t h e o u t p u t b e f o r e d i s c o n n e c t i n g
from t h e channel.

System Console Programmrng

0
START

INPUT ONE
D A T A WORD

I

ASSEMBLE
DATA I N
CHARACTER
MODE FORMAT

ASSEMBLED DATA
PLUS I N I T I A L
COORDINATES

Figure 5-13.

Receive and D i s p l a y Program Flowchart

Real-Time Clock Programming

Real-Time Clock Programming
Channel 14 i s reserved f o r t h e real-time clock. This channel, which i s a l w a y s
8
a c t i v e and f u l l , and may be r e a d a t any time. The real-time clock i s a 1 2 - b i t ,
free-running counter incrementing a t a 1-MHertz r a t e from 0 through 409510.

Two-Port Multiplexer Programming
NOTE
For two-port m u l t i p l e x e r programming, b i t
numbering w i t h i n words i s 0 through 63 from
l e f t to right.

Channel 158 i s reserved f o r communications with one o r two e x t e r n a l d e v i c e s
through t h e two-port m u l t i p l e x e r . One p o r t i s r e s e r v e d f o r maintenance
purposes, and t h e o t h e r i s r e s e r v e d f o r f u t u r e use. The two-port m u l t i p l e x e r
can communicate with all e x t e r n a l d e v i c e s t h a t use EIA s t a n d a r d RS232C s e r i a l
i n t e r f a c e . The m u l t i p l e x e r can accommodate d a t a with odd/even p a r i t y , 5 to 8
b i t s per c h a r a c t e r and 1 o r 2 s t o p b i t s . I s s u i n g a p p r o p r i a t e f u n c t i o n codes
s e t s t h e format. The r a t e i s switch s e l e c t a b l e f o r each c h a m e l f o r o p e r a t i o n
between Il.0 and 9600 baud. These switches a r e l o c a t e d i n t e r n a l l y on t h e
two-port m u l t i p l e x e r .

Two-Port Multiplexer Programming

Two-Port Multiplexer Operation

.

The Cwo-port m u l t i p l e x e r uses t h e rightmost 12 b i t s on channel 1 5
A 12-bit
( o c t a l ) f u n c t i o n word from t h e PP i s t r a n s l a t e d t o s p e c i f y t h e foalowing
operating conditions.

A

Code

Function

7XXX

Terminal s e l e c t .

6XXX

Terminal d e s e l e c t .

ooxx

Read s t a t u s summary.

Olxx

Read t e r m i n a l d a t a .

02xx

Write o u t p u t b u f f e r .

03XX

S e t o p e r a t i o n mode t o t e r m i n a l .

04XX

S e t / c l e a r t e r m i n a l c o n t r o l s i g n a l , d a t a t e r m i n a l ready (DTR).

05XX

S e t / c l e a r terminal c o n t r o l s i g n a l , r e q u e s t t o send (RTS).

06XX

Not used.

07XX

Master c l e a r s e l e c t e d p o r t .

Terminal Select (7XXX)
The PP sends t h i s s e l e c t code t o s p e c i f y t h e t e r m i n a l t o which t h e f u n c t i o n
codes and d a t a t r a n s m i s s i o n s apply. Code 7000 s e l e c t s p o r t 0 ( f o r f u t u r e use),
and code 7001 s e l e c t s p o r t 1 (maintenance c o n s o l e ) .

Terminal Deselect (GXXX)
The PP sends t h i s code, which d e s e l e c t s t h e two-port m u l t i p l e x e r from channel
158 SO the 16-bit channel i s a v a i l a b l e f o r inter-PP communications.

Two-Port Multiplexer Programming

Read Status Summary (OOXX)
T h i s code permits t h e PP t o i n p u t s t a t u s from t h e s e l e c t e d t e r m i n a l .
One-word
i n p u t must f o l l o w t o r e a d t h e s t a t u s r e s p o n s e . The r e s p o n s e i s 1 2 b i t s , w h i c h
a r e d e f i n e d a s follows.
Bit

Status

52-58

Not used.

59

Output b u f f e r n o t f u l l .

60

I n p u t ready.

61

Data c a r r i e r d e t e c t o r c a r r i e r on.

62

Data set ready.

63

Ring i n d i c a t i o n .

PP Read Terminal Data (01XX)
T h i s code p e r m i t s t h e PP t o i n p u t t h e terminal d a t a from t h e s e l e c t e d t e r m i n a l .
Channel 158 must be a c t i v a t e d , and a 1-word i n p u t must f o l l o w t o r e a d i n t h e
t e r m i n a l d a t a . The d a t a word i s 1 2 b i t s , which a r e d e f i n e d a s f o l l o w s .
Bit

Status

52

Data set ready.

53

Data s e t ready and d a t a c a r r i e r d e t e c t o r .

54

Over r u n .

55

Framing or p a r i t y e r r o r .

56-63

8-bit d a t a .

Data Set Ready (Bit 52)
When t h e d a t a s e t ready signal i s a c t i v e , t h i s b i t s e t s .

Two-Port Multiplexer Programming

Data set Ready (DSR) and Data Carrier Detector (DCD) (Bit 53)
When both d a t a s e t ready and d a t a c a r r i e r d e t e c t o r s i g n a l s a r e a c t i v e , t h i s b i t
sets.

Over Run (Bit 54)
When t h e p r e v i o u s l y received c h a r a c t e r i s not read by t h e PP b e f o r e t h e p r e s e n t
c h a r a c t e r i s t r a n s f e r r e d t o t h e d a t a holding r e g i s t e r , t h e overrun b i t s e t s .

Framing or Parity Error (Bit 55)
When t h e received c h a r a c t e r does not have a v a l i d s t o p b i t (framing e r r o r ) o r
when t h i s b i t s e t s , t h e r e c e i v e d c h a r a c t e r p a r i t y does n o t a g r e e with t h e
select parity (parity error).

Data Character (Bits 56 Through 63)
The lower 8 b i t s of t h e i n p u t word form t h e d a t a c h a r a c t e r . The m u l t i p l e x e r
forms t h i s c h a r a c t e r d i r e c t l y from t h e Universal Asynchronous Receiver and
T r a n s m i t t e r (UART).

PP Write Output Buffer (02XX)
This code prepares t h e m u l t i p l e x e r f o r an output o p e r a t i o n t o t h e 64-character
output b u f f e r memory. Before an output o p e r a t i o n can proceed, channel
must be a c t i v a t e d . The output o p e r a t i o n i s terminated when t h e m u l t i p l e x e r
r e c e i v e s an i n a c t i v e s i g n a l from the PP o r when no more l o c a t i o n s a r e a v a i l a b l e
i n t h e output b u f f e r . I n t h e l a t t e r c a s e , an i n a c t i v e ( i n s t e a d of empty) s i g n a l
i s s e n t back t o t h e channel, which i n t u r n , t e r m i n a t e s t h e o u t p u t o p e r a t i o n s .

Two-Port Multiplexer Programming

Set Operation Mode to the Terminal (03XX)
T h i s code p e r m i t s t h e PP t o set t h e t e r m i n a l o p e r a t i o n mode r e g i s t e r . A 1 2 - b i t
f u n c t i o n code word from t h e PP s p e c i f i e s t h e o p e r a t i o n of t h e t e r m i n a l .
Thisword i s decoded i n t h e f u n c t i o n r e g i s t e r .
Segments of t h e word d e f i n e t h e mode
a s follows:

Bit

Status
Not used.
No p a r i t y .
When t h i s b i t i s s e t , i t e l i m i n a t e s t h e p a r i t y b i t from t h e
t r a n s m i t t e d and r e c e i v e d c h a r a c t e r s . The s t o p b i t ( s ) immediately
follow the l a s t data b i t .
Number of s t o p b i t s .
T h i s b i t s e l e c t s t h e number of s t o p b i t s , 1 o r 2 , t o be appended
immediately a f t e r t h e p a r i t y b i t . When t h i s b i t i s c l e a r , i t
i n s e r t s 1 s t o p b i t and when s e t , i t i n s e r t s 2 s t o p b i t s .
Number of b i t s p e r c h a r a c t e r .
These 2 b i t s a r e i n t e r n a l l y decoded t o s e l e c t 5 , 6 , 7 , o r 8 d a t a
b i t s per character.

B i t 61

B i t 62

B i t s Per C h a r a c t e r

0

0

0
- 1
1

1
0

5
6
7
8

1

Odd/even p a r i t y s e l e c t .
T h i s b i t s e l e c t s t h e t y p e of p a r i t y t h a t w i l l be appended
It a l s o determines t h e p a r i t y
immediately a f t e r t h e d a t a b i t s .
t h a t w i l l be checked on read d a t a .

Set/Clear Data Terminal Ready (04XX)
This code p e r m i t s t h e PP t o s e t o r c l e a r t h e t e r m i n a l c o n t r o l s i g n a l , d a t a
t e r m i n a l ready (DTR). When b i t 63 i s s e t , DTR i s a c t i v e , and when b i t 6 3 i s
c l e a r , DTR i s i n a c t i v e .

Two-Port Multiplexer Programming

SetKlear Request to Send (05XX)
This code permits t h e PP t o s e t o r c l e a r the terminal c o n t r o l s i g n a l , r e q u e s t
t o send (RTS). When b i t 63 i s s e t , RTS i s a c t i v e , and when b i t 63 i s ciear,
RTS i s i n a c t i v e .

Master Clear (07XX)
This code permits t h e PP t o master c l e a r t h e s e l e c t e d p o r t including i t s output
b u f f e r memory and UART. The terminal operation mode r e g i s t e r and terminal
c o n t r o l s i g n a l s a r e not cleared.

Programming Considerations
Channel 158 communicates with the terminals connected t o t h e e x t e r n a l
i n t e r f a c e , one a t a - t i m e . To e s t a b l i s h communications between a PP and t h e
t e r m i n a l , t h e PP i s s u e s a function f o r s e l e c t . The f u n c t i o n word f o r s e l e c t i s
formed by the l e a s t - s i g n i f i c a n t 12 b i t s , which a r e s e n t t o channel Is8, and
s p e c i f i e s the following information.
A s e l e c t code t o s e l e c t t h e multiplexer (7XXX).
a

The terminal with which t h e PP would l i k e t o e s t a b l i s h communication (7XXX).

When t h e connect i s e s t a b l i s h e d , t h e two-port multiplexer r o u t e s a l l d a t a t o
the terminal designated by t h e s e l e c t code. The multiplexer responds with t h e
i n a c t i v e s i g n a l t o acknowledge t h e r e c e i p t of the f u n c t i o n code of 7XXX f o r
s e l e c t ; 6XXX f o r d e s e l e c t , and OXXX f o r operation. Otherwise, t h e m u l t i p l e x e r
ignores t h e function.

Two-Port Multiplexer Programming

Output Data
The multiplexer a c c e p t s a maximum d a t a block length of 64 c h a r a c t e r s per
terminal. During t h e block d a t a t r a n s f e r , the m u l t i p l e x e r t e r m i n a t e s t h e
output o p e r a t i o n e i t h e r when it r e c e i v e s an i n a c t i v e s i g n a l from t h e channel or
when t h e output b u f f e r i s f u l l . When t h e output b u f f e r i s f u l l , t h e multip l e x e r sends back an i n a c t i v e s i g n a l i n s t e a d of an empty s i g n a l t o t h e channel
on t h e l a s t output word. The s i g n a l i n d i c a t e s t h e output b u f f e r a c c e p t s t h e
l a s t output word and i t cannot r e c e i v e anymore d a t a from t h e PP. The multip l e x e r does not allow output t o a f u l l b u f f e r . The m u l t i p l e x e r sends back a n
i n a c t i v e s i g n a l t o d e a c t i v a t e channel 15 a f t e r t h e m u l t i p l e x e r decodes t h e
previous f u n c t i o n code, which i s OZXX (PB w r i t e output b u f f e r ) , and r e c e i v e s a n
a c t i v a t e s i g n a l from t h e PP.

Input Data
The multiplexer does not s t o r e t h e i n p u t d a t a from t h e t e r m i n a l . A l o s t d a t a
c o n d i t i o n e x i s t s i f t h e PP does not i n p u t t h e previous d a t a before t h e new d a t a
a r r i v e s from t h e terminal. The multiplexer allows i n p u t from an empty i n p u t
buffer

.

Request to Send and Data Terminal Ready
The hardware b r i n g s up r e q u e s t t o send and d a t a t e r m i n a l ready a u t o m a t i c a l l y
under t h e following c o n d i t i o n s r e g a r d l e s s of the software RTS and DTR b i t s .
Data i n t h e UART output r e g i s t e r .
0

Data i n t h e FIFO output r e g i s t e r .

When no d a t a i s i n t h e FIFO o r UART, t h e software b i t determines RTS and DTR.

Maintenance Channel Programming

Maintenance Channel Programming
NOTE
Maintenance registers are numbered 0 through
63 from left to right.

Maintenance Channel
A PP in the IOU can perform any or all of the following operations through the
maintenance channel (MCH) to each system element, such as the CP, IOU, and CM.
Initializing registers, controls, and memories.
Monitoring and recording error information.
0

Verifying error-detection and correction hardware.

The maintenance channel consists of the maintenance channel interface on
channel 17 , a maintenance channel interface in each system element, and a
set of intgrconnecting cables.
The IOU maintenance channel interface contains a selector that connects to one
of up to seven system elements. The IOU is element 0, and its maintenance
access control is internally connected to the selector. All other system
elements are assigned arbitrary element numbers. A single cable connects each
maintenance access control to the selector. This arrangement results in a
radial connection that allows any system element to be shut down or removed
without affecting communication with the other elements.

Maintenance Channel Programming

MCH Function Words
The MCH f u n c t i o n word c o n s i s t s of t h e connect, opcode, and type f i e l d s , which
a r e used a s described I n t h e next t h r e e paragraphs and t a b l e s 5-11 and 5-12.
The connect f i e l d s p e c i f i e s t h e u n i t t o which t h e MCH i s connected (CP, CM, or
IOU), c o n t r o l l i n g s e l e c t i o n w i t h i n t h e I O U only. The u n i t remains c o m e c t e d
u n t i l another connect code s e l e c b s a d i f f e r e n t u n i t . Connect codes 10 t o
178 l e a v e t h e MCB unconnected; i n t h i s s t a t e , t h e i n t e r f a c e can be u s e s f o r
PP t o PP communications.
The OPCODE f i e l d c o n t r o l s t h e u n i t s e l e c t e d by t h e connect code, p r e p a r i n g the
u n i t f o r a coming read/write/echo o p e r a t i o n o r causing t h e u n i t t o h a l t , s t a r t ,
clear, or deadstart.
The use of t h e TYPE f i e l d depends on t h e connected u n i t . When t h e CP i s t h e
connected u n i t , type codes 1 through 7 s p e c i f y t h e d a t a t y p e i n t h e o p e r a t i o n
t o be performed. Also, f o r t h e CP, type code 0 s p e c i f i e s t h a t t h e i n t e r n a l
address of t h e CP r e g i s t e r t o be connected is s p e c i f i e d i n a c o n t r o l word,
which i s s e n t as 2 d a t a words immediately following t h e f u n c t i o n word. When
IOU i s t h e connected u n i t , type codes 0 through 7 s p e c i f y t h e s t a r t i n g byte
number f o r r e a d l n r i t e operations. The exceptions a r e r e a d i n g t h e o p t i o n s
i n s t a l l e d and element i d e n t i f i e r r e g i s t e r s . CM u s e s A16 t o a c c e s s t h e
maintenance- r e g i s t e r s .

Maintenance Channel Programming

Table 5-11.

B i t Assignments f o r MCH Function Word t o CP and CM
MCH Function Word t o CP and CM

Field
-

TYPE ( b i t s 0-3)

Code 016

-

--

.... - -

=

CP and CP r e g i s t e r s .

=

=
=
=

Halt processor.
S t a r t processor.
Prepare f o r read.
Prepare f o r write.
Master c l e a r .
Clear e r r o r s .

Code 116

=

C o n t r o l s t o r e memory.

OPCODE (bits 4-71 Code 416
516

=

P r e p a r e f o r read.
Prepare f o r write.

OPCODE ( b i t s 4-71 Code 016
116
416
516
616
716
TYPE ( b i t s 0-3)

TYPE ( b i t s 0-3)

Code 3-716

OPCODE ( b i t s 4-71 Code 416
516
TYPE ( b i t s 0-3)

a

'

= I n t e r n a l memories.
=

=

P r e p a r e f o r read.
Prepare t o write.
CM and C
M registers.

Code A16

OPCODE ( b i t s 4-71 Code 416
5i6
616
716

Table 5-12.

=

=
=
=

P r e p a r e f o r read.
P r e p a r e f o r write.
Master c l e a r .
Clear e r r o r s .

B i t Assignments f o r MCH Function Word t o I O U
MCH Function Word t o I O U

Field
CONNECT ( b i t s 8-11)

Code

016

OPCODE ( b i t s 4-7)

Code

416
516

616
716
C16

TYPE ( b i t s 0-3)

Connect I O U maintenance r e g i s t e r s .
a

=
a

'
a

Codes 0-716 =

P r e p a r e f o r r e a d ( c o n t r o l word r e q u i r e d ) .
P r e p a r e f o r w r i t e ( c o n t r o l word
required).
Master c l e a r .
Clear f a u l t s t a t u s r e g i s t e r s .
Read I O U s t a t u s summary ( r e a d s 1 b y t e ,
c o n t r o l word n o t r e q u i r e d ) .
I O U r e g i s t e r s a r e read c i r c u l a r l y (byte 0
f o l l o w s b y t e 7 ) from t h e b y t e s p e c i f i e d
by t h e TYPE f i e l d .

Maintenance Channel Programming

MCH Control Words
Some function words must be followed by two 8-bit control words, which specify
the internal address of the register to be accessed. This is accomplished by
transmitting two PP words where the rightmost 8 bits in each word are used.
Control words are required.for the following.
Function words to CP with opcodes 415.
Function words to CM and IOU with opcodes 4/5.
Function words to CP, CM, and IOU with opcode 8 (echo).
Refer to tables 5-13 through 5-15 for CP, CM, and IOU internal address
assignments.

MCH Programming for HaWStart (Opcode 0/1)
These operations consist of the output of a function word. A halt opcode halts
the processor without damaging the process being executed,.including the
integrity of the interunit communication of the halted processor such as CDC
CYBER 170 exchange 'request commuaication, central memory communications, and
the process state. If the process is subsequently restarted without performing
any other MCH operations or after performing read/write with certain
precautions, the process continues without damage.

MCH Clear LED (Opcode 3)
This operation clears all LEDs associated with pak errors and is intended, but
not required, for use at system initialization. For maintenance reasons, this
operation can also clear LEDs without initializing and master-clearing.

Maintenance Channel Programming

MCH Programming for Read/Write (Opcode 4/5)
Refer to Programming for PP Data 1nput/output in this chapter for a more
complete procedure. In general terms, proceed as follows:
1.

Issue the function with opcode 4/5.

2.

Output the first control word.

3.

Verify the error flag is clear.

4. Output the second control word.
5.

Verify the error flag is clear.

6.

Input/output the required number of data words.

7. Verify the error flag is clear.
Reading a nonexistent register returns all 0's. Writing to a read-only
register or to a nonexistent register does not alter any register. Most
registers are readlwrite as 64-bit (8-byte) registers, requiring the input/
output of 8 MCH data words. Most registers that are physically smaller than
8 bytes are right-justified with zero-fill. Fixceptions are as follows:

a

Reading a status summary register repeats the status information in each
byte.

a

The IOU may disconnect the MCH without affecting subsequent MCH operations
in the following cases:

-

After reading 1 to 8 bytes from any maintenance register.

-

After writing 1 byte to a corrected error log register.

-

After writing 1 byte to an uncorrected error log register.

The following MCH operations on CP registers can be performed with the CP
running or halted.
a

Read CP status summary register.
Read CP fault status register.
Read CP corrected error log registers.

a

Read CP options installed registers.
Read CP element identifier register.
Readlwrite CP dependent environmental control register.

a

~ead/writetest mode control registers.

a

Clear errors.

To readlwrite other CP-registers, the CP must be running since these registers
are accessed by microcode. Refer to the Maintenance Register Codes Booklet
listed in the preface for register bit assignments.
60463560 A

Maintenance Channel Programming

MCH Programming for Master Clear/Clear Errors (Opcode 6/7)
These operations c o n s i s t of t h e output of a s i n g l e f u n c t i o n word. The master
c l e a r immediately and a r b i t r a r i l y c l e a r s the connected u n i t without regard to
p o s s i b l e information l o s s . Clear e r r o r s c l e a r s the e r r o r i n d i c a t o r s i n t h e
connected u n i t . To avoid l o s s of e r r o r information while the e r r o r s a r e
c l e a r e d , t h e u n i t concerned should be h a l t e d .

MCH Echo (Opcode 8)
This operation checks the d a t a path between the MCH and t h e I O U MAC. Following
IOU ignores
t h e o p e r a t i o n MCH i s a c t i v a t e d and 2 bytes a r e s e n t t o I O U MAC.
t h e f i r s t byte and l a t c h e s t h e second byte i n t h e Address Holding R e g i s t e r i n
any d a t a p a t t e r n . MCH i s d e a c t i v a t e d after the second byte i s accepted i n I O U
MAC, and t h e channel i s a c t i v a t e d followed by an input sequence. I O U MAC sends
d a t a ( c o n t e n t s of Address Holding R e g i s t e r ) upon r e c e i v i n g t h e Active s i g n a l
and subsequent Empty s i g n a l s . There i s no r e s t r i c t i o n on t h e number of data
words read.

MCH Programming for Read IOU Status summary (Opcode C, IOU Only)
This o p e r a t i o n i s an a l t e r n a t i v e , f a s t e r means of reading t h e I O U s t a t u s
summary r e g i s t e r .

1. I s s u e function with opcode C.
2.

Input s t a t u s summary byte.

Maintenance Channel Programming

Table 5-13. CP Internal Address Assignments
Internal Address (1)
Hex

Octal

Type
(2) (3)

Description

00

000

R

A

Status summary register.

10

020

R

A

Element identifier register.

30

060

R

A

Dependent environment control register.

42

082

R

M

Monitor condition register.

80-89

200-2U

R

A

Processor fault status registers 1 through 9.

Notes:
(1)

The internal address is the second byte of two 8-bit control words, which
must be supplied after a function word output with OPCODE ' 4/5. The
first byte is discarded.

(2)

R

(3)

A = always accessible, M

=

read, W = write.

Table 5-14.

a

microcode accessible.

CM Internal Address Assignments

Internal Address (1)
Hex

Octal

Type (2)

Description

00

000

R

Status summary register.

10

020

R

Element identifier register.

12

022

R

Options installed register.

A0

240

R/W

Corrected error log register.

A4

244

R/W

Uncorrected error log 1 register.

A8

250

R/W

Uncorrected error log 2 register.

Notes:
(1)

The internal address i s the second byte of two 8-bit control words, which
must be issued after a function word output with OPCODE = 4/5. The first
byte is discarded.

(2)

R

=

read, W

a

mite.

Maintenance Channel Programming

Table 5-15.

IOU Internal Address Assignments

Internal Address (1)
Hex

Octal

Type (2)

Description

00

000

R

Status summary register.

10

020

R

Element identifier register.

12

022

R

Options installed register.

18

030

R/W

Fault status mask register.

40

100

R

Status register.

80

200

R/W

Fault status 1 register.

81

201

R/W

Fault status 2 register.

A0

240

R/W

Test mode.

Notes:

(1) The internal address is the second byte o f two 8-bit control words, which
must be issued after a function word output with OPCODE a 4/5. The first
byte is discarded.

(2) R

read, W

write.

Appendix

Glossary

A
ADU

Assembly-disassembl y u n i t

A0K

Address o u t of r a n g e

C
CEL

Corrected e r r o r l o g

CIF

CMU i n t e r r u p t e d f l a g

CIO

Concurrent i n p u t / o u t p u t

CM

C e n t r a l memory

CMU

Compare/move u n i t
Central processor
Cathode-ray t u b e
Common T e s t and I n i t i a l i z a t i o n

D
DMA

Direct-memory a c c e s s

DS C

Display s t a t i o n

DTR

Data t e r m i n a l r e a d y

E
ECC

E r r o r c o r r e c t i o n code

ECL

Emitter-coupled l o g i c

EDS

Extended d e a d s t a r t

ELA

Electronic Industries Association

EM, EMS

E x i t mode s e l e c t i o n

EC

E x i t c o n d i t i o n code field a t (RAC)

Glossary

F
FIFO

First in, first out

F LC

Field length, central memory

FLE

Field length, extended memory

H
HIVS

Hardware Inittalization and Verification Software

Instruction lookahead hardware
Input/output
Input/output unit
Intelligent peripheral interface
Intelligent standard interface

M
MA

Monitor address

MCH

Maintenance channel

>IF

Monitor flag

MO S

Metal oxide semiconductor

MUX

Multiplexer, selector

N
NIO

Nonconcurrent input/output

Operating system

Glossary

P
PE

Parity error

PP

Peripheral processor

PPM

Peripheral processor memory

R
RAC

Reference address, central memory

RAE

Reference address, extended memory

RAM

Random access (read-write) memory

RN I

Read next instruction

ROM

Read-only memory

RT S

Request to send

S
SECDED

Single-error correction double-error detection

U
U ART

Universal Asynchronous Receiver and Transmitter

UEM

Unified extended memory

Index

Index

A register 2-11,25
Access and cycle times 2-17
Activate instruction 4-97
Add instruction 4-72,73
Addition and subtraction 5-12
Address out of range error 2-12
Address registers, see A registers
Addressing section in CP 1-8
Addressing mode
Expanded 5-24
Standard 5-24
Addressing section 2-15

B register 2-11
Bank select 2-17
Barrel and PP reconfiguration example
(RPaO) 3-12
Barrel and PP reconfiguration example
(RP-2) 3-13
Barrel and slot 2-23
Barrel numbering table 3-9
Bit numbering 5
Block copy flag 2-13
Block copy from UEM to CM instruction 4-16,17
Block copy instruction 2-7
Block copy instructions 2-13; 5-24
Block copy sequence 2-7
Boolean sequence 2-2
Bounds register 2-16,21
Branch instruction 2-8
Branch to K instruction 4-10,11,12,13,14

Cache memory 2-1 5
Cache Memory 1-8
Cathode ray tube, see CRT
CC634 system console 2-23
Central exchange jump instruction 2-8; 4-40
Central memory control, see CMC 1-8
Central memory, see CM
Central processor, see CP 1-3
Central read from instruction 4-89

Central read words from instruction 4-90
Central write to instruction 4-91
Central write words to instruction 4-92
Channel active/inactive flag 5-3 1
Channel control flag 5-30
Channel, 110, see IOU
Channel, maintenance, see maintenance channel
Channel marker flag instructions 5-32
Channel operation
Channel active/inactive flag 5-31
Channel control flag 5-30
Channel marker flag instructions 5-32
Channel transfer timing
5-32
Error flag instructions 5-32
Register full/empty flag 5-31
Channel transfer timing 5-32
Character data word 5-41
Character mode 5-38
Characteristics
CM 1-4
CP 1-3
Functional 1-2
IOU 1-5
Physical 1-1
Chassis configuration
Dual CP 1-2
Single CP 1-2
Chip address 2-17
Chip select 2-17
1-11; 2-22,27
CIO
Clear channel flag instruction 4-94
CM 4-17
Access and cycle times 2-17
. Address format 2-16
Address formation 2-1 3
Addressing mode 5-24
Bank select 2-17
Block copy instructions 5-24
Bounds register 2-21
Characteristics 1-4
Chip address 2-17
Chip select 2-17
Column address select 2-17
Configuration switches 3-3
Direct readlwrite instructions 5-24
Extended, see UEM
Functional descriptions 2-16
Internal address assignments 5-58
Layout 2-21
Major system component descriptions 1-9

Index

Ports and priorities 2-18
Programming 5-22
Quadrant select 2-17
Queuing buffer 1-9
Reconfiguration 2-21; 3-5
Reference address register, see
RAC register
Row address select 2-17
SECDED 2-19
UEM 1-9
CM access 2-28
CM configuration switches 3-3
CM controls 3-3
CM internal address assignments 5-58
CM map 5-24
CM read/write instructions
PP CM read instructions 5-27
PP CM write instructions 5-27
CM reconfiguration 3-5
CMC 2-15
CMU instructions, see compare/move
instruction seqeunce
CMU interrupted flag 2-13
Codes 5-41
Column address select 2-17
Compare collated
Compare/move arithmetic 5-13
Compare collated instruction 2-6; 4-44
~ompare/movearithmetic
Compare collated 5-13
Compare uncollated 5-13
Move direct 5-13
Move indirect 5-13
Compare/move instruction sequence 2-6
Compare uncollated
~ompare/movearithmetic 5-13
Compare uncollated instruction 2-6
Conditional Software errors 5-21
Configuration, mainframe 1-1
Configuration switches
CM 3-3
Configuration switches, CM 3-1
Continue if instruction 4-10,11,12
Control checks 3-7
Controls and indicators 3-1
CP
Addressing section 1-8; 2-15
Cache memory 2-15
Characteristics 1-3
CMC 1-8; 2-15
Execution section 2-15
Functional descriptions 2-1
Instruction descriptions 4-1,5
Instruction designators 4-3
Instruction formats 4-1
Instruction section 1-6; 2-1

Internal address assignments 5-58
Major system component descriptions 1-6
Operating modes 4-4
Operating Registers 1-7
Programming 5-1
Registers 2-9
Support Registers 1-7
CP Programming
Compare/move arithmetic 5-13
CYBER 170 exchange jump 5-1
Error response 5-14
Executive state 5-4
Fixed-point arithmetic 5-12
Floating-point arithmetic 5-4
Instruction lookahead purge control 5-13
Integer arithmetic 5-13
CRT 2-27
CYBER 170 exchange jump 2-14; 5-1,3
CYBER 170 exchange package 2-22; 4-62;
5-1,3,14
CYBER 170 exchange package address 5-2
CYBER 170 exchange request 2-22
CYBER 170 job mode 5-1,15,21
CYBER 170 monitor flag 5-1
CYBER 170 monitor flag clear 2-14
CYBER 170 monitor mode 5-1,15,21
C1 register 2-6
C2 register 2-6

Data character (bits 56 - 63) 5-48
Data display
Character mode 5-38
Codes 5-41
Dot mode 5-38
Data input sequence 5-34
Data output sequence 5-36
Data set ready (bit 52) 5-47
Data set ready (DSR) and data carrier
detector (DCD) (bit 53) 5-48
DCD, see Data set ready (DSR) and data
carrier detector
Deactivate instruction 4-98
Deadstart 2-23
Display operator entries and
functions 3-4
Displays and controls 3-1
Initial display 3-2
Options display 3-4
Sequences 3-8
Switches 3-1
Description, major system component 1-6
Direct read/write instruction sequence 2-7

Index

1

Direct read /write i n s t r u c t i o n s
CM 5-24
Direct read/write instructions
UEM 5-24
D i r e c t 12-bit a d d r e s s 5-26
D i r e c t 1 8 - b i t operand 5-25
D i r e c t 6 - b i t a d d r e s s 5-26
D i r e c t 6 - b i t operand 5-25
D i s p l a y c h a r a c t e r codes 5-38
Display s t a t i o n c o n t r o l l e r (DSC) 2-27
DMA
1-11; 2-22,27
Dot mode 5-41
Double-precision r e s u l t s 5-1 1
DSC 2-27
DSC, s e e D i s p l a y s t a t i o n c o n t r o l l e r
DSR, s e e Data set ready
DTR, s e e S e t / C l e a r d a t a t e r m i n a l ready

ECL 1-2
EM r e g i s t e r 2-12; 5-3
EMC 5-14,15,16,17,18
E m i t t e r coupled l o g i c , s e e ECL
EMS b i t s , see E x i t mode s e l e c t i o n b i t s
E r r o r e x i t i n s t r u c t i o n 2-8
E r r o r e x i t t o MA i n s t r u c t i o n 4-61
E r r o r f l a g i n s t r u c t i o n s 5-32
E r r o r r e s p o n s e 5-14
C o n d i t i o n a l s o f t w a r e e r r o r s 5-21
Hardware e r r o r s 5-21
I l l e g a l i n s t r u c t i o n s 5-14
Software e r r o r s 5-21
Exchange jump i n s t r u c t i o n 4-10 1
Exchange jump, see CYBER 170 exchange jump
Exchange package, s e e CYBER 170 exchange
package r e q u e s t
Exchange sequence, s e e CYBER. 170 exchange
sequence r e q u e s t
E x e c u t i o n s e c t i o n 1-8; 2-15
E x e c u t i o n timing 4-102
E x e c u t i v e s t a t e 5-4
E x i t mode r e g i s t e r , s e e EM r e g i s t e r
E x i t mode s e l e c t i o n b i t s 5-14
Expanded a d d r e s s i n g mode 5-24
Expanded a d d r e s s i n g s e l e c t f l a g 2-13
Extended purge c o n t r o l , s e e i n s t r u c t i o n
lookahead purge c o n t r o l

F i e l d l e n g t h f o r UEM r e g i s t e r , see FLE
register
F i n a l i n s t r u c t i o n 4-18,20
Fixed-point a r i t h m e t i c
A d d i t i o n and s u b t r a c t i o n 5-12
I n t e g e r d i v i d e 5-12
I n t e g e r m u l t i p l i c a t i o n 5-12
F l a g r e g i s t e r s 2-13
FLC r e g i s t e r 2-12,21; 5-3
FLE r e g i s t e r 2-14,21
Floating-add i n s t r u c t i o n sequence 2-4
F l o a t i n g d i f f e r e n c e i n s t r u c t i o n 2-4 ; 4-29
F l o a t i n g d i v i d e i n s t r u c t i o n 2-4; 4-35
F l o a t i n g d i v i d e i n s t r u c t i o n sequence 2-4
Floating double-precision d i f f e r e n c e
i n s t r u c t i o n 2-4; 4-30
F l o a t i n g d o u b l e - p r e c i s i o n product
i n s t r u c t i o n 2-4 ; 4-3 4
F l o a t i n g d o u b l e - p r e c i s i o n sum
i n s t r u c t i o n 2-4; 4-28
F l o a t i n g - m u l t i p l y i n s t r u c t i o n sequence 2-4
Floating-point a r i t h m e t i c
Double-precision r e s u l t s 5-1 1
Format 5-4
I n d e f i n i t e 5-7
Nonstandard o p e r a n d s 5-8
Normalized numbers 5-10
Overflow '5-7
Packing 5-5
Rounding 5- 10
Underflow 5-7
F l o a t i n g product i n s t r u c t i o n 2-4; 4-32
F l o a t i n g sum i n s t r u c t i o n 2-4; 4-27
Form mask i n s t r u c t i o n 2-3; 4-63
Format 5-4
Framing o r p a r i t y e r r o r ( b i t 55) 5-48
F u n c t i o n i n s t r u c t i o n 4-99
F u n c t i o n a l C h a r a c t e r i s t i c s 1-2
Functional descriptions
CM 2-16
CP 2-1
IOU 2-22

G
Glossary

A-1

H
F i e l d l e n g t h f o r CM r e g i s t e r , s e e FLC
register

Hardware e r r o r s

5-21

110 channel communications 5-28
110 transfers
Data input sequence 5-34
Data output sequence 5-36
ILH, see Instruction lookahead
Illegal instruction 5-20
Increment sequence instruction 2-5
Indefinite 5-7
Indefinite operand error 2-12
Index registers, see B register
Indirect 6-bit address 5-26
Infinite operand error 2-12
Initial instruction 4-18,20
Initialization 2-1
Input data 5-51
Input instruction 4-95
~nput/outputchannel, see I/O channel
communications
Input/output unit, see IOU
Instruction
Increment sequence 2-5
Instruction control sequences
Block copy sequence 2-7
Boolean sequence 2-2
Compare/move sequence 2-6
CYBER 170 exchange sequence 2-7
Direct readlwrite sequence 2-7
Floating-add sequence 2-4
Floating divide sequence 2-4
Foating-multiply sequence 2-4
Increment sequence 2-5
Normal jump sequence 2-8
Population count 2-4
Return jump sequence 2-8
Shift sequence 2-3
Instruction descriptions
CP 4-1,5
Instruction designators, CP 4-3
Instruction execution timing 4-102
Instruction formats
CP 4-1
Instruction lookahead 2-1
Purge control 5-14
Instruction lookahead purge
control 2-13; 5-14
Instruction lookahead purge flag 2-13
Instruction prefetch, see Instruction
lookahead
Instruction section 2-1
CP 1-6
Instruction control sequences 2-2
Instruction lookahead 2-1
Maintenance access control 2-1
Instruction word designators, CP 4-3

Instruction word format, CP 4-1
Instructions
Activate 4-97
Add 4-72,73
Block copy 2-7
Block copy from CM to UEM 4-17
Block copy from UEM to CM 4-16
Branch 2-8
Branch to K 4-10,11,12,13,14
Central exchange jump 2-8; 4-40
Central read from 4-89
Central read words from 4-90
Central write to 4-91
Central write words to 4-92
Clear c h a ~ e lflag 4-94
Compare collated 2-6; 4-44
Compare uncollated 2-6
Continue if 4-10,11,12
Deactivate 4-98
Error exit 2-8
Error exit to MA 4-61
Exchange jump 4-101
Final 4-18,20
Floating difference 2-4; 4-29
Floating divide 2-4; 4-35
Floating double-precision
difference 2-4; 4-30
Floating double-precision
product 2-4; 4-34
Floating double-precision sum 2-4; 4-28
Floating product 2-4; 4-32
Floating sum 2-4; 4-27
Form mask 2-3; 4-63
Function 4-99
Illegal 5-20
Initial 4-18,20
Input 4-95
Integer difference 4-8
Integer sum 4-8
Jump 2-8; 4-87,88
Jump to B 4-38
Jump to K 4-10,11,12,13
Left shift 2-3; 4-18,19
Left shift nominally 2-3
Load 4-69,70
Load complement 4-69
Load R register 4-69
Logical difference 2-2; 4-23,76,77
Logical difference of X with
complement of X 4-24
Logical product 2-2; 4-24,25,78
Logical sum 2-2; 4-22
Logical sum of X with complement
of X 4-23
Long-add 2-6
Long jump 4-83

Index

Lookahead 2-1
Minus jump 4-86
Monitor exchange jump 4-40,101
Monitor exchange jump to MA 4-101
Move direct 2-6; 4-43
Move indirect 2-6; 4-43
Nonzero jump 4-85
Normalize 2-3; 4-58
Normalize operations 2-3
Instructions
Output 4-96
Pack 2-3; 4-6
Pass 4-60,100
Plus jump 4-86
Population count 2-4; 4-64
Read CM 2-7; 4-57
Read free running counter 4-64
Read one word 4-62
Read one word from UEM 2-7
Replace add 4-80,81
Replace add one 4-80,81
Replace subtract one 4-82
Return jump 2-8; 4-37,84
Right shift 2-3; 4-20,21
Right shift nominally 2-3
Round floating difference 2-4; 4-31
Round floating divide 2-4; 4-36
Round floating product 2-4; 4-33
Round floating sum 2-4; 4-28
Round normalize 2-3; 4-59
Selective clear 4-75
Set A 4-47,48,49,50
Set Ai 2-5
Set B 4-51,52,53
Set Bi 2-5
Set X 4-54,55,56
Set Xi 2-5
Shift 4-75
Store 4-71
Store R register 4-71
Subtract 4-74
Test and set flag 4-94
Transmissive operation 2-2
Transmit 2-2
Transmit complement 2-2
Transmit complement of 4-41
Transmit X 4-41
Unconditional jump 4-84
Unpack 2-3; 4-7
Write CM 4-57
Write into CM 2-7
Write one word 4-62
Write one word to UPI 2-7
Zero jump 4-85
Instructions, CP (see also inside front cover)
Block copy from CM 4-17; 5-24

Block copy from Urn 4-16; 5-24
Branch 4-10 ,11,12,13 ,I4
Central exchange jump 4-40
Compare collated 4-44; 5-13
Compare uncollated 4-45; 5-13
Direct read/wrlte of CM 5-25
Direct read/write of UEM 5-25
Error exit 4-61
Final 4-18,20
Fixed point addition 5-10
Floating difference 4-29
Floating divide 4-35
Floating double-precision difference
4-30
Floating double-precision product 4-34
Floating double-precision sum 4-28
Floating point 5-10
Floating product 4-32
Floating sum 4-27
Form mask 4-63
Increment 5-12
Initial 4-18,20
Integer difference 4-8
Integer divide 5-12,13
Integer multiplication 5-12,13
Integer sum 4-8
Jump 4-38
Left shift 4-18,19
Logical difference 4-24
Logical product 4-25
Logical sum 4-23
Move direct 4-43; 5-13
Move indirect 4-43; 5-13
Normalize 4-58; 5-12,13
Pack 4-6
Packing 5-12
Pass 4-60
Population count 4-64
Read free running counter 4-64
Read one word 4-62
Read word from CM 4-57; 5-27
Return jump 4-37
Right shift 4-20,21
Round floating difference 4-31
Round floating divide 4-36
Round floating product 4-43
Round floating sum 4-28
Round normalize 4-59
Rounding 5-10
Set Ai 4-47,48,49 ,SO
Set Bi 4-51,52,53
Set Xi 4-54,55,56
Transmit complement 4-41
Transmit word 4-41
Unpack 4-7
Unpacking 5-12

Index

Write one word 4-62
W r i t e word t o CM 5-27
W r i t e X i n t o CM 4-57
A c t i v a t e c h a n n e l 4-97
Add 4-72,73
C e n t r a l r e a d 4-89 ,go
C e n t r a l w r i t e 4-91,92
Channel f l a g 5-30
C l e a r channel f l a g 4-94
CM r e a d 5-27
D e a c t i v a t e c h a n n e l 4-98
E r r o r f l a g 5-30
I n s t r u c t i o n s , PP ( s e e a l s o i n s i d e f r o n t c o v e r )
Exchange jump 4-101
Function on c h a n n e l 4-99
I n p u t from c h a n n e l 4-95
Jump i f channel a c t i v e 4-87
Jump i f c h a n n e l empty 4-88
Jump i f c h a n n e l e r r o r f l a g c l e a r 4-88
Jump i f c h a n n e l e r r o r f l a g s e t 4-88
Jump i f c h a n n e l f l a g 4-94
Jump i f c h a n n e l f u l l 4-87
Jump i f c h a n n e l i n a c t i v e 4-87
Load 4-69,70
Load complement 4-69
L o a d / s t o r e R r e g i s t e r 5-27
L o g i c a l d i f f e r e n c e 4-75,76,7 7
L o g i c a l product 4-78
Long jump 4-83
Minus jump 4-86
Monitor exchange jump 4-101
Monitor exchange jump t o MA 4-101
Nonzero jump 4-85
Output from c h a n n e l 4-96
Pass 4-100
P l u s jump 4-86
Replace add 4-80,81
Replace add one 4-80,81
Replace s u b t r a c t one 4-82
Return jump 4-84
S e l e c t i v e c l e a r 4-75
S t o r e 4-71
S t o r e R r e g i s t e r 5-27
S u b t r a c t 4-74
U n c o n d i t i o n a l jump 4-84
Zero jump 4-85
Integer arithmetic
I n t e g e r d i v i d e 5-13
I n t e g e r m u l t i p l i c a t i o n 5-13
I n t e g e r d i f f e r e n c e i n s t r u c t i o n 4-8
I n t e g e r d i v i d e 5-12,13
I n t e g e r m u l t i p l i c a t i o n 5-12,13
I n t e g e r sum i n s t r u c t i o n 4-8
I n t e r PP communications 5-28
I n t r o d u c t i o n 1-1
IOU

C h a r a c t e r i s t i c s 1-5
CM a c c e s s 2-28
F u n c t i o n a l d e s c r i p t i o n s 2-22
1 / 0 c h a n n e l s 2-27
I n t e r n a l a d d r e s s a s s i g n m e n t s 5-59
Maintenance c h a n n e l 2-28
Major system component d e s c r i p t i o n s
P e r i p h e r a l p r o c e s s o r (PP) 2-22
P e r i p h e r a l p r o c e s s o r s , see PPs
Real-time ' c l o c k 2-27
R e c o n f i g u r a t i o n 3-9
Two-port m u l t i p l e x e r 2-28
IS1

1-11

2-22,27

Job mode, s e e CYBER 1 7 0 j o b mode
Jump i n s t r u c t i o n 2-8; 4-87,88
Jump t o B i n s t r u c t i o n 4-38
Jump t o K i n s t r u c t i o n 4-10,11,12,13

K R e g l s t e r 2-26
Keyboard 5-38
Keyboard c h a r a c t e r c o d e s
K1 r e g i s t e r 2-6
K2 r e g i s t e r 2-6

5-38

L r e g i s t e r 2-6
Large s c a l e i n t e g r a t i o n , s e e LSI 1-2
L e f t s h i f t i n s t r u c t i o n 2-3; 4-18,19
L e f t s h i f t nominally i n s t r u c t i o n 2-3
Load complement i n s t r u c t i o n 4-69
Load i n s t r u c t i o n 4-69,70
Load R r e g i s t e r i n s t r u c t i o n 4-69
L o g i c a l d i f f e r e n c e i n s t r u c t i o n 2-2;
4-23,76,77

L o g i c a l d i f f e r e n c e of X w i t h complement
of X i n s t r u c t i o n 4-24
Logical product i n s t r u c t i o n 2-2; 4-24,25,78
L o g i c a l sum i n s t r u c t i o n 2-2; 4-22
L o g i c a l sum of X w i t h complement o f
X i n s t r u c t i o n 4-23
Long-add i n s t r u c t i o n 2-6
Long jump i n s t r u c t i o n 4-83
Lookahead purge c o n t r o l 5-13
LSI 1-1

I

Index

MA r e g i s t e r 2-14
MAC, s e e Maintenance a c c e s s c o n t r o l

Yainframe c o n f i g u r a t i o n 1-1
Maintenance a c c e s s c o n t r o l 2-1
Maintenance channel 2-28; 5-52
Maintenance channel g e n e r a t o r 2-16
Maintenance channel programming 2-21
Maintenance c h a n n e l 5-52
MCH c o n t r o l words 5-55
MCH f u n c t i o n words 5-53
Major system component d e s c r i p t i o n s
CM 1-9
CP 1-6
I O U 1-11
System c o n s o l e 1-1 1
Master c l e a r (07XX) 5-50
MCH c l e a r LED (Opcode 3) 5-55
MCH c o n t r o l words 5-55
MCH c l e a r LED (Opcode 3) 5-55
MCH e c h o (Opcode 8) 5-57
MCH programming f o r h a l t l s t a r t
(Opcode 01 1) 5-55
MCH programming f o r m a s t e r c l e a r l c l e a r
e r r o r s (Opcode 617) 5-57
MCH programming f o r r e a d I O U
s t a t u s summary (Opcode C, IOU o n l y )
5-5 7
MCH programming f o r r e a d l w r i t e
(Opcode 4/ 5) 5-56
MCH echo (Opcode 8) 5-57
MCH f u n c t i o n words 5-53
MCH programming f o r h a l t l s t a r t
(Opcode 01 1) 5-55
MCH p r o g r a m i n g f o r master c l e a r l c l e a r e r r o r s
(Opcode 61 7) 5-57
MCH p r o g r a m i n g f o r r e a d I O U s t a t u s summary
( Opcode C , I O U o n l y ) 5-57
MCH progrsmming f o r r e a d h i t e
(Opcode $15) 5-56
MCH , s e e M,\intenance channel
Memory, s e e CM
MF, s e e CYBER 170 monitor f l a g
Minus jump i n s t r u c t i o n 4-86
Monitor a d d r e s s r e g i s t e r , s e e MA r e g i s t e r
Monitor exchange jump i n s t r u c t i o n 4-40,10 1
Monitor exchange jump t o MA i n s t r u c t i o n 4-101
Monitor f l a g , s e e CYBER 170 monitor f l a g
Monitor mode, s e e CYBER 170 monitor mode
Move d i r e c t
Compare/move a r i t h m e t i c 5-1 3
Move d i r e c t i n s t r u c t i o n 2-6; 4-43
Move i n d i r e c t
Compare/move a r i t h m e t i c 5-13
Move i n d i r e c t i n s t r u c t i o n 2-6; 4-43

1-11; 2-22.27
Nonstandard o p e r a n d s 5-8
Nonzero jump i n s t r u c t i o n 4-85
Normal jump i n s t r u c t i o n sequence
Normalize i n s t r u c t i o n 2-3 ; 4-58
Normalized numbers 5-10

NIO

2-8

0
Operand r e g i s t e r s , s e e X register
Operating i n s t r u c t i o n s 3-1
Operating modes
CP 4-4
Operating p r o c e d u r e s 3-7
Operating R e g i s t e r s
A 2-11
B 2-11
X 2-9
Output d a t a 5-51
Output i n s t r u c t i o n 4-96
Over r u n ( b i t 54) 5-48
Overflow 5-7

P r e g i s t e r 2-11,13,25; 5-3
Pack i n s t r u c t i o n 2-3; 4-6
Packing 5-5
P a s s i n s t r u c t i o n 4-60,100
P e r i p h e r a l p r o c e s s o r (PP) 2-22
P e r i p h e r a l p r o c e s s o r s , s e e PPs
P h y s i c a l c h a r a c t e r i s t i c s 1-1
P l u s jump i n s t r u c t i o n 4-86
P o p u l a t i o n c o u n t i n s t r u c t i o n 2-4; 4-64
P o r t bounds r e g i s t e r , s e e CM, Bounds r e g i s t e r
P o r t s and p r i o r i t i e s 2-18
Power-on and power-off p r o c e d u r e s 3-7
PP 2-22
PP and b a r r e l r e c o n f i g u r a t i o n examp
(RP=O)
3-12
PP and b a r r e l r e c o n f i g u r a t i o n examp
( W 2 ) 3-13
PP CM read i n s t r u c t i o n s 5-27
PP CM w r i t e i n s t r u c t i o n s 5-27
PP d a t a format 4-67
PP i n s t r u c t i o n d e s c r i p t i o n s 4-68
PP i n s t r u c t i o n f o r m a t s 4-66
PP i n s t r u c t i o n s
PP d a t a format 4-67
PP i n s t r u c t i o n d e s c r i p t i o n s 4-68
PP i n s t r u c t i o n f o r m a t s 4-66

Index

PP relocation register format 4-68
PP memory 2-27
PP memory addressing by PPs
Direct 12-bit address 5-26
Direct 18-bit operand 5-25
Direct 6-bit address 5-26
Direct 6-bit operand 5-25
Indirect 6-bit address 5-26
PP numbering 2-26
PP programming 5-25
Channel operation 5-30
CM addressing by PPs 5-25
CM read/write instructions 5-27
1/0 channel communications 5-28
I/O transfers 5-34
Inter PP communications 5-28
PP memory addressing by PPs 5-25
PP programming timing considerations 5-30
PP programming timing considerations 5-30
PP read terminal data (OlXX)
Data character (bits 56 63) 5-48
Data set ready (bit 52) 5-47
Data set ready (DSR) and data carrier
detector (DCD) (bit 53) 5-48
Framing or parity error (bit 55) 5-48
Over run (bit 54) 5-48
PP registers
A 2-25
K 2-26
P 2-25
Q 2-26
R 2-25
PP relocation register format 4-68
PP write output buffer (02XX) 5-48
Prefetch of instructions, see Instruction
lookahead
Program address register, see P registers
Programming
CP 5-1
Real-time clock 5-45
Two-port multiplexer 5-45
Programming considerations 5-50
Input data 5-51
Output data 5-51
Programming example 5-41
Programming information 5-1
Programming timing considerations 5-43
Publication index 6

-

Q Register 2-26
Quadrant select 2-17

R Register 2-25
RAC register 2-12,21; 5-3
M E register 2-14,21; 5-3
Read CM instruction 2-7; 4-57
Read free running counter instruction 4-64
Read one word from UEM instruction 2-7
Read one word instruction 4-62
Bead status summary (OOXX) 5-47
Real-time clock 2-27
Real-time clock programming 5-45
Reconfiguration examples 2-21; 3-6
Reconfiguration switches 3-3
Reference address for CM register,
see RAC register
Reference address for UEM register,
see RAE register
Register full/empty flag 5-31
Registers
A 2-11,25
B 2-11
CP 2-9
CP Operating 1-7
CP Support 1-7
C1 2-6
C2 2-6
EM 2-12; 5-3
Exit mode, see Registers, EM
Field length, see Registers, FLC and FLE
Flag 2-13
FLC 2-12,21; 5-3
FLE 2-14,21
K 2-26
K1 2-6
K2 2-6
L 2-6
MA 2-14
Moai tor address register, see Register,
MA

Operating 2-9
P 2-11,25; 5-3
Program address, see Register, P
Q 2-26
R 2-25
RAC 2-12,21; 5-3
RAE 2-l4,2l; 5-3
Reference address, see Registers, . U C
and RAE
Support 2-6,11
X 2-9
Relocation register, see Register, R
Replace add instruction 4-80,81
Replace add one instruction 4-80,81
Replace subtract one instruction 4-82

Index

Request to send and data terminal ready 5-51
Return jump instruction 2-8; 4-37,84
Return jump instruction sequence 2-8
Right shift instruction 2-3; 4-20,21
Right shift nominalJy instruction 2-3
Round floating difference
instruction 2-4; 4-31
Round floating divide instruction 2-4; 4-36
Round floating product instruction 2-4; 4-33
Round floating sum instruction 2-4; 4-28
Round normalize instruction 2-3; 4-59
Rounding 5-10
Row address select 2-17
RTS, see Request to send

SECDED 2-19
SECDED generator 2-16
Selective clear instruction 4-75
Set A instruction 4-47,48,49,50
Set Ai instruction 2-5
Set B instruction 4-51,52,53
Set Bi instruction 2-5
Setlclear data terminal ready (04~~)
5-49
Set/clear request to send (05XX) 5-50
Set operation mode to terminal (03XX) 5-49
Set X instruction 4-54,55,56
Set Xi instruction 2-5
Shift instruction 4-75
Shift sequence 2-3
Single error correction/double error
detection, see SECDED
Slot, see Barrel and slot
Software errors 5-21
Standard addressing mode 5-24
Store instruction 4-71
Store R register instruction 4-71
Subtract instruction 4-74
Support registers 2-6
C1 register 2-6
C2 register 2-6
EM 2-12
nc 2-12
FLE 2-14
K1 register 2-6
K2 register 2-6
L register 2-6
MA 2-14
P 2-11
RAC 2-12
RAE 2-14
Switches
Deadstart 3-1

CM reconfiguration 3-3
System console 1-11
Keyboard 5-38
Major system component descriptions 1-11
System console programming 5-38
Data display 5-38
Programming example 5-43
Programming tirmlng considerations 5-43
System publication index 6

Terminal deselect (6xxx) 5-46
Terminal select (7mnr) 5-46
Test and set flag instruction 4-94
Timing considerations instruction, see
Execution timing
Transmit complement instruction 2-2
Transmit complement of instruction 4-41
Transmit instruction 2-2
Transmit X instruction 4-41
Two-port multiplexer 2-28
Two-port multiplexer operation
Master clear (07XX) 5-50
PP read terminal data (OlXX) 5-47
PP write output buffer (02XX) 5-48
Read status summary (OOXX) 5-47
Set/clear data terminal ready (04XX)
5-49
Set/clear request to send (05XX) 5-50
Set operation mode to terminal
(03XX) 5-49
Terminal deselect (6XXX) 5-46
Terminal select (7XXX) 5-46
Two-port multiplexer programming
Programming considerations 5-50
Request to send and data terminal
ready 5-51

UEM 2-7,14; 4-16,17
Description 1-4
Field length register, see FLE register
Reference address register, see RAE
register
UEM address 4-17
UEM enable flag 4-16
Unconditional jump instruction 4-84
Underflow 5-7
Unified extended memory, see UEM description
Unpack instruction 2-3; 4-7

Index

Word
Bit numbering 5
Write CM instruction 4-57
Write into CM instruction 2-7
Write one word instruction 4-62
Write one word to UEM instruction

z
2-7

Zero jump instruction

4-85

MANUAL TITLE:
PUBLICATION NO.:

CYBER 840A, 850A, 860A, 870A Computer Systems
CYBER 170 State Hardware Reference Manual
604 63 560

REVISION:

C

NAME:
COMPANY:
STREET ADDRESS:
CITY:

STATE:

ZIP CODE:

This form is not intended to b e used as a n order blank. Control Data Corporation welcomes your evaluation of
this manual. Please indicate any errors, suggested additions or deletions, or general comments below (please
include page number references).

0 Please

Reply

No Reply Necessary

NO POSTAGE STAMP NECESSARY IF MAILED IN U.S.A.
FOLD ON DOTTED LINES A N D TAPE

FOLD

FOLD

NO POSTAGE

I BUSINESS REPLY MAIL 1
I

FIRST CLASS

PERMIT NO 8241

MINNEAPOLIS MN

POSTAGE WILL BE PAID BY ADDRESSEE

3CONTROL DATA
Technology and Publications Division
ARH219
4201 North Lexington Avenue
Saint Paul, MN 55126-6198

I

NECESSARY
IF MAILED
IN THE
UNITED STATES

-



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 260
Page Mode                       : UseOutlines
XMP Toolkit                     : XMP toolkit 2.9.1-14, framework 1.6
About                           : uuid:4d728e84-f2f9-421e-8f8e-6125866d8751
Producer                        : Adobe Acrobat 6.02 Paper Capture Plug-in
Modify Date                     : 2004:11:27 14:35:10-06:00
Create Date                     : 2004:11:26 14:28:21-06:00
Metadata Date                   : 2004:11:27 14:35:10-06:00
Creator Tool                    : Adobe Acrobat 6.02
Document ID                     : uuid:7de2f398-e4dd-422a-a997-57eb68e6574a
Format                          : application/pdf
Creator                         : Adobe Acrobat 6.02
EXIF Metadata provided by EXIF.tools

Navigation menu