DE2759120A1 - Prozessor fuer datenverarbeitungssysteme - Google Patents

Prozessor fuer datenverarbeitungssysteme

Info

Publication number
DE2759120A1
DE2759120A1 DE19772759120 DE2759120A DE2759120A1 DE 2759120 A1 DE2759120 A1 DE 2759120A1 DE 19772759120 DE19772759120 DE 19772759120 DE 2759120 A DE2759120 A DE 2759120A DE 2759120 A1 DE2759120 A1 DE 2759120A1
Authority
DE
Germany
Prior art keywords
processor
control
information
unit
register
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.)
Granted
Application number
DE19772759120
Other languages
English (en)
Other versions
DE2759120C2 (de
Inventor
Charles H Kaman
Craig Mudge
James F O'loughlin
Daniel T Sullivan
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)

Description

DIPL.-PHYS. F. ENDLICH d - *os4 υηκορτΑΜΝΗΟΡΕΝ 16. Dezember 1977 S PATENTANWALT 8.
1^~~2* «tOWCHCN 84 36 3·
PHOM
f. ENDLICH, POSTFACH Ο-βΟΐ4 UNTERPFAFFCNHOFIII
Sf**' «TCHW.1CH MOHCH«
TKLCX: «2173Ο
Meine Akte: 0-4356
Digital Equipment Corporation Moynard, MA, USA
Prozessor für Datenverarbeitungs&ysteee
Die Erfindung betrifft einen Prozessor für Datenverarbeitungssystene geaäfi de· Oberbegriff des Hauptanspruchs.
Die Leistungskennwerte jedes Datenverarbeitungssystems werden hauptsachlich durch die Geschwindigkeit bestiant, «it welcher der Prozessor Befehle abruft, auslegt und ausfuhrt. In eine« Systea, in welche· die Operation des Prozessors durch eine speicherprogrojraierte Steuerung ausgeführt wird, welche eine Vielzahl von in For« eines Mikropsograms vorliegende und adressierbare Befehle speichert, durch welche der Prozessor Befehle abruft, auslegt und ausfuhrt, die von externen Einrichtungen eapfangen werden, stellt die Geschwindigkeit, «it welcher diese prograaaierten, adressierbaren Befehle durch ver-
B09837/0595
schiedene Teile des Prozessors ausgelegt bzw, festgestellt ausgeführt werden, ei«sn bedeutsamen Faktor bei der Bestinnung der Leistungskennwerte des Systems dar.
Um die möglichst größte Geschwindigkeit zu erreichen, werden diese Befehle direkt ausgeführt; dies bedeutet, daß die in jedem Befehl enthaltene Information durch den Prozessor hiodurchgefUhrt wird, so daß die entsprechenden Abschnitte des Prozessors direkt den 8efehl innerhalb dergeringstmöglichen Zeit ausführen können. Diese Högiiqhkeit der Ausführung von Befehlen ist insoweit sehr aufwendig und teuer, als daß genug Raum erforderlich ist» um die verschiedenen Inforfflstionsbits des betreffenden Befehls durch den Prozessor zu leiten(und ferner eine logische Schaltung ia Prozessor zur Auslegung der Befehle und zur entsprechenden Steuerung des Prozessors erforderlich ist. Da der Aufbau dies Prozessors komplizierter wird, erhöht sich auch die Größe der programmierten Befehle beträchtlich, was zu einer Erhöhung der Kosten für den Steuerspeicher bzw. die speicherprogrammierte Steuerung führt, welche diese Befehle speichert; avQerdea wird auch der Raue vergrößert, der durch zusätzliche Leitungen benötigt wird, u« den bzw. die Befehle durch den Prozessor zu führen. Auch die Grösse der logischen Schaltung zur Auslegung und Ausführung dex Befehle wird größer.
Prozessoren, die kostensparend ausgelegt sind, verwenden oufwendig kodierte Befehle, welche die Größe oder Länge des jeweiligen Befehls reduzieren. Auf diese Weise werden selbstverständlich einige der Leitungen beseitigt, die zur übertragung der Befehle durch den Prozessor erforderlich sind, wodurch auch der Umfang der logischen Schöltung reduziert werden kann, die im Prozessor zus Erfassen und Ausführen der Prozessorbefehle angeordnet ist.
509837/0535
Die Leistungscharakteristiken eines Prozessors, der diese Technik ausnutzt, ist jedoch wegen der zusätzlich notwendigen Zeit für ein zusätzliches Dekodieren jedes Befehls schlechter.
Der Erfindung liegt die Aufgabe zugrunde, einen Prozessor für Datenverarbeitungssysteme zu schaffen, der die yorstehend angegebenen Nachteile und Schwierigkeiten verneidet. Diese Aufgabe wird erfindungsgemäß durch den Gegenstand des Hauptdnspruchs gelöst. Weitere Ausgestaltungen der Erfindung ergeben sich aus den UnteransprUchen. ,
Der erfindungsgemäße Prozessor ist sowohl leistungsorientiert als auch weniger aufwendig und kostensparend aufgebaut. In jede· 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 auszufuhren. 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ärklassifkation 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
809837/0596
werden, wodurch die Größe der Befehle reduziert wird, was auch den erforderlichen Ravmtder durch Leitungen eingenommen wird, reduziert^ die durch den Prozessor hindurch vorgesehen werden «Ussen; darüber hinaus wird der Umfang an Hardware oder logischen Schaltungen verringert, die ist Prozessor zur Ausführung der Primär be fehle 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 Hikrozyklus 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 üfeertragungs- oder Verbindungsweg in de« Prozessor zur Ausführung der Sekundäroperation oder übertragung herstellt, Obgleich die Sekundäroperation oder die sekundere ü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 i« Sekundär-Steoerregister gespeicherte Information bleibt jedoch so lange gespeichert, bis das sekundäre Speicher—
«09837/0595
register den nächsten Sekundärbefehl darauffolgend erhalt. Zwischen dea Loden des sekundären Steuerregisters können Primär-Befehle ausgeführt werden. Ubhrend der Ausfuhrung 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. Vtenn ein übertragungsweg, der durch das sekundäre Steuerregister bestimmt ist, auf diese Weise gesperrt wird, wird er wieder freigegeben bzw. wieder hergestellt, nachdem der Prinärbefehl ausgeführt ist. Soeit können sekundäre Informationen in des sekunderen Steuerregister vor derjenigen Zeit gespeichert werden, zu welcher sie benötigt werden, und ein Sekundärbefehl, der mehr als eimaal nacheinander ausgeführt werden muß, muß nur einpal abgerufen und in das sekundäre Steuerregister eingespeichert werden, auch wenn dieser Sekundärbefehl durch die Ausführung zwischenliegender Primärbefehle getrennt wird.
Die Erfindung schafft einen Prozessor für ein Datenverarbeitungssystem mit einer Vielzahl von Einheiten zur Ausführung verschiedener Funktionen und mit wenigstens einer Datenhauptleitung, welche die Einheiten zur Informationsübertragung zwischen den Einheiten verbindet. Der Prozessor weist außerdem einen Steuerspeicher, d.h.eine speicherprogrammierte Steuerung auf, in welcher Befehle in Form eines Mikroprogramms gespeichert sind, die direkt zu den Einheiten des Prozessors zur Steuerung dessen Operation angelegt werden können. Bestimmte Instruktionen dieser in Form eines Mikroprogramms vorliegenden Befehle* die bei der Informationsübertragung zwischen den Einheiten des Prozessors mittels der
I08837/0B95
Datenhauptleitung verwendet werden, werden auch in eine» sekundären Steuerspeicher gespeichert, dessen Inhalt durch eine logische Schal tung in den Einheiten des Prozessors dekodiert wird und in Abhängig keit davon die erforderlichen Geräte innerhalb der Einheiten mit der Oatenhauptleitung verbindet.
Ira 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 zeigern
Fig. 1 ein schematisehes Blockschaltbild des Prozessors in einea Datenverarbeitungssystem,
Fig. 2a ein scheraatisehes 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 jeden Befehl des durch ein Mikroprogramm gesteuerten Prozessors vorliegt und diejenige Einrichtung anzeigt, die von Prozessor zur Unterscheidung zwischen Primär- und Sekundär-Befehlen verwendet wird,
809837/0595
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 geschaltet sind. Die Prozessoreinheiten, die nachstehend näher beschrieben werden, enthalten eine Steuereinheit 26 zur Steuerung
809837/0595
der Verwendung der Hauptleitung 20, eine Prczessor-Pufferspeichereinheit 28 zur Datenspeicherung, wodurch die Oaten vom Prozessor 12 schnell wieder abgerufen bzw. erhalten werden können, eine Einheit 30 zur Herstellung eines Datenwegs zur Ausführung arithsetischer 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ührungsforra 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 (ROIl) auf, in welchem mehrere Prozessor-Befehle oder Mikro-Vförter vorprogrammiert sind, die zur Steuerung des Prozessors 12 für spezielle Zeitintervalle verwendet werden; diese Mikro-Wörter werden auch im folgenden als fx-Wörter bezeichnet. Bei der in Fig. 1 gezeigten Ausführungsform besteht das M--Wort aus einem eine Vielzahl binärer Bits enthaltenden Wort, welches in mehrere Felder unterteilt wird. Die Auslegung oder Interpretation der verschiedenen Felder durch den Prozessor 12 bestimmt, welche Operation stattfindet. Jedes M-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-Tektzykltis oder
SG9837/G595
Mikrozyklus wird der Inholt 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 Ausfuhrυngsform 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 fUr den dargestellten Prozessor 12 als das Zeitintervall zwischen aufeinanderfolgenden Einspeicherungen in das Register 38 festgelegt ist, liegt in 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 Toktiepulse, die zur Taktsteuerung von Vorgängen benutzt werden, welche durch das Mikrowort spezifiziert sind, beispielsweise zum Laden der Register, zur Übertragung von Informationen fUr die Ausfuhrung arithmetischer Operationen in der Einheit 30, usw.
Der Inhalt des Registers wird durch den Prozessor 12 Über eine Leitung 40 fUr Mikroworte zur Interpretation und Implementierung durch den Prozessor gefuhrt, wie dies später nochnnäher erläu- . tert wird. Verschiedene Teile oder Felder des Mikroworts werden einem Mikro-Steuerregister (UCON) 42 und einer Adressen- und Verzweigungsschaltung 44* zugeführt.
809837/0595
Jedes Mikrowort besteht aus mehreren binären Bits, die i« Felder zum Zwecke der Interpretation gruppiert sind, Beispielsweise enthält eine ßitgruppe, die als Hikro-Hinweisfeid (UPF) bezeichnet wird, die Adresse des nächsten IJikrowortes/ 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 UßF bezeichnet ist, welches die Verzweigungsversuche kennzeichnet, die im Prozesser 12 während eines Mikro— zykius 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 Mikroworts 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-FeId, das durch die logische Schaltung hindurchgeführt wird, wählt bestimmte dieser Informationbits zur logischen Kombination (z.B. ODEß-Funktion) nsit den Bits niedrigerer Ordnung des UPF-Feldes aus. Wenn die Zustände, die durch das UPF-FeId getestet wurden, vorliegen, wird dieses UPF-FeId in Abhängigkeit dazu geändert und das Ergebnis wird der Leitung 36 zur Auswahl des nächsten Mikrowortes zugeleitet.
809837/0595
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 äusseren 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 fUr 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 Zwekke 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 (lR)46 das dazu benutzt wird, Haupt- befehle 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. Hauptbefehle oder Makrobefehle wurden vorstehend als
809837/0595
solche Befehle definiert, die vom Prozessor 12 interpretiert und ausgeführt werden mUssen/ 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 Dekodiersehaltung 48 ist an die Schaltung 44* angeschlossen, die das UPF-FeId ä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 GleitkoramazuStandes und ein ProgroTmmikro-Hinweis-Register (UPP) 56 werden unter Steuerung des Registers 42 zur Speicherung bestimmter Informationen während der Ausführung des Progranims 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 Oatenveg-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 3 710 324 angegeben ist. Dieses Register enthält eine Information über die gegenseitige Betriebsart des Prozessors, Über
809837/0595
die vorangehende Betriebsart, Über den Vorrangswert bzw. Prioritätswert, mit welchem der Prozessor arbeitet, und die Zustandkodes, was ebenfalls in der US-PS 3 710 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 den Prozessor 12 verbunden ist; das UPP-Register 56 wird dazu verwendet, das Hikrοwort aufzufinden, so daß bei einer Unterbrechung des Mikroprogramms die Adresse des letzten Mikroworts vor der Unterbrechung darin gespeichert wird.
Die Steuereinheit 22 nach Fig. t weist außerdem eine"boxU|iultiplexerschaltung 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 fuhren. Diese Einrichtung in Verbindung mit den Übrigen "Box"-Multiplexern, die in der 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 Ausfuhrung 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 fur allgemeine Zwecke und stellen die primäre Speicherstelle fUr Daten dar, die durch die Datenweg-Einheit 30 bei der ProgramraausfUhrung benutzt werden. Der C-Zwischenspeicher 64 ist ein Zwischenspeicher for einen speziellen Zweck und wird
809837/0595
2758120 28,
von der Einheit 30 benutzt, um fehlerhafte logarithmisch© 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 HD 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 3 710 324 bekennt 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 PrograsHS-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 zura 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 bzi* -bewegungen im Prozessor 12 ausführt, weist zwei Eingänge auf, einen A-Eingang 68 und einen B-Eingang Der Eingang A ist mit den Ausgängen des Zwischenspeichers 60, eines Schiebekontaktbaums 7] und eines Schieberegisters 72 verbunden. Mit dem B-Eingang 70 sind die Ausgänge des Zwischenspei-
809837/0595
chers 62 und 64 verbunden. Das Rechen- und Leitwerk 66 führt die Operationen aus, die durch das Mikrοwort 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 Hikrowort 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 fur andere Funktionen, beispielsweise als temporäres Halteregister verwendet werden, das dazu benutzt werden kann, Daten an den Eingang 68 des ALU 66 in aufeinanderfolgenden Operationen anzulegen.
Der Schiebekontaktbaum 71 fuhrt 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 Aus-
809837/0595
gang des Schiebekontaktbaums 71 durch das Rechen- und Leitwerk 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 Inholt 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 AnsciiluBgeräies 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 oem Rechen- und Leitwerk 66 verbunden wird, sowie die Funktion, weiche das Rechen- und Leitwerk 66 oder der Kontaktbaufli 71 möglicherweise ausführen und die Verwendung oder Disposition des sich ergebenden Produktes des Rechen- und Leitwerks 66. Ein zusätzliches Feld des Hikroworts steuert das Laden oder Einspeichern des Inhaltes des Registers 74 in ein Register der Zwischenspeicher 60 oder 62, falls dies der Fall ist. Das IJikrowort steuert ausserdera dos 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.
P09837/0595
as
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, Ober 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 gefuhrt 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 fuhren. 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 Befehl 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 fuhrt. 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
809837/0895
der adressierte Platz sich nicht in der Pufferspeichereinheit 28 befindet, gibt die Ädressen-Dekodierscheltung die Adresse zu Adressenleitungen der Hauptleitung 20 über eine Leitung 83 und ein logisches Glied 86*f wodurch eine Verbindung oder Datenübertragung zwischen dem Prozessor 12 und einem Platz in einem der Änschlußgeräte hergestellt wird, das durch die Adresse beist«
Wenn die Daten aus der Pufferspeichereinheit 28 abgegeben oder gelesen werden, wird der Inhalt des gelesenen Speicherplatzes über einen D-fiultiplexer 84 in das MD-Register des Zwischenspeichers 64 eingegeben. Die Pufferspeichereinheit 28 enthält außerdem einen "8ox"-iJuitiplexer ähnlich dem Multiplexer 58 der Steuereinheit 32, der bestimmte Speicherplätze in der Pufferspeichereinheit 28 verbindet, welche von Zeit zu Zeit als Haupispeicherplä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 "ßox"-Steucrschaltung 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 und eine Unterbrechungs-Vorrangschaltung 92 auf. Diese Schaltungen führen ähnliche Funktionen aus, wie eine Leitungs-Interfaceeinheit
100837/0166
und eine Unterbrechungs-Vorrangschaltung, die aus der US-PS 3 710 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 fUr 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 Mikroprogramm vollständig fehllaufen zu lassen (Blockierung) oder die Ausfuhrung 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 (IIBox11-Multiplexer), der den Multiplexem 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 fuhren.
Wie erwähnt, soll der Prozessor 12 in Verbindung mit dem Datenverarbeitungssystem 1 einen hohen Leistungsgrad und einen kostengünstigen Prozessor ergeben. Grundsätzliche· Kriterium der Leistungscharakteristik eines solches 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
809837/0595
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 grosser 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
809837/0595
ar
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 materiell 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 bzw. zwischen den Einheiten sowie die diesbezüglichen Datenmanipulationen häufig während einer derartigen Ausführung erfolgen. Somit werden bei dem dargestellten Prozessor alle zwischen den 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 Hikrowörter, die Übertragungen zwischen den Einheiten spezifizieren, all diejenigen Mikrowärter, die durch den Steuerspeicher des Prozessors 12 zurückgeführt werden, direkt ausgeführt, wie dies 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
809837/0.595
f als auch die Kosten bzw. der Aufwand for diese Geschwindigkeit in Form des durch die Vielzahl von Leitungen, die von dera Mikro-Leitungs-Register 38 her geschaltet werden müssen, sowie durch die Logik für die Befeblsdurchfübrung benötigten Raum dordorgesteilt «erden« Zvm Bei spiel wird der Inhalt eines Registers im Zwischenspeicher 62 zvm Inhalt eines Registers Ä im Zwischenspeicher 60 hinzuaddiert und das Ergebnis wird in den Α-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. 2Ä wird der Taktgenerator 44 durch einen Isspyisgenerotor 106 gebildet, der eine gleichmäßige Reihe von Taktimpuisen abgibt, die einer logischen Taktschaltung zugeführt werden. Die Taktschaltung 108 erzeugt vier synchrone und nacheinander auftretende Isspulse PI, P2, PZ und P4, wie in Fig. 2B gezeigt ist. Das Register 38 wird beim ersten Taktimpuls PI jedes Mikrozyklus geladen, Daher wird ein Mikrozyklus als dasjenige Zeitintervall festgelegt, welches zwischen aufeinanderfolgenden Impulsen Pl liegt, wie aus Fig. 2b hervorgeht. Es ist zu beachten, daß der Avfbau des in Fig. 2a gezeigten Taktgenerators in vereinfachter Weise gezeigt ist und daß es wünschenswert sein kann, Inspolsketten ζυ erzeugen, die unterschiedliche Zeitintervalle bzw. ImpulsintervalIe zueinander einhalten, wobei einige dieser Impulse negativ sein können.
In 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
t09837/0595
und das Ergebnis dieser Addition wird in das Register R. des A-Zwischenspeichers zurückgeführt. Dieser Vorgang wird mnemonisch als AR,<-BRq + AR. ausgedruckt. Demzufolge wird das primäre oder vorrangige Mikrowort, welches diese Operation spezifiziert, in das Register 38 während des Taktimpulses PI des Mikro-Zyklus eingespeichert. Gleichzeitig wird die in diesen 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 bein 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 AUU1 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.
809837/0595
Bevor der Taktimpuls P2 in diesem Mikrozyklus erzeugt wird, spricht die Steuerschaltung (SPADCC) 110 zur Zwischenspeicher-Adressierung auf das SPAD-FeId an, das insgesamt mehr als 12 Inforjoationsbits enthalten kann/ dadurch erzeugt die Steuerlogik 110 ein Adxessen- und Freigabesignal für jeden Zwischenspeicher, dos A- und B-Adressenregistern 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 vnd 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 gefUhrt wird» Bei der dargestellten Aüsföhrongsfor® wird darm 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 P2 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 Α-Eingang <ies Rechen- und Leitwerks 66 geführt wird. Auch der Eingang des Schiebekontaktbaumes 71 kann ausgewählt werden, um dem Α-Eingang des Rechen- und Leitwerks 66 zugeführt zu werden. Außerdem kann die SPADCC-Schaltong 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 den B-Eingang des Rechen- und Leitwerks 66 zuzuführen.
808837/0595
j- 2''5912O 33
Wenn der Taktimpuls P2 des Mikro-Zyklus erzeugt wird, hat er bei dieser AusfUhrungsform keine Wirkung auf die Einheit 30. Wenn jedoch beispielsweise Daten von Speicher angefordert werden müssen, wUrde das Register 78 während dieser Zeit in den Mikrozyklus mit der Information am Α-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 Α-Zwischenspeichers und des Registers Rq des B-Zwischenspeichers werden addiert und die Summe wird dem Register 74 zu- ' gefuhrt. 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 Ausfuhrungsform während des Taktimpulses P3 eingegeben. Die Schaltung zur Steuerung der Eingabe in das Register 74 be-
S098 37/0B95
steht 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. Dos zweite Bit, das T-Bit, steuert die tatsächliche Taktgebung bei der Ladeoperation in das Register 74. Wenn der Wert des T-ßits eine binäre "J" ist, wird das D-Register 74 während des Takti/npulses PA geladen, während das Laden des D-Registers währesd des Taktimpulses P3 erfolgt, wenn das T-8it eine w0w 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 P3 oder PA 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 in Mikrozyklus geladen wird oder nicht. Das T-Bit wird wiederum zur Taktsteuerung der Ladeoperation in das Schieberegister verwendet, Wenn sosit das Schieberegister 72 und das D-Register 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 P4-Taktimpulses verfügbar. Wenn somit der Impuls P4 erzeugt wird, wird die Summe oder Summation unter Steuerung der Schaltung 110 in das R,-Register des A-Zwischenspeichers 120 ein-
809837/0595
gegeben, wodurch die Ausfuhrung des primären oder vorrangigen Mikrοworts 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 SteuerinformationsUbertragung Über die Leitung 22 oder 24 auszufuhren 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
809837/0595
fiikrowörtern verwendet wird. Hegen 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· 8it und das EIN/AUS - Bit des Leitungssteuerfeldes zur Unterscheidung zwischen den primären und sekundären Mikrowörter erforderlich.
Das D-Zyklus-Bit unterscheidet zwischen einem Mikrowort, welches die Verwendung der Eingangs-oder Ausgangsleitungen 22, 24 anfordert, gegenüber einem Mikrowort, welches keine derartige Anforderung bringt, Beispielsweise deutet eine binäre "I" im D-Zyklus-Bit an, daß eine übertragung über eine dieser beiden Leitungen gefordert wird, wogegen eine binäre **Ο" anzeigt, daß diese Leitungen während des Mikro-Zykius nicht verwendet werden. Das EIN/äUS - Bit des Leitimgssteyerfeldes wird vom Prozessor in Verbindung mit dem D-Zyklus-Bit zur Unterscheidung zwischen internen und externen Operationen übex die Eingangs- und Ausgangsleitungen 22, 24 verwendet. Wenn beispielsweise das O-Zyklus-Bit eine binäre ~1* und das EIN/AUS - Bit ebenfalls eine "1" ist, hat das Mikrowort eina D-Leit««gs-Gperation 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 "O" aufweisen, wird angezeigt, doS eine Übertragung über die Eingangs- und Ausgangs leitungen 22, 24 zwischen der Einheit 30 und einem externen Anschlußgerät gefordert wird, das sit der Leitung 20 in Verbindung steht, wobei diese Übertragung bzw. diese Operation als primäres Mikrowort für die in Fig. 1 gezeigte Aus führung«form definiert ist. Aus vorstehender Beschreibung ist ersichtlich, daß in jede« fall die Zahl der
$09837/0595
Bits für den Prozessor eine Unterscheidung zwischen primären und sekunderen NikrowOrtern abhangig von der Definition von primär und sekunder ergeben, was entsprechend variieren kann. Die übri- , gen 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 Hikrowort ein· sekundere Obertragung definiert, d.h. daß das D-Zyklus-Bit und das EIN/AUS - Bit jeweils einen Wert "1" haben, wird eine Steuerinformation in dem Mikrowort, 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 Nikroworts, der für das Datenweg-Funktionsfeld reserviert ist, kann als Quelle for das UCON-Register verwendet werden, da per definition«* eine Datenweg-Operation eine primBre Operation ist und daher in diesem Hikrowort nicht verwendet wird.
Nach der dargestellten Ausfuhrungsform des Prozessors speichert das Register 42 ein· 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 enthalt, wird durch die Zahl der Einheiten im Prozessor 12 festgelegt, einschließlich den wählbaren Einheiten, die mit dem Prozessor in Verbindung stehen.
109837/0595
3*
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 2eit verbunden werden kann, so daß nur 1 ßit 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 zu einem Zeitpunkt ausgewählt werden kann.
Das Steuerfeld der in dsm Register 42 gespeicherten Information wird iß Verbindung mit dem Auswahl-Feld verwendet, um eine zusätzliche Steuerin forma tion zu liefern, die notwendig ist, trm das sekundäre Mikrowort auszufuhren. 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 al* einen Multiplexer enthalten uad jeder Multiplexer fconn mehrere daran angeschlossene Speichereinrichtungen aufweisen. Auf diese Weise wird das Steuerfeld der i« 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 sit der Einheit 30 auszuwählen. Oa das Steuerfeld des Registers 42 in Verbindung mit dem Auswahl-Feld dekodiert ist, und nur eine Einheit an eine» Zeitpunkt ausgewählt wird, können die gleichen Sits im Steuerfeld zur Auswahl verschiedener
•09837/0595
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 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 einzeln angesteuert wird. Der Eingang ζυ jeden 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 de« zweiten Eingang getrennt ein Bit des Steuer-Feldes zugeführt wird, das 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 Schreib^eitung 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 mUssen 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 P3 erzeugt wird, wird der Inhalt mehrerer Leiter bzw. Leitungen der Ausgangsleitung 24 in das Register 168 über das Glied in das Register 52 eingegeben. Außerdem ist es auch möglich,
809837/0595
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 sindt 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 Hikiozyklus eingegeben. Aus Fig. 6 ist ersichtlich, daß auf diese Weise der Steyerfflechanismws 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 nach-* sten Leitung 36 in de« Register 56 gespeichert wird. Ein zweiter Eingang, der zum Gatter 164 geführt ist, zeigt an^ ob der Prozessor ein Belegt- oder Blockierprograsra anbietet oder nicht. Wenn der Prozessor dieses Programm anbietet, wird das taktsteuernde Gatter J64 gesperrt, wodurch verhindert wird, daß das Register 56 so lange geändert bzw. aktualisiert wird, bis das Belegungsprogram« vollständig ausgeführt ist. Ära Ende des Belegungspro- gramms enthalt das Hikro-Hinweisregister die Adresse des letzte« Wikrowortes, welches vom Steuerspeicher abgegeben wurde, bevor das Blockierungsprograsjfl! den Prozessor am richtigen Punkt in das Mikroprogramm wieder eintreten läßt.
Wenn der Inhalt eines der Züstandsregister der Steuereinheit 62 zur Einheit 30 geleitet werden «uß, maß der Multiplexer 38 in einen entsprechenden lastend geschaltet werden, Der Multiplexer 38 wird durch mehrere Eingänge gesteuert, wobei eine«!
509837/0595
Eingang das Auswahlbit der Prozessor-Steuereinheit vom Auswahlfeld des Registers 42 zugeführt wird; weiterhin werden Bits voa 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 zu« Multiplexer ausgewä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 sehr 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-Zwisehenspeicher 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äB vorstehender Erläuterung das Mikro-Leitungs-Register am Beginn Jedes Mikrozyklus ein neues Mikrowort empfangt. Sekundere 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
809837/0595
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 des Register AZ braucht nicht wiederwjg 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 ausgewä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 Leitu/igssteyerscholtünge« der Einheit 26 gesperrt wird, wie dies ia folgenden noch beschrieben wird. Die Einheit 30 wird mit dieser Information im nächsten Mikrozyklüs geladen, in welchem das Schreibbit fUr 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 eines Hikrowort 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 den sekundären, rechten Bit des folgenden Mikroworts freigegeben wird«
t09837/0SSS
Die Steuerschaltung 88 der Einheit 26 des Prozessors 12 wird dazu verwendet, alle Multiplexer in den Einheiten des Prozessors 12 an bestimmten 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 diesen 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 AusfUhrungsform 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 Ubertragungsoperation Ü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 Mikrowort s 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ß ie das Sperrsignal während des Mikrozyklus erzeugt, und zwar während eines Mikrozyklus,nach bzw. mil
809837/0595
dem Mikrowort. auf welches die Steuerschaltung 88 abhangig von der Konfiguration und den zeitlichen Anforderungen des Systems anspricht.
Im folgenden wird zur flrläuterung des Prozessors dessen Operation während der Ausführung einer Bedienungsanforderung von einem äusseren Anschlußgerät beschrieben, welches an die Oatenleittmg 20 angeschlossen ist.
Da der Prozessor 12 mit den äußeren Anschlußgeräten, die an die Leitung 20 angeschlossen sind, auf gleiche Ueise wie die Prozessoren gemäß der bekannten Anordnung in Verbindung steht, ffluß er ifiislande 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 z«T8 Zeitpunkt der Ausführung der betreffenden Anforderung. Wenn ein Anschlußgerät ein Signal für eine Leitungssnförderung SR abgibt, welches anzeigt, daß der Prozessor benötigt wird, wird dieses Signal BR zur Steuereinheit 26 geführt und nach Bestimmung des entsprechenden Vorranges tiyrch die Vorrang-Steuerschaltung 92 wird ein nicht gezeigtes Bedienungsregister in der Steuereinheit 2ό geladen, was anzeigt, daß ein Anschlußgerüt mit höherem Vorrang oine Bedienung durch den Prozessor 12 anfordert.
In Fig. 7 ist die Arbeitsweise des Prozessors 12 bei der Behandlung einer Ht'dicnungsanforderung raneraoivi sch dargestellt» Oer Prozessor 12 beendet die Ausführung des Haupibefehls, der gerode ausgeführt wird, oline Unterbrechung, Am Y.nde der Ausführung dieses Befehls gibt der Steuerspeicher 3Ί <>in ilikrowort aus, d«s «3J5O Serie- v< >n H'-'dicnungsonford^nKVj·.U■·. is {ilikrotests für IV-
dienungsverzweigung bzw. Bedienungssprung, d.h. BUT-Bedienung) ausfuhrt, 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 von externen Speicher 16 abgerufen. Wenn jedoch die Bedienungsanforderung positiv ist, was anzeigt, daß ein Anschlußgerät nit ausreichenden Vorrang eine Bedienung anfordert, wird das UPF-FeId des Test-Mikroworts für die Bedienungsanforderung in der bereits beschriebenen Weise modifiziert, so daß die Adresse des ersten Mikroworts in eines Mikroprogramm ausgegeben wird, das von Prozessor 12 zur Bedienung einer Anforderung benutzt wird. Zu diesen 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 nit den 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 den Prozessor 12 geführt und über die Steuereinheit 26 der Leitung 22 zugeführt Wird. Der Vektor, der von den äusseren Anschlußgerät erzeugt wird, besteht aus einer Adresse des externen Speichers 16, an welche der Prozessor gerichtet werden kann, un die Startadresse des Prograans zu empfangen, das notwendig ist, un die Anforderung des Anschlußgeräts zu bedienen. Denzufolge wird ein Nikroworl aus den Steuerspeicher in Verlaufe des nächsten Mikrozyklus (n) ausgewählt, welches einen C-Zwischenspeicher-Schreibbefehl spezifiziert, der das MD-Register (Haupt-Register in C-Zwischenspeicher, der olle eingehenden Informationen zu der Datenweg-Einheit 30 empfängt) den Vektor speichern läßt.
809837/059B
Das nächste Mikrowort spezifiert ein sekundäres Register R 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 -Register des A-Zwischenspeichers 60.
Somit befindet sich der Vektor in dem R -Register des Zwischenspeichers 60 yod liefert eine Adresse des Speichers 16, dessen Inhalt die Adresse des ersten Befehls im Programm enthält, der VOSi Prozessor 12 zur Bedienung des AnSchlußgeräts ausgeführt werden muß* Zusätzlich zur ersten Programmadresse muß asm Prozessor üblicherweise ein neues Prozessor-Zustandswort zugeführt werden, welches de« Prozessor die notwendige Betriebsart, Zustandcodes und andere Informationen zuführt, die notwendig sind, um exakt die Haftbefehle im Programm zu interpretieren. Abhängig von der Konzeption des Datenverarbeitungssystejas wird das Signal des PSW-Registers fUr dieses Prograjms in der folgenden Speicheradresse nach der Vektoradresse eingespeichert, die von dem Anschlußgerat geliefert wird» Daher muß der Steuerspeicher 34 Befehle oder Mikrewö'rter abgeben, vm den Inhalt der Vektorocfresse and der folgenden Adresse in dem externen Speicher 16 zo erhalten« Ie nächsten Mikrozyklus, η + 2, wird der Inhalt des R Registers des Zwischenspeichers 60 in das Register 78 eingegeben, wobei der Zwischeospeicher 60 die Vekioradresse enthält. Während dieses Hikrozykius wird der Inhalt des Registers R durch aas Rechen- und Leitwerk 66 erhöht und anschließend wieder in das Register R eingeschrieben. Dieses Mikrowort liefert auch einen Ben
fehl OATI, der den Inhalt dex Adresse, die dorch das Register 78 bezeichnet ist, i« den Prozessor 12 über die Leitung 22 eingeben
109837/0595
läßt (Daten-Eingabefehl). Danach liefert der Steuerspeicher in nächsten Mikrozyklus (n -I- 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 fUr 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 dieUnterbrechung 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 <1of Slopelhinweis-Rogister SP im Zwischenspeicher über-
;9B :?
wacht werden. Zusätzlich zum Abrufen der ersten Adresse des Programms und einem neuen Prozessor-Zustandswort muß der Steuerspeicher den ölten Programmzahlerwert und das alte Prozessor-Zustandswort in den Stapelspeicher eingeben. In dem nächsten Mikrozyklus (n + 4) gibt der Steuerspeicher ein Milcrowort 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-Aoswahlbit muß einen Binärwert "1M haben» Außerdem gibt das Multiplexer-Freigabefeld vrtd das Zostonds register-Auswahlfeld im Steuerfeld des Registers 42 den Multiplexer 58 frei υπό s«S das Zustenelsregister 52 s«sw9hlen, um es rait der Leitung 22 zu verbinden« Es ist zu beachte«, daß z« diesem Zeitpunkt das PSW-Register 52 vorher durch ein Mikrowort ία einen solchen Zustand verbracht wurde, daß ein Einschreibe- oder Ledevorgang an einein spateren Zeitpunkt des Programms mit dee Inhalt <ies neuen Prozessor-Zustandswort erfolgt, wie dies noch näher beschrieben wird.
Bei dem in Fig. 7 gezeigten Programmablauf gibt der Steiferspeicher 38 während des nächsten Mkrozykius (n + 5) ein Mikrowort auSf wodurch der Inholt des R -Registers im Zwischenspeicher in das Adressenregister 78 eingegeben wird, wobei das R -Register die Adresse des neuen Pxozessor-Zustandworts enthält. Der Inhalt des HO-Registers {neue Programmzählung) muß dann in das O-Register und anschließend in das R -Register des Α-Zwischenspeichers Übertragen werden. Schließlich werden die Daten der Leitung 22 (alter
109837/0595
ti
Inhalt des PSW-Registers) in das MD-Register Übertragen. Außerdem gibt dieses Hikrowort on, daß eine Dateneingabe-Operation , DATI ausgeführt werden nuß, wodurch der Inholt der Adresse i« Leitungs-Adressenregister, in welche« sich nimeehr 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 de« Steuerspeicher 38 während des Hikrozyklus η + abgegebene Wort die DATI-Operation ausweist, die eine prinäre Übertragung Über die Leitung 22 .fordert, haben die D-Zyklus- und EIN/AUS - Bits in de« Leitungssteuerfeld des Mikroworts den Wert "1" bzw. 11O". Somit gibt die Steuerschaltung 88 ein Sperrsignal während des nächsten Hikrozyklus η + 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 diese« Fall durch den Multiplexer 58 übertragen werden, der laufend durch die Steuerschaltung 42 ausgewählt und freigegeben wird. I« nächsten Mikrozyklus η + 6 liefert das vo» Steuerspeicher 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 HD-Register eingegeben werden, wobei diese Daten das neue Prozessor-Zustandswort darstellen.
An diese« Punkt des Hjkroprogra— t 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 am» Stapelspeicher wird das neue Prozessor-Zustandswort in das Register 52 eingegeben. Dee-
809837/0595
zufolge bewirkt das vom Steuerspeicher 38 ausgewählte Mikrowort im nächsten Mikrozyklus η + 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 Pr&Esssor-ZösiGfldswGrt gelesen wird. Wie bereits erläutert wurde# erfolgt die Wahl PSW-Registers 52 zum Empfang des neuen Prozessor-Zustandswortes über die Ausgabeleitung 2At wenn dos Register 52 während des Nikrozyklos η + geladen wird» Diese Vorwahl hat keine Wirkung bis zuss jetzt vorliegenden Mikrozyklus, da das sekundäre Schreibbit der dazwischenliegenden Mikroworter nicht freigegeben wurde. In diesem Mikrozyklus η + 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 dieses Fell das Register 52 der Prozessor-Steuereinheit 32 ist. Außerdem wird der Inhalt des Schieberegisters 72, d.h. das alte Prozessor—Ζυstandswort während dieses Mifcrezykius in das O-Register eingegeben«
Die prifsrären und sekundären Operationen können somit während des gleichen Mikrozyklus auftreten. In den beiden Mikrozyklen η + 5 und η + 8 in Fig. 7 wurde eine sekundäre Operation, d.h. eine übertragiingsoperstion 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
809837/0595
dem Steuerspeicher 34 im Mikrozyklus η + 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 Ubertragungsoperation 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 eingegeben. Daher muß vor der Ausfuhrung 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 Steuerspeieher 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 fUr die nächste Eingabe in den Stapelspeicher zu schaffen.
Im nächsten Mikrozyklus η + 10 wird der Inhalt des Schieberegisters in das Adressenregister 78 eingegeben. V/ährend dieses Mikrozyklus wird der Inhalt des Schieberegisters 72 verringert und zum Schieberegister zurückgeführt, wodurch die Adresse fUr die nächste Eingabe in den Stapelspeicher erzeugt wird. Außerdem wird ein
109837/0595
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 a« die ias Register 78 angegebene Adresse wird wülirend des folgenden Mikrozyklus η + 11 vervollständigt und der Inhalt des Schieberegisters 72 wird in das Register SP des Zwischenspeichers Übertragen. Oa- nach wird ein Mikrowort ira Mikrozyklus η + 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 OATO auf, um den Inhalt des O-Registersf <i.h. den alten Programmzählwert, auf die Leitung 24 zur Übertragung in die Stapelspeicheradresse im Adressenregister 78 während des nächsten ilikrozyklus zu führen.
In dem Mikrozyklus η + 13 wird das PC-Register im Zwischenspeicher mit der neuen Prograraeizählung, d.h.dem neuen Programmzähiwert geladen, wie aus Fig. 7 hervorgeht, indem der Inhalt des R -Re-
gisters iffl Zwischenspeicher abgerufen, in das O-Register 74 Übertragen und dann in das PC-Register geführt wird. Zu diesem Zeitpunkt ist der Prozessor J2 bereit, die Ausführung des aufgrund der Oodienursysanförderung erforderlichen Programms einzuleiten. Die Adresse des ersten Befehls dieses Programms wird ira PC-Register gespeichert und in das BA-Regisier in den iiikrozyklujj η + 14 eingegeben, wie in Fig. 7 geneigt ist. Die Adressen {{ir die folgenden Gefehle werden durch Erhöhung des Inhalts «i»:? Kogisters PC erzeugt. Nach Geendigung des Programms aufgrund ilnr Bedienungsanforderung wird der alte Prograiumwert und das Vj~> ·-
zessor-Zustandswort von den Stapelspeicher unter Verwendung der Adresse in den Stapelzeiger-Register im Zwischenspeicher abgerufen, woraufhin der Prozessor das Program« von der Stelle an ausfuhrt, 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 fUr 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 auszufuhren, 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
809837/0595
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 Hikrowö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 zux .Ausführung verschiedener Funktionen und wenigstens eine Datenleitung auf, welche ■ die Einheiten zur Informationsübertragung miteinander verbindet. Der Prozessor enthöli auch einen Steuerspeieher, in welche® Befehle in Form eines Mikroprogramms gespeichert sind, die direkt Einheiten des Prozessors zur Steuerung seiner Operation zugeführt werden. Bestimmte der im Mikroprogreswi 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 Steyerspeicher gespeichert, dessen Inhalt durch eine logische Schaltung dekodiert wird, die in den Einheiten des Prozessors vorgesehen ist und in Abhängigkeit dazu die erforderliche« Geräte in den Einheiten eit der Datenleitung verbindet»
809837/0595

Claims (14)

  1. .J Prozessor für Datenverarbeitungssysteme mit wenigstens eine« SuBeren Anschlußgerät,
    dadurch gekennzeichnet, daß wenigstens eine Daten-Leitung (20) aus wenigstens eines elektrischen Leiter zur Informationsübertragung durch den Prozessor, ein Steuerspeicher (34) zur Speicherung von Prozessor-Befehlen, die zur Übertragung und Verarbeitung der Informationen durch den Prozessor verwendet werden, wobei sekundäre Prozessor-Befehle zur Steuerung der Informationsübertragung zwischen verschiedenen · Teilen des Prozessors Ober die Datenleitung (20) verwendet werden, sowie eine Steuerspeicher-Iftlhleinrichtung zur periodischen Auswahl bestimmter Prozessor-Befehle vorgesehen sind, wobei diese bestirnten Prozessor-Befehle an den Ausgang des Steuerspeichers von der Wähleinrichtung (38) angelegt werden, daß an den Ausgang des Steuerspeichers «ine !Einrichtung (4O)' zur Übertragung ausgewählter, programmierter Prozessor-Befehle durch den
    8098 37/0595
    Prozessor angeschlossen ist, daß logische Einheiten vorgesehen und mit der übertragungseinrichtung verbunden sind, wobei jede logische Einrichtung zur Steuerung der Operation eines Teils des Prozessors abhängig von des? gewählten Prozessor-Befehl angeordnet ist, daß ein zweiter Steuerspeicher mit der übertragungseinrichtung zur Speicherung von Teilen der sekundären Prozessor-Befehle angeschlossen ist, die von der Steuerspeicher-Wählein— richtung ausgewählt werden und daß mehrere sekundäre logische Einheiten vorgesehen und mit de« sekunderen Steuerspeicher zur Verbindung von Teilen des Prozessors mit der Datenleitung (20) entsprechend dem Inhalt des zweiten Steuerspeichers zur Informationsübertragung zwischen letzteren angeordnet sind«
  2. 2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Prozessor-Befehle ein sekundäres Informations—Steuerfeld enthalten, das zor Identifizierung der sekundären Prozessor-Befehle dient, daß sekundäre logische Einheiten rait der Übertragungseinrichtung verbunden sind und auf das sekundäre Steuerfeld der ausgewählten Prozessor-Befehle zur Steuerung der Speicherung der sekundären Befehle in dem sekundären Steuer speie her ansprechen.
  3. 3, Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet^ daß
    die Prozessor-Befehle ein Steuerfeld enthalten, das die Speicherung von über die Prozessor-Datenleitung. von Teilen des Prozessors die an die Datenleitung angeschlossen sind, Übertragenen Informationen steuert, so daß die Speicherung der zor Datenleitung Übertragenen Informationen durch einen Prozessor^efehl steuerbor ist, der von der Wähleinrichtung für den Steuerspeicher in Anschluß an den sekundären
    809837/0595
    Prozessor-Befehl gewählt ist, wobei der Inhqlt des sekundären Befehls in den sekundären Steuerspeicher zum Zeitpunkt der Übertragung der Informationen zur Prozessor-Datenleitung gespeichert wird.
  4. 4. Prozessor nach wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Prozessor-Befehle ein Datenleitung-Steuerfeld zur Bestimmung der Steuerung der Prozessor-Datenleitung enthält, daß eine Datenleitung-Steuereinrichtung mit der Übertragungseinrichtung verbunden ist und auf das Steuerfeld des gewählten, programmierten Prozessor-Befehls anspricht und ein Signal erzeugt, welches der sekundären logischen Einheit zugeführt wird, um sie abhängig von dem Steuerfeld des gewählten Befehls zu sperren, der eine Informationsübertragung Über die Datenleitung anzeigt, die durch den gewählten, programmierten Prozessor-Befehl direkt gesteuert wird, so daß die übertragung von Daten über die Datenleitung des Prozessors durch den gewählten Prozessor-Befehl oder den sekundären Steuerspeicher entsprechend dem Inhalt des Steuerfelds des gewählten, programmierten Prozessor-Befehl steuerbar ist, wobei die Steuerung abhängig vom Inhalt des Steuerfeldes eines gewählten Prozessor-Befehls durchgeführt wird, der eine direkte Steuerung der Informationsübertragung über die*Prozessor-Datenleitung ausführen läßt.
  5. 5. Prozessor nach wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß eine Einrichtung (30) zur Herstellung, von Datenwegen vorgesehen ist, die arithmetische und logische Funktionen hinsichtlich der Informationen ausführt, daß der
    $09837/0595
    Steuerspeicher {34} in einer Steuereinheit {32} zur Speicherung der Prozessor-Befehle angeordnet ist, um die Übertragung und Informationsverarbeitung durch den Prozessor zu steuern, daß sekundäre Prozessor-Befehle zur Steuerung der Informationsübertragung zwischen der Datenweg-Einheit und anderen Einheiten des Prozessors in den Prozessor-Befehlen enthalten sind, daß eine erste Datenleitung (22} z«r Informationsübertragung, von der Datenweg-Einheit 30 zo anderen Einheiten des Prozessors und äußeren Anschlußgeräte« sowie eine zweite Oaten leitung {24} z«r Informationsübertragung von der Datenweg-Einheit (30} zu anderen Einheiten des Prozessors «nd den externen Anschlußgeräten vorgesehen sind und jeweils aus mehreren elektrischen Leitern bestehen, daß der Steuerspeicher (34} an eine Wähleinrichtung zur periodischen Auswahl bestirntster Prozessor-Befehle angeschlossen ist, die in de» Steuerspeicher gespeichert sind und an dessen Ausgang geführt werden, daß
    eine Übertragungseinrichtung {40} zur Lieferung des ausgewählten Prozessor-Befehls an jede Einheit des Prozessors an den Ausgang des Steuerspeichers angeschlossen ist, 4aB ein« primäre logische Einheit in jeder Prozessor-Einheit angeordnet und mit der Übertragungseinrichtung zur Steuerung der Operation der Einheiten abhängig von de» ausgewählten Prozessor-Befehl angeordnet ist, daß ein sekundärer Steuerspeicher an die übertragungseinrichtung zur Speicherung von Teilen der sekundären Prozessor-Befehle angeschlossen ist, die von der Steuerspeicher-Wähleinrichtung ausgewählt sind und daß eine sekundäre logische Einheit in jeder Prozessor-Einheit vorgesehen ist, die jeweils auf den sekundären Steuerspeicher zur Steigerung der Informationsübertragung von der Einheit zu der ersten Leitung und der Prozessor-Datenleitung sowie zur Übertragung der Informationen von
    I0SS37/05SS
    der zweiten Prozessor-Datenleitwig zu de Einheit anspricht.
  6. 6. Prozessor nach Anspruch 5, dadurch gekennzeichnet, daß die Prozessor-Befehle ein Leitungs-Steuerfeld zur Steuerung der ersten und zweiten Prozessor-Datenleitungen enthalt, daß eine Leitungs-Steuereinrichtung (26) «it eine· Eingang an die Übertragungseinrichtung und axt eines Ausgang an jede sekundäre logische Einheit angeschlossen ist» doB die Leitungs-Steuereinheit auf das Leitungs-Steuerfeld des gewühlten Prozessor-Befehls zu« Sperren jeder sekundären logischen Einheit abhängig von de« Leitungs-Steuerfeld des gewählten Befehl» anspricht, der eine Übertragung von Informationen Ober die erste und zweite Leitung zwischen der Datenweg-Einheit und dee äußeren Anschlußgerat ausweist.
  7. 7. Prozessor nach Anspruch 6, dadurch gekennzeichnet, daß jede Einheit des Prozessors wenigstens eine Speichereinrichtung zur Speicherung besti««ter Informationen enthalt, die zu oder von der Datenweg-Einheit (30} Übertragen werden.
  8. 8. Prozessor nach eines der vorangehenden Ansprüche, dadurch gekennzeichnet, daß }ed· sekundäre logische Einheit wenigstens einen Multiplexer enthalt, dessen Ausgang «it der ersten Prozessor-Datenleitung verbunden ist, daß der Multiplexer Mehrere Eingänge aufweist, die einzeln «it den Speichereinrichtungen verbunden sind, Wi eine ausgewählte Speiehereinrichtung »it der ersten Datenleitung zu verbinden, daß wenigsten» eine Gotter- oder Schalteinrichtung «it eine« Ausgang on die Speichereinrichtung und «it eine· Eingang an die zweite Datenleitung angeschlossen ist, u« Informationen von der zweiten Datenleitung an die Speichereinrichtung zu führen.
    Ö098 37/0 59B
  9. 9. Prozessor tusch Anspruch 8, dadurch gekennzeichnet, daß die in dem sekundären Steuerspeicher gespeicherten Ioforaationen zwei Felder aufweisen, daß ein Feld ein Wählfeld zur Auswohl einer der Einheiten des Prozessors zur Herstellung einer-Verbindung zur Datenweg-Einheit und das zweite Feld ein Steuerfeld ist, welches einen Multiplexer und eine Gättereinrichtung der gewählten Prozessor-Einheit auswählt und steuert, ms eine Verbindung zur ersten bzw. zweiten Datenleitung herzustellen«
  10. 10. Prozessor nach wenigstens eines der vorangehenden Ansprache, dadurch gekennzeichnet, daß jeder Prozessor-Befehl ein Feld zu» Einschreiben einer Leitung enthält, welches sit der Gattereinrichtwig jeder Einheit des Prozessors zur Steuerung der Speicherung der Inforflsation in Verbindung gebracht wird, wobei die Information von der zweiten Prozessor-Datenleitung empfangen wird, wobei jede Speichereinrichtung einer Einheit zugeordnet ist sowie ein Feld zu® Einschreiben der Daten weg-Leituog enthält, welches mit der Datenweg-Einheit verbunden bzw. der Datenweg-Einheit zugeführt wird, um die Speicherung der von der ersten Datenleitung empfangenen Information zu steuern, so daB die Speicherung von Information, die über die ersten und zweiten Leitungen Übertragen wird, durch den gewählten Prozessor-Befehl steuerbar ist, so deß die Speichereinrichtung durch einen Prozessor-Befehl steuerbar .ist, der durch die Steuerspei eher-Wähleinrichtung nach der Wahl des sekundären Prozessor-Befehls gewühlt wird, wobei der sekundäre Prozessor-Befehl in des sekundären Steuerspeicher gespeichert wird, wenn die Information in der Speichereinrichtung einer Einheit gespeichert wird.
    889837/059S
  11. 11. Prozessor noch wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß wenigstens eine Prozessor-Datenleitung zur Informationsübertragung zwischen der Datenweg-Einheit und dem Prozessor und ein Steuerspeicher zur Speicherung von Prozessor-Befehlen sowie zur Steuerung der übertragung und Informationsverarbeitung angeordnet ist, wobei die Prozessor-Befehle sekundäre Befehle zur Steuerung der übertragung von Informationen zwischen der Datenweg-Einheit und Prozessor-Einheiten enthält, daß eine Einrichtung zur periodischen Wahl bestimmter, gespeicherter Prozessor-Befehle vorgesehen ist, daß ein sekundärer Steuerspeicher mit dem Steuerspeicher zur Speicherung von Teilen der sekundären Prozessor-Befehle verbunden ist, daß die übertragungseinrichtung fUr Befehle mit dem Steuerspeicher zur übertragung bestimmter Prozessor-Befehle zum Prozessor verbunden ist, daß eine logische Einrichtung an die übertragungseinrichtung zur Steuerung der Operation abhängig von ausgewählten Prozessor-Befehlen angeschlossen ist und einer Einheit des Prozessors zugeordnet ist, daß eine sekundäre logische Einrichtung durch den sekundären Steuerspeicher steuerbar ist, um gewählte Teile des Prozessors mit der Prozessor-Datenleitung zur Informationsübertragung zu sowie zum Empfang von Informationen von der Datenweg-Einheit Über die Prozessor-Datenleitung zu verbinden.
    • ·
  12. 12. Prozessor nach wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Speichereinrichtung in Abhängigkeit von der sekundären logischen Einheit zur Speicherung von Informationen abhängig gesteuert wird, wobei die Informationen zur Datenweg-Einheit Ober die erste Datenleitung Übertragen und von der Datenweg-Einheit Über die zweite Datenleitung empfangen werden.
    809837/0595
  13. 13. Prozessor nach wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Steuerfeld zur Wahl wenigstens einer Speichereinrichtung der gewählten Dateneinheit und zur Steuerung der Übertragung von Informationen zu und von der gewählten Speie here irshe it zy der zweiten bzw* ersten Oatenleitong vorgesehen ist.
  14. 14. Prozessor noch wenigstens einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß jeder Prozessor-Befehl ein Leitungs-Stetierfeld aufweist, daß eine Leitungs-Steuereinrichtung vorgesehen ist, die durch das Leitungs-Steuerfeld steuerbar ist, daß ein Ausgang der Leitungs-Steuereinrichtung mit der sekundären logischen Einrichtung zum Sperren der sekundären logischen Einrichtung verbunden ist, wenn ein gewählter Prozessor-Befehl eine Übertragung von Oaten über die Prozessor-Datenleitung unter vollständiger Steuerung des gewählten Prozessor-Befehls anfordert.
    B09837/Ö595
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 true DE2759120A1 (de) 1978-09-14
DE2759120C2 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) GB1602421A (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
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
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 富士フイルムビジネスイノベーション株式会社 情報処理システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Buch: Klar, Wickmann Mikroprogrammierung Vorlesungsskripten, Bd. 8, Nr. 3, Erlangen, Juni 1975, S. 42-53 u. 60-68 *

Also Published As

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

Similar Documents

Publication Publication Date Title
DE1549532C2 (de) Unterbrechungs-Direktorschalrwerk für eine Datenverarbeitungsanlage mit mehreren Rechenanlagen und mehreren perpheren Geräten
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3126878A1 (de) Adressen-steuerschaltung fuer mikroprozessoren
DE2936913C2 (de) Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung
DE2045052A1 (de) System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben
DE2350884A1 (de) Datenverarbeitungssystem
DE2355993B2 (de) Programmierbare datenverarbeitungsanlage
EP0048767A1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
CH634939A5 (de) Kanaldatenpufferanordnung in einer datenverarbeitungsanlage.
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2928488A1 (de) Speicher-subsystem
DE68924719T2 (de) Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung.
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE3400723C2 (de)
DE2713253A1 (de) Programmlader fuer ein steuergeraet
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE4134387A1 (de) Vorrichtung und verfahren zum befehlszufuehren in geraeten mit parallelverarbeitung
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE2739525C2 (de) Rechner
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE69031361T2 (de) Taktsignalgeneratorsystem
DE2906685A1 (de) Instruktionsdecodierer

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