PC-based IBM-compatible mainframes
Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM-compatible mainframes 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).
- 1 Background
- 2 System/370
- 3 System/390
- 4 z/Architecture and today
- 5 See also
- 6 References
- 7 External links
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.
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 IBM System/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 some exotic 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 8087 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 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; it compared favorably with IBM's own mainframes on a $/MIPS basis; for example, an IBM 4341 delivered 1.2 MIPS for $500,000.
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 and beginning at 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.
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.
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.
IBM 7437 VM/SP Personal Workstation
As of November 1988, IBM was shipping a workstation version of the System/370 hardware intended to run IBM's VM/SP operating system. Officially called the IBM 7437 VM/SP Personal Workstation, it was a freestanding tower that connected to a MCA card installed in a PS/2 Model 60, 70, or 80. One IBM representative described the 7437 "like a 9370 with a single terminal". Its list price at launch was $18,100 for 25-unit orders.
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".
||This section includes a list of references, but its sources remain unclear because it has insufficient inline citations. (February 2014)|
As IBM's mainframes evolved to the IBM ESA/390 architecture, IBM's PC-related products evolved to support that as well.
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 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 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 comparably 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 mainframes
Fujitsu offers two PC-compatible systems that make up the lower end of Fujitsu's S/390-based BS2000 mainframe product line. The SQ100 is the slower configuration, running on dual-core Xeon E7220 processors, and is capable of up to 200RPF of performance. The SQ200 was introduced more recently, uses 6-core Xeon X7542 processors, and has performance of up to 700RPF. All x86-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 peripheral 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 prohibits it. 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 the open source emulator, is another popular product which has been in continuous development since 1999 and emulates 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 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 Rational application developers can obtain zPDT through the licensing of Rational Developer for System z Unit Test (RDz UT).
- PI-ZZA is a combined "System/390" emulator and IDE developed in 2012 by Ken Dakin, author of 1970's Mainframe debugging products OLIVER and SIMON (as well as a very early Mainframe spreadsheet known as the Works Records System).
- PI-ZZA requires no operating system to function with it (unlike Hercules above) but instead currently emulates a "generic 370/XA" 31-bit environment with some S/390 and Z/Architecture extensions in the form of additionally supported machine instructions. No additional operating system license is therefore required to run the software (although the software does have to be Licensed from the author). It will also operate on any hardware platform supporting the .NET Framework (unlike FLEX-ES or Hercules). This allows the Mono .Net emulator to support it under Linux on a much larger range of machines for instance.
- The software runs under the Common Language Infrastructure permitting it (at least in theory) to operate on non-IBM portable machines such as the recently introduced Raspberry Pi on the ARM1176JZF-S processor - although this is yet to be officially verified in practise. According to Ken Dakin, the product name PI-ZZA is at least partially derived from the Raspberry Pi - the other half deriving from Z/Architecture. It incorporates a built-in instruction level profiler and allows source level or dis-assembled step-by-step instruction execution, breakpoints ("Pauses") and other debugging features such as full or partial trace.
- It incorporates a full memory protection feature, preventing application program memory overwrites such as buffer overflow. The profiler permits individual instruction counts to be reset (for timing selected sections of code for instance). Weighted instruction counts or "raw" instruction counts are both available within the profiler.
- The user written IBM Assembler code (the target program), in the form of a relocatable .bin or .obj file(s) can optionally call the .NET environment to fulfill certain selected GUI functions on the chosen .Net machine. The programs can also Load and branch directly to other programs to be emulated.
- Ken Dakin says "The emulator was never intended to fully support legacy assembler programs (without some modification), rather instead to allow new programs to be written that can utilize existing skills and teach these skills to students, while at the same time allowing recent .Net features to be used". Programs can be assembled using the HLASM compatible "Dignus assembler" or the Tachyon assembler. The emulator incorporates an optional Text to speech feature and dynamic disassembler that describes the IBM instructions in some detail during step-by-step execution (Program animation) or at a program failure. This can assist students and visually impaired persons perceive audibly precisely what an instruction is about to do.
- 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.
- "Interest Group for Possible IBM Computer". BYTE. January 1981. p. 313. Retrieved 18 October 2013.
- BYTE Guide to the IBM PC, fall 1984, p. 20
- "Implementation of IBM System 370 Via Co-Microprocessors/The Co-Processor... - IPCOM000059679D - IP.com". Priorartdatabase.com. Retrieved 2012-06-07.
- Scott Mueller Upgrading and Repairing PCs, Second Edition, Que Books, 1992, ISBN 0-88022-856-3 pages 73-75, page 94
- BYTE Guide to the IBM PC, fall 1984, p. 36
- BYTE Guide to the IBM PC, fall 1984, pp. 44-46
- Personal Computer Family Service Information Manual (January 1989), IBM document SA38-0037-00, page 6-17
- "IBM Highlights, 1970-1984" (PDF). IBM.
- Personal Computer Family Service Information Manual (January 1989), IBM document SA38-0037-00, pages 9-26 to 9-28
- Virtual Machine/Personal Computer User's Guide, p. 1-3, IBM publication number 6137739, December 1984
- John Gallant (25 November 1985). IBM exploiting AT/370 ability. Computerworld. pp. 25, 29. ISSN 0010-4841.
- Fisher, Sharon; LaPlante, Alice (1988-11-07), "IBM's VM/SP Device Cuts Mainframe Load", InfoWorld 10 (45): 113
- Jeffrey Savit (1993). Vm/Cms: Concepts and Facilities. McGraw-Hill. p. 40. ISBN 978-0-07-054977-7.
- Nallur S. Prasad; Jeffrey Savit (1994). IBM mainframes: architecture and design. McGraw-Hill. p. 327. ISBN 978-0-07-050691-6.
- IBM. InfoWorld. 20 November 1989. p. 105. ISSN 0199-6649.
- "Business Server S210 - Fujitsu Technology Solutions". Ts.fujitsu.com. Retrieved 2012-06-07.
- P/390 and R/390 with OS/390: An Introduction (IBM Redbook)
- P/390, R/390, S/390 Integrated Server: OS/390 New User's Cookbook (IBM Redbook)
- S/390 Integrated Server - Hardware Announcement; September 8, 1998
- VM/ESA Performance on P/390 and R/390 PC Server 520 and RS/6000 591
- Detail pictures of a PC Server 500, on the private website of Alfred Arnold
- Detail pictures of a S/390 IS (incl. screenshot of console), on the private website of Michael J. Ross
- P/390 Information at '9595 Ardent Tool of Capitalism'
- IBM PC Server System/390 FAQ at '9595 Ardent Tool of Capitalism'
- zPDT: Introduction and Reference. (IBM Redbook)
- zPDT: User's guide (IBM Manual)
- zPDT worldwide distributor
- zPDT for Rational Developer for System z Unit Test
- Micro/370 - the chips used in the XT/370
- Kozuh, F. T.; Livingston, D. L.; Spillman, T. C. (1984). "System/370 capability in a desktop computer". IBM Systems Journal 23 (3): 245. doi:10.1147/sj.233.0245.
- A performance evaluation of the IBM 370/XT personal computer, NASA