CP6100 I/O Process Programming Manual

Introduction
HOW IS CP6100 RELATED TO ENVOY AND ENVOYACP?
Before the introduction of the Tandem 6100 communication
subsystem, two Tandem software products had functions similar to
those of CP6100. ENVOY provided a file management interface to a
range of byte-oriented protocols, and ENVOYACP did the same for a
range of bit-oriented protocols. CP6100 improves on the two
earlier products by taking advantage of the features of the 6100
subsystem. The next few pages describe the evolution of the 6100
subsystem; they show how products like CP6100 are better than
their predecessors for fault-tolerant applications.
NOTE
A program written to use ENVOY or ENVOYACP must be
rewritten to be compatible with CP6100.
First Generation: Communication Controllers
Until the introduction of the 6100 subsystem, Tandem offered
three data communication controllers:
• The simplex, or asynchronous controller, which controlled up
to thirty-two terminals running at speeds up to 19.2K bps,
• The byte synchronous controller, which controlled up to four
byte synchronous lines at speeds of up to 80K bps per line,
and
• The bit synchronous controller, which controlled up to four
bit synchronous lines at speeds of up to 56K bps per line.
Each controller was dual ported, so the failure of a processor,
an I/O channel, an I/O process, or a controller port didn't bring
a line or device to a halt. Rather, control would pass to the
backup processor, channel, I/O process, and port. Figure 1-3
illustrates the fault-tolerance of one of these controllers.
Another important characteristic of each of these controllers was
that, instead of requiring I/O processes to handle all
communication protocol, the controller would share the protocol
task with the I/O process. For example, the byte synchronous
controller handled some lower-level functions common to byte
synchronous protocols; an I/O process (like AM6520 or TR3271)
would fill in higher-level functions and device-specific elements
of protocol. For elaborate protocols like X.25, the I/O process
handled all the protocol above the link level. The protocol
1-6