thumb|HP 3000 Series III
The HP 3000 series is a family of 16-bit and 32-bit minicomputers from Hewlett-Packard. It was designed to be the first minicomputer with full support for time-sharing in the hardware and the operating system, features that had mostly been limited to mainframes, or retrofitted to existing systems like Digital's PDP-11, on which RSTS/E, IAS, and Unix were implemented. First introduced in 1972, the last models reached end-of-life in 2010, making it among the longest-lived machines of its generation.
The original HP 3000 hardware was withdrawn from the market in 1973 to address performance problems and OS stability. After reintroduction in 1974, it went on to become a reliable and powerful business system, one that regularly won HP business from companies that had been using IBM's mainframes. Hewlett-Packard's initial naming referred to the computer as the System/3000, and then called it the HP 3000.
The HP 3000 originally used a 16-bit CISC stack machine processor architecture, first implemented with Transistor-transistor logic, and later with Silicon on Sapphire chips beginning with the Series 33 in 1979. Models ranged from a system sometimes used by a single user, to models that supported over 2,000 users.
The HP 3000 was one of the last proprietary minicomputer systems whose manufacture was curtailed by its vendor, outlasting the PDP-11-descended Digital Equipment Corporation VAX, which was acquired by Compaq and then ultimately by Hewlett-Packard. After almost 30 years, a five-year phase-out period for the now-named HP e3000 series servers was originally announced in November 2001. HP then extended this phase-out period twice. No more new e3000s are being sold by HP, although used systems continue to be sold for upgrades on a third-party reseller market. Support from HP to customers for the HP 3000 continued through December 31, 2010. Many third party firms continue to support the system for customers throughout the world. Some customers continue to use the HP 3000 in companies worldwide, especially in manufacturing and e-commerce industries, while others have migrated to business server systems made by HP and others.
For those unable or unwilling to migrate, a homesteading strategy emerged immediately after HP's announcement of the end of system sales. In 2012, the Stromasys company released a product doing full HP3000 hardware emulation on x86-64 servers running Red Hat Linux or CentOS. That product operates as a virtualized instance of the HP 3000 server hardware. Starting in 2003, HP began a plan to sell a license for the 3000's operating system, which can let 3000 customers run their software on this Stromasys product, known as the HPA/3000.
Software pioneering
The key development that led to the tremendous success of the HP 3000 was the bundling of the HP-developed network database management system (DBMS) called IMAGE (now called TurboIMAGE/SQL) that was reputedly inspired by the TOTAL DBMS developed by Cincom Systems, Inc. IMAGE was an award-winning database anointed by Datamation within two years of the database's introduction. It was the first database management system included with a business-class minicomputer. By bundling IMAGE with the server, HP created an ecosystem of applications and development utilities that could rely upon IMAGE as a data repository in any HP 3000.
Classic memory segments and 64K barrier
Code (reentrant) and data reside in separate variable-length segments, which are 32,768 "halfwords" (16-bit words) (or, 65,536 bytes). The operating system, known as MPE (for Multi-Programming Executive), loads code segments from program files and segmented Library (SL) files as needed, up to 256 segments in one process.
There could be as much as 64KB of memory in a code segment, but calling a routine was based on segment number and routine number within a segment, so a program could theoretically have about 32,385 routines. With 8 bits to specify segment, and 16 bits within a segment a program could have effectively have a 24 bit address or 16MB. This was compared to most 16 bit computers like the PDP-11 or IBM System/34 that had 64KB of address space for code and data. The bigger limitation was the data segment and stack segment, which were also 64KB. Shared library routines did not permit cross-process global data since each process had its own data segment. Some procedures worked around this by requiring the caller to pass in an array from their own stack or data segment to hold all state information, similar to modern object-oriented languages where methods are applied to objects passed and allocated by the caller.
A process could allocate and use multiple extra data segments (XDS) of up to 64KB each. While the Classic architecture imposed a limit of 65,535 extra data segments system-wide, other limitations would usually restrict that to a somewhat smaller limit.
Systems programming was done in SPL (System Programming Language), an ALGOL-like language, but allowing inline assembler, and other direct access to the instruction set. The standard terminals for the HP 3000 were the HP 2640 series, which supported block mode data entry from forms (like IBM's mainframe-based CICS), as well as character mode. By the 1980s the computer had gained the ability to use both PCs and Macs as system terminals.
Classic and PA-RISC 3000 hardware
The HP 3000 family's generations were divided into the "Classic" (16-bit) and then "XL" (later IX – 32-bit) families following the introduction of systems based on HP's PA-RISC chips for 3000s in early 1987. These newer XL systems were not binary compatible with the Classics, but would transparently run Classic code via an emulator, one that HP integrated into the MPE XL operating system. (Classic code could optionally be translated to native PA-RISC code via OCTCOMP, the Object Code Translator/COMPiler ... such code ran at native speed, but was still subject to Classic stack and memory size limitations).
The earlier "Classic" machines were based on a custom CISC processor. From about 1988 onward, HP 3000s using PA-RISC processors began shipping in volume. By 1995 these PA-RISC systems effectively displaced the older family of machines from use. As with all technology shifts, there remained a significant residue of older machines in service. Even today, original Classic 3000s work in production in a few locations.
HP 3000 and many HP 9000 machines used the HP Precision Bus.
The PA-RISC based HP 3000's operating system was written primarily in Modcal, HP's extended version of Pascal. Large portions of the earlier MPE V operating system, written in SPL, are still used as part of MPE XL and MPE/iX on PA-RISC. A few subsystems (e.g., TurboIMAGE) are written in PSPL (Portable SPL). A small portion of MPE XL and MPE/iX is written in PA-RISC assembly language.
The 3000 series operating system was originally styled the Multi-Programming Executive, MPE (later called MPE XL and then, after POSIX compliance was added in versions 5.0-5.5, MPE/iX). The earliest versions of the system used only HP's proprietary SPL systems programming language and BASIC. These System 3000s used a command-line interpreter, with a three-level hierarchical file system, and utilities such as compilers would resemble "run fortran.pub.sys" rather than allowing programs to be run as keyword commands. Later the systems gained a wide range of languages including COBOL and FORTRAN, Pascal, C, and even a version of RPG to assist in winning business away from IBM.
People who used the HP 3000 noticed from the 1970s onward that machines were more reliable compared to other mainframe and minicomputers of the time. The ability to recover from power failures - automatically and seamlessly when power was restored - was a notable feature that sold many systems versus IBM computers. At times the HP 3000 suffered from peripheral support delays or gaps caused by HP's decision to delay supporting, or not support at all, some peripherals on the HP 3000 platform—some of which were supported on the identical HP 9000 hardware.
Use of stack instead of registers
Most current computer instruction sets are based on a general-purpose register model. The processor and memory architecture of the classic HP 3000 were based on a stack machine model, like HP's well-known line of RPN calculators. It was said to be inspired by the famous stack-based Burroughs Large Systems. Rather than having a small number of registers, for example only an AX and BX register in the case of the HP 1000, operands would be pushed on the same stack used to store local variables and return addresses. So rather than
<syntaxhighlight lang="asm">
LOAD AX, 0X0001
LOAD BX, 0X0002
ADD AX, BX
</syntaxhighlight>
you would have
<syntaxhighlight lang="asm">
LDI 1
LDI 2
ADD
</syntaxhighlight>
The 16-bit microcoded machines (Series I, II, III, 30, 33, 39, 40, 42, 44, 48, 52, 58, 64, 68, 70, 37, ...) implement a 16-bit word addressed, byte-addressable, segmented with separate code and data segments, stack instruction set architecture (ISA). Most of the ~214 instructions are 16 bits wide. Stack operations pack 2 per 16-bit word and the remaining few are 32 bits wide.
CISC implementations
- III: 4 top of stack registers, 175 ns microinstruction cycle time → 5.7 MHz
- 30, 33: silicon on sapphire, 2 top of stack registers, 90 ns microinstruction cycle time → 11 MHz, instructions take 3-7 cycles
- 40, 42, 44, 48: Schottky TTL, 4 top of stack registers, 105 ns microinstruction cycle time → 9.5 MHz
- 64, 68: ECL, 8 top of stack registers, 75 ns microinstruction cycle time → 13 MHz, 8KB cache, 60KB WCS, 2 16-bit ALUs
- 37: ~8,000-gate CMOS gate array, 4 top of stack registers
Later 32-bit models used HP's PA-RISC general register-based RISC architecture.
PA-RISC implementations
- PA-RISC 1.0 Series 925, 930, 935, 949, 950, 955, 960, 980
- PA-RISC 1.1 Series 917, 920, 922, 927, 937, 947, 948, 957, 958, 967, 977sx, 987, 990, 991, 992, 995, 918, 928, 968, 978, 988
- PA-RISC 2.0 Series 996, A and N class and the 9x9 series
HP's exit from the 3000 ecosystem
After the enterprise computing market shifted toward commodity Unix systems from a wide range of vendors—systems that HP had also been promoting—in November 2001 Hewlett-Packard announced that a period it called the end-of-life for the HP 3000 would wrap up at the end of 2006, and that no new systems would be sold by HP after 2003. In early 2006, Hewlett-Packard announced that limited vendor support for the HP 3000 would be extended by two years for certain clients or geographic regions. In September 2007, HP once more extended its support for the systems, offering Mature Product Support without Sustaining Engineering (ending its creation of software patches). Some patches had been built and tested inside HP, but lacked customer base testing by the end of 2008. HP made these patches available after the end of 2010. By 2011, HP had extended a special provision to 3000 customers that granted them free access to patches, unlike the rest of HP enterprise line, which was forced in 2010 to adopt a "pay for patching" support program instead of free patches.
Independent support
A group of independent vendors has assumed systems and software support for existing customers who have left the ranks of HP's 3000 support business. Several have pledged to continue support for their own software until customers stop using the server. Others, offering comprehensive support, are citing 2016 and later as their end of support dates. A consultants directory is maintained by Robelle Software, and other independent consultants are available through a listing at the OpenMPE website. Open source software resources, including commodity tools, for the 3000's MPE/iX operating system are maintained in a website by Applied Technologies.
The HP 3000 has enjoyed one of the longest lifetimes for any business computer system. These enterprise-grade computers have outlasted the highly regarded PDP-11 and VAX series, although OpenVMS operating system is still being offered on Alpha, IA-64, and x86-64 based systems.
In January 2012, Stromasys announced the development of Charon/HPA-3000, which enables secure transfer of HP3000 systems to a state-of-the-art environment. Stromasys's solution virtualizes the hardware of an existing HP3000 system, and enables the MPE/iX operating system, third-party applications, and user-developed software to run without any modification whatsoever, on industry-standard Intel servers. Their offering includes a two-user evaluation copy delivered in a VMWare package.
Multiple independent vendors have purchased HP3000's Operating System Source Code, MPE/iX and are committed to supporting both hardware and software solutions for HP3000 systems.
Beechglen Development, Inc. began hosting HP3000 systems in 2002. In 2012 Beechglen introduced HP3000 compatible custom fibre channel disc arrays using current technology SSD and SATA hard drives, effectively replacing SCSI tape and SCSI disc devices. As of January 2020, Beechglen is the only vendor that has developed and offers 2028 MPE CALENDAR intrinsic patches for the MPE/iX Operating system allowing intrinsic dates beyond December 31, 2027. They continue evaluating and testing third-party applications for compatibility.
Relative performance of HP 3000 systems
{| class="wikitable sortable" style="width: 60%; height: 200px;"
|+Relative HP 3000 System Performance
|-
! HP 3000 System || Relative Performance
|-
| Series 30, 33 || 0.5
|-
| Series III || 0.6
|-
| Series 37, 37XE || 0.6
|-
| Micro 3000 RX || 1.3
|-
| Micro 3000 GX, LX, RX || 1.3
|-
| Series 39, 40, 44 || 1.0
|-
| Series 42, 48 || 1.3
|-
| Series 42XP, 52, 58 || 1.7
|-
| Series 64 || 3.2
|-
| Series 68 || 4.0
|-
| Series 70 || 4.4
|-
| Series 920 || 1.9
|-
| Series 922 || 3.2
|-
| Series 932 || 5.0
|-
| Series 948 || 10.7
|-
| Series 958 || 13.3
|-
| Series 925 || 2.9
|-
| Series 935 || 5.9
|-
| Series 949 || 11.7
|-
| Series 950 || 6.5
|-
| Series 955 || 10
|-
| Series 960 || 14.7
|-
| Series 980/100 || 22.0
|-
| Series 980/200 || 37.0
|-
| Series 980/300 || 49.0
|-
| Series 980/400 || 59.0
|-
| Series 917LX || 10.0
|-
| Series 937 || 10.0
|-
| Series 947 || 10.0
|-
| Series 957 || 16.0
|-
| Series 967 || 20.0
|-
| Series 977SX || 26.0
|-
| Series 987 || 32.0
|-
| Series 987/150 || 45.0
|-
| Series 987/200 || 60.0
|-
| Series 918LX, RX || 10.0
|-
| Series 928 || 14.0
|-
| Series 968 || 21.0
|-
| Series 978 || 25.0
|-
| Series 987/150 || 32.0
|-
| Series 939SK || 28.0
|-
| Series 959KS/100 || 35.0
|-
| Series 987/150 || 45.0
|-
| Series 987/200 || 60.0
|-
| Series 959KS/200 || 62.0
|-
| Series 988 || 39.0
|-
| Series 959KS/300 || 86.0
|-
| Series 959KS/400 || 110.0
|-
| Corporate Business System 990 || 28.0
|-
| Corporate Business System 992/100 || 35.0
|-
| Corporate Business System 992/200 || 60.0
|-
| Corporate Business System 992/300 || 81.0
|-
| Corporate Business System 992/400 || 100.0
|-
| Corporate Business System 991 || 33.0
|-
| Corporate Business System 995/100 || 42.0
|-
| Corporate Business System 995/200 || 71.0
|-
| Corporate Business System 995/300 || 96.0
|-
| Corporate Business System 995/400 || 118.0
|-
| Corporate Business System 995/500 || 139.0
|-
| Corporate Business System 995/600 || 160.0
|-
| Corporate Business System 995/700 || 180.0
|-
| Corporate Business System 995/800 || 200.0
|-
| a-class A400-100-110 || 17.0
|-
| a-class A500-100-140 || 24.0
|-
| a-class A400-200-140 || 42.0
|-
| a-class A400-100-150 || 37.0
|-
| a-class A500-100-200 || 49.0
|-
| a-class A500-200-200 || 84.0
|-
| n-class N4000-100-220 || 69.0
|-
| n-class N4000-100-330 || 100.0
|-
| n-class N4000-100-440 || 138.0
|-
| n-class N4000-200-440 || 254.0
|-
| n-class N4000-300-440 || 353.0
|-
| n-class N4000-400-440 || 438.0
|-
| n-class N4000-300-550 || 446.0
|-
| n-class N4000-400-550 || 553.0
|-
| n-class N4000-100-380 || 115.0
|-
| n-class N4000-200-380 || 207.0
|-
| n-class N4000-100-500 || 154.0
|-
| n-class N4000-200-500 || 284.0
|-
| n-class N4000-300-500 || 399.0
|-
| n-class N4000-400-500 || 499.0
|-
| n-class N4000-300-750 || 606.0
|-
| n-class N4000-400-750 || 768.0
|}
Games
This is a list of games for the HP 3000 minicomputer, organized alphabetically by name.
- Alphawar
- Backgammon
- BioSin
- Blackjack
- Chess
- Chomp
- Colossal Cave Adventure
- Convert
- Dungeon
- Empire
- Hamurabi
- Lander
- Mystery Mansion
- Othello
- Sahara
- UBoat
- Warp
See also
- HP 7935
- HP 9000
- HPE Integrity Servers
- HPE Superdome
Notes
References
Citations
Bibliography
External links
- HP 3000 Marketing Video, 1994 – YouTube
- 3000 NewsWire – blog: HP3000 news, technical papers, historical archives
- The History of the HP3000, by Bob Green
- HP3000 FAQ
- Portal for MPE-based ports and software for open source
- Adager's technical paper library for IMAGE, HP3000 software and VEsoft papers on the system
- HP list of beta-test patches available in 2009
- HP 3000 hardware and software manuals : PDF scans – Bitsavers
- HP Computer Museum: PDF scans of manuals
- HP 3000 General Information Manual: September 1979, October 1984
- – two articles on MPE XL and the HP 3000 emulation on HP Precision Architecture, "MPE XL: The Operating System for HP's Next Generation of Commercial Computer Systems" and "HP 3000 Emulation on HP Precision Architecture Computers"
- HP 3000 Performance (text file)
- November 14, 2001 Hewlett-Packard phases out server line
- Continued support of HP e3000 installations
- HP e3000 transition program FAQ
- Classic Genealogy and PA-RISC Systems Performance Spreadsheets
- SIMH Hewlett-Packard 3000 simulator (Series III)
- US Patent 3,820,079 for the Alpha system
Pictures
- Picture of HP 3000 series 48
- Picture of HP 3000 series 70
- HP 3000 series 42, 52, 70
