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