# PC-based IBM mainframe-compatible systems

Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM mainframe-compatible systems which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much electricity or floor space. However, they sacrificed performance and were not as dependable as mainframe-class hardware. These products have been popular with mainframe developers, in education and training settings, for very small companies with non-critical processing, and in certain disaster relief roles (such as field insurance adjustment systems for hurricane relief).

## Background

Up until the mid-1990s, mainframes were very large machines that often occupied entire rooms. The rooms were often air conditioned and had special power arrangements to accommodate the three-phase electric power required by the machines. Modern mainframes are now physically comparatively small and require little or no special building arrangements.

## System/370

IBM had demonstrated use of a mainframe instruction set in their first desktop computer—the IBM 5100, released in 1975. This product used microcode to execute many of the System/370's processor instructions, so that it could run a slightly modified version of IBM's APL mainframe program interpreter.
In 1980 rumors spread of a new IBM personal computer, perhaps a miniaturized version of the 370. In 1981 the IBM Personal Computer appeared, but it was not based on the System 370 architecture. However, IBM did use their new PC platform to create combinations with additional hardware that could execute S/370 instructions locally.

### Personal Computer XT/370

In October 1983, IBM announced the IBM Personal Computer XT/370. This was essentially a three-in-one product. It could run PC DOS locally, it could also act as 3270 terminal, and finally—its most important distinguishing feature relative to an IBM 3270 PC—was that it could execute S/370 instructions locally.
The XT/370 was an IBM Personal Computer XT (System Unit 5160) with three custom 8-bit cards. The processor card (370PC-P), contained two modified Motorola 68000 chips (which could emulate most S/370 fixed-point instructions and non-floating-point instructions), and an Intel 8087 coprocessor modified to emulate the S/370 floating point instructions. The second card (370PC-M), which connected to the first with a unique card back connector contained 512 KiB of memory. The third card (PC3277-EM), was a 3270 terminal emulator required to download system software from the host mainframe. The XT/370 computer booted into DOS, then ran the VM/PC Control Program. The card's memory space added additional system memory, so the first 256 KiB (motherboard) memory could be used to move data to the 512 KiB expansion card. The expansion memory was dual ported, and provided an additional 384 KiB to the XT Machine bringing the total RAM on the XT side to 640 KiB. The memory arbitrator could bank switch the second 128 KiB bank on the card to other banks, allowing the XT Intel 8088 processor to address all the RAM on the 370PC-M card. Besides the 416 kB of usable RAM for S/370 applications, the XT/370 also supported up to 4 MB of virtual memory using the hard drive as its paging device.
IBM claimed the XT/370 reached 0.1 MIPS (when the data fit in RAM). In 1984, the list price of an XT/370 in its typical configuration was approximately $12,000 so compared favorably with IBM's own mainframes on a $/MIPS basis; for example, an IBM 4341 delivered 1.2 MIPS for $500,000. While it theoretically reduced demand on customers' mainframes by offloading load onto the smaller computer, as customers purchased more XT/370s they likely increased the overall load on the mainframes, increasing IBM's mainframe sales.
Similarly to the mainframe version of VM/CMS, the VM/PC also created the illusion of virtual disks, but on the PC version these were maintained as PC DOS files, either on floppy or hard disk. For example, the CMS virtual disk belonging to user FRED at device address 101 was stored as the DOS file FRED.101. The CMS IMPORT and EXPORT commands allowed extraction of files from these virtual drives as well as ASCII/EBCDIC conversion.
The XT/370 came with an XT-style 83-key keyboard (10 function keys). Newer revisions of the XT/370 dropped the PC3277-EM in favor of the IBM 3278/79 boards. The XT/370 was among the XT systems that could use a second hard drive mounted in the 5161 expansion chassis.$^{:6–17}$
BYTE in 1984 called the XT/370 "a qualified success". The magazine praised IBM for "fitting all of the 370's features into the XT", and hoped for technical improvements that "might result in an even better computer".
The XT/370 was discontinued in April 1987.

### Personal Computer AT/370

In 1984, IBM introduced the IBM Personal Computer AT/370 with similar cards as for the XT/370 and updated software, supporting both larger hard disks and DMA transfers from the 3277 card to the AT/370 Processor card. The system was almost 60% faster than the XT/370. The AT/370 used different, 16-bit interface co-processing cards than the XT, called PC/370-P2 and PC/370-M2. The latter card still had only 512 KB for memory, out of which 480 KB were usable for programs in S/370 mode, while 32 KB were reserved for microcode storage. For the terminal emulation function, the AT/370 came with the same 3278/79 Emulation Adapter as the late-series XT/370. The AT/370 motherboard itself was equipped with 512 KB of RAM.$^{:9-26to9-28}$
The AT/370 also ran VM/PC, but with PC DOS 3.0 instead of 2.10 that the XT version used. VM/PC version 2, launched in November 1985, improved performance by up to 50%; it allowed add-on memory (in addition to the disk) to be used as a page cache for VM.
A November 1985 Computerworld article noted that the machine was "slow selling". The AT/370 was discontinued alongside the XT/370 in April 1987.

### IBM 7437 VM/SP Technical Workstation

In April 1988, IBM introduced a System/370 workstation that had been shipping to some customers since August 1987. Officially called the IBM 7437 VM/SP Technical Workstation (and later also known as the Personal System/370), it was a freestanding tower that connected to a MCA card installed in a PS/2 Model 60, 70, or 80. The 7437 tower contained the processor and a 16 Mbytes main memory, and the PS/2 provided I/O and disk storage. The 7437 ran the IBM VM/SP operating system, and one IBM representative described the 7437 "like a 9370 with a single terminal". It was intended for existing S/370 users and its November 1988 list price was $18,100 for a minimum 25-unit order. One of its intended roles was to provide a single-user S/370-compatible computer that could run computer-aided design and engineering applications that originated on IBM mainframes such as CADAM and CATIA. Graphics support was provided by an IBM 5080 graphics system, a floor-standing tower. The 5080 was connected to the 7437 through the PS/2 via a cable and MCA adapter.

### Personal/370

Later, IBM introduced the Personal/370 (aka P/370), a single slot 32-bit MCA card that can be added to a PS/2 or RS/6000 computer to run System/370 OSs (like MUSIC/SP, VM, VSE) parallel to OS/2 (in PS/2) or AIX (in RS/6000) supporting multiple concurrent users. It is a complete implementation of the S/370 Processor including a FPU co-processor and 16 MB memory. Management and standard I/O channels are provided via the host OS/hardware. An additional 370 channel card can be added to provide mainframe-specific I/O such as 3270 local control units, 3400/3480 tape drives or 7171 protocol converters.
Although a single-card product, the P/370 ran three times faster than the 7437, attaining 3.5 MIPS, on par with a low-end IBM 4381. A subsequent book (by the same author) claims 4.1 MIPS for the P/370.
The Personal/370 was available as early as November 1989 although on a "special bid basis".

## System/390

In 1995 IBM introduced a card, the "Enhanced S/390 MicroProcessor Complex", which supported IBM ESA/390 architecture on a PC-based system. IBM's PC-related products evolved to support that as well, employing the card (IBM part number 8640-PB0) in the "IBM PC Server 330 in 1998 and the IBM PC Server 500 models.

### S/390 Processor Card

An important goal in the design of the S/390 Processor Card was complete compatibility with existing mainframe operating systems and software. The processor implements all of the ESA/390 and XA instructions which prevents the need for instruction translation. There are three generations of the card:
* The original S/390 Processor Card incorporated 32MB of dedicated memory, with optional 32MB or 96MB daughter cards, for a combined total of 64MB or 128MB of RAM. The processor was officially rated at 4.5 MIPS. It was built to plug into a MicroChannel host system.
* The second version was built for a PCI host system. It included 128 MB of dedicated memory as standard, and was still rated at 4.5 MIPS.
* The third version, referred to as a P/390E card (for Enhanced), included 256 MB of dedicated memory and was rated at 7 MIPS. It, too, was built for a PCI host system. There was an extremely rare (possibly only ever released as pre-production samples) 1 GB memory version of the P/390E card.

### R/390

R/390 was the designation used for the expansion card used in an IBM RS/6000 server. The original R/390 featured a 67 or 77 MHz POWER2 processor and 32 to 512 MB of RAM, depending on the configuration. The MCA P/390 expansion card can be installed in any MCA RS/6000 system, while the PCI P/390 card can be installed in a number of early PCI RS/6000s; all such configurations are referred to as an R/390. R/390 servers need to run AIX version 4 as the host operating system.

### P/390

P/390 was the designation used for the expansion card used in an IBM PC Server and was less expensive than the R/390. The original P/390 server was housed in an IBM PC Server 500 and featured a 90 MHz Intel Pentium processor for running OS/2. The model was revised in mid-1996 and rebranded as the PC Server 520, which featured a 133 MHz Intel Pentium processor. Both models came standard with 32 MB of RAM and were expandable to 256 MB. The PC Server 500 featured eight MCA expansion slots while the PC Server 520 added two PCI expansion slots and removed two MCA slots.

### S/390 Integrated Server

The S/390 Integrated Server (aka S/390 IS) is a mainframe housed in a comparatively small case (HxWxD are 82 x 52 x 111 cm). It became available from November 1998. It is intended for customers who do not require the I/O bandwidth and performance of the S/390 Multiprise 3000 (which has the same size). Only 256 MB of ECC Memory and a single CMOS main processor (performance about 8 MIPS) are used; the S/390 CPU used in the Integrated Server is in fact the P/390 E-card. A Pentium II is used as IOSP (I/O Service Processor). It supports four ESCON and to four parallel channels. Standard PCI and ISA slots are present. A maximum of 255 GB internal harddisks are supported (16x 18GB HDs, with 2x HDs for redundancy). The supported OSs are OS/390, MVS/ESA, VM/ESA and VSE/ESA.

### Fujitsu PC-based systems

Fujitsu offers two based systems that make up the lower end of Fujitsu's S/390-based BS2000 mainframe product line. The SQ100 is the slower configuration, using dual-core 2.93 GHz Intel Xeon E7220 processors, and is capable of up to 200RPF of performance. The SQ200 was introduced more recently, uses six-core 2.66 GHz Xeon X7542 processors, and has performance of up to 700RPF. All Intel 64-based BS2000 mainframes can run Linux or Windows in separate partitions. Fujitsu also continues to make custom S/390-native processors and mainframe hardware for the high end of its BS2000 line.

## z/Architecture and today

Since the late 1990s, PC processors have become fast enough to perform mainframe emulation without the need for a coprocessor card. There are currently several personal computer emulators available that support System/390 and z/Architecture.
* FLEX-ES by Fundamental Software emulates both System/390 (ESA/390) and z/Architecture. Claimed to be one of the most popular PC-based IBM-compatible mainframe products (as of 2006). While FLEX-ES is capable of running on most PC hardware, the licensing agreement requires that FLEX-ES must run on the machine with which it was sold; in the past, this included Compaq Proliant and HP servers, but today this is nearly always an approved IBM xSeries server or a ThinkPad laptop.
* Hercules, an open source emulator for the System/370, System/390, and z/Architecture instruction sets. It does however require a complete operating system in order to execute application programs. While IBM does not license its current operating systems to run on Hercules, earlier System/370 operating systems are in the public domain and can be legally run on Hercules.
* zPDT (System/z Personal Development Tool), an IBM offering allowing IBM PartnerWorld Independent Software Developers (ISVs) to legally run z/OS 1.6 (or higher), DB2 V8 (or higher), z/TPF, or z/VSE 4.1 (or higher) on PC-based machines that can be acquired based on a Linux emulation.
* IBM ZD&T (Z Development and Test Environment), an IBM offering provides an x86-based environment that emulates Z hardware and runs genuine z/OS software, offering unmatched application portability and compatibility. IBM Z Development and Test Environment can be used for education, demonstration, and development and test of applications that include mainframe components.
* The Z390 and zCOBOL is a portable macro assembler and COBOL compiler, linker, and emulator toolkit providing a way to develop, test, and deploy mainframe compatible assembler and COBOL programs using any computer that supports J2SE 1.6.0+ runtime.

## Timeline

* Timeline of the IBM Personal Computer vte
* Asterisk (*) denotes a model released in Japan only