The HP 3000 series is a family of minicomputers released by Hewlett-Packard in 1972. It was designed to be the first minicomputer delivered with a full featured operating system with time-sharing. The first model of the 3000 were withdrawn from the market during 1973 until speed improvements and OS stability could be achieved. After its reintroduction in 1974, it ultimately became known as a reliable and powerful business system, one which regularly won HP business from companies using IBM's mainframes.
Early 3000 models had large cabinets with front panels, while later models were made that fit into desks using only terminal consoles for diagnostics, with bootstrap routines in ROM. By 1984 the system introduced its first model, the Mighty Mouse Series 37, which ran in offices without special cooling or flooring requirements. 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 Dec. 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 any Intel i7 Core PC, including laptops. 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.
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. This was compared to most 16 bit computers that had 64KB of address space for everything. 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 in 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, 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 which 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.
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 was a notable feature which 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.
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.
Almost uniquely in computer history, the revision and improvements to MPE have enabled forward binary compatibility of executable programs. Applications written by both owners as well as third-party vendors could be preserved across all systems and all versions of the operating system, regardless of hardware architecture. Programs that ran on the original Series II in 1973 can be reloaded from tape onto the last N-Series machines produced in 2003 and run today without recompiling.
HP's exit from the 3000 ecosystem 
After the enterprise computing market shifted toward commodity Unix systems from a wide range of vendors—systems which 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 (an Excel list of beta patches). By 2011, HP had extended a special provision to 3000 customers which 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.
Indie 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- and IA-64-based systems as Hewlett Packard products.
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
LOAD AX, 0X0001 LOAD BX, 0X0002 ADD AX, BX
you would have
LDI 1 LDI 2 ADD
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, Harvard, 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.
- 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 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
See also 
- "3000 NewsWire: 3000 Memoir Project: Jousts with IBM". 3000newswire.blogs.com. 2012-09-27. Retrieved 2013-03-21.
- "3000 NewsWire: First 3000 steps: chasing HP's Mighty Mouse". 3000newswire.blogs.com. 2012-08-21. Retrieved 2013-03-21.
- "3000 NewsWire: HP extends 3000 support through 2010". 3000newswire.blogs.com. Retrieved 2013-03-21.
- "3000 NewsWire: A Baker's Dozen More Years of 3000 Use". 3000newswire.blogs.com. 2010-07-07. Retrieved 2013-03-21.
- "3000 NewsWire: 34 colleges start testing 3000 migration code". 3000newswire.blogs.com. 2010-12-23. Retrieved 2013-03-21.
- "Staying on the HP 3000". Robelle. Retrieved 2013-03-21.
- "CHARON-HPA: A Virtual HP3000 running MPE/iX". Stromasys.ch. Retrieved 2013-03-21.
- "HP proposes new MPE emulator licenses". 3000newswire.com. Retrieved 2013-03-21.
- "3000 NewsWire: 3000 Memoir Project: Jousts with IBM". 3000newswire.blogs.com. 2012-09-27. Retrieved 2013-03-21.
- 3000 Newswire, August, 2012, p. 20
- Announcing DLT4000/DLT7000 Differential Tape Support on MPE/IX, ftp://ftp.mrynet.com/os/HP-MPE/docs.hp.com/en/30216-90286/ch03s04.html
- "3000 NewsWire: HP list starts to list toward history". 3000newswire.blogs.com. 2007-07-30. Retrieved 2013-03-21.
- Hewlett-Packard: HP3000 Computer Systems: General Information Manual; August 1983; 5953-7553
- "3000 NewsWire: HP opens patch, diagnostics door for 2011". 3000newswire.blogs.com. Retrieved 2013-03-21.
- "3000 NewsWire: 3000 News for Some of Your Futures". 3000newswire.blogs.com. 2010-01-28. Retrieved 2013-03-21.
- "Robelle Consultants Corner". Robelle.com. Retrieved 2013-03-21.
- "HP 3000 Consultants | OpenMPE News". Openmpe.wordpress.com. Retrieved 2013-03-21.
- Brian Edminster. "Welcome to THE portal for Free and Open Source software for your HP3000!". MPE-OpenSource. Retrieved 2013-03-21.
- The 3000 NewsWire news blog: HP3000 news, technical papers, historical archives
- The History of the HP3000, by Bob Green
- Edler, C . The Rise, Fall and Rise of the HP 3000: more early history
- HP3000 FAQ
- Portal for MPE-based ports and software for open source
- MPE tech manuals, VEsoft papers, technical proceedings from HP3000 user group meetings
- Adager's technical paper library for IMAGE, HP3000 software and VEsoft papers on the system
- HP list of beta-test patches available in 2009
- Bitsavers: PDF scans of HP 3000 hardware and software manuals
- HP Computer Museum: PDF scans of manuals
- HP 3000 General Information Manual: Sep 79, Oct 1984
- HP 3000 Performance (text file)
- "HP SYSTEM/3000 system description" promotional material, Nov 1971
- November 19, 2001: HP Sunsets Its Proprietary e3000 Server Line
- 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