DE2759120C2 - - Google Patents

Info

Publication number
DE2759120C2
DE2759120C2 DE2759120A DE2759120A DE2759120C2 DE 2759120 C2 DE2759120 C2 DE 2759120C2 DE 2759120 A DE2759120 A DE 2759120A DE 2759120 A DE2759120 A DE 2759120A DE 2759120 C2 DE2759120 C2 DE 2759120C2
Authority
DE
Germany
Prior art keywords
processor
register
control
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2759120A
Other languages
English (en)
Other versions
DE2759120A1 (de
Inventor
Charles H. Newton Highlands Mass. Us Kaman
Daniel T. Bolton Mass. Us Sullivan
James F. Westford Mass. Us O'loughlin
Craig Weston Mass. Us Mudge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE2759120A1 publication Critical patent/DE2759120A1/de
Application granted granted Critical
Publication of DE2759120C2 publication Critical patent/DE2759120C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Description

Die Erfindung betrifft einen Datenverarbeitungsprozessor mit wenigstens einer Dateneinheit zur Datenmanipulation und einer Steuereinheit, die wenigstens ein Mikrobefehlswort ausgebendes Mikroprogrammsteuerwerk umfaßt.
In einem Datenverarbeitungssystem, in dem die Prozessoroperationen durch adressierte Befehle aus einem Mikroprogrammspeicher gesteuert werden, spielt die Geschwindigkeit, mit der diese Befehle geholt, interpretiert und durch die verschiedenen Teile des Prozessors ausgeführt werden, eine bedeutende Rolle für die Leistungskennwerte der Datenverarbeitungsmaschine.
Um die höchstmögliche Verarbeitungsgeschwindigkeit zu erzielen, ist es bekannt (vergl. Klar/Wichmann, "Mikroprogrammierung", Arbeitsberichte des Instituts für mathematische Maschinen und Datenverarbeitung der Friedrich Alexander Universität Erlangen Nürnberg, Bd. 8, Nr. 3. Juni 1975, Abschnitt 1.2.1.1), die Mikroinstruktionen direkt ausführen zu lassen; d. h., die in jeder Instruktion enthaltenen Informationen sind mit allen Teilen des Prozessors gekoppelt, so daß die angesprochenen Bereiche des Prozessors die Instruktion in minimaler Zeit ausführen können. Jedoch ist diese Methode der Ausführung hinsichtlich des Platzbedarfs sehr teuer, da die zahlreichen Informationsbits, enthalten in der Instruktion, mit allen Prozessorteilen gekoppelt sein müssen. Auch der Aufwand an logischen Schaltkreisen zur Interpretation der Instruktionen und entsprechenden Steuerung des Prozessors wird um so beträchtlicher, je umfangreicher der Befehlsatz des Prozessors ist.
Ferner ist es bekannt (vergl. die Abschnitte 1.2.1.2 und 1.2.1.3 obiger Literaturstelle), die Mikroprogrammbefehle ein- oder mehrfach zu verschlüsseln. Dadurch wird die Wortlänge der Befehle verkürzt mit der Folge, daß weniger Leitungen zur Bitübertragung in den gesamten Prozessor notwendig sind. Dieser Vorteil der indirekten Mikroprogrammsteuerung wird jedoch mit dem Nachteil erkauft, daß aufgrund der für die notwendigen Dekodierungen (Entschlüsselung) zusätzlich benötigten Zeit die Verarbeitungsgeschwindigkeit des Prozessors verlangsamt und damit dessen Leistungsfähigkeit eingeschränkt wird.
Schließlich ist eine indirekte Mikroprogrammsteuerung über Dekoder bekannt (US-PS 38 72 447), sowie ein Datenverarbeitungsprozessor, bei dem vertikale Steuerwörter verwendet werden und ein zweiter Mikroprogrammspeicher benötigt wird (US-PS 37 66 532). Mit den daraus bekannten Maßnahmen können jedoch Schwierigkeiten der genannten Art nicht ohne weiteres vermieden werden.
Der Erfindung liegt die Aufgabe zugrunde, einen durch Mikroprogramm gesteuerten Prozessor mit sowohl hoher Leistungsfähigkeit als auch geringem Hardware-Aufwand zu schaffen, in dem die Steuerung des Prozessors durch Mikroprogrammworte direkt und/oder indirekt erfolgt
Diese Aufgabe wird gemäß den Merkmalen des Anspruchs 1 gelöst. Demnach wird von der Tatsache Gebrauch gemacht, daß bei jedem Prozessor ein bestimmter, meist kleiner Teil des gesamten Befehlssatzes viel häufiger benötigt wird als der restliche. Die häufig auftretenden - primären - Mikrobefehlsworte sind mit den Prozessorteilen zu deren Steuerung direkt gekoppelt, während die selten benötigten - sekundären - Mikrobefehlsworte vor der Kopplung mit den zu steuernden Prozessorteilen zunächst zwischengespeichert und dekodiert werden.
Gemäß einer besonderen Ausbildung der Erfindung ist der Prozessor in funktionsbezogene Einheiten wie Bussteuereinheit, Pufferspeichereinheit, Datenmanipulationseinheit und/oder Steuereinheit usw. aufgeteilt, die durch ein oder mehrere interne Datenbusse miteinander verbunden sind. Die lediglich innerhalb einer solchen Einheit ablaufenden Operationen können dann von einem Primärbefehl schnellstmöglich - innerhalb eines Mikrozyklus - direkt gesteuert, dagegen die Operationen zum Daten- oder Informationstransfer zwischen einzelnen Prozessoreinheiten durch sekundäre Befehle indirekt gesteuert werden. Damit wird der Vorteil erzielt, daß die Primärbefehle meist nur relativ einfache Operationen betreffen und deshalb nur wenige Informationsbits benötigen. Dadurch kann die Wortlänge der Mikrobefehle beim erfindungsgemäßen Prozessor insgesamt verkürzt werden.
Bezüglich weiterer Ausbildungen und Vorteile der Erfindung wird auf die Unteransprüche verwiesen.
Der erfindungsgemäße Prozessor ist deshalb sowohl leistungsorientiert als auch weniger aufwendig und kostensparend aufgebaut. In jedem Verarbeitungssystem werden bestimmte Befehle wesentlich öfter ausgeführt als andere Befehle eines Programms. Dies tritt insbesondere in einem Datenverarbeitungssystem auf, in welchem mikroprogrammierte Befehle gespeichert sind und verwendet werden, um die in einem externen Anschlußgerät gespeicherten Haupt- oder Makro-Befehle abzurufen, auszulegen und auszuführen. Bei der Erfindung werden Operationen oder Befehle, die vom Prozessor ausgeführt werden, als primäre oder sekundäre Befehle klassifiziert. Die primäre Klassifikation enthält die häufig ausgeführten Befehle, die möglichst schnell ausgeführt werden müssen, wenn der Prozessor eine hohe Leistungscharakteristik haben soll. Die zweite oder Sekundärklassifikation enthält nicht häufig auszuführende Befehle, die, obgleich sie für den Gesamtbetrieb des Systems notwendig sind, über lange Zeitperioden ausgeführt werden können, ohne die hohe Leistungscharakteristik des Prozessors zu beeinträchtigen. Diese Sekundärbefehle können zwischengespeichert und dekodiert werden, wodurch die Größe der Befehle reduziert wird, was auch den erforderlichen Raum, der durch Leitungen eingenommen wird, reduziert, die durch den Prozessor hindurch vorgesehen werden müssen; darüber hinaus wird der Umfang an Hardware oder logischen Schaltungen verringert, die im Prozessor zur Ausführung der Primärbefehle verwendet wird.
Wenn ein Befehl eines Prozessors eine Primäroperation anzeigt, wird die zugeordnete Einheit im Prozessor über eine Freigabelogik durch den Befehl direkt angesteuert und die Datenverarbeitung und/oder Datenübertragung, die in dem Befehl spezifiziert ist, wird in kürzester Zeit ausgeführt, wobei dieser Zeitraum gewöhnlich in einem Mikrozyklus liegt, d. h. der Zeit zwischen dem Abrufen aufeinanderfolgender Prozessorbefehle.
Die Sekundärbefehle, oder wenigstens ein Teil dieser Befehle, werden in einem sekundären Steuerregister gespeichert, das über die Dekodierlogik einen Übertragungs- oder Verbindungsweg in dem Prozessor zur Ausführung der Sekundäroperation oder Übertragung herstellt. Obgleich die Sekundäroperation oder die sekundäre Übertragung häufig und über mehrere Mikrozyklen ausgeführt werden kann, wird die Gesamtleistung des Systems nicht beeinträchtigt, da diese Operationen oder Befehle selten auftreten.
Bei einer bevorzugten Ausführungsform der Erfindung werden die Primärbefehle innerhalb eines Mikrozyklus ausgeführt, da ein neuer Befehl im nächsten Mikrozyklus abgerufen bzw. abgegeben wird. Die im Sekundär-Steuerregister gespeicherte Information bleibt jedoch so lange gespeichert, bis das sekundäre Speicherregister den nächsten Sekundärbefehl darauffolgend erhält. Zwischen dem Laden des sekundären Steuerregisters können Primär-Befehle ausgeführt werden. Während der Ausführung der Primär-Befehle kann der Übertragungs- oder Nachrichtenweg unter Steuerung des sekundären Steuerregisters verwendet oder nicht verwendet werden, er kann gesperrt werden oder es kann ein anderer Übertragungsweg zeitweilig hergestellt werden. Wenn ein Übertragungsweg, der durch das sekundäre Steuerregister bestimmt ist, auf diese Weise gesperrt wird, wird er wieder freigegeben bzw. wieder hergestellt, nachdem der Primärbefehl ausgeführt ist. Somit können sekundäre Informationen in dem sekundären Steuerregister vor derjenigen Zeit gespeichert werden, zu welcher sie benötigt werden, und ein Sekundärbefehl, der mehr als einmal nacheinander ausgeführt werden muß, muß nur einmal abgerufen und in das sekundäre Steuerregister eingespeichert werden, auch wenn dieser Sekundärbefehl durch die Ausführung zwischenliegender Primärbefehle getrennt wird.
Im folgenden wird eine bevorzugte Ausführungsform des erfindungsgemäßen Prozessors in Verbindung mit einer Datenverarbeitungsanlage zur Erläuterung weiterer Merkmale anhand von Zeichnungen beschrieben. Es zeigt
Fig. 1 ein schematisches Blockschaltbild des Prozessors in einem Datenverarbeitungssystem,
Fig. 2a ein schematisches Blockschaltbild des Taktgenerators des Prozessors nach Fig. 1,
Fig. 2b die Taktsteuerung und Taktimpulse des Taktgenerators nach Fig. 2a,
Fig. 3 ein Blockschaltbild der die Datenwege herstellenden Einheit des Prozessors nach Fig. 1,
Fig. 4 eine Darstellung eines Informationsfeldes zur Steuerung der Hauptleitung, wobei dieses Informationsfeld in jedem Befehl des durch ein Mikroprogramm gesteuerten Prozessors vorliegt und diejenige Einrichtung anzeigt, die vom Prozessor zur Unterscheidung zwischen Primär- und Sekundär-Befehlen verwendet wird,
Fig. 5 eine Darstellung des sekundären Steuerspeicherregisters, welches zur Speicherung der Sekundärbefehle oder Teile derselben verwendet wird,
Fig. 6 eine schematische Darstellung der in jeder Einheit des Prozessors verwendeten logischen Schaltung zur Dekodierung des Inhalts des sekundären Steuerspeicherregisters (Steuerspeicherauswahlregisters) und zur Steuerung der Informationsübertragung abhängig von dem jeweiligen Inhalt, und
Fig. 7a, b und c Flußdiagramme zur Veranschaulichung einer Serie von typischen Primär- und Sekundärbefehlsfolgen, die von dem Prozessor ausgeführt werden.
In Fig. 1 ist schematisch ein Blockschaltbild eines Datenverarbeitungssystems 10 dargestellt, welches einen Prozessor 12 gemäß der Erfindung enthält. Zusätzlich zu dem Prozessor 12 weist das Datenverarbeitungssystem 10 einen Speicher 16 und wenigstens ein äußeres Anschlußgerät, beispielsweise das Anschlußgerät 18 auf, wobei jedes äußere Anschlußgerät 18 mit einer Daten-Hauptleitung 20 in Verbindung steht. Die Hauptleitung 20 bildet eine Verbindung für alle Adressen, Daten und Steuerinformationen zwischen dem Prozessor, dem Speicher und den äußeren Anschlußgeräten.
Der Prozessor 12 besteht aus mehreren Einheiten, die jeweils zwischen eine Dateneingabe-Leitung 22 und eine Datenausgabe-Leitung 24 geschaltet sind. Die Prozessoreinheiten, die nachstehend näher beschrieben werden, enthalten eine Steuereinheit 26 zur Steuerung der Verwendung der Hauptleitung 20, eine Prozessor-Pufferspeichereinheit 28 zur Datenspeicherung, wodurch die Daten vom Prozessor 12 schnell wieder abgerufen bzw. erhalten werden können, eine Einheit 30 zur Herstellung eines Datenwegs zur Ausführung arithmetischer und Verarbeitungs-Operationen bezüglich der Daten sowie eine Steuereinheit 32 für den Prozessor zur Speicherung von vorher programmierter Informationen, die verwendet werden, um externe Befehle abzurufen, zu erfassen und auszuführen, wobei diese Befehle vom Prozessor 12 empfangen werden. Der Prozessor 7 kann auch weitere zusätzliche Einheiten enthalten, beispielsweise eine Einheit 33, die mit dem Prozessor 12 verbunden ist, um zusätzliche, mögliche Funktionen auszuführen, beispielsweise eine Gleitkommaarithmetik mit hoher Geschwindigkeit. Ersichtlicherweise kann die in Fig. 1 gezeigte Ausführungsform des Datenverarbeitungssystems in verschiedener Weise abgewandelt sein.
Der in Fig. 1 gezeigte Prozessor weist außerdem in der Steuereinheit 32 einen Steuerspeicher 34, vorzugsweise einen Festwertspeicher (ROM) auf, in welchem mehrere Prozessor-Befehle oder Mikro-Wörter vorprogrammiert sind, die zur Steuerung des Prozessors 12 für spezielle Zeitintervalle verwendet werden; diese Mikro-Wörter werden auch im folgenden als µ-Wörter bezeichnet. Bei der in Fig. 1 gezeigten Ausführungsform besteht das µ-Wort aus einem eine Vielzahl binärer Bits enthaltenden Wert, welches in mehrere Felder unterteilt wird. Die Auslegung oder Interpretation der verschiedenen Felder durch den Prozessor 12 bestimmt, welche Operation stattfindet. Jedes µ-Wort wird in dem Steuerspeicher 34 an einer adressierbaren Stelle gespeichert. Die Adresse des gewünschten Mikro-Wortes wird auf die nächste Mikro-Wort-Adressenleitung (NUA) 36 gesetzt und am Beginn des nächsten Prozessor-Taktzyklus oder Mikrozyklus wird der Inhalt der Speicherstelle vom Steuerspeicher 34 ausgelesen und in ein Mikro-Leitung-Register 38 eingegeben.
Da die Taktsteuerung einen kritischen Teil jedes Datenverarbeitungssystems darstellt, wird nachfolgend kurz die Taktsteuerung des Prozessors erläutert. Ein Taktgenerator 44, der sich in der Steuereinheit 26 der in Fig. 1 gezeigten Ausführungsform befindet, liefert während jedes Mikrozyklus Taktimpulse. Am Beginn jedes Mikrozyklus wird ein Impuls erzeugt und dem Steuerspeicher 34 zugeführt, der den Inhalt der auf der Leitung 36 enthaltenen Adresse lesen und in das Register 38 speichern läßt. Der Mikrozyklus, der für den dargestellten Prozessor 12 als das Zeitintervall zwischen aufeinanderfolgenden Einspeicherungen in das Register 38 festgelegt ist, liegt im Bereich von Nanosekunden bis Mikrosekunden abhängig von den Leistungscharakteristiken des Datenverarbeitungssystems. Während des Intervalls zwischen den Impulsen, die in das Register 38 eingegeben werden, erzeugt der Taktgenerator 44 mehrere andere Taktimpulse, die zur Taktsteuerung von Vorgängen benützt werden, welche durch das Mikrowort spezifiziert sind, beispielsweise zum Laden der Register, zur Übertragung von Informationen für die Ausführung arithmetischer Operationen in der Einheit 30, usw.
Der Inhalt des Registers wird durch den Prozessor 12 über eine Leitung 40 für Mikroworte zur Interpretation und Implementierung durch den Prozessor geführt, wie dies später noch näher erläutert wird. Verschiedene Teile oder Felder des Mikroworts werden einem Mikro-Steuerregister (UCON) 42 und einer Adressen- und Verzweigungsschaltung 44′ zugeführt.
Jedes Mikrowort besteht aus mehreren binären Bits, die in Felder zum Zwecke der Interpretation gruppiert sind. Beispielsweise enthält eine Bitgruppe, die als Mikro-Hinweisfeld (UPF) bezeichnet wird, die Adresse des nächsten Mikrowortes, welches in dem Steuerspeicher 34 adressiert wird, da der Prozessor 12 in Fig. 1 die Adressierungstechnik für das nächste Mikrowort zur Befehlsausführung verwendet, die als Adressierung mit aufeinanderfolgenden aufsteigenden Adressen und Tabellenkettung bekannt ist.
Das Mikrowort enthält auch ein 6-Bit-Feld, welches als Mikro-Verzweigungsfeld UBF bezeichnet ist, welches die Verzweigungsversuche kennzeichnet, die im Prozessor 12 während eines Mikrozyklus erfolgen sollen. Die beiden Felder UPF und UBF sind mit der Schaltung 44 verbunden. Sprung- oder Verzweigungsversuche werden dazu verwendet, die Adresse des nächsten Mikrowortes zu ändern, wenn bestimmte Zustände vorliegen, die durch das Verzweigungsfeld UBF angegeben sind. Der Inhalt bestimmter Bitstellen in den gekennzeichneten Registern des Prozessors 12, die eine besondere Bedeutung im Hinblick auf den Zustand des Prozessors haben, werden einer nicht dargestellten logischen Schaltung zugeführt, beispielsweise einem Multiplexer, die bzw. der sich in der Schaltung 44 befindet. Das UBF-Feld, das durch die logische Schaltung hindurchgeführt wird, wählt bestimmte dieser Informationsbits zur logischen Kombination (z. B. ODER-Funktion) mit den Bits niedrigerer Ordnung des UPF-Feldes aus. Wenn die Zustände, die durch das UPF-Feld getestet wurden, vorliegen, wird dieses UPF-Feld in Abhängigkeit dazu geändert und das Ergebnis wird der Leitung 36 zur Auswahl des nächsten Mikrowortes zugeleitet.
In dem Mikrowort sind auch einige andere Felder enthalten. Beispielsweise kann ein Takt-Feld enthalten sein, welches bestimmt, welche von bestimmten Einrichtungen einer Taktsteuerung unterliegen sollen und an welchem Punkt des Mikrozyklus diese Taktsteuerung zu erfolgen hat; außerdem kann ein Feld zur Steuerung der Hauptleitung 20 enthalten sein, das anzeigt, ob eine Übertragung von Daten oder Steuerinformationen zwischen den Einheiten des Prozessors 12 oder zwischen dem Prozessor 12 und einem äußeren Anschlußgerät, das mit der Hauptleitung 20 verbunden ist, ausgeführt wird oder nicht. Schließlich kann auch ein Feld für eine Datenweg-Funktion enthalten sein, welches die Arbeitsweise der Einheit 30 steuert.
Einige der Felder des Mikroworts, beispielsweise das Funktionsfeld für den Datenweg, können unterschiedlich abhängig von der Operation des Prozessors interpretiert werden, die durch das Mikrowort angegeben wird. Insbesondere wenn die durch das Mikrowort spezifizierte Funktion keine Operation zur Herstellung eines Datenweges beinhaltet, kann dieses Funktionsfeld für andere Zwecke verwendet werden, wobei Beispiele dazu nachstehend angegeben sind.
Die in Fig. 1 gezeigte Prozessor-Steuereinheit 32 kann weitere Register und Schaltungen enthalten. Diese Steuereinheit 32 enthält ein Befehlsregister (IR) 46 das dazu benützt wird, Hauptbefehle und spezielle Befehle zu speichern, welche von dem Prozessor 12 von der Hauptleitung 20 empfangen werden und üblicherweise von einem äußeren Speicher 16 zugeführt werden. Allgemeine Befehle bzw. Hautpbefehle oder Makrobefehle wurden vorstehend als solche Befehle definiert, die vom Prozessor 12 interpretiert und ausgeführt werden müssen, wogegen spezielle Befehle solche Befehle sind, die von einer möglichen oder wählbaren Einheit ausgeführt werden, beispielsweise einem Gleitkomma-Prozessor mit hoher Geschwindigkeit. An das Befehlsregister (IR) 46 ist eine Dekodierschaltung 48 angeschlossen, welche die Signale des Befehlsregisters 46 dekodiert. Der Ausgang der Dekodierschaltung 48 ist an die Schaltung 44′ angeschlossen, die das UPF-Feld ändert, falls es notwendig ist und eine entsprechende Adresse zur Einleitung des Programms an die Leitung 36 geführt wird.
Vier Register für allgemeine Zwecke, nämlich ein Ausgaberegister 50, ein Register (PSW) 52 zur Speicherung des Prozessor-Zustandswortes, ein Register (FPS) zur Speicherung des Gleitkommazustandes und ein Programmikro-Hinweis-Register (UPP) 56 werden unter Steuerung des Registers 42 zur Speicherung bestimmter Informationen während der Ausführung des Programms durch den Prozessor 12 verwendet. Das Register 50 wird beispielsweise dazu verwendet, das gesamte Feld eines Mikrowortes zu speichern, das von der Einheit 30 zur Herstellung eines Datenweges zu einem späteren Zeitpunkt als Daten verwendet wird. Die Bits, die in diesem Feld enthalten sind, sind an der gleichen Stelle in dem Mikrowort plaziert, die normalerweise das Feld für die Herstellung eines Datenweges, d. h. die Datenweg-Funktion enthalten würde, da - wie bereits erläutert ist - die Datenweg-Funktion in diesem Mikrowort nicht benützt wird. Das PSW-Register 52 wird zur Ausführung der gleichen Funktion wie ein Zustandsregister verwendet, dessen Funktion in der US-PS 37 10 324 angegeben ist. Dieses Register enthält eine Information über die gegenseitige Betriebsart des Prozessors, über die vorangehende Betriebsart, über den Vorrangswert bzw. Prioritätswert, mit welchem der Prozessor arbeitet, und die Zustandkodes, was ebenfalls in der US-PS 37 10 324 beschrieben ist.
Das FPS-Register 54 wird zur Speicherung der Zustandsinformation ähnlich dem PSW-Register 52 verwendet, wenn ein wahlweise einsetzbarer Gleitkomma-Prozessor mit dem Prozessor 12 verbunden ist; das UPP-Register 56 wird dazu verwendet, das Mikrowort aufzufinden, so daß bei einer Unterbrechung des Mikroprogramms die Adresse des letzten Mikroworts vor der Unterbrechung darin gespeichert wird.
Die Steuereinheit 22 nach Fig. 1 weist außerdem eine "box"-Multiplexerschaltung 58 auf, die zur Steuerung des Registers 42 verwendet wird, um selektiv den Inhalt eines der vier Zustandsregister 50, 52, 54 und 56 an die Dateneingabe-Leitung zu führen. Diese Einrichtung in Verbindung mit den übrigen "Box"-Multiplexern, die in den anderen Einheiten des Prozessors 12 vorgesehen sind, wird noch näher erläutert.
Die Einheit 30 enthält verschiedene Halteregister, Speicherstellen, logische Schaltungen und ein Rechenwerk (ALU), die zur Ausführung von Datenänderung bzw. Daten-Manipulationen im Prozessor 12 dient. Die in Fig. 1 gezeigte Einheit 30 enthält drei Zwischenspeicher 60, 62 und 64. Die A und B-Zwischenspeicher 60, 62 sind Zwischenspeicher für allgemeine Zwecke und stellen die primäre Speicherstelle für Daten dar, die durch die Datenweg-Einheit 30 bei der Programmausführung benutzt werden. Der C-Zwischenspeicher 64 ist ein Zwischenspeicher für einen speziellen Zweck und wird von der Einheit 30 benutzt, um fehlerhafte logarithmische Informationen (Error log-Informationen) zu speichern, Konstanten, die oft von der Einheit 30 während ihres Betriebs benutzt werden, und um alle Daten anfangs zu speichern, die der Einheit 30 zugeführt werden. Ein spezielles Register MD im Zwischenspeicher 64 empfängt alle Daten oder Steuerinformationen, die der Leitung 22 zugeführt werden.
Die Zwischenspeicher 60 und 62 haben bestimmte Speicherplätze, die für die Register für allgemeine Zwecke reserviert sind, wie dies aus der US-PS 37 10 324 bekannt ist. Beispielsweise enthalten diese Zwischenspeicher ein Programm-Zähler-Register, welches aufeinanderfolgend erhöht wird, um die Adresse des nächsten Hauptbefehls oder speziellen Befehls anzuzeigen, den der Prozessor 12 abruft, interpretiert und ausführt, sowie ein Stapelzeiger-Register, welches auf eine Adresse in einem Abschnitt des Speichers als Stapelspeicher hinweist, an welcher Adresse der Inhalt des Programm-Zähler-Registers und des Registers 52 für verschiedene Mikroprogramme der Einheit 32 für eine spätere Rückbeziehung gespeichert werden können, wenn der Prozessor 12 zum Beispiel durch eine externe Anschlußeinrichtung unterbrochen wird, die die Bedienung durch den Prozessor 12 anfordert.
Das Rechen- und Leitwerk (ALU) 66, welches arithmetische und logische Datenveränderungen bzw. -bewegungen im Prozessor 12 ausführt, weist zwei Eingänge auf, einen A-Eingang 68 und einen B-Eingang 70. Der Eingang A ist mit den Ausgängen des Zwischenspeichers 60, eines Schiebekontaktbaums 71 und eines Schieberegisters 72 verbunden. Mit dem B-Eingang 70 sind die Ausgänge des Zwischenspeichers 62 und 64 verbunden. Das Rechen- und Leitwerk 66 führt die Operationen aus, die durch das Mikrowort mit den Daten spezifiziert werden, welche ihm über die Eingänge 68 bzw. 70 zugeführt werden. Diese Operationen enthalten Funktionen wie Addition, Subtraktion, UND-Funktion, ODER-Funktion, Erhöhen, Erniedrigen, usw.
Ein D-Register 74 und das Schieberegister 72 sind Halteregister, die mit dem Ausgang des Rechen- und Leitwerks 66 verbunden sind. In das Register 74 kann der Ausgang des Rechen- und Leitwerks 66 eingeschrieben oder während eines Mikrozyklus ausgelesen werden. Der Inhalt des Registers 74 kann durch das Mikrowort auf eine Zahl an Plätzen, beispielsweise auf andere Plätze als in der Einheit 30 gerichtet sein, auf andere Einheiten im Prozessor 12 und auf externe Anschlußgeräte, die mit der Hauptleitung 20 in Verbindung stehen. Das Schieberegister 72 ist ein Register, in welchem der Ausgang des ALU 66 gespeichert und um ein Bit nach links oder rechts verschoben werden kann. Außerdem kann ein Schieberegister für andere Funktionen, beispielsweise als temporäres Halteregister verwendet werden, das dazu benützt werden kann, Daten an den Eingang 68 des ALU 66 in aufeinanderfolgenden Operationen anzulegen.
Der Schiebekontaktbaum 71 führt verschiedene Operationen bezüglich der Datenspeicherung im Register 74 aus, beispielsweise eine Verschiebung um ein einziges Bit nach links, um mehrere Bit nach rechts, Zeichenverlängerungen und Byte-Übertragungen. Im Gegensatz zum Schieberegister 72 und zum Register 74 ist der Schiebekontaktbaum 71 ein kombiniertes logisches Element, welches seinen Ausgang nicht über aufeinanderfolgende Mikrozyklen hält. Somit muß der Ausgang des Schiebekontaktbaums 71 durch das Rechen- und Leitwerk 66 im gleichen Mikrozyklus verarbeitet werden, in welchem der Ausgang des Registers 74 geändert wird.
Die Einheit 30 weist im übrigen ein logisches Glied 76 auf, durch welches der Inhalt des D-Registers 74 zur Ausgabeleitung 24 geführt wird, sowie ein Leitungs-Adressen-Register 78, welches an den Eingang 68 des ALU 66 angeschlossen ist und in welches die Adresse eines Speicherplatzes eingegeben oder aus welchem Daten und/oder Steuerinformationen heraus übertragen werden. Diese Adresse kann die Adresse eines Platzes innerhalb eines äußeren Anschlußgerätes enthalten, das an die Hauptleitung 20 angeschlossen ist, oder eines Platzes im Speicher 28.
Wie bereits beschrieben, steuert das Datenweg-Funktionsfeld des Mikrowortes die Operation der Einheit 30. Insbesondere zeigt dieses Feld den Platz im Zwischenspeicher an, der mit dem Rechen- und Leitwerk 66 verbunden wird, sowie die Funktion, welche das Rechen- und Leitwerk 66 oder der Kontaktbaum 71 möglicherweise ausführen und die Verwendung oder Disposition des sich ergebenden Produktes des Rechen- und Leitwerks 66. Ein zusätzliches Feld des Mikroworts steuert das Laden oder Einspeichern des Inhaltes des Registers 74 in ein Register der Zwischenspeicher 60 oder 62, falls dies der Fall ist. Das Mikrowort steuert außerdem das Speichern bzw. die Eingabe in das Register 78 und jede Schiebeoperation, die vom Register 72 ausgeführt wird. Die Schaltung innerhalb der Einheit 30 zur Interpretation des Mikrowortes ist in Fig. 3 gezeigt und wird noch näher erläutert.
Im folgenden werden die Hauptdatenleitungen im Prozessor 12, nämlich die Leitungen 22 und 24, welche verschiedene Einheiten innerhalb des Prozessors miteinander verbinden, kurz erläutert. Die Leitung 24 ist diejenige Leitung, über welche der Inhalt des D-Registers 74 zu jeder anderen Einheit im Prozessor 12 oder zur Leitung 20 zum Zwecke der Weiterleitung zu einer Anschlußeinheit geführt wird. Das Register 76 ist somit die Quelle aller Informationen, die auf die Leitung 24 gegeben werden.
Die Leitung 24 wird dazu verwendet, Daten- und Steuerinformationen zur Einheit 30 zu führen. Alle Daten auf der Leitung 24 werden einem Hauptspeicherregister MD in dem Zwischenspeicher 64 der Einheit 30 mit Ausnahme der vorher erwähnten Hauptbefehle und speziellen Befehle zuleitet, die dem Befehlsregister 46 zugeführt werden. Die Einheit 30 ist somit das Ziel aller Informationen, die auf der Leitung 22 vorliegen. Es ist zu beachten, daß bei der dargestellten Ausführungsform ein Prozessor verwendet wird, der zwei Hauptdatenleitungen aufweist. Die Erfindung ist jedoch nicht auf eine derartige Anordnung beschränkt und kann auch mit nur einer Hauptdatenleitung oder mehreren Hauptdatenleitungen arbeiten.
Die Pufferspeichereinheit enthält ein logisches Glied 80, welches Daten von der Leitung 24 zu einer Speicherschaltung 82 führt. Die Pufferspeichereinheit enthält eine Adressen-Dekodierschaltung und eine Speicherschaltung. Der Adressen-Dekodierabschnitt wird dazu verwendet, daß bezüglich des Speicherplatzes, welcher in der Pufferspeichereinheit 28 adressiert ist, eingeschrieben oder herausgelesen werden kann, wenn die in dem Adressenregister 78 bezeichnete Adresse sich in der Pufferspeichereinheit befindet. Wenn der adressierte Platz sich nicht in der Pufferspeichereinheit 28 befindet, gibt die Adressen-Dekodierschaltung die Adresse zu Adressenleitungen der Hauptleitung 20 über eine Leitung 83 und ein logisches Glied 86; wodurch eine Verbindung oder Datenübertragung zwischen dem Prozessor 12 und einem Platz in einem der Anschlußgeräte hergestellt wird, das durch die Adresse bestimmt ist.
Wenn die Daten aus der Pufferspeichereinheit 28 abgegeben oder gelesen werden, wird der Inhalt des gelesenen Speicherplatzes über einen D-Multiplexer 84 in das MD-Register des Zwischenspeichers 64 eingegeben. Die Pufferspeichereinheit 28 enthält außerdem einen "Box"-Multiplexer ähnlich dem Multiplexer 58 der Steuereinheit 32, der bestimmte Speicherplätze in der Pufferspeichereinheit 28 verbindet, welche von Zeit zu Zeit als Hauptspeicherplätze von der Einheit 30 oder als Einheiten zur Überprüfung von Teilen der Pufferspeichereinheit 28 verwendet werden können.
Die Steuereinheit 26 enthält eine "Box"-Steuerschaltung 88 (eine getrennte oder in einem Kästchen vorgesehene Steuerschaltung) zur Leitungsüberwachung, welche die Benutzung der Eingangs- und Ausgangsleitungen 22, 24 überwacht, wie noch näher beschrieben wird, den Taktgenerator 44 und logische Gatterschaltungen 94, 96 über welche die Daten zu und von der Leitung 20 geführt werden.
Außerdem weist diese Einheit 26 eine Steuer-Interfaceschaltung 90 und eine Unterbrechungs-Vorrangschaltung 92 auf. Diese Schaltungen führen ähnliche Funktionen aus, wie eine Leitungs-Interfaceeinheit und eine Unterbrechungs-Vorrangschaltung, die aus der US-PS 37 10 324 bekannt sind. Diese Einheiten erzeugen im allgemeinen und überwachen ein Protokoll oder Programm, wie es in der genannten Patentschrift erläutert ist, und zwar zwischen den Anschlußeinheiten, die zwischen die Leitung 20 und den Prozessor 12 geschaltet sind; außerdem wird der Vorrangwert für Bedienungsanforderungen von den verschiedenen Anschlußgeräten überwacht, die mit der Leitung 20 in Verbindung stehen.
Die Steuereinheit 26 enthält außerdem ein Blockierungs- oder Beleg- und Bedienungsregister, die verwendet wird, um Fehleranzeigezustände zu speichern, die den Prozessor veranlassen, ein Mikrogrogramm vollständig fehllaufen zu lassen (Blockierung) oder die Ausführung eines Mikroprogramms zu unterbrechen (Bedienung); diese Fehlerzustände werden daraufhin von dem Prozessor verwendet, um zu bestimmen, welches Mikrowort ausgeführt werden soll. Ein in getrennter Anordnung, d. h. in einem Kästchen vorgesehener Multiplexer 104 ("Box"-Multiplexer), der den Multiplexern 86 und 38 ähnlich ist, wird dazu verwendet, um einzeln die Information aus jeder Steuer-Interfaceeinheit 90, dem Blockierungs- oder Belegt-Register 100 oder dem Bedienungs-Register 102 zur Leitung 22 zu führen.
Wie erwähnt, soll der Prozessor 12 in Verbindung mit dem Datenverarbeitungssystem 1 einen hohen Leistungsgrad und einen kostengünstigen Prozessor ergeben. Grundsätzliches Kriterium der Leistungscharakteristik eines solchen Prozessors ist die Geschwindigkeit, mit der die Befehle und Programme ausgeführt werden. Wie erwähnt, ist die direkte Zuführung des Mikroworts durch den Prozessor zur Ausführung schneller als die Dekodierung eines nicht einfach kodierten Mikroworts. Die direkte Zuführung des Mikroworts erfordert den Einsatz eines beträchtlichen Platzes, der durch zusätzliche Leiter beansprucht wird, die durch den Prozessor verbunden sein müssen, und erhöht außerdem die Größe des Mikroworts aufgrund der Tatsache, daß keine Zeit für das Dekodieren der Bits verwendet werden kann. Da die Länge des Mikroworts größer ist, muß mehr Platz und müssen mehr zusätzliche Leiter und eine Implementierungslogik vorgesehen werden. Wenn andererseits eine Zahl von Zwischenkodieroperationen verwendet wird, kann die Größe des Mikroworts verringert werden und der Raumbedarf durch die Leiter, welche die Einheiten des Prozessors verbinden, kann reduziert werden; auch kann die Implementierungslogik vereinfacht werden. Da jedoch eine zusätzliche Zeit in Form von besonderen Mikrozyklen bei der Dekodierung jedes Mikroworts benötigt wird, ist die Leistungscharakteristik des Prozessors verringert.
Wird die Tatsache in Betracht gezogen, daß in einem derartigen Prozessor ein relativ kleiner Teil der Befehle über den größten Teil der Zeit ausgeführt wird und wird dies berücksichtigt, dann wird es erfindungsgemäß möglich, daß der Prozessor mit hoher Leistung und kostensparend arbeitet. Erfindungsgemäß wird dieser kleine Teil von häufig ausgeführten Befehlen direkt den Einheiten des Prozessors 12 zugeführt und dadurch ausgeführt, wogegen der größere Teil der selten auftretenden Befehle indirekt ausgeführt wird. Durch den Prozessor, in dem jedes Mikrowort zur direkten Ausführung hindurchgegeben wird, ist somit eine Reduzierung der Länge eines Mikroworts, des durch die Leiter oder Leitungen erforderlichen Platzbedarfs infolge der Übertragung der Bits des Mikroworts sowie eine Reduzierung des Umfangs der zusätzlichen Freigabe- oder Steuerlogik möglich, die in jeder Einheit des Prozessors verwendet wird, ohne daß die Leistung des Prozessors wesentlich beeinträchtigt wird.
Da die Einheiten des Prozessors bei der dargestellten Ausführungsform logisch entsprechend den von ihnen auszuführenden Funktionen organisiert sind, wird die Informationsübertragung zwischen den einzelnen Plätzen in den unterschiedlichen Einheiten des Prozessors im allgemeinen nicht häufig bei der Ausführung eines besonderen Hauptbefehls oder eines speziellen Befehls durchgeführt, wogegen alle Übertragungen innerhalb der Einheiten sowie die diesbezüglichen Datenmanipulationen häufig während einer derartigen Ausführung erfolgen. Somit werden bei dem dargestellten Prozessor alle innerhalb der Einheiten auszuführenden Übertragungen und Datenmanipulationen als primär klassifiziert, d. h. innerhalb des kleinen Teils der Prozessor-Befehle oder Mikroworte, die über einen größeren Teil der Zeit ausgeführt werden. Andererseits werden zwischen den Einheiten auszuführende Informationsübertragungen als sekundär klassifiziert, d. h. innerhalb eines großen Teils der Mikrowörter, die selten ausgeführt werden. Somit werden mit Ausnahme weniger Mikrowörter, die Übertragungen innerhalb der Einheiten spezifizieren, all diejenigen Mikrowörter, die durch den Steuerspeicher des Prozessors 12 zurückgeführt werden, indirekt ausgeführt, wie noch zu beschreiben ist.
Zur Erläuterung der Primäroperation im Prozessor wird die Ausführung eines Mikroworts in der Einheit 30 beschrieben, wodurch sowohl die Geschwindigkeit, mit der die Operation ausgeführt wird, als auch die Kosten bzw. der Aufwand für diese Geschwindigkeit in Form des durch die Vielzahl von Leitungen, die von dem Mikro-Leitungs-Register 38 her geschaltet werden müssen, sowie durch die Logik für die Befehlsdurchführung benötigten Raum dargestellt werden. Zum Beispiel wird der Inhalt eines Registers im Zwischenspeicher 62 zum Inhalt eines Registers A im Zwischenspeicher 60 hinzuaddiert, und das Ergebnis wird in den A-Zwischenspeicher zurück eingeschrieben.
Vor der weiteren Erläuterung des Verfahrens bzw. der Operation dieses Beispiels wird der Taktgenerator 44 näher erläutert. Nach Fig. 2A wird der Taktgenerator 44 durch einen Impulsgenerator 106 gebildet, der eine gleichmäßige Reihe von Taktimpulsen abgibt, die einer logischen Taktschaltung zugeführt werden. Die Taktschaltung 108 erzeugt vier synchrone und nacheinander auftretende Impulse P 1, P 2, P 3 und P 4, wie in Fig. 2B gezeigt ist. Das Register 38 wird beim ersten Taktimpuls P 1 jedes Mikrozyklus geladen. Daher wird ein Mikrozyklus als dasjenige Zeitintervall festgelegt, welches zwischen aufeinanderfolgenden Impulsen P 1 liegt, wie aus Fig. 2b hervorgeht. Es ist zu beachten, daß der Aufbau des in Fig. 2a gezeigten Taktgenerators in vereinfachter Weise gezeigt ist und daß es wünschenswert sein kann, Impulsketten zu erzeugen, die unterschiedliche Zeitintervalle bzw. Impulsintervalle zueinander einhalten, wobei einige dieser Impulse negativ sein können.
Im folgenden wird als Beispiel die Ausführung eines primären oder vorrangigen Mikroworts in der Einheit 30 erläutert; der Inhalt eines Registers R₀ im B-Zwischenspeicher 22 wird zum Inhalt eines Registers R₁ im A-Zwischenspeicher 60 hinzuaddiert, und das Ergebnis dieser Addition wird in das Register R₁ des A-Zwischenspeichers zurückgeführt. Dieser Vorgang wird mnemonisch als AR₁ ← BR₀ + AR₁ ausgedrückt. Demzufolge wird das primäre oder vorrangige Mikrowort, welches diese Operation spezifiziert, in das Register 38 während des Taktimpulses P 1 des Mikro-Zyklus eingespeichert. Gleichzeitig wird die in diesem Register enthaltene Information durch den Prozessor hindurchgeleitet, und zwar beispielsweise zur Einheit 30.
Fig. 3 zeigt eine auseinandergezogene Darstellung einer vereinfachten Einheit 30. Nach Fig. 3 weist die Einheit 30 eine Steuerlogik auf, die für den Betrieb der Einheit 30 bei hoher Geschwindigkeit erforderlich ist. Darüber hinaus sind die Zwischenspeicher 60 und 62 nach Fig. 1 in zwei kleinere Zwischenspeicher 118, 120, bzw. 122 und 124 unterteilt, wodurch die Adressierung und Steuerung der Zwischenspeicher vereinfacht wird.
Das Funktionsfeld des Mikroworts für den Datenweg wird zu einer zugeordneten logischen Steuerschaltung in der Einheit 30 gleichzeitig beim Einspeichern oder Laden des Registers 38 geleitet. Ein Teil dieses Feldes, nämlich das Feld SPAD, das zum Adressieren und Steuern des Zwischenspeichers dient, d. h. zur Bestimmung, welches der Register in den A- und B-Zwischenspeichern adressiert, ausgewählt und/oder mit den Daten gespeichert werden soll, wird einer Steuerlogik 110 für die Zwischenspeicher-Adressierung zugeführt. Ein anderes Teil dieses Feldes, nämlich das Feld ALU, das die Operation des Rechen- und Leitwerks 66, z. B. die Addition, Subtraktion, die Auswahl A, Auswahl B, usw. steuert, wird diesem Rechen- und Leitwerk 66 zugeführt. Die Taktinformation im Taktfeld des Mikroworts wird dem D-Register 74 und dem Schieberegister 72 zugeleitet.
Bevor der Taktimpuls P 2 in diesem Mikrozyklus erzeugt wird, spricht die Steuerschaltung (SPADCC) 110 zur Zwischenspeicher-Adressierung auf das SPAD-Feld an, das insgesamt mehr als 12 Informationsbits enthalten kann; dadurch erzeugt die Steuerlogik 110 ein Adressen- und Freigabesignal für jeden Zwischenspeicher, das A- und B-Adressenregister 112 bzw. 114 für die Zwischenspeicher zugeführt wird. Die Ausgänge der Register 112 und 114 werden den beiden höheren und niedrigeren Abschnitten der zugeordneten Zwischenspeicher, nämlich den Zwischenspeichern 118, 120, 122 und 124 zugeführt, worauf der Inhalt des entsprechenden Registers des A- und B-Zwischenspeichers an die Eingänge A und B des Rechen- und Leitwerks 66 geführt wird. Bei der dargestellten Ausführungsform wird dann der Inhalt des Registers R₁ des Zwischenspeichers 120 dem A-Eingang des Rechen- und Leitwerks 66 zugeführt, während der Inhalt des Registers R₀ im Zwischenspeicher 124 an den B-Eingang desselben angelegt wird, und zwar jeweils, bevor der Taktimpuls P 2 abgegeben wird.
Als Alternative zur Wahl eines Registers in den A-Zwischenspeichern 118 und 120 kann die SPADCC-Schaltung 110 einen Multiplexer 138 ansteuern bzw. freigeben, wodurch der Inhalt des Schieberegisters 71 zum A-Eingang des Rechen- und Leitwerks 66 geführt wird. Auch der Eingang des Schiebekontaktbaumes 71 kann ausgewählt werden, um dem A-Eingang des Rechen- und Leitwerks 66 zugeführt zu werden. Außerdem kann die SPADCC-Schaltung 110 in Verbindung mit dem Adressenregister 116 den Inhalt eines Registers eines C-Zwischenspeichers 126 anstelle eines Registers der B-Zwischenspeicher 122, 124 auswählen, um diesen Inhalt dem B-Eingang des Rechen- und Leitwerks 66 zuzuführen.
Wenn der Taktimpuls P 2 des Mikro-Zyklus erzeugt wird, hat er bei dieser Ausführungsform keine Wirkung auf die Einheit 30. Wenn jedoch beispielsweise Daten vom Speicher angefordert werden müssen, würde das Register 78 während dieser Zeit in den Mikrozyklus mit der Information am A-Eingang des Rechen- und Leitwerks 66 geladen, welches die Adresse der zu erhaltenden Daten aufweisen würde. Ein Freigabe- oder Steuergatter 128, welches die Eingabe in das Register 78 freigibt, wird durch einen Impuls angesteuert, und ein zweiter Eingang wird zu dem Takt- BA-Bit des Mikroworts hinzugefügt, welcher das Einspeichern bzw. Laden des Registers 78 steuert.
Das Rechen- und Leitwerk 66 führt eine Addition der den A- und B-Eingängen zugeführten Daten aus, d. h. der Inhalt des Registers R₁ des A-Zwischenspeichers und des Registers R₀ des B-Zwischenspeichers werden addiert, und die Summe wird dem Register 74 zugeführt. Die vom Rechen- und Leitwerk 66 ausgeführte Funktion wird durch das ALU-Feld im Mikrowort bestimmt, das dem Rechen- und Leitwerk zugeführt wird. Da das Rechen- und Leitwerk 66 verschiedene Funktionen ausführt, besteht das ALU-Feld aus einer Vielzahl von Bits. In Fig. 3 ist ein 4 Bit enthaltendes ALU-Feld dargestellt, das erforderlich ist, um 9 bis 16 unterschiedliche Funktionen durch das Rechen- und Leitwerk ausführen zu lassen.
Der Ausgang oder die Summe des Rechen- und Leitwerks 66, welches dem D-Register 74 zugeführt wird, wird bei der dargestellten Ausführungsform während des Taktimpulses P 3 eingegeben. Die Schaltung zur Steuerung der Eingabe in das Register 74 besteht aus zwei 3 Eingänge aufweisenden NAND-Gliedern 130, 132. Das Feld des Mikroworts, das die Eingabe in das Register 74 steuert, besteht aus 2 Bits. Das erste Bit, der Takt D, wird direkt beiden Gliedern 130 und 132 zugeführt und steuert, ob das Register 74 während des Mikrozyklus geladen wird oder nicht. Das zweite Bit, das T-Bit, steuert die tatsächliche Taktgebung bei der Ladeoperation in das Register 74. Wenn der Wert des T-Bits eine binäre "1" ist, wird das D-Register 74 während des Taktimpulses P 4 geladen, während das Laden des D-Registers während des Taktimpulses P 3 erfolgt, wenn das T-Bit eine "0" ist.
Obgleich das Schieberegister 72 bei dieser Ausführungsform nicht verwendet wird, ist ersichtlich, daß die gleiche Steuerung, d. h. zwei NAND-Gatter 134, 136 mit drei Eingängen verwendet werden können, um das Laden des Schieberegisters zu steuern, da es auch während der Impulse P 3 oder P 4 geladen werden kann. Ähnlich der Steuerschaltung für das D-Register weist das Feld des Mikroworts zur Steuerung des Schieberegisters 2 Bits auf. Das erste Bit, ein Takt-SR-Bit, bewirkt, daß das Schieberegister im Mikrozyklus geladen wird oder nicht. Das T-Bit wird wiederum zur Taktsteuerung der Ladeoperation in das Schieberegister verwendet. Wenn somit das Schieberegister 72 und das D-Register 74 während des gleichen Mikrozyklus geladen werden, bedeutet dies, daß beide gleichzeitig geladen werden.
Wenn das D-Register 74 geladen ist, ist die Summe auf einer Eingabeleitung 140 für den A- und B-Zwischenspeicher zum Laden während des P 4-Taktimpulses verfügbar. Wenn somit der Impuls P 4 erzeugt wird, wird die Summe oder Summation unter Steuerung der Schaltung 110 in das R₁-Register des A-Zwischenspeichers 120 eingegeben, wodurch die Ausführung des primären oder vorrangigen Mikroworts beendet wird.
Bei dem gezeigten Prozessor ist es erforderlich, zwischen primären und sekundären Operationen zu unterscheiden. Sekundäre Operationen bestehen bei der bevorzugten Ausführungsform aus Übertragungen zwischen den Zwischeneinheiten des Prozessors; dies bedeutet, daß die Übertragung von Daten und/oder Steuerinformationen, die nicht in Form der Mikrowörter vorliegen, zwischen der Datenweg-Einheit 30 und anderen Einheiten des Prozessors 12 auch andere wählbare Einheiten betreffen können, die mit dem Prozessor 12 verbunden werden können. Hinsichtlich dieser Definition ist eine Einschränkung wegen der Häufigkeit zu machen, mit welcher diese Übertragungen auftreten. Diese Einschränkung bezieht sich auf Mikrowörter, welche das Abrufen einer Information von einer Stelle der Pufferspeichereinheit 22 in die Einheit 30 über den D-Multiplexer 80 fordern. Es ist zu beachten, daß Mikrowörter, welche eine Übertragung irgendeiner Information zwischen der Einheit 30 und einem äußeren Anschlußgerät erforderlich machen, in der Primärklassifikation enthalten sind. Alle Operationen, in welchen eine Daten- oder Steuerinformationsübertragung über die Leitung 22 oder 24 auszuführen ist, sind demzufolge mit Ausnahme der Übertragungen zwischen der Einheit 30 und den äußeren Anschlußgeräten sekundäre Operationen, wobei diese äußeren Anschlußgeräte mit der Datenleitung 20 verbunden sind.
In Fig. 4 ist ein Segment oder Feld des Mikroworts, nämlich das Feld zur Leitungssteuerung dargestellt, welches zur Unterscheidung zwischen primären und sekundären Prozessor-Befehlen oder Mikrowörtern verwendet wird. Wegen der Art, auf welche primäre und sekundäre Operationen bei der dargestellten Ausführungsform der Erfindung definiert sind, werden 2 Bits, nämlich ein D-Zyklus- Bit und das EIN/AUS-Bit des Leitungssteuerfeldes zur Unterscheidung zwischen den primären und sekundären Mikrowörtern erforderlich.
Das D-Zyklus-Bit unterscheidet zwischen einem Mikrowert, welches die Verwendung der Eingangs- oder Ausgangsleistungen 22, 24 anfordert, gegenüber einem Mikrowort, welches keine derartige Anforderung bringt. Beispielsweise deutet eine binäre "1" im D-Zyklus-Bit an, daß eine Übertragung über eine dieser beiden Leitungen gefordert wird, wogegen eine binäre "0" anzeigt, daß diese Leitungen während des Mikro-Zyklus nicht verwendet werden. Das EIN/AUS-Bit des Leitungssteuerfeldes wird vom Prozessor in Verbindung mit dem D-Zyklus-Bit zur Unterscheidung zwischen internen und externen Operationen über die Eingangs- und Ausgangsleitungen 22, 24 verwendet. Wenn beispielsweise das D-Zyklus-Bit eine binäre "1" und das EIN/AUS-Bit ebenfalls eine "1" ist, hat das Mikrowort eine D-Leitungs-Operation spezifiziert, die eine interne Operation oder als sekundärer Befehl bzw. Mikrowort definiert ist. Wenn dagegen das EIN/AUS-Bit ebenso wie das D-Zyklus-Bit eine "0" aufweisen, wird angezeigt, daß eine Übertragung über die Eingangs- und Ausgangsleitungen 22, 24 zwischen der Einheit 30 und einem externen Anschlußgerät gefordert wird, das mit der Leitung 20 in Verbindung steht, wobei diese Übertragung bzw. diese Operation als primäres Mikrowort für die in Fig. 1 gezeigte Ausführungsform definiert ist. Aus vorstehender Beschreibung ist ersichtlich, daß in jedem Fall die Zahl der Bits für den Prozessor eine Unterscheidung zwischen primären und sekundären Mikrowörtern abhängig von der Definition von primär und sekundär ergeben, was entsprechend variieren kann. Die übrigen Bits des Leitungs-Steuer-Feldes, die primären/sekundären Zyklus-Steuerbits werden verwendet, um zusätzliche Steuerinformation für die Eingangs- und Ausgangsleitung-Steuerinformation zu schaffen, z. B. zur Kennzeichnung zwischen der Eingangs- und Ausgangsleitung 22, 24 zur Informationsübertragung usw.
Wenn das Mikrowort eine sekundäre Übertragung definiert, d. h. daß das D-Zyklus-Bit und das Ein/Aus-Bit jeweils einen Wert "1" haben, wird eine Steuerinformation in dem Mikrowert, welche sich auf eine Übertragung zwischen den Einheiten bezieht, im UCON-Register 42 gespeichert. Aus Fig. 5 geht hervor, daß das Laden des Registers 42 durch ein UND-Glied 150 gesteuert wird, dessen Eingänge das D-Zyklus-Bit und das EIN/AUS-Bit des Mikroworts empfangen. Der Teil des Mikroworts, der für das Datenweg- Funktionsfeld reserviert ist, kann als Quelle für das UCON-Register verwendet werden, da per definitionem eine Datenweg-Operation eine primäre Operation ist und daher in diesem Mikrowort nicht verwendet wird.
Nach der dargestellten Ausführungsform des Prozessors speichert das Register 42 eine Vielzahl von Bits, die in zwei Felder zu unterteilen sind, nämlich ein Auswahl-Feld und ein Steuer-Feld. Das Auswahl-Feld wird dazu verwendet, zu bestimmen, welche Einheit des Prozessors mit der Einheit 30 zu koppeln ist. Die Zahl der Bits, welche das Auswahl-Feld enthält, wird durch die Zahl der Einheiten im Prozessor 12 festgelegt, einschließlich den wählbaren Einheiten, die mit dem Prozessor in Verbindung stehen.
Die Zahl der Bits im Auswahl-Feld ist insbesondere gleich der Zahl der Einheiten, die zusätzlich zur Einheit 30 mit dem Prozessor 12 gekoppelt sind. Bei der gezeigten Ausführungsform ist nur eine Einheit vorgesehen, die mit der Einheit 30 zu jeder beliebigen Zeit verbunden werden kann, so daß nur 1 Bit im Auswahl-Feld des Registers 42 enthalten ist; dieses Bit kann somit eine "1" immer dann sein, wenn eine "1" zur Auswahl einer Einheit verwendet wird. Es ist jedoch zu beachten, daß durch eine zusätzliche entsprechende Logikschaltung und/oder Mikrowort-Bits mehr als eine Einheit in dem Auswahl-Feld des Registers 42 zu einem Zeitpunkt ausgewählt werden kann.
Das Steuerfeld der in dem Register 42 gespeicherten Information wird in Verbindung mit dem Auswahl-Feld verwendet, um eine zusätzliche Steuerinformation zu liefern, die notwendig ist, um das sekundäre Mikrowort auszuführen. Aus Fig. 1 ist ersichtlich, daß alle mit der Einheit 30 über die Leitung 22 in Verbindung stehenden Einrichtungen über einen Multiplexer, beispielsweise über den Multiplexer 38 der Steuereinheit 32 in Verbindung stehen. Diese Einheit kann mehr als einen Multiplexer enthalten und jeder Multiplexer kann mehrere daran angeschlossene Speichereinrichtungen aufweisen. Auf diese Weise wird das Steuerfeld der im Register 42 gespeicherten Information dazu verwendet, den Multiplexer auszuwählen, während das Register 42 verwendet wird, um den Multiplexer und das Register oder eine andere Speichereinrichtung in der ausgewählten Einheit zur Verbindung mit der Einheit 30 auszuwählen. Da das Steuerfeld des Registers 42 in Verbindung mit dem Auswahl-Feld dekodiert ist, und nur eine Einheit an einem Zeitpunkt ausgewählt wird, können die gleichen Bits im Steuerfeld zur Auswahl verschiedener Register und Speichereinrichtungen in den Untereinheiten jeder Einheit des Prozessors 12 ausgenützt werden.
In Fig. 6 ist eine logische Schaltung gezeigt, die in einer Einheit des Prozessors, 12, beispielsweise in der Steuereinheit 32, zum Dekodieren der Auswahl- und Steuerfelder des Registers 42 angeordnet sein kann. Die Eingänge der Register 50, 52, 54 und 56 sind in Fig. 6 detailliert dargestellt. Beispielsweise weist das FPS-Register 54 und das PSW-Register 52 jeweils drei Register auf, deren einer Eingang über ein Gatter durch das Register 42 einzeln angesteuert wird. Der Eingang zu jedem Register wird durch ein UND-Glied mit mehreren Eingängen gesteuert. Jedes dieser UND-Glieder 152 bis 164 weist einen Eingang auf, dem das Bit zur Auswahl der Prozessor-Steuereinheit des Auswahl-Feldes des Registers 42 zugeführt wird, während dem zweiten Eingang getrennt ein Bit des Steuer-Feldes zugeführt wird, daß dem Register oder der Speichereinrichtung, die durch das UND-Glied steuerbar ist, zugeordnet ist. Ein drittes Bit wird einer sekundären Schreib-Leitung 166 zugeführt, während einem vierten Eingang Taktsignale eines Taktausgangs zugeführt werden. Der Schreibleitung 166 wird das sekundäre Schreibbit im Leitungs- Steuerfeld des Mikroworts zugeführt, wie aus Fig. 4 ersichtlich ist. Wenn ein erstes Register 168 des Registers 52 geladen wird, dann müssen das Auswahlbit und zugeordnete Steuerbit, das in Fig. 4 mit 170 bezeichnet ist, für die Prozessor-Steuereinheit dem Register 42 jeweils den Wert "1" haben und die sekundäre Schreibleitung muß freigegeben sein. Wenn danach der Taktimpuls P 3 erzeugt wird, wird der Inhalt mehrerer Leiter bzw. Leitungen der Ausgangsleitung 24 in das Register 168 über das Glied 152 in das Register 52 eingegeben. Außerdem ist es auch möglich, gleichzeitig Daten der Leitung 24 in Register unterschiedlicher Einheiten durch Auswahl von mehr als einer Einheit in dem Auswahlfeld des Registers 42 einzuspeichern.
Da die Ausgangsleitung 24 nicht die Quelle der Information ist, die in alle Speicherregister über den Prozessor eingegeben wird, welche über den Multiplexer mit der Leitung 22 gekoppelt sind, können verschiedene Schemata zur Steuerung der Eingabe oder Speicherung dieser Register verwendet werden. Beispielsweise wird in das Register 56 der Inhalt der Leitung 36 während jedes Mikrozyklus eingegeben. Aus Fig. 6 ist ersichtlich, daß auf diese Weise der Steuermechanismus zum Laden bzw. Eingeben des Registers 56 durch das Gatter 164 gebildet wird, das einmal bei jedem Mikrozyklus taktgesteuert wird, während welchem der Inhalt der nächsten Leitung 36 in dem Register 56 gespeichert wird. Ein zweiter Eingang, der zum Gatter 164 geführt ist, zeigt an, ober der Prozessor ein Belegt- oder Blockierprogramm anbietet oder nicht. Wenn der Prozessor dieses Programm anbietet, wird das taktsteuernde Gatter 164 gesperrt, wodurch verhindert wird, daß das Register 56 so lange geändert bzw. aktualisiert wird, bis das Belegungsprogramm vollständig ausgeführt ist. Am Ende des Belegungsprogramms enthält das Mikro-Hinweisregister die Adresse des letzten Mikrowortes, welches vom Steuerspeicher abgegeben wurde, bevor das Blockierungsprogramm den Prozessor am richtigen Punkt in das Mikroprogramm wieder eintreten läßt.
Wenn der Inhalt eines der Zustandsregister der Steuereinheit 82 zur Einheit 30 geleitet werden muß, muß der Multiplexer 38 in einen entsprechenden Zustand geschaltet werden. Der Multiplexer 38 wird durch mehrere Eingänge gesteuert, wobei einem Eingang des Auswahlbit der Prozessor-Steuereinheit vom Auswahlfeld des Registers 42 zugeführt wird; weiterhin werden Bits vom Steuerfeld des Registers 42 zugeführt, welches zwei Felder aufweist, nämlich ein Freigabefeld und ein Auswahlfeld für den Registerzustand. Das Auswahlfeld wird dazu verwendet, zu steuern, welcher der vier Eingänge zum Multiplexer ausgwählt wird, um ihn mit der Leitung 22 zu verbinden. Das Freigabefeld dient zur Freigabe des Multiplexers und zur Wahl zwischen den Multiplexern der Prozessoreinheiten, die mehr als einen Multiplexer enthalten. Wenn eine angemessene Steuerinformation dem Multiplexer 38 zugeführt wird, wird der Inhalt des ausgewählten Registers, beispielsweise des Registers 52, der Leitung 22 zum Einschreiben in den C-Zwischenspeicher der Einheit 30 unter der Steuerung der C-Speicher-Schreibleitung des Mikroworts in jedem beliebigen Mikrozyklus nach Laden des Registers 42 zugeführt.
An diesem Punkt ist wichtig, zwischen einem bedeutsamen Unterschied in den Charakteristiken zwischen primären und sekundären Operationen bei der bevorzugten Ausführungsform eine Unterscheidung zu treffen. Die primären Operationen werden direkt abhängig vom Inhalt des Registers 38 durch eine entsprechende Logik in den Einheiten des Prozessors ausgeführt. Die Ausführung eines Mikrowortes, d. h. der Ablauf entsprechend einem Mikrowort muß daher in einem Mikrozyklus beendet werden, da gemäß vorstehender Erläuterung das Mikro-Leitungs-Register am Beginn jedes Mikrozyklus ein neues Mikrowort empfängt. Sekundäre Operationen werden andererseits durch das Register 42 gesteuert. Dieses Register 42 wird in jedem Mikrozyklus geladen, in welchem ein sekundäres Mikrowort vom Steuerspeicher 34 abgerufen wird und sein Inhalt bleibt unverändert, bis der Inhalt des nächsten sekundären Mikroworts eingegeben wird, was über mehrere Mikrozyklen nicht der Fall sein muß. Die Ausführung bzw. der Ablauf eines sekundären Mikroworts findet über mehreren Mikrozyklen statt und in das Register 42 braucht nicht wiederum eine Eingabe zu erfolgen, wenn die nachfolgende sekundäre Operation eine ähnliche Ausführung oder einen ähnlichen Ablauf erfordert. In einem Beispiel wird nachfolgend erläutert, daß zusätzlich sowohl ein Lese- als auch ein Schreibbetrieb in die Speichereinrichtungen oder Register der gleichen Prozessoreinheit durch das gleiche sekundäre Mikrowort erreicht werden können, auch wenn das System und die Logik, die das Lesen und Schreiben durchführen, unterschiedlich sind.
Der Inhalt des ausgewählten Zustandsregisters, das zur Verbindung mit der Einheit 30 ausgwählt ist, wird direkt der Leitung 22 zugeführt und bleibt mit dieser Leitung in Verbindung, bis das Register 92 mit einem zweiten Sekundärbefehl geladen wird oder bis es temporär durch die Leitungssteuerschaltungen der Einheit 26 gesperrt wird, wie dies im folgenden noch beschrieben wird. Die Einheit 30 wird mit dieser Information im nächsten Mikrozyklus geladen, in welchem das Schreibbit für den C-Zwischenspeicher freigegeben wird. Die Übertragung der Information von der Leitung 24 in ein Register, beispielsweise das Register 52 wird andererseits auf verschiedene Weise ausgeführt, da diese Übertragung oder Eingabe nicht ausgeführt wird, bis das zweite Schreibbit in einem Mikrowort freigegeben wird. Somit kann die erforderliche Information für das Einstellen des Ladevorgangs eines Zustandsregisters vor einer Zeit in das Register 42 eingegeben werden, daß dies keine Wirkung hat, bis die Logik durch ein Signal von dem sekundären, rechten Bit des folgenden Mikroworts freigegeben wird.
Die Steuerschaltung 88 der Einheit 26 des Prozessors 12 wird dazu verwendet, alle Multiplexer in den Einheiten des Prozessors 12 an bestimmnten Zeiten zu sperren. Die Signale zwischen einem externen Anschlußgerät und dem Prozessor 12 werden über die Leitung 22 oder die Leitung 24 und die Leitung 20 übertragen, wie dies vorstehend bereits erläutert ist. Zu dieses Zeiten ist es erforderlich, die Multiplexer zu sperren, so daß die Ausgänge derselben nicht die Informationsübertragung von der Leitung 20 zur Einheit 30 stören. Bei der Ausführungsform der Erfindung wird dies durch eine Leitungs-Steuerschaltung 88 erreicht, die das D-Zyklus-Bit und das EIN/AUS-Bit des Mikrowort-Leitungs-Steuerfeldes überwacht. Insbesondere, wenn der Wert dieser Bits "1" bzw. "0" ist, hat das Mikrowort eine primäre Übertragungsoperation über entweder die Leitung 22 oder die Leitung 24 zwischen einem äußeren Anschlußgerät und der Einheit 30 festgelegt. Die Steuerschaltung 88, der diese beiden Bits des Mikroworts zugeführt werden, erzeugt ein Sperrsignal, das allen Multiplexern zugeführt wird, wodurch alle Multiplexer (Box-Multiplexer) gesperrt und die Leitung 22 freigemacht wird, so daß eine Übertragung von dem äußeren Anschlußgerät her nicht beeinträchtigt wird. Die Erzeugung des Freigabesignals der Steuerschaltung 88 wird um einen Mikrozyklus gegenüber dem Mikrozyklus verzögert, in welchem die Steuerschaltung 88 freigegeben wird, da der Prozessor 12 so angeordnet ist, daß er einen separaten Mikrozyklus zur Informationsübertragung von äußeren Anschlußgeräten über die Leitung 20 ermöglicht, da einige äußere Anschlußgeräte nicht mit Geschwindigkeiten arbeiten, die vergleichbar mit der Geschwindigkeit des Prozessors 12 sind. Die Steuerschaltung 88 kann somit derart angeordnet werden, daß die das Sperrsignal während des Mikrozyklus erzeugt, und zwar während eines Mikrozyklus, nach bzw. mit dem Mikrowort, auf welches die Steuerschaltung 88 abhängig von der Konfiguration und den zeitlichen Anforderungen des Systems anspricht.
Im folgenden wird zur Erläuterung des Prozessors dessen Operation während der Ausführung einer Bedienungsanforderung von einem äußeren Anschlußgerät beschrieben, welches an die Datenleitung 20 angeschlossen ist.
Da der Prozessor 12 mit den äußeren Anschlußgeräten, die an die Leitung 20 angeschlossen sind, auf gleiche Weise wie die Prozessoren gemäß der bekannten Anordnung in Verbindung steht, muß er imstande sein, die Ausführung eines Programms zur Bedienung einer Anforderung eines äußeren Anschlußgerätes zu unterbrechen, welches einen größeren Vorrang hat als der Prozessor zum Zeitpunkt der Ausführung der betreffenden Anforderung. Wenn ein Anschlußgerät ein Signal für eine Leitungsanforderung BR abgibt, welches anzeigt, daß der Prozessor benötigt wird, wird dieses Signal BR zur Steuereinheit 26 geführt und nach Bestimmung des entsprechenden Vorranges durch die Vorrang-Steuerschaltung 92 wird ein nicht gezeigtes Bedienungsregister in der Steuereinheit 26 geladen, was anzeigt, daß ein Anschlußgerät mit höherem Vorrang eine Bedienung durch den Prozessor 12 anfordert.
In Fig. 7 ist die Arbeitsweise des Prozessors 12 bei der Behandlung einer Bedienungsanforderung mnemonisch dargestellt. Der Prozessor 12 beendet die Ausführung des Hauptbefehls, der gerade ausgeführt wird, ohne Unterbrechung. Am Ende der Ausführung dieses Befehls gibt der Steuerspeicher 34 ein Mikrowort aus, das eine Serie von Bedienungsanforderungstests (Mikrotests für Bedienungsverzweigung bzw. Bedienungssprung, d. h. BUT-Bedienung) ausführt, bevor der nächste Hauptbefehl oder spezielle Befehl zur Ausführung abgerufen wird. Wenn das Ergebnis des Tests für die Bedienung bzw. Bedienungsanforderung negativ ist, wird der nächste Hauptbefehl vom externen Speicher 16 abgerufen. Wenn jedoch die Bedienungsanforderung positiv ist, was anzeigt, daß ein Anschlußgerät mit ausreichendem Vorrang eine Bedienung anfordert, wird das UPF-Feld des Test-Mikroworts für die Bedienungsanforderung in der bereits beschriebenen Weise modifiziert, so daß die Adresse des ersten Mikroworts in einem Mikroprogramm ausgegeben wird, das vom Prozessor 12 zur Bedienung einer Anforderung benützt wird. Zu diesem Zeitpunkt überträgt die Leitungssteuereinheit 26 des Prozessors 12 ein Signal über die Leitung 20 zur äußeren Leitung, welches anzeigt, daß eine Leitung gewährt wird.
Das Anschlußgerät mit dem größten Vorrang, welches eine Bedienung anfordert, spricht auf das die Gewährung einer Leitung anzeigende Signal dadurch an, daß ein Vektor über die Leitung 20 übertragen wird, der zu dem Prozessor 12 geführt und über die Steuereinheit 26 der Leitung 22 zugeführt wird. Der Vektor, der von dem äußeren Anschlußgerät erzeugt wird, besteht aus einer Adresse des externen Speichers 16, an welche der Prozessor gerichtet werden kann, um die Startadresse des Programms zum empfangen, das notwendig ist, um die Anforderung des Anschlußgeräts zu bedienen. Demzufolge wird ein Mikrowort aus dem Steuerspeicher im Verlaufe des nächsten Mikrozyklus (n) ausgewählt, welches einen C-Zwischenspeicher-Schreibbefehl spezifiziert, der das MD-Register (Haupt-Register im C-Zwischenspeicher, der alle eingehenden Informationen zu der Datenweg-Einheit 30 empfängt) den Vektor speichern läßt.
Das nächste Mikrowort spezifiert ein sekundäres Register R n im Zwischenspeicher 60, in welchen der Vektor eingespeichert wird. Demzufolge dirigiert dieses Mikrowort den Inhalt des MD-Registers, welches über das Rechen- und Leitwerk 66 angekoppelt werden muß, in das D-Register und anschließend in das R n -Register des A-Zwischenspeichers 60.
Somit befindet sich der Vektor in dem R n -Register des Zwischenspeichers 60 und liefert eine Adresse des Speichers 16, dessen Inhalt die Adresse des ersten Befehls im Programm enthält, der vom Prozessor 12 zur Bedienung des Anschlußgeräts ausgeführt werden muß. Zusätzlich zur ersten Programmadresse muß dem Prozessor üblicherweise ein neues Prozessor-Zustandswort zugeführt werden, welches dem Prozessor die notwendige Betriebsart, Zustandcodes und andere Informationen zuführt, die notwendig sind, um exakt die Hauptbefehle im Programm zu interpretieren. Abhängig von der Konzeption des Datenverarbeitungssystems wird das Signal des PSW-Registers für dieses Programm in der folgenden Speicheradresse nach der Vektoradresse eingespeichert, die von dem Anschlußgerät geliefert wird. Daher muß der Steuerspeicher 34 Befehle oder Mikrowörter abgeben, um den Inhalt der Vektoradresse und der folgenden Adresse in dem externen Speicher 16 zu erhalten. Im nächsten Mikrozyklus, n + 2, wird der Inhalt des R n -Registers des Zwischenspeichers 60 in das Register 78 eingegeben, wobei der Zwischenspeicher 60 die Vektoradresse enthält. Während dieses Mikrozyklus wird der Inhalt des Registers R n durch das Rechen- und Leitwerk 66 erhöht und anschließend wieder in das Register R n eingeschrieben. Dieses Mikrowort liefert auch einen Befehl DATI, der den Inhalt der Adresse, die durch das Register 78 bezeichnet ist, in den Prozessor 12 über die Leitung 22 eingeben läßt (Daten-Eingabebefehl). Danach liefert der Steuerspeicher im nächsten Mikrozyklus (n + 3) ein Mikrowort, welches die auf der Dateneingabe-Leitung 22 vorliegenden Daten in das MD-Register einschreiben läßt. Diese Daten liefern natürlich die erste Adresse für das auszuführende Bedienungsprogramm und werden nachfolgend in den Programmzählerregister PC der Zwischenspeicherregister eingegeben. Das neue Prozessor-Zustandswort wird später vom Mikroprogramm abgerufen, nachdem andere, vorbereitende Operationen ausgeführt sind.
Da die Bedienung eines äußeren Anschlußgerätes die Unterbrechung des normalen Programmablaufs bedeutet, muß der Prozessor die Möglichkeit haben, sich an den Punkt zu erinnern, an welchem das Programm unterbrochen wurde, um das Anschlußgerät zu bedienen. Somit sind zwei Elemente oder Wörter an Informationen erforderlich, die zu diesem Zeitpunkt gespeichert werden müssen, so daß der Prozessor exakt in das Programm wiedereintreten kann, nachdem der Ablauf für die Bedienung des Anschlußgerätes beendet ist. Diese beiden Wörter sind die Adresse des nächsten Befehles, der vom Prozessor ausgeführt werden sollte, bevor die Unterbrechung aufgrund der Bedienungsanforderung erfolgte, wobei dieser Befehl gegenwärtig im PC-Register in den Zwischenspeichern vorhanden ist, sowie das Wort für den Prozessor-Zustand, welches dem nächsten, auszuführenden Befehl vor der Unterbrechung des Prozessors entspricht, das in dem PSW-Register 52 der Steuereinheit 32 vorliegt.
Zum Zwecke der Speicherung dieser Informationsart, ist eine Gruppe von Registern, die allgemein als Stapel oder Stapelspeicher bezeichnet werden, in der Zwischenspeichereinheit 28 reserviert, die durch das Stapelhinweis-Register SP im Zwischenspeicher überwacht werden. Zusätzlich zum Abrufen der ersten Adresse des Programms und einem neuen Prozessor-Zustandswort muß der Steuerspreicher den alten Programmzählerwert und das alte Prozessor- Zustandswort in den Stapelspeicher eingeben. In dem nächsten Mikrozyklus (n + 4) gibt der Steuerspeicher ein Mikrowort aus, welches eine Sekundäroperation spezifiziert und das UCON-Register 42 wird geladen. In Fig. 7 ist dargestellt, daß die durch dieses Mikrowort spezifizierte sekundäre Operation die Wahl des PSW- Registers 52 in der Prozessor-Steuereinheit 32 ist, um eine Verbindung zur Leitung 22 herzustellen. Demzufolge muß das Auswahl- Feld des Registers 42 die Wahl der Prozessoreinheit 32 spezifizieren, d. h. das Prozessor-Auswahlbit muß einen Binärwert "1" haben. Außerdem gibt das Multiplexer-Freigabefeld und das Zustandsregister- Auswahlfeld im Steuerfeld des Registers 42 den Multiplexer 58 frei und muß das Zustandsregister 52 auswählen, um es mit der Leitung 22 zu verbinden. Es ist zu beachten, daß zu diesem Zeitpunkt das PSW-Register 52 vorher durch ein Mikrowort in einen solchen Zustand verbracht wurde, daß ein Einschreibe- oder Ladevorgang an einem späteren Zeitpunkt des Programms mit dem Inhalt des neuen Prozessor-Zustandswortes erfolgt, wie dies noch näher beschrieben wird.
Bei dem in Fig. 7 gezeigten Programmablauf gibt der Steuerspeicher 38 während des nächsten Mikrozyklus (n + 5) ein Mikrowort aus, wodurch der Inhalt des R n -Registers im Zwischenspeicher in das Adressenregister 78 eingegeben wird, wobei das R n -Register die Adresse des neuen Prozessor-Zustandsworts enthält. Der Inhalt des MD-Registers (neue Programmzählung) muß dann in das D-Register und anschließend in das R n -Register des A-Zwischenspeichers übertragen werden. Schließlich werden die Daten der Leitung 22 (alter Inhalt des PSW-Registers) in das MD-Register übertragen. Außerdem gibt dieses Mikrowort an, daß eine Dateneingabe-Operation DATI ausgeführt werden muß, wodurch der Inhalt der Adresse im Leitungs-Adressenregister, in welchem sich nunmehr die Adresse des neuen Inhalts des Registers PSW befindet, auf die Leitung 20 übertragen werden muß, um zum Speicher 16 geleitet zu werden.
Da das von dem Steuerspeicher 38 während des Mikrozyklus n + 5 abgegebene Wort die DATI-Operation ausweist, die eine primäre Übertragung über die Leitung 22 fordert, haben die D-Zyklus- und EIN/AUS-Bits in dem Leitungssteuerfeld des Mikroworts den Wert "1" bzw. "0". Somit gibt die Steuerschaltung 88 ein Sperrsignal während des nächsten Mikrozyklus n + 6 ab, so daß alle Box-Multiplexer in den Einheiten des Prozessors gesperrt werden und der neue Inhalt des Registers PSW zur Einheit 80 ohne Beeinträchtigung durch andere Quellen, beispielsweise in diesem Fall durch den Multiplexer 58 übertragen werden, der laufend durch die Steuerschaltung 42 ausgewählt und freigegeben wird. Im nächsten Mikrozyklus n + 6 liefert das vom Steuerspeicher 38 ausgewählte Mikrowort eine Übertragung des Inhalts des MD-Registers (altes Prozessor-Zustandswort) in das Schieberegister 72, wonach die Daten auf der Leitung 22 in das MD-Register eingegeben werden, wobei diese Daten das neue Prozessor-Zustandswort darstellen.
An diesem Punkt des Mikroprogramms werden sowohl das neue wie auch das alte Prozessor-Zustandswort in den Zwischenspeicher- Registern der Einheit 30 gespeichert. Vor der Übertragung des alten Prozessor-Zustandsworts in den Stapelspeicher wird das neue Prozessor-Zustandswort in das Register 52 eingegeben. Demzufolge bewirkt das vom Steuerspeicher 38 ausgwählte Mikrowort im nächsten Mikrozyklus n + 7, daß der Inhalt des MD-Registers (neues Prozessor-Zustandswort) in das D-Register eingeschrieben wird.
Das nächste Mikrowort (n + 8) im Mikroprogramm weist eine Sekundäroperation aus, in welcher das PSW-Register 52 mit dem Inhalt des D-Registers, d. h. dem neuen Prozessor-Zustandswort geladen wird. Wie bereits erläutert wurde, erfolgt die Wahl des PSW-Registers 52 zum Empfang des neuen Prozessor-Zustandswortes über die Ausgabeleitung 24, wenn das Register 52 während des Mikrozyklus n + 4 geladen wird. Diese Vorwahl hat keine Wirkung bis zum jetzt vorliegenden Mikrozyklus, da das sekundäre Schreibbit der dazwischenliegenden Mikrowörter nicht freigegeben wurde. In diesem Mikrozyklus n + 8 wird jedoch das sekundäre Schreibbit des Mikrowort- Leitungs-Steuerfeldes freigegeben, d. h. es hat einen Wert von "1", wodurch eine Übertragung vom Register 74 über die Leitung 24 zum Speicherplatz und zu der vom Register 42 ausgewählten Einheit ausgewiesen wird, welche in diesem Fall das Register 52 der Prozessor-Steuereinheit 32 ist. Außerdem wird der Inhalt des Schieberegisters 72, d. h. das alte Prozessor-Zustandswort während dieses Mikrozyklus in das D-Register eingegeben.
Die primären und sekundären Operationen können somit während des gleichen Mikrozyklus auftreten. In den beiden Mikrozyklen n + 5 und n + 8 in Fig. 7 wurde eine sekundäre Operation, d. h. eine Übertragungsoperation zwischen den Einheiten im gleichen Mikrozyklus wie primäre Operationen zwischen den Einheiten in der Einheit 30 ausgeführt. Die beiden sekundären Übertragungen wurden dabei indirekt durch das sekundäre Mikrowort gesteuert, das von dem Steuerspeicher 34 im Mikrozyklus n + 4 abgegeben wird. Eine primäre Operation, bei welcher eine Datenübertragung über die Eingabe- oder Ausgabeleitungen 22, 24 gefordert wird, kann jedoch nicht während des gleichen Mikrozyklus wie eine sekundäre Übertragungsoperation bei der in Fig. 1 gezeigten Ausführungsform ausgeführt werden.
An diesem Punkt wurde bei dem in Fig. 7 gezeigten Flußdiagramm die neue Programmzählung bzw. der neue Programminhalt und das neue Prozessor-Statuswort von dem äußeren Speicher 16 abgerufen und das alte Prozessor-Statuswort wurde von dem Register 52 in die Einheit 30 und das neue Prozessor-Statuswort in das Register 52 eingegeben. Daher muß vor der Ausführung des Bedienungsprogramms das alte Prozessor-Statuswort und die alte Programmzählung bzw. der alte Programm-Zählerwert in den Stapelspeicher eingegeben werden. Im nächsten Mikrozyklus, (n + 9), weist das Mikrowort, das vom Steuerspeicher 38 abgegeben wird, aus, daß der Inhalt des Stapelzeiger-Registers, welches im Zwischenspeicher sich befindet, abgerufen, erniedrigt und in das Schieberegister 72 übertragen werden soll. Das Stapelzeiger-Register überwacht alle Zugänge zu und Abrufungen von dem Stapelspeicher und enthält somit die Adresse der letzten Eingabe zum Stapelspeicher. Diese Adresse muß dann erniedrigt werden, um die Adresse für die nächste Eingabe in den Stapelspeicher zu schaffen.
Im nächsten Mikrozyklus n + 10 wird der Inhalt des Schieberegisters in das Adressenregister 78 eingegeben. Während dieses Mikrozyklus wird der Inhalt des Schieberegisters 72 verringert und zum Schieberegister zurückgeführt, wodurch die Adresse für die nächste Eingabe in den Stapelspeicher erzeugt wird. Außerdem wird ein Datenausgabebefehl DATO eingeleitet, wodurch der Inhalt des Registers 74, d. h. das alte Prozessor-Zustandswort zur Übertragung in den Stapelspeicher auf die Leitung 24 gegeben wird.
Die Übertragung des alten Prozessor-Zustandswortes an die im Register 78 angegebene Adresse wird während des folgenden Mikrozyklus n + 11 vervollständigt und der Inhalt des Schieberegisters 72 wird in das Register SP des Zwischenspeichers übertragen. Danach wird ein Mikrowort im Mikrozyklus n + 12 erzeugt, unter dessen Steuerung der Inhalt des Schieberegisters 72 zum Adressenregister 78 und der Inhalt des PC-Registers im Zwischenspeicher in das D-Register übertragen wird. Dieses Mikrowort weist einen Befehl für eine Datenausgabe DATO auf, um den Inhalt des D-Registers, d. h. den alten Programmzählwert, auf die Leitung 24 zur Übertragung in die Stapelspeicheradresse im Adressenregister 78 während des nächsten Mikrozyklus zu führen.
In dem Mikrozyklus n + 13 wird das PC-Register im Zwischenspeicher mit der neuen Programmzählung, d. h. dem neuen Programmzählwert geladen, wie aus Fig. 7 hervorgeht, indem der Inhalt des R n -Registers im Zwischenspeicher abgerufen, in das D-Register 74 übertragen und dann in das PC-Register geführt wird. Zu diesem Zeitpunkt ist der Prozessor 12 bereit, die Ausführung des aufgrund der Bedienungsanforderung erforderlichen Programms einzuleiten. Die Adresse des ersten Befehls dieses Programms wird im PC- Register gespeichert und in das BA-Register in den Mikrozyklus n + 14 eingegeben, wie in Fig. 7 gezeigt ist. Die Adressen für die folgenden Befehle werden durch Erhöhung des Inhalts des Registers PC erzeugt. Nach Beendigung des Programms aufgrund der Bedienungsanforderung wird der alte Programmwert und das Prozessor-Zustandswort von dem Stapelspeicher unter Verwendung der Adresse in dem Stapelzeiger-Register im Zwischenspeicher abgerufen, woraufhin der Prozessor das Programm von der Stelle an ausführt, an welcher er vorher unterbrochen wurde.
Die weiteren möglichen Einheiten können bei der dargestellten Ausführungsform mit dem Prozessor 12 gekoppelt werden. Insbesondere müssen diese Einheiten mit den anderen Einheiten des Prozessors auf gleiche Weise in Verbindung stehen, wie dies für die Einheiten des Prozessors in Fig. 1 erläutert ist. Jede dieser Einheiten steht mit der Leitung 22, der Leitung 24 und dem Register 38 in Verbindung. Außerdem wird wenigstens ein Multiplexer durch das Register 42 gesteuert, wobei ein Multiplexer in jeder Einheit angeordnet ist, um die Übertragung der Daten zwischen den möglichen Einheiten und der Einheit 30 zu steuern. Außerdem wird jeder Multiplexer dann gesperrt, wenn eine primäre Übertragung über die Leitung 22 oder 24 durch das Mikrowort ausgewiesen wird.
Beispiele dieser möglichen Einheiten sind Gleitkomma-Prozessoren hoher Geschwindigkeit, die typischerweise mit Prozessoren solcher Art vorgesehen werden, um Gleitkomma-Arithmetikoperationen mit hoher Geschwindigkeit und Genauigkeit auszuführen, ein einschreibbarer Steuerspeicher zur Speicherung programmierter Befehle, die von der Bedienungsperson des Prozessors zur Steuerung des Prozessors 12 bei speziellen Anwendungsmöglichkeiten eingeschrieben und modifiziert werden.
Die Erfindung schafft somit einen Prozessor für ein Datenverarbeitungssystem mit hoher Leistung und Wirtschaftlichkeit. Die von der Prozessor-Steuereinheit ausgeführten Operationen werden als Primär- oder Sekundäroperation entsprechend der Häufigkeit ihres Auftrittes klassifiziert. Primäroperationen werden direkt durch das Mikrowort zur Ausführung in möglichst kurzer Zeit gesteuert, wogegen Sekundäroperationen indirekt über die Verwendung eines Zwischenspeichers und Dekodierung gesteuert werden. Aus Fig. 7 ist ersichtlich, daß die primären Operationen oder Mikrowörter, die häufig vorliegen, direkt und schnell ausgeführt werden, wogegen die Sekundäroperationen oder Mikrowörter, die zwar für den Gesamtbetrieb und die Leistung der Maschine erforderlich sind, jedoch weniger häufig auftreten, infolgedessen einer indirekten, langsameren Ausführung unterliegen, was eine minimale Auswirkung auf die hohen Leistungscharakteristiken des Systems hat.
Der Prozessor weist mehrere Einheiten zur Ausführung verschiedener Funktionen und wenigstens eine Datenleitung auf, welche die Einheiten zur Informationsübertragung miteinander verbindet. Der Prozessor enthält auch einen Steuerspeicher, in welchem Befehle in Form eines Mikroprogramms gespeichert sind, die direkt Einheiten des Prozessors zur Steuerung seiner Operation zugeführt werden. Bestimmte der im Mikroprogramm vorliegenden Prozessor-Befehle, die bei der Informationsübertragung zwischen den Einheiten des Prozessors mittels der Datenleitung verwendet werden, werden auch in einem zweiten bzw. sekundären Steuerspeicher gespeichert, dessen Inhalt durch eine logische Schaltung dekodiert wird, die in den Einheiten des Prozessors vorgesehen ist und in Abhängigkeit dazu die erforderlichen Geräte in den Einheiten mit der Datenleitung verbindet.

Claims (8)

1. Datenverarbeitungsprozessor (12) mit wenigstens einer Dateneinheit (30) zur Datenmanipulation und einer Steuereinheit (32), die wenigstens ein Mikrobefehlswort ausgebendes Mikroprogrammsteuerwerk (34, 36, 38, 40) umfaßt, dadurch gekennzeichnet, daß die häufig auftretenden Mikrobefehlsworte - primäre Befehle - die Einheiten (30, 32) direkt d. h. ohne Dekodierung steuern und die restlichen Mikrobefehlsworte - sekundäre Befehle - wenigstens teilweise zwischengespeichert und zur indirekten Steuerung der Einheiten (30, 32) zusätzlich dekodiert werden.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Einheiten (30, 32) durch wenigstens einen internen Datenbus (22, 24) verbunden sind, wobei die primären Befehle hauptsächlich den (Informations-)Transfer und/oder die Datenmanipulation innerhalb einer Einheit steuern und die sekundären Befehle den (Informations-)Transfer von einer Einheit (30, 32) zur anderen steuern.
3. Prozessor nach Anspruch 2, mit einem externen Datenbus (20) zum Anschluß externer Peripherieeinheiten (16, 18), dadurch gekennzeichnet, daß die primären Befehle auch Transfer über den externen Datenbus (20) zwischen der Dateneinheit (30) des Datenverarbeitungsprozessors (12) und den Peripherieeinheiten (16, 18) direkt steuern.
4. Prozessor nach Anspruch 2 oder 3, mit einer über einen Datenmultiplexer (84) mit der Dateneinheit (30) verbundenen Pufferspeichereinheit (28), dadurch gekennzeichnet, daß die primären Befehle auch Transfer von einem Speicherplatz in der Pufferspeichereinheit (28) über den Datenmultiplexer (84) zur Dateneinheit (30) direkt steuern.
5. Prozessor nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Mikrobefehlsworte jeweils ein Steuerfeld mit Information zur Unterscheidung zwischen primären Befehlen und sekundären Befehlen umfassen.
6. Prozessor nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß bei Vorliegen eines sekundären Befehls das Mikrobefehlswort für einen oder mehrere Mikrozyklen in einem Sekundärsteuerregister (42) zur weiteren Dekodierung wenigstens teilweise zwischengespeichert wird.
7. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß das Sekundärsteuerregister (42) ein Auswahlfeld und ein Steuerfeld umfaßt, wobei das Auswahlfeld die mit der Dateneinheit (30) zu kommunizierenden Einheit (26, 28, 32, 33) im Datenverarbeitungsprozessor (12) spezifiziert und das Steuerfeld zusätzliche Informationen zur Ausführung des sekundären Befehls liefert.
8. Prozessor nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, daß während desselben Mikrozyklusses sowohl ein primärer, eine Operation innerhalb einer Prozessoreinheit (26, 28, 30, 32, 33) steuernder Befehl als auch ein sekundärer, einen Transfer zwischen Prozessoreinheiten (26, 28, 30, 32, 33) steuernder Befehl ausgeführt wird.
DE19772759120 1977-03-10 1977-12-30 Prozessor fuer datenverarbeitungssysteme Granted DE2759120A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/776,331 US4259718A (en) 1977-03-10 1977-03-10 Processor for a data processing system

Publications (2)

Publication Number Publication Date
DE2759120A1 DE2759120A1 (de) 1978-09-14
DE2759120C2 true DE2759120C2 (de) 1988-12-29

Family

ID=25107088

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772759120 Granted DE2759120A1 (de) 1977-03-10 1977-12-30 Prozessor fuer datenverarbeitungssysteme

Country Status (5)

Country Link
US (1) US4259718A (de)
JP (1) JPS53127247A (de)
CA (1) CA1109161A (de)
DE (1) DE2759120A1 (de)
GB (2) GB1602422A (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580216A (en) * 1981-06-22 1986-04-01 Texas Instruments Incorporated Microcomputer with internal selection of on-chip or off-chip access
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US5664156A (en) * 1994-09-16 1997-09-02 Philips Electronics North America Corporation Microcontroller with a reconfigurable program status word
US6754892B1 (en) * 1999-12-15 2004-06-22 Transmeta Corporation Instruction packing for an advanced microprocessor
US7698539B1 (en) * 2003-07-16 2010-04-13 Banning John P System and method of instruction modification
US7606997B1 (en) 2003-07-18 2009-10-20 Guillermo Rozas Method and system for using one or more address bits and an instruction to increase an instruction set
JP7283191B2 (ja) * 2019-04-05 2023-05-30 富士フイルムビジネスイノベーション株式会社 情報処理システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614740A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with circuits for transferring between operating routines, interruption routines and subroutines
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3735363A (en) * 1971-04-07 1973-05-22 Burroughs Corp Information processing system employing stored microprogrammed processors and access free field memories
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US3872477A (en) * 1972-07-19 1975-03-18 Esl Inc Direction finding techniques employing electronic phase modulation
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
US3978456A (en) * 1974-12-16 1976-08-31 Bell Telephone Laboratories, Incorporated Byte-by-byte type processor circuit
JPS5299034A (en) * 1976-02-17 1977-08-19 Nippon Telegr & Teleph Corp <Ntt> Control system for micro program

Also Published As

Publication number Publication date
GB1602422A (en) 1981-11-11
JPS53127247A (en) 1978-11-07
DE2759120A1 (de) 1978-09-14
CA1109161A (en) 1981-09-15
JPS6365976B2 (de) 1988-12-19
GB1602421A (en) 1981-11-11
US4259718A (en) 1981-03-31

Similar Documents

Publication Publication Date Title
DE2714805C2 (de)
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
DE3126878C2 (de) Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls
DE2846117C2 (de) Datenprozessor
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE3638572C2 (de)
DE2542751C2 (de) Datenverarbeitungsanlage
DE2417795C2 (de) Datenverarbeitungsanlage
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2902080A1 (de) Daten-kanal-steueranordnung
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2213423A1 (de) Elektronische digitale Datenverarbeitungsanordnung
DE2759120C2 (de)
DE3620982A1 (de) Ein-befehl, mehrfach-datenstrom (simd) computersystem
DE2951040C2 (de)
DE2935101C2 (de)
DE3116385C2 (de) Mikroprogramm-Steuerung
DE2906685C2 (de)
DE3121046C2 (de)
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE2359037C2 (de) Rechenanlage

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/22

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee