HP 64000
   HOME

TheInfoList



OR:

The HP 64000 Logic Development System, introduced 17 September 1979, is a tool for developing hardware and software for products based on commercial microprocessors from a variety of manufacturers. The systems assisted software development with assemblers and compilers for Pascal and C, provided hardware for
in-circuit emulation In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carr ...
of processors and memory, had debugging tools including logic analysis hardware, and a
programmable read-only memory A programmable read-only memory (PROM) is a form of digital memory where the contents can be changed once after manufacture of the device. The data is then permanent and cannot be changed. It is one type of read-only memory (ROM). PROMs are used i ...
(PROM) chip programmer. A wide variety of optional cards and software were available tailored to particular microprocessors. When introduced the HP 64000 had two distinguishing characteristics. First, unlike most microprocessor development systems of the day, such as the Intel
Intellec The Intellec computers were a series of early microcomputers Intel produced in the 1970s as a development platform for their processors. The Intellec computers were among the first microcomputers ever sold, predating the Altair 8800 by at leas ...
and Motorola
EXORciser The 6800 ("''sixty-eight hundred''") is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System (later dubbed ''68xx'') that also included serial and parall ...
, it was not dedicated to a particular manufacturer's microprocessors, and second, it was designed such that up to six workstations could be connected via the HP-IB (
IEEE-488 Glycoprotein Ib (GPIb), also known as CD42, is a component of the GPIb-V-IX complex on platelets. The GPIb-V-IX complex binds von Willebrand factor, allowing platelet adhesion and platelet plug formation at sites of vascular injury. Glycoprotein ...
) instrumentation bus to a common hard drive and printer to form a tightly integrated network.


Models

* 64100A, introduced in 1979, was a desktop workstation which contained ten expansion slots for various optional cards. The initial offering of this workstation required an external hard disk for all disk storage, although the disk could be shared by up to six workstations via the HP-IB (
IEEE-488 Glycoprotein Ib (GPIb), also known as CD42, is a component of the GPIb-V-IX complex on platelets. The GPIb-V-IX complex binds von Willebrand factor, allowing platelet adhesion and platelet plug formation at sites of vascular injury. Glycoprotein ...
) instrumentation bus. Later, a dual floppy drive option was added so that a workstation could be used without the shared hard drive. This workstation's
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
was the BPC, the same custom HP 16-bit microprocessor found in the
HP 9845C The HP 9845C from Hewlett-Packard was one of the first desktop computers to be equipped with a color display and light pen for design and illustration work. It was used to create the color war room graphics in the 1983 movie ''WarGames''. Fea ...
workstation. Software and hardware was offered to develop 8-bit and 16-bit microprocessors. * 64110A, a more portable workstation ("luggable") with five card slots, was introduced in 1983. Its CPU was the same custom HP microprocessor as the 64100A. * 64120A card cage introduced in 1986. It fit the same option cards as the 64100A and 64110A, and was connected via an IEEE-488 bus to a standard
HP 9000 HP 9000 is a line of workstation and server (computing), server computer systems produced by the Hewlett-Packard (HP) Company. The native operating system for almost all HP 9000 systems is HP-UX, which is based on UNIX System V. The HP 9000 bra ...
Series 300 workstation running the
HP-UX HP-UX (from "Hewlett Packard Unix") is a proprietary software, proprietary implementation of the Unix operating system developed by Hewlett Packard Enterprise; current versions support HPE Integrity Servers, based on Intel's Itanium architect ...
operating system rather than using a specially designed workstation such as the 64100A and 64110A. The name "HP 64000-UX Microprocessor Development Environment" was used with these systems. Software and hardware was introduced for development of 32-bit microprocessors. * 64700A card cage was introduced in 1988. It was marketed as a lower cost development system (compared to the 64120A) that could be operated with an IBM PC-compatible personal computer rather than a workstation. Cards for this system carried the numbers 647xx, and were not compatible with the other systems.


Description


Terminology

As shown in the block diagram to the right, a 64000 system consisted of a number of components whose names had specific definitions: * Mainframe is the physical workstation or card cage holding the option cards. * Host is the processor that operates the mainframe. In the 64100A and 64110A the Host Bus is the workstation processor's address, data, input/output and control buses, which also connect to the cards in the card cage. * User system is the microprocessor system being developed. The terms user processor and user memory describe those components in the system being developed. * Emulation or Emulator refers to optional cards and other hardware that are connected to the mainframe via the plug-in cards and can replace the processor and/or memory in the user system. Emulation and analysis cards are interconnected with an Emulation Bus that is completely separated from the Host Bus.


Software Development

The 64000 provided a file system and text editor for writing software. There was a generic assembler /
linker Linker or linkers may refer to: Computing * Linker (computing), a computer program that takes one or more object files generated by a compiler or generated by an assembler and links them with libraries, generating an executable program or shar ...

manual Bitsavers
, Pascal compiler
manual Bitsavers
, and C compiler
manual Bitsavers
, which were supplemented with add-on cross-assemblers and
cross-compilers A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compile ...
for each particular microprocessor. A list of these by product number is: * HPCM is the Hewlett Packard Computer Museum In addition, there was a Pascal "Host Compiler", product number 64817
manual at Bitsavers
disk image a
HPCM
which could be used to write programs to execute on the workstation host processor.


In-Circuit Emulation

The 64000 system, through the use of optional cards and software, could perform
in-circuit emulation In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carr ...
of a variety of microprocessors and their memory. A complete emulation system typically consisted of: * A microprocessor emulator controller card, specific to each microprocessor. * An emulation "pod" or "probe", which contained interface electronics and was an external module to the mainframe. The processor in the user system was removed from its socket, and a cable from the emulation pod was connected in its place. The emulation pod contained a copy of the user processor that ran program code just as the user processor would, and it appeared to the user system as the normal processor. * An emulation memory controller card and one or more emulation memory cards. The emulation memory could be used to substitute for memory in the user system so that, for instance, user program code could be placed in the emulation memory and executed rather than needing to program ROM chips. * An "internal" analyzer card, which was a
logic analyzer A logic analyzer is an electronic instrument that captures and displays multiple logic signals from a digital system or digital circuit. A logic analyzer may convert the capture into timing diagrams, protocol decodes, state machine traces, op ...
that monitored the operation of the emulated processor and memory. * Emulator software that allowed the operator to start and stop the emulated processor, examine the contents of memory and register locations, measure signal timing, observe program flow, and so on. The photo at right shows a 64100A workstation emulating the processor of a user system via an emulator pod. The photo also shows a data acquisition pod for an "external" logic analyzer card in the 64100A that was measuring additional digital signals in the user system. * HPCM is the Hewlett Packard Computer Museum Emulator control boards connected to both the host (mainframe) bus and the emulation bus. They acted to pass control signals and data between the host and emulated systems. Depending on the model, the control board might also contain hardware to flag illegal opcodes or memory accesses or to act as an internal logic analyzer. Memory Emulation allows
RAM Ram, ram, or RAM most commonly refers to: * A male sheep * Random-access memory, computer memory * Ram Trucks, US, since 2009 ** List of vehicles named Dodge Ram, trucks and vans ** Ram Pickup, produced by Ram Trucks Ram, ram, or RAM may also ref ...
and/or
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
in the user system to be replaced by memory in the 64000 system. Two emulation memory controller boards were offered: * 64151A Emulation Memory Controller (manual a
Bitsavers
, which had 16
address line In computer architecture, a bus (historically also called a data highway or databus) is a communication system that transfers data between components inside a computer or between computers. It encompasses both hardware (e.g., wires, optical ...
s so could address 64 KB of memory, and * 64155A Wide Address Memory Controller (manual a
Bitsavers
, which had 24 address lines so could address 16 MB of memory. Memory maps for the user system could be specified in terms of RAM, ROM and protected memory. Attempted writes to ROM or accessing of protected memory was detected by the memory controller and could trigger actions such as program breakpoints. Memory cards of various capacities of
static RAM Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The ''static'' qualifier differ ...
were offered. The 64152B, 53B and 54B cards provided 32, 16 and 8 KB, respectively, and the 64161A, 62A and 63A cards provided 128, 64 and 32 KB, respectively.Bitsavers
/ref> They could each be configured for 8-bit or 16-bit data buses. Memory cards were connected together and to the memory controller through an emulation memory bus. Accesses to emulation memory by either the host or user systems was through the controller card. Once the emulated processor and memory took the place of the processor and memory in the user system, the designer could write and compile program code, load it into emulation memory and start the user system, running the program in the emulated processor.


Analysis

A 64000 system could act as a
logic analyzer A logic analyzer is an electronic instrument that captures and displays multiple logic signals from a digital system or digital circuit. A logic analyzer may convert the capture into timing diagrams, protocol decodes, state machine traces, op ...
to measure digital signals within the user system. Two types of logic analysis cards were offered, "internal" analyzers which measured signals directly off the emulation bus within the mainframe, and "external" analyzers which used separate probes to physically connect to elements of the user system. Similar to the processor and memory emulation products, analysis functions were often divided into controller cards and data acquisition cards. Some of the emulation processor controller cards offered internal analysis functions without separate hardware. Logic analysis hardware was also divided into ''state'' analyzers and ''timing'' analyzers. The former measured signals in synchronization with a system clock and could, for example, record the states of the address, data and control buses in the user system at each CPU cycle. This data was normally presented as a ''trace'', showing the value on each bus for each CPU cycle. For many microprocessors, an "inverse assembler" was available that would convert values measured on the data bus to
Opcodes In computing, an opcode (abbreviated from operation code) is an enumerated value that specifies the operation to be performed. Opcodes are employed in hardware devices such as arithmetic logic units (ALUs), central processing units (CPUs), and s ...
for the user processor. The second form of logic analysis was timing analysis. A timing, or asynchronous logic, analyzer measured digital signals at specified time intervals, not necessarily synchronized to the user system clock. Such analysis could be used to find
glitches A glitch is a short-lived technical fault, such as a transient one that corrects itself, making it difficult to troubleshoot. The term is particularly common in the computing and electronics industries, in circuit bending, as well as among pla ...
or verify digital signals had proper timings. In addition to these logic analyzer functions, "software analysis" options were available. These tools acted as what are now commonly called
debuggers A debugger is a computer program used to software testing, test and debugging, debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, stepping (debuggin ...
and
profilers Offender profiling, also known as criminal profiling, is an investigative strategy used by law enforcement agencies to identify likely suspects and has been used by investigators to link cases that may have been committed by the same perpetrato ...
. A list of analysis products is: Similar to the way the emulation hardware used "pods" with interface hardware tailored to each microprocessor, the analysis hardware used preprocessors to act as an interface to the microprocessor. Aside from the 64304A Emulation Bus Preprocessor (manual a
Bitsavers
, each of the CPU specific preprocessor interfaces was a circuit board that fit within the 64650A General Purpose Preprocessor module (manual a
Bitsavers
. That, in turn, connected to the logic analyzer card cables. {, class="wikitable" , - ! Product Number !! Description , - , 64304A , , Emulation Bus Preprocessor , - , 64653A , , 8086/8088 Preprocessor Interface , - , 64655A , , 8085 Preprocessor Interface , - , 64657A , , 80286 Preprocessor Interface , - , 64658A , , 80186/80188 Preprocessor Interface , - , 64670A , , 68000 Preprocessor Interface , - , 64671A , , 6809 Preprocessor Interface , - , 64672A , , 6800/6802 Preprocessor Interface , - , 64673A , , 68008 Preprocessor Interface , - , 64674A , , 68000/68010 Preprocessor Interface , - , 64680A , , Z8001 Preprocessor Interface , - , 64681A , , Z8002 Preprocessor Interface , - , 64683A , , Z80 Preprocessor Interface , - , 64690A , , NSC800 Preprocessor Interface


PROM Programmer

The 64100A has a space to the right of the keyboard that can accept a PROM programmer module. A common PROM programmer control card, the 64500A (manual a
Bitsavers
, was installed in the card cage. At least 11 programmer modules, numbered from 64502A to 64520A were available for a variety of PROM and programmable microcontroller chips from different manufacturers.


MAME Emulator

An emulation of the 64100A workstation is part of the
MAME MAME (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to emulate the hardware of arcade games, video game consoles, old computers and other systems in software on modern personal computers and ...
(Multiple Arcade Machine Emulator) system, under Manufacturer HP and titled "HP 64000". The emulator is
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
and the source cod
is available


References


External links


PDF documentation for HP 64000
fro
Bitsavers

first 64000 system
fro
HP Computer Museum
64000