Der Mikroprozessor in der Datenverarbeitung

06.04.1979

Trotz der nahen Verwandtschaft der Mikroprozessoren (MP) mit der allgemeinen DVA war es zunächst das Gebiet der mechanischen, hydraulischen, pneumatischen oder elektronischen Steuerungen, auf dem der Mikroprozessor - das kann man heute wohl schon sagen - seinen Siegeszug antrat. Erst allmählich beginnt nun mit zunehmender Geschwindigkeit und Komplexität der Mikroprozessoren ihr Einzug in das eigentlich naheliegende, "arteigene" Gebiet der Datenverarbeitung im engeren Sinne.

Der Grund weshalb Mikroprozessoren erst allmählich beginnen. Eingang in das Gebiet der eigentlichen Datenverarbeitung zu finden, liegt an dem Vorsprung an Geschwindigkeit und Komplexität, den die maßgeschneiderten großen Systeme bisher besitzen. Zur Überwindung dieser Hürde zeichnen sich zwei Tendenzen ab Einmal gelingt es. durch Technologie-Fortschritte, insbesondere Verkleinerung der Halbleiterstrukturen und/ oder Vergrößerung der Chipfläche auf demselben Chip noch mehr Funktionen bei gleichzeitig höherer Geschwindigkeit unterzubringen, ein Fortschritt, der den erwähnten Vorsprung direkt schrumpfen laßt, zum anderen werden Überlegungen angestellt, in neuartigen Rechnerstrukturen eine Vielzahl von relativ einfachen Elementen einzusetzen, um den Geschwindigkeitsnachteil durch Parallelarbeit ausgleichen zu können, was dann in direkter Weise Mikroprozessor-Systeme konkurrenzfähig macht.

Intelligente Terminals

Die heutige Datenverarbeitung in größeren Systemen ist gekennzeichnet durch zwei Betriebsarten. Stapelbetrieb und Dialogbetrieb Beiden ist gemeinsam, daß die eigentliche Verarbeitung der Daten m einem Rechenzentrum geschieht, wo im allgemeinen auch die Daten, jedenfalls sofern sie größeren Umfang haben (" Dateien" ), gespeichert sind Die Rechenanlage arbeitet dabei im Zeitmultiplex für viele Kunden gleichzeitig Schnittstelle zum Benutzer ist im Dialogbetrieb ein Datenendgerät oder Terminal, das es in verschiedenen Ausführungsformen gibt - vom Fernschreiber oder Datensichtgerät über Zeichengeräte bis hin zum Lochkartenleser und Schnelldrucker Derartige Terminals arbeiten heute noch vollkommen passiv sie werden von einem Peripheriegerät im Rechenzentrum, der sogenannten Datenübertragungssteuerung geführt. Das einzige was sie können, ist in einigen Fällen die Zwischenspeicherung der gerade aktuellen Daten (zum Beispiel ein Bildschirminhalt oder eine Druckzeile).

Die nahe Zukunft wird hier eine Veränderung hin zum aktiven oder "intelligenten" Terminal bringen dadurch daß durch Einbau eines oder mehrerer Mikroprozessoren dem Benutzer eine gewisse Verarbeitungskapazität an seinem Arbeitsplatz zur Verfügung gestellt wird. Dieser Einsatzfall für Mikroprozessoren ist deshalb naheliegend, weil beim Dialogbetrieb in den meisten Fällen keine große Prozessorleistung erforderlich ist, dies gerade erlaubte ja die anteilige Benutzung einer einzigen Rechenanlage durch viele Benutzer.

Wenn man sich einmal vergegenwärtigt daß zum Beispiel ein Kunde, der ein Programm über das Terminal eingibt, welches anschließend übersetzt und ausgeführt werden soll, durchaus eine volle Stunde vor der Tastatur verbringen kann, den Rechner selbst dabei aber nur für wenige Sekunden beschäftigt, so tritt hier ein krasses Mißverhältnis zwischen den Leistungskosten für die Anschaltdauer (von der Größenordnung fünfzig Mark pro Stunde) zu den reinen Rechnerkosten (von der Größenordnung einer Mark pro Sekunde) zutage. Dieses kann nur dadurch behoben werden daß bei der Eingabe das Terminal selbständig arbeitet und erst nach vollständiger Zusammenstellung des Programms mit dem Rechenzentrum verbunden wird um es dort einzuspeichern Das gleiche gilt für das Aufbereiten von Eingabedaten für ein bereits fertig vorliegendes Programm. Die Aufbereitung umfaßt dabei das Annehmen und lokale Speichern von Textzeilen, das Fortschalten der Zeilennumerierung, die Möglichkeit der Korrektur von Zeilen (mit verschieden großem Komfort - von der Notwendigkeit, eine spezifizierte Zeile neu schreiben zu müssen bis hin zur Möglichkeit. eine beliebige Zeichenfolge durch eine beliebige andere zu ersetzen) sowie viele andere Textmanipulationen (wie Verschiebung von Zeilen Einfügung. Streichung und andere).

Für die Entwicklung von Programmen die in höheren Programmiersprachen geschrieben werden ist eine weitere mit der Textaufbereitung eng zusammenhängende Aufgabe ebenfalls zur Unterbringung in einem intelligenten Terminal geeignet, nämlich die Syntaxprüfung. Hier hat ja schon der Teilnehmerdialogbetrieb gegenüber dem Stapelbetrieb einen großen Fortschritt gebracht, indem bei Vorliegen formaler Fehler nicht erst das am nächsten Tag zugängliche Protokoll abgewartet werden muß, sondern eine Fehlerdatei sofort Aufschluß über Art und Ort solcher Fehler gibt Auch diese Funktion erfordert keinen Großrechner, sondern kann leicht mit der schon heute verfügbaren Leistung von Mikroprozessoren im Terminal selbst erbracht werden. An eine eventuelle Fehlerausgabe schließt sich dann eine sofortige Korrektur mit Hilfe des Textaufbereiters an bevor die Verbindung zum Rechenzentrum hergestellt wird um das nunmehr formal richtige Programm dort zu speichern Die eigentliche Übersetzung geschieht dann durch den zentralen Rechner einmal weil ein größerer Compiler mehr Optimierungsmöglichkeiten besitzt zum anderen weil das erzeugte Objektprogramm (das möglicherweise noch mit weiteren Objektmoduln aus der rechenzentrumseigenen Modulbibliothek zusammengebunden werden soll) letztlich auf der schnelleren Anlage laufen soll.

Das gilt jedoch nur für größere Programme, die entweder sehr rechenintensiv sind und daher den "Großen Bruder" brauchen oder die Zugriff zu größeren Datenmengen benötigen die zentral gespeichert sind (zum Beispiel bei Datenbanken) Kleinere private Datenbestände werden mit der Entwicklung preisgünstiger Sekundarspeicher (wie Floppy-Disks oder Magnetbandkassetten) ihren Einzug in das Terminal selbst halten. Ebenso werden kleinere insbesondere stark interaktive Programme auch vollständig im Terminal ablaufen. vielfach in Form des direkt von einem Interpreter bearbeiteten Quellprogramms einer geeigneten höheren Programmiersprache (wie Basic).

Ein heute schon realisiertes Beispiel eines intelligenten Terminals ist das SME-(Siemens -Mikrocomputer-Entwicklungssystem)/1/. Es handelt sich dabei um die Vervollkommnung eines Arbeitsplatzes zur Entwicklung von Mikroprozessor-Programmen wie er von vielen Mikroprozessor-Herstellern angeboten wird. An einem derartigen Arbeitsplatz kann man die für einen Mikroprozessor geschriebenen Programme in der vorgesehenen Originalumgebung testen. Dazu enthält er selbst einen Mikroprozessor weiterhin Anschlußkabel für das mit dem Mikroprozessor zu steuernde System einschließlich der daran angeschlossenen Peripherie. Wesentlicher Bestandteil des Systems ist ein ladbarer Programmspeicher in den das mit Hilfe eines sogenannten Cross-Assemblers (oder eines Cross-Compilers) auf einer größeren Anlage übersetzte und möglicherweise mit einem Simulationsprogramm dort auch schon getestete Programm geladen wird; in der an das Entwicklungssystem angeschlossenen Hardware-Umgebung soll es sich jetzt bewähren. Dann besteht die Möglichkeit das geprüfte und für richtig befundene Programm schließlich in ROM-("read-only-memory ")Bausteine bleibend einzuspeichern Aus der Beschreibung der notwendigen Tätigkeiten bei der Mikroprozessor-Programmentwicklung kann man ersehen. daß ein Wechsel zwischen zentraler und lokaler Verarbeitung notwendig ist Hierfür wurde nun ein derartiger Programmierplatz mit einem Anschluß an eine größere DVA ausgestattet (Bild) so daß insgesamt ein intelligentes Terminal entsteht mit den oben beschriebenen Fähigkeiten.

Eine interessante Variante eines intelligenten Terminals, in der ebenfalls Mikroprozessoren eingesetzt werden können stellt ein Terminalrechner dar Das ist im Prinzip eine eigenständige DVA mit Arbeitsspeicher und mehr oder minder ausgebautem Sekundärspeicher (mit Floppy Disks oder kleineren Magnetplatten), an die einerseits eine Reihe von (passiven oder aktiven) Terminals angeschlossen ist, die aber andererseits auch den Zugang zu einem größeren Rechner vermitteln kann. Je nachdem ob diese Verbindung ständig besteht (wie zum Beispiel beim Anschluß von Bankfilialen an das Rechenzentrum der Hauptgeschäftsstelle) oder nur gelegentlich, etwa nachts (wie zum Beispiel beim Anschluß von Supermärkten an ihre Zentrale), findet im Terminalrechner eine mehr oder weniger umfangreiche Vorverarbeitung der Daten statt. Hier sind die Übergänge fließend, so daß man nicht sagen kann, ob ein derartiges Terminalsystem als eine Art "Superterminal" aufgefaßt werden soll oder bereits eine eigene DVA in einem Rechnerverbund darstellt.

Die hier skizzierten Trends zum intelligenten Terminal wurden erst ermöglicht durch den Mikroprozessor, der so wenig kostet, daß in Zukunft ein aktives Terminal kaum teurer sein wird als heute ein passives. Der Vorteil für den Benutzer liegt dabei in erster Linie in der Ersparnis der Anschlußkosten an den Rechner für die Zeit, in der dessen Leistung nicht ausgenutzt wird. Daneben übernimmt derselbe oder ein anderer Mikroprozessor im Terminalrechner noch zusätzliche, mehr steuernde Aufgaben wie die Adaptieren des Terminals an die verschiedenen Übertragungsmodi, insbesondere die Datensicherungsprozeduren, die Bildwiederholung bei Sichtgeräten, das Einblenden von Formularmasken und anderes, Funktionen, deren Realisierung durch Mikroprozessoren im wesentlichen Rationalisierungsvorteile für den Hersteller bietet und die wiederum mehr eine Prozeßkontrolle als eine Datenverarbeitung bedeutet.

Datenverarbeitungsanlagen

Die beschriebene Verlagerung einiger Funktionen in das Terminal (oder das Terminalsystem) entlastet die zentrale DVA nicht nennenswert, da es sich ja um nicht sehr rechenintensive Vorgänge handelt; einzig der Kanal zur Datenübertragungssteuerung, der bisher den Dialog übertrug, erfährt eine Änderung in seiner Tätigkeit: statt vieler Einzelübertragungen kommt jetzt gelegentlich eine größere Blockübertragung vor.

Für die Betrachtung der Einsatzpunkte von Mikroprozessoren in der DVA selbst soll nun zunächst einmal der komplexe Vorgang der Datenverarbeitung in Einzelfunktionen aufgelöst werden. Neben der zentralen Aufgabe, Anwendender Betriebssystem-Programme Befehl für Befehl abzuarbeiten, das heißt diese Befehle auf Daten wirken zu lassen, gibt es ja eine Reihe von Hilfsaufgaben. Dazu gehört die Bedienung der erwähnten Datenübertragungssteuerung, die Bedienung des Sekundärspeichers, der Verkehr mit Ein/Ausgabe-Geräten, insbesondere mit der Bedienungskonsole sowie mit einem Wartungsfeld, Aufgaben die man allesamt unter dem Oberbegriff Schnittstellenanpassung zusammenfassen kann. Diese Aufgaben erledigte ursprünglich auch der eine zentrale Prozessor, sie wurden aber im Zuge der Leistungssteigerung durch Parallelarbeit zunehmend aus dem Zentralprozessor herausgelöst und eigenen Funktionseinheiten übertragen (zum Beispiel Ein/ Ausgabe-Vorgänge und Sekundärspeicherzugriffe den sogenannten Kanälen). In einer verallgemeinernden Ausdrucksweise kann man alle diese Funktionseinheiten wieder als Prozessoren bezeichnen, so daß eine moderne DVA in diesem Sinne stets eine Multiprozessoranlage ist.

Verteilte Verarbeitung

Die Leistungsanforderungen an die einzelnen Hilfsprozessoren sind äußerst verschieden. Während zum Beispiel Blockmultiplexkanäle zum Anschluß von Plattenspeichergeräten mit Datenraten von mehreren Megabyte pro Sekunde fertig werden müssen, sind Daten von der Bedienungskonsole oder gar dem Wartungsfeld wesentlich seltener. Mit der Verfügbarkeit von einem ganzen Strauß von Mikroprozessoren steht nun dem Entwickler ein neuer Freiheitsgrad zur Verfügung, nämlich die Alternative, für jeden dieser Hilfsprozessoren entweder eine angepaßte Neuentwicklung oder aber eine Adaption von marktgängigen Mikroprozessoren ins Auge zu fassen. Dabei ist klar, daß von der wirtschaftlichen Seite her der letzteren Lösung der Vorzug gebührt, selbst wenn dann der Entwicklungsaufwand in die Software verlagert wird; jedoch sind für derartige hinsichtlich ihrer FunktionsvielfaIt beschränkte Einsatzfälle die Programmentwicklungskosten nicht annähernd vergleichbar etwa denen einer Betriebssystemkomponente. So ist einziges Kriterium für die Einsetzbarkeit von Mikroprozessoren an dieser Stelle nur die geforderte Leistung. Die Leistung der Mikroprozessoren aber ist stetig im Steigen begriffen, so daß wohl im Laufe der Zeit für alle erwähnten Hilfsprozessoren Mikroprozessoren Verwendung finden werden.

Dies ist bereits heute bei den langsamen Peripherie-Kanälen, insbesondere zur Bedienung der Operator-Konsole, und beim Wartungsprozessor ohne weiteres möglich. Vor allem in der ersten Phase der Systemgenerierung, wenn ein Test aller Funktionen erfolgt, erweist sich ein Element, das aufgrund seiner geringen Zahl von Bausteinen selbst eine hohe Zuverlässigkeit besitzt, von großem Nutzen.

Ein anderes Element mit ebenfalls noch mäßigen Leistungsanforderungen ist der Datenübertragungspsozessor, so daß sich auch hierfür bald Mikroprozessoren einführen werden. Da viele Funktionen dieses Prozessors denen des oben beschriebenen Terminalrechners ähneln, kann man in beiden Fällen denselben Mikrocomputer (mit einem Mikroprozessor als Kern) einsetzen.

Dagegen ist vorläufig die vollständig transparente Verwaltung des gesamten Sekundärspeichers durch einen oder mehrere Mikroprozessoren noch Zukunftsmusik. Ausgangspunkt ist das bekannte Konzept des Virtuellen Speichers, das jedem Benutzer fast unbegrenzt viel Adressiertem zur Verfügung stellt. Dabei wird zwischen im Hauptspeicher geladenen Daten (,,Seiten ") und solchen, bei denen auf den Sekundärspeicher zurückgegriffen werden muß, unterschieden. Die Feststellung, ob eine Seite geladen ist oder nicht, trifft bei jedem Zugriff der zugreifende Prozessor selbst. Im Falle einer fehlenden Seite bearbeitet heute im allgemeinen derselbe Prozessor - nach Unterbrechung des anfordernden Programms - den notwendigen Ein/Ausgabe-Vorgang (Aufsuchen und Laden der angeforderten Seite, gegebenenfalls Rückschreiben der dabei überschriebenen Seite). In Zukunft kommt man nun zwar um die Programmierunterbrechung auch nicht herum, denn das Holen der Seite dauert schließlich eine ganze Weile. Die Einleitung der notwendigen Seitenübertragungen einschließlich dem Führen aller Tabellen kann man aber auch einem anderen, einfacheren Prozessor überlassen und so den verarbeitenden Prozessor für seine eigentlichen Aufgaben entlasten. Angesichts der ohnehin langen Zugriffszeit zum Sekundärspeicher kann dieser Speicherverwaltungsprozessor durchaus auch ein langsamerer Prozessor sein, eben ein Mikroprozessor, der wegen seiner geringen Kosten auch für kleinere Datenverarbeitungssysteme (zum Beispiel mit einem Minicomputer als Zentraleinheit} die Vorteile des Virtuellen Speichersystems bei gleichzeitig guter Leistung erschwinglich macht.

Denkt man sich die beschriebene Entwicklung zu verteilter Verarbeitung innerhalb einer DVA mit Mikroprozessoren für alle Hilfsleistungen einmal vollendet, so ergibt sich äußerlich eine gewisse Homogenisierung des Systems, die Inhomogenität der Funktionen steckt dann intern in den Mikroprozessor-Programmen, die einen jeden Prozessor auf seine speziellen Aufgaben zuschneiden. Dagegen entstehen innerlich wie auch äußerlich homogene Multiprozessorsysteme, wenn Mikroprozessoren in die zentrale Verarbeitungseinheit einer DVA selbst Eingang finden.