HP 3000
Encyclopedia
The HP 3000 series is a family of minicomputers released by Hewlett-Packard
in 1973. It was designed to be the first minicomputer delivered with a full featured operating system with time-sharing
. The first models were withdrawn from the market until speed improvements could be made. It ultimately became known as a reliable and powerful business system. Early 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. Models ranged from a system sometimes used by a single user, to models that supported over two thousand users.
It was one of the last proprietary minicomputer systems to be retired 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 e3000 series servers was announced in November 2001. HP extended this period twice. No more new e3000s are being sold, although used systems continue to be sold for upgrades on a third-party reseller market. Support from the vendor to customers for the HP 3000 continued through Dec. 31, 2010. Many third party firms are supporting the system for customers through the year 2013 and beyond. 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, the Stromasys company is working on a product doing full HP3000 hardware emulation on a PC.
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.
) and "XL" (later IX - 32-bit
) families following the introduction of systems based on HP's PA-RISC
chips in early 1984. These were not binary compatible with the Classics, but would transparently run Classic code via an emulator 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 HP 3000s using PA-RISC processors began shipping in volume and, by 1995, effectively displaced the older family of machines from use although, as with all technology shifts, there remained a significant residue of older machines in service.
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). Early versions had a fairly primitive 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. People who used the HP 3000 would notice that machines were fairly reliable compared to other minicomputers of the time. At times the HP 3000 suffered from peripheral support delays or gaps caused by HP's decision to delay supporting or not support some peripherals on the HP 3000 platform which were supported on the identical HP 9000 hardware.
Part of the tremendous success of the HP 3000 was due to the provision of, with brief exceptions included as part of the Fundamental Operating System (FOS), a vendor developed shallow network database management system (DBMS) called IMAGE (now called TurboIMAGE
) that was reputedly inspired by (if not actually based upon) the TOTAL DBMS developed by Cincom Systems, Inc.
Including IMAGE with the server 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, it remains a feature of MPE that forward binary compatibility of executable programs is 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.
As the enterprise computing market shifted towards standardized Unix
systems, which HP had also been promoting, in November 2001, Hewlett-Packard announced that its end-of-life for the HP 3000 would be the end of 2006, and that no new systems would be sold 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 (creation of software patches). This has been one of the longest lifetimes for a proprietary minicomputer system. The computers would outlast 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.
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 address
es. So rather than
you would have
The 16-bit microcode
d 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.
CISC Implementations
Later 32-bit models used HP's PA-RISC general register-based RISC architecture.
PA-RISC Implementations
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
in 1973. It was designed to be the first minicomputer delivered with a full featured operating system with time-sharing
Time-sharing
Time-sharing is the sharing of a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing.By allowing a large...
. The first models were withdrawn from the market until speed improvements could be made. It ultimately became known as a reliable and powerful business system. Early 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. Models ranged from a system sometimes used by a single user, to models that supported over two thousand users.
It was one of the last proprietary minicomputer systems to be retired by its vendor, outlasting the PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...
-descended Digital Equipment Corporation
Digital Equipment Corporation
Digital Equipment Corporation was a major American company in the computer industry and a leading vendor of computer systems, software and peripherals from the 1960s to the 1990s...
VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...
, which was acquired by Compaq and then ultimately by Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
. After almost 30 years, a five-year phase-out period for the now-named e3000 series servers was announced in November 2001. HP extended this period twice. No more new e3000s are being sold, although used systems continue to be sold for upgrades on a third-party reseller market. Support from the vendor to customers for the HP 3000 continued through Dec. 31, 2010. Many third party firms are supporting the system for customers through the year 2013 and beyond. 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, the Stromasys company is working on a product doing full HP3000 hardware emulation on a PC.
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
ALGOL
ALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...
-like language, but allowing inline assembler, and other direct access to the instruction set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
. The standard terminals for the HP 3000 were the HP 2640
HP 2640
The HP 2640A and other HP 264X models were block-mode "smart" and intelligent ASCII standard serial terminals produced by Hewlett Packard using the Intel 8008 and 8080 microprocessors.-History:...
series, which supported block mode data entry from forms, as well as character mode.
Classic and PA-RISC XL
The HP 3000 family was divided into the "Classic" (16-bit16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...
) and "XL" (later IX - 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
) families following the introduction of systems based on HP's PA-RISC
PA-RISC
PA-RISC is an instruction set architecture developed by Hewlett-Packard. As the name implies, it is a reduced instruction set computer architecture, where the PA stands for Precision Architecture...
chips in early 1984. These were not binary compatible with the Classics, but would transparently run Classic code via an emulator 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
Complex instruction set computer
A complex instruction set computer , is a computer where single instructions can execute several low-level operations and/or are capable of multi-step operations or addressing modes within single instructions...
processor. From about 1988 HP 3000s using PA-RISC processors began shipping in volume and, by 1995, effectively displaced the older family of machines from use although, as with all technology shifts, there remained a significant residue of older machines in service.
The PA-RISC based HP 3000's operating system was written primarily in Modcal, HP's extended version of Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object 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
Multi-Programming Executive
MPE is a business-oriented minicomputer operating system made by Hewlett-Packard.It runs the HP 3000 family of computers, which originally used HP custom 16 bit stack architecture CISC CPUs and were later migrated to PA-RISC where the operating system was called MPE/XL...
, MPE (later called MPE XL and then, after POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
compliance was added in versions 5.0-5.5, MPE/iX). Early versions had a fairly primitive 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. People who used the HP 3000 would notice that machines were fairly reliable compared to other minicomputers of the time. At times the HP 3000 suffered from peripheral support delays or gaps caused by HP's decision to delay supporting or not support some peripherals on the HP 3000 platform which were supported on the identical HP 9000 hardware.
Part of the tremendous success of the HP 3000 was due to the provision of, with brief exceptions included as part of the Fundamental Operating System (FOS), a vendor developed shallow network database management system (DBMS) called IMAGE (now called TurboIMAGE
TurboIMAGE
IMAGE is the primary reason that the HP3000 was a success. It is a reliable, simple, fast database for MPE. After about a decade of enhancements it was renamed TurboIMAGE, then TurboIMAGE/XL after the PA-RISC migration...
) that was reputedly inspired by (if not actually based upon) the TOTAL DBMS developed by Cincom Systems, Inc.
Cincom
Cincom Systems is a privately held, multinational, computer technology corporation founded in 1968 by Tom Nies, Tom Richley and Claude Bogardus....
Including IMAGE with the server 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, it remains a feature of MPE that forward binary compatibility of executable programs is 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.
As the enterprise computing market shifted towards standardized Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
systems, which HP had also been promoting, in November 2001, Hewlett-Packard announced that its end-of-life for the HP 3000 would be the end of 2006, and that no new systems would be sold 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 (creation of software patches). This has been one of the longest lifetimes for a proprietary minicomputer system. The computers would outlast the highly regarded PDP-11
PDP-11
The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s, one of a succession of products in the PDP series. The PDP-11 replaced the PDP-8 in many real-time applications, although both product lines lived in parallel for more than 10 years...
and VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...
series, although OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
operating system is still being offered on Alpha
DEC Alpha
Alpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors...
- 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 machineStack machine
A stack machine may be* A real or emulated computer that evaluates each sub-expression of a program statement via a pushdown data stack and uses a reverse Polish notation instruction set....
model, like HP's well-known line of RPN
Reverse Polish notation
Reverse Polish notation is a mathematical notation wherein every operator follows all of its operands, in contrast to Polish notation, which puts the operator in the prefix position. It is also known as Postfix notation and is parenthesis-free as long as operator arities are fixed...
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 address
Return address
In postal mail, a return address is an explicit inclusion of the address of the person sending the message. It provides the recipient with a means to determine how to respond to the sender of the message if needed....
es. So rather than
LOAD AX, 0X0001
LOAD BX, 0X0002
ADD AX, BX
you would have
LDI 1
LDI 2
ADD
The 16-bit microcode
Microcode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...
d machines (Series I, II, III, 30, 33, 39, 40, 42, 44, 48, 52, 58, 64, 68, 70, 37, ...) implement a 16-bit word addressed
Word-addressable
Word-addressable is a Computer Architecture term.In computer architecture, a word is an ordered set of bytes or bits that is the normal unit in which information may be stored, transmitted, or operated on within a given computer....
, byte-addressable
Byte-addressable
Byte addressing refers to hardware architectures which support accessing individual bytes of data rather than only larger units called words, which would be word-addressable....
, segmented, Harvard
Harvard architecture
The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape and data in electro-mechanical counters...
, Stack
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...
Instruction Set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...
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, 175nS microinstruction cycle time → 5.7 MHz
- 30, 33: Silicon on sapphireSilicon on sapphireSilicon on sapphire is a hetero-epitaxial process for integrated circuit manufacturing that consists of a thin layer of silicon grown on a sapphire wafer. SOS is part of the Silicon on Insulator family of CMOS technologies...
, 2 Top of stack registers, 90nS microinstruction cycle time → 11 MHz, instructions take 3-7 cycles - 40, 42, 44, 48: Schottky TTLTransistor-transistor logicTransistor–transistor logic is a class of digital circuits built from bipolar junction transistors and resistors. It is called transistor–transistor logic because both the logic gating function and the amplifying function are performed by transistors .TTL is notable for being a widespread...
, 4 Top of stack registers, 105nS microinstruction cycle time → 9.5 MHz - 64, 68: ECLEmitter coupled logicIn electronics, emitter-coupled logic , is a logic family that achieves high speed by using an overdriven BJT differential amplifier with single-ended input, whose emitter current is limited to avoid the slow saturation region of transistor operation....
, 8 Top of Stack registers, 75nS microinstruction cycle time → 13 MHz, 8KB cache, 60KB WCS, 2 16-bit ALUs - 37: ~8,000-gate CMOSCMOSComplementary metal–oxide–semiconductor is a technology for constructing integrated circuits. CMOS technology is used in microprocessors, microcontrollers, static RAM, and other digital logic circuits...
gate arrayGate arrayA gate array or uncommitted logic array is an approach to the design and manufacture of application-specific integrated circuits...
, 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
External links
- Edler, C . The Rise, Fall and Rise of the HP 3000: more early history
- HP3000 FAQ
- The 3000 NewsWire news blog: HP3000 news, archives
- 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