EH 07127 63 77 010 03 10 DECsystem Technical Summary

EH 07127 63-77 010 03 10 DECsystem-10 Technical Summary EH 07127 63-77 010 03 10 DECsystem-10 Technical Summary

User Manual: EH 07127 63-77 010 03 10 DECsystem-10 Technical Summary

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

DownloadEH 07127 63-77 010 03 10 DECsystem-10 Technical Summary
Open PDF In BrowserView PDF
:

SOFTWARE

SYSTEM ARCHITECTURE
The DECsystem-1090
Central Processors
Instruction Set
Instruction Groups
Instruction Format
Trap Handling on the
KL10 and KI10
Processor Modes
Fast Register Blocks
Real-Time Clocks
Memory
Cache Memory
Memory Systems
Interleaving
Input/Output
Priority Interrupt System
Multiplexed I/O Bus
Massbus
I/O Channel Capacity
Console/Diagnostic Computer
System Integrity Features
Power Fail
Error Handling
Multiprocessor Systems
Dual CPU System

2
4
6
6
6
7
8
9
9
10
12
12
12
13
13
13
14
14
15
16
16
16

17
17

PERIPHERALS
PERIPHERALS

19

Disk Systems
DAS33 Buffered Data Channel
DECtape Transport
Magnetic Tape Systems
Hard Copy Equipment
Card Readers
Line Printers
Terminals

20
22
23
24
26
26
26
28

DATA COMMUNICATIONS
DATA COMMUNICATIONS
System Concepts
Asynchronous Communications
Synchronous Communications
Synchronous vs. Asynchronous
Transmission
Remote Communications
Network Concepts
Simple Topologies
Complex Topologies
Task-to-Task Communication
IBM Device Emulation
and Termination
Communications Products
DN87/87S Universal
Synchronous/ Asynchronous
Front End Subsystem
Complex Topologies
DECnet-10
DAS80 Series Remote Station
DAS92 Remote Station
DAS 61 IBM 2780/3780 Support
DAS 621BM HASP Multi-leaving
Support

33
34
34
34
35
36
37
37
37
38
38
39

39
42
42
43
45
46
46

CONFICiURATOR
47

CONFIGURATOR
1

SOFTWARE
Languages
AID
ALGOL
APL
BASIC
COBOL
ISAM
CPL
FORTRAN
FORTRAN Version 4
MACRO
System Utilities

59
61
60
60
60
62
61
62
62
63
63
64
65

SORT
Data Base Management
System
ITPS-10
LlNK-10
MACY11-LNKX11
DDT
FAILSAFE/BACKUP
Message Control System
PIP
RUNOFF
TECO
Operating System
TOPS-10 Operating System
Command Control Language
File System
Input/Output
Memory Management
Multi-Processor Systems
Inter-job Communication
Communications Software
Multimode Computing
Timesharing
GALAXY-10 Batch
Real-Time Computing
Diagnostic Software
High Availability
Maintenance Features
On-Line Diagnosis

65
65
66
66
67
67
67
68
68
68
68
69
69

72
73
76
76
77
78
78
79
79
79
81
83
83
83
83

SERVICES
SERVICES

85

People
Parts
Support
Service Agreements
Education
Logistics
Technical Documentation
Software Services
Advanced Systems Group

87
87
87
88
88
89
89
90
91

The DECsystem-1090 is an extension
of the DECsystem-1080 which was announced in September of 1974 and first
delivered in June of 1975. The DECsystem-1090 offers all the outstand ing
features of the 1080 plus many new
ones. The key features of the DECsystem-1090 are:
The new KL10B Processor.

It features 1.4 mips, integratedchan nels, cache memory and a PDP-11 Console front end computer which permits
on-line, remote diagnosis and maintenance. The new CPU permits more
compact configuration and lower power
consumption through the use of integrated channels; improved performance; and substantially lower system
purchase and maintenance costs. Single
and dual CPU systems, featuring high
availability, are offered.
The new MH10 Memory System.

It offers 256K 36-bit words in one 31 "
system cabinet. Internal 2-way interleaving and eight memory ports accom modate up to 2 CPU's and all of
DIGITAL's standard memory channel
peripheral subsystems. The DECsystem-10 memory can be expanded with
up to 16 MH10 units to over 4 million
words or 20 million ASCII characters.

The recently-announced RP06 200
megabyte Disks.

They are now available using the
integrated MASSBUS® controllers. Not
only is the cost of Disk Systems substantially reduced, but the use of integrated controllers and channels provide
automatic update of the cache memory
- thus reducing overhead. The on-line
disk data storage can now be extended
to over 6.2 billion ASCII characters or
about 5 billion 8-bit bytes.
The new TTU16 MagnetiC Tape
Subsystem.

It now uses the integrated MASSBUS®
Controllers to extend the DECsystem1090 tape capability to three subsys tems. Transfer rates of 72K (TU16),

320K (TU70) and 780K (TU72) characters per second allow DECsystem-1090
users to select the tape system which
meets their needs. With th e new TU72
system, 6250 bpi capability has been
added to our product offerings at the
high end and the TTU16 72KHz system
greatly reduces the cost of 1600 bpi
capability, for low performance re quirements.
A complete range of Line Printers
and Card Readers.

The new LP100 offers high quality
"band" printing at 1200 to 1500 lines per
minute. The LP10 and LU10 offer high
quality mid-range and low-speed printers
at lower cost to meet users' individual
needs. The CR10E and CR10F 1200 and
300 card per minute readers offer a
choice of two excellent card readers.

The new DN87S Communications
front end.

It provides additional features and
lower costs than previous communication front end offerings. Cost is reduced
through the use of the integrated DTE
channels which utilize high-speed microcode for data transfer. Important new
features include DECnet compatibility
and simultaneous support of synchronous and asynchronous communications on a single front end. All the standard ANF features are also supported.
Upto three DN87S units per 1090 System
can accommodate up to 336 full duplex
asynchronous lines or 36 synchronous
lines. The number of lines can be extended by adding a DN87A and up to
three DN87D s, each of which can support 112 asynchronous or 12 synchronous lines.

UNIT
RECOR D
MEMORY BUS

MH 10
MEMORY
256K TO 4M
WORDS

I/O BUS
D
M
A

KL1 0

D
I

A

INTE RNA L CHANN ELS
AN D CON TRO LLE RS
MASSBUS

brl

DTE

I
TU 70/72

RTP04/6

TAPE
SYSTEM

DISK
SYS TE M

I
TT U 16
TAP E
SYS TEM

A DECsystem-1090 Block Diagram

2

DTE

DN87S
COMM.
SYS TE M

I

I
CONSOL E '/
FRONT END

Within the family of six DECsystem10 configurations, there are three central processor units. All operate under
the same DECsystem -100perating system (TOPS-10), execute the same software, and share most models of DECsystem -10 peripheral equipment. The
three processors differ in their speed,
method of address mapping, memory
capacity, program size, auto-diagnostic
and restart features, and priority interrupt system.
The KA10 central processor is used
in the DECsystem-1050 and 1055. The
more powerful KI10 central processor
is used in the DECsystem-1070 and
1077 configurations. The top-of-theline KL10 central processor is used in
the DECsystem-10BO, 1090 and 1099.
The high speed 2Kword cache memory
(K = 1,024) permits rapid instruction execution while minimizing accesses to
main memory. A double precision floating multiply, for instance, executes in
4.B l1 sec.

Because all processors operate with
the same operating system, it is easy
to field upgrade a system with a KA10
and replace it with a KI10 processor;
or take a system with a KI10 and replace
it with a KL10 processsor, providing a
significant increase in the computing
power with no necessary changes in
user programs.
The 1090 configuration differs from
the 1050 or 1070 in that the high speed
data channels and communications
processor channels are integral to the
central processor. Up to eight high speed
buffered data channels can be utilized
which support DIGITAL's Massbus®
peripherals. Because the data channels
access four 36-bit words of memory in
one channel request cycle the total
throughput is in excess of one million
words per second or 4 megabytes per
second. For non-Massbus® peripherals,
external channels which transfer directly to memory can be utilized. An important feature of the integrated high
speed data channels is that cache
memory is automatically updated
4

during I/O transfers. The integrated
front end processor channels will accommodate up to three PDP-11 communications front ends in addition to
the KL10 console front end. These
channels utilize high speed microcode
to transfer and process data coming
from the PDP-11 communications front
ends. All channel data transfers are
parity checked. A final benefit of the
1090 internal channels is configuration
simplicity, improved maintainability
and reduced power consumption.

DECsystem-10 at a Glance.

1040/1050

1060/1070

1055*

1077*

1080/1090

1088*/1099*

Relative Performance

1.0

1.8

2.2

3.5

4.8

6.7

Avg. Number of Users

10-40

20-70

30-80

40-100

50-127

75-150

No. of CPUs

1

2

2

1

2

Memory Size in K words
(min .-max.) (K = 1024)

64-256

128-256

128-4096

128-4096

128-4096

128-4096

No. of Instructions:

366

366

378

378

398

398

Instruction Look-ahead

No

No

Yes

Yes

Yes

Yes

Virtual Memory

No

No

Yes

Yes

Yes

Yes

Memory Interleaving

2 or 4 way

2 or 4 way

2 or 4 way

2 or 4 way

2 or 4 way

2 or4 way

Index Registers

15

15 each
CPU

4 x 15

4 x 15 each
CPU

8x15

8 x 15 each
CPU

Accumulators

16

16 eac h
CPU

4x16

4 x 16 each
CPU

8 x 16

8 x 16 each
CPU

Instruction Times (microseconds)**
Fixed Point Add

2.8

2.8

1.6

1.6

.52

.52

Fixed Point Multiply

9.8

9.8

4.6

4.6

2.4

2.4

Unconditional Jump

1.5

1.5

1.1

1.1

.36

.36

Single Precision
Floating Point Add

9.8

9.8

2.7

2.7

1.8

1.8

Double Precision
Floating Point Add

59.4

59.4

3.9

3.9

2.2

2.2

Double Precision
Floating Multiply

N.A.

N.A.

8.1

8.1

4.8

4.8

Double Precision
Floating Divide

N.A.

N.A.

16.0

16.0

10.2

10.2

Increment and Move Byte

N.A.

N.A.

5.6

5.6

1.4

1.4

Move from Memory

N.A.

N.A.

1.6

1.6

.48

.48

I/O Bus Band width
(words/second)

200K

200K

370K

370K

370K

370K

Memory Bus Band width
(words/second)

4000K

4000K

4000K

4000K

4000K

4000K

* Dual-processor systems execute two instructions simultaneously.
**For 1080/ 1088 and 1090/1099 Operands in Cache Memory.

5

Instruction Set
Instruction Groups
The KA10 has 366 instructions, the
KI10 378 instructions, and the KL 10398
instructions, an extremely large repertoire which provides the flexibility required for specialized computing problems. The instruction sets of the KA10
and KI10 are hardwired. By contrast,
the instruction set of the KL10 is microprogrammed; that is, each instruction
is actually a series of micro-instructions
that perform various logical functions
such as processor state control, data
path control and actual implementation
of each instruction in the KL 10's set. The
micro-code is loaded into a 1K 80-bit
word RAM (random access memory)
through the PDP-11 console/diagnostic
computer. Since the set provides so
many instructions to choose from, fewer
instructions are required to perform a
given function. Assembly language programs are therefore shorter than with
other computers, and the instruction
set simplifies the Monitor, language
processors, and utility programs. For
example, compiled programs on a
DECsystem-10 are often 30 to 50 percent shorter, require less memory and
execute faster than those of comparable
computers .
In addition to these instructions, the
DECsystem-10 provides 64 programmable operators, 33 of which "trap" to
the Monitor (Monitor calls) and 31 of
which trap to the user's call area. The
remaining instruction codes are unimplemented and reserved for future expansion. An attempt to execute one of these
unimplemented instructions results in
a trap to the Monitor.
The instruction set, despite its size, is
easy to learn. It is logically grouped into
families of instructions and the mnemonic code is constructed modularly.
All instructions are capable of directly
addressing a full 256K (36 bit) words
of memory without resorting to base
registers, displacement addressing, or
indirect addressing . Instructions may,
however, use indirect addressing with
indexing to any level. Most instruction
classes, including floating point, allow
immediate mode addressing, where
the result of the effective address calculation is used directly as an operand
in order to save storage and speed
execution .

indexing), and the remaining eighteen
bits (18-35) contain a memory address.
The instruction codes that are not
assigned as specific instructions are
performed by the processor as so-called
"unimplemented operations", as are
the codes for floating point and byte
manipulation in any KA10 that does not
have the hardware for these instructions.
An input/output instruction is designated by three 1s in bits 0-2. Bits 3-9
address the input/output device to be
used in executing the instruction, and
bits 10-12 specify the operation. The rest
of the word is the same as in other
instructions.

Instruction Format
In all the non-input/output instructions,
the nine high-order bits (0-8) specify
the operation, and bits 9-12 usually address an accumulator but are sometimes used for special control purposes,
such as addressing flags . The restofthe
instruction word always supplies information for calculating the effective
address, which is used for immediate
mode data or is the actual address used
to fetch the operand or alter program
flow. Bit 13 specifies the type of addressing (direct or indirect), bits 14-17
specify an index register for use in address modification (zero indicates no

ADDRESS TYPE
INDE X
REGISTER
ADDRESS

ACCUMUL ATOR
ADDRESS
INSTRUCTION
CODE

0

MEMORY ADDRESS

8 9

12 1314

17 18

35

ADDRESS TYPE
INDEX
REGISTER
ADDRESS
MEMORY ADDRESS

0

35

23

INSTRUCTION FORMAT

6

HALF-WORD DATA TRANSMISSION
The half-word data transmission instructions move a half-word and may
modify the contents of the other half of
the destination location. There are 16
instructions which differ in the direction
that they move the chosen half-word
and in the manner in which they modify
the other half ofthe destination location.
FULL-WORD DATA TRANSMISSION
The full-word data transmission instructions move one or more full words
of data from one place to another. The
instructions may perform minor arithmetic operations such as forming the
negative or the magnitude of the word
being processed.
BYTE MANIPULATION
The five byte manipulation instructions pack or unpack bytes of any length
anywhere within a word.
LOGIC INSTRUCTIONS
The logic instructions provide the
capabilities of shifting and rotating, as
well as performing the complete set of
16 Boolean functions on two variables.
FIXED-POINT ARITHMETIC
Two common conventions are to regard a number as an integer (binary
point at the right) or as a proper fraction
(binary point at the left); in these two
cases, the range of numbers represented by a single word is -2 35 to 235
-1 or -1 to 1-2-35. Since multiplication
and division make use of double-precision numbers, there are special instructions for perform ing these operations
to yield results that can be represented
by a single wo rd.
The format for double-length fixedpoint numbers is just an extension of the
single-precision format. The magnitude
(or its twos complement) is the 70-bit
string in bits 1-35 of the high- and loworder words. Bit a of the high-order
word is the sign, a for positive, 1 for
negative. Bit a of the low-order word is
ignored . The range for double-length
integer and proper fractions is thus
-270 to 270 -1 or - 1 to 1-2-70. Zero is
represented bya word containing all as.

FLOATING -POINT ARITHMETIC
All DECsystem-10 processors have
instructions to perform scaling, negating,
addition, subtraction, multiplication and
division upon numbers in single-precision, floating point format. In the singleprecision floating point format, one bit
is reserved for the sign, eight bits are
used for the exponent and 27 bits are
used for the fraction.
As a superset of the KA10, the KllO
and KL10 have instructions to perform
all of the above functions in doubleprecision floating-point format as well
as single-precision floating-point. In
double-precision floating-point format,
one bit is used for the sign, eight bits are
used for the exponent and 62 bits are
used for the fraction.
FIXED/FLOATING CONVERSIONS
Special KllO and KL 10 instructions
provide the capability of converting
fixed-point formats to or from floatingpoint formats. Two sets of instructions
are provided to perform this function:
one set optimized for FORTRAN and a
second set optimized for ALGOL.
ARITHMETIC TESTING
The arithmetic testing instructions
may jump or skip, depending on the
result of an arithmetic test and may
first perform an arithmetic operation
on the test word.
LOGICAL TESTING , MODIFICATION ,
AND SKIP
These instructions modify and/or test
using a mask and/or skip on selected
bits in an accumulator.
PROGRAM CONTROL
Program control instructions include
several types of jump instructions and
the subroutine control PUSHJ and
POPJ instructions.
INPUT/OUTPUT OPERATIONS
Input/output instructions govern all
direct transfers of data to and from the
peripheral equipment and also perform
many operations within the processor.
Block transfer instructions handle bulk
data transfers to and from I/O devices.
UNIMPLEMENTED USER
OPERATIONS (UUOs)
Many of the codes not assigned as
specific instructions are executed as
unimplemented user operations wherein
the word given as an instruction is
trapped and must be interpreted by a
routine included for this purpose either
by the programmer or by the Monitor.
Those UUOs reserved for use by the
Monitor are called Monitor UUOs
(MUUOs), while user UUOs are called
Local UUOs (LUUOs). Instructions that
are illegal in user mode also trap in the
same manner as MUUOs.
7

BUSINESS INSTRUCTION SET
Five instructions comprise the Business Instruction Set in the KL 10 central
processor. Four of these are new arithmetic instructions to add, subtract, multiply, and divide using double precision,
fixed-point operands. The new STRING
instruction is capable of performing
nine separate functions.
These functions include an EDIT
capability; decimal to binary and binary
to decimal conversion in both offset
and translated mode, (offset mode is
byte modification by addition of the
effective address of the string instruction. This also occurs in EDIT. In addition
to providing the translation function,
those instructions which use translation
can control the flags in ACs and can
detect special characters in the source
string.); Move String in both offset and
translated mode; and Compare String
in both offset and translated mode.
This Business Instruction Set provides
faster processing since there are specific instructions for doing more comprehensive string operations. These
instructions can be used on a variety of
code types such as ASCII and EBCDIC.
TrapHandlingon the KI10 and KL10
The KI10 and KL 10 provide facilities
for handling arithmetic overflow and
underflow conditions, pushdown list
overflow conditions, and page failures
directly by the execution of programmed
trap instructions. This trap capability
avoids recourse to the program interrupt
system .

If a program is running in a public
submode, pages within the user's addressing space are accessible only if
they are listed in the user's page map
and are defined to be accessible from
public mode. Pages designated public
are, by definition, accessible. Pages
designated concealed may be accessed
only at defined entry points, i.e. portals
which permit entry from publicsubmode
programs. In concealed submode operations, programs can access all of
the virtual addressing space. However,
if a program running in concealed submode executes an instruction from an
area designated to be public, the state
of the processor transfers over into
public submode. Concealed areas can
be used for proprietary coding that can
be executed but not altered or examined
by users in the public mode.
The supervisor and kernal submodes
are similar but not identical to the public
and concealed submodes. Supervisor
submode programs can access but

cannot alter areas designated as concealed. Also, any instruction executed
out of a public area from either supervisor or kernel submode returns the
processor to supervisor submode. In
kernel submode operations all of mem ory is accessible and can be altered.
Programs operating in kernel submode
can address portions of memory directly,
without paging, and it is through the
kernel submode program that page
restrictions are established. Functions
delegated to supervisor submode generally include those affecting individual
users as opposed to overall system
management of input/output, priority
interrupts, page map accounting, etc.,
which are handled by kernel submode
programs. The ability of kernel submode
programs to supply information which
supervisor submode programs can read
but notalter allows portions of the operating system to be hardware-protected
from other portions undergoing modi fications or design changes.

Processor Modes
Instructions on the KA10 are executed
in one of two modes depending upon
whether a mode bit has been set.
Programs operate in either User Mode
or Executive Mode. In Executive Mode
operations, all implemented instructions
are legal, addresses are not relocated,
and all core locations are accessible.
The Monitor operates in Executive
Mode and is able to control all system
resources and the state ofthe processor.
In User Mode operations, addresses
are relocated, certain instructions are
illegal, causing monitor traps when
executed, and address references are
confined within two user program
segments.
The KI10 and KL10 further divide
Executive and User Mode operation
into two submodes each. User Mode
is subdivided into public and concealed
submodes and Executive Mode into
supervisor and kernel submodes. For
each 512-word page in the system,
information is stored in a table maintained by the operating system which
specifies whether or not a page can be
accessed or altered, and if it is defined
to be public or concealed.

KI10 AND KL10 PROCESSOR MODES

USER MODE
Public Submode
• User programs
• 256K word address
• All instructions permitted
unless they compromise
integrity of system or other
users
• Can transfer to concealed
submode only at entry points

Concealed Submode
• Proprietary programs
• Can READ, WRITE,
EXECUTE or TRANSFER
to any location
labeled Public

EXECUTIVE MODE
(Monitor)
Supervisor Submode
• Performs general management of system
• Performs those functions
that affect only one user
ata time
• Executes in virtual address
space labeled public

8

Kernel Submode
• Performs 1/0 for system
• Performs those functions
that affect all users

Real-time Clocks

Fast Register
Blocks
General-purpose registers are a DECsystem-10 feature that help improve
program execution. These sets of fast
integrated circui t registers can be used
as accumulators. index registers, and as
memory locations. Since they may be
addressed as memory locations, they
do not require special instructions.
One set of 16 registers is included in
the KA10, four sets of 16 fast registers
are included in the KI10, and eight sets
of 16 fast registers are included in the
KL10. Context switching on the KA10 is
performed by storing the register information into core locations. Program
switching time for the KL 10 between
register stacks is 500 nanoseconds.
On the KI10 and KL10, different register blocks can be used for the operating
system and individual users. This eliminates the need for storing register contents when switching from User Mode
to Executive Mode. Also, a critical realtime program is able to maintain its own
register block f or handling data and
interrupt sequences at maximum speed.

The DK10 Real-time Clock is available
with each KA10- or Kl1O-based DECsystem-10 and provides high-resolution
timekeeping for time accounting, timebase maintenance, periodic high-frequency interrupts, and interval timing.
Meeting the most demanding real-time
requirements, the clock provides 10
Ilsec resolution and a choice of up to
2 18 possible timing intervals, so that interrupts can be programmed at intervals from 10 Ilsec up to 2.6 seconds.
In addition to an interval register, the
DK10 has a frequency counter which
counts the pulses of an internal 100 kHz
±0.01 clock, or an external clock having
a maximum frequency of 400 kHz. The
clock includes a comparator network
which provides a running comparison
between the frequency counter and
the internal register. When the frequency
counter reading equals the total on the
internal register, a program interrupt is
generated arid the frequency counter
is automatically reset so that it can time
the next interval.
The clock, which is assignable to any
interrupt channel, can be used to pace
real-time, monitor, or other functions
performed in either Executive or User
Modes. In fact, a KA10 or KI10 system
can have two clocks-one for each
mode-since two device codes are
available for clock use. Clock updating
is interlocked with the DATAl instructions so that it can be read correctlyat any time-by the KA10 or KI10 without
losing a clock pulse.
9

The four clocks built into the KL10
provide a number of timing and counting functions including an interval timer,
a time base, an accounting meter and
a performance analysis counter.
All of the operations on these clocks
are accomplished by means of 1/0 instructions to internal devices. Many of
these functions use a microsecond
source of pulses which is counted down
from the basic machine clock. The
0.005% tolerance will give less than
five seconds drift over 24 hours.
The Interval Timer provides a programmable source of interrupts with a
1 microsecond resolution and is similar
to the DK10 real-time clock . It is used for
real-time applications and for page
management by the Monitor. It is designed so that a real-time deadline
schedule with varying deadlines can be
implemented.
The Time Base provides a 60-bit microsecond resolution source of elapsed
time. This gives over a 9,140 year maximum time before wrap-around .
The Accounting Meters provide an
accurate and reproducible measure of
the amount of processor resource used
by a job, interrupts, page failures, and
cache activity.
The Performance Analysis Counter
provides a tool for studying hardware
and software performance of the system.lt may be usedto pointto hardware
andlor software bottlenecks.

On the KA10, dual memory protection
and relocation registers protect other
users and the monitor from errors in the
active user program. If a user attempts
to reference memory outside his area,
his program is stopped from operating
and control is transmitted to the operating system. The feature also permits
dynamic memory allocation, allowing
each user program to be assigned either
one or two segments of memory. One
of these segments can be write-protected so as to protect critical programs
or data from errors committed by the
user. Segments -which are multiples or
1024 words -may be located anywhere
in memory and may contract and expand as needs dictate. Memory management techniques, employed by the
Monitor, insure efficient memory usage.
The division of programs into two segments also makes possible the reentrant
or recursive use of language processors
and systems programs. With the DECsystem-1O, all DIGITAL-supported language processors and most utility programs are reentrant. In other words, each
program is written in two parts. One part
contains pure or reentrant code that is
not modified during execution so the
same copy can be used to simultaneously service any number of users. A
separate second part of the program
belongs strictly to each user and consists of non-reentrant code and data.
This section is stored in a separate area
of core. This feature allows more users
to utilize a given amount of physical
core simultaneously. Alternatively, less
core is required to service a given number of users. The result is much more
efficient use of computing resources.
The ability to divide programs into
two segments is not limited to DIGITALsupplied language processors and
utilities. User-written programs, including those written in higher-level languages such as FO RTRAN and COBO L,
can also take advantage of this feature.
Thus, user developed applications can
benefit from the same efficient treatment given DIGITAL-supplied software.

KI10 Processor
Associative Memory
EFFECTIVE ADDRESS
9

I

9

J

9

18 BITS" { 256K WORDS
512 PAGES

I
+
32 {
WORDS

9

13

ASSOCIATIVE
MEMORY

PAGE
TABLE

1
13
PHYSICAL ADDRESS

22 BITS" {4096K WORDS
8192 PAGES

KI10 ASSOCIATIVE MEMORY

KL10 Processor
Page Addressing
EFFECTIVE ADDRESS
9

9

I

18 BITS" {256K WORDS
512 PAGES

9

I

22 BITS" {4096K WORDS
8192 PAGES

I
+
512 {
WORDS

9

13

PAGE

TA8LE

1
13
PHYSICAL ADDRESS

KL10 PAGE ADDRESSING

10

The KI10 and KL 10 provide memory
address mapping from the program's
memory address space (referred to as
the effective address) to the physical
memory address space by substitution
ofthe most significant bits of the memory
address. This mapping provides access
to the entire physical memory space
which can be up to 16 times larger than
the maximum user address space. The
user's effective address space is 256K
words addressed with 18-bitaddresses;
the physical address space is 4,096K
words addressed with 22-bit addresses
(where 4,096K is equivalent to 4,194,304
decimal).
The memory mapping process utilizes the most significant 9 bits of the
effective address as an index into the
appropriate page map (User or Executive). The data located by the index provides 13 bits wh ich are appended to the
least-significan t 9 bits of the effective
address in order to form the 22-bit
physical add ress. Also provided are 3
bits which indicate what type of memory
requests are allowed to the page in
question (none, read-only, proprietary,
etc.).
If this scheme were implemented
exactly as outlined above, every user
memory reference would require two
actual memory references: one to
obtain the memory mapping data and
one to obtain the user's mapped memory reference. In order to reduce the
number of actual memory references
to nearly the same number as required
by the program, an associative memory
mapping unit is used in the K110, while a
copy of the entire page table is kept in
the KL 10 hardware.

If the address is in the range 0-17
(octal) inclusive, the hardware fast
register blocks are referenced instead
of the memory system. On the K110, the
User Mode bit and the high-order 9-bits
of the virtual address are compared
against the contents of the associative
memory registers which are part of the
memory mapping hardware. These 10bits will either exactly match one of the
associative registers or a no-match
occurs. On the KL10, the User Mode bit
and the high-order 9-bits of the virtual
address are used to do a "table look-up"
in the hardware page table.
On the K110, if a match exists, the
contents of the related register supply
the 13-bit most-significant portion of
the physical memory address and also
supply 3 bits which indicate what type
of memory references are allowed to
this page, i.e., if the memory request is
not consistent with the request type
allowed bits, a page failure occurs. On
the KL10, if a page table entry exists, the
contents of the entry supply the 13-bit
most-significant portion of the physical
memory address and also supply 3 bits
which indicate what types of memory
references are allowed to this page.
For both the KI10 and KL10, if the
memory request is consistent with the
request type allowed bits, the physical
address used consists of the 13 bits
from the related register as the most
significant bits of the physical address
and the 9 least significant bits of the
effective address as the least significant
bits of the physical address.
When the relocation data for a referenced page does not exist in the associative memory of the K110, or the hardware
page table of the KL10 (i.e., a no-match),
the hardware reads the relocation data
from the page table in memory and
stores it into the associative memory
of the KI10 or the hardware page table
of the KL10.
The associative memory in the KI10
has associated with it a reload counter
that points to one of the 32 entries in
the memory.
11

Any time a word of the associative
memory of the KI10 is referenced and
the reload counter is pointing at it, the
reload counter is incremented to pOint
at the next word in the KI10 associative
memory. Whenever it is necessary to
load a new entry into the associative
memory, the location replaced is the
one to which the reload counter pOints.
Thus, at worst, a page which was just
referenced would not have its word in
the KI10 associative memory replaced
by the next memory reference . If a
particular word in the KI10 associative
memory has not been referenced in
some time, the reload counter would
be left pointing to this word, having been
pushed away from all words in associative memory which have been used.
Thus, a 1-bit approximation to "Ieastrecently -used" page table operation is
obtained .
The monitor assigns the core area
for each user by loading the various
page tables, setting up the trap locations
in the user page map, and responding
appropriately when a trap occurs. The
Monitor provides memory protection
for itself and each user by filling the
page tables only with those entries
which are allowed to be accessed. A
zero access bit in the page table will
cause a reference to the associated
page to initiate a page failure trap to
the Monitor.
The TOPS-10 Operating System
utilizes the KI10 and KL 10 in-core page
maps to create one or two segment
programs in roughly the same fashion
as it uses the protection and relocation
registers of the KA10. The major benefits
of the paging capability are a smaller
unit of core allocation (512 words instead or 1024), the freedom to scatter
the pages of a segment randomly
through physical core (avoiding core
fragmentation and the overhead of
repacking core), and the opportunity
to execute a program when all of its
pages are not in physical core (i.e., a
virtual memory capability).

Memory Systems

Cache Memory
The KL 10 features a cache or buffer
memory with 160 nanosecond access
time. Data being written to or read from
memory is typically found in the cache
85 to 90 percent of the time, thus giving
the KL10 an effective memory access
time of 334 nanoseconds with current
DECsystem -10 memories. Another
featureof the "state-of-the-art" design
cache memory on the KL10 is that it
does not require write-through to memory. This eliminates, for example, the
necessity of writing back into main
memory each value of an index in a loop
comprised of only a few instructions.
A cache sweep feature allows all
pages or one selected physical page in
main memory to be updated from the
cache.

To meet the requirements of large
systems, DECsystem-10 core memory
can be modularly expanded to 256K
words for KA10-based systems or 4,096K
words for K110- and KL10-based systems, all directly addressable. Memory
can consist of combinations in 64K,
128K and 256K word modules. The
structure of the memory bus gives the
central processor and high-speed data
channels simultaneous access to separate memory modules and allows
each to operate at its own speed.
The MF10 provides up to 4 ports and
the MG10 or MH10 up to 8 ports. Each
port can be further expanded through the
use of the MX10 memory multiplexer.
The multiplexer handles up to eight
channels, inter-leaving data from the
channels on a word-by-word priority
basis. Such parallel operation yields
many improvements over systems
which provide only a single path to
memory. The memory bus station allows each data channel to transmit full
36-bit words in parallel at a speed of
one million words per second. In total,
the memory structure operates at rates
of up to 10 million characters per second
when I/O devices and processors are
concurrently simultaneously transferring data. In addition, the memory bus is
capable of handling a maximum of 16
memory modules. Each memory module
provides switches which allow that particular module to represent any module
of its size in the addressable memory
space. Thus, one model can replace
another without rewiring . The Switches
also provide for memory interleaving.
The core memory systems available
for the DECsystem-10 are described in
the memory table below.

Interleaving
The concept of interleaving has long
been used to increase the effective
bandwidth of DECsystem-10 systems.
On KA- and KI-based systems, successive memory locations were located,
via memory addressing hardware, in
alternating memory modules. Thus, the
processor, when requesting successive
logical locations, would not have to wait
for the complete memory read / write
cycle to be complete before affecting a
fetch. The first memory module could
be completing the write cycle, while the
second memory module could be accomplishing a read cycle.
The memory implementation techniques for the KL dramatically extend
this concl!lpt. The memory bus architecture of the KL 10 differs from both
the KA10 and the KI10 in that its width is
four 36-bit words . That is, in an adequately configured memory system,
the KL10 actually reads or writes four
words concurrently from memory. The
four logically success ive memory locations (obtained from four physically
separate memory modules) are placed
in the KL's cache memory, and in
typical programs, another core memory
reference need not be initiated until the
four instructions or data have been
processed. Combined with the typical
effects of the cache memory, therefore
the KL has an effective memory word
access time of 334 nanoseconds, using
current DIGITAL memory.

Core Memories

Word Size
Minimum Memo ry Size
Maximum Mem ory Size
KAlO
KI1 0
KLlO
Modu le Sizes
32K words
64 K wo rds
128K words
256K words
Read Access Time
Typ ica l
Maximum
Cyc le Time
Interleaving
M inimum memory
that can be disab led

12

MH 10

MGlO

MFlO

36 bits plus parity
64K

36 bits plus parity
32K

36 bits plus parity
32K

256K
4096K
4096K

256K
2048K
2048K

256K
1024K
1024K

No
Yes
Yes
Yes

Yes
Yes
Yes
No

Yes
Yes
No
No

735
745
1.2 11 sec
2 or 4 way

620 ns
660 ns
1.0 1' s
2 or 4 way

64K

32K

550 ns
610 ns
950 ns
2 or 4 way
External Only
32K

Priority
Interrupt System
The DECsyst em-10 Priority Interrupt
System is one of the most flexible
available today. Devices are assigned
under program control to anyone of
seven priority levels through the dynamic loading of a 3-bit register within
the device. Each interrupt level has any
number of high-speed programmable
sublevels. Th us, a program can change
the priority level of any device or disconnect the device from the system
and later reinstate it at any other level.
In the same manner, a program can set,
enable, or disable, all or any combination of levels with a single instruction .
In addition, the program can assign
some or all devices to the same level.
A set of instructions (block-in and
block-out) allow blocks of information
to be transferred between a device and
memory with a single instruction. These
instructions identify the source of the
interrupt, update a word count and data
address, transmit or receive the block
or information, and dismiss the interrupt.
The system can also generate interrupts through software. Real -time hardware can thusoperate on a high -priority
level while related computations, parti cularly if they are lengthy, can be performed on a lower level.
The DECsystem-10 program-assign able priority interrupt system provides
much greater flexibility than perman ently hard -wired systems. Hard-wired
systems requ ire a large number of
levels, often operate with an extremely
high overhead , and cannot change device priorities without system shutdown
and rewiring.

Multiplexed
1/0 Bus

An interrupt on the KI10 or KL10 can
cause the processor and the interrupting
device to immediately initiate one of
several possible actions. In response to
the "interrupt grant" signal from the
processor, the device may supply a
33-bit word which is decoded as 18 bits
address, 12 bits data, 3 bits function.
The processor then does one of the
following:
• Executes the instruction found atthe
supplied 18-bit address (K110 or KL10)
• Transfers a word into or out of the
addressed location (K110 or KL 10)
• Adds a signed 11-bit (12 bits+ + 11 bits)
value to the addressed location
(KL10 only)
• Traps to a predefined memory location (KA10)
Peripheral devices which are not
equipped with the decoding logic perform an interrupt and transfer of control,
as on the KA1O, to one of the standard
interrupt trap locations.
13

The DECsystem-10 Multiplexed 1/0
Bus provides a 36-bit full word parallel
path between memory and an 1/0 device for purposes of control or low-speed
data transfer. To initiate high speed data
transmission directly between memory
and a device connected to the memory
bus, a control word is first transferred
over the 1/0 bus to the buffer of the
high -speed device controller. Then, on
command, entire data blocks are moved
directly to orfrom.memory with a single
instruction. (For a description of the
memory bus, see the discussion of
Memory Systems.)
The 1/0 bus may also be used as a
control and data path tolfrom a large
num ber of low-speed 1/0 devices. Transfer is performed in 36-bit words in
parallel at speeds of 200K wordslsec
on the KA10, and 370K wordslsec on
the KI10 and KL 10. Thus each data transmission instruction moves one word
of data between memory and the buffer
of the device controller. When block
input or output instructions are used,
entire blocks of data are moved to or
from the device with a single instruction.

1040,1070, 1080 MASSBUS CHANNEL
AND CONTROL BLOCK DIAGRAM
DECsystem -10
I/O BUS

I--

l-

I--

Massbus
The KL 10 architecture and implementation now allow use of DIGITAL's
latest Massbus controllers, channels,
and peripheral devices. Although, via
memory bus and I/O bus logic, the KL10
supports traditional peripheral control
units, the efficient memory control unit
provides paths and logic for transfers
into and out of DECsystem-1090 memory. Virtual-to-physical address translation is performed by a 64 x 154-bit
RAM. The memory control also includes
a series of multiple word channel
buffers for high-speed direct I/O over
the channel bus to the individual Massbus devices. For each device, there is
one RH20 channel containing a 16-word
data buffer, a channel command word
register, and a control word location
pOinter-effectively a program counter.
The channels perform data transfer by
executing channel programs which are
set up in memory by device service
routines.
A storage bus provides a 1.6 million
words/second transfer bandwidth between the memory control unit and
memory. In diagnostic mode, the storage bus is used to access the internal
memory controllers. The channel bus
is a physically short, high -speed data
transfer path providing a peak I/O bandwidth of six million words/second between the memory control unit and the
Massbus controllers. The channel bus
operates in asynchronoustimedivision
multiplexed mode, allowing the connection of multiple controllers to
memory.
A high-speed data path (Massbus)
connects the integrated channel controllers and mass storage devices, such
as disk or tape. Operating either asynchronously or synchronously, the
Massbus transfers control and status
information or blocks of data between
devices and controllers . The UNIBUS,
an integral part of the PDP-11 architecture, provides a data and status control
path between the Front End Processor
and the devices making up the PDP-11
system, including the communications
interface and unit record I/O devices.

I

r - - - - - ----,

r--

MEMORY
BUS

MEMORY

:
I

I--

MX- l 0
MU LTI PLEXER

r--

DFlO,DFlOC
OR
DAS33

RHlO

MASSBUS

l - - - - - - - - -.!
IF REQU IRED

1090 MASSBUS CHANNEL

KL 10-B
l-

I-

CEN TRAL
PROCESSOR

I-

MEMORY
BUS

MEMORY

DMA

RH20

1/0
BUS
MASS BUS

UP TO 8

-

1/0 CHANNEL
CAPACITY
DECsystem-1050 and 1070 generation equipment implement high-speed
data transfers from mass storage devices via a direct to memory channel
using the DF10, DAS33 or DX10 channel
and an appropriate controller. If the
number of channels exceeds the available memory ports then an MX10 multiplexer can be used. In general, capacity
is determined by the memory system
word transfer rate capacity which will
vary based on the type of memory used
and the method of interleave. For current memories, fourwords can be transferred every microsecond in a four-way
interleaved configuration. Conflict in
memory port contention will reduce the
effective word transfer rate somewhat
and can result in "overruns" which occur when a rotating mass storage device cannot execute a memory transfer
in the required time. TOPS-10 recovers
from this situation and simply retries the
transfer until it is completed. The DAS33
buffered channel will greatly reduce or
eliminate "overrun" capacity loss.
14

The DECsyste m-1090 can use either
the direct to memory channels or the
internal channels in the KL10B Central
Processor. Since the processor is configured on a lower memory priority port
than direct to memory channels there is
no conflict between these devices. The
KL10 cache and internal buffering
further reduce any contention. The
number of internal high-speed channels which can be operated simultaneously depends on the data transfer
capacity between the CPU and Memory. This, in turn, is a function of the
memory interleave method and corresponding number of data busses implemented. The following table summarizes this relationship based on
RP04 or RP06 device transfer rates .
Memory Interleave
and KL10 Bus Mode

~

-2( 516

Number of Channels
Transferring Simultaneously

This table presumes no "overruns".
Should these occur they would be
handled by TOPS-10 in the same manner as direct to memory channels. It
should be noted that for typical data
transfer rates of under 1000 blocks per
second there is no measurable conflict
between instruction execution and I/O
transfer.

One of the more significant features
of the KL 10 is the PDP-11-based Console/Diagnostic Computer.
The PDP-11 communicates with the
KL 10 through a DECsystem-10/PDP-11
interface. The interface allows data
transfers between the PDP-11 and the
KL10 to take place simultaneously. On
the PDP-11 side of the interface, data
has direct memory access over the
PDP-11 UNIBUS in 8- or 16-bit bytes. On
the KL10 side of the interface, data may
exist in any size byte up to 36 bits in
length.
The PDP-11 serves as the console device forthe KL10 processor and includes
a TU56 DECtape for loading and diagnosing the PDP-11 and back-up for the
RP04 which normally loads the KL10's
micro-code memory. An LA36 DECwriter-11 provides operator/monitor
communication .
As a diagnostic computer, the PDP-11
can examine the data paths and the
control logic of the KL10 via a separate
diagnostic bus, even if the KL 10 is completely inoperative. Other features of
the diagnostic computer allow all data
busses to be checked. Remotediagnostic checking over telephone connection
can also be performed via the PDP-II
computer.
The console/diagnostic computer is
a state-of-the-art concept to provide
the DECsystem-1090 and DECsystem1099 with greatly improved mean-timebetween-failure and reduced meantime-to-repair. The KLiNIK diagnostic
system permits remote diagnosis of
system failures via the console/diagnostic computer.
15

Power Fail
If system power fails, a power failure
detection circu it senses the condition
and causes an interrupt. The interrupt
can trigger the operation of a program
which saves all valuable registers so
that the system can be restarted in a
minimum amount of time.
On the KI10 and KL10 (through the
PDP-11 console computer) an automatic restart capability has been added
to resume normal operations in the
event of a power outage. All three
phases of AC power are monitored.
Low voltage on any phase will initiate a
sequence of power-down operations.
A program-selectable automatic restart capability is provided to allow
resumption of operations when power
returns . Alternatively, a manual restart
may be used.
Temperature sensors strategically
placed within the equipment detect
high temperature and low air flow conditions and cause power shutdown.
This, in turn, initiates the power failure
interrupt.

Error Handling
The TOPS-10 Monitor records errors
that occur in the slave CPU (on a dual
CPU system) or peripheral subsystems
and notifies the operator. If the error
can be corrected then users affected
simply continue running. Alternatively,
the operator may request that the faulty
device be detached in which case the
user job will be notified and continued or
restarted as required. If the error detected is in memory then TOPS-10 will
attempt to move its own data, if any,
out of the failing memory. In the case
of disks, the system will attempt to
migrate any swapping space to another
unit to prevent loss of jobs. TOPS-10 also
provides diagnostics to facilitate on-line
maintenance of a particular device concurrent with user mode operation .
16

Dual CPU System
Multiprocessor systems, built around
all of DIGITAL's current CPU's, offer
attractive, economical solutions needed
for capacity and availability.
In these configurations, two processors divide responsibilities as master
and slave. The master runs the TO PS-10
operating system and handles all
scheduling and I/O. One processor can
take over the other's role through the
use of strategically-placed bus switching hardware, which allows peripheral
devices to be under the control of either
processor. If the master malfunctions,
the system stops and an operator can
have it back into action in under five
minutes by reconfiguring all I/O to the
slave, which then becomes the master.
Users just temporarily have somewhat
less computing power to work with, but
can still get their jobs done. Minutes
after a CPU malfunction that could
keep a single system down for hours,
the dual processor configuration can
be back in action. Redundant disks and
communications subsystems
can
provide increased capacity while all
components are fully operational and
back-up in case of an isolated controller
or subsystem malfunction.

An extremely im portant and valuable
side benefit of the redundant, switched
configuration is system maintainability.
Malfunctioning subsystems, (such as
disk controllers, etc.) which require a
CPU to fully diagnose, repair, and certify
as operational, may be included in a
"maintenance configuration" while the
remaining components of the system
continue with the production tasks.
Users need not suffer from any lack of
capability until scheduled maintenance
activity or "non-prime time" allows the
testing of the complete system. When
the subsystem or component is released,
fully tested, from Field Service, a
scheduled reconfiguration (providing
minimum impact on users) can be accomplished, providing full capability
again.
17

Dual CPU/peripheral configurations
can be initially installed or, through the
addition of appropriate redundant
system components and bus switching
hardware, can provide attractive upgrade/migration paths for existing
systems.

DECSYSTEM 1099 DUAL PROCESSOR SYSTEM
A

KLlOB
FRONT
END
RH20 ~____~________. -____~____. -__

*= RP04/6

DTE

DN
87S

COMMUNICATIONS LINES
(SYNC. AND ASYNC. )

MONITOR

MEMORY

MAGTAPE
SYSTEM

::::l

oz
o
""
I
U

Z

>V)

,/

DN
87S

COMMUNICATIONS LINES
(SYNC. AND A SYNC.)

/'

//

DTE
RH20
FRONT
END

KL lOB
1--------- UNIT RECORD DEVICES
'--____-----'
(SWITCHABLE)
A

DUAL DECSYSTEM 1090 SYSTEM

FRONT
END
RH~I--

__~L-______- ,____- .____- .____- .__

DTE

* =RP04/6

DN
87S

COMMUNICATIONS LINES
(SYNC. A ND ASYNC)

MONITOR

TAPE SYSTEM
(USED BY BOTH CPU'S)

MONITOR

NETWORK
LIN K

DN
87S

COMMUNICATION LINES
(SYNC. AN D ASYNC.)

DTE
RH20
FRONT
END

1/0 BUS #2
I--------~------.---------.------

'-----------'

UNIT RECORD EQUIPMENT

18

B

There are fou r disk systems available
on the DECsystem-10. The RHS04 system is designed to provide the DECsystem-10 with a fast-access, high transfer
rate swapping system which greatly enhances system performance and load
handling capability. The DECsystem10's three disk pack systems offer rapid
access, on-line storage, and large capacities at low cost. Modularly expandable, a DECsystem-10 allows up to four
controllers each with eight drives giving
a total capacity in excess of 6.3 billion
ASCII characters. In addition to storage,
a disk system may be used as either the
primary or secondary swapping system.
The RTP06 is DIGITAL's newest disk
system . It operates through a controller
which transfers data directly to and
from memory via the KL10 internal
channels. Since the controller provides
overlapped positioner operation, the
TOPS-10 operating system will simultaneously position two or more disk
drives, shortening the effective access
time and increasing throughput.
Each RP04 or RP06 drive configuration can have an optional dual Mass
Bus® channel connection which allows
access and data transfer via two paths
for each individual drive.
The RH04 and RP06 offer a high level
of data reliability. A phase locked loop
clock system and MFM (modified frequency modulation) recording provide
the latest in reliable reading and recording techniques. In addition, errordetection and correction hardware provides
information as to the position and pattern of any error burst up to 11 bits within
the data field. Correction of any data
field errors is then accomplished under
TOPS-10 software control.
20

Disks

Disk Drive Capacity (m words)
Transfer Rate (}1s/word)
Access Time: (msec)
Track-to-track
Average
Maximum
Organization:
words/sector
sectors/track
tracks/ cylinder
cylinders/pack
Number of Heads
Number of Recording Surfaces
Number of Disks
Number of Drives/Controller
Number of Drives/System
Maximum Storage/System
(b ASCII Chrs)

~

RP03

RP04

RP06

RS04

10.24
15

20.48
5.6

40.96
5.6

.256
4.0

7.5
30
55

7
28
50

10
28
55

0
8.5
8.5

128
10
20
400
20
20
11
8
32

128
20
19
411
19
19
12
8
32

128
20
19
815
19
19
12
8
32

128
64
64

1.96

3.19

6.30

.004

21

64
1
1
8
16

The DAS33 is intended to replace
DF10 data channels in large DECsystem-10 configurations containing many
high-speed peripherals where memory
transfer throughout is a critical consideration in a peak memory contention
environment.

•

Hardware and software compatible
with the standard Data Channels.
• 256-word data channel buffer reduces memory contention for highspeed, direct-to-memory peripherals, increasing memory transfer
throughput.
• Control word and data word "Iookahead" logic
• 22-bit memory addressing (four
million words of 36-bit memory)

The DAS33 has been developed by
the Advanced Systems Group to reduce peak memory contention and to
increase memory transfer throughput
for the new generation of high-speed
peripherals such as swapping disk
pack systems. It is fully hardware and
software compatible with the existing
data channels. By incorporating a 256word buffer (equivalent to two disk
sectors), block transfers are averaged
over available memory bandwidth. This
results in a minimization of memory
contention during peak memory transfer and an increase in usable memory
transfer throughput for high-speed
peripherals. Throughput is further enhanced by the "look-ahead" feature for
control and data words.
22

The DAS33 is recommended for
large DECsystem-10 configurations
having swapping and disk pack subsystems. By minimizing memory contention (with the two-disk sector buffer)
and by providing control and data work
"look-ahead", the DAS33 will increase
the system memory . throughput to/
from these high-speed devices. Its 22bit-wide memory addressing but enables I/O controllers to address up to
four million (36-bit) words of memory.
The DAS33 includes its own 19-inch
cabinet and memory bus cables. One
DAS33 is needed for each controller.

Digital Equipment Corporation's
popular computer data storage medium,
DECtape, is available in a dual-transport
version. This fixed-address, bi-directional magnetic tape storage system
provides random access for highspeed reading or writing of files on 260
foot reels of 3l4-inch-wide magnetic
tape contained on a reel less than four
inches in diameter. Redundant recording (each bit of data is recorded on two
separate tracks) assures high reliability
and eliminates the need for character
parity checking. In addition, block check
summing insures data integrity.
DECtape does not require the rewind
and count record operations orthe writing of separate header records typical
of ordinary magnetic tapes. The high
reliability and convenient size make
DECtape the ideal medium for program
storing and transportation.
23

DIGITAL provides a complete range
of magnetic tape systems from the lowcost THU16 to the mid-range TU70/
TU71, to the high-performance TU72.
The THU16 subsystem provides 200,
556, 800 bpi (NRZI) and 1600 (Phase Encoded-PE) capability at low cost. With
a tape speed of 45 ips, these transports
exhibit a 72K character per second
maximum transfer speed. For systems
with moderate duty requirements, the
THU16 is an excellent price/performance choice.
The TU70 series of high-speed magnetic tape drives represents the latest
state-of-the-art design in tape transport
technology.
The TU70 provides 800 bpi (NRZI)
and 1600 bpi (PE) capability at 200 ips,
resulting in a maximum transfer rate of
320K characters per second. The TU71
provides 7-track capability at 220/556/
800 bpi (NRZI) at 200 ips for a maximum
transfer rate of 160K characters per
second.
For very high performance systems
DIGITAL offers the TU72, providing
faster processing, fewer tapes, faster
dumps, and improved error handling
for DEC-10 sites. This 6250 bpi drive
provides 3 to 1 recording density compression of an equivalent1600 bpi drive.
Using the Group Coded Recording
(GCR) t~chnique the higher density
provides more capacity per tape,
higher data rates and better error
correction .

Magnetic Tape Systems
The TU70-series drives incorporate
such features as automatic threading
and loading of 5-, 8 1/2- and 10 1/2-inch
reels as well as industry-standard cartridges. Dynamic amplitude control
during read operations improves performance during 1600 bpi operations by
reducing read/write errors, avoids the
need for preamplifier adjustments,
and allows optimum performance with
differenttape brands on the same drive.
All TU70 tape drives are equipped with
an automatic reel hub to speed and
ease tape loading and alleviate reel slippage. An analog capstan control provides constant motor drive control during read/write and rewind for smoother
operation and greater drive-to-drive
compatibility, while a velocity feedback
reel control provides for protection and
velocity sensing of the tape loop in the
vacuum columns to minimize reel overspeed; this prevents tape matching, results in longer tape file, and greater machine reliability. A linear high-speed rewind mechanism reduces rewind time
and lessens stress on the reel drive system resulting in smoother operation . A
tape storage pocket is provided for convenience.
24

The controller handles up to 8 tape
drives and provides direct access to the
DECsystem-1O memory via an integrated data channel. The controller includes such features as improved
phase-encoded and group coded recording error correction techniques for
fewer permanent and temporary read
errors. A read-only memory control for
incorporation in microprogram diagnostics, monolithic MSI design, for
greater reliability, loadable in-line microprogram diagnostics, programmable maintenance memory, adjustment-free read detection, and a radial
interface which allows each individual
drive to be maintained or physically
removed without effecting the operation of other units.

III

_ _ l. I- I
1-.

TU70/TU72

Magnetic Tape

Tape Speed
Transfer Rate at:
200 bpi
556 bpi
800 bpi
1600 bpi
6250 bpi
Recording Technique
Nominal Inter-record
Gap:
9-track
7-track
Rewind Time (2400 ft)

J

TU10W

TU16

TU70

45 ips

45 ips

200 ips

9 K char/sec
25 K char/sec
36 K char/sec

9
25
36
72

K char/sec
K char/sec
K char/sec
K char/sec

160 K char/sec
320 K char/sec

NRZI

PE/NRZI

PE/NRZI

0.6 inches
0.75 inches
195 seconds

0.5 inches

0.6 inches

3 minutes

45 seconds

25

TU71
200 ips

TU72
125 ips

40 K char/sec
111.2 K char/sec
160 K char/sec

NRZI

200 K char/sec
780 K char/sec
PE/GCR

0.3 inches
0.75 inches
45 seconds

55 seconds

Line Printers
Card Readers
Designed to meet varying throughput requirements and provide quiet,
reliable trouble-free operation, the
CR10 card readers accept SO-column
EIA-ANSI standard cards . For fast
throughput, the user can choose the
console model CR10-E which pro cesses 1200 cards per minute or the
table model CR10-D which processes
1000 cards per minute. The CRlO-F card
reader is a lower-cost table model
which operates at 300 cards per minute,
but utilizes the same excellent features
as the high-throughput model.

The LP10-F and LP10-H are drum type line printers designed with emphasis on output quality and operating reliability. The two -speed capability of the
64-character LP10-F and the 96-character LPlO-H increases the printing
quality for both low-speed operation
and multi-part forms handling.
The LP10-F operates at 1250 or 925
lines per minute and the LP10-H at 925
or 6751ines per minute. Both line printers
feature optical vertical format unit using
12-channel tape, and a quick-change
drum which allows the character set to
be changed in just 5 minutes. Both
printers are available with either an EDP
or Scientific character setfor the quickchange drum .
26

For user sites requiring high-grade
print quality, flexibility of printing fonts,
heavy print volumes and high reliability
from a horizontal font-motion line printer,
DIG ITAL offers the LP100. The LP100, an
impact printer using a Charaband*®
available with a 64-character EDP character set font on one side of the band
and a 96 character set on the other. The
Charaband* can be reversed by the
operator in about one minute. The
LP100 stores a stream of up to 132 characters in a print line buffer and upon
command prints the contents of the
buffer and advances the forms as
specified.
* ®Trademark of Dataproducts Corporation

Line Printers
PRINTERS

TYPE

PRINT SET

MAXIMUM
COLUMN
LINES/MINUTE WIDTH

PAPER
TYPE

# PARTS
OF PAPER
FORMS

1250/925
925/675
1200/900

std.
std.
std.

6
6
6

MAXIMUM

# CHARACTERS SPEED

LP10-F
LP10-H .
LP100

~

impact
impact
impact

64
96
64/96

27

132
132
132

Each DECsystem-10 is capable of supporting up to 512 interactive terminals.
A wide variety of EIAand 20 mACurrent
Loop compatible terminals is supported
by the DECsystem-10.
The LA36 DECwriter II is designed to
be industry's lowest-priced, best performing, most reliable 30-cps impact
teleprinter. DECwriter II is packed with
capability : it's fast - a true 30-cps machine; it's quiet - you'll almost forget it's
there; it has many people-oriented design considerations you wouldn't expect
in a cost-conscious product; it's versatile-you can use 6-part forms and even
standard 132-column line printer paper;
and it's built for a long, reliable lifetime
of heavy use.

The LA35 Receive Only terminal is an
LA36 without the input key board.
The LA37 APL terminal is really three
terminals in one. It provides the user
with the choice of either full APL, full
upperllower case ASCII, or upper case
TTY in one reliable, easy-to-use hardcopy terminal.

28

The LA180 DECprinter I is an inexpensive 7x7 dot matrix 132 column printer
that prints at 180 characters per second.
It features the 128 character ASCII u pperlower case print set, an extensive array
of human engineering features, and
may be used either locally or as a remote printer hard copy unit.
The DECprinter I extends the fieldproven technology of the LA36 DECwriter II into applications demanding
higher speed capabilities .

Hardcopy Terminals

CHARACTERISTICS

LA35 RECEIVE
ONLY

LA36

LA37APL

LA180 RECEIVE
ONLY

Print speed
(chars./sec.)

10/15/30

10/15/30

10/15/30

up to 180

Print positions
per line

132

132

132

132
(with 133 bit buffer)

Character set

96 ASCII upperl
lower case

96 ASCII upperl
lower case

Full APL; Full ASCII
upper case TTY

128 ASCII upperl
lower case

Character
formation

7x7 dot matrix

7x7 dot matrix

7x7 dot matrix

7x7 dot matrix

Interfaces

20mA standard;
EIA optional

20mA standard;
EIA optional

20mA standard;
EIA optional

Parallel

Original +6

Original +6

Original +6

Original +5

Purpose of Unit

A hardcopy output
device (e.g. CRT
display attachment)

Interactive
hard copy
terminal

APL Terminal

A medium-speed
hard copy unit

Comments

Basically an LA36
without keyboard

#

of copies

Prices include
controllerlinterface
to attach to PDP-8
or PDP-11

29

DECscopes - DIGITAL's VT50 series
of character oriented video terminals eliminate the need for electromechan ical devices. They are all simple for operators to master, quieter than mechani cal terminals, and inexpensive. The
three models - VT50, VT50H, and VT52
- differ only in advanced application
features.
The VT61 is the first DECscope that
can transmit in either block or character mode. It offers over 80 commands, including character and line
insertion and deletion, text justification,
reverse video and protected forms, and
a number of other editing features not
found on the VT50 and VT52 DECscopes.
The VT61 is an upper and lower case
ASCII video terminal with a 1920 character display and 19-key function pad .
However, the VT61 uses a faster microprocessor with larger memory t han do
the other DECscope models, so it can
offer more stand-alone capabilities.
30

CRT Display Terminals

VT61

CHARACTERISTICS

VT50

VT50H

VT52

Screen format (lines
and chars.lline)

12x80
(960 chars .)

12x80
(960 chars .)

80x24
(1920 chars.)

Character matrix

5x7

5x7

7x7

7x8

Character set

64 ASCII upper case

64 ASCII upper case

96 ASCII upper/
lower case

128 char. upperllower

Keyboard

Standard typewriter

Standard typewriter
plus 19-key pad
(10 numeric, enter,
period & 3
unlabeled function
keys)

Standard typewriter
plus 19-key pad
(10 numeric, enter,
4 censor, period &
3 unlabeled function
keys)

DEC standard +19key pad + 12 user
defined keys

Communications
interface

20 mA std ., EIA
optional

20 mA std., EIA
optional

20 mA or EIA
standard

20 mA std., EIA
optional

Data rates (bps)

75-9600

75-9600

75-9600

75-9600

yes
yes

yes
yes

yes
yes

yes
yes

no
yes
no

no
yes
no

yes
yes
no

yes
yes
yes

no

no

no

yes

Cursor control

Cursor movement
via ESCAPE
sequences

Direct cu rsor
addressing

Direct cursor
addressing plus
cursor keys

Direct cursor
addressing

Optional features

No optional
attachments

No optional
attachments

Electrostatic
copier, LA35RO

LA35
LA180
202T modem
interface

Editing capabilities
- Erase to end of line
-Erase to end of
screen
-Downward scroll
-Upward scroll
-Insert/delete
character
-Insert/delete line

31

24x80
(1920 chars.)

~\

32

Asynchronous
Communications
Asynchronous communications equipment, with associated terminals, serve
a broad spectrum of user needs within
the DECsystem-10 interactive environment. These needs include interactive
program development, operator control of the system, program production
and control, data entry, program and
data preparation, interactive problem
solving, student instruction, and information storage and retrieval, to name a
few. Asynchronous communications
is used to link the DECsystem-10 with
terminal equipment of three types: hard
copy, such as the LA37 or LA36 DECwriters, CRTterminals such as the VT52
DECscope, and buffered terminals,
such as the new VT61.
Local terminals within 1500 feet of
the computer site can be connected
over dedicated hard-wired lines. Remote terminals located beyond this
distance are connected over dedicated
or dial-up telephone lines.
Speeds of asynchronous hard-copy
terminal equipment generally range
from 10 to 30 characters per second .
CRT terminals range in speed from 10
to 960 characters per second, depending upon their communications interface and type of line used for
transmiss ion.

The goal of an interactive terminal
system is to match all users to the system in such a way that they feel the
terminal is identified closely with the
computer. In this way, the machine becomes an easy and natural extension
of each application. To do this, the com puter must be a willing partner in the
interchange so that the user feels that
he is in control of the terminal, and not
the reverse. Typically, a user types input
sporadically, occasionally makes mistakes, and reads fast on output. The
Data Communications system for the
DECsystem-10 has been engineered to
deal with these user characteristics.
The system, which includes hardware
and software elements, accepts characters at uneven rates, allows for single
character or line correction of mistakes,
and allows the user to type at his own
speed-even typing ahead of the computer's response to his characters.
When users are entering large volumes
of data and need no prompting, the system accumulates data and anticipates
ongoing entries so that the user can
continue to type despite fluctuations in
the system's response .
Features of DECsystem-lO asynchronous communications include the ability
to delete one or more characters, delete
entire lines, retype lines and characters,
interact on a character or complete line
basis (depending upon the application),
suppress unwanted output, and make
use of prompting messages to call for
input. Terminals may communicate with
the system adm inistrator or operator at
the central or remote sites as well as
with other terminals .
34

Synchronous
Communications
DECsystem-10 synchronous communications provides error-free, highspeed paths between the central computer and remote stations or other
computer systems. DECsystem-10 synchronous equipment controls transmission over high-speed synchronous
lines. This transmission is on a message
basis in contrast with the character-bycharacter basis of lower-speed, asynchronous transmission.
Full duplex protocol software supplied with the DECsystem-10 makes
efficient use of high-speed transmission
in both directions simultaneously on a
full-duplex line. Frontend hardware and
software handles hardware control,
message formatting, and message acknowledgements. The data transmission
is "pipelined", a technique which increases line efficiency by fully overlapping the acknowledge-continue signals.
Transmission errors are detected
using block-oriented techniques including longitudinal data checks . Data
errors are corrected through retransmission of the erroneous block. Hardware is available to interface to a broad
range of communications modems.

Synchronous vs.
Asynchronous
Transmission
Asynchronous transmission is employed to transmit data on a characterby-character basis; synchronous transmission is preferred for moving large
blocks of data. Asynchronous transmission, at 2400 baud, is limited to conveying no more than 240 eight-bit characters
per second; synchronous transmission,
at 2400 bits/second, can convey 300
eight-bit characters per second. This
difference comes about because synchronous transmission uses independent, block-oriented clock synchronization, while asynchronous transmission
re-establishes its character-oriented
clock synchronization with each character. Thus, in the asynchronous case,
each eight-bit character requires, minimally, one start bit and one stop bit.

The most important distinction between asynchronous and synchronous
methods of transmitting data is the
means of error detection and recovery.
Error detection for asynchronous devices is normally accomplished by insertion of a parity bit into the data field
of each character transmitted. Halfduplex (local character echo) receivers
will typically check this parity bit and
notify the sender of the existence of an
error. In full-duplex systems, such as
the DECsystem-10, the character echo
is generally provided by the communications computer (DN8?, DAS80, etc.)
to which the user is immediately
attached. In this case, transmission error
detection and corrective action are
thus the responsibility of the sender,
who simply compares what was sent
with what the computer says it received.
The communications computer which
echoes the character to the user then
guarantees that it will deliver that character, without error, through the network, to the appropriate DECsystem-10
host.
35

This mode of error detection is highly
efficient and fully acceptable for interactive, terminal-oriented systems, but
is less efficient and less than acceptable
for message -oriented communications
with other computers. Synchronous
communication normally uses a blockoriented error detection technique,
such as the Cyclic Redundancy Check
(CRC -16) polynomial. This technique is
most efficient for block-oriented data
transmission and for this reason, communications with remote computers is
accomplished using synchronous data
transmission .

Remote
Communications
Prior to the current line of DECsystem10 remote communications products,
each remote user had been individually
linked to the computer center by separate long-distance telephone lines.
The only device that the remote user
had available at his location was the
terminal; he was able to utilize available
devices at the central station, but he
could not obtain output other than his
terminal output at the remote site. Either
the user had to travel to the central station to obtain a listing, or he had to have
the listings delivered to him . However,
with remote communications hardware
and software, listing files and data can
be sent via a single synchronous fullduplex line to a small remote computer.
That remote computer in turn services
many remote peripherals, including term inals, card readers and line printers.
This eliminates the need for the user to
travel to the central site to obtain his
output. The remote computer and its
associated peripherals constitute a remote station.

Remote station use of the central
computer is essentially the same as
local use. All sharable programs and
peripherals available to local users at
the central computer station are also
available to remote users. The remote
user specifies the resources he wants
to use and, if available, these resources
are then allocated in the same manner
as to a local user. In addition to utilizing
the peripherals at the central station,
the remote user can access devices
located at his station or at another remote station . Local users at the central
station can also make use ofthe peripherals at remote stations. Therefore, by
specifying a station number in appropriate commands to the operating system , each user of the DECsystem-10 is
given considerable flexibility in allocating
system facilities and in directing input
and output to the station or DECsystem-10 of his choice.

36

The DECsystem-1O allows for simultaneous operation of mu ltiple remote
stations. Software provis ions are incorporated in the operating system to differentiate one remote station from
another. By utilizing peripheral devices
at various stations, the user is provided
with increased capabilities. Forexample,
data can be collected from various remote stations, compiled and processed
at the central station, and then the results
of the processing can be sent to all
contributors of the data.

Complex Topologies
This is the name given to a group of
general network building capabilities
which, when put together, allow the
user to make many different cost, performance and high availability tradeoffs so that his network may be configured in a way which is very much optimized
for him and therefore very favorable to
his environment. These building block
capabilities are :
Route-thru
This is the ability for a Remote Station
to send information to a DECsystem-1O,
via the Universal Front End, to which it is
only indirectly attached-i.e., indirectly
through another Remote Station or Universal Front End. This is most easily
illustrated in the following picture:

Simple Topologies

Local

C

The most basic network topology is
a point-to-point, or star topology. It is
best illustrated by the following diagram.

ITY

LP

B

~~

Loca l

A

DN87

or
DN87S
LP
CR

Local
TTYS

Re mote
TTY
LP
CR

CR

TTY

Information flows from A to C only by
being routed through B. This is a very
useful price performance trade-off since
the cost of a communications line from
A to B and from B to C may be substantiall y cheaper than the cost of lines from
A to C and from B to C.
37

Multi-pathing
This is the ability to have more than
one path between nodes in the network. In general, these links are automatically load leveled depending upon
the relative speed and error rate of the
lines. This is best illustrated by the following diagram :

DECsystem -lO

A
DN8?

Loca l

TTY

B
LP

C

DAS82

DAS82

CR

LP
CR

D
DAS80

LP
CR

The two links between A and B will
be automatically load leveled with data
flowing through each link. This may be
a desirable configu ration for high availability systems with, for example, one
link via microwave and one by ground
link. This would allow degraded operation if either link went out for any reason .
There are also two routes from D to A.
The direct link could be a high speed
link, while the link routed through C
could be lower speed and used as hot
backup to the direct link. Again, both of
these configurations have desirable
benefits that the user, in building his
network, can pick and choose from
depending upon his specific needs and
desires. The ability exists to pick and
choose rather than having a very rigid
set of network configuration rules.

Multiple Host Support
Ifthere is more than one DECsystem10 in a network, the Universal Front
Ends on the DECsystem-10s may be
hooked up to each other via a synchronous link, or the Remote Stations may
be hooked up to each Universal Front
End. This allows Teletype users anywhere in the network to select on an
individual basis, before they LOGIN,
which DECsystem-10 they wish to
LOGIN to. This is accomplished by
means of the SET HOST command.
Dynamic Topology
This feature allows individual nodes
in a network to go down or come up
without affecting the remainder of the
network. The exact implications of an
individual node going down depend on
the type of node and its network functions, but any new node may be added
to the network dynamically.

1rClsll·t()·lrClsll
CCNllmunicClti()n
DECnet-10 provides the capability to
have tasks or jobs in different and geographically removed processors communicate with each other in a straightforward manner. These jobs appear to
each other as mere I/O devices much
like a magtape. Jobs in different DECsystem -10s may communicate with
each other, or DECsystem-10 jobs may
communicate with other DECnet systems, such as RT-11, RSTS, RSX-11 M, D,
& S, lAS, and RTS-8 when they are
equipped with DECnet software.
This interprocessor communication
allows only for jobs to talk to each other,
not for terminal concentration. It does
not directly allow for remote file access,
remote device access or program sharing. It does, though, present a mechanism or a building block which could be
used to provide those features.
38

IBM
Device Emulati()n
Clnd lrerminati()n
Through the use of IBM device emulation the DECsystem-10 can be attached to an IBM 360/370computer via
a synchronous link. The DECsystem-10
will be treated by the IBM system as if it
were an IBM 2780 or 3780 or HASP
multi-leaving remote station. This facilitates job submissions and file transfers
back and forth between the two computer systems.
Through IBM device termination IBM
2780's, and HASP multi-leaving work
stations can be used as Remote Job
Entry stations to enter batch jobs into
the DECsystem-10; batch jobs may be
placed in the card reader of the 2780,
3780 or HASP work station, read into
the DECsystem-1O, executed and have
their output returned to the 2780, 3780
or HASP work station line printer.

DN87/DN87S

Universal
Synchronous/
Asynchronous
Front End Subsystem
The DECsystem-10 data communications products are based on the
DNS7 Universal Synchronous/ Asynchronous Communications Front End
Subsystem. The DNS7 is configurable
in asynchronous only mode (up to 112
asynchronous lines), synchronous
only mode (up to 12 synchronous lines)
or with a mixture of synchronous and
asynchronous lines in the same DNS7.
These three modes allow the DNS7 to
be configured very cost effectively in a
wide variety of customer specific configurations. This great flexibility is the
essence of the DNS7 Communications
Subsystem .
The DNS7 is capable of synchronous
communication with the DASSO series
Remote Stations, the DAS92 Remote
Station and the DC72NP Remote Station. These allow Remote Job Entry, Remote Concentration of interactive Teletype lines or a combination of the two.
The DNS7 with these Remote Stations
supports complex topologies such as
multi-pathing, route-thru, and multiple
host support. With DECnet-10, it is possible to have a DECsystem-10 communicate with any DECnet system-for
example RSX-11M, RSX-11D, RSX-11S,
lAS, RT-11, RSTS/E, RTS-S, DECsystem10 or DECSYSTEM-20 if equipped
with DEC net software.
The DN87S has the same functionality as a DN87 except that it is attached
to the DECsystem-10 via the DTE10
interface rather than the DL10. Up to
three DN87S's may be attached to the
DTE10 interface. The DNS7 and the
DN87S require TOPS-10 version 6.03
or later monitor release .

Asynchronous Functionality
On an eight-line group basis, the
DN87/87S is capable of terminating
20 mA current loop, local EIA or EIA with
full modem control type of asynchronous line/terminal interfaces. On an
individual line basis the DN87/87S
asynchronous lines can be :
• ASCII Teletype-compatible code or
2741 EBCD or Correspondence
Code.
• Full duplex with echoplex (i.e. echo
generated by computer) or fullduplex with local copy (simulated
half-duplex).
• Program selectable line speeds of
from 50 through 9600 baud.
• Split transmit/receive speeds.
• Automatically baud rate detected
for 110, 134.5, 150 and 300 baud lines.
Some off-loading of the DECsystem10 host is accomplished, in that the
DN87/87S does the majority of the
echoing for asynchronous lines. It does
not echo special characters, nor does it
echo when the user is in character-ata-time mode (e.g., DDT -when an individual character can be a command) .
The DN87/87S also does fill character
generation.

I

~

39

Synchronous Functionality
The DN87/S7S is capable of term inating EIA and/or current-loop type synchronous links. The line speeds may be
2400, 4S00, 7200, 9600, 19.2K, 38.4K or
40.SK baud on an individual line basis.
These links operate only in full-duplex
with simultaneous bidirectional transmission. The synchronous links use
DDCMP protocol for error checking
and correction and for point-to-point
link control.
These synchronous links communicate only with the DC72NP RemoteStation (DC72NP is a software only upgrade of the DC71 or DC72), the DAS80
Series Remote Stations, the DAS92
Remote Station or another DN87/87S.
On an individual synchronous line basis
the DNS7/87S can also communicate
on a task to task basis with systems running DECnet software.

Options List
The DN87 is the Universal Synchronous/ Asynchronous Front End Communications Subsystem. Software to
provide complex topology support is
included with the DN87. The DN87 requires the addition of DN81-xx synchronous and/or asynchronous line options.
DN87-DA, DB -DN87 including DL10-C
port only. Requires DL 10-A with available port. Note that this is what would
be ordered with a 1080 or 1060 System
Package, which includes a DL 10.
DN87-AA, AB -DN87 including DL 1O-A
Communications Interface and one
DL 1O-C port.
DN87S-AA, AB -DN87 with DTE10
interface.

ASYNCHRONOUS LINE OPTIONS
DN81-EA, EB -Asynchronous Expansion Cabinet including one DN81-EC
16-Line
Asynchronous
Expansion
Group. Requires two DN81-Fx 8-Line
Terminator Groups to activate the lines.
DN81-EC, ED-Asynchronous 16-Line
Expansion Group. This requires two
DN81-Fx 8-Line Terminators to activate
the lines.

DN81-FA -8-Line Terminators each
with 20 mA Current Loop Local Interfaces.
DN81-FB -8-Line Terminators
with EIA Local Interfaces.

each

DN81-FC-8-Line Terminators each
with EIA Full Modem Control Interfaces.
DN81-FD -8-Line Terminators with Integral Auto Answer Modems. (These
modems require customer supplied
DAA's).

40

SYNCHRONOUS LINE OPTIONS
DN81-EE, EF -Synchronous Expansion
Cabinet. Includes one DN81-H.

DN81-H -Synchronous Line Controller
Expansion Line. For data transmission
speeds of up to 10K baud and for attachment to EIA RS232C compatible modems.
DN81-J-Synchronous Line Controller.
For data transmission speeds of up to
40.8K baud and for attachment to 303type current mode modems.
NOTE: Option designations are such
that if there are two designations the
first is 115V/60Hz and the second is
230V/50Hz. If there is only a one option
designation that option is NOT power
dependent.

Asynchronous Configuration Rules
• The DN87cabinet(DN87-AorDN87D) has no available mounting space
for asynchronous lines.
• If any asynchronous lines are required a DN81-EA Asynchronous Expansion Cabinet must be ordered.
This cabinet includes one DN81-EC
Asynchronous 16-Line Expansion
Group and has available mounting
space for up to three additional
DN81-EC units. Therefore, the DN81EA is capable of containing up to 64
asynchronous lines.
• A maximum of two DN81-EA Asynchronous Expansion Cabinets are
permitted per DN87.
• Each DN81-EC Asynchronous 16Line unit requires two DN81-Fx (FA,
FB, FC or FD) 8-Line Terminators to
activate the lines.

Hardware Configuration Guidelines
A pictorial representation of the DN87
cabinet arrangements should help to
simplify the explanation of the configuration rules.
DL10-A

DN87-D or DN87S
INCLUDES
PDP-11/40
16K MEMORY
(DN87),32K
MEMORY
(DN87S) AND
INTERFACE
PORT
AVAILABLE
MOUNTING
SPACE FOR UP
TO 4 DN81-H/J
SYNC LINE
UNITS

DN81-EA

DN81-EE

INCLUDES
ONE DN81-EC
16-LlNE ASYNC.
EXPAN. UNIT

INCLUDES ONE
DN81-H SYNC.
LINE UNIT

AVAILABLE
MOUNTING
SPACE FOR
UPTO 3
ADDITIONAL
DN81-EC

AVAILABLE
MOUNTING
SPACE FOR
UPTO 7
ADDITIONAL
DN81-H

~~--------------~v~--------------~)
DN87-A
LINE MAXIMUMS PER DN87/DN87S
Max. No of
Sync. Lines
0
4
8
12

Max. No. of
Async. Lines
112
64
32
0

Proper number of asynch ronous
lines are made up using the Asynchronous Configuration Rules from
above.
• Proper number of synchronous
lines are made up using t he Synchronous Configuration Rules from
above.

•

41

Synchronous Configurations Rules
• The DN87 cabinet (DN87-A or
DN87-D) has available mounting
space for up to four DN81-H/J synchronous line units.
• If more than four Synchronous Line
Units are required a DN81-EE Synchronous Expansion Cabinet must
be ordered . This cabinet includes
one DN81-H Synchronous Line Unit,
and available mounting space for up
to seven additional DN81-H units.

Complex Topologies
Complex topologies are available to
all DECsystem-10s using the DAS80
Series Remote Stations and the DN8?
Front End (includes DC?5NP and
DAS85) with the 6.03 version of TOPS10. This means that route-through, multpathing, multiple host support and dynamic topologies (SET HOST monitor
command) are all a standard part of the
6.03 monitor and available to those who
have the appropriate communications
hardware and software configurations.

DECnet-10
DECnet is the set of software products
which extend various DIGITAL operating systems so they may be interconnected with each other to form computer networks. The DECnet user can
configure a variety of networks, satisfying a variety of constraints, by choosing
the appropriate CPU's, line interfaces
(and speeds) and operating systems
software.
42

Digital Network Architecture, implemented across a wide range of operating systems and hardware architectures, enables users to build a variety of
networks.
DECnet-10 provides interprocessor
task-to-task communications for the
DECsystem-10. Thus users may communicate on a program to program basis
with any other DECnet system through
the DN8? front end. This will include
RSX-11S, RSX-11M, RSX-11D, lAS, RT-11,
RSTS, RTS-8, DECSYSTEM-20 and
other DECsystem-10s.

DAS 80 Series
Remote Station
The DAS80 Series Remote Stations
are a family of remote stations with a
wide range of functionality. The DAS80
is a Remote Job Entry Station with a
300 cpm Card Reader, a 300 Ipm Line
Printer and an LA36 Console. The DAS81
is a Remote Concentrator capable of
concentrating up to 32 asynchronous
lines. The DAS82 is a combination of the
DAS80and DAS81, facilitating both RJE
and Remote Concentration .
When linked to a DN87/DN87S Universal Front End the DAS80 Series Remote Stations will support complex
topologies such as route-thru, multipathing, and multiple host support.

Asynchronous Functionality
The asynchronous terminal lines attached to the DAS80 Series Remotes
have the same functionality as the
asynchronous lines attached directly
to the DN87/DN87S.
Synchronous Functionality
The synchronous line is used as a full
duplex dedicated line to anyone of a
DC75NP, DAS85 or DN87/DN87S DECsystem-10 Front Ends. The DAS80 Series Remote Stations are all downline
loadable from the DECsystem-10
through the synchronous link.
Unit Record Devices
The Line Printer (LP) and the Card
Reader (CR) on a DAS80 or DAS82 Remote Station are available from the
DECsystem-10 host in a transparent
manner. This means that any user at
any terminal can use this remote LP or
CR very similarly to how he would use a
LP or CR attached directly to the host.

This is accomplished by use of the DECsystem-10 Monitor Command LOCATE
which sets the default LP and CR for a
specific user.
The LA36 DECwriter, which is included
with the DAS80 Series Remotes, can be
used as the Operator Controlling Console for the spoolers which are running
for the LP and CR at that station. This
means that any operator-type requests
(e.g., LP out of paper) appear at the remote location with the LP and CR rather
than at the host.
Host Interfaces
The DAS80 Series Remote Stations
can only communicate with the DECsystem-10 via the DC75NP, the DAS85
or the DN87/DN87S Front Ends. The
DN87/DN87S requires the 6.03 or later
version of the TOPS-10 monitor, while
the DC75NP and the DAS85 require the
6.02A or later monitor. The DC75 Front
End will not run under 6.02 or later monitors unless it is equipped wit h the "NP"
upgrade (additional 4K memory, KG11
CRC unit and software).

• fa

43

OPTIONS LIST
DASSO-AA, AB-Remote Batch Station
Includes 1 DN81-H, LA36 Console,
DAS80-CA/CB, DAS80-LA/LB, PDP-11
and software.
DASS1-AA, AB - Remote Concentrator
Includes PDP-11, 1 DN81-H, DN81-EA
and software. One more DN81-EC can
be added for a total of 32 asynchronous
lines.
DASS2-AA, AB - Remote Batch Station
and Concentrator. Includes PDP-11,
LA36 Console, DAS80-CA/CB, DAS80LA/LB, DN81 -H, DN81 -EA and software.
DN81-Fx asynchronous irterfaces are
also required and must be ordered
separately.
UNIT RECORD OPTIONS
DASSO-CA, CB - Card Reader, 300 cards
per minute.
DASSO-LA, LB - Printer, 300 lines per
minute, 132 printing positions, 64 printing characters, EDP character set.
DASSO-LC, LD-Printer, 230 lines per
minute, 132 printing positions, 96 printing characters, EDP character set.

ASYNCHRONOUS LINE OPTIONS
DNS1-EA, EB- Asynchronous Expansion
Cabinet including one DN81-EC 16 Line
Asynchronous Expansion Group. Requires two DN81-Fx 8-Line Terminator
Groups to activate the lines.
DNS1-EC, ED - Asynchronous 16-Line
Expansion Group. This requires two
DN81-Fx 8-Line Terminators to activate
the lines.

DNS1-FA-8-Line Terminator each with
20mA Current Loop Local Interfaces.
DNS1-FB - 8-Line Terminators each with
EIA Local Interfaces.

SYNCHRONOUS LINE OPTIONS
DNS1-H - Synchronous Line Controller
Expansion Line. For data transmission
speeds of up to 10K baud andforattachment to EIA RS232C compatible
modems.

DNS1-FC - 8-Line Terminators each with
EIA Full Modem Control Interfaces.

DNS1-J - Synchronous Line Controller.
For data transmission speeds of up to
40.8K baud and for attachment to 303type current mode modems.

DNS1-FD - 8-Line Terminators with Integral Auto Answer Modems. (These
modems require customer supplied
DAA's).

Note: These same line options (DN81-xx)
are used on the DAS80 series remote
stations, as described here, on the
DN8? and for DC?6 add-ons.

44

DAS91
Remote Station
The DAS92 Remote Station is a low
cost remote job entry concentrator that
is attached to the DECsystem-10 via
one synchronous link to a DN8? IDN8?S
front end . The DAS92 may be configured in one of the following manners:
1. up to 15 asynchronous terminal lines
2. up to 12 asynchronous terminal lines
plus a card reader or line printer
3. up to 8 asynchronous terminal lines
plus a card reader and line printer
Only one synchronous interface is
permitted on the DAS92, therefore the
DAS92 must be a sequential node. This
means it may not do multi-pathing or
route-thru. Data to the DAS92 may be
routed from some other node, but no
data may be routed through the DAS92
since it is only capable of having one
synchronous link.

Options
1. DAS92-AA, AB Basic Unit, including
15K, PDP-8/A processor, VT52 console
terminal, desk, ROM for down-line loading, one (1) synchronous line interface
and software. Requires at least one (1),
buta maximum offive(5) optional units
listed below:
(a) DAS92-EA Asynchronous 4-line
multiplexer, including line drivers.
The DAS92-EA Asynchronous 4-line
Multiplexer will accommodate either
20 mao or EIA lines in any mixture.
One out of every four can be full
modem control. The baud rate is
switch selectable anywhere from 50
to 4800 baud. Maximum of four (4)
DAS92-EA's per DAS92-A.
(b) DAS92-CA, CB Card Reader.
The DAS92-CA, CB Card Reader is
a Digital CR8-F for 80-column (only)
cards, and operates at 285 CPM .
Maximum of one (1) Card Reader per
DAS92-A.
(c) DAS92-PA LA180 Printer. The
LA180 operates at 180 characters
per second and uses a 95-character
set (upper and lower case). The
carriage is 132 columns wide. Maximum of one (1) LA180 per DAS92-A.

45

(d) DAS92-VA, VD LP05 Line
Printer, (54-characters). This is the
LP05 (LE8-V) and operates at 300
lines per minute using a 54-character set. The carriage is 132 columns
wide. Maximum of one (1) LP05 per
DAS92-A.
(e) DAS92-WA, WD LP05 Line
Printer, (95 characters) . This is the
same as the DAS92-VA except that
it uses the 95-character set (upper
and lower case) . Maximum of one (1)
LP05 per DAS92-A.

DAS61-EA, EB-Synchronous Expansion Cabinet for expansion past 4 synchronous lines. Includes no synchronous lines.

DAS61
IBM 1780/3780
FRONT END
The DAS61 Front End allows IBM
2780 and 3780 emulation and termination. This means that IBM 2780's and/or
3780's can be used as RJEstations into
the DECsystem-10 or that the DECsystem-10 can emulate (or simulate) an
IBM 2780 or 3780 to an IBM 360/370
computer. The DAS61 can handle a
maximum of12 synchronous lines each
operating independently with any combination of 2780 or 3780 emulation or
termination. The maximum aggregate
throughput of a DAS61 is 100,000 bits
per second (100K baud). The DAS61-D
is interfaced to the DECsystem-10 via
the DL10 and the DAS61-S is interfaced
via the DTE10. Multiple DAS61's are
supported per DECsystem-10.
OPTIONS
DAS61-DA, DB -IB M 2780 and/or 3780
Emulation and Termination Front End.
Including DL10-C port and requiring
DL10-A with available port. Requires
addition of DAS61-H and/or DAS61-J
synchronous line units.
DAS61-SA, SB -IB M 2780 and/or 3780
Emulation and Termination Front End
including DTE10 interface. Requires
addition of DAS61-H and/or DAS61-J
synchronous line units.

DAS61-H-Synchronous Single Line
Controller for data transmission speeds
of up to 10K baud and for attachment to
EIA RS232C compatible modems.
DAS61-J -Synchronous Single Line
Controller for data transmission speeds
of up to 50K baud and for attachment
to 303-type current modems.
DAS61-QC -DAS61 Software Only.
DAS61-QX - DAS78 to DAS61 Software
Only Upgrade (prerequisite GALAXY).

DAS61
IBM HASP
MULTI-LEAVING
FRONT END
The DAS62 Front End combines all
of the functionality of the DAS61 with
support of IBM HASP multi-leaving
work stations as DECsystem-10 RJE
stations and also allows for the DECsystem-10 to simulate a HASP multileaving work station to an IBM host
computer. The DAS62 can handle a
maximum of12 synchronous lines each
operating independently with any combination of 2780 or 3780 or HASP multileaving emulation or termination. The
maximum aggregate throughput of the
DAS62 is 100,000 bits per second (100K
baud). The DAS62-D is interfaced to the
DECsystem-10 via the DL10 and the
DAS62-S is interfaced via the DTE10.
Multiple DAS62's are supported per
DECsystem-10.
46

OPTIONS
DAS62-DA, DB-IBM 2780 and/or 3780
and/or HASP multi-leaving work station
Front End. Including DL 1O-C port and
requires DL10-A with available port. Requires addition of DAS62-H and/or
DAS62-J synchronous line units.
DAS62-SA,SB -IBM 2780 and/or 3780
and/or HASP multi-leaving work station
Front End including DTE10 interface.
Requires addition of DAS62-H and/or
DAS62-J synchronous line units.
DAS62-EA, EB -Synchronous Expansion Cabinet for expansion past 4 synchronous lines. Includes no synchronous lines.
DAS62-H -Synchronous Single Line
Controller for data transmission speeds
of up to 10K baud and for attachment to
EIA RS232C compatible modems.
DAS62-J -Synchronous Single · Line
Controller for data transmission speeds
of up to 50K baud andforattachmentto
303-type current modems.
DAS62-QC -DAS62 Software Only
DAS62-QX-DAS78 to DAS62 Software Only Upgrade (prerequisite
GALAXY)
DAS62-QV - DAS61 to DAS62 Software
Only Upgrade

DECSYSTEM 1040,1050,1055, 1060, 1070~1077, 1080 AND 1088 CONFIGURATION

UP TO 3 LINE PRINTERS
2 CARD READERS
1 CARD PUNCH

UP TO 8 TAPE DRIVES

UP TO 112 ASYNCHRONOUS LINES
OR UP TO 12 SYNCHRONOUS LINES

, UP TO 8 DECTAPES

~

00
UP TO 16
MEMORY
MODULES
UP TO 64
ASYNCHRONOUS LINES

UP TO 8 DISK DRIVES

(UP TO 32 DRIVES PER SYSTEM)

UP TO 8 TAPE DRIVES

DEC SYSTEM 1090/1099 CONFIGURATION

CENTRAL
PROCESSOR

DTE
DATA LlNK

110 BUS

,-----------,1 UPTO 3 LINE PRINTERS
2 CARD READERS
1 CARD PUNCH

UP TO 112 ASYNCHRONOUS LI NES
OR UP TO 12 SYNCHRONOUS LlNES

UP TO 3

DATA CHANNEL
CONTROL RH20

UP TO 4

TAPE DR IVES

DATA CHANNEL
CONTROL RH20
UP TO

+:0

ID

UP TO 16
MEMORY
MODULES

UP TO 8 DECTAPES

;r)

8
UP TO 8 DISK DRIVES

(UP TO 32 PER SYSTEM)

UP TO 112 ASYNCHRONOUS LlNES
OR UP TO 12 SYNCHRONOUS LlNES

DESCRIPTION

PREREQUISITE

MAX. NO.
SUPPORTED
(NOTE 1)

KA10-A, KA10-C

KA10 Central Processor; 366 hardware instructions,
10-character-per-second console terminal.

None

2

K11O, KI10

K110 Central Processor; 378 hardware instructions,
memory paging, instruction look-ahead, virtual
memory, 1O-character-per-second console terminal.

None

2

KL 10-BA, KL 10-BB

KL10 Central Processor; 395 microprogrammed
instructions, business instruction set, high-speed
cache memory, virtual memory, instruction lookahead, 30-character-per-second console terminal.

None

2

MF10 Core Memory ; 32K words of to-microsecond
memory .
MF10 Core Memory expansion module; 32K words
of to-microsecond memory to expand M F10-A,

KA10, KI10 or KL10

Note 2

MF10-A

Note 2

OPTION DESIGNATOR
115V/60Hz 230V/50Hz
Central Processors

Memories and Channels
MF1O-A, MF10-A
MF10-E, MF10-E
MF10-G, MF10-G

MF10 Core Memory; 64K words of to-microsecond
memory.

KA10, K110, or KL 10

Note 2

MG1O-HA

MG10 Core Memory; 128K words of 1.0
microsecond memory

KA-10, K110, or KL10

Note 2

MH10-H

MH-1O Core Memory 256K words of 1.2
microsecond memory

KA-10, KI10 or KL10

Note 2

MC1O-D, MC10-D

Memory Access Port; for MD10 Memories

MD10

64

MC1O-F, MC10-F

Memory Access Port ; for MF10 Memories.

MF10

64

MX10, MX10

Memory Port Multiplexer; provides direct memory
access for up to eight FD10 Data Channels using
18-bit address logic.

MC10

3

MX10-C , MX10-C

Memory Port Multiplexer ; provides direct memory
access for up to.eight DF10-C Data Channels using
22-bit address logic.

MC10

3

DF10,DF10

Data Channel; permits data transfer between highspeed devices and core memory ; uses 18-bit
address logic

MC10 or MX10

8

DF10-CA, DF10-CB

Data Channel; permits data transfer between highspeed devices and core memory; uses 22-bit
address logic.

MC10 or MX10-C

8

DAS33

Buffered Data Channel; permits block data
transfers between I/O controllers and core
memory; contains 256-word data buffer; uses
22-bit address logic.

Avail. memory port
MX10 or MX10-C

8

RP02-A, RP02-B

Disk Drive; 5.12-million words capacity; average
access time 47.5 milliseconds; transfer rate
15 microseconds per w ord.

RP10 or RP10-C

32

RP03-AS, RP03-BS

Disk Drive ; 10.24-million words capacity; average
access time 47.5 milliseconds; transfer rate 15
microseconds per w ord.

RP10-C

32

RP02-P, RP02-P

Disk Pack; additional disk pack for RP02 or RP03
disk drive.

RP02 or RP03

n/a

RP10-CA, RP10-CB

Disk Controller; controller for up to eight RP02
and/or RP03 Disk Drives .

DF10 or DF10-C

3

RP02-CA, RP02-CB

Disk System; includes DF10 Data Channel, RP10-C
Controller and one RP02 Disk Drive.

MC10, MX10

3

RP03-CA, RP03-CB

Disk System: includes DF10 Data Channel,
RP10-C Controller and one RP03 Disk Drive.

MC10, MX10

3

Disk Systems

50

OPTION DESIGNATOR
115V/60Hz 230V/50Hz

MAX. NO.
SUPPORTED
(NOTE 1)

DESCRIPTION

PREREQUISITE

RP04-AA, RP04-AB

Disk Drive; 20A8-million words capacity; average
access time 27 milliseconds ; transfer rate 5.6
microseconds per word.

RHP04-A, RHP04-B ,
or RHP04-D

32

RP04-BA, RP04-BB

Disk Drive; 20A8-million words capacity; average
access time 27 milliseconds; transfer rate 5.6
microseconds per word; controller select option
for attachment to two controllers.

RHP04-E, RHP04-F,
or RHP04-H

Note 3

RP04-C, RP04-C

Controller Select Option ; converts RP04-A to
RP04-B.

RP04-A

n/a

RP04-P, RP04-P

Disk Pack; additional disk pack for RP04 Disk Drive.

RP04-A or RP04-B

n/a

RHP04-AA, RHP04-AB

Disk System ; includes controller and one RP04-A
Disk Drive.

DF10 or DF10-C

4

RHP04-BA, RHP04-BB

Disk System ; includes controller and one RP04-B
Disk Drive.

DF10 or DF10-C

4

RHP04-DA, RHP04-DB

Disk System; includes DF10 Data Channel, controller and RP04-A Disk Drive .

MC10, MX10

4

RHP04-EA, RHP04-EB

Disk System; includes DF10 Data Channel , controller and one RP04-B Disk Drive.

MC10, MX10

4

RHP04-FA, RHP04-FB

Disk System; includes DF1O-C Data Channel,
controller and one RP04-A Disk Drive.

MC10, or MX10-C

4

RHP04-HA, RHP04-HB

Disk System ; includes DF10-C Data Channel,
controller and one RP04-B Disk Drive.

MC10, MX10-C

4

RTP04-AA, RTP04-AB

Disk System including Controller and RP04-A
(single access) Disk Drive

KL 10-B

4

RTP04-BA, RTP04-BB

Disk System including Controller and RP04-B
(dual access) Disk Drive

KL1O-B

4

RTP04-C

Dual Channel Access Kit

KL10-B, RTP04-A

N/A

RHP06-AA, RHP06-AB

Disk System; including Controller and RP06-A
(single access) Disk Drive.

DF10 or DF10-C

4

RHP06-BA, RHP06-BB

Disk System; including Controller and RP06-B
(dual access) Disk Drive.

DF10 or DF10-C

4

RP06-AA, RP06-AB

Add-on Disk Drive (single access); includes one
RP06-P Disk Pack. 39, 40 million word capacity
average access time. 27 milliseconds, transfer
rate 5.6 microseconds per word.

RHP06-A or RHP06-B

32

RP06-BA, RP06-BB

Add-on Disk Drive (dual access); includes one
RP06-P Disk Pack. 39, 40 million word capacity
average access time, 27 milliseconds, transfer
rate 5.6 microseconds per words.

RHP06-A or RHP06 -B

32

RP06-C

RP06 Dual Access Kit

RP06-A

RTP06-AA, RTP06-BB

Disk System including Controller and RP06-A
(single access) Disk Drive

KL10-B

4

RTP06-BA, RTP06-BB

Disk System including Controller and RP06-B
(dual access) Disk Drive

KL10-B

4

RTP06-C

Dual Channel Access Kit

KL10-B , RTP06-A

7

RHS04-DA, RHS04-DD

Swapping Disk; 256K words of swapping storage;
transfer rate of four microseconds per word; room
for one additional RHS04-C .

RHS04-G , RHS04-H
or RHS04-J

16

RHS04-CA, RHS04-CD

Swapping Disk ; 256K words of swapping storage;
transfer rate four microseconds per word; for
expansion of RHS04-D.

RHS04-D , RHS04-G
RHS04-H, RHS04-J

16

RHS04-GA, RHS04-GD

Swapping System; includes controller and one
RHS04-D Swapping Disk.

DF10 or DF10-C

2

RHS04-HA, RHS04-HD

Swapping System; includes DF10 Data Channel,
controller, and one RHS04-D Swapping Disk .

MC10, MX10

2

RHS04-JA, RHS04-JD

Swapping System; includes DF10-C Data Channel ,
controller, and one RHS04-D Swapping Disk .

MC10 or MX10-C

2

51

DESCRIPTION

PREREQUISITE

MAX. NO.
SUPPORTED
(NOTE 1)

TU10A-EE, TU10A-EJ

Magnetic Tape Drive ; 9-channel drive, 45-inchesper-second; recording densities of 200,556 and
88 bpi.

TM10-A or TM10-B

8

TU10A-FE, TU10A-FJ

Magnetic Tape Drive; 7-channel drive, 45-inchesper-second ; recording densities of 200, 556 and
800 bpi.

TM10-A or TM10-B

8

TM1O-AA, TM10-AB

Magnetic Tape Controller; Interfaces to I/O bus of
KA10 or KI10 Central Processors for control of
up to eight TU10A Magnetic Tape Drives.

KA10 or KI10

TU10-CA, TU10-CB

Magnetic Tape System; includes TM10-A Controller
and one TU10A Magnetic Tape Drive.

KA10 or KI10

THU16-EA, THU16-ED

Magnetic Tape System; including RH10 and TM02
Controllers and TU16-E 9-track, 45 ips Tape Drive.

DF10 or DAS33

8

OPTION DESIGNATOR
115V/60Hz

230V/50Hz

Magnetic Tape Systems

Recording densities of 800/1600 bpi
TTU16-EA , TTU16-ED

Magnetic Tape System including Massbus
Controller, Tape Controller and TU16-E
Tape Drive

KL10-B

4

TU16B-E, TU16B-ED

Tape Controller and TU16-E Tape Drive
(for expansion beyond 4 drives)

THU16-E or TTU16-E

8

TU16-EE, TU16-EJ

Add-on Magnetic Tape Drive, 9-track, 45 ips.
Recording densities of 800/1600 bpi

THU16-E

32

TU40-A, TU40-B

Magnetic Tape Drive ; 9-channel drive, 150-inchesper-second ; recording densities of 200, 556 and
800 bpi.

TU40-C, TU41-C

16

TU41-A, TU41-B

Magnetic Tape Drive ; 7-channel drive, 150-inchesper-second ; recording densities 200, 556, and
800 bpi.

TU40-C, TU41-C

16

TM10-BA, TM10-BB

Magnetic Tape Control; attaches to DF10 or
DF10-C Data Channel to control up to eight TU40
and/or TU41 Magnetic Tape Drives.

DF10 or DF10-C

2

TU40-CA, TU40-CB

Magnetic Tape System; includes DF10 Data Channel, TM10-B Controller and one TU40 Magnetic
Tape Drive .

MC10, MX10

2

TU41-CA, TU41-CB

Magnetic Tape System ; includes DF10 Data Channel TM10-B Controller and one TU41 Magnetic
Tape Drive.

MC1O, MX10

2

TU70-AA, TU70-AB

Magnetic Tape Drive ; 9-channel drive , 200-inchesper-second; recording densities 800 and 1600 bpi .

TU70-C

16

TU71-AA, TU71-AB

Magnetic Tape Drive ; 7-channel drive, 200-inchesper-second ; recording densities 200, 556, and
800 bpi.

TU70-C

16

TU70-CA, TU70-CB

Magnetic Tape System ; includes Data Channel,
controller and one TU70-A Magnetic Tape Drive.

MC10, MX10 or
MX10-C

2

TU56-A, TU56-B

DECTAPE Unit ; dual-drive DECTAPE.

TD10 or TD10-G

8

TD1O-A, TD10-B

DECTAPE Control; provides control for up to four
TU56 DECTAPE units.

KA10

2

T01O-CA, TD10-CB

DECTAPE Control; provides control for up to four
TU56 DECTAPE units.

K110, KL10

2

T01O-GA, TD10-GB

DECTAPE System; includes TD10 Controller and
one TU56 DECTAPE unit.

KI10 or KL10

2

TU72-C

Magnetic Tape System ; includes DX10 data
channel, TX02 tape control unit and TU72-E
9-track 125 ips Tape Drive . Recording densities
of 1600 and 6250 bpi.

KI10 or KL10

2

52

DESCRIPTION

PREREQUISITE

MAX. NO .
SUPPORTED
(NOTE 1)

Magnetic Tape Drive ; 9-track, 125-inchesper-second; recording densities 1600 and 6250
bpi.

TU72-C

8

Card Reader ; table-top card reader, 1000-cardsper minute.

KA10, KI10 or KL10

2

CR1O-EA, CR10-EB

Card Reader; console card reader, 1200-cards-perminute .

KA10, KI10 or KL10

2

CR1O-FA, CR10-FB

Card Reader; table-top card reader, 300-cards-perminute.

KA10, KI10 or KL10

2

LSP10-LA, LSP10-LB

Line Printer ; 245-lines-per-minute , 64-character
print set

KA10, KI10 or KL10

1, Note 5

LP10-FE, LP10-FE

Print Drum; 64-character EDP print drum for
LP10-F Line Printer.

LP10-F

LP10-FF, LP10-FF

Print Drum; 64-character Scientific Print drum
for LP10-F Line Printer.
Print Drum , 96-character EDP Print drum for
LP10-H Line Printer.

LP10-F

N/A

LP10-H

N/A
N/A

OPTION DESIGNATOR
115V/ 60Hz 230V/ 50Hz
TU72-E

Hard-copy Equipment
CR10-DA, CR1O-DB

LP10-HE, LP10-HE

N/A

LP10-HF, LP10-HF

Print Drum, 96-character Scientific Print drum for
LP10-H Line Printer.

LP10-H

LP1O-FA, LP10-FB

Line Printer ; 1,250-lines-per-minute, 64-character
EDP print set

KA1O, K110, KL10

3

LP1O-FC, LP10-FD

Line Printer ; 1,250-lines-per-minute, 64-character
Scientific print set

KA10, K110, KL10

3

LP10-HA, LP10-HB

Line Printer, 925-lines-per-minute, 96-character
EDP print set

KA10, K110, KL10

3

LP10-HC, LP10-HD

Line Printer, 925-lines-per-minute, 96-character
Scientific print set

KA10, K110, KL10

3

LP100-BA,LP100-BB

Line Printer; up to 1500LPM , EDP print setsee LP07-Y .

KA10, K110, KL10

3

LP07-YA

Charaband for LP100 with 2 sets of 64-char. fonts .

LP100-B

N/A

LP07-YB

Charaband for LP100 with 2 sets of 96-char. fonts .

LP100-B

N/A

LP07-YC

Charaband for LP100 with 1 set of 64-char. fonts
and 1 set of 96-char. fonts

LP100-B

N/A

XY10, XY10

Plotter Control; for CALCOMP Model, 51'3 or 565
plotter or equival ent

KA10, K110, KL10

2

XY10-A, XY10-A

Plotter ; CALCOMP Model 565 plotter with control;
uses 12-inch paper; specify step size:

KA10, K110, KL10

2

KA10, K110, KL10

2

Step size
0.G1 inches
0.005 inches
0.1 inches
XY10-B, XYV-B

Steps/minute
18,000
18,000
18,000

Plotter; CALCOMP Model 563 plotter with control;
uses 31-inch paper ; specify step size:
Step size
0.01 inches
0.005 inches
0.1 inches

Steps/minute
12,000
18,000
18,000

53

Maximum No.
Option Designator
11SV/60Hz 230V/SOHz

DESCRIPTION

Prerequisite

Supported
(Note 1)

Asynchronous Data Communication Systems
DC10-AA, DC1O-AB

Data Line Scanner; provides controller plus four
units of cabinet space; DC10 System handles up to
64 lines per DC1O-A.

KA10, KI10

2

DC1O-B, DC1O-B

Eight-line Group; Interface for eight local or
dial-up lines; requires one unit of cabinet space;
dial-up lines require DC10-E for full modem control.

DC10-A

16

DC1O-C, DC10-C

Telegraph Relay Assembly; provides conversion
from local to long lines using full - or half-duplex
facilities; requires two units of cabinet space.

DC10-B and DC10-D

S

DC10-D, DC10-D

Telegraph Power supply; provides a standard linevoltage power supply used with DC10-C (120 volt,
2 amps); no cabinet space required .

DC10-C

S

DC10-E, DC10-E

Expanded Data Set Control; provides expanded
DC10-B
control of eight data sets in the DC10; recom mended for maximum system security; requires two
units of cabinet space.

S

DC10-F, DC10-F

Expander Cabinet; provides eight units of cabinet
space and power supplies for expansion beyond
DC1O-A.

DC10-A

2

DC10-H, DC10-H

Eight-line Group; interface for eight local or dialup 2741-type lines; requires one unit of cabinet
space; dial-up lines require DC10-E for full modem
control.

DC1O-A

S
Note 6

DASSO-AA, DASSO-AB

Remote Batch Station. Includes 1 DNS1 -H,
LA36 Console, DASSO-CA/CB, DASSO-LA/LB,
PDP-11 and software.

DAS S5, DNS7, or
DC75NP

N/A

DASS1-AA, DASS1-AB

Remote Concentrator. Includes PDP-11, 1 DNS1-H,
DASS5, DNS7, or
DNS1-EA and software. Can add one more DNS1-EC, DC75NP
ED for a total of 32 asynchronous lines. DNS1-Fx
asynchronous interfaces are also required and must
be ordered separately.

N/A

DASS2-AA, DASS2-AB

Remote Batch Station and Concentrator. Includes
PDP-11, DASSO-CA/CB card reader, DASSO-LA/LB
line printer, 1 DNS1-H, DNS1-EA and software.
DNS1-Fx asynchronous interfaces are also
required and must be ordered separately.

DASS5, DNS7, or
DC75NP

N/A

DAS92-AA, DAS92-AB

Includes 16K PDP-S/A processor, VT52, ROM for
down-line loading, one synchronous line interface.

DECsystem-10
DC75-NP, DASS5
or DNS7

N/A

DAS92-EA

Asynchronous 4 line multiplexer including line
drivers. Will accommodate either 20 mA or EIA
lines in any mixture.

See DAS92
configurator

4

DAS92-CA, DAS92-CB

Card Reader for SO-column (only) cards;
operates at 2S5 cpm.

See DAS92
configurator

DAS92-PA, DAS92-PD

LA 1S0 Printer operates at 1S0 cps and uses a
96-character set.

See DAS92
configurator

DAS92-VA, DAS92-VD

LP05 Line Printer (64 characters) operates at
300 Ipm; 132 columns wide carriage

See DAS92
configurator

DAS92-WA, DAS92-WD

LP05 Line Printer (96 characters).

See DAS92
configurator

Remote Stations

54

Option Designator
DESCRIPTION

Prerequisite

Maximum No.
Supported
(Note 1)

Unit Record Options

DAS80-CA, DAS80-CB

Card Reader, 300 cards per minute.

DAS80 Series Remote

DAS80-LA, DAS80-LB

Printer, 300 lines per minute, 132 printing positions,
64 printing characters, EDP character set.

DAS80 Series Remote

DAS80-LC, DAS80-LD

Printer, 230 lines per minute, 132 printing positions,
96 printing characters, EDP character set.

DAS80 Series Remote

DN87-DA, DN87-DB

DN87 including DL lO-C port only. Requires DL10-A
with available port. Requires addition of DN81-xx
synchronous and/or asynchronous line options.

KA10, KllO, KL10
DL10

6

DN87-AA, DN87-AB

DN87 including DL10-A Communications Interface
and one DL10-C port. Requires addition of DN81-xx
synchronous and/or asynchronous line options.

KA10, K110, KL10

2

DN87S-AA, DN87S-AB

DN87 with DTE10 interface. Requires addition of
DN81-xx synchronous and/or asynchronous line
options.

1090

3

DN87-U

DC76 to DN87 software only upgrade (including
KG11-A).

DC76

N/A

Front Ends

Asynchronous Line Options

DN81-EA, DN81-EB

Asynchronous Expansion Cabinet including one
DN81-EC 16-Line Asynchronous Expansion Group.
Requires two DN81-Fx 8-Line Terminator Groups
to activate the lines.

DN87,87S*

2

DN81-EC, DN81-ED

Asynchronous 16-Line Expansion Group. This
requires two DN81-Fx 8-Line Terminators to
activate the lines.

DN87,87S*

5

DN81-FA

8-Line Terminators each with 20 mA Current
Loop Local Interfaces.

DN87,87S

N/A

DN81-FB

8-Line Terminators each with EIA Local
Interfaces.

DN87,87S

N/A

DN81-FC

8-Line Terminators each with EIA Full Modem
Control Interfaces.

DN87,87S

N/A

DN81-FD

8-Line Terminators with Integral Auto Answer
Modems. (These modems require customer
supplied DAA's).

DN87,87S

N/A

DN81-EE, DN81-EF

Synchronous Expansion Cabinet. Includes
one DN81-H.

DN87,87S

DN81-H

Synchronous Single Line Control ler Expansion
Line. For data transmission speeds of up to 10K
baud and for attachment to EIA RS232C
compatible modems.

DN87,87S

12

DAS 80, 81, 82

4

Synchronous Single Line Controller. For data transmission speeds of up to 40.8K baud and for
attachment to 303-type current mode modems.

DN87,87S

12

DAS80, 81, 82

4

Synchronous Line Options

DN81-J

*Used on DN87, DN87S Front Ends and on DAS80 Series Remote Stations.

55

Option Designator
115V160H z 230V 150Hz

DESCRIPTION

Prerequisite

Maximum No.
Supported
(Note 1)

IBM DEVICE EMULATION AND TERMINATION FRONT ENDS

DAS61-DA, DB

IBM 2780 and/or 3780 Emulation and Termination
Front End. Including DLlO-C port and requiring
DL10-A with available port. Requires addition of
DAS61-H and/or DAS61-J synchronous line units.

K110, KL10, DL10
TOPS10 6.03

8

DAS61-SA, SB

IBM 2780 and/or 3780 Emulation and Termination
Front End including DTE10 interface. Requires
addition of DAS61-H and/or DAS61-J synchronous
line units.

KL10B

3

DAS61-EA, EB

Synchronous Expansion Cabinet for expansion past
4 synchronous lines. Includes no synchronous lines.

DAS61-D, DAS61-S

DAS61-H

Synchronous Single Line Controller for data
transmission speeds of up to 10K baud and for
attachment to EIA RS232C compatible modems.

DAS61-D, DAS61-S

12

DAS61-J

Synchronous Single Line Controller for data
transmission speeds of up to 50K baud and for
attachment to 303-type current modems.

DAS61-D, DAS61S

12

DAS61-QC

DAS61 Software Only

DAS61-D, DAS61-S

Note 6

DAS61-QX

DAS78 to DAS61 Software Only Upgrade
(prerequisite GALAXY) .

DAS61-D, DAS61-S

Note 6

DAS62-DA, DB

IBM 2780 and/or 3780 and/or HASP multi-leaving
work station Front End. Including DL lO-C port and
requires DL10-A with available port. Requires
addition of DAS62-H and/or DAS62-J synchronous
line units.

K110, KL10, DL10
TOPS10 6.03

4

DAS62-SA, SB

IBM 2780 and/or 3780 and/or HASP multi-leaving
work station Front End including DTE10 interface.
Requires addition of DAS62-H and/or DAS62-J
synchronous line units.

KL10B

8

DAS62-EA, EB

Synchronous Expansion Cabinet for expansion
past 4 synchronous lines. Includes no synchronous
lines.

DAS62-D, DAS62-S

3

DAS62-H

Synch ronous Single Line Controller for data
transmission speeds of up to 10K baud and for
attachment to EIA RS232C compatible modems.

DAS62-D, DAS62-S

12

DAS62-J

Synchronous Single Line Controller for data
transmission speeds of up to 50K baud and for
attachment to 303-type current modems.

DAS62-D, DAS62-S

12

DAS62-QC

DAS62 Software Only.

DAS62-D, DAS62-S

Note 6

DAS62-QX

DAS78 to DAS62 Software Only Upgrade
(prerequisite GALAXY).

DAS78

Note 6

DAS62-QY

DAS61 to DAS62 Software Only Upgrade.

DAS61

Note 6

LA36-CC , LA36-CD

DECwriter-lI; 30-character-per-second teleprinter
with 20-mA current loop interface; handles up to
6-part forms , 132-column printing , variable-width
forms, 96 upper- and lower-case characters.

Asynchronous Line

Note 4

LA37

APL-ASCII Terminal , 30-character-per-second,
features full APL, full upper/lower case, or upper
case TTY character sets.
Alphanumeric Terminal ; 110 to 2400-baud CRT
display terminal ; features 128-character keyboard ,
1440-character capacity screen, direct cursor addressing , 20-mA current loop or EIA interface.

Terminals

VT05B-DA, VT05-DB

56

Note 4

Note 4

Option Designator
11SV/SOHz 230V/SOHz

Prerequisite

DESCRIPTION

Maximum No.
Supported
(Note 1)

GT40-AA, GT40-AB

Graphic System; computer-level graphic system
consisting of a graphical display system and
general-purpose minicomputer; features light pen,
128-character keyboard and EIA serial interface.

Note 4

VT50-CA, VT50-CD

DECscope; 75 to 9600-baud CRT terminal, 20-mA
current loop interface, 960-character capacity
screen, 64-character keyboard.
DECscope; 75 to 9600-baud CRT terminal, EIA
interface, 1920-character capacity screen,
96-character keyboard.

Note 4

VT52

VT50-EA, VT50-ED

VT61

Note 4

Note 4

DECscope; 75 to 9600-baud CRT terminal, EIA
interface, 960-character screen, 64character keyboard.
DECscope Video Display Block-mode Terminal;
1920-character display and full ASCII keyboard;
128-character 7x8 dot matrix character set.

Note 4
Note 6

Miscellaneous
DA10, DA10

Interface between KA10 or KI10 CPU and PDP-8
minicomputer.

KA10, K110, KL10

n/a

DK10, DK10

Real-time Clock; provides resolution to 10 microseconds via crystal oscillator.

KA10, or KI10

2

PC10-C

High speed paper tape reader/punch

KL10

1

GP10, GP10

General Purpose Interface; provides interface to
KA10 or KI10 I/O bus; includes cabinet, two model
728 power supplies, one model 844 power control
indicator in panels, convenience outlet and
BS10-A-15 cablet set; logic provides a status
register, device decoding, read-in gating and line
buffering.

KA10, K110, KL10

N/A

GP10-L, GP10-L

GP10 Interface Logic; interface logic only; does
not include power supply or indicators.

KA10, K110, KL10

N/A

GP10-M, GP10-M

GP10 less logic; includes power supplies and indicators; does not include cables.

KA10, K110, KL10

N/A

DF01-AA, DF01-AB

Acoustic Telephone Coupler.

DECsystem-10
Terminal

Note 4

CAB-9B, CAB-9B

Cabinet; includes full-length single doors, front and
back with indicator panel, but without end panels
(old style).

DECsystem-10

N/A

H-956, H-956

Cabinet; includes full-length single doors, front and
back with indicator panel, but without end panels
(new style).

DECsystem-10

N/A

Note: Specifications subject to change without notice.
Note 1:

Maximum number supported by standard software. Configurations with large numbers of disk drives,
high-speed magnetic tape drives and/or data communication lines must be reviewed by DECsystem-10
Marketing.

Note 2:

Maximum memory capacity of KA10 is 256K words in 16 memory modules. Maximum memory capacity
of KI10 or KL10 is 4,096K words in 16 memory modules.

Note 3:

Currently under software development. Contact DECsystem-10 Marketing before configuring.

Note 4:

DECsystem-1O's support a maximum of 512 simultaneously-active terminals through 127 simultaneouslyactive jobs.

Note 5:

Software Supported by Computer Special Systems.

Note 6:

Software Supported by Advanced Systems Group.
57

DECsystem· 10
UPGRADE/MIGRATION
PATHS
This chart illustrates the migration of
different DECsystem-10 subsystems
toward the common TOPS-10/TOPS20 hardware system. The chart is useful for determining what equipment is
supported within each DECsystem-10
family member. It also provides insight
into what equipment needs to be upgraded in moving from one CPU-based
system to another.

SYSTEM
DESIGNATION

1040
1050
1055

1060
1070
1077

1080

1090

OPERATING
SYSTEM

TOPS-1O

TOPS-10

TOPS-10

TOPS-10

CPU

KA10

MEMORY

DISK

COMMUNICATIONS

MAGTAPE

,

MAW
MEW (16K)
MF10 (32K)
MG10 (128K)

MA1O*
MEW
MF10
MG10
MH10 (256K)

RP10/RP02-3
RH10/RP04 & 06
RC1O/RM-RD1O

RP10/RP02-3
RH1O/ RP04 & 06
RC1O/RM-RD1O

DC10
DC76
DAS75

,

TM10AITUXX
TM10ITU XX

TC10ITSU43
UNIT
RECORD

KI10

~

BA10IDEVICE

I

DC10
DC76
DAS85

KUO ·

KL10B

3

MEW
MF10
MG10
MH10

MEW
MF10
MG10
MH10

3

-0:L

I-TOPS-10
~ TOPS-20

KL10B EXTENDED

__

MF10
MG10
MH10

RP10/RP02 *-3~~

-0:L

,

RH1O/RP04 & 06
~
...... RH1O/RS04
-&

RH10/ RP04 & 06 ~
r--,.. RH20/RP04 & 06
RH20/RP04 & 06

DC10 *---~
DC76
-13'_
DN87
DN87S

DN87 ~

TM10A/TUX X ----:§)-.....-..
TM10B/TUXX
TM10BITU XX
RH1O/TU16
RH1O/TU16
DX10/TU7X
", DX1O/TU7X
-0V
TC1O /TSU43
BA10IDEVICE

--

1090 EXTENDED
FULLY COMPATIBLE
HARDWARE FOR
TOPS-1O OR TOPS-20

BA10IDEVICE

~

...(.i}

0&---

DN87S

RH20/TU16
RH20/TU16
D X10 /TU7 X---{7). ___
t-DX20ITUXX
D X20/TU XX
BA10IDEVICE

..iii>.

PDP-11 FRONT END
DEVICES

NOTES:
1 New microcode; TOPS-20 Release.
2 Drop-in upgrade replacement (old component typically returned/retired)
3 Field retrofit (in-place)
4 Substitution of RH20 for DF10/RH10
5 Field Upgrade : replace Dl10 with DTE connection. S/W Relea se
6 Fiel d Upg rade/Add ition : rep lace /upg rade TM 10A w it h TM10B and add DF10/DF10-C
7 Tap e channel repl aced w ith DX20 (internal channel)
8 BA10 Hard Copy Control Unit replaced w ith PDP-11-based contro ll er(s)
Starred items are tho se hard ware components which are not manufactured, difficult/impossible to support, or w hose succe sso r pro vid es cost/pe rformance or other
features w hich eventuall y make their support uneconomical.

58

ALGOL
• Programs may comprise separatelycompiled procedures
• Assignments are permitted within
expressions
• Remainder operator
• Unique implementation of dynamic
own arrays
• Octal boolean constants and integer/boolean and booleanlinteger
transfer functions
• Alternative reserved delimiter word
or "quoted delimiter word" representations

AID
The Algebraic Interpretive Dialogue,
AID, is the DECsystem-10 adaptation of
the language elements of JOSS, a program developed by the RAND Corporation. To write a program in the AID
language requires no previous programming experience. Commands to
AID are typed in via the user's terminal
as imperative English sentences. Each
command occupies one line and can
be executed immediately or stored as
part of a routine for later execution.
The beginning of each command is a
verb taken from the set of AID verbs.
These verbs allow the userto read, store
and delete items in storage; halt the
current processing and either resume
or cancel execution; type information
on his terminal; and define arithmetic
formulas and functions for repetitive
use that are not provided for in the
language. However, many common
algebraic and geometric functions are
provided for the user's convenience.
The AID program is device-independent. The user can create external files
for storage of subroutines and data for
subsequent recall and use. These files
may be stored on any retrievable storage
media, but for accessibility and speed,
most files are stored on disk.

The DECsystem-10 ALGOL system
is based on the ALGOL -60 specifications . It is composed of the ALGOL
compiler, and the ALGOL object time
system. The compiler is responsible for
reading programs written in the ALGOL
language and converting these programs into machine language. The user
may specify a parameter at compile
time which produces a sequence numbered listing with cross-referenced
symbol tables.
The ALGOL object time system provides special services, including the
input/output service for the compiled
ALGOL program. Partoftheobjecttime
system ALGOL library is a set of routines
that the user's program can call in order
to perform various functions including
mathematical functions and string and
data transmission routines . These routines are loaded with the user's program
when required; the user need only
make a call to them. The remainder of
the object time system is responsible
for the running of the program and providing services for system resources,
such as core allocation and management and assignment of peripheral
devices.
Source level, interactive debugging
is provided through ALGDDT. The user
may stop his program at any point, may
examine and change the contents of
data locations, may insert connected
code and then continue execution to
test his changes.
60

APL
APL (A Programming Language) is a
concise programming language specially suited for dealing with numeric
and character data which can be collected into lists and arrays. The conciseness with which APL expressions can
be written greatly enhances programmer productivity and allows for very
compact and readable code which can
be executed in a highly efficient manner.
APL finds application not only in mathematics and engineering, but also in financial modeling and text handling
situations.
Some of APL's features include:
• The user's active workspace size is
dynamically variable
• The workspace symbol-table is dynamically variable
• Immediate-mode line ed iting of complex APL expressions
• Statement branching may occur
anywhere in a statement line
• Multiple statements may appear in a
single line
• User-controlled tab positioning for
I/O operations
• All floating point operations are performed to an accuracy of eighteen
decimal digits
APL is a fully interactive system with
both immediate (desk calculator) and
function (program) modes of operation.
It includes its own editor as well as debugging tools, tracing of function execution , typeout of intermediate values,
setting break points, etc. APL for the

BASIC
•
•

•

•
•
•
•

DECsystem-10 includes many extensions not normally found in other APL
implementations. Some of these features include a flexible file system which
supports both ASCII sequential and
binary direct access files, the dyadic
format operator, expanded command
formations which allow the user to take
advantage of the DECsystem -10 file
system, the execute operator and tools
for error analys is and recovery. In addition, workspaces are dynamically variable in sizes up to 512K bytes and the
system supports double precision calculations which allow up to 18 decimal
digits of precision.
Finally, APL on the DECsystem -10 is
available to all users at all times without
the need to run a separate subsystem
which provides extra terminal handling,
workspace swapping, etc. These tasks
are al l acco m p lished by the TOPS-10
operating syst em.

Multiple users share the BASIC compiler's pu re code.
A variety of program manipulation
commands which include functions
for savings, running and retrieving
BASIC programs
Immediate mode statements to facilitate debugging and "desk calculator" mode
Sequential data storage
String capability; including string
arrays and functions
Chaining with COMMON to accommodate large programs
Formatted output using the PRINT
USING stat ement

BASIC is a conversational problem
solving language that is well suited for
timesharing and easy to learn. It has
wide application in the sc ientific, business, and educational communities
and can be used to solve both simple
and complex mathematical problems
from the user's terminal.
The BASIC user types in computational procedures as a series of numbered statements that are composed
of common English terms and standard
mathematical notation. After the statements are entered, a run-type command
initiates the exec ution of the program
and returns the results.
If there are errors during execution,
the user, from his t erminal, simply
changes the line or lines in error by
deleting, modifying, or inserting lines.
The beginning user has many faci lities at his disposal to aid in program
creation:

• Program Editing Facilities-An existing program or data file can be edited
by adding or deleting lines, by renaming it, or by resequencing the
line numbers. The user can combine
two programs or data files into one
and request either a listing of all or
part of it on the terminal or a listing
of all of it on t he high-speed line
printer.
61

• Documentation A ids- Documenting
programs by the insertion of remarks
within procedures enables recall of
needed information at some later
date and is invaluable in situations
in which the prog ram is shared by
other users.
• As a BASIC user, you can type in a
computational prodedure as aseries
of numbered statements by using
simple common English syntax and
familiar mathematical notation. You
can solve almost any problem by
spending an hour or so learning the
necessary elementary commands.
• Functions -Occasionally, you may
want to calculate a function, for example, the square of a number. Instead of writing a program to calculate this function , BASIC provides
functions as part of the language.
More advanced users will want to
take advantage of some of the more
sophisticated computation and data
handling tools which BASIC provides.
For example:
File Input-The user may create a
name date file using the BASIC editing
facilities. This file may now be referenced.
within a program.

Output Formatting -The user can
control the appearance of his output
to the terminal or printer.
Data Access -Data files may be read
facilities. This file may now be referenced
and written either sequentially or randomly.
String Manipulation -Alphanumeric
st rings may be read, printed, concat enated and searched.

COBOL
The COmmon Business Oriented
Language, COBOL, is an industry-wide
data processing language that is dedesigned for business applications,
such as payroll, inventory control, and
accounts receivable.
Because COBOL programs are
written in terms that are familiar to the
business user, he can easily describe
the formats of his data and the processing to be performed in simple
English-like statements. Therefore, programmer training is minimal, COBOL
programs are self-documenting, and
programming of desired applications
is accomplished quickly and easily.
Major features include:
• On-line editing and debugging- The
programmer may create and modify
the source program from a terminal
using an easily-learned editing facility. After the program has been submitted to the compiler-again from
the terminal -any syntax errors may
be immediately corrected using the
editor, and the program resubmitted.
The program listing is sequence
numbered with symbols cross-referenced to show when they are
defined and where used. COBDDT,
the on-line, interactive COBOL debugging package, allows the programmer to check out the program:
• By selectively displaying a paragraph name
• By causing the program to pause
at any desired step during execution
• By allowing the program to examine and modify data at will before continuing execution

Easy program development and debugging increases programmer productivity by eliminating tedious waiting periods.
• Batch
Using the same commands for timesharing, the programmer may submit the program via a control file to
the Batch system. This further increases efficiency because other
terminal work may be done concurrent with the Batch processing
• Access Methods
The programmer has a choice of
three access methods; sequential,
indexed sequential, and random.

Indexed Sequential
Access Mode (ISAM)
ISAM requires a minimum amount
of programming while providing a large
data file handling capacity. It is supported by the COBOL Object Time
System which automatically handles all
of the searching and movement of data.
All reading and writing of an index
file (ten levels of indexing) are performed by the run-time operating system (LlBOL). This does not involve the
user. When using the indexed sequential files, the programmer need only
specify which record is to be read,
written, or deleted.
Whenever records are added to the
file, the index is automatically updated,
additions to the file will not degenerate
the file as with other computers. The
common technique for using overflow
areas for added records has been
avoided. Whenever records have been
deleted from the file, the empty space
is used again for later additions. The
net effect of the addition and deletion
techniques significantly increases the
time between major "overhauls" of the
data files, because the time required
to access a fil e is independent of the
number of changes made to it.
• Sorting
The SORT package permits a user
to rearrange records or data according to a set of user-specified keys.
The keys may be ascending or descending, alpha or numeric, and any
size or location within the record.
Multi-reel file devices may be specified.
• Source Library Maintenance System
This system lists file entries or adds,
replaces, and/or deletes source language data on a file. It can also add
replace, or extract an entire file fro~
the library.
• Device Independence
The operating system allows the programmer to reference a device with
a user-assigned logical name as well
as its physical name, thus allowing
dynamic assignment of peripheral
devices at run time.
62

CPL
CPL is an interpreter supporting a
subset of the draft ANSI PLlllangua .ge.
The following is a summary of the k ey
features of CPL:
• Data types include FIXED, FLO A T,
CHARACTER, CHARACTER VAR YING, BIT VARYING, POINTER, an d
arrays of these data types.
• Storage classes include AUrO MATIC, STATIC, CONTROLLED a n d
BASED
• Almost all PLII statement types a.re
supported including READ, WRI T E,
DECLARE, DEFAULT, GET, PUT, ON
and FORMAT
• Subroutines and function procedu r es
are recursive
• The ON statement provides t: he
capability of recovering from p .... 0gram error under program cont r ol.
• Complete string manipulation package
• CPL supports the following class€s
of PLII built-in functions: arithmet: i e,
mathematical, string array, stora.ge
control and pseudo-variables.
CPL is intended to be easy-to-use f o r
the beginning programmer or non -pr o grammer. At the user's option, statements will be executed immediately o r
saved for deferred execution. A beg i I"l ning programmer can start by execLI ting simple computational statemen "ts
and can proceed to building program s .
Since CPL is an interpreter, a user ca n
track a program very closely. Debu g ging features, such as source level
breakpOints and program modificatio f1
are available.

FORTRAN
Version 4
FORTRAN-10 is a superset of the
American National Standard FORTRAN . Both the compiler and objecttime system are reentrant (shareable).
The compiler produces optimized object code. The following is a summary
of key features and extensions of FORTRAN-10:
•

• Data Base Management System
Interface
The programmer may call upon the
data base management system facilities from within his program. This
system, which allows the CODASYL
specifications, allows data files to be
consolidated into one or more data
bases. Application programs are
then permitted to access the data
in the way best suited to their needs.

FORTRAN
The FORmula TRANslator language,
FORTRAN, is a widely-used and procedure-oriented programming language.
It is designed for solving scientific problems and is thus composed of mathematical-like statements constructed in
accordance with precisely formulated
rules. Therefore, programs written in
FORTRAN consist of meaningful sequences of these statements that are
intended to direct the computer to perform the specified computations.
FORTRAN has a wide use in every
segment of the computer market.
Universities find that FORTRAN is a
good language with which to teach
students how to solve problems via the
computer. The scientific community
relies on FORTRAN because of the
ease with which scientific problems
can be expressed. In addition, FORTRAN is used as the primary data processing language by many timesharing
utilities.

PARAMETER statement-Allows symbolic specification of compile-time
constants
• INCLUDE statement- Allows user to
include in the compilation of a given
program unit source code which resides on a file other than primary
source file
• GLOBAL OPTIMIZATION -FORTRAN10 performs extensive local and optional global optimizations
• FORDDT -the FORTRAN-10 debugger
FORDDT in conjunction with the
FORTRAN-10/"DEBUG" switch will
allow:
Display and modification of program data
• Tracing of the program statement
by statement
• Setting of pauses on any statement or routine
•

• OPENICLOSE file-specification statements
• Array bounds checking can be generated optionally
• N-dimensional arrays
• ENCODEIDECODE statements
• Boolean operations equivalence
(EQV) and exclusive or (XOR), in
addition to OR, AND , NOT.
• The NAMELIST and list-directed 1/0
features provide format-free input
and output operations
• Random-access 110 capabilities
• Compatibility with IBM type declaration statements
• Implied DO loops in 1/0 statements
and data statements
• Full mixed-mode arithmetic in expressions
• Octal Constants
• Logical Operations-full-word masking operations foralilogical functions
(rather than a result of just true or
false)
• END= and ERR = in 1/0 statements
• Device independence
63

The FORTRAN- 10 object-time system , FOROTS, controls the input/output, format interpretation and numerical conversion for compiled programs.
The FORTRAN user may reference any
1/0 device. All special editing, conversion, and file structuring tasks are
handled by the object-time system. Devices are normally specified by logical
assignment so that physical device
selection need not be made until runtime. The devices corresponding to the
special 1/0 statements READ , PRINT,
ACCEPT, and TYPE are also assignable
at run-time. The object-time system is
shareable.
FOROTS implements all program
data file functions and provides the
user with an extensive run-time error
reporting system. Device independence
is provided to allow the programmer
or operator to determine the physical
device at run-time.
FORTRAN-10 is easy to use in both
timesharing and batch processing environments. Under timesharing, the
user operates in an interactive editing
and debugging environment. FORDDT,
an interactive program that is used as
an aid in debugging.
FORTRAN programs uses the language
constructs and variable names of the
program itself-thereby eliminating the
need to learn another language in order
to accomplish on-line debugging. Under
batch processing, the user submits his
program through the batch software
in order to have the compiling , loading,
and executing phases performed without his intervention.
FORTRAN programs can be entered
into the FORTRAN system from a number of devices: disk, magnetic tape ,
user terminal and card reader. In addition to data files created by FORTRAN,
the user can submit data files or FORTRAN source files created by the system editor. The data files contain the
data needed by the user's object program during execution. The source files
contain the FORTRAN source text to
be compiled by the FORTRAN compiler. Output may be received on the
user's terminal, disk or magnetic tape.
The source listing cross references all
symbols to show where they are defined
and where used.

MACRO
MACRO is the symbolic assembly
program on the DECsystem-10. lt makes
machine language programming easier
and faster for the user by
• Translating symbolic operation codes
in the source program into the binary
codes needed in machine language
instructions.
• Relating symbols specified by the
user to numeric values .
• Assigning absolute core addresses
to the symbolic addresses of program instructions and data.
• Preparing an output listing of the program which includes any errors detected during the assembly process.
MACRO programs consist of a series
of statements that are usually prepared
on the user's terminal with a system
editing program . The elements in each
statement do not have to be placed in
certain columns nor mustthey be separated in a rigid fashion . The assembler
interprets and processes these statements, generates binary instructions or
data words, and performs the assembly.
MACRO is a two-pass assembler.
This means that the assembler reads
the source program twice. Basically, on
the first pass, all symbols are defined
and placed in the symbol table with
their numeric values, and on the second
pass, the binary (machine) code is generated. Although not as fast as a onepass assembler, MACRO is more efficient in that less core is used in
generating the machine language code
and the output to the user is not as long.

MACRO is a device-independent
program; it allows the user to select, at
runtime, standard peripheral devices
for input and output files. For example,
input of the source program can come
from the user's terminal, output of the
assembled binary program can go to a
magnetic tape, and output of the program listing can go to the line printer.
More commonly, the source program
input and the binary output are disk files.
The MACRO assembler contains
powerful macro capabilities that allow
the user to create new language elements. This capability is useful when a
sequence of code is used several times
with only certain arguments changed .
The code sequence is defined with
dummy arguments as a macro instruction. Thus, a single statement in the
source program referring to the macro
by name, along with a list of the real
arguments, generates the entire correct
sequence. This capability allows for the
expansion and adaptation of the assembler in orderto perform specialized
functions for each programming job.
64

SORT
The TOPS-10 SORT arranges the
records of one or more files according
to a user-specified sequence. The user
designates the keys on which the records are sorted from one or more fields
within a record. The keys can be in either
ascending or descending order. SORT
compares the key fields values of all
records. Then it arranges the records
in the specified sequence and merges
them into a single output file. Sort may
be used under timesharing and batch,
and may be called from within a COBOL
program.

Data Base
Management
System
Certain data-such as that within
commercial, accounting, inventory control and admin istrative systems-are
used in computer applications which
have common relationships and processing requirements with data in other
applications. This can prove to be a
problem because as file organizations
are defined in one application or program, restructuring, redundant appearance, and even repetitive processing of
the same data are often required in
another application.
To further complicate the problem,
on-line processes (i.e., customer order
entry, shipment planning, and student
information retrieval systems) tend to
different data structures than the processes used to create and maintain
primary data files . This means that as
new applications requirements for existing data are determined and additional data are defined, program development personnel must either alter existing data file forms and programs or
create and maintain redundant copies.

DIGITAL offers a solution to the
problem in the Data Base Management
System-DBMS. It enables DEC system-10 users to organize and maintain
data in forms more suitable to the integration of a number of related but
separate processes and applications.
DBMS is ideal in situations where data
processing control and program developmentfunctions require structures
and techniques not satisfied by traditional data management facilities.
Features
The DECsystem-1O Data Base Management System is predicated upon
the proposals of the CODASYL Data
Base Task Group (DBTG) which appear
in their report of April, 1971 . DIGITAL's
goal for DBMS is to provide features
which assist users in obtaining the most
significant objectives stated in the
CODASYL DBTG report. These features
include:
1

65

• Hierarchical Data Structures
-In addition to sequential structures,
simple tree structures and more
complex network structures can be
created and maintained. Data items
can be related within and between
various levels of the structure established.

• Device Independence-The common input/output and control conventions of the DECsystem-10
monitor provide bas ic device independence. Applications programs
deal with logical areas rather than
physical devices. Data base areas
may reside on the same or different
ITPS-10, In-House Text Preparat i  a
data manipulation language is availsingle module and links this mo d ILJ le
able to both COBOL and FORTRAN
with system modules into a form t l lat
as host languages
can be executed by the operating s ~ s­
• DBMS Software Modules Consistent
tem. It provides automatic relocat - o n
with the CODASYL
and loading of the binary modules p "-0Data Base Task Group report, t he body ducing an executable version of t:: h e
of the DECSYSTEM-20 data base man- user's program. When the loading p
0agement software includes:
cess has been completed, the user c:: an
request LlNK-10 either to transfer cc=> n• DDL-data description language and
trol to his program for immediate e:>e
separated into two groups: one gro ~ p
of elementary commands that can la::>e
applied to most editing tasks, and t " e
larger set of sophisticated com man c:js
for character string searching, text blo c:::k
movement, conditional commands, p r-ogrammed editing, and command re I=> e tition.
TECO is a character-oriented edit c:> r.
This means that one or more charact ~ rs
in a line can be changed without retyp i ...,g
the remainder of the line. TECO has t "-'e
capability to edit any source docume ro t:
programs written in MACRO, FORTR ~ N,
COBOL, ALGOL, or any other sourc::;e
language; specifications; memoran ~ a,
and other types of arbitrarily-formattE3 d
text. The TECO program does not I €quire that line numbers or other spec - al
formatting be associated with the te ::::o n
commands, always take place at t l ' l e
current position of the buffer pointE:3r.
There are TECO commands to in .;anipulate data within the editing buffE3 r.
Input and output commands read da
a
from the input file into the buffer a ~ d
output data from the buffer to the O Lll t 0
put file. There are other commands
have one or more characters insertE3d
into the editing buffer, deleted from t h e
buffer, searched for, and/or typed O L..:J t.
In addition, the user can employ iter .oation commands to execute a sequen c=: e
of commands repeatedly and con c.::::l itional execution commands to crea t e
conditional branches and skips.

TOPS-10
Operating System
The resident operating system is
made up of a number of separate and
somewhat independent parts, or routines . Some of these routines are cyclic
in nature and are repeated at every system clock interrupt (tick) to ensure that
every user of the computing system is
receiving the requested services. These
cyclic routines are
• The command processor, or decoder
• The scheduler
• The swapper
The command decoder is responsible
for interpreting commands typed by
the user on his terminal and passing
them to the appropriate system program
or routine. The scheduler decides which
user is to run in the interval between the
clock interrupts, allocates sharable
system resources, and saves and restores conditions needed to start a program interrupted by the clock. The
swapper rotates user jobs between
secondary memory (usually disk or
drum) and core memory after deciding
which jobs should be in core but are not.
These routines constitute the part of
the operating system that allows many
jobs to be operating simultaneously.
The non-cyclic routines of the operating system are invoked only by user
programs and are responsible for providing these programs with the services
available through the operating system.
These routines are
• The UUO handler
• The input/output routines
• The file handler

ecuted, go to the operating system for
processing. The input/output routines
are the routines responsible for directing data transfers between peripheral
devices and user programs in core
memory. These routines are invoked
through the UUO handler, thus saving
the user the detailed programming
needed to control peripheral aevices.
The file handler adds permanent user
storage to the computing system by
allowing users to store named programs and data as files .

Scheduler
The DECsystem-10 is a multiprogramming system; i.e., it allows several
user jobs to reside in core simultaneously and to operate sequentially. It is
then the job of the scheduler to decide
which jobs should run at any given time .
In addition to the multiprogramming
feature, the DECsystem-10 employs a
swapping technique whereby jobs can
exist on an external storage device
(e.g., disk or drum) as well as in core.
Therefore, the scheduler decides not
only what job is to be run next but also
when a job is to be swapped out onto
disk or drum and later brought back into
core.

I---- INPUT -OUTPUT
I
ROUTINES

.--

I

I
I
IL ____ _

The UUO handler is the means by
which the user program communicates
with the operating system in order to
have a service performed. Communication is by way of programmed operators (also known as UUO's) contained
in the user program which, when ex-

THE RESIDENT OPERATING SYSTEM.

69

l - - - - - CVCLIC
ROUTINES

I

All jobs in the system are retained in
ordered groupings called queues.
These queues have various priorities
that reflect the status of each job at any
given moment. The queue in which ajob
is placed depends on the system resource for which it is waiting and, because a job can wait for only one resource at a time, it can be in only one
queue at a time . Several of the possible
queues in the system are
• Run queues for jobs waiting for, or
jobs in, execution.
• I/O wait queues for jobs waiting for
data transfers to be completed.
• Resource wait queues for jobs waiting for some system resource.
• Null queue for all job numbers that
are not currently being used.
The job's position within certain
queues determines the priority of the
job with respect to other jobs in the
same queue. For example, if ajob is first
in the queue for a sharable device, it has
the highest priority for the device when
it becomes available. However, if a job
is in an I/O wait queue, it remains in the
queue until the I/O is completed. Therefore, in an I/O wait queue, the job's position has no significance. The status of a
job is changed each time it is placed into
a different queue.
The scheduling of jobs into different
queues is governed by the system
clock. This clock divides the time forthe
central processor into sixtieths of a
second. When the clock ticks, the
scheduler decides which job will run
during the next cycle. Each job, when it
is assigned to run, is given a time slice.
When the time slice expires for the job,
the clock notifies the central processor
and scheduling is performed. The job
whose time slice just expired is moved
into another, perhaps lower, priority run
queue, and the scheduler selects another job to run in the next time slice.
If the currently running job is the null
job and a higher priority job (any job)
becomes ready to run before the clock
ticks it will immediately run. If the currently running job is not the null job and
a high priority (HPQ real-time) job becomes runnable it will run at the next
clock tick. Finally if a job just becoming
runnable is not an HPQ job, but is of
higher priority than the current job, itwill
only preempt the current job when the
applicable time slice has expired.

Each job, when it is assigned to run , is
given a time slice. When the time slice
expires for the job, the clock notifies
the central processor and scheduling
is performed. The job whose time slice
just expired is moved into another, perhaps lower, priority run queue, and the
scheduler selects another job to run in
the next time slice.
Scheduling may be forced before the
clock ticks if the currently-running job
reaches a point at which it cannot immediately continue. Whenever an
operating system routine discovers
that it cannot complete a function requested by the job (e.g., it is waiting for
I/O to complete or the job needs a device which it currently does not have), it
calls the scheduler so that another job
can be selected to run. The job that was
stopped is then requeued and is scheduled to be run when the function it requested can be completed. For example: when the currently running job
begins input from a DECtape, it is placed
into the I/O wait queue, and the input
is begun. A second job is scheduled
to run while the input of the first job
proceeds. If the second job then decides to access a DECtape, it is stopped
because the DECtape control is busy,
and it is placed in the queue for jobs
waiting to access the DECtape control.
A third job is set to run. The input operation of the first job finishes, freeing
the DECtape control for the second job.
The I/O operation of the second job is
initiated, and the job is transferred from
the device wait queue to the I/O wait
queue. The first job is transferred from
the I/O wait queue to the highest-priority run queue. This permits the first job
to preempt the running of the third job.
When the time slice of the first job becomes zero, it is moved into the second
run queue, and the third job runs again
until the second job completes its I/O
operation.
70

In addition, data transfers allow 1::
e
scheduler to permit the user to over l .00E3p
computation with data transmission _
In
unbuffered data modes, the user S L!ll :J]plies an address of a com mand list cc> 21 taining pointers to locations in his a r~ a
to and from which data is to be tran . .:sferred . When the transfer is initiat ~ 
tune the system scheduler to speci"f' - <::
loads. The system administrator CC3L. .-J
set aside percentages of the CPU t:: CJ
given classes of timesharing and bate:
users. This facility can be dynamica l
-:y
changed while the system is runni ~ ~
and need not be defined at system ge r-:JI erator time, thus facilitating optim c:==3. 1
system usage ove r a wide variety c:::> f
system loads.

Swapper
The swapper is responsible for keeping in core the jobs most likely to be run.
It determines if a job should be in core
by scanning the various queues in
which a job may be. If the swapper decides that a job should be brought into
core, it may have to take another job
already in core and transfer it to secondary storage. Therefore, the swapper
is not only responsible for bringing a
job into core but is also responsible for
selecting the job to be swapped out.
Ajob is swapped to secondary storage
for one of two reasons:
• Ajob that is more eligible to run needs
to be swapped in and there is not
enough room in core for both jobs.
• The job needs to expand its core size
and there is not enough core space
to do so .
If the latter case is true, the job must
be swapped out and then swapped in
later with new allocation of core.
The swapper checks periodically to
see if a job should be swapped in. If
there is no such job, then it checks to
see if a job is requesting more core. If
there is no job wishing to expand its size,
then the swapper does nothing further
and relinquishes control of the processor until the next clock tick.

UUO Handler
The UUO handler is responsible for
accepting requests for services available through the operating system.
These requests are made by the user
program via software-implemented instructions known as programmed operators, or UUO 's. The various services
obtainable by the user program include:
• Communicating with the I/O devices
on the computing system , including
connecting and responding to any
special devices that may be desired
on the system for real-time programming.
• Receiving or changing information
concerning either the computing
system as a whole or the individual
program .
• Altering the operation of the computing system as it concerns the user
job, such as controlling execution by
trapping or suspending, or controlling core memory by locking.
• Communicating and transferring
control between user programs.
The UUO handler is the only means
by which a user program can give control to the operating system in order to
have a service performed. Contained in
the user program are operation codes
which , when executed, cause the hardware to transfer control to the UUO
handler for processing. The routine
obtains its arguments from the user
program . The core location atwhich the
UUO operation was executed is then
remembered. After the UUO request
has been processed , control is returned
to the user program at the first or second
instruction following the UUO. In this
way, the software supplements the
hardware by providing services that are
invoked through the execution of a
single core location just as the hardware services are invoked.
71

Device Service Routines
I/O programming in the DECsystem10 is highly convenient for the user because all of the burdensome details of
programming are performed by the
operating system. The user informs the
operating system of his requirements
for I/O by means of UUO's contained in
his program. The actual input/output
routines needed are then called by the
UUO handler.
Since the operating system channels
communication between the user program and the device, the user does not
need to know all the peculiarities of
each device on the system. In fact, the
user program can be written in a similar
manner for all devices. The operating
system will ignore, without returning an
error message, operations that are not
pertinent to the device being used.
Thus, a terminal and a disk file can be
processed identically by the user program.ln addition, user programs can be
written to be independent of any particular device. The operating system
allows the user program to specify a
logical device name, which can be associated with any physical device at the
time when the program is to be executed. Because of this feature, a program
that is coded to use a specific device
does not need to be rewritten if the
device is unavailable. The device can
be designated as a logical device name
and assigned to an available physical
device with one command to the operating system.
Data is transmitted between the device and the user program in one of two
methods: unbuffered mode or buffered
mode. With unbuffered data modes,
the user in his program supplies the
device with an address, which is the
beginning of a command list. Essentially, this command list contains pointers
specifying areas in the user's allocated
core to or from which data is to be transferred. The user program then waits
until the operating system signals that
the entire command list has been processed. Therefore , during the data
transfer, the user program is idly waiting
for the transfer to be completed.

Data transfers in buffered mode utilize a ring of buffers set up in the user's
core area. Buffered transfers allow the
user program and the operating system's I/O routines to operate asynchronously. As the user program uses
one buffer, the operating system processes another one by filling or emptying it as interrupts occur from the device. To prevent the user program and
the operating system from using the
same buffer at the same time, each
buffer has a use bit that designates who
is using the buffer. Buffered data transfers are more efficient than unbuffered
transfers because the user program
and the operating system can be working together in processing the data.
Several steps must be followed by
the user program in order for the operating system to have the information it
needs to control the data transfers.
Each step is indicated to the operating
system with one programmed operator. In the first step, the specific device
to be used in the data transfer must be
selected and linked to the user program with one of the software I/O channels available to the user'sjob (OPEN or
INIT programmed operators) . This device remains associated with the software I/O channel until it is disassociated from it (via a programmed operator) or a second device is associated
with the same channel. In addition to
specifying the I/O channel and the device name, the user program can supply
an initial file status, which includes the

type of data transfer to be used with the
device (e.g., ASCII, binary), and the
location of the headers to be used in
buffered data transfers . The operating
system stores information in these
headers when the user program executes programmed operators, and the
user program obtains from these headers all the information needed to fill or
empty buffers.
Another set of programmed operators (INBUF and OUTBUF) establishes
the actual buffers to be used for input
and output. This procedure is not necessary if the user is satisfied to accept the
two buffers automatically set up for him
by the operating system .
The next step is to select the file that
the user program will be using when
reading or writing data. This group of
operators (LOOKUP and ENTER) is not
required for devices that are not filestructured (e.g ., card reader, magnetic
tape, paper-tape punch). However, if
used, they will be ignored, thus allowing
file-structured devices to be substituted for non-file-structu red devices
without the user rewriting the program .
The third step is to perform the data
transmission between the user program and the file (IN, INPUT, OUT, and
OUTPUT). When the data has been
transmitted to either the user program
on input or the file on output, the file
must be closed (CLOSE, fourth step)
and the device released from the channel (RELEASE, fifth step). This same
sequence of programmed operators is
performed for all devices; therefore,
the I/O system is truly device-independent because the user program does
not have to be changed every time a
different device is used .
In addition to reading or writing data
to the standard I/O devices, provisions
are included in the operating system for
using the terminal for I/O during the
execution of the user program . This
capability is also obtained through programmed operators. As the user program is running, it can pause to accept
inputfrom or to type output to the terminal. The operating system does all buffering for the user, thus saving programming time. This method of terminal I/O
provides the user with a convenient way
of interacting with a running program.
72

Command
Control Language
By allowing resources to be sha r~  :.r--) ment utilizes processor time and s y ~ ­
tem resources that are wasted in sing 4E3 user systems. Users are not restrict~  f
the system's features. This on-line a c:=:; cess is available through the operati ~ ~
system command control langua g~ ,
which is the means by which the ti m~ ­
sharing user communicates with tt-~ 4€
operating system.
Through the command language, tI--:. 4E
user controls the runn ing of a task, c::::> r
job, to achieve the desired resu l t ~ :
create, edit, and delete files; start, su ~ ­
pend, and terminate a job; comp i l ~ ,
execute, and debug a program . In ad ~ - tion, since GALAXY batch softw a r- ~
accepts the same command languag ~
as the timesharing software, any u s ~ r
can enter a program into the batch r L...queue . Thus, any timesharing termi n-===- I
can act as a remote job entry termin C3L
When the user types comman ~ .:::s
and/or requests on his terminal, th 4E3
characters are stored in an input buff~ r
in the operating system. The com man c:::::j
decoder examines these characters i ..........,
the buffer, checks them for correct sy r-:. tax, and invokes the system program c:>
user program as specified by th ~
command.

File System
Mass storage devices, such as disks
and drums, cannot be requested for a
user's exclusive use, but must be shared
among all users. (An exception is the
assignment of a disk structure to a single
user; i.e., a "private" disk structure.)
Because many users share these devices, the operating system must ensure independence among the users ;
one user's actions must not affect the
activities of another unless the users
desire to work together. To guarantee
such independence, the operating system provides a file system for disks,
disk packs, and drums. Each user's data
is organized into groups of 128-word
blocks called files. The user gives a
name to each of his files, and the list of
these names is kept by the operating
system for each user. The operating
system is then responsible for protecting each user's file storage from intru sion by unauthorized users.
In addition to allowing independent
file storage for users the operating system permits sharing offiles among individual users. For example, programmers working on the same project can
share the same data in order to com plete a project without duplication of
effort. The operating system lets the
user specify protection rights, or codes,
for his files. These codes designate if
other users may read the file, and after
access, if the files can be modified in
any way. A new facility called File
DAEMON allows the userto specifically
permit or deny access to any file, or set
of files, for specific users. The user may
also create a log of accesses to his files
for later review, proprietary program
billing , etc.

On each clock interrupt, control is
given to the command decoder to interpret and process one command in the
input buf fer. The command appearing
in the input buffer is matched with the
table of valid commands accepted by
the operating system. A match occurs
if the command typed in exactly matches
a command stored in the system, or if
the characters typed in match the beginning characters of only one command (i.e., constitute a unique abbrevi ation) . When the match is successful,
the legality information (or flags) associated with the command is checked to
see if the command can be performed
immediately. For instance, a command
must be delayed if the job is swapped
out to the disk and command requires
that the job be resident in core; the
command is ex ecuted on a later clock
interrupt when the job is back in core .
If all conditions as specified by the legal ity flags are met, control is passed to the
appropriate program.

The user of the DECsystem -10 is not
required to preallocate file storage ; the
operating system allocates and deallocates the file storage space dynamically on demand. Not only is this convenient for the user because he does
not have to worry about allocation
when creating files, butthis feature also
conserves storage by preventing large
portions of storage from being un necessarily tied up. However, a large
batch job which needs to preallocate
space may do so.
Files are assigned protection levels
for each of three classes of users: self;
users with a common project number;
and all users. Each user class may be
assigned a different access privilege ;
there are eight levels in each of the three
user classes . The owner of a file may
always change its protection .
In addition the File DAEMON is called
on all access failures if the owner protection is 4,5,6,7 . .. Note that the protection used by the system to determine
access right after a File DAEMON call is
provided by the file DAEMON.

Table VIII. File Protection Scheme.
Protection Level
Greatest P rotection

Access Code

Access Pri vileges

7

No access pri vileges
(except by owner)
EXECUTE ONLY
READ, EXECUTE
APPEND , READ , EXECUTE
UPDATE , APPEND , READ, EXECUTE
WR ITE , UPDATE, APPEND , READ , EXECUTE
RENAME , WRITE , UPDATE, APPEND , READ, EXECUTE
CHANGE PROTECTION , RENAME , WRITE, UPDATE, APPEND ,
READ , EXECUTE

6
5

4

1
Least Protection

3

2
0

73

File Handler
To reference? file, the user does not
need to know where the file is physically
located. A named file is uniquely identified in the system by a file name and
extension, an ordered list of directory
names (UFOs and SFOs) which identify
the owner of the file, and a file structure
name which identifies the group of disk
units containing the file.
Usually a complete disk system is
composed of many disk units of the
same and/or different types. Therefore,
the disk system consists of one or more
file structures-a logical arrangement
of files on one or more disk units of the
same type. This method of file storage
allows the user to designate which disk
unit of the file structure he wishes to
use when storing files . Each file structure is logically complete and is the
smallest section offile memory that can
be removed from the system without
disturbing other units in other file structures. All pointers to areas in a file structure are by way of logical block numbers ratherthan physical disk addresses;
there are no pointers to areas in other
file structures, thereby allowing the file
structure to be removed.

File Structures
A file structure contains two types of
files; the data files that physically contain the stored data or programs, and
the directory files that contain pointers
to the data files. Included in these directory files are master file directories,
user file directories, and sub-file directories. Each file structure has one master
file directory (MFO). This directory file
is the master list of all the users of the
file structure. The entries contained in
the MFO are the names of all the user
file directories on the file structure.
Each user with access to the file structure has a user file directory (UFO) that
contains the names of all his files onthat
file structure; therefore , there are many
UFOs on each file structure. As an entry
in the user file directory, the user can
include another type of directory file, a
sub-file directory (SFO). The sub-file
directory is similar to the other types of
directory files in that it contains as entries the names of all files within that
sub-directory. This third level of directory allows groups of files belonging to
the same user to be separate from each
other. This is useful when organizing a
large number offiles according to function. In addition, sub-file directories
allow non-conflicting, simultaneous
runs of the same program using the
same file names.
As long as the files are in different
sub-file directories, they are unique.
Sub-file directories exist as files pointed
to by the user file directory, and can be
nested to the depth specified by the installation at system generation time.
74

File Protection
All disk files are composed of t ~ o
parts: data and information used to r ..:=trieve data. The retrieval part of the f e
4IE ,
contains the pointers to the entire f i
and is stored in two distinct locations ~ n
the device and accessed separat ~ y
from the data. System reliability is - :irl creased with this method because 1:
e
probability of destroying the retri e ,,"" -=:II
information is reduced ; system p ~ T formance is improved because 1:
e
number of positionings needed for r2L .... dom-access methods is reduced. T
e
e
storing of retrieval information is 1:
same for both sequential and rand o ......, access files. Thus a file can be crea t~ d
sequentially and later read randonn
~,
or vice versa, without any data con v ~ ;rsion .
One section of the retrieval inforlT1ll --=:1 tion is used to specify the protec t i ~ n
associated with the file. This protect i ~ n
is necessary because disk storag e
'i s
shared among all users, each of wh ~ ...-n
may desire to share files with, or p r -=vent files from being written, read . c=) r
deleted by other users. As discus s ~ d
above, these protection codes 2L
e
'i s
assigned by the user when the fil e
created and designate the users \IV
0
have privileges to access the file.

Disk Quotas
Disk quotas are associated with each
user (each project-programmer number) on each file structure in order to
limit the amount of information that can
be stored in the UFD of a particular file
structure. When the user gains access
to the computing system, he automatically begins using his logged-in quota.
This quota is not a guaranteed amount
of space, and the user must compete
with other users for it. When the user
leaves the computing system, he must
be within his logged-out quota. This
quota is the amount of disk storage
space that the user is allowed to maintain when he is not using the system and
is enforced by the system program that
is used in logging off the system. Quotas are determined by the individual
installation and are, therefore, used to
ration disk resources in a predetermined manner.
To the user, a file structure is like a
device; i.e., a file structure name or a set
of file structure names can be used as
the device name in command strings or
UUO calls to the operating system. Although file structures or the units composing the file structures can be specified by their actual names, most users
specify a general, or generic, name
(DSK) which will cause the operating
system to select the appropriate file
structure. The appropriate file structure
is determined by a job search list. Each
job has its own job search list with the
file structure names in the order in
which they are to be accessed when
the generic name is specified as the
device. This search list is established by
LOGIN and thus each user has a UFD
for his project-programmer number in
each file structure in which LOGIN allows him to have files.

File Operations
File writing on the disk can be defined
by one offour methods: creating, superseding, updating and simultaneous updating. The user is creating a file if no
other file of the same name exists in the
user's directory on the indicated file
structure. If another file with the same
name already exists in the directory,
the user is superseding, or replacing,
the old file with the new file. Other users
sharing the old file at the time it is being
superseded continue using the old file
and are not affected until they finish
using the file and then try to access it
again. At that time, they read the new
file. When a user updates a file, he modifies selection parts of the file without
creating an entirely new version. This
method eliminates the need to recopy
a file when making only a small number
of changes. If other users try to access
a file while it is being updated, they receive an error indication issued by the
system.
Many users can update the same file
through the use of the simultaneous
update feature. This allows users to
work with the same data base simultaneously. An ENQ/DEQ facility is also
offered to allow record level lock out
and thus eliminate race conditions
where multiple users are attempting to
read and/or write the same record.
75

Disk Storage Management
File storage is dynamically allocated
by the file handler during program operations, so the user does not need to give
initial estimates of file length or the
number of files . Files can be any length,
and each user may have as many files
as he wishes, as long as disk space is
available and the user has not exceeded
his logged-in quota. This feature is extremely useful during program development or debugging when the final
size of the file is still unknown. However,
for efficient random access, a user can
reserve a contiguous area on the disk if
he desires. When he has completed
processing, he can keep his preallocated file space for future use or return
it so that other users can have access to
it.

Memory
Management

Input/Output
f)eripheral Device Assignment
With the command language, the
Jser can also request assignment of
:lny peripheral device (magnetic tape,
JECtape, and private disk pack) for ex::Iusive use. When the request for assignment is received, the operating system verifies that the device is available
to this user, and the user is granted its
Jrivate use until he relinquishes it.ln this
Nay, the user can also have complete
::ontrol of devices such as card readers
:lnd punches, paper tape readers and
Junches, and line printers.
Spooling
When private assignment of a slowspeed device (card punch, line printer,
Japer tape punch, and plotter) is not
'equired, the user can employ the spoolng feature of the operating system.
Spooling is a method by which outputto
:l slow-speed device is placed on a highspeed disk or drum. This technique prevents the user from consuming unnecessary system resources while waiting
for either a device to become available
Jr output to be completed. In addition,
the device is managed to a better detlree because the users cannot tie it up
Indefinitely, and the demand fluctuations experienced by these devices
:ire equalized.

The DECsystem-10 is a multiprogramming system; i.e., it allows multiple
independent user programs to reside
simultaneously in memory and to run
concurrently. This technique of sharing
memory and processor time enhances
the efficient operation of the system
by switching the processor from a program that is temporarily stopped because of I/O transmission to a program
that is executable. When core and the
processor are shared in this manner,
each user's program has a memory
area distinct from the area of other
users. Any attempt to read or change
information outside of the area a user
can access immediately stops the program and notifies the user.
Because available memory can contain only a limited number of programs
at anyone time, the computing system
employs a secondary memory, usually
disk or drum, to increase the number of
users serviced. User programs exist on
the secondary memory and move into
memory for execution. Programs in
memory exchange places with the programs being transferred from secondary memory for maximum use of available main memory. Because the transferring, or swapping takes place directly
between main memory and the secondary memory, the central processor
can be operating on a user program in
one part of memory while swapping is
taking place in another. This independent, overlapped operation greatly
improves system utilization by increasing the number of users that can be
accommodated at the same time.
76

To further increase the utilizatio ~
of
memory, the operating system all ~ ~ s
users to share the same copy of a ~
0gram or data segment. This prev ~
ts
the excessive memory usage that
suits when a program is duplicatedl
several users. A program that car .
e
shared is called a reentrant prog ..-- ~ m
and is divided into two parts or ~ ~ g­
ments. One segment contains the c -» -=I e
that is not modified during exeC LJ
4CJ n
(e.g., compilers and assemblers) __
d
can be used by any number of us
r s.
The other segment contains non-r ~ _E:~
trant code and data. The opera
g
4Ed
system providesprotectionlfor sh E3IL.
segments to guarantee that they
re
not accidentally modified.

-=-==

---==-

Virtual Memory
The virtual memory option permits a
user program to execute with an address space greater than the physical
memory actually allocated to that program during execution. User jobs are
swapped as described above. However,
the entire program may not necessarily
be in core during execution. Programs
are divided into pages each of which is
512-words long. Some of these pages
may remain on secondary storage while
the program executes. When a virtual
memory job attempts to access a page
that is not in core, a page fault handler
decides which page or pages to remove
from core and which to bring in from
secondary storage.
Unlike the virtual memory implementation on other systems, this DECsystem-10 feature is an option. Each site
may determine its own need for virtual
memory and install it at their convenience. The system administrator may
grant the privilege for using virtual
memory only to those users who truly
need its capabilities. Those users who
are granted the privilege of using virtual
memory may elect to invoke the feature
for only those programs that could not
execute w ithout the virtual memory
capability.
The virtual memory users may elect
to use the system page fault handler
or they may use a handler that is more
tailored to the particular application or
program behav ior. Finally, it is important
to point out that only those users actually using the virtual memory feature
are affected by any additional overhead associated with a demand paging
system . Non-virtual users execute as
they would in a non-virtual system with
no discernible difference in performance.

Multi-Processor
Systems
DECsystem-10 Dual Processor systems are composed of two CPU's, designated the primary processor (master) and the secondary processor (slave).
The primary processor is connected to
all of the memory in the system and has
all of the system's peripheral I/O equipment connected to its I/O bus. The
secondary processor also has access
to all of memory, however, there are
normally no I/O devices on this processor's I/O bus. The primary processor
performs exactly the same operations
as the processor in a single processor
system. This includes all I/O operations,
swapping, core allocation, resource
allocation and command decoding. The
secondary processor also performs
scheduling and execution of user jobs
according to the same algorithm used
in a single processor system .
The secondary processor executes
user jobs and scans the same job queues
as the primary processor. However,
since the slave cannot do any standard
I/O, it looks for any compute bound
jobs which are in core and runnable. A
software interlock has been added to
the scheduler to prevent the possibility
of both processors trying to execute
the same job at the same time. Whenever a job being executed by the secondary processor requests an I/O operation to be performed the job is stopped
and marked for execution on the master only. Thus both processors run completely asynchronously, both executing
the same scheduler, doing the same
job accounting and using the same job
queues.
77

The existence of dual processors
gives DECsystem-10 users a large
scale computing capability, especially
in the areas of highly compute bound
jobs and non-interactive batch jobs.
The existence of a slave more or less
dedicated to user computation allows
these jobs to be carried on in the systems with little interference with time
sharing users. The performance goal is
to provide a system in which each customer can improve the service offered
to his users over a single processor
compute bound system. Either the customer can add more users with the same
response time or he can keep the same
number of users and reduce turn around
time for compute bound jobs.

riter-job
:ommunication

lared Data Areas
The DECsystem-10 operating system
abies a user to communicate with
1er jobs through the use of sharable
ta areas. This also enables a data
alysis program, for example to read
write an area in the real-time job's
,re space. Since the real-time job asciated with the data acquisition would
, locked in core; the data analysis proam residing on secondary memory
)uld become core resident only when
:1 real-time job had filled a core buf. with data. Operating system calls
n be used to allow the data analysis
:>gram to remain dormant in seconry memory until a specified event
curs in the real-time job: e.g., a buffer
s been filled with data for the data
alysis.

Communications
Software
Inter-Process Communication
Facility
The Inter-Process Communication
Facility (lPCF) provides the capability
for independent jobs to communicate
with one another. For example, if several programs are involved in processing or maintaining a data base, it is possible that one program mightwantto inform the others of any modifications it
made to the data. A job using IPCF cannot make any changes to another job so
protection is in no way sacrificed when
using the IPCF feature .
In order to use the IPCF, each participating job that wishes to receive communication from other jobs must request a unique process identifier (PID)
from the system. The transmitting job
then may send a "packet" of information to another job. (In addition to the
information, the system automatically
provides a "return address" so that the
receiving program can respond to the
sender.) The monitor maintains a linear
queue (the "mailbox") for each job using IPCF. The packet (or packets) will be
kept in the mailbox until the receiving
job retrieves it. This queue is not created until a job sends an IPCF packet
and it does not occupy any space until
such time . The maximum number of
packets allowed in a queue at anyone
time is determined by a "receive" quota
that may be set at each installation for
each user. (If no quota is set by the installation, the standard default is five.)
On systems with the virtual memory
option, the packet could be an entire
page. In this case, the monitor takes
advantage of the page mapping hardware of the KI10 and KL10 to transmit
the page without actually copying it.

78

DECsystem-1O users have a
~ ide
selection of communications pro. ..
_-===:3•• u cts
to enhance or facilitate their co
puting needs. Within the multi-taE:;
environment of TOPS-10, functi ~
ality
exists for:
• Asynchronous communicationtypical vehicle for interactive ti ..--.- - sharing or transaction-oriented -== _e::===~ r minals
communicatio ~ -=~:=;;
• Synchronous
for connection of remote batch,
mote terminal concentration ~ ,- - computer-to-computer links.
The important feature of DECs ~ .:::s tem-10 communications software iE;;
s
implementation as an integral part:::.
...:::>f
the TOPS-10 Operating System. -.---monitor, not the user, handles the c ~ r-wo_ _- - .- - .
munications housekeeping, and
~ II
communications products are f
Y
supported within the TOPS-10 envir..:c.::::::=:::::.
ment. Appropriate synchronous I --- -protocols-DIGITAL's own DDCM f>
...:::>r
BISYNC-are supported.
Users may configure networks ~
h
simple or complex topologies utiliz: 9
the DNS7 family of Universal Front E.
mmands necessary to run the jol> _
- - rhe
user then enters the job into the ~
_ t ch
controller's input queue by way c::
an
"ill . In
operating system command stri ~
the command string, the user c ~
include switches to define the ope , .;;;;
ion
and set the priorities and limits 0 1"'1
ore
memory and processor time.

--=

=

, - -_

_

BATCH USER
1

BATC~

USER

>--_ ___ __
>_ _ _ _ _ _ _

~

~

BATC~ USER f-.-------~

80

Real-time
Computing

Job Dependency
Although jobs are entered sequentially into the batch system, they are not
necessarily run in the order that they
are read because of priorities either set
by the user in an input spooler control
command or computed by the queue
manager when determining the scheduling of jobs. Occasionally, the user
may wish to submit jobs that must be
executed in a particular order; in other
words, the execution of one job is dependent on another. To ensure that jobs
are executed in the proper order, the
user must specify an initial dependency
count in a control command of the dependent job. This dependency count is
then part of the input queue entry. A
control command in the job on which
the dependent job depends decrements the count. When the count becomes zero, the dependent job is
executed.
Error Recovery
The user can control system response
to error conditions by including commands to the batch controller which will
aid in error recovery. These commands
are copied into the control file by the
input spooler. With error recovery
commands, the user specifies the action
to be taken when his program contains
a fatal error, as for example, to skip to
the next program or to transfer to a
special user-written error handling
routine . If an error occurs and the user
did not include error recovery conditior s in his job, the batch controller initiates a standard dump of the user's core
area and terminates the job. This core
dum p provides the user with the means
to debug his program.
Although the batch system allows a
large num ber of parameters to be specified, it is capable of operating with
very few user-specified values. If a
parameter is missing, the batch system
supplies a reasonable default value.
These defaults can be modified by the
individual installations.

Operator Intervention
Normal operating functions performed by the programs in the batch
system require little or no operator
intervention; however, the operator
can exercise a great deal of control if
necessary. He can specify the number
of system resources to be dedicated to
batch processing by limiting the number of programs and both the core and
processor time for individual programs.
He can stop a job at any point, requeue
it, and then change its priorities. By examining the system queues, he can determine the status of all batch jobs. In
addition, the programs in the batch
system can communicate information
to the operator and record a disk log of
all messages printed at the operator's
console. All operator intervention during the running of the input spooler and
the batch controller causes messages
to be written in the user's log file, as well
as in the operator's log file, for later
analysis.
81

For a system to be satisfactory for
real-time operations, two important requirements must be met. The more
important requirement is fast response
time. Because real-time devices may
not be able to store their information
until the computing system is ready to
accept it, the system would be useless
for real-time if the response requirements of a real-time project could not
be satisfied. The operating system allocates system resources dynamically in
order to satisfy the response and computational requirements of real-time
jobs.
The second requirement is protection. Each user of the computing system must be protected from other users, just as the system itself is protected
from all user program errors. In addition, since real-time systems have
special real -time devices associated
with jobs, the computing system must
be protected from hardware faults that
could cause system breakdown. And,
because protection is part of the function of the operating system, the real time software employs this feature to
protect users as we ll as itself against
hardware and software failures. Inherent in the operating system is the capability of real-time, and it is byway of calls
to the operating system that the user
obtains real-time services. The services
obtained by calls within the user's pro gram include:
•
•
•
•

•

Locking a job in core.
Connecting a real-time device to the
priority interrupt system.
Placing a job in a high-priority run
queue.
Initiating the execution of FORTRAN
or machine language code on receipt of an interrupt.
Disconnecting a real -time device
from the priority interrupt system.

ockingJobs
Memory space is occupied by the
~sident operating system and by a mix
f real-time and non-real-time jobs. The
nly fixed partition is between the resient operating system and the remainer of memory so as notto lose informaon when its associated real-time
evice interrupts (since there may not
e sufficient time to swap-in the job) the
lb can request that it be locked into
ore . This means thatthejob is notto be
wapped to secondary memory and
uarantees that the job is readily availble when needed. Because memory is
ot divided into fixed partitions, it can
e utilized to a better degree by dynalically allocating more space to realme jobs when real-time demands are
igh. As real-time demands lessen,
lOre memory can be made available
) regular timesharing and batch usage.

Real-time Devices
The real-time user can connect realtime devices to the priority interrupt
system, respond to these devices at
interrupt level, remove the devices
from the interrupt system, and/or
change the priority interrupt level on
which these devices are assigned .
There is no requirement that these devices be connected at system generation time. The user specifies both the
names of the devices generating the
interrupts and the priority levels on
which the devices function . The operating system then links the devices to
the operating system.
The user can control the real-time
device in one of two ways: single mode
or block mode. In single mode, the
user's interrupt program is run every
time the real-time device interrupts. In
block mode, the user's interrupt program is run after an entire block of data
has been read from the real-time device. When the interrupt occurs from
the device in single mode or at the end
of a block of data in block mode, the
operating system saves the current
state of the machine and jumps to the
user's interrupt routine . The user services his device and then returns control
to the operating system to restore the
previous state of the machine and to
dismiss the interrupt. Any number of
real-time devices may be placed on any
available priority interrupt channel for
the program to read. When the specified
event occurs, the dormant program is
then activated to process the data. The
core space forthe real-time job's buffer
area or the space for the dormant job
does not need to be reserved at system
generation time. The hardware working
in conjunction with the operating system's core management facilities provides optimum core usage.
82

High-Priority Run Queues
The real-time user can receive fc=::a... -====- ; er
response by placing jobs in high-p
<> rity run queues. These queues ar ~
- a xamined before all other run queu ~ -===:; in
the computing system, and any
nnable job in a high-priority queUill
is
executed before jobs in other qu ~
In addition, jobs in high-priority qu ~
es
are not swapped to secondary me l ...
-==:> ry
until all other queues have been scana -~- 4€d.
When jobs in a high-priority queu ~
~ re
to be swapped , the lowest priority j c
c:::::==~=is
swapped first and the highest pr i -=c::::::===~:ao
ity
job last. The highest priority job swa ~ . .~:=» ed
to secondary memory is the firstj c::>
to
be brought into core for imme c::31 ~ te
execution. Therefore, in additio
to
being scanned before all other qu ~
es
for job execution, the high -pr i """c::::::===:ao
ity
queues are examined after all c>
queues for swapping to secon c:
-.
memo ry and before all other qu ~ - _ ... es
for swapping from secondary mellr1 -. .c:::::===-> r y.

- ===»

"High Availability"
TOPS-10 provides a number of features which allow the system to continue operating although some devices
may be inoperable.
1) When errors occur on disks, tapes,
memory, or the slave CPU, TOPS-10
will record the error data and notify
the operator. If the error can be fixed
(e.g ., put a disk back on-line), the
user may continue running without
further delay. Alternatively, the
operator may instruct the system to
remove (detach) the device, in
which case the jobs in error will be
notified and the system will continue
operation without the specified device . If the error is in a bank of memory, TOPS-10 will even attempt to
move its own code (if any) out of the
failing memory. In the case of disks,
the system will attempt to migrate
any swapping space to another unit
to prevent loss of jobs.
2) RP04, and RP06 type disks may be
dual ported so that in case of controller failure, the packs may be
accessed via an alternate path. In
case of a unit failure, the pack may
be moved to a working unit.
3) With use of appropriate I/O bus,
memory bus, and device control
switches, DECsystem-10's may be
configured to provide redundancy
of hardware. Such systems may
allow any piece of hardware to be
taken off-line and repaired while the
system continues operation (in
some cases, it may be necessary to
reload the system after a significant
reconfiguration).

Maintenance Features
The Diagnostic Strategy has produced a high quality of maintenance
aids which enforce the increased performance and availability of a DECsystem-10. The design of the KL 10 processor uses integrated diagnostic logic to
enable maximum visibility and reduce
"hard-core" requirements. Special software techniques are employed to maximize test coverage per diagnostic load,
thereby decreasing the mean time to
diagnose.
Board Level Diagnosis
The Writable Control Store feature of
the KL10 has enabled the "Micro Diagnostic" alternate path methodology of
testing. This technology has enabled
generation of diagnostics which narrow
malfunctions to the board level with a
degree of confidence which exceeds
industry standards.
Maintainability was attacked from a
total system's concept, for not only are
the CPU diagnostics capable of supporting the "Module Swap" philosophy
of repair, the new generation of peripheral diagnostics gives the maintainer
the same qualities. The programs utilize
special diagnostic wrap around logic to
isolate suspected malfunctions to subsystem level. Then, through comprehensive logic analysis, not just functionality, the repair person is directed to the
failing module.
83

On-line Diagnosis
To further increase system availability, special features have been incorporated into the monitor to enable
on-line preventive maintenance.
Emphasis has also been placed on
testing the thoroughness of detectability and the correctness of isolation.
Semiautomatic physical fault i insertion
is qualifying and providing maturity enhancements for this product.
KLiNIK Remote Diagnosis
One final feature of the Maintenance
and Diagnostic Philosophy is the support of remote diagnosis (KLlNIK). This
can provide distant maintenance personnel with hardware performance
statistics to improve the efficiency of
service on KL 10 Based Systems.

84

86

Over the past few years, Datamation
Magazine has run an annual survey of
computer users, asking their opinions
on the quality of service they receive
from their vendors. One major area of
concern is post-installation maintenance
services. DIGITAL has continually ranked
first in quality and availability of service.
Majorfactors in this capability are the
number and placement of service personnel ; parts inventories available to
support local efforts ; an organizational
structure that provides increasing expertise at each level; a management
reporting system that continuously
monitors all areas of service; and a wide
range of service agreements to meet
every customer need.

People
DIGITAL's hardware maintenance
organization includes 3000 hardware
specialists supported by an administrative staff of over 1000. These specialists
are located in more than 300worldwide
offices for the greatest decentralization
of service availability.
Large Systems service engineers typically enter DIGITAL with more than four
years of field experience. They then
undergo four months of intensive training at DIGITAL, followed by yearly updates in new products and technology.
They work with product support teams
who assure smooth transitions of new
products-from developmenttotesting
to installation-and provide consultation
and assistance for all service locations.

Parts
The size and location of DIGITAL's
parts inventories-at local, district, regional, and headquarters operationsare computer-optimized by our own
DECsystem-10, which takes into account
the needs of both existing and new installations. The DECsystem-10, in concert with PDP-11 computers at regional
offices, assures that parts resources
are available locally to solve more than
90% of user problems.
For those problems requiring parts
not available immediately, DIGITAL has
a priority parts system utilizing inventories at district, regional and corporate
levels. All priority parts are shipped by
specialized air-freight carriers.
87

Support
Field Service 's hierarchical organization places the greatest concentration
of resources at the local level, with supporting facilities at each ascending level
in the group. Continuous monitoring of
service activity at all levels of Field Service management focuses attention on
our worldwide systems base so that
resources can be mobilized as required.

Education is an integral part o ~
- the
total Digital customer service syst:: «=3m.
We believe in training, not only for ~ ur­
selves, but also for our customers . ~40ur
employees will, through educatiol"ll ~
e xtract greater performance from ~ C)ur
computer.
To provide this training, we havee ~---=ab­
lished completely equipped tra i..---. ing
centers in a dozen locations aroun c:il -the
world. Our staff at these centers c:=::: <>nsists of full-time instructors dedicC3L..-ted
to computer training.
The education DIGITAL offers incl La ~ es
standard and custom courses in I=> <>th
hardware and software. Our cu r-a-- -ent
schedule includes over 90 stan ~ ~ rd
courses, ranging in duration from
<=J ne
to five weeks.
DIGITAL recognizes that you ~ ay
have a unique requirement that
c=::an
best be met with education at your I <=» cation. Our on-site program meets
his
ing
need by designing and condu ~
courses where and when you chc> ~ se.

To give flexibility to this structure and
provide services that meet users exact
needs, DIGITAL offers a variety of service agreements. These agreements
range from coverage 12 hours/day, five
days/week to around-the-clock maintenance coverage. Occasional service,
on a time and materials basis, is available to users who elect to perform selfmaintenance, as well as off-site repair of
electro-mechanical assemblies through
16 Product Repair Centers in the U.S.
and in Europe.
88

Good service demands outstanding
logistics. Spares availability minimizes
computer repair time . Our materials
inventory network recognizes this concept-and strengthens the total DIGITAL support system.
The first level of spares is often at
your own computer site. From this point
the inventory is in echelons at the
Branch, District, Regional, and Headquarters locations. Our own DECsystem-10 keeps track of this support system, providing replacement parts when
needed.
For DIGITAL computers located in
areas on the fringes of our service
capabilities, and for customers who use
our maintenance on an "as available"
basis, DIGITAL supplies spares planning and inventory procurement assistance.

DIGITAL is a major publisher of manuals, handbooks, and engineering literature. These documents support
more than 65,000 installed DIGITAL
computers. They meet user require ments for installation, maintenance,
education and operation . They provide
an authoritative guide to DIGITAL systems.
89

One example is DEC-a-LOG. Maintaining current systems and documents
is a critical task. DEC-a-LOG satisfies
this requirement by listing and explaining engineering improvements as they
evolve. This information is available to
keep you abreast of the latest technological developments.

The DIGITAL software organization
represents over 3,000 man-years of experience gained from the development
and support of operating systems used
in more than 65,000 computer installations. DIGITAL's software varies in complexity from real-time executives for
minicomputers to the TOPS-10 Monitor
of the DECsystem-10. Applications
cover the spectrum from process control and monitoring scientific experiments to implementing reservation and
inventory control systems.
DIGITAL offers a wide range of software services. These services range
from the personal attention of a skilled
software consultant to the distribution
of up-to-date software and software information. In this way you can get the
most out of your DECsystem-10 and
keep pace with advancements in software.

You purchase only what you need.
Software components, including manuals and updates, can be purchased as
part of a Software Maintenance Service
or ordered separately from the Software Distribution Center. Software
maintenance plans forthe DECsystem10 include:
1. Software Notebook Updates-Each
customer receives two sets of comprehensive software notebooks
which can be kept current via periodic update packages. You are assured of always having the most current documentation published.
2. Program Updates-Subscribers receive the latest software versions
along with all available "bug-fixes"
on magtape.
3. Software DISPATCH-This service
provides all available code corrections as well as a copy of all customer-generated Software Performance Reports published as an
early warning service. This is a comprehensive publication aimed at the
customer in a dynamic, growing
software environment.
90

4. Expedited Software PerformE3L. ::JI'""I ce
Report Service-This service :.==:» rovides a very fast priority resp ~ ..---,se
system with personalized re f==:>
ies
returned directly to the origin ~
or,
thus bypassing normal lags a ~ -'S ociated with publication and prog
.-am
update cycles. This insures that
~ ny
problems you encounter wi l
be
corrected.
5. Consulting Service- These are 2IL.. ~ ailable on a short-term, per-call I:> ~ sis
or for a longer term schedule c:::::::=-: or
resident period. Consultants ca
instal! software updates, train
ew
employees, and recommend ~ ro­
cedures that result in top pe .. '-=ormance by your software syste ~ _

The Advanced Systems Group, an
integ ral part of the D ECsystem -1 0 product group, meets special customer's
needs by augmenting the standard
products and services of the DECsystem-10. The Advanced Systems Group
extends the range ofthe DECsystem-10
product and services by providing:
1. Hardware/Software Design and
Development- Engineering for special products and modifications to
standard products, with emphasis
in the areas of communications, network systems, high availability and
redundant systems, and special
configurations.

2. Systems Project Management for
large and complex configurations
including such functions as systems
evaluation and design, systems
planning for future expansion, extended factory systems testing, special installation backup and support,
and extensions to the DECsystem10 acceptance test procedures.
3. Repeat Manufacture of previously
designed and developed special
products.
Advanced Systems Group products
maintain DIGITAL's high standard of
quality. All hardware products are supportable under DECsystem-10 field
service support plans and are supplied
with full documentation, prints and diagnostics.
91

Support of special software is provided through a centralized support
group on an individual basis for both
installation and Software Performance
Reports (SPR's).
Because of the customized nature
of these products, the Advanced Systems Group provides individual system
configuration review, system integration and system installation assistances
when needed.

92

"

..
•

,

.-!> ".
'·,'V ..
'i~,

~ :~}~... ~~~j.~~~Jf



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : Yes
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Create Date                     : 2010:07:07 16:45:35+10:00
Modify Date                     : 2017:08:04 15:18:37-07:00
Metadata Date                   : 2017:08:04 15:18:37-07:00
Format                          : application/pdf
Document ID                     : uuid:6a5c95a8-10a1-4da6-99cb-c37f15efb70b
Instance ID                     : uuid:3adf16cc-5bd6-3e42-ab33-a04a9b799d2c
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Page Layout                     : SinglePage
Page Count                      : 96
EXIF Metadata provided by EXIF.tools

Navigation menu