HP 64000 – Wikipedia

before-content-x4

Ein 1987 fotografiertes HP64000-System.

Das HP 64000 Logik-Entwicklungssystem, eingeführt am 17. September 1979, ist ein Werkzeug zur Entwicklung von Hardware und Software für Produkte, die auf kommerziellen Mikroprozessoren verschiedener Hersteller basieren. Die Systeme unterstützten die Softwareentwicklung mit Assemblern und Compilern für Pascal und C, stellten Hardware für die schaltungsinterne Emulation von Prozessoren und Speicher bereit, verfügten über Debugging-Tools einschließlich Logikanalysehardware und einen programmierbaren Nur-Lese-Speicher (PROM)-Chipprogrammierer. Eine große Auswahl an optionalen Karten und Software war auf bestimmte Mikroprozessoren zugeschnitten. Bei seiner Einführung hatte der HP 64000 zwei Unterscheidungsmerkmale. Erstens war es im Gegensatz zu den meisten Mikroprozessor-Entwicklungssystemen der Zeit, wie Intel Intellec und Motorola EXORciser, nicht für Mikroprozessoren eines bestimmten Herstellers bestimmt, und zweitens war es so konzipiert, dass bis zu sechs Workstations über das HP-IB . verbunden werden konnten (IEEE-488) Instrumentierungsbus zu einer gemeinsamen Festplatte und einem Drucker, um ein eng integriertes Netzwerk zu bilden.

  • 64100A, eingeführt 1979. Es war eine Desktop-Workstation, die zehn Erweiterungssteckplätze für verschiedene optionale Karten enthielt. Das anfängliche Angebot dieser Workstation erforderte eine externe Festplatte für den gesamten Plattenspeicher, obwohl die Platte von bis zu sechs Workstations über den HP-IB (IEEE-488) Instrumentation Bus gemeinsam genutzt werden konnte.[1] Später wurde eine Option mit zwei Diskettenlaufwerken hinzugefügt, sodass eine Workstation ohne die gemeinsam genutzte Festplatte verwendet werden konnte. Diese Workstation verwendet denselben benutzerdefinierten HP 16-Bit-Mikroprozessor, der in der HP 9845C-Workstation zu finden ist. Zur Entwicklung von 8-Bit- und 16-Bit-Mikroprozessoren wurde Software und Hardware angeboten.
  • 64110A, eine mobilere Workstation mit fünf Kartensteckplätzen, wurde 1983 eingeführt.[2] Es verwendet den gleichen HP-Prozessor wie der 64100A.
  • 64120A Kartenkäfig eingeführt 1986.[3] Es passte auf die gleichen Optionskarten wie 64100A und 64110A und wurde über einen IEEE-488-Bus an eine standardmäßige HP 9000 Series 300-Workstation mit dem Betriebssystem HP-UX angeschlossen, anstatt eine speziell entwickelte Workstation wie 64100A und 64110A zu verwenden. Bei diesen Systemen wurde der Name “HP 64000-UX Microprocessor Development Environment” verwendet. Für die Entwicklung von 32-Bit-Mikroprozessoren wurde Soft- und Hardware eingeführt.
  • 64700A Kartenkäfig wurde 1988 eingeführt.[4] Es wurde als kostengünstigeres Entwicklungssystem (im Vergleich zum 64120A) vermarktet, das mit einem IBM-PC-kompatiblen Personalcomputer anstelle einer Workstation betrieben werden konnte.[5] Karten für dieses System trugen die Nummern 647xx und waren mit den anderen Systemen nicht kompatibel.

Beschreibung[edit]

Funktionsblockdiagramm des HP 64000

Terminologie[edit]

Wie im Blockschaltbild rechts gezeigt, bestand ein 64000-System aus einer Reihe von Komponenten, deren Namen spezifische Definitionen hatten:

  • Großrechner ist die physische Workstation oder der Kartenkäfig, der die Optionskarten enthält.
  • Gastgeber ist der Prozessor, der den Mainframe betreibt. Beim 64100A und 64110A ist der Hostbus der Adress-, Daten-, Ein-/Ausgabe- und Steuerbus des Workstation-Prozessors, der auch mit den Karten im Kartenkäfig verbunden ist.
  • Benutzer System ist das zu entwickelnde Mikroprozessorsystem. Die Begriffe Benutzerprozessor und Benutzerspeicher beschreiben diese Komponenten des zu entwickelnden Systems.
  • Emulation oder Emulator bezieht sich auf optionale Karten und andere Hardware, die über die Steckkarten mit dem Mainframe verbunden sind und den Prozessor und/oder Speicher im Benutzersystem ersetzen können. Emulations- und Analysekarten sind mit einem Emulationsbus die vollständig vom Host-Bus getrennt ist.

Software-Entwicklung[edit]

Der 64000 bot ein Dateisystem und einen Texteditor zum Schreiben von Software. Es gab einen generischen Assembler/Linker (manuelle Bitsavers), Pascal-Compiler (manuelle Bitsavers) und C-Compiler (manuelle Bitsavers), die für jeden einzelnen Mikroprozessor um zusätzliche Cross-Assembler und Cross-Compiler ergänzt wurden. Eine Liste dieser nach Produktnummer ist:

* HPCM ist das Hewlett Packard Computer Museum

Außerdem gab es einen Pascal “Host Compiler”, Produktnummer 64817A Handbuch bei Bitsavers, Disk-Image bei HPCM, die verwendet werden könnte, um Programme zu schreiben, die auf dem Host-Prozessor der Workstation ausgeführt werden sollen.

In-Circuit-Emulation[edit]

HP64100A Logikentwicklungssystem, das einen Mikroprozessor emuliert

Das 64000-System könnte durch die Verwendung optionaler Karten und Software eine schaltungsinterne Emulation einer Vielzahl von Mikroprozessoren und ihres Speichers durchführen.[1][2] Ein vollständiges Emulationssystem bestand typischerweise aus:

  • Eine Mikroprozessor-Emulator-Controller-Karte, die für jeden Mikroprozessor spezifisch ist.
  • Eine Emulation “Pod” oder “Probe”, die Schnittstellenelektronik enthielt und ein externes Modul zum Mainframe war. Der Prozessor im Benutzersystem wurde aus seinem Sockel entfernt und an seiner Stelle ein Kabel vom Emulations-Pod angeschlossen. Der Emulations-Pod enthielt eine Kopie des Benutzerprozessors, die den Programmcode genau wie der Benutzerprozessor ausführte, und erschien dem Benutzersystem als normaler Prozessor.
  • Eine Emulationsspeichercontrollerkarte und eine oder mehrere Emulationsspeicherkarten. Der Emulationsspeicher könnte verwendet werden, um Speicher im Benutzersystem zu ersetzen, so dass beispielsweise Benutzerprogrammcode in den Emulationsspeicher platziert und ausgeführt werden könnte, anstatt ROM-Chips programmieren zu müssen.
  • Eine “interne” Analysekarte, bei der es sich um einen Logikanalysator handelt, der den Betrieb des emulierten Prozessors und Speichers überwacht.
  • Emulatorsoftware, die es dem Bediener ermöglicht, den emulierten Prozessor zu starten und zu stoppen, den Inhalt von Speicher- und Registerplätzen zu untersuchen, das Signaltiming zu messen, den Programmfluss zu beobachten usw.

Das Foto rechts zeigt eine 64100A-Workstation, die über einen Emulator-Pod den Prozessor eines Benutzersystems emuliert. Das Foto zeigt auch einen Datenerfassungs-Pod für eine “externe” Logikanalysatorkarte im 64100A, die zusätzliche digitale Signale im Benutzersystem misst.

* HPCM ist das Hewlett Packard Computer Museum

Emulator-Steuerplatinen, die sowohl mit dem Host-Bus (Mainframe) als auch mit dem Emulationsbus verbunden sind. Sie dienten dazu, Steuersignale und Daten zwischen dem Host- und dem emulierten System zu übertragen. Je nach Modell kann die Steuerplatine auch Hardware enthalten, um illegale Opcodes oder Speicherzugriffe zu kennzeichnen oder als interner Logikanalysator zu fungieren.

Speicheremulation ermöglicht das Ersetzen von RAM und/oder ROM im Benutzersystem durch Speicher im 64000-System. Es wurden zwei Emulationsspeicher-Controller-Boards angeboten:

  • 64151A Emulation Memory Controller (manuell bei Bitsavers), die 16 Adresszeilen hatte, also 64 KB Speicher adressieren konnte, und
  • 64155A Wide Address Memory Controller (manuell bei Bitsavers), die 24 Adresszeilen hatte und damit 16 MB Speicher adressieren konnte.

Speicherzuordnungen für das Benutzersystem könnten in Bezug auf RAM, ROM und geschützten Speicher spezifiziert werden. Schreibversuche in das ROM oder der Zugriff auf geschützten Speicher wurden vom Speichercontroller erkannt und könnten Aktionen wie Programmhaltepunkte auslösen.

Speicherkarten mit verschiedenen Kapazitäten von statischem RAM wurden angeboten. Die Karten 64152B, 53B und 54B boten 32, 16 bzw. 8 KB und die Karten 64161A, 62A und 63A boten 128, 64 bzw. 32 KB.[6] Sie könnten jeweils für 8-Bit- oder 16-Bit-Datenbusse konfiguriert werden. Speicherkarten wurden über einen Emulationsspeicherbus miteinander und mit dem Speichercontroller verbunden. Der Zugriff auf den Emulationsspeicher durch das Host- oder Benutzersystem erfolgte über die Controller-Karte.

Sobald der emulierte Prozessor und der Speicher den Platz des Prozessors und des Speichers im Benutzersystem eingenommen hatten, konnte der Designer Programmcode schreiben und kompilieren, ihn in den Emulationsspeicher laden und das Benutzersystem starten, wobei das Programm im emulierten Prozessor ausgeführt wird.

Analyse[edit]

Ein 64000-System könnte als Logikanalysator fungieren, um digitale Signale innerhalb des Benutzersystems zu messen. Es wurden zwei Arten von Logikanalysekarten angeboten, “interne” Analysatoren, die Signale direkt vom Emulationsbus innerhalb des Mainframes maßen, und “externe” Analysatoren, die separate Sonden benutzten, um physisch mit Elementen des Benutzersystems zu verbinden. Ähnlich wie bei den Prozessor- und Speicheremulationsprodukten wurden Analysefunktionen häufig in Controller-Karten und Datenerfassungskarten unterteilt. Einige der Emulationsprozessor-Controllerkarten boten interne Analysefunktionen ohne separate Hardware.

Die Hardware zur Logikanalyse wurde ebenfalls unterteilt in Zustand Analysatoren und zeitliche Koordinierung Analysatoren. Die ersteren messen Signale synchron mit einem Systemtakt und könnten beispielsweise bei jedem CPU-Zyklus die Zustände der Adress-, Daten- und Steuerbusse im Anwendersystem aufzeichnen. Diese Daten wurden normalerweise als a Spur, zeigt den Wert auf jedem Bus für jeden CPU-Zyklus. Für viele Mikroprozessoren war ein “inverser Assembler” verfügbar, der die auf dem Datenbus gemessenen Werte in Opcodes für den Benutzerprozessor umwandelte.

Die zweite Form der Logikanalyse war die Zeitanalyse. Ein Timing- oder asynchroner Logikanalysator maß digitale Signale in bestimmten Zeitintervallen, die nicht unbedingt mit der Systemuhr des Benutzers synchronisiert sind. Eine solche Analyse könnte verwendet werden, um Störimpulse zu finden oder zu überprüfen, ob digitale Signale das richtige Timing haben.

Zusätzlich zu diesen Logikanalysatorfunktionen standen Optionen der “Softwareanalyse” zur Verfügung. Diese Tools fungierten als sogenannte Debugger und Profiler.

Eine Liste von Analyseprodukten ist:

Produktnummer Beschreibung Handbuch
64300A Interner Logikanalysator
64302A Interner breiter Logikanalysator Bitsavers
64310A Software-Performance-Analysator Bitsavers
64331A 68000 High-Level-Software-Analysator
64601A Timing-/Hardware-Analysator-Controller Bitsavers
64602A 8-Kanal-Timing-Erfassung Bitsavers
64604A 8-Kanal-Timing-Sonde Bitsavers
64621A Status-/Software-Analysator-Controller Bitsavers
64622A 40 Kanalzustandserfassung Bitsavers
64623A 20 Kanalzustandserfassung Bitsavers
64635A 20-Kanal-Zustandsdatensonde
64636A 8-Kanal-Zustandstaktsonde

Ähnlich wie die Emulationshardware “Pods” mit auf jeden Mikroprozessor zugeschnittener Schnittstellenhardware verwendet, wird die Analysehardware verwendet Präprozessoren als Schnittstelle zum Mikroprozessor zu fungieren. Abgesehen vom 64304A Emulation Bus Preprocessor (Handbuch bei Bitsavers) war jede der CPU-spezifischen Präprozessorschnittstellen eine Platine, die in das 64650A-Allzweck-Präprozessormodul passte (Handbuch unter Bitsavers). Das wiederum ist mit den Kabeln der Logikanalysatorkarte verbunden.

Produktnummer Beschreibung
64304A Emulation Bus-Präprozessor
64653A 8086/8088-Präprozessor-Schnittstelle
64655A 8085 Präprozessor-Schnittstelle
64657A 80286 Präprozessorschnittstelle
64658A 80186/80188 Präprozessorschnittstelle
64670A 68000 Präprozessor-Schnittstelle
64671A 6809 Präprozessor-Schnittstelle
64672A 6800/6802 Präprozessorschnittstelle
64673A 68008 Präprozessor-Schnittstelle
64674A 68000/68010 Präprozessor-Schnittstelle
64680A Z8001 Präprozessorschnittstelle
64681A Z8002 Präprozessorschnittstelle
64683A Z80-Präprozessor-Schnittstelle
64690A NSC800-Präprozessor-Schnittstelle

PROM-Programmierer[edit]

Der 64100A hat rechts neben der Tastatur einen Platz, der ein PROM-Programmiermodul aufnehmen kann. Eine gemeinsame PROM-Programmiersteuerkarte, die 64500A (manuell bei Bitsavers) wurde in den Kartenkäfig eingebaut. Mindestens 11 Programmiermodule, nummeriert von 64502A bis 64520A, standen für eine Vielzahl von PROM- und programmierbaren Mikrocontroller-Chips verschiedener Hersteller zur Verfügung.

MAME-Emulator[edit]

Eine Emulation der 64100A-Workstation ist Teil des MAME-Systems (Multiple Arcade Machine Emulator) des Herstellers HP und trägt den Titel “HP 64000”. Der Emulator ist Open Source und der Quellcode ist verfügbar.

Verweise[edit]

Externe Links[edit]

after-content-x4