DE2759120A1 - Prozessor fuer datenverarbeitungssysteme - Google Patents
Prozessor fuer datenverarbeitungssystemeInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement 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
1^~~2*
«tOWCHCN 84 36 3·
PHOM
f. ENDLICH, POSTFACH Ο-βΟΐ4 UNTERPFAFFCNHOFIII
TKLCX: «2173Ο
Meine Akte: 0-4356
Digital Equipment Corporation
Moynard, MA, USA
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,
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)
- .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 den8098 37/0595Prozessor 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. 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, 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ären809837/0595Prozessor-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. 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. 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/0595Steuerspeicher {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 vonI0SS37/05SSder zweiten Prozessor-Datenleitwig zu de Einheit anspricht.
- 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. 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. 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. 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. 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. 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. 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. 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. 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
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)
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)
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)
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 |
-
1977
- 1977-03-10 US US05/776,331 patent/US4259718A/en not_active Expired - Lifetime
- 1977-12-30 DE DE19772759120 patent/DE2759120A1/de active Granted
-
1978
- 1978-02-17 JP JP1749678A patent/JPS53127247A/ja active Granted
- 1978-03-02 GB GB8405/78A patent/GB1602421A/en not_active Expired
- 1978-03-02 GB GB33809/80A patent/GB1602422A/en not_active Expired
- 1978-03-09 CA CA298,625A patent/CA1109161A/en not_active Expired
Patent Citations (2)
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)
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 |