||This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (December 2013)|
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, demonstrated November 7-10, 1966 at the Joint Computer Conference in San Francisco. 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
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, page-oriented addressing, and a small number of accumulators (such as A and B) rather than a relatively large number of regular registers (such as R0-R7 found on the PDP-11). This philosophy can save money when RAM is less expensive than registers.
There were two 16-bit accumulators, called A and B which could do most instructions such as load or add, although the A register had a few more instructions, and two 1-bit flags called Overflow and Extend. The program counter, 15 bits, was called P. All 68 instructions in the standard instruction set were 16 bits long and executed in one memory cycle (1.6 microseconds), though indirect addressing would add more cycles. Conditional branching was done with a conditional skip over one instruction, which was usually a jump instruction. There was no dedicated stack register.
The smallest addressable unit of memory was a 16-bit word (unlike the later PDP-11, which was addressable by byte), 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. 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, potentially in an infinite loop that could not be interrupted.
Since most instructions were 16 bits long, there was no room in an instruction for both a full 15-bit memory address and a meaningful instruction code. Memory was therefore addressed in terms of "pages" of 1,024 words each. Instructions that reference memory had 10 bits for a page offset (supporting values from 0 through 1023 decimal) and a single bit for a "zero/current" page indicator. If the page indicator bit was set the 10 bits were interpreted as an offset within the page that contained the instruction being executed; in other words, the high five bits of the operand address were taken from the P-register, the program counter. If the page indicator bit was clear, the offset represented an address within page zero. Thus 2,048 words could be addressed at once: 1,024 of them within page zero and another 1,024 within the same page as the instruction performing the reference. If necessary to access other memory locations the instruction could have its high bit set, denoting indirect addressing as described previously; the location addressed by the instruction would then contain the full 15-bit operand address (unless it too had its indirect bit set, etc.).
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 (JSB) 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, PDP-8, and IBM 1130, and makes it impossible for a function to be called re-entrantly unless the function maintains its own stack of return addresses.
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 which the SIMH multi-system emulator is able to run.
Descendants and variants
|This section does not cite any sources. (December 2013)|
|This section's factual accuracy is disputed. (December 2013)|
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.
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 Processor in a separate 2U chassis)
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 terminal rather than a 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 - based on AMD AM2903 bit-slice processor, 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.
Operating systems were RTE-II (2114-2116), RTE-III (2100), RTE-IV (21MX series), RTE-A ("A" series). Provided "Real Time Executive" with interrupt capability.
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 series, later known as HP 2000/Access) which could run HP Time-Shared BASIC. In the original system (2000A), a well-equipped 2116 acted as the main processor while a 2114 acted as the communications multiplexer, simulating many UART channels in software. In the last version (2000F), a 2100S and 2100A CPU were used, with the 2100A connected to up to 32 serial terminals via serial multiplexer interfaces. The HP 2000 series was introduced in 1969, sold until June 1978 and was supported until 1985. The HP 2000 series was the forerunner of the Tandem NonStop architecture, Tandem being created when HP management stopped the HP 2000 product and its champions disagreed.
TODS (Test Oriented Disk System) was developed by a technician at the HP board repair center to improve turn around time in the center. It was used to load diagnostics from a central repository as opposed to loading individual paper tapes. TODS was also used on HP 2116 thru 21MX-F series for test systems for missiles such as Phoenix (9206B), Harpoon (9500D-354), Tomahawk and many others. Early test sets were the 9500A evolving to the 9500D, followed by the ATS (Automated Test System). Specific HP test systems such as the 9500D-A46 Minuteman launch component test set and ATS-E35 Peacekeeper/Minuteman launch component test set. The HP 8580/8542 Microwave ANA/ASA (Automatic Network Analyzer / Automated Spectrum Analyzer) ran on TODS. The TDRSS microwave transponder test set used TODS and was a very large system.
There was also MTOS (Magnetic Tape Operating System) similar to TODS.
- 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
- History of the 2116A digital computer http://www.hp.com/hpinfo/abouthp/histnfacts/museum/earlyinstruments/0001/0001history.html
- "Computing at ESO Through the Ages — The amazing advance of technology". ESO Picture of the Week. Retrieved 4 June 2012.
- HP 2116
- Hewlett-Packard Corporation (March 1967). "Section 2-26, Direct/Indirect". HP 2116A Computer Specifications and Basic Operation, Volume 1 (PDF). p. 2-3.
- Hewlett-Packard Corporation (March 1967). "Section 2-24, Addressing". HP 2116A Computer Specifications and Basic Operation, Volume 1 (PDF). p. 2-3.
- Hewlett-Packard Corporation (March 1967). "Section 2-67, JSB, Jump to Subroutine". HP 2116A Computer Specifications and Basic Operation, Volume 1 (PDF). p. 2-7.
- 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.