Jump to content

IBM System/38

From Alfawiki
IBM System/38
Company typeProduct line
IndustryComputer hardware
FoundedOctober 24, 1978; 48 years ago (1978-10-24)
Headquarters
Rochester
,
United States
ProductsMinicomputer, midrange computer system

The System/38 was a minicomputer and midrange system developed and marketed by IBM, now discontinued. Announced in 1978, it introduced distinctive 48-bit addressing alongside a pioneering integrated database design, aimed at environments with multiple users, often supporting a dozen or more terminals simultaneously. While it did not entirely replace the systems it was intended to succeed, its architectural innovations served as the groundwork for the later successful IBM AS/400 line.

History

Unveiled on October 24, 1978, and shipped starting in 1980, the System/38—initially known by the code name "Pacific"—became commercially available by August 1979. Key contributors to its design included engineers such as Frank Soltis and Glenn Henry. The system incorporated advanced concepts like a single-level store, microcode-controlled operating system features, and a Machine Interface abstraction layer. These ideas drew inspiration from the earlier but ultimately unsuccessful IBM Future Systems project. Development took place over an eight-year span at IBM’s facility in Rochester, Minnesota. The president of IBM’s General Systems Division characterized it as one of IBM’s most extensive projects ever launched.

Intended as a follow-up to the System/3, the System/38 was not backward compatible with earlier systems such as the System/3 (1969), System/32 (1975), or System/34 (1977). In 1983, IBM introduced the System/36 to offer a lower-cost alternative for customers who found the System/38 financially prohibitive. The System/38 itself was eventually replaced by the IBM AS/400 midrange computer family in 1988. Initially, the AS/400 utilized a processor architecture closely aligned with that of the System/38 before transitioning to processors based on PowerPC technology in 1995.

Hardware characteristics

The IBM 5381 System Unit combined several components including the processor, main memory, disk storage, a diskette magazine drive, and a system console equipped with both keyboard and display. It was available in two configurations: Model 100 and Model 200.

The IBM 5382 System Unit maintained the same physical design as the 5381 but incorporated more powerful processors, expanded memory capacity, and larger disk storage options. This model came in five variants: Models 300, 400, 500, 600, and 700.

Access to the system was primarily through IBM 5250 terminals. Starting in 1984, IBM broadened support to include graphics-capable terminals that had formerly required connections to mainframe systems.

Processing unit

The central processing unit contained between 512K and 1536K bytes of main memory distributed across twenty-nine Schottky TTL LSI chips mounted on a circuit board measuring approximately 10 by 15 inches. It featured a memory management unit supporting demand paging to facilitate its single-level store architecture.

The CPU employed a 48-bit addressing scheme—a middle ground between cost-effective 32-bit addressing and the more expansive 64-bit addressing favored by some IBM engineers aiming for future scalability.

System console keyboard/display

The system console consisted of a keyboard paired with a display capable of showing 16 lines of 64 characters each. This setup differed from locally connected 5250 terminals, which offered either a 12x40 or a 24x80 character display format. The keyboard enabled operators to input Control Language commands directly into the system.

Diskette magazine drive

Every model includes a diskette magazine drive as a standard feature.

Machine Interface

The System/38 and its successors utilize a machine interface (MI) architecture designed to separate application software and much of the operating system from hardware-specific details such as address formats and register sizes.

Compilers produce code targeting the high-level MI instruction set, which operates on objects rather than conventional memory addresses or CPU registers.

Unlike virtual machines that interpret instructions during execution, MI instructions serve as an intermediate compilation stage. These instructions are ultimately translated into the processor’s native instruction set at final compile time. MI code is stored alongside executable binaries, allowing programs to be recompiled for different hardware platforms by translating the MI instructions to various native instruction sets when transferred between processors.

OS/400’s TIMI (Technology Independent Machine Interface) builds upon the System/38’s MI, maintaining backward compatibility so that applications originally developed on System/38 can run on modern IBM i systems without needing recompilation.

Microcode

IBM designated all software layers below the System/38’s Machine Interface as microcode, effectively treating them as part of the hardware. This classification covered a broad spectrum of low-level software, ranging from traditional microcode to components typically managed by operating system kernels, including the integrated database system. Two distinct microcode layers existed:

  • Horizontal Microcode (HMC) implemented a register-memory/memory-memory instruction set called the internal microprogramming (IMP) instruction set or Internal Microprogrammed Interface (IMPI), executed directly by the System/38 processor’s native microcode. This layer handled essential low-level operations such as task scheduling and interprocess communication. HMC was stored in control store and corresponded to conventional microcode.
  • Vertical Microcode (VMC) translated Machine Interface instructions into IMPI commands and executed them. It implemented OS functions beyond MI instructions, including the integrated database. VMC was written using a combination of PL/MP and IMPI assembly language and resided in main memory.

This approach to microcode originated from a 1969 antitrust decision that compelled IBM to separate software from hardware sales. By classifying low-level code as hardware, IBM treated the MI as the fundamental instruction set, providing flexibility to evolve IMPI and microcode alongside hardware advancements. Early AS/400 models preserved this structure but discontinued the term "microcode," renaming these layers to Vertical Licensed Internal Code and Horizontal Licensed Internal Code.

Control Program Facility

The System/38 operating system, known as the Control Program Facility (CPF), differs from the System Support Program used on IBM System/34 and System/36 systems. CPF manages various objects such as files, programs, message queues, user profiles, and libraries. Although CPF serves as the operating system, it operates above the System/38 Machine Interface layer, with many traditional OS responsibilities being performed within Horizontal and Vertical Microcode.

Significantly, the System/38 was IBM’s first midrange computer to integrate a database management system directly within its operating system environment.

The system’s control language, CL (Control Language), supports compiled native code execution in a manner similar to shell scripting.

Security features are deeply embedded in the System/38 design, enabling access control on an individual user basis for objects and libraries—a capability that was further enhanced in later AS/400 and iSeries platforms.

Successor system

The AS/400 was introduced as the successor to the System/38, providing backward compatibility with System/36 data and applications. Programs developed on the System/38 that included embedded source code (known as observability) could be executed on the AS/400 and subsequent platforms through recompilation during data restoration. Nevertheless, the majority of third-party application libraries did not incorporate this capability, necessitating expensive replacements when transitioning to newer systems. Pricing varied according to the specific model, processing speed, and storage capacity.

Sales

During its initial five years on the market, IBM sold around 20,000 units of the System/38. Although it was promoted as a minicomputer, its cost was considerably higher than that of the System/34 and System/36, with limited options for upgrading from the System/34. To mitigate this issue, IBM introduced the System/36 as an improved version of the System/34 following the launch of the System/38. While the System/38's sales volume was lower compared to other models, it generated greater profit margins for IBM’s midrange product line.

IBM's portfolio comprised three overlapping yet incompatible systems: the System/34, System/38, and the mainframe System/370. Competitor Digital Equipment Corporation exploited this fragmentation by offering a cohesive product family based on the VAX architecture. IBM attempted to compete with its 9370 system; however, it did not achieve commercial success. Reports from that period indicated sluggish sales performance for both the System/36 and System/38 platforms.

Further reading

External links