The HP 2100 was a series of minicomputers produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s. The 2100 was also a specific model in this series. The series was renamed HP 1000 by the 1970s and sold as real-time computers, complementing the more complex IT-oriented HP 3000, and would be the starting point for a line of desktop computers. They would eventually be phased out in favor of UNIX-based RISC workstations.
HP entered the minicomputer market in 1966, along with Varian Data Machines. Later, General Automation, Computer Automation, Data General, Micro Systems, and Lockheed would also be competitors. The 2116A was the first model of the series. It was designed by HP's Dymec division, after absorbing Data Systems Inc. (DSI), a subsidiary of Union Carbide. DSI had designs for a 16-bit minicomputer called the DSI-1000, which would eventually evolve into the 2116A through HP's involvement.
- 1 2116A overview
- 2 2100 series architecture
- 3 Descendants and variants
- 4 Instruction overview
- 5 Model overview
- 6 Notes
- 7 References
- 8 External links
The 2116A is a 16-bit word-addressed general purpose computer. Main memory is 4096 words (4K), expandable to 8K of magnetic core in the mainframe, or 16K with a memory extender. The 2116A features 16 I/O slots in the mainframe, a 10 MHz clock and a memory cycle time of 1.6 microseconds. The 2116A had two subsequent revisions: the 2116B added support for up to 32K with a memory extender, and the 2116C incorporated a more compact model of core memory, allowing the full 32K to be housed within the computer mainframe.
The HP 2116A’s software, with a FORTRAN compiler, assembler, linker, loader, operating system, and I/O drivers were ready at the same time as the hardware. This was quite unusual, at a time when most computer vendors would roll out the hardware first with little software. The 1967 issue of the Hewlett-Packard Journal called the HP 2116A "an unusual new instrumentation computer".
The HP 2116A had an oversized cabinet with 16 empty card slots for interface cards. Up to 48 could be fitted using one or more add-on I/O extender chassis. At introduction, HP engineers had interfaces for more than 20 instruments including "counters, nuclear scalers, electronic thermometers, digital voltmeters, ac/ohms converters, data amplifiers, and input scanners." The HP 2116A's introduction began the age of modern automated test systems.
When HP discovered it sold more HP 2116A minicomputers for business applications than for instrumentation, HP introduced the short-lived 2115A in 1967, a cost-reduced variant of the 2116A with only 8 I/O slots, a bulky external power supply, and a 2116-style front panel. The HP 2116A of 1968 was stripped of DMA and extended arithmetic. The 2114A featured a redesigned front panel, with reduced register displays and illuminated touch switches. The 2114 saw two further revisions: the 2114B added single-channel DMA and HSIO options at the expense of a single I/O slot, and 2114C supported up to 16K maximum core in mainframe, at the expense of yet another I/O slot. The 2115A and 2114A/B/C have an 8 MHz clock and a 2.0 µs cycle time.
HP's Data Systems Division, initially based in Cupertino, California and later moved to nearby Santa Clara, produced a long series of successful HP 21xx minicomputers that HP would not be able to retire from production despite five serious attempts to introduce successors, including the HP 3000. By 1978, HP was the fourth largest minicomputer manufacturer, trailing only DEC, IBM, and Data General. The 16-bit instrumentation-oriented HP 21xx architecture continued and evolved for more than 20 years.
2100 series architecture
There were two 16-bit accumulators, called A and B which could do most instructions such as load or add, and two 1-bit flags, called Overflow and Extend, although the A register had a few more instructions. The program counter, 15 bits, was called P. All instructions in the standard instruction set were 16 bits long. The earlier PDP-8 from DEC had just one accumulator and a 12-bit address. Memory was word accessible, unlike the later PDP-11, which was addressable by byte. Conditional branching was done with a conditional skip followed by a jump instruction. There was no dedicated stack register.
The processor instruction-set architecture was very efficient, predating RISC architectures with some similar features 20 years later, as there were only 68 instructions. All instructions are fixed width, 16 bits wide, and all instructions executed in one memory cycle (1.6 microseconds). However, instructions could address both memory and a register, it had only two accumulators instead of a series of general registers (such as the PDP-11). The register-reference instructions could execute multiple operations per instruction (RISC processors generally execute only one operation per instruction) 
The smallest addressable unit of memory was a 16-bit word, and the maximum possible address was 32,767, which would fit in a word with one bit left over. The most significant bit of any memory-reference instruction indicated indirect addressing: The word addressed by the instruction, instead of being the operand, contained the operand address. In early members of the series the most significant bit of that word could be set to indicate an additional level of indirect addressing, and this could be iterated any number of times.
With no stack for saving procedure return points, indirect addressing was used to implement procedure call and return: The first word of a procedure was reserved for the return address, and the jump to subroutine instruction would store the return address there. The return to caller was performed via a jump indirect through that word. This design also appeared in other machines of the era, such as the CDC 3000 series and PDP-8, and makes it impossible for a function to recursively call itself without additional work within the function.
The early machines in the series (including the 2116) were direct-execution machines but the 2100 and later machines were microprogrammed. The 2100 offered a writable control store allowing the user to extend and change the vertical microcode.
The 2100-series of processors is one of the systems on which the SIMH multi-system emulator is able to run.
Descendants and variants
The HP 9810, 9820 and 9830 desktop computers used a slow, serialized TTL version of the 2116 CPU, although they did not ultimately use any of the operating system or application software, instead relying on user-friendly ROM-based interpreters such as BASIC which worked when powered up and integrated keyboards and displays rather than disks or standard terminals. In 1975, HP introduced the BPC, the world's first 16-bit microprocessor, using HP's NMOS-II process. The BPC was usually packaged in a ceramic hybrid module with the EMC and IOC chips, which added extended math and I/O instructions. The hybrid was developed as the heart of the new 9825 desktop computer. The later 9845 workstation added an MMU chip. These were the forerunners of personal computers and technical workstations.
The major differences between the original 2116 architecture and the BPC microprocessor are a completely redesigned I/O structure, the removal of multiple levels of indirect addressing, and the provision of a stack register for subroutine call and return. The elimination of multiple indirection made an additional bit available in a memory word containing an indirect address, allowing the maximum memory capacity to be increased from 32K 16-bit words to 64K. The BPC also added an input allowing the "current page" to be relative to the location of the current instruction, rather than a power-of-two aligned page.
The BPC was used in a wide range of HP computers, peripherals, and test equipment, until it was discontinued in the late 1980s.
The HP 2100 is one of many 8 and 16 bit machine architectures said to be inspired by the PDP-8. These can be characterized by use of RAM instead of registers, and a small number of accumulators (such as A and B) rather than a relatively large number of regular registers (such as R0-R7 or R15) found on the PDP-11. This philosophy can save money when RAM is less expensive than registers.
Poland manufactured an HP 2114B clone since 1973. The Polish clones were called MKJ-28 (prototype, 1973), SMC-3 (pilot production, 17 machines, 1975-1977) and PRS-4 (production in series over 150 machines, 1978-1987).
Czechoslovakia produced its own HP 1000 compatible clones, designated ADT4000 (4300, 4500, 4700, 4900). More than 1000 units were delivered by the vendors Aritma Prague (development), ZPA Čakovice and ZPA Trutnov between 1973 and 1990. Those computers served in power plants, including nuclear ones, other industry, military, at universities, etc., for their high reliability and real-time features. Operating systems were DOS/ADT (several versions) and Unix. The oldest hybrid ADT7000 (1974) was composed of digital ADT4000 and analog ADT3000 parts, but only the digital part was interesting for customers. ADT4316 (1976) had 16K words of ferrite core memory, the ADT4500 (1978) up to 4M words of semiconductor RAM. The ADT 4900 was designed as a single-board computer, but its mass production did not start. Czechoslovak People's Army used ADT based MOMI 1 and MOMI 2 mobile minicomputers, built into a container carried by the Tatra 148 truck.
- Arithmetic — Add, Increment, And, Or, Exclusive-or
- Program Control — Skip, Jump, Jump to Subroutine
- Shift and Rotate — Arithmetic and Logical Shifts, 16- and 17-bit Rotates
- Optional — Multiply, Divide, 32-bit Load and Store, 32-bit Shifts
Early models (1966-1970)
Core memory, hardwired CPU. Similar to a PDP-8 that has been pumped up to 16 bits and two accumulators.
- 2114C (advertised but never released; single prototype held by Computer History Museum)
Second generation (1970-1974)
Core memory, microprogrammed CPU. An option allowed user microprogramming. Front panel buttons were illuminated by small incandescent lamps that burned out with use. Dark lights did not bother regular users, who knew the 1 and 0 sequences to load the paper tape "loader-loader" instructions without seeing the panel's lights.
The 21MX series featured a memory management unit and semiconductor memory expandable to 1,048,576 words (one megaword). The bit displays on the front panel buttons used small red LEDs, instead of the incandescent bulbs used in earlier versions.
- M-series — 2105A, 2108A, 2112A (blue line on front panel)
- E-series — 2109A, 2113A (yellow line on front panel; E for Extended)
- F-series — 2111F, 2117F (red line on front panel; F for Floating point)
The 21MX ran the HP RTE (Real Time) Operating System (OS). They started out as refrigerator-sized rack computers with lights and switches on the front panels. The last models would use a 1-chip processor and fit under a desk using a console rather than front panel.
The new L and A series models had HP-IB interface ability, but as with all HP systems at that time, the blinking LED lights were removed from the front panel. Despite customer demands for a real-time ability and HP R&D's efforts using an installable real-time card, the RTE-A OS was not as good at real-time operations as RTE on a 21MX. This was an important reason this computer was hard to kill. Many companies use real-time operations to take a measurements and control processes — turn on or off a pump, heater, a valve, speed up or slow down a motor, etc.
- HP1000L SOS (silicon on sapphire) CPU and I/O processors
Each addressable up to 32 MB of RAM.
- A600 - based on Am2900 bit-slice processor, 1 MIPS, 53kFLOPS
- A600+ - based on Am2900 bit-slice processor, supports code and data separation, optional ECC (error correcting) memory. Codename: LIGHTNING
- A700 - HP own CPU, optional hardware floating point processor, 1MIPS, 204kFLOPS, microprogramming, optional ECC memory. Codename: PHOENIX
- A900 - Provides pipelined data path, 3MIPS, 500kFLOPS, ECC memory. Codename MAGIC
- A400 - first single-board CPU including 4 serial lines; CPU fabricated by VLSI Technology with their CMOS-40 process, 512kB RAM on board. Codename Yellowstone
- A990 - CPU implemented with two 208-pin CMOS application-specific integrated circuits (ASICs), 298 instructions, supports up to 512 MB of memory.
ru, f77, &test,'test,%test
meaning run the f77 program, using special characters to distinguish between source file, object, and executable files for older FMGR files. A modern Unix command line uses an implied run, and files have dot extensions or internally stored characteristics ("magic numbers") to distinguish between different file types for a given project. It may have been the most primitive shell of any competitive minicomputer at the time.
The HP 1000 also was one of the few minicomputers that restricted file names to only five characters, rather than the six common at the time, which made porting and even writing programs a challenge. Newer RTE-A operating system for HP 1000 provided conventional directory structure with 16.4 file names, and made the ru command optional.
GRAPHICS/1000 was a FORTRAN 5 character name implementation of AGL, which was based on the HP 9830 graphics commands.
Alternatively, a specific dual processor configuration was sold (the HP 2000 system) which could run HP Time-Shared BASIC. In this system, a well-equipped 2116 acted as the main processor while a 2114 acted as the communications multiplexer, simulating many UART channels in software. Later, 2100-series processors were substituted for the 2114. The HP 2000 was the forerunner of the Tandem NonStop architecture, Tandem being created when HP management stopped the HP 2000 product and its champions disagreed. The HP 2000 was introduced in 1966 and sold until June 1978.
- HP 2116A — Nov 1966
- HP 2115A — Nov 1967
- HP 2116B — Sep 1968
- HP 2114A — Oct 1968
- HP 2000A — Nov 1968 (2116-based timesharing system)
- HP 2114B — Nov 1969
- HP 2116C — Oct 1970
- HP 2114C — Oct 1970
- "Computing at ESO Through the Ages — The amazing advance of technology". ESO Picture of the Week. Retrieved 4 June 2012.
- HP 2116
- Fortran 77 manual
- Leibson, Steve (2006). HP9825.COM: The Story of the Little Computer That Could!
- The Hewlett Packard Company. HP1000/RTE Home page.
- Jeff Moffat's HP2100 Archive, software and manuals
- Simulator, with executable binaries and source in C
- HP: The Accidentally, On-Purpose Computer Company
- 1972 HP 2100 Brochure
- rack mounted HP2100 system Guilherme Bittencourt's site image showing from top to bottom, left: a 21MX E-series computer, 2100A computer, 2100 power supply (PS), 7905 disc drive, 13037 drive controller; right: paper tape reader, paper tape punch, 7900 disk drive, 7900 PS.
- HP Computer Museum: 2000F Timeshare System
- HP Computer Museum: 1000-L & A Series
- Computer History Museum: The HP Way, HP 2116, Year 1966.