IBM 3705 Communications Controller

Last updated
IBM 3704 controller 1968 CNRZ mecanographie-2-cliche Jean Weber.jpg
IBM 3704 controller

The IBM 3705 Communications Controller is a simple computer which attaches to an IBM System/360 or System/370. Its purpose is to connect communication lines to the mainframe channel. It was a first communications controller of the popular IBM 37xx series. It was announced in March 1972. Designed for semiconductor memory which was not ready at the time of announcement, the 3705-I had to use 1.2 microsecond core storage; the later 3705-II uses 1.0 microsecond SRAM. Solid Logic Technology components, similar to those in S/370, were used.

Contents

The 3705 normally occupies a single frame two feet wide and three feet deep. Up to three expansion frames can be attached for a theoretical capacity of 352 half-duplex lines and two independent channel adapters.

The 3704 is an entry-level version of the 3705 with limited features.

Purpose

IBM intended it to be used in three ways:

  1. Emulation of the older IBM 2703 Communications Controller and its predecessors. The relevant software is the Emulation Program or EP.
  2. Connection of Systems Network Architecture (SNA) devices to a mainframe. The relevant software is Network Control Program (NCP). When used in this fashion, the 3705 is considered an SNA PU4.
  3. Combining the two methods above in a configuration is called a Partitioned Emulation Program or PEP.

Architecture

IBM 3705 front panel IBM 3705 Front Panel Asmall.jpeg
IBM 3705 front panel

The storage word length is 16 bits. The registers have the same width as the address bus. Their length varies between 16, 18 and 20 bits depending on the amount of storage installed. A particular interrupt level has eight registers. Register zero is the program counter which gave the address of the next instruction to be executed; the other seven are accumulators. The four odd-numbered accumulators can be addressed as eight single-byte accumulators.

Instructions are fairly simple. Most are register-to-register or register-immediate instructions which execute in a single memory cycle. There are eight storage reference instructions which require two or three storage cycles to complete. The only shift capability is to shift right one or to add a register to itself.

Special hardware assists in the calculation of a cyclic redundancy check for detection of transmission errors. Both CRC-16 CCITT and CRC-16 IBM are supported. Assuming the running value is maintained in storage, the execution time to accumulate one more byte is five storage cycles (three instructions).

Rapid context switching was a design objective. The register file is divided into four sections. The three commonly used interrupt levels and the background level have distinct sets of registers. Therefore, entry into most interrupt levels does not require saving the registers of the interrupted program. The infrequently used level which processed program and hardware errors shares registers with the next highest level and thus has to save and restore registers.

The five program levels are:

  1. Error processing
  2. Communication line events
  3. Channel adapter events
  4. Service requests from other levels
  5. Background level

The 3705 has a flashing light style control panel which is superior to most other IBM panels of that style. The two unusual (for IBM) features are:

  1. Storage (and some external registers) can be displayed while the program is executing.
  2. The hex input switches and the two register-sized displays can be used by the program while the machine is running. This capability derived from the objective of emulating the IBM 2703 which has a fairly rich control panel.

The 3705 has a maximum memory capacity of 512 KB, but this requires four physical frames (the base frame and three expansion frames).

An Amdahl 4705 has a maximum memory capacity of 1024 KB, all of which is contained within the base frame.

Peripherals

Three types of peripherals were available: communications scanners, channel adapters and 8" floppy disk (only available in models without a channel adapter). The first Communication Scanner and the first Channel Adapter occupied the same frame as the CCU. Extra peripherals required extra frames.

All Amdahl 4705s were provided with an 8" floppy drive, which was used for diagnostics as well as for remote program loading. This floppy drive and all Channel Adapters were contained in the Base Frame, although additional S/370 channel I/O interfaces could require an Expansion Frame. That is, more than four I/O interfaces required an Expansion Frame, which accommodated four additional I/O interfaces.

Communication scanners

Three different communication scanners were offered:

The Type I Communication Scanner was an entry-level device which presented an interrupt on every received bit. Transmission also required an interrupt for every bit. In theory this would have allowed for rather imaginative uses such as Morse Code and connection to devices with unusual framing methods. A maximum of 64 half-duplex lines could be attached. The aggregate bandwidth was restricted due to the heavy processing requirements.

The Type II Communication Scanner performed functions similar to a USART. There was an interrupt for every transmitted or received character. Six different asynchronous character formats, two forms of Bisync and HDLC/SDLC were supported. A single scanner could attach up to 96 (64 for the first scanner) half-duplex lines. This is the basis of the theoretical maximum capacity of 352 lines. In practice the limit was lower as a scanner with more than 48 half duplex lines could not support any 9.6 kbit/s lines.

The Type III Communication Scanner was a high performance device for attachment of Bisync and HDLC/SDLC lines. It operated on entire frames. DMA was used to fetch and store the bytes of a frame. In theory the line attachment capacity was the same as for Type II Communication Scanner (352 line limit). The need to restrict scanner size to 48 lines to support 9.6 kbit/s was still present. Restricting scanner size to 16 lines allowed line speeds of up to 30 kbit/s. A scanner size of 8 lines allowed speed of about 60 kbit/s.

Maximum communication line connection estimates

With modem supplied clocking, a single line was limited to 56 kbit/s; with internal clocking the limit was 2.4 kbit/s.

Aggregate line connection ability was limited by processing speed.

For a Type II Communications Scanner, processing of a received or transmitted character might take fifty storage cycles (forty instructions). In a 3705-II this gives an aggregate capacity of 20 kB/s. This would allow about 160 half-duplex lines running at a mean speed of 120 cycles per second (cps). Alternatively sixteen half-duplex lines running at 1200 cps (9.6 kbit/s) would be the theoretical limit. IPSANET experience was that six full-duplex 9.6 kbit/s lines carrying a heavy load was the limit. IBM software may have had superior performance.

For a Type III Communications Scanner cycle steal processing of a single character was fairly inexpensivea single storage cycle was required. This would give a theoretical limit of a million cps (eighty 9.6 kbit/s half-duplex lines). In practice the limit was probably lower as some processing would be required for end of frame. Also if the frame contents were moved about in storage this would require 3.5 storage cycles per byte.

IBM communications scanners were limited to 48 lines on the first communications scanner and 96 lines on communications scanners two through four.

Amdahl communications scanners were theoretically capable of 128 lines per scanner, but this was artificially limited to 48 and 96 for marketing reasons.

Channel adapters

Two types of channel adapter were offered:

Type 1 and Type 4 Channel Adapters were designed for 270x emulation. They recognized up to 256 channel addresses and transferred data in small bursts (four bytes for the Type 1; 32 bytes maximum for the Type 4). The hardware could accept almost all of the 240 possible channel command codes. Software had to analyse the command from the channel and either reject the command or process it according to specific rules. Interrupt processing required about fifty storage cycles to process a four byte transfer. The 3705 could only have a single Type 1 Adapter but two Type 4 Adapters were permitted.

An Amdahl 4705 could have four Type 4 channel adapters (Type 1 channel adapters were not offered).

Type 2 and Type 3 Channel Adapters were designed for NCP use only. Only one device address was recognized. Data transfer was via cycle steal which made the overhead low if large buffers were used. The hardware accepted seven channel commands of which four were completely processed by the adapter. This left a read and two write commands for the software to process. These adapters could be connected to any of the three System/370 channel types but a block multiplexor channel was preferred. The Type 3 Adapter could be simultaneously operational (but not in mid-command) on two different channels which might be connected to different hosts.

An Amdahl 4705 could have Type 2 channel adapters as well as Type 4 channel adapters (up to a total of four channel adapters). Amdahl's 4705 Type 2 channel adapter also simulated a Type 3 channel adapter.

The Amdahl 4705 was compatible with and ran about 2.5 times as fast as a comparable 3705-II. The IBM 3704 was an entry-level version of the 3705. It was restricted to 26 half duplex lines (assuming Type 2 Scanner). DMA devices were not supported on the 3704. Performance was about the same as a 3705-I. A 4704 (a 3704-compatible device) was planned, but was never introduced.

The Amdahl 4745 was completely and in every respect a logical superset, or a physical subset of the IBM 3745. Whereas the IBM 3745 offered one or two physical processors, and one or two physical buses, both apparently for redundancy, the Amdahl offered one very highly reliable physical processor and one very highly reliable physical bus (but two logical buses), with no apparent need for redundancy. Whereas the IBM 3745 offered two buses, the Amdahl 4745 offered a single bus which throughput capacity exceeded the aggregate throughput capacity of the two buses of the IBM 3745.

The design of the Amdahl 4745 was such that the control program (NCP) could not tell whether it was operating in an IBM 3745 or in an Amdahl 4745 (or, for that matter, in an IBM 3725 or in an Amdahl 4725). Amdahl's logical and physical simulation of the IBM 3745 (IBM 3725) was that complete.

Later, a very high-speed scanner was offered with the Amdahl 4745 (and also with the Amdahl 4725, for which IBM had no such corresponding 3725 offering) which offered increased redundancy over the IBM 3745 very high-speed scanner (1.544 Mbit/s, T1, or 2.048 Mbit/s, E1) by having the line switchable to a backup 4725/4745 under operator console control.

Demise

The 3705 was eventually replaced by the 3720 and 3725. The 3745 was similar but not entirely compatible. The 3705 was withdrawn from marketing in December 1985. Hardware maintenance service was withdrawn in January 1999.

Related Research Articles

<span class="mw-page-title-main">IBM 3270</span> Family of block-oriented display terminals and printers made by IBM

The IBM 3270 is a family of block oriented display and printer computer terminals introduced by IBM in 1971 and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display terminal. Due to the text color on the original models, these terminals are informally known as green screen terminals. Unlike a character-oriented terminal, the 3270 minimizes the number of I/O interrupts required by transferring large blocks of data known as data streams, and uses a high speed proprietary communications interface, using coaxial cable.

<span class="mw-page-title-main">SCSI</span> Set of computer and peripheral connection standards

Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced in the 1980s and has seen widespread use on servers and high-end workstations, with new SCSI standards being published as recently as SAS-4 in 2017.

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and fixed point binary, fixed point decimal and hexadecimal floating-point calculations.

<span class="mw-page-title-main">IBM System/370</span> Family of mainframe computers 1970–1990

The IBM System/370 (S/370) is a range of IBM mainframe computers announced as the successors to the System/360 family on June 30, 1970. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement.

<span class="mw-page-title-main">Universal asynchronous receiver-transmitter</span> Computer hardware device

A universal asynchronous receiver-transmitter is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.

Systems Network Architecture (SNA) is IBM's proprietary networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes formats and protocols but, in itself, is not a piece of software. The implementation of SNA takes the form of various communications packages, most notably Virtual Telecommunications Access Method (VTAM), the mainframe software package for SNA communications.

Serial Peripheral Interface (SPI) is a de facto standard for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.

A leased line is a private telecommunications circuit between two or more locations provided according to a commercial contract. It is sometimes also known as a private circuit, and as a data line in the UK. Typically, leased lines are used by businesses to connect geographically distant offices.

<span class="mw-page-title-main">IEEE 1284</span> Standard for parallel peripheral interfaces, known as the Centronics port

IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices. It was originally developed in the 1970s by Centronics before its IEEE standardization.

Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and controls communication equipment such as adapters and controllers. In modern terminology, VTAM provides a communication stack and device drivers.

In computing, channel I/O is a high-performance input/output (I/O) architecture that is implemented in various forms on a number of computer architectures, especially on mainframe computers. In the past, channels were generally implemented with custom devices, variously named channel, I/O processor, I/O controller, I/O synchronizer, or DMA controller.

<span class="mw-page-title-main">IBM 37xx</span> Series of mainframe communication controllers manufactured by IBM

IBM 37xx is a family of IBM Systems Network Architecture (SNA) programmable communications controllers used mainly in mainframe environments.

<span class="mw-page-title-main">IBM System/360 Model 67</span> 1967 IBM mainframe model with virtual memory and 32-bit addressing

The IBM System/360 Model 67 (S/360-67) was an important IBM mainframe model in the late 1960s. Unlike the rest of the S/360 series, it included features to facilitate time-sharing applications, notably a Dynamic Address Translation unit, the "DAT box", to support virtual memory, 32-bit addressing and the 2846 Channel Controller to allow sharing channels between processors. The S/360-67 was otherwise compatible with the rest of the S/360 series.

The IBM Network Control Program, or NCP, was software that ran on a 37xx communications controller and managed communication with remote devices. NCP provided services comparable to the data link layer and Network Layer functions in the OSI model of a Wide area network.

<span class="mw-page-title-main">IBM 3745</span>

The IBM 3745 is the latest and last of a 37xx family of communications controllers for the IBM mainframe environment. As of mid-2009 there were an estimated 7,000+ of the larger 3745 models still in active production status, down from 20,000 or more in 2007. The 3745 and associated 3746 models were once heavily used within financial, insurance and retail industries as well as within government agencies globally. However, today most organizations have migrated away from the use of 3745s. IBM's Enterprise Extender and the Communication Controller for Linux on System z (CCL) have largely displaced the older 3745s. IBM announced in September 2002 that it would no longer manufacture new 3745s, but IBM continues to support the hardware by providing worldwide maintenance service, by providing microcode releases and by supporting the associated software including NCP and the virtual telecommunications access method (VTAM). IBM has announced end-of-service dates for Japan, Europe and the Middle East, but has not yet announced end-of-service for the Americas and parts of Asia.

The IBM System/360 architecture is the model independent architecture for the entire S/360 line of mainframe computers, including but not limited to the instruction set architecture. The elements of the architecture are documented in the IBM System/360 Principles of Operation and the IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information manuals.

<span class="mw-page-title-main">IBM 270x</span> 1960s-era IBM mainframe communication controllers

270x is a generic name for a family of IBM non-programmable communications controllers used with System/360 and System/370 computers.

Synchronous transmit-receive (STR) was an early IBM character-oriented communications protocol which preceded Bisync. STR was point-to-point only, and employed a four-of-eight transmission code, communicating at up to 5100 characters per second over half-duplex or full-duplex communication lines.

<span class="mw-page-title-main">IBM System/360 Model 44</span> Specialized IBM computer model from 1960s

The IBM System/360 Model 44 is a specialized member of the IBM System/360 family, with a variant of the System/360 computer architecture, designed for scientific computing, real-time computing, process control and numerical control (NC).

<span class="mw-page-title-main">IBM 303X</span>

The IBM 303X is a discontinued line of mainframe computers, the first model of which, the IBM 3033 Processor, nicknamed "The Big One", was introduced March 25, 1977.

References