Leistungssteigerung durch Innovationen

"Super-Mini" für kommerzielle und technische Anwendungen

25.03.1977

Das Dialogsystem HP-3000/Serie II, ein "Super-Mini" für den Einsatz in kommerziellen und technischen Anwendungen, bietet erstaunliche Leistungen, die durch den Einsatz neuer Verfahren möglich sind.

Um effiziente Dialog-DV und -Datenbankbetrieb mit vielen Anwendern in Sprachen wie COBOL, RPGII, FORTRAN, BASIC und APL durchzuführen, mußte gegenüber früheren Techniken eine Reihe von neuartigen Verfahren eingesetzt werden, von denen einige nachfolgend kurz skizziert werden.

Fehlerkorrektur für Speicherausfälle

Die Computer der Familie HP-3000/Serie II besitzen alle als besondere Einrichtung ein Fehlerkorrektursystem, das Speicherausfälle erkennt und korrigiert, ohne den Ablauf zu stören. Der Speicher der Serie II kann zunächst Einzelbit-Fehler berichtigen. Fünf Prüfbits registrieren nicht nur einen Fehler, der in einem 21-bit-Wort (16 Datenbits und 5 Fehlerkorrekturbits) auftritt, sondern sie lokalisieren das fehlerhafte bit auch und berichtigen es.

Speicher mit "Error Correction" ist in der Computerindustrie nichts Neues, aber da ein Speicher mit defekten Elementen (auch wenn die Defekte korrigiert sind) automatisch weniger zuverlässig ist, registriert der Speicher der Serie II die Fehler zudem noch und hält die zur Lokalisierung defekter Chips notwendige Information in einem RAM-Protokoll fest. Etwa einmal pro Stunde überträgt das Betriebssystem der Serie II diese Daten automatisch in eine Plattendatei. Ein Berichtsprogramm über die fehlerhaften Chips und die Ausfallhäufigkeit kann dann jederzeit abgerufen werden.

Anhand dieser Angaben kann der Kundendienst-Ingenieur von HEWLETT-PACKARD dann die fehlerhaften Chips mühelos ersetzen. Der gesamte Fehlerkorrekturprozeß wickelt sich ohne Beeinträchtigung der Speichergeschwindigkeit ab, ohne daß der Anwender etwas davon merkt.

Effiziente Speicherverwaltung

Die neue HP-3000/Serie II verwendet Platten mit schnellem Zugriff zur effizienten Unterstützung des Hauptspeichers zur Realisierung virtueller Speichertechnik. Eine Speicherzuordnungseinrichtung MAM (MAM = Memory Allocation Manager) steuert das Übertragen oder Swapping von Programmen und Daten zwischen Platte und Hauptspeicher.

Die Grundeinheit einer Übertragung innerhalb des virtuellen Speichers bildet ein Segment von variabler Länge aus miteinander in Beziehung stehenden logischen Informationen. Eine hohe Effizienz im virtuellen Speichersystem wird dann erreicht, wenn die benötigten Segmente bereits im Hauptspeicher bereitgestellt sind und nicht erst unter entsprechendem Zeitaufwand von der Platte geholt werden müssen. Dies ermöglicht ein neuer Algorithmus, den MAM implementiert.

"Zersplitterung" stark herabgesetzt

Dieser Segment-Verweildauer-häufigkeits-Algorithmus sorgt dafür, daß im Hauptspeicher eine fortlaufende Statistik über die Häufigkeit, mit der die einzelnen Segmente benötigt wurden, geführt wird. Nur solche Segmente, bei denen aufgrund dieser Statistik angenommen werden kann, daß sie mit hoher Wahrscheinlichkeit erneut häufig im Hauptspeicher benötigt werden, bleiben resident.

Die "Zersplitterung" des Hauptspeichers in viele kleine Bereiche, die nicht immer groß genug sind, ein neues Segment aufzunehmen, wird durch MAM stark herabgesetzt.

MAM schafft den benötigten Speicherplatz durch sorgfältige Verlagerung eines Segments, das zwei "freie" Bereiche trennt. Diese Komprimierungstechnik, genannt LCA (Logical Compression Algorithm) schafft freien Speicherplatz und verhindert die "Zerstückelung" des Hauptspeichers.

"Firmware-unterstützte Software"

Teile des Betriebssystems, die normalerweise Software sind, sind ebenfalls mikrocodiert. Das Ergebnis ist "firmware-unterstützte Software".

Diese Funktionen des Betriebssystems bestünden, wenn sie nicht

in firmwareunterstützter Software ausgeführt wären, in längeren Programmfolgen. In ihrer mikrocodierten Form wird eine einzelne zusammengesetzte Instruktion in nur wenigen Zyklen der mikroprogrammierten Zentraleinheit ausgeführt. Mikroprogrammierung bedeutet hohe Verarbeitungsgeschwindigkeit und ein optimales Verhältnis zwischen Ergebnis und Anzahl der verwendeten Instruktionen.

Ein Beispiel solcher Zeitersparnis ist die "IXIT"-Anweisung: Mit "IXIT" wird üblicherweise festgestellt, ob die bestehende Warteschlange und Priorität des Schedulers nach einer E/A-Unterbrechung neu festgelegt werden müssen. Ist das der Fall, aktiviert " IXIT" den " Dispatcher" .

Die Ausführung in der Softwareform beanspruchte 155 ms, in der firmwareunterstützten Form dauert dieser Vorgang jetzt nur noch 24 ms, das ist 6? mal schneller. Eine einzige Firmware-Anweisung ersetzt dabei etwa 30 Software-Instruktionen. Firmwareunterstützte Softwarefunktionen für die HP-3000/Serie II schließen repetitive Operationen, wie z. B. Unterprogrammverknüpfungen, Kettenverarbeitung, Pufferübertragungen und integrale Funktionen wie den "Dispatcher" oder, den Scheduler ein.

ZE in Pipeline-Technik

Das Herz des Systems HP-3000/ Serie II ist ein 32-bit-Prozessor, in - Pipeline-Technik arbeitend, mit einer Zykluszeit von 175 ns. Dieser mikroprogrammierte Prozessor unterstützt 209 Instruktionen. 18 dieser Instruktionen sind Mehrwort-Gleitkomma- und Dezimaloperationen. Die mikrocodierten Instruktionen und die firmwareunterstützte Software belegen 4 K Mikroprogrammworte. Die HP-3000/Serie II hat insgesamt 10 K Worte Steuerspeicherplatz und bietet so 6 K Platz für spätere Erweiterungen.