IBM 3705 Communications Controller
| Company type | Product / Hardware device |
|---|---|
| Industry | Computer hardware |
| Predecessor | IBM 2703 Communications Controller (emulated) |
| Founded | March 1972 |
| Founder | International Business Machines (IBM) |
| Defunct | December 1985 |
| Fate | Discontinued |
| Successor | IBM 3720, IBM 3725, IBM 3745 |
Area served | Mainframe communication networks |
| Products | Communications controller hardware |
| Owner | IBM |
| Parent | IBM |
The IBM 3705 Communications Controller is a specialized computing device designed to link communication lines with an IBM System/360 or System/370 mainframe channel. As the inaugural communications controller in IBM's widely used IBM 37xx family, it was introduced in March 1972. Originally intended to utilize semiconductor memory that was not yet commercially available, the initial 3705-I model relied on 1.2 microsecond core memory; its successor, the 3705-II, enhanced speed by employing 1.0 microsecond SRAM. The unit incorporated Solid Logic Technology components akin to those found in the S/370 systems.
Typically, the 3705 is housed within a single cabinet measuring approximately two feet wide and three feet deep, with up to three additional expansion cabinets that collectively support a theoretical maximum of 352 half-duplex communication lines and two separate channel adapters.
The 3704 model acts as a more basic variant with restricted capabilities.
Purpose
IBM marketed the 3705 for three main applications:
- To emulate earlier devices such as the IBM 2703 Communications Controller and its predecessors via the Emulation Program (EP).
- To connect Systems Network Architecture (SNA) equipment to mainframes using the Network Control Program (NCP), where the 3705 functions as an SNA PU4.
- To operate both modes simultaneously through a Partitioned Emulation Program (PEP) setup.
Architecture
The controller features a 16-bit word length for storage, with registers matching the address bus width, which varies between 16, 18, or 20 bits depending on the installed memory configuration. Each interrupt level contains eight registers—comprising one program counter and seven accumulators—with four of the odd-numbered accumulators accessible as individual byte registers.
Its instruction set is straightforward, primarily involving register-to-register or register-immediate operations that execute within a single memory cycle; instructions referencing storage require two to three cycles. Shift instructions are limited to right shifts by one bit or doubling the register value.
Dedicated hardware accelerates cyclic redundancy check computations used for transmission error detection, supporting both CRC-16 CCITT and CRC-16 IBM algorithms. When maintaining the CRC value in storage, processing each byte consumes five storage cycles.
Efficient context switching is achieved by partitioning the register file into four segments corresponding to three interrupt levels plus a background level, thereby reducing overhead associated with saving and restoring registers—except at the error processing level, which shares registers with another level.
The system defines five program levels:
- Error processing
- Communication line events
- Channel adapter events
- Service requests
- Background processing
The control panel of the 3705 is notable for its unique flashing light indicators that enable viewing of storage contents and certain external registers during operation. It also includes hexadecimal input switches and dual register-sized displays accessible while running—features intended to replicate the more comprehensive panel of the IBM 2703.
Memory capacity can reach up to 512 KB distributed over four physical cabinets (one base unit plus three expansions). By comparison, the Amdahl 4705 offers up to 1024 KB within a single base cabinet.
Peripherals
Three categories of peripheral devices were made available: communication scanners, channel adapters, and 8" floppy disk drives (the latter only included in configurations without a channel adapter). The original Communication Scanner and Channel Adapter were housed within the same frame as the CCU; any further peripherals required additional frames.
Every Amdahl 4705 system came equipped with an 8" floppy disk drive used for diagnostics and remote program loading. This drive, along with all Channel Adapters, fit inside the Base Frame. However, when more than four S/370 channel I/O interfaces were needed, an Expansion Frame was added to accommodate four extra interfaces.
Communication scanners
There were three varieties of communication scanners offered:
The Type I Communication Scanner represented the basic model, triggering an interrupt for each bit transmitted or received. It could manage up to 64 half-duplex lines but was limited in total bandwidth due to processing constraints.
The Type II Communication Scanner operated similarly to a USART, generating interrupts on a per-character basis. It supported six asynchronous formats, two Bisync variants, and HDLC/SDLC. A single unit could connect as many as 96 half-duplex lines (with a maximum of 64 on the first scanner), theoretically enabling up to 352 lines overall. Nevertheless, scanners handling more than 48 lines were practically unable to support any 9.6 kbit/s lines.
Designed for high performance with Bisync and HDLC/SDLC protocols, the Type III Communication Scanner processed entire frames using DMA for data movement. It offered the same maximum line count as Type II (up to 352), but with specific limitations: a maximum of 48 lines at 9.6 kbit/s, 16 lines at speeds up to 30 kbit/s, and 8 lines around 60 kbit/s.
Maximum communication line connection estimates
When employing modem clocking, individual line speeds were capped at 56 kbit/s; internal clocking limited speeds to 2.4 kbit/s. The overall number of connections depended heavily on processing capabilities.
For Type II scanners, processing each character consumed approximately fifty storage cycles (equivalent to forty instructions). On a 3705-II system, this enabled throughput near 20 kB/s, supporting roughly 160 half-duplex lines at 120 cycles per second (cps) or sixteen lines at 1200 cps (9.6 kbit/s). Operational experience from IPSANET suggested that under heavy load, six full-duplex lines at 9.6 kbit/s were feasible; IBM's software implementations likely achieved better performance.
Type III scanners required fewer processing cycles—about one storage cycle per character—resulting in a theoretical capacity near one million cps (approximately eighty half-duplex lines at 9.6 kbit/s). Practical throughput was lower due to additional cycles needed for end-of-frame processing and data handling.
IBM’s communication scanners were restricted to supporting up to 48 lines on the first unit and 96 on subsequent units. Although Amdahl’s scanners could theoretically accommodate as many as 128 lines, they were deliberately limited to 48 and 96 lines respectively for marketing purposes.
Channel adapters
Two distinct channel adapter types were available:
Type 1 and Type 4 Channel Adapters provided support for 270x emulation, recognizing as many as 256 channel addresses and transferring data in small bursts—four bytes per transfer for Type 1, up to thirty-two bytes for Type 4. The hardware accepted nearly all of the standard 240 channel command codes; software managed command execution or rejection. Interrupt handling required about fifty storage cycles per four-byte transfer. The system allowed one Type 1 Adapter or two Type 4 Adapters concurrently.
The Amdahl 4705 system supported up to four Type 4 channel adapters; Type 1 adapters were not offered by Amdahl.
Type 2 and Type 3 Channel Adapters were tailored specifically for NCP operations, recognizing only a single device address. Data transfers utilized cycle stealing to minimize overhead when using large buffers. The hardware accepted seven channel commands: four fully processed by the adapter hardware and three deferred to software control. These adapters could interface with any System/370 channel type but performed best on block multiplexor channels. The Type 3 Adapter had the capability to operate simultaneously (though not during mid-command) on two separate channels connected to different hosts.
On the Amdahl 4705, both Type 2 and Type 4 adapters could be installed—up to four in total—with its Type 2 adapter also capable of emulating a Type 3 adapter.
Related machines
The Amdahl 4705 was designed to be compatible with the IBM 3705-II, operating at approximately 2.5 times its speed. The IBM 3704 served as a more basic variant of the 3705, supporting up to 26 half-duplex lines when paired with the Type 2 Scanner and lacking DMA capabilities, delivering performance comparable to the 3705-I. Although a 4704 model (compatible with the 3704) was planned, it never reached the market.
The Amdahl 4745 represented a logical superset yet a physical subset of the IBM 3745. Unlike the IBM 3745, which incorporated one or two physical processors and buses for redundancy purposes, the Amdahl system utilized a single, highly dependable processor and bus system featuring two logical buses, removing the requirement for redundant hardware. Remarkably, this single bus outperformed the total throughput of IBM’s dual-bus configuration.
Thanks to its architecture, the control program (NCP) on the Amdahl 4745 could run identically on both IBM 3745 and Amdahl platforms (including IBM/Amdahl 3725/4725 models), guaranteeing complete compatibility across these systems.
Subsequently, a high-speed scanner was introduced for both the Amdahl 4745 and 4725 models. This scanner enhanced redundancy beyond what IBM’s comparable offerings provided by allowing operators to switch lines to a backup at T1 (1.544 Mbit/s) or E1 (2.048 Mbit/s) speeds via console control.
Demise
Following the era of the 3705, IBM introduced the 3720 and 3725 models as successors. The IBM 3745 delivered similar capabilities but lacked full compatibility with preceding systems. IBM officially discontinued marketing of the 3705 in December 1985, with hardware support concluding in January 1999.