top - download
⟦2c7779406⟧ Wang Wps File
Length: 89695 (0x15e5f)
Types: Wang Wps File
Notes: CECOM tilbud
Names: »1604A «
Derivation
└─⟦496afff58⟧ Bits:30006254 8" Wang WCS floppy, CR 0115A
└─ ⟦this⟧ »1604A «
WangText
…00……00……00…=…02…=
…00……00…= <…0a…<
;…0c…;…05…:…09…:…01…9…09…9…0b…9
9 8…0b…8 7…09…7…00…7…05…6…0b…6…02…6…06…5…0f…5…00…4…09…4…02…4…07…3…08…3…01…3…02…2…0a…2
2 2…05…1…86…1 …02… …02… …02… …02…
"Use or disclosure of quotation data is subject to the
restriction on the title page of this Proposal/Quotation."
PART II TECHNICAL PROPOSAL #
EDPF/PRO/001 Date: Jan. 20, 1982
EXPERIMENTAL DISTRIBUTED PROCESSING FACILITY
PART II
TECHNICAL PROPOSAL
COMMANDER…01…US Army Communications-Electronics Command
Procurement Directorate - Research Development
Attn.: DRSEL-PC-TI-SD
CECOM OFFICE BUILDING
Fort Monmouth, New Jersey 07703
REQUEST FOR QUOTATION
SOLICITATION NUMBER DAAB 07-82-Q-JO11
Prepared By:
CHRISTIAN ROVSING A/S
Ballerup, Denmark
CHRISTIAN ROVSING A/S - 1982
"This data furnished in connection with Solicitation
No. D̲A̲A̲B̲ ̲0̲7̲-̲8̲2̲-̲Q̲-̲5̲0̲1̲1̲, shall not be disclosed outside
Government and shall not be duplicated, used, or disclosed
in whole or in part for any purpose other than to evaluate
the quotation; p̲r̲o̲v̲i̲d̲e̲d̲, that if a contract is awarded
to this quoter as a result of or in connection with
the submission of this data, the Government shall have
the right to duplicate, use, or disclose the data to
the extent provided in the contract. This restriction
does not limit the Government's right to use information
contained in the data if it is obtained from another
source without restriction. The data subject to this
restriction is contained in sheets 1̲-̲1̲8̲1̲."
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1 INTRODUCTION ..................................
6
1.1 TECHNICAL PROPOSAL OUTLINE ................
7
2 INTRODUCTION OT THE CR80 COMPUTER FAMILIES ....
9
2.1 CR80 MAXIM AND FATOM COMPUTERS ............
18
2.2 HARDWARE SYSTEM ORGANIZATION ..............
22
2.2.1 Hardware System Overview ...............
22
2.2.2 Processor Unit and Channel Units ......
28
2.2.2.1 CR80 Modular Packaging ............
28
2.2.2.2 Processon Unit Organization .......
34
2.2.3 The Data Channel ......................
40
2.2.4 Peripheral System Architecture ........
41
2.2.5 Maintenance and Configuration Processor
47
3 EDPF HARDWARE CONFIGURATION (SOW 4.1) ........
50
3.1 SINGLE PROCESSOR NODE COMPUTER ............
55
3.2 DUAL PROCESSOR COMPUTERS ..................
57
3.3 DEVELOPMENT COMPUTER ......................
59
3.4 TDX CONTROLLERS ...........................
62
3.5 TOTAL SYSTEM DELIVERY .....................
64
3.6 SYSTEM UPGRADE CAPABILITY .................
65
4 SOFTWARE CHARACTERISTICS (SOW 4.2 & 4.3 &
4.4) ..........................................
66
4.1 INTRODUCTION ..............................
66
4.2 DAMOS - CR80 STANDARD SYSTEM SOFTWARE .....
67
4.2.1 Overview of DAMOS Operational Software
70
4.2.2 Security ..............................
72
4.2.3 Kernel ................................
74
4.2.3.1 Resource Management ...............
75
4.2.3.2 Process Management ................
76
4.2.3.3 Memory Management .................
77
4.2.3.4 Process Communication .............
77
4.2.3.5 CPU Management ....................
77
4.2.3.6 Processing Unit Management ........
78
4.2.3.7 BASIC Transport Service ...........
78
4.2.3.7.1 Service Types .................
81
4.2.4 DAMOS I/O .............................
81
4.2.4.1 File Management System ............
84
4.2.4.1.1 Device and Volume Handling ....
84
4.2.4.1.2 Directories ...................
85
4.2.4.1.3 Files .........................
85
4.2.4.1.3.1 File Types ................
85
4.2.4.1.3.2 File Commands .............
85
4.2.4.1.4 User Handling .................
86
4.2.4.1.5 Disk Integrity ................
86
4.2.4.1.5.1 Security ..................
86
4.2.4.1.5.2 Redundant Disks ...........
87
4.2.4.1.5.3 Bad Sectors ...............
87
4.2.4.1.6 Access Methods ................
87
4.2.4.1.6.1 Unstructured Access .......
88
4.2.4.1.6.2 Indexed Sequential Access .
88
4.2.4.2 Magnetic Tape File Management
System ............................
89
4.2.4.2.1 Device Functions ..............
90
4.2.4.2.2 Volume Functions ..............
90
4.2.4.2.3 File Functions ................
90
4.2.4.2.4 Record Functions ..............
91
4.2.4.3 Terminal Management System ........
91
4.2.4.3.1 Transfer of I/O Data ..........
92
4.2.4.3.1.1 File Mode .................
92
4.2.4.3.1.2 Communication Mode ........
92
4.2.4.3.2 User Handling .................
95
4.2.4.3.3 Hardware Categories ...........
95
4.2.4.3.3.1 Examples ..................
96
4.2.4.3.3.2 Terminal Controllers ......
98
4.2.4.3.3.3 Lines .....................
98
4.2.4.3.3.4 Units .....................
98
4.2.5 System Initialization .................
99
4.3 STANDARD SUPPORT SOFTWARE .................
100
4.3.1 Terminal Operating System (TOS) .......
100
4.3.2 Language Processors ...................
101
4.3.3 System Generation Software ............
102
4.3.4 Debugging Software ....................
102
4.3.5 Utilities .............................
103
4.3.6 Diagnostic Programs ...................
103
4.3.6.1 Offline Diagnostic Programs .......
103
4.3.6.2 Online Diagnostic Programs ........
104
4.5 TRANSMISSION SOFTWARE .....................
104
4.5.2 Network Interface .....................
105
4.5.2.1 Protocol Levels ...................
105
4.5.3 The Modules of the NSS ................
107
4.5.3.1 The Transport Station .............
107
4.5.3.2 The Transport Station .............
107
4.5.3.3 The Supervisory Module ............
107
4.6 COMMUNICATON SOFTWARE .....................
108
4.6.1 High Level Service Subsystem ..........
108
4.6.2 Terminal Access Subsystem .............
108
5 ADA COMPILER ..................................
111
5.1 PROJECT OVERVIEW ..........................
111
5.2 DESIGN CONSIDERATIONS .....................
112
5.2.1 Selection of Target Language .........
113
5.3 ADA SUBSET ................................
114
5.4 ADA SUBSET ................................
114
5.4.1 Ada Subset Syntax Summary .............
116
5.4.2 Predefined Language Environment .......
126
6 MESSAGE FORMATS AND DATABASE ..................
129
6.1 MESSAGE FORMATS ...........................
129
6.2 DATA BASE .................................
130
6.2.1 Data Base Update ......................
139
6.2.2 Data Base Description .................
145
7 NETWORK TOPOLOGY (SOW 4.7) ....................
147
7.1 BUS NETWORK ...............................
149
7.2 STAR NETWORK ..............................
151
7.3 RING NETWORK ..............................
153
7.4 TREE NEWORK ...............................
155
7.5 BROADCAST NETWORK .........................
157
7.6 IRREGULAR NETWORK .........................
159
8 ACCEPTANCE TESTS (SOW 4.4 & 4.5 & 4.6) ........
160
9 TRAINING (SOW 4.8 & 4.9) ......................
162
9.1 TRAINING REQUIREMENTS ANALYSIS ............
162
9.2 TRAINING PLANNING .........................
163
9.2.1 Management and Organization ...........
163
9.2.2 Training Plan .........................
164
9.2.3 Course Overview .......................
164
9.3 CR80 HARDWARE/SOFTWARE COURSE .............
164
9.4 SYSTEM DEMONSTRATION COURSE ...............
165
9.5 TRAINING MATERIALS ........................
166
9.6 STUDENTS TRAINING COURSE GUIDE ............
166
9.7 TRAINING TECHNIQUES .......................
167
11 DIAGNOSTIC SOFTWARE (SOW 4.10) ...............
169
12 SPARE PARTS AND SPECIAL TOOLS (SOW 4.11) .....
170
13 MAINTENANCE (SOW 4.12) .......................
171
14 SAFETY (SOW 4.13) ............................
172
15 PERSONNEL AVAILABLE FOR THE EDPF PROJECT .....
173
16 TRAVEL AND SUBSISTANCE .......................
181
1̲ ̲ ̲I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲
The proposal of Christian Rovsing A/S for design, development
and implementation of an Experimental Distributed Processing
Facility is based on the companies great experience
in applying up-to-date technology to structure an integrated
hardware/software system with the capabilities requested
by CECOM.
Christian Rovsing A/S has specialized in implementation
of a wide range of computer system project based on
the versatile CR80 computer hardware. The CR80 computer
has been designed so modular and flexible that it can
be configured into different standard computer models,
like
o MINI (smal computer)
o TWIN (highly reliable small computer)
o MAXIM (large computer)
o FATOM (FAult TOlerent Multiprocessor)
The components or building blocks of the 4 mentioned
standard computers are well suited to implement a distributed,
flexible and survivable system. The flexibility of
the CR80 computer architecture comprises variance in
instruction execution speed from below 1 mips and up
to 30 mips. Memory capacity variance from 512K bytes
to over 100 megabytes processing power can be varied
from a single CPU to 5 CPU's per Processing Unit. Up
to 16 Processing Units can be interconnected via a
Supra Bus facility.
CHRISTIAN ROVSING A/S has utilized the modular structure
of the CR80 computer to implement a variaty of different
user tailored systems, like front end processor for
NICS-TARE; Computer Aided Message Processing System,
CAMPS - a highly reliable message System for NATO;
commercial EDP systems, Corporate Packet Network for
L. M. Ericson.
The CECOM EDPF can gain from Christian Rovsing A/S's
experience to achieve a Experimental Distributed Processing
Facility. The system can be implemented using advances,
but existing computer component, without relaxation
on the ambitious requirements set forth by CECOM.
Christian Rovsing A/S can clearly state that the problems
normally experienced in development of prototype systems
and which has been expected in the Experimental Distributed
Processing Facility by CECOM can be totally avoided
by following the approach offered by Christian Rovsing
A/S in this proposal.
1.1 T̲E̲C̲H̲N̲I̲C̲A̲L̲ ̲P̲R̲O̲P̲O̲S̲A̲L̲ ̲O̲U̲T̲L̲I̲N̲E̲
The technical proposal for an Experimental Distributed
Processing Facility starts with a brief description
of the four standard computers, that can be configured
using the CR80 hardware components. These four standard
computers are only mentioned to highlight different
characteristics of the CR80 computer family and to
demonstrate the versatility of the CR80.
In the subsequent section (section 3) the proposal
for hardware configuration of the EDPF project is outlined.
The host computer is configured with the same building
block used in all other nodes. This will give a unified
concept for the EDPF. All hardware and software components
will be identical. The second option will also give
an extra super node in an integrated network covering
both initial subsystems.
In section 4 software characteristics are described.
First the DAMOS operation system is outlined. Subsequently
the input/output utilities are mentioned, followed
by standard Support Software. The layering principal
described by ISO is used.
In section 5 the ADA compiler projet is described.
The subset of ADA, which Christian Rovsing A/S is presently
implementing is mentioned.
Section 6 contains the message format and database
feature of the EDPF.
The different network topologies which could be implemented
by the EDPF are analysed and ranked. The best network
for the Experinmental Distributed Processing Facility
is selected for the demonstration to be performed.
The subsequent sections deals with acceptance testing,
training and demonstration, diagnostic software, spare
parts, maintenance, safety and personnel to be allocated
to the EDPF project. Finally an extimate is made over
the number of travels to be expected.
2̲ ̲ ̲I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲ ̲T̲O̲ ̲T̲H̲E̲ ̲C̲R̲8̲0̲ ̲C̲O̲M̲P̲U̲T̲E̲R̲ ̲F̲A̲M̲I̲L̲I̲E̲S̲ ̲(̲S̲O̲W̲ ̲1̲)̲
Several years of rapid computer technology evolution
have led to the development of the CR80 computer product
line at Christian Rovsing A/S. The computer families
are a collection of units architecturally structured
in an innovative way into powerful multiprocessor systems.
Through a high degree of parallelism and redundancy,
the configurations introduced herein offer nearly unlimited
operating power and outstanding system reliability.
From the outset, system architects at Christian Rovsing
recognized that micro-electronics was the driving force
behind modern computer technology. The CR80 systems
in the larger configurations, are competitive with
and challenge the power of large mainframes, but with
far superior operational characteristics and hereto
unrealizable advantages. The CR80 building-block modules
allow a system configuration flexibility previously
unachievable, this has led to the definition of the
CR80 Computer Family depicted in summary block diagrams
on the next page (figure II-2.1).
Arbitrarily, the CR80 family of computers has been
configured into standard computer models and given
simple acronyms. The CR80 standard models are called:
o MINI
o TWIN
o MAXIM
o FATOM
The model names are simple descriptors of the characteristic
features of each configuration which are listed below
the block diagrams in the figure.
As qualified above, system boundaries are arbitrary
and somewhat hard to define since they are truly non-existent,
The CR80 product line as such probably offers the most
versatile computer configurations in the industry.
Nevertheless for purposes of standardization, the CR80
systems cross through 4 smooth transition levels.
Fig. 2.1
The standard CR80 models are divided into two classes
- unmapped and mapped - supported respectively by the
AMOS and DAMOS software operating systems.
The unmapped systems include the
- CR80 MINI, a multiprocessor system with up to 4
CPU's and 256 K words of memory with an operating
range of 0.6 to 1.3 million instructions/second;
and the
- CR80 TWIN, a fully-dualized version of the MINI
with twin multiprocessors and a dual bused peripheral
subsystem.
The mapped systems include the
- CR80 MAXIM, a multiprocessor system with up to
5 CPU's and 16 megawords of memory with an operating
range of 0.6 to 2.0 million instructions/second
and a Data Channel with a megabyte/sec. transfer
rate interfacing up to 15 channel units for control
of up to 960 peripheral modules, and the
- CR80 FATOM, a fault-tolerant system comprised of
as many as 16 multiprocessors interconnected through
a 512 megabit message transport; each multiprocessor
has the same capabilities as a CR80 MAXIM with
256 megawords of memory and an operating range
up to 30 million instructions/second.
These standard configurations encompass a broad range
of physical characteristics to meet the requirements
of the smaller stand-alone user and those of the largest
multi-installation network applications. The four models
offer
- a 50:1 range in instruction execution rate varying
from 0.6 mips to 30 mips.
- a 1000:1 range in memory capacity from 512 K bytes
to 512 megabytes.
- a 80:1 range in processing power utilizing one
CPU or up to 16 interconnected multiprocessors
with a maximum of 5 CPU's each.
- a 400:1 range in connectivity through Peripheral
controllers accommodating a variety of terminations
with as many as 960 peripherals or up to 4096 communication
lines.
Flexible variation is the size and structure of the
CR80 systems are permitted by the unusual degree of
hardware and software modularity. The hardware essentially
consists of fast transfer buses joined to each other
by adapters which allow units on one bus to access
those on another. Dualization as the internal level
and multiple redundancy at the system level provide
a CR80 hardware architecture which is exploited by
the DAMOS software operating system and programs to
survive operational failure of individual components.
Reliability, which is increasingly becoming of concern
in real-time and distributed network applications,
is achieved in the CR80 computer systems by applying
unique architectural concepts. The CR80 hardware/software
architecture treats all multiprocessors as equal elements
not absolutely dedicated to a specific role. Fault
tolerance and backup are achieved through an n+l redundance
scheme without preassignment of system functions to
specific processors. This is in marked contrast to
the more common rigid dualized configurations often
encountered in dedicated applications with on-line
master/slave arrangements, or off-line backup with
switchover facility.
The many functional and operation features inherent
in the CR80 computer system configurations presented
in this proposal go beyond the mere physical size variations
and expansion options. As a general introduction and
to orient these later detailed discussions, the highlights
of the CR80 Computer Family characteristics are presented
here.
The following list of highlights is not exhaustive.
Rather, it is meant to focus on those operational capabilities
meaningful to potential users in varied applications
such as private data networks, front-end processors,
data concentrators, multi-terminal systems, real-time
on-line systems, packet-switched networks or process
control.
C̲R̲8̲0̲ ̲H̲i̲g̲h̲l̲i̲g̲h̲t̲s̲:̲
o DISTRIBUTED PROCESSING THROUGHOUT THE CR80 COMPUTER
FAMILY
- Multiple Central Processors.
- Multiple CPU's in Central Processors.
- Individual Microprocessors in each Peripheral
Controller Module.
- Fast separate processor for Interrupt Preprocessing
and Data Channel management.
- Multiple Microprocessors handling protocol
and logical multiplexing of channels to S-Net
and X-Net.
o UNIQUE MULTILEVEL SECURITY FEATURES
- Privileged instruction set of Central Processors,
coupled with Memory Map control and boundary
register, prevent unauthorized access.
- Separate SYSTEM/USER state limit data access
and process changes and cause interrupt on
attempted violations.
- Prevent processes from monopolizing the system
resources.
- 15 system states with most sensitive part of
privileged instructions only executable in
the highest state.
- Non assigned instructions will cause a trap.
- General centralized addressing mechanism used
whenever object external to a user process
are referred to.
o FAULT TOLERANCY
- NO-BREAK computing supported by numerous unique
hardware, software and maintenance features
to achieve mean time between system failures
in the order of years.
- Multiple Central Processor incorporation of
Peripheral Controller modules providing alternative
processing paths.
- Economic N+1 Central Processor redundancy.
- Economic N+1 Communication Interface redundancy.
- Dual Powering of Peripheral Controller modules
safeguards against single power failures.
- Redundant Fan Units ensures sufficient cooling
of equipment in the event of Fan breakdown
or failure in a mains phase supply.
- Short mean time to repair ensured by major
system components exchangeable from the front
with no cable detachment or special tools needed.
- Extensive Quality assurance and control program
during design and production for achieving
and maintain the CR80 high level of module
reliability.
- Maintenance and Configuration Processor subsystem
supervises Power Supply voltages and environmental
conditions and provides reconfiguration of
the computer in response to errors reported
by on-line diagnostics, self-checks and status
reporting.
o EXTENSIVE USE OF LSI TECHNOLOGY
- High equipment density achieved by use of RAM's,
PROM's, CPU's, USART's, FIFO's, Programmable
Logic Arrays and microprocessors.
- Low power consumption, allowing for forced
air cooling of even the largest computer configurations.
- Very low space requirements of packed computers.
- High speed based on Schottky-TTL technology.
o POWERFUL CPU UTILIZED
- Microcycle time 250 nanoseconds.
- 16 bit instructions.
- Internal pipe lining.
- Instruction prefetch.
- Comprises dual Arithmetic and Logic Units allowing
up to 3 operand arithmetic operations to be
executed simultaneous.
- Extensive error checking with roll-back allowing
instruction reexecution.
- Designed for multi CPU, multiprocessor environment.
- Non-mapped and mapped virtual memory capability.
- Field exchangeable single unit.
o REDUCED BUS CONTENTION USING C̲A̲C̲H̲E̲ HIGH-SPEED BUFFER
MEMORY
- Increases CPU efficiency by 40%
- Transfer bus bandwidth utilization increased
by 50%.
- No software overhead.
- Real time consistency with content of main
memory in multiprocessor environment.
o UNIQUE TDX/X-NET LOCAL AREA NETWORK
- Addresses up to 256 devices on local network.
- Coaxial cable pair allows up to 5000 meters
between stations.
- Multiple ports provide common services to work
stations.
- Megabit serial transfer buses provide essentially
unlimited front-end throughput and connectivity.
o ON-LINE SERVICEABILITY AND EXTENDABILITY
- Computers partioned in self sustained physical
subunits complete with power supply and cooling.
- Physical subunits galvanically isolated from
each other and interconnected via high speed
dual or multiple redundant long distance data
highways, omitting ground loops normally limiting
size and on-line extension of computer systems.
- All major modules, inclusive the power supplies
and Fan Units, are insertable and exchangeable
from the front without special tools.
- On-line exchange and addition of modules without
power down provided by electronic power switches
and bus high impedancing circuitry in the individual
modules.
- Extensive individual indication to operator
of hardware status.
- Wide range of maintenance and diagnostic programs.
- Early warning of error prone conditions and
preventive fault correction made possible by
the Maintenance and Configuration microcomputer
monitoring power supply voltages and environmental
conditions of subunits.
o MAINTENANCE AND CONFIGURATION PROCESSOR
- Stand-alone system Watchdog microcomputer monitors
equipment status through physical sensing.
- Voltage variations of power supplies monitored
with A/D converters.
- Fault Tolerancy computer reconfigurations,
based on accumulated on-line diagnostics, selfchecks
and status reporting.
- Distributed monitoring and control of all computer
subunits through separate redundant, galvanically
isolated connections.
- Fail-safe switch-over to manual set-up of configuration
in case of error in the Maintenance and Configuration
Processor itself.
- Manages the economic N+1 redundancy switch-over
of communication lines.
o DAMOS, DISTRIBUTED ADVANCED MULTIPROCESSOR OPERATING
SYSTEM
- Unifies multiple mapped virtual memory multiprocessors
into a high performance computer (MAXIM and
FATOM).
- Support mapped computers ranging from single
Central Processor with 1 CPU and 128K word
of Memory, and up to 16 Central Processors
each with 5 CPU's and 16 Megaword of memory.
- High efficiency, flexibility and security in
real time environment, but also supports software
development and batch.
- Virtual Memory management by demand paging,
but process swopping is also supported.
- Provides process management, interprocess communication,
basic and high level device handling, including
interactive terminals, communication lines
and file structured backing storage devices.
- Comprehensive suite of software development
tools and utilities, the following languages
are presently available:
- Assembler
- SWELL, the CR80 system programming language
- PASCAL
- COBOL
- ADA (subset)
the following languages are announced:
- FORTRAN 77
- ADA (full range)
2.1 C̲R̲8̲0̲ ̲M̲A̲X̲I̲M̲ ̲A̲N̲D̲ ̲F̲A̲T̲O̲M̲ ̲C̲O̲M̲P̲U̲T̲E̲R̲S̲
Christian Rovsing A/S with the CR80 MAXIM and FATOM
virtual machines has introduced a new and powerful
architecture for ultra-reliable, easy to maintain and
modular fail safe computers. The high speed memory
mapped multiprocessor computers have been designed
to provide modular growth in processing power and memory
requirements to cope economically with the requirements
of:
o General purpose computer systems
o Front end processors
o Packet switches
o Concentrators
o Process control
o On-line systems
o Terminal systems
The illustration overleaf shows that the CR80 FATOM
computer tightly couples Processing Elements (Multiprocessors)
together via the S-NET, the Processing Element (PE)
being constituted by a Processor Unit (PU) and elements
of Channel Units (CU's) attached to the interconnecting
Data Channel. Each peripheral connects to two Processing
Elements (PE's), one PE being the active processor
for a connected peripheral, the other the back-up processor.
Also it is seen that the CR80 MAXIM (Memory mapped
Maxi-computer) is the single Processing Element (PE),
non-redundant subset of the CR80 FATOM (Fault Tolerant
Multiprocessor), otherwise they have identical high
performance characteristics.
The CR80 FATOM fault tolerant computer differs from
other computers (large, medium or small) in that it,
based on a unique distribution of its memory providing
nearby unlimited processing power, up to more than
30 Million instructions per second (MIPS) in a 16 PE
configuration, together with minimum added hardware
to achieve its "self repair" features and 256 Mega
word maximum memory size. Extensive hardware checks
have been incorporated throughout the CR80 architecture,
supporting integrity and security in execution of both
application and system programs, ensuring that erroneous
interaction among users, as well as with the system
software is prevented.
This is extremely important during software maintenance
and development, once a fault tolerant system has been
brought operational, as well as facilitating the initial
software development and debugging.
The CR80 architecture and DAMOS system software supports
modularily the total spectrum of virtual memory machines,
from the 0.6 - 2.0 MIPS MAXIM multiprocessor computer
with one or more CPU's, up to more than 30 MIPS, N+1
redundant FATOM computer, incorporating the cost effective
approach of only having 1 single spare unit, capable
of backing up for any of N working units. The CR80
can be upgraded in the field, often without stopping
operational use, due to its on-line maintainability
and unique galvanic isolation between system elements
at the card-magazine level.
CR80 FATOM…01…CR80 MAXIM
A CR80 Processing Element (PE) constitutes either a
uni- or multiprocessor computer with from 1 to 5 CPU's
(.6 to 2 MIPS). The CR80 FATOM connecting 16 Processing
Elements (PE's) together via the extremely fast S-NET
(up to 512 Mbit/sec.) into a tightly coupled multicomputer
with more than 30 MIPS capability. In addition all
lower levels of input/output processing is distributed
to Peripheral Processors in the Channel Units (CU),
this further enhances the CR80 above the simple accumulated
processing power of the CPUs.
The Peripheral Processors communicate with PE's through
one port of a triple ported memory, the two other ports
allowing for this memory being part of the address
space of two Processing Elements (PE's), which ensure
an alternative Processing Element, in case of a Processing
Element (PE) failure. The Peripheral Processor and
associated three ported memory is physically located
in a Peripheral Module housed in a CU.
The CR80 computers also gain their strength from high
speed intelligent multiplexed Direct Memory Access
(DMA) channels between the distributed memory in PUs
and CUs. The imbedded channel processors (S-NET & INTRA
MEMORY) with minimum interruption of the CPUs autonomeously
handle and ensure the integrity of hundreds of simultaneous
active logical channels between processes.
The CR80 FATOM basic system philosophy is to achieve
N+1 redundancy on all levels, both for Processor Elements
and Peripheral Interfaces. A unified system approach
to software in a redundant system, relieving application
software as far as possible of mechanisms and functions
necessary for fault tolerance, moving these to the
system S/W. Thus the CR80 FATOM Computer is designed
to have no single points of failure on a system basis,
this includes all parts of the system: Processors,
buses, I/O devices, power supply, cooling and software
in order to achieve a continously available no-break
computer. The on-line maintenance features, allows
any failed module to be exchanged and tested, without
interrupting system operation.
Furthermore the CR80 modular packaging and integration
system, ensures the capability for expansion of a CR80
FATOM Computer to virtually any physical size, using
only a few standard types of modules and cables, as
well as achieves the cost efficiency of both the single
and fault tolerant CR80 Computers.
2.2 H̲A̲R̲D̲W̲A̲R̲E̲ ̲S̲Y̲S̲T̲E̲M̲ ̲O̲R̲G̲A̲N̲I̲Z̲A̲T̲I̲O̲N̲
2.2.1 H̲a̲r̲d̲w̲a̲r̲e̲ ̲S̲y̲s̲t̲e̲m̲ ̲O̲v̲e̲r̲v̲i̲e̲w̲
The CR80-memory mapped computers are of modular construction,
allowing the system architect to configurate Computer
Systems with a performance ranging from a single (MAXIM)
computer with from 1 to 5 CPUs and few peripherals
up to a complex failure tolerant (FATOM) computer system
with up to 80 or more CPU's and nearly unlimited amount
of peripheral equipment and communication lines, by
use of few standard items.
In the CR80 Functional Overview shown overleaf (Fig.
2.2.1-1), the basic elements (PE's) and Peripheral
Processors (PER; PROC:) Data Channels and two types
of basic units, Processor Units (PU) and Channel Units
(CU) are shown.
Each Processing Element (PE) looks to the user as a
multiprogrammable multiprocessor (up to 5 CPUs) virtual
memory (16 Megawords) and demand paging. Processing
and receive messages in own Memory via the S-NET. As
all data transfer via the S-NET is through both the
Memory Map of the source PE and the destination PE,
full hardware protection against unintended interference
between PE's is ensured.
A Processing element (e.g. PE No. 1) is physically
implemented in two types of crates (card cages), the
Processor Unit (PU) containing all address sourcing
devices (CPU's and DMA's) and the first Megaword of
the PE-Memory, and a number of Channel Units (CU's)
containing additionally up to 15 Megawork of PE-Memory.
The Channel Units (CU's) furthermore, contain the Peripheral
processors interfacing peripherals (e.g. Disc, Tape,
terminals, communication lines etc.) to the Processing
Element. The Memory Bus of the PE is divided
into three parts (P, C and D) with the Memory Map centrally
placed, in order to optimize processing and access
to Memory.
The P-Bus (P) is reserved for the Central Processing
Units (CPU's). The C-Bus (C) is utilized by Direct
Memory Access (DMA) devices, e.g. the S-Net/TDX Interface
(STI) DMA's and the INTRA MEMORY DMA positioned in
the MAP module. The memory extension bus (D), commonly
named the DATA channel, is shared by CPU's (on P-Bus)
and DMA's (on C-Bus) for access to PE-Memory positioned
in CU's. The memory extension bus (D) gets its channel
like characteristics, due to the intelligent C-Bus
DMA's and their associated embedded processors. Only
passive PE-Memory is attached on the bus (D) itself.
The P-Bus and C-Bus operated independently of each
other (although multiplexing the use of the Memory
Map). This allows processing in the PE by the CPU's
to continue without interference during bulk data transfers
with the S-Net, TDX (X-Net) or within the PE-Memory.
Fig. 2.2.1.1…01…FATOM Functional Overview
Peripherals (Disc, Terminals, communication lines etc.)
are attached by Peripheral Processors (PER. PROC.),
that performs distributedly the I/O processing associated
with the specific types of attached peripheral-devices,
and directly communicates Data and status/control messages
to PE-Memory. The parts of PE-Memory accessible by
Peripheral Processors is compartmentalized. A Peripheral
Processor can only access its own compartment, and
not that of another Peripheral Processor or parts of
PE-Memory allocated for general processing. The combination
of a Peripheral Processor and compartmentalized memory
is defined as a Peripheral Module. This insures integrity
and security of input/output, as well as each Peripheral
Processor having its own path to PE-Memory, results
in omission of the restrictions and speed degradation
of the commonly used multiplexed I/O access to memory.
It is seen from the foregoing that three distinct levels
of multiprocessing are found in the CR80:
o Processor Elements (PE level)
o CPU's within a Processor Element (CPU level)
o Peripheral Processors (PER. PROC. level)
Physical Memory can be incorporated into one or two
Processing elements as shown in the CR80 MAXIM and
FATOM Memory layout overleaf (Fig. 2.2.1-2). This allows
for bulk Memory or Compartmentalized Memory associated
with Peripheral Processors, to be part of the memory
space of two PE's. As both PE's can process data found
in the common part of their memory, this provides for
the Fault Toleranceof the CR80 computer in case of
failure of a PE. It enables other PE's to take over
processing associated with common parts of their Memory
(Bulk or Compartmentalized).
In systems where a Peripheral Module group in a CU,
cannot tolerate a failure, the N+1 redundancy principle
is implemented by having a spare Peripheral Module
available in the CU. This spare Peripheral Module takes
over the operation of any failed Peripheral Module
by switching of the physical peripheral device interface
to the Peripheral Module. This is controlled by the
Maintenance and Control Processor (MCP) described in
a later section.
Fig. 2.2.1-2…01…Memory Layout of CR80 MAXIM AND FATOM Processor
Elements (PE's)
The S-Net (Intermemory Communication Network) provides
high-speed transport of data between Memory of Processing
Elements. Each Processing element interfaces to the
S-Net with from 1 to 32 coaxial twisted pair cables
(SUPRA-BUSES). Galvanic isolation via transformer interface
to the SUPRA/TDX Interface (STI) DMAs, avoids ground
loops between Processing Elements. The information
transfer is multiplexed on the twisted-pair cables,
each carrying 16 Megabits serial transmission under
packet protocol protection which ensures error free
transmission. The Processing Element interface to the
S-Net thus is modularly expandable, by adding SUPRA
BUSES, providing a port to up to 512 Megabits of S-Net
traffic (32 x 16 Megabits) The S-Net achieve high system
reliability and provides multiple redundancy, in that
traffic on a failed SUPRA BUS automatically by the
protocol is distributed to the other SUPRA BUSES. A
Processing Element can communicate with up to 15 other
Processing Element via the S-Net/TDX Interface (STI)
DMA modules alternatively, or mixed with SUPRA BUSES,
provide interface to the TDX (X-Net) Local Area Network
(LAN) for connecting to Peripheral devices (Terminals,
Printers, Process Control, Communication Lines etc.)
and other Processing Elements, within an area of up
to several square Kilometers.
Interrupt handling within a Processing Element is done
centrally by the Interrupt Preprocessor found in the
MAP module. The Interrupt Preprocessor receives interrupts
transmitted serially from C-Bus DMA's, Timers, Peripheral
Processors etc., queue the Interrupts and compare them
with interrupt masks and CPU priorities. The CPU is
only notified via a direct notification line, when
an actual context switching is to take place, thereby
relieving the CPU's of tedious and time consuming Interrupt
handling.
2.2.2 P̲r̲o̲c̲e̲s̲s̲o̲r̲ ̲U̲n̲i̲t̲ ̲A̲n̲d̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲U̲n̲i̲t̲s̲
The following sections describe PU and CU packaging
and organization.
2.2.2.1 C̲R̲8̲0̲ ̲M̲o̲d̲u̲l̲a̲r̲ ̲P̲a̲c̲k̲a̲g̲i̲n̲g̲
As for the processing system design, great emphasis
has been put on Failure Tolerance and modularity of
the packaging, cooling and Power Supply sub-systems.
The CR80 modular fault tolerant computer system is
assembled using standard modules (printed circuit cards)
housed in Processor Units and Channel Units (Card Cages).
The Units are interfaced by galvanically isolated transfer
buses, structured as shown below (figure 2.2.2.1-1)
and described in the following.
Units are housed in 19" Crates (Card Magazines) for
installation in standard 19" Racks, as shown overleaf
(Figure 2.2.2.1-2). A Crate contains a 25 slot Front
Magazine for insertion of up to 17 Printed circuit
card modules and 2 Power Supply modules, the two upper
rows of connectors is each interconnected by multilayer
printed circuit buses, while the lowest row of connectors
are connected individually via flatcables to corresponding
connectors in the Rear Magazine. The 19 slot Rear Magazine,
which can be pivoted down for access to Crate internal
cabling, holds Adapter modules providing the interface
and cabling to external devices (S-Net, Peripherals
etc.) for their corresponding Front Module. Also a
number of slots is provided outside the Rear Magazine,
at the rear of the Crate for insertion of bus termination
cards and interface cards to the Data Channel bus.
Keeping all external cabling at the rear of the Crate,
allows all front modules (CPU, RAM, Peripheral Modules
etc.), inclusive the plug-in Power Supplies, to be
exchanges quickly without use of special tools.
Below each crate (PU or CU) in the CR80 system is installed
an exchangeable FAN Unit, which by forced air cools
the modules in the crate. To ensure continous air flow,
the FAN unit is redundantly constructed with the airstream
being provided by two sets of blowers, each being powered
from different Mains phases, and each with a capacity
sufficient for cooling the entire crate
over a prolonged period of time. This ensures the failure
tolerance of the FAN unit, both against a Mains phase
falling out and mechanical breakdown of a blower.
Fig. 2.2.21-1…01…Processing Element, Units and Buses
One, or two power supply modules operating in parallel,
are installed, in each PU crate dependent of the required
power consumption. A power supply failure in the PU
will cause the PE to stop processing, but it will not
influence the system operation, as processing of the
failed PE will be taken over by the remaining operating
PE's.
In each CU crate two Power Supplies are installed,
each backing up for the other in supplying the modules
installed in the crate - distributing power via separate
Buses. This power scheme ensures that a single power
supply can fail without influencing the operation of
the modules in the CU crate due to the special Power
Supply ORing-circuit in each of the modules. The power
ORing-circuit in each of the modules. The power ORing-circuit
contains a current limiter which ensures that a short
in a module will not draw excess power from the power
supplies, and thereby interrupt the operation of other
modules in the crate.
A second function of the Power ORing-circuit is, in
combination with a slightly shorter pin in the interface
connector between the Peripheral Module and the buses,
to allow on-line replacement of a module in an operating
CU-crate. The shortened pin will disconnect first and
connect last, when a module is removed or inserted,
at this pin (via an integrating circuit) controls the
current limiter in the Power ORing-circuit, power to
the module is therefore removed, or applied without
spikes on crate-buses during module exchange. Also
because of the special bus driver/receivers used, which
have high impedance against the buses when the power
is removed, no interruption occurs in operation of
the Data buses during module exchange.
BIT (Built In Test) are found in most CR80 modules.
The test starts automatically when power is applied
to the module and lights the red TEST LED on the front
plate. When the internal test cycle, which lasts a
few seconds, has been run through successfully, the
TEST LED is estinguished to indicate this, otherwise
it will remain on.
The red colour is reserved for the BIT function, giving
the CR80 computer its characteristic appearance when
power is applied, the modules in the system will then
light red and after a few seconds estinguish only leaving
an eventually failed one still on, easily identifyable
for exchange.
Fig. 2.2.2.1-2…01…CR80M PROCESSOR UNIT & CHANNEL UNIT
Other built in test functions, which are not destructive
of the normal module function, are used for error detection
by the CR80 on-line diagnostics, during actual operation
of the computer.
2.2.2.2 P̲r̲o̲c̲e̲s̲s̲o̲r̲ ̲U̲n̲i̲t̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲
Installation of modules into the PU-Crate is shown
overleaf (Fig. 2.2.2.2-1).
As previously described, interconnection of the PU
modules is performed by means of two parallel transfer
buses, the P-Bus and the C-Bus implemented as two backplane
printed circuit boards. The buses have identical electrical
and timing specifications with the following characteristics:
transfer rate up to 4 megaword/second (16 bits + 2
parity bits), addressing of 1 megaword as work or byte.
The P-Bus is the transfer bus for the Central Processor
Units (CPUs), while the C-Bus is used as transfer bus
by the C-Bus modules (DMAs).
The central processor units, CPUs, are general purpose
processor units with a word length of 16 bits and the
ability to address 64K work of instruction and 64K
work of data. All data/instruction transfer performed
by the CPU are via the P-Bus and the memory MAP to
the memory. Referring to Fig. 2.2.2.2.-2 overleaf,
physically, the CPUs and the memory MAP are connected
to the same P-Bus, but logically the CPUs recognize
the MAP as being located between the memory and the
CPU.
Each CPU includes a private 1K work Cache Memory. This
diminishes the load on the P-Bus, as CPU's often will
find addressed memory locations in the Cache Memory.
The function performed by the memory MAP is to expand
the addressable memory area to 16 megawork of which
1 megaword can be located in the PU as dual ported
Memory, while the remaining 15 megaword can be located
in CU's on the Data Channel Bus (accessed via the MAP
Interface Adapter, MIA). Besides the address translation,
the MAP also provides memory read/write protection,
with protection performed individually for each 1K
page of the memory.
Fig. 2.2.2.2-1…01…Processor Unit (PU)
Fig. 2.2.2.2-2…01…PU Logical organization
The functions performed by the MAP on the P-Bus transfers
are also performed on all C-Bus transfers. This means
that the C-Bus Modules can access the complete 16 -
megaword memory area, subject to memory read/write
protection.
Beside the address translation described above, the
MAP module also includes the INTRA MEMORY DMA function,
interrupt preprocessing and Data Channel Bus interface.
The DMA is used for block transfer within the complete
16 megaword of Processing Element memory. The DMA is
under control of the system software.
The interrupt preprocessing performed ensures that
only interrupts with sufficiment priority will cause
a context switch in one of the CPUs, while all other
interrupts will be queued by the MAP, until the status
of a CPU allows service of them.
Transfer on the Data Channel Bus will be performed
by the memory MAP (via the MIA module) when the addressed
location is not within the PU Memory addressing space
(1M word).
The STI module contains DMA and associated processors
for autonomeous multiplexed transfer of datablock to/from
the total 16 Mword PE-Memory. It interfaces via up
to 8 SUPRABUS Adapter modules to the S-Net. Each SUPRABUS
Adapter contains receive and transmit buffer and transformer
interface to one 16 Mbit SUPRABUS. Up to four STI modules
can be installed in a PU, allowing for interfacing
a total of 32 SUPRABUSES (512 Megabit/sec.) to a Processing
Element.
2.2.2.3 C̲h̲a̲n̲n̲e̲l̲ ̲U̲n̲i̲t̲ ̲O̲r̲g̲a̲n̲i̲z̲a̲t̲i̲o̲n̲
The organization of Channel Units is shown overleaf
(Figure 2.2.2.3-1) and installation of modules into
the CU-crate is shown overleaf (Figure 2.2.2.3-2).
Interconnection of the CU modules is performed by means
of two parallel transfer buses, Data Bus A and Data
Bus B, implemented as two backplane printed circuit
boards. The buses have identical electrical and timing
specifications with the following characteristics:
transfer rate up to 4 megawords/second (16 bits + 2
parity bits), addressing of 1 megaword as word or byte.
Figure 2.2.2.3-1…01…INTERFACE CONNECTORS TO PERIPHERAL DEVICES
Fig. 2.2.2.3-2…01…Channel Unit (CU)
Data Bus A interfaces to the Data Channel of one Processing
Element, and Data Bus B to the Data Channel of another
Processing Element via Crate Interface Adapters (CIA-A
and CIA-B respectively).
The Channel Units contains Memory Modules and Peripheral
Modules. The dual transfer bus structure ensures that
a single point failure will not stop operation of more
than one Peripheral Module.
The physical interface to the peripherals, communication
lines etc. is an Adapter module located at the rear
of the CU crate. For interfacing to communication lines,
a special Adapter module (LIA-S) is available. This
module is able to select a spare LTU module to be used
instead of a failing LTU module. This selection is
under control of the Maintenance and Configuration
Processor MCP. The spare LTU can be back-up for a number
of active input is taken from two separate sources
to ensure that a failure in one power source cannot
stop the CU operation.
2.2.3 T̲h̲e̲ ̲D̲a̲t̲a̲ ̲C̲h̲a̲n̲n̲e̲l̲
The Data Channel Bus is a 1.2 Megabyte/sec., byte serial,
twisted wire bus. Through the combined address space
and physical length it jointly extends the P-Bus and
C-Bus in the Processor Unit (PU) to the attached daisy
chained Channel Units (CUs). Only address destination
modules (memory) can be attached on the Data Channel
Bus. All access is from the PU through the memory MAP.
The MAP automatically routes accesses to physical memory
addresses above 1 Mword out on the Data Channel Bus.
At the hardware level the Data Channel is viewed by
the CPU's as a physical memory extension to the P-Bus
in the PU. At the system level, however, the Data Channel
is viewed by the CPUs as more intelligent due to the
C-Bus DMA processors. The C-Bus Processors (INTRA MEMORY
DMA/Interrupt processor and SUPRA/TDX processors) attached
to the C-Bus in the PU, concurrently with the CPUs
and under their control, can execute high level programs
for moving data in the total memory of the CR80. Data
can be moved within the Processing Element by the INTRA
MEMORY DMA; and between Processing Elements via the
S-Net. Data is moved as single data words, data blocks
or as block multiplexed
data streams, where up to several hundred simultaneous
logical connections are handled autonomously by the
C-Bus processors, requiring only high level interaction
with the CPUs.
2.2.4 P̲e̲r̲i̲p̲h̲e̲r̲a̲l̲ ̲S̲y̲s̲t̲e̲m̲ ̲A̲r̲c̲h̲i̲t̲e̲c̲t̲u̲r̲e̲
Each Peripheral Device (Disc, tape, terminals, communication
lines etc.) or a group of Peripheral Devices are attached
to the CR80 by a Peripheral Module. A Peripheral Module,
see fig. 2.2.4-1 overleaf, contains Compartmentalized
Memory and a Peripheral Processor.
The Peripheral Processor (Microcomputer or bit-slice
(CPU) handles the Peripheral Device interface, as well
as lower level I/O processing (part of device handlers,
communication protocols etc.) and store/fetches data
in the Compartmentalized Memory via the Peripheral
Module I/O bus. The Compartmentalized Memory (typically
16-64 Kilobyte) is part of the Memory space of one
or two Processing Elements.
The Processing Security is thus enhanced, in that Processing
Element Memory is Compartmentalized in Peripheral Modules
so that a memory fraction is handed over to only one
associated Peripheral Processor. Distributing I/O processing
to Peripheral Processors provides a separate level
of multiprocessing in the CR80 architecture, relieving
the CPU's of real-time, device or character dependent
processing, this together with each Peripheral Processor
having its private I/O Bus to Processing Element Memory,
thereby omitting Multiplexed I/O Channels, provides
for the remarkable peripheral connectivity and throughput
of the CR80. Also as Compartmentalized Memory is simply
a part of Processing Element Memory, CPU's can directly
access and process data without further movement.
The program executed by a Peripheral Processor, is
either contained in PROM or in RAM, in the latter case
this provides for loading the program from the Processing
Element via the Compartmentalized Memory to the Peripheral
Processor RAM. This allows standardization of Peripheral
Module hardware by providing software adaption of a
module to different peripheral devices. An example
is the CR80 Peripheral
Figure 2.2.4-1…01…Peripheral Module Embedding Compartmentalized…01…Memory and Peripheral
Processor
Module for Communication Line Interfacing (Line Termination
Unit, LTU), the standard LTU dependent on program loaded
when initialized, copes with level 1 and 2 of most
Asynchroneous, Synchroneous and Bit-synchroneous protocols
(V24, BSC, HDLC, SDLC etc.) as well as variations in
the line interface (control line options, different
clock sources etc.). The soft-load feature is furthermore
important, as discussed later, for N+1 redundancy Peripheral
Modules, in that the common spare Peripheral Processor
can be loaded with adaptation software corresponding
to that of the faulty Peripheral Processor it replaces.
Protection against un-availability of Peripheral Devices
in case of failure of a Processing Element, is ensured
by Peripheral Module Compartmentalized Memory being
part of Memory Space of two Processing Elements.
Referring to figure 2.2.4-1 showing peripheral module,
Data Bus A, Data Bus B and Crate Interface Adapters,
already described in previous sections. The Compartmentalized
Memory is seen to be connected to the Data Bus A and
the Data Bus B via Bus interfaces A and B respectively.
Further is shown a configuration control register,
a current limiter, a peripheral device, an interrupt
controller, control/status register RAM and Power OR-ing
diodes.
Main control lines and data control lines are shown
and the signal directions indicated by arrows. Signals
DA and DB is provided via separate external lines from
a not shown Maintenance and Configuration Processor
(MCP), supervising the total CR80 computer. Attention
should first be drawn to the configuration control
register, this register being controlled in different
ways to disable either of the Data Bus A and Data Bus
B. If the Maintenance and Configuration Processor (MCP)
detects a failure in the Processing element incorporating
Data Bus A, it will issue a disable A signal DA to
the configuration control register causing the register
to disconnect the A-Bus Interface from the Data Bus
A, apart from the hatchet fraction of the interface,
the hatchet fraction and a similar fraction of the
B-Bus Interface also being connected to inputs of the
configuration control register via lines da and db
respectively. Besides disabling the A-Bus interface
the DA signal also oppresses the da signal.
If not being overruled by the signals DA and DB, the
signals da and db respectively controls the configuration
control register to enable or disable bus interface
A or B. That is the bus interface may be controlled
by the Processing Elements themselves. It is seen from
Figure 2.2.4-1 that interrupt signals from the interrupt
controller and data transfer to and from control/status
register RAM neither are transmitted via a disabled
bus interface. Thus, it is possible that either of
two Processing Elements are having access to the Compartmentalized
Memory, controlled by the Processing elements themselves
or by a supervisor system. The actual situation is
reflected in the control/status register RAM, that
is a Processing Element, of actions of the Maintenance
and Configuration Processor and further about the operation
of the Peripheral Processor (e.g. the control/status
RAM keeping the result of a self-checking routine in
the Peripheral Processor). If the switch adapter has
switched the Peripheral Device over from the peripheral
processor to another Peripheral Processor the control/status
register RAM of these Peripheral Processors will store
the switching conditions so that the Processing Elements
know where to fetch/convey data.
To further enhance the reliability, the dual power
supplies are connected as shown in Figure 2.2.4-1.
Dual power supplies are often connected to dissipating
devices via the power OR-ing diodes, but without the
current limiter, whereby a short circuit in one module
cuts the power to all modules supplied from the Power
Supplies (draws down both power supplies through the
diodes).
This is obviated by means of the current limiter standardly
implemented in CR80 Peripheral Modules. The Current
Limiter also gracefully turns power on/off the Peripheral
Module as it is connetrolled by an integrating circuit
connected to a special pin in the edge connector. This
shortenend pin is the last to connect, and the first
to disconnect when a Peripheral module is inserted
or withdrawn from a CR-crate. Also, special bus driver/receivers
are high impedanced against the buses. Thus, if voltages
in a module falls below nominal, the module can be
serviced and exchanged in an operational CU-crate without
introducing power supply spikes or noise on buses which
might disturb the operation of other Peripheral Modules.
The N+1 redundancy of Peripheral Modules is now described
with reference to Figure 2.2.4.-2 overleaf, showing
a peripheral subsystem of the CR80, typically incorporated
in one CR-crate (printed circuit card cage) being interfaced
to Processing Element Data Channels via Crate Interface
Adapters (CIA). The CU-crate containing M+1 Peripheral
Modules comprising peripheral processors and associated
Compartmentalized Memory (RAM) and switch adapters
(LIA-S). The CU crate is dual powered by Power Supplies
A and B.
Also shown is a Crate Configuration Adapter (CCA),
which is connected via the configuration bus to a Maintenance
and Configuration Control Processor (not shown). The
Maintenance and Configuration Processor supervising
the overall CR80 system, receives status information
from various modules and by way of example monitors
the Power Supplies A and B via lines PA and PB respectively,
the respective Crate Configuration Adapter and the
configuration bus. The Maintenance and Configuration
Processor also receives information from the Processing
Elements, this information being by way of example
a message concerning data missing or being incorrect
from Peripheral Module No. N. Such a message is mostly
created by way of the application software or on-line
diagnostics. The Maintenance and Configuration Processor,
will cause select spare signal to be transmitted to
Switch Adapter No. N (LIA-S) via the configuration
bus. The Switch Adapter comprises solid-state switches
arranged in each buswire to disconnect the telecommunication
lines from Peripheral Processor No. N and connect these
lines to the common spare Peripheral Processor No.
N+1 when the select spare signal is received.
The CR80 N+1 redundancy of Peripheral Modules combines
with the dual incorporation of Compartmentalized Memory
into two processing Elements, yield great improvements
over previously used techniques, as to connectivity
and Fault Tolerance.
Fig. 2.2.4-2…01…REDUNDANCY OF PERIPHERAL MODULES…01…AND CONFIGURATION CONTROL
2.2.5 M̲a̲i̲n̲t̲e̲n̲a̲n̲c̲e̲ ̲a̲n̲d̲ ̲C̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲ ̲P̲r̲o̲c̲e̲s̲s̲o̲r̲ ̲(̲M̲C̲P̲)̲ ̲S̲y̲s̲t̲e̲m̲
MCP system shown below (Figure 2.2.5) consists of standard
modules specially suited for monitoring and control
of CR80 Computers.
The WD-CPU, positioned as a standard Peripheral Module
in the CU-Crate, is the central Maintenance and Configuration
Processor receiving status and control messages from
the CR80 Processing Elements through its dual interface
to two PE's of the CR80 system.
The WCA (Watchdog CPU Adapter)constitutes the interface
between the WD CPU and the configuration Bus and the
four available V24 communication ports. The V24 ports
are used for connection of one or two system consoles
and for connection to a communication port for remote
maintenance and diagnostics of the CR80 system.
The Daisy Chained Configuration Bus is a dualized serial
communication path between the WCA and the connected
CCA's (Crate Configuration Adapters). The CCA is a
standard CR80 adapter module designed for monitoring
and control of the PU and CU crates. The functions
available are: monitoring og the DC voltages, switching
of LIA-S modules (switching a spare LTU to the lines
instead of a defect module), and monitoring of digital
and analogue inputs, and control of digital outputs.
The WD CPU and the WD Panel Controller utilize alternative
paths of the serial configuration bus for control and
monitoring of the attached crates and associated modules.
The serial configuration bus therefore is redundant
with different parts of it being used in AUTO and MANUAL
mode.
Figure 2.2.5…01…MCP System
A fail circuit is implemented between the WD CPU and
the WD Panel Controller, which performs automatic switching
to the manual settings of the WD Panel in case of WD
CPU failure or service. Similarly, replacement of the
WD Panel Controller can be done without off-lining
the system when under control of the WD CPU (AUTO MODE).
Crates under control of the MCP system is galvanically
isolated by optocouplers from the serial configuration
bus without electrical interference with the remaining
part of the system.
3̲ ̲ ̲E̲D̲P̲F̲ ̲H̲A̲R̲D̲W̲A̲R̲E̲ ̲C̲O̲N̲F̲I̲G̲U̲R̲A̲T̲I̲O̲N̲ ̲(̲S̲O̲W̲ ̲4̲.̲1̲)̲
The three different computer configuration requested
by CECOM, i.e. a single processor, a dual processor
and a larger development system have been identified.
All three computer can be built from standard configurations
by only adding extra modules.
By using standard configurations, Christian Rovsing
A/S can offer CECOM utilization of standard integration
procedures and thorough tested computers, which CECOM
will benefit from.
The differnet standard configurations and the flwxibility
laid down in the CR80 computer family ensures that
no compromises regarding customer tailoring has to
be made. In fact the three different computers were
configured bottom up i.e. it was realized which computer
modules had to be included. Afterwards the CR80 handbook
was used to identify the standard configuration which
were closest to the requested configuration.
Christian Rovsing A/S proposes a CR80 as the development
system because this will unify the EDPF concept, and
because it is uncertain to Christian Rovsing A/S whether
the Ada compiler will be available at the VAX computer
in time for the project. If the VAX computer inclusion
is a preferred solution to CECOM and if the question
of Adas availability can be solved, Christian Rovsing
A/S is prepared to follow that direction. Christian
Rovsing A/S has used and are still using VAX computers
in other projects. If this option is pursuited Christian
Rovsing suggest that Christian Rovsing personel could
use the CECOM owned VAX computer at Fort Monmouth for
development of some application program if it is appropriate
for CECOM.
The standard computer configuration used for the three
different computers is the CR 850/001 MAXIM COMPUTER.
The equipment list for this basic computer is:
T̲y̲p̲e̲ ̲N̲o̲.̲ D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ Q̲t̲y̲.̲
CR8101-/036--/00 Rack 1
CR8125M/225PC/00 PU-Crate 1
CR8125M/425A-/00 CU-Crate 1
CR8105M/020--/00 Fan Unit 2
CR8106-/220--/00 Mains Filter 1
CR8050M/010--/00 Power Supply 2
CR8107-/010--/00 Power Distribution Panel 1
CR8020M/000PC/00 Map 1
CR8071M/010--/00 MIA 1
CR8030M/040PC/00 CPU Cache 1
CR8016M/128PC/00 RAM 128K 2
CR8211M/738--/00 Data Channel Termination 1
CR8211M/015--/00 Cable Data Channel 1
CR8201M/015--/00 Cable Rack Power 6
CR8055M/020--/00 MBT 5
The CR850/001 MAXIM COMPUTER is delivered in a rack
which has room for two crates, see fig. 3-1 and 2 FAN
UNITS plus MAINS FILTER. Both crates have expansion
room for additional modules.
A brief description of the modules in the processor
unit follows:
M̲e̲m̲o̲r̲y̲ ̲M̲a̲p̲p̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲ ̲(̲M̲A̲P̲)̲ provides addressing of
up to 16M words of virtual memory, demand paging and
a protection mechanism to prevent access from unauthorized
users.
C̲e̲n̲t̲r̲a̲l̲ ̲P̲r̲o̲c̲e̲s̲s̲o̲r̲ ̲U̲n̲i̲t̲ ̲(̲C̲P̲U̲)̲ is a general purpose processor
with 16 bits word length and a standard instruction
set of basic arithmetics, logic, transfer, and special
instruction inclusing bit, byte, word, and multiple
word manipulation. The Cache memory included on the
module minimizes the bus load and thereby insures that
the number of CPUs can be increased.
2̲5̲6̲K̲ ̲w̲o̲r̲d̲s̲ ̲w̲o̲r̲k̲i̲n̲g̲ ̲s̲t̲o̲r̲a̲g̲e̲ ̲(̲2̲5̲6̲K̲ ̲R̲A̲M̲)̲ included in the
basic processor Unit (PU) can be expanded by adding
modules of 128K words to the configuration.
D̲a̲t̲a̲ ̲C̲h̲a̲n̲n̲e̲l̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲(̲M̲I̲A̲)̲ interfaces the processor
unit via the flat cable data channel to the channel
unit. A maximum of 15 channel units can be connected
to the data channel.
P̲o̲w̲e̲r̲ ̲s̲u̲p̲p̲l̲y̲. One module is included, but if required
due to expansion of processor unit, an additional power
supply can be installed. In order to cope with the
28 VDC requirement modifications will be introduced.
The channel unit is delivered with power supply, transfer
bus, and data channel interface (CIA-A). No peripheral
controllers are included, but the unit is prepared
for installation of a great variety of single bus peripheral
controllers from the CR80 product line as DISC CTRL,
TAPE CTRL, LINE PRINTERS CTRL, Communication Line CTRL,
etc.
The Processor Unit crate and the Channel Unit crate
will be assembled in a standard 19" rack, while the
TDX subsystem will be in an adjecent rack. See fig.
3-1 and 3-2.
Figure 3-1
figure 3-2
3.1 S̲I̲N̲G̲L̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲O̲R̲ ̲N̲O̲D̲E̲ ̲C̲O̲M̲P̲U̲T̲E̲R̲
The single processor node computer configuration is
shown in fig. 3.1.1. It comprises two crates plus peripherals
like disk, VDU and printer.
The processing unit PU mainly contains one CPU with
CACHE, 2 128K words of memory, RAM plus a MAP module.
In addition it contains a suprabus/TDX-bus interface
STI.
The configuration of the Single Processor computer
follows
1 CR80 850/001 MAXIM COMPUTER
A̲d̲d̲i̲t̲i̲o̲n̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲s̲ Q̲t̲y̲.̲
PU
CR8021M/040PC/00 STI 1
CR8073M/010--/00 TIA 3
CR2510-/000--/00 TDX OUTLET 3
CU
CR8081M/010A-/00 CIA-A 1
CR8066M/010A-/00 LTU 3
CR8082M/010--/00 LIA-N 3
CR8044M/010A-/00 DISK CTRL 1
CR8084M/010--/00 DCA 1
Peripherals
1 VDU with an attached character printer
1 DISK STATION 80MB
FIG. 3.1.-1
3.2 D̲U̲A̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲O̲R̲ ̲C̲O̲M̲P̲U̲T̲E̲R̲S̲
The dual processor node computer configuration is shown
in fig. 3.2.-1. If comprises two crates plus peripherals
like disc, VDU and printer.
The processing unit PU mainly contains 2 CPUs with
CACHE,3 128K words of memory RAM plus a MAP module.
In addition it contains a suprabus/TDX-bus interface
STI.
The channel unit, CU is identical to the single processor
CU.
1 CR80 8050/001 MAXIM COMPUTER
A̲d̲d̲i̲t̲i̲o̲n̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲s̲ Q̲t̲y̲.̲
PU
CR803M0/040PC/00 CPU CACHE 1
CR8016M/128PC/00 RAM 128K 1
CR8050M/010--/00 POWER SUPLY 1
CR8021M/040PC/00 STI 1
CR8073M/010--/00 TIA 3
CR2510-/000--/00 TDX OUTLET 3
CU
CR8081M/010A-/00 CIA-A 1
CR8066M/010A-/00 LTU 3
CR8082M/010--/00 LIA-N 3
CR8044M/010A-/00 DISK CTRL 1
CR8084M/010--/00 DCA 1
Peripherals
1 VDU with an attached character printer
1 DISK STATION 80MB
Fig. 3.2.-1
3.3 D̲E̲V̲E̲L̲O̲P̲M̲E̲N̲T̲ ̲C̲O̲M̲P̲U̲T̲E̲R̲
The development computer is a triple processor and
it is shown in fig. 3.3-1. It comprises two crates
plus peripherals like three tape drivers, 1 disc drive
12 VDUs and 4 Characters Printers.
The processing unit PU mainly contains three CPUs with
CACHE, 4 128K words of memory RAM plus a MAP module.
In addition it contains a suprabus/TDX-bus interface
STI. The extra modules needed to be added to the basic
configuration CR850/001 MAXIM COMPUTER are 2 extra
CPUs with CACHE and 2 extra memory modules in the PU.
The channel unit, CU mainly contains Line termination
units, which are equipped with software for either
external line communication or terminal communication
software. Also in the CU a disk and a tape controller
is placed.
The configuration of the Development System (Triple
Processor) follows:
1 CR80 850/001 MAXIM COMPUTER
A̲d̲d̲i̲t̲i̲o̲n̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲s̲ Q̲t̲y̲.̲
PU
CR8050M/010--/00 POWER SUPLY 1
CR803M0/040PC/00 CPU CACHE 2
CR8016M/128PC/00 RAM 128K 2
CR8021M/040PC/00 STI 1
CR8073M/010--/00 TIA 3
CR2510-/000--/00 TDX OUTLET 3
CU
CR8050M/010--/00 POWER SUPPLY 1
CR8081M/010A-/00 CIA-A 1
CR8066M/010A-/00 LTU 6
CR8082M/010--/00 LIA-N 6
CR8044M/010A-/00 DISK CTRL 1
CR8084M/010--/00 DCA 1
CR8045M/010A-/00 TAPE CTRL 1
CR8085M/010--/00 TCA 1
Peripherals
11 VDU
4 character printers
1 DISK STATION 80MB
3 TAPE STATION
Fig. 3.3-1
3.4 T̲D̲X̲ ̲C̲O̲N̲T̲R̲O̲L̲L̲E̲R̲S̲
When the node computers are interconnected via the
local network, i.e. the TDX bus, TDX bus controllers
are needed. One controller is needed for each connection.
The total network comprises 6 node computers each equipped
with 3 TDX bus outlet, i.e. 9 TDX controllers are needed
in total. The TDX controllers are assembled in a TDX
crate, but the maximum number of TDX crates needed
will be six, one for each node. In CECOMs experimentation
with the network, the number of TDX controllers in
each TDX crate can be varied according to the selected
network topology.
TDX crate equipped with 3 TDX controllers is shown
in fig. 3.4.-2.
CR1081S/020--/00 LTUX-S CRATE 6
CR8022S/000--/00 POWER SUPPLY 6
CR1070S/000--/00 TDX CTRL 9
CR2510-/000--/00 TDX OUTLET 9
CR8105S/010--/00 FAN UNIT 6
MINI RACK 6
CABLE RACK POWER
Fig. 3.4.-1
3.5 T̲O̲T̲A̲L̲ ̲S̲Y̲S̲T̲E̲M̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
To be delivered as system 1 is:
3 single processors
2 dual processors
1 triple processor
1 TDX system
Spares comprising
S̲p̲a̲r̲e̲s̲ Q̲t̲y̲.̲
PU
CR8050M/010--/00 POWER SUPPLY 1
CR8003M/040PC/00 CPU CACHE 1
CR8020M/000PC/00 MAP 1
CR8071M/010--/00 MIA 1
CR8016M/128PC/00 RAM 1
CR8021M/040PC/00 STI 1
CR8073M/010--/00 TIA 1
CR2510-/000--/00 TDX OUTLET 1
CR8055M/010--/00 MBT 1
CR8105M/020--/00 FAN UNIT 1
CU
CR8081M/010A-/00 CIA-A 1
CR8066M/010A-/00 LTU 1
CR8082M/010--/00 LIA-N 1
CR8044M/010--/00 DISK CTRL 1
CR8084M/010--/00 DCA 1
CR8045M/010--/00 TAPE CTRL 1
CR8085M/010--/00 TCA 1
CR8055M/010--/00 MTT 1
TDX
CR8022S/000--/00 POWER SUPPLY 1
CR1070S/000--/00 TDX CTRL 1
CR8105S/010--/00 FAN UNIT 1
Tools
1 Data scope
1 Data communication tester
1 Disk field test unit
Connectors will be supplied
System 2 delivery will be identical to system 1 except
that no tools will be included in this shipment.
3.6 S̲Y̲S̲T̲E̲M̲ ̲U̲P̲G̲R̲A̲D̲E̲ ̲C̲A̲P̲A̲B̲I̲L̲I̲T̲Y̲
All three configurations can be updated in more than
one sense, e.g. more processing power and higher reliability.
While it is not so important to have a super reliable
experimental system, it is often critical to have a
reliable operational system. The CECOM strategy to
develop a network of computers which constantly exchange
information, and where the total system keeps operating
although one node is inoperational is one aspect of
a reliable system. In the case where one maneuver element
has been eliminated together with its computer it is
essential that other elements can continue exchanging
information and benefit from a computer system.
However, a node computer serving a maneuvre element
might become inoperational without any external reason
like a bit and having the maneuvre element without
one of its most essential resources, ie. the information
processing computer. As can be seen from the above,
it is essential that the individual node computer by
itself is very reliable and has a high availability.
The CR80 MAXIM COMPUTER initially offered in the EDPF
project can be upgraded to become CR80 FATOM computers,
i.e FAult TOlerant Multiprocessors. This upgrade can
be done by using the modules identical to the ones
already installed. The personnel to use the computers
are already familiar with the components and the software
are also unchanged.
4̲ ̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲C̲H̲A̲R̲A̲C̲T̲E̲R̲I̲S̲T̲I̲C̲S̲ ̲(̲S̲O̲W̲ ̲4̲.̲2̲ ̲&̲ ̲4̲.̲3̲ ̲&̲ ̲4̲.̲4̲)̲
4.1 I̲N̲T̲R̲O̲D̲U̲C̲T̲I̲O̲N̲
This section describes the software which implements
the functions required for the EDPF. The software
is described in the following subsections:
o Operating System
o Standard Support Software
o Transmission Software
(Link, Network and Transport Layers)
o Communication Software
(Session and Presentation Layers)
o Application Software
The proposed software is organized in a highly modular
structure with specific emphasis in compliance to the
OSI 7-layer model.
The use of internationally acknowledged standards provides
for flexibility, security, and maintainability. Specific
emphasis has also been put to the requirement for "open
ended growth". Thus the S/W will fully comply with
this requirement.
To a large extent the proposed system builds on existing
software components. Thus a complete X.25 protocol
including a transport station is a standard S/W product,
and the Network Control Center software can be adopted
and reprogrammed in ADA from the functionally equivalent
"System Control Center" in the "Danish Defence Integrated
Communications System" developed by Christian Rovsing.
4.2 D̲A̲M̲O̲S̲ ̲-̲ ̲C̲R̲8̲0̲ ̲S̲T̲A̲N̲D̲A̲R̲D̲ ̲S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
o DAMOS Standard System Software is divided into
- operational software
- support software
The CR80 Distributed Advanced Multi Processor Operating
system DAMOS is the standard operating system for memory
mapped CR80 systems.
DAMOS is divided into operational and support software
as defined overleaf.
DAMOS includes a virtual memory operating system kernel
for the mapped CR80 series of computers.
DAMOS fully supports the CR80 architecture which facilitates
fault tolerant computing based on hardware redundancy
and multiplexing. DAMOS supports a wide range of machines
from a single Processing Unit (PU) with 1 CPU and 128
K words of main memory, and up to a maximum configuration
with 16 PU's where each PU has 5 CPU's and 16.384 K
words of main memory and a virtually unlimited amount
of peripheral equipment including backing storage.
DAMOS is particularly suited for use in real time systems
but supports also other environments like software
development and batch. The main objectives fulfilled
in DAMOS are: high efficiency, flexibility, and secure
processing.
DAMOS is built as a hierarchy of modules, each performing
its own special task. The services offered by DAMOS
include CPU, PU, and memory management. Demand paging
is the basic memory scheduling mechanism, but process
swopping is also supported. Other levels of DAMOS
provide process management and interprocess communication,
basic device handling and higher level device handling
including handling of interactive terminals, communication
lines, and file structured backing storage devices.
DAMOS provides an operating system kernel which integrates
supervisory services for real time, interactive and
batchsystems. A comprehensive set of software development
tools is available under DAMOS. The languages overleaf
are presently available.
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
DAMOS
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲
OPERATIONAL SUPPORT
SOFTWARE SOFTWARE
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
̲ ̲
- Kernel
- resource management - terminal operating system
- directory functions - language processors
- process management - system generation software
- memory management - debugging facilities
- process communica- - utilities
tion
- device management - maintenance and diagnostic
programs
- device handling
- error processing
- real time clock
- PU management
- PU service
- transfer module
- Basic transport service
- Input/output system
- File Management
- Magtape Management
- Terminal Management
- Initialization
Fig. II-4.2-1…01…DAMOS Software Overview
- assembler
- SWELL, the CR80 system programing language
- Pascal
- Cobol
- Ada subset
The following languages are announced:
- Fortran 77
- Ada (all functions)
The DAMOS standard operational software is described
in this section. The description is divided into the
following areas:
- Overview of DAMOS
- Security,
which describes the general DAMOS approach to data
security
- Kernel,
which describes the DAMOS operating system kernel
components
- DAMOS Input/Output,
which describes the DAMOS standard interfaces to
peripheral I/O equipment, the DAMOS disk file management,
magnetic tape file management and terminal and
communication line management systems
- System initialization
The DAMOS standard support software
- terminal operating system
- programing languages
- system generation software
- debugging software
- utilities
- maintenance and diagnostics programs
is defined in section 4.3.
4.2.1 O̲v̲e̲r̲v̲i̲e̲e̲ ̲o̲f̲ ̲D̲A̲M̲O̲S̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲a̲l̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲(̲S̲O̲W̲ ̲4̲.̲4̲)̲
DAMOS may be visualized as the implementation of a
set of abstract data types and a corresponding set
of tools for creating and manipulating instantiations
(objects) of these types.
The major components in DAMOS are the Kernel, the File
Management System, the Magnetic Tape File Management
System, the Terminal Management System and the Root
Operating System.
The DAMOS Kernel exists in one incarnation for each
processing unit (PU). The data types and functions
implemented by the Kernel are:
D̲a̲t̲a̲ ̲T̲y̲p̲e̲ F̲u̲n̲c̲t̲i̲o̲n̲
CPUs CPU management and scheduling
processes process management
virtual memory segments memory management
PU's PU management
synchronization elements inter process communication
device device management and
basic device access methods
ports basic transport service
The Kernel also provides facilities for
- processing of errors
- centralized error reporting
- a data transfer mechanism
- a PU service module
The File Management System (FMS) implements files on
disks. The FMS provides functions for manipulating
and accessing files and acts as an operating system
for a group of disks units. The FMS may exist in several
incarnations in each PU where each incarnation controls
its own devices.
The Terminal Management System (TMS) is similar to
the FMS. It provides functions for manipulating and
accessing communication lines and terminals including
line printers. The objects accessed via the TMS are
called units. A unit may be an interactive terminal,
a line printer or a virtual circuit. The TMS acts
as
an operating system for a group of communication devices
attached via LTUs, LTUXs or a parallel controller.
The TMS may exist in several incarnations in each PU,
each incarnation controlling its own devices.
The Magnetic Tape File Management System handles files
on magnetic tape units.
A common security policy and hierarchical resource
management strategy is used by the Kernel, the FMS
and the TMS. These strategies have been designed with
the objective of allowing multiple concurrent higher
level operating systems to coexist in a PU in a secure
and independent manner.
The Root operating system is a basic high level operating
system which intially possesses all resources in its
PU.
The DAMOS kernel, the File Managemet System, the Terminal
Management System and the Magnetic Tape File Management
are all programmed in SWELL. All the mentioned subsystems,
except the DAMOS kernel, can optionally be reprogrammed
in ADA if requested by CECOM.
4.2.2 S̲e̲c̲u̲r̲i̲t̲y̲
DAMOS offers comprehensive data security features.
A multilevel security system ensures that protected
data is not disclosed to unauthorized users and that
protected data is not modified by unauthorized users.
All memory allocatable for multiple users is erased
prior to allocation in case of reload, change of mode,
etc. The erase facility is controlled during system
generation.
The security system is based on the following facilities:
- Hardware supported user mode/privileged mode with
16 privilege levels. Priviliged instructions can
be executed only when processing under DAMOS control.
- Hardware protected addressing boundaries for each
process.
- Non-assigned instructions will cause a trap.
- Primary memory is parity protected.
- Memory bound violation, non-assigned instructions,
or illegal use of privileged instructions cause
an interrupt of highest priority.
- The hierarchical structure of DAMOS ensures a controlled
use of DAMOS functions.
- A general centralized addressing mechanism is used
whenever objects external to a user process are
referred to.
- A general centralized access authorization mechanism
is employed.
Centralized addressing capabilities and access authorization
are integral parts of the security implementation.
User processes are capable of addressing Kernel objects
only via the associated object descriptor table. The
following types of DAMOS objects are known only via
object descriptors:
- Processes
- Synchronization elements
- Segments
- Devices
- PUs
- CPUs
- Ports
The object forms the user level representation of a
DAMOS Kernel object. It includes the following information:
- A capability vector specifying the operations which
may be performed on the object by the process which
has the object descriptor.
- A security classification
The access right information concerning the various
DAMOS objects is retained in a PU directory of object
control blocks. Each control is associated with a
single object.
When the access right of a process to a segment is
verified and the segment is included in the logical
memory space of the process, the contents of that segment
may be accessed on a 16-bit word basis at the hardware
level subject to hardware access checks.
Authorization of access to an object is based on
- security classification check
- functional capability check for the object
versus the process
The security policy is based on a multilevel -multicompartment
security system.
4.2.3 K̲e̲r̲n̲e̲l̲ ̲(̲S̲O̲W̲ ̲4̲.̲4̲)
The DAMOS Kernel is a set of reentrant program modules
which provide the lowest level of system service above
the CR80 hardware and firmware level.
The Kernel consists of the following components:
- Resource Management,
which administers resources in a coherent way
- Directory Functions,
which provide a common directory service function
for the other Kernel components
- Process Manager,
which provides tools for CPU management, process
management and scheduling
- Page Manager,
which provides memory management tools and implements
a segmented virtual memory
- Process Communication Facility,
which provides a mechanism for exchange of control
information between processes
- Device Manager
which provides a common set of device related functions
for device handlers and a standard interface to
device handlers
- Device Handlers,
which control and interface to peripheral devices
- Error Processor,
which handles errors detected at the hardware and
Kernel level and provides a general central error
reporting mechanism
- Real Time Clock
for synchronization with real time
- PU Manager,
which provides functions for coupling and decoupling
PUs
- PU Service Module,
which provides service functions for remote PUs
- Transfer Module
for a hardware based transfer of data in a PU and
between PUs
- Basic Transport Service,
which provides a general mechanism for exchange
of bulk data between processes and device handlers.
The following subsections describe the main Kernel
functions:
- resource management
- process management
- memory management
- process communication
- CPU management
- PU management
- Basic transport service
4.2.3.1 R̲e̲s̲o̲u̲r̲c̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
The goal of DAMOS Resource Management is to implement
a set of tools which enables the individual DAMOS modules
to handle resources in a coherent way. This again,
will make it possible for separate operating systems
to implement their own resource policies without interference.
Further built-in deadlock situations will be avoided.
The resource management module governs anonymous resources,
such as control blocks. Examples of resource types
are:
- process control blocks
- segment control blocks
- synchronization elements
- PU directory entries
Each type of resource is managed independently from
all other types.
The resources are managed in a way that corresponds
to the hierarchical relationships among processes.
Two operating systems which have initially got disjoint
sets of resources, may delegate these resources to
their subordinate processes according to separate and
non-interfering strategies. For example, one operating
sytem may give all its subordinate processes distinct
resource pools, i.e. there will not be any risk of
one process disturbing another. On the contrary, the
other operating system may let all its subordinate
processes share a common pool, i.e there may be a much
better resource utilization at the cost of the risk
for deadlock among these processes.
4.2.3.2 P̲r̲o̲c̲e̲s̲s̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
In the CR80 system, a clear distinction is made between
programs and their executions, called processes. This
distinction is made logically as well as physically
be applying two different base registers: one for program
code and one for process data. This distinction makes
reentrant, unmodifiable code inevitable.
The process is the fundamental concept in CR80 terminology.
The process is an execution of a program module in
a given memory area. The process is identified to
the remaining software by a unique name. Thus, other
processes need not to be aware of the actual location
of a process in memory but must refer to it by name.
"This data furnished in connection with Solicitation
No. D̲A̲A̲B̲ ̲0̲7̲-̲8̲2̲-̲Q̲-̲5̲0̲1̲1̲, shall not be disclosed outside
Government and shall not be duplicated, used, or disclosed
in whole or in part for any purpose other than to evaluate
the quotation; p̲r̲o̲v̲i̲d̲e̲d̲, that if a contract is awarded
to this quoter as a result of or in connection with
the submission of this data, the Government shall have
the right to duplicate, use, or disclose the data to
the extent provided in the contract. This restriction
does not limit the Government's right to use information
contained in the data if it is obtained from another
source without restriction. The data subject to this
restriction comprises all sheets."