DE1915818B2 - Steuerschaltung für ein elektronisches Datenverarbeitungssystem - Google Patents
Steuerschaltung für ein elektronisches DatenverarbeitungssystemInfo
- Publication number
- DE1915818B2 DE1915818B2 DE1915818A DE1915818A DE1915818B2 DE 1915818 B2 DE1915818 B2 DE 1915818B2 DE 1915818 A DE1915818 A DE 1915818A DE 1915818 A DE1915818 A DE 1915818A DE 1915818 B2 DE1915818 B2 DE 1915818B2
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- memory
- control
- control circuit
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Description
Die Erfindung bezieht sich auf eine Steuerschaltung für ein elektronisches Datenverarbeitungssystem mit
einem Hauptspeicher, mit wenigstens einer einen Adressengenerator enthaltenden ersten Sub-Verar-
Ii beitungseinrichtung, mit wenigstens einer eine zweite
Sub-Verarbeitungseinrichtung darstellenden Rechen- und Verarbeitungseinrichtung, wobei die Sub-Verarbeitungseinrichtungen
insbesondere zur Ausführung von voneinander unabhängigen Befehlen dienen, und mit Folgesteuereinrichtungen in Form von Mikroprogrammsteuerwerken,
welche Mikrobefehle zur Steuerung elementarer Operationen abgeben, wobei eine aufeinanderfolgende Fortschaltung von Mikrobefehlswörtern
in den Folgesteuereinrichtungen erfolgt und wobei in jedem Mikrobefehlswort funktionell
Bits enthalten sind.
Im Zusammenhang mit der Steuerung von Datenverarbeitungsanlagen ist es bereits bekannt (»Digitale
Rechenanl&gen« von Speiser, 2. Auflage, 1965,
jo Springer Verlag Berlin/Heidelberg/New York, Seiten
240-245, 262-265, 277), bei der Mikroprogrammierung in Mikrobefehlswörtern funktionell Bits vorzusehen.
Das Prinzip der funktionellen Bits in den Befehlswörtern geht dabei davon aus, daß sich die
j5 Operationen in Schritten aufbauen, die zur gleichen
Zeit durchgeführt werden können. Ferner ist in dem betrachteten Zusammenhang bekannt, Folgesteuereinrichtungen
in Form von Mikroprogrammsteuerwerken vorzusehen, die Mikrobefehle zur Steuerung
elementarer Operationen abgeben. Dabei werden Steuervorrichtungen vorzusehen sein, die eine aufeinanderfolgende
Fortschaltung von Mikrobefehlswörtern in den Folgesteuereinrichtungen bewirken.
Bei Datenverarbeitungsanlagen der vorstehend betrachteten Art können sich Probleme durch die gleichzeitige, unabhängige Ausführung von Operationen ergeben. Dies ist dann der Fall, wenn im Zuge der Ausführung einer Operation nicht über einen bestimmten Verarbeitungspunkt hinauszugehen ist, an welchem die betreffende Information für einen anderen Operationsvorgang bereitzustellen ist oder an welchem von einem anderen Operationsvorgang ein entsprechendes Operationsergebnis benötigt wird.
Der Erfindung liegt demgemäß die Aufgabe zugründe, einen Weg zu zeigen, wie bei einer Steuerschaltung der eingangs genannten Art mit relativ geringem schaltungstechnischen Aufwand unabhängige Operationen mit voller Geschwindigkeit ausgeführt werden können, ohne daß die eine Sub-Verarbei-
Bei Datenverarbeitungsanlagen der vorstehend betrachteten Art können sich Probleme durch die gleichzeitige, unabhängige Ausführung von Operationen ergeben. Dies ist dann der Fall, wenn im Zuge der Ausführung einer Operation nicht über einen bestimmten Verarbeitungspunkt hinauszugehen ist, an welchem die betreffende Information für einen anderen Operationsvorgang bereitzustellen ist oder an welchem von einem anderen Operationsvorgang ein entsprechendes Operationsergebnis benötigt wird.
Der Erfindung liegt demgemäß die Aufgabe zugründe, einen Weg zu zeigen, wie bei einer Steuerschaltung der eingangs genannten Art mit relativ geringem schaltungstechnischen Aufwand unabhängige Operationen mit voller Geschwindigkeit ausgeführt werden können, ohne daß die eine Sub-Verarbei-
bo tungseanrichtung bei der Befehlsverarbeitung über einen
bestimmten Verarbeitungspunkt hinausgeht, an welchem sie eine Information für die andere Sub-Verarbeitungseinrichtung
besitzt oder an welchem sie von dieser anderen Sub-Verarbeitungseinrichtung eine
b5 Information benötigt.
Gelöst wird die vorstehend aufgezeigte Aufgabe ausgehend von einer Steuerschaltung der eingangs genannten
Art erfindungsgemäß dadurch, daß am Aus-
gang jeder der zwei Folgesteuereinrichtungen ein Register angeschlossen ist, in welchem jeweils ein
Mikrobefehl und ein gegebenenfalls zusammen mit. diesem auftretender Sperranzeigebefehl speicherbar
sind, der einen Abschluß von durch Mikrobefehle von der dem jeweiligen Register zugehörigen Folgesteuereinrichtung
gesteuerten Vorgängen festlegt, und daß durch die in den beiden Registern gegebenenfalls
enthaltenen Sperranzeigebefehle den beiden Folgesteuereinrichtungen zugehörige Verknüpfungsschaltungen
derart steuerbar sind, daß bei Vorhandensein eines Spenanzeigebefehles in lediglich einem der Register
die aufeinanderfolgende Weiterschaltung von Mikrobefehlswörtern in der diesem Register zugehörigen
Folgesteuereinrichtung so lange stillsetzbar ist, bis auch in dem der anderen Folgesteuereinrichtung
zugehörigen Register ein entsprechender Sperranzeigebefehl auftritt, auf dessen Auftreten hin dann die
Weiterschaltung von Mikrobefehlswörtern in beiden Folgesteuereinrichtungen freigebbar ist Die Erfindung
bringt den Vorteil mit sich, daß auf relativ einfache Weise in den beiden Sub-Verarbeitungseinrichtungen
Operationen mit voller Geschwindigkeit ablaufen können, wobei dennoch die Sub-Verarbeitungseinrichtungen
jeweils daran gehindert sind, bei der Befehlsverarbeitung über einen bestimmten Verarbeitungspunkt
hinauszugehen, an welchem sie eine Information für die jeweils andere Sub-Verarbeitungseinrichtung
besitzen oder an welchem sie eine solche Information von der jeweils anderen Sub-Verarbeitungseinrichtung
benötigen.
Zweckmäßige Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Nachfolgend sind Ausführungsbeispiele der Erfindung anhand von Zeichnungen näher erläutert.
Fig. 1 zeigt in einem Teilblockdiagramm eine Steuerschaltung
gemäß einer Ausführungsform der Erfindung;
Fig. 2 zeigt ir einem vereinfachten Blockschaltbild eine weitere Ausführungsform der Steuerschaltung
gemäß der Erfindung;
Fig. 3 veranschaulicht in einem Flußdiagramm die Ablauffolge des Betriebs der Schaltungsanordnung
gemäß Fig. 2 zur Ausführung eines Vergleichsbefehls.
Die Steuerschaltung gemäß der Erfindung wird hauptsächlich in einer zentralen Verarbeitungsanlage
bzw. einem Datenverarbeitungssystem mit zwei oder mehr Sub-Verarbeitungseinrichtungen angewendet,
die nach dem Zeitmultiplexprinzip einen gemeinsamen Hauptspeicher benutzen. Die Sub-Verarbeitungseinrichtungen
werden unabhängig voneinander durch Mikroprogrammierung gesteuert.
Fig. 1 zeigt in einem stark vereinfachten Blockdiagramm
eine Steuerschaltung für ein elektronisches Datenverarbeitungssystem mit zwei Sub-Verarbeitungseinrichtungen,
die mit Verknüpfungsschaltungen verbunden sind, welche verriegelt weiden können.
Die auch als Mikrooperations-Generaloren aufzufassenden
Steuerelemente werden von adressierbaren Folgesteuereinrichtungen her angesteuert. Die Folgesteuereinrichtungen
sind zweckmäßigerweise durch einen schnellen Zugriff ermöglichende Speichermatrizen
gebildet. Ein Beispiel für eine geeignete Folgesteuereinrichtung gibt die US-Patentschrift 3 157 862
an. Eine bevorzugte Folgesteuereinrichtung stellt ein Lesespeicher dar, in welchem die Mikrobefehle elektrisch
wieder einschreibbar sind und während des
Normal-Betriebs nicht geändert werden. Ein Hauptspeicher 10 gibt Befehle an die Steuerelemente der
Sub-Verarbeitungseinrichtungen ab, und zwar über ein Befehlsregister 11. Einzelne Bereiche bzw. Felder
in diesem Befehlsregister enthalten Daten betreffend den Beginn der Mikrobefehle für die betreffenden
Steuerelemente der Sub-Verarbeitungseinrichtungen. Dabei ist ein Bereich bzw. ein Feld des Befehlsregisters
11 mit dem Eingang eines Adressenregisters 12 verbunden. Das Adressenregister 12 wähit in der Folgesteuereinrichtung
13 diejenigen Mikrobefehle aus, die in ein örtliches Register 15 einzuspeichern sind.
Der im örtlichen Register 15 jeweils enthaltene Mikrobefehl legt die Mikrooperationen fest, die durch
den Mikrooperations-Generator 16 abzugeben sind. Wie ferner angedeutet ist, gibt ein Feld 17 des örtlichen
Registers 15 die nächste Adresse an das Adressenregister 12 ab. Ein weiteres Feld 18 dient für die
Aufnahme eines Sperranzeigebefehls, der Verknüpfungsschaltungen bzw. -gliedern 20 und 21 zugeführt
wird.
In einem Feld des Befehlsregisters 11 ist ferner die dem Adressenregister 22 der Folgesteuereinrichtung
23 zuzuführende Startadresse enthalten. Der in der Folgesteuereinrichtung 23 adressierte Mikrobefehl
wird dem örtlichen Register 25 zugeführt und bewirkt die Steuerung der Mikrooperationen des Mikrooperations-Generators
26. Ein Feld 27 des örtlichen Registers 25 gibt die jeweils nächste Adresse an das
Adressenregister 22 ab; ein weiteres Feld des örtlichen Registers 25 gibt einen Sperranzeigebefehl für
die im folgenden lediglich als Verknüpfungsglieder bezeichneten Verknüpfungsschaltungen 20 und 21 ab.
Die Verknüpfungsglieder 20 und 21 sind durch UND-Glieder gebildet, die jeweils dann übertragungsfähig
sind, wenn sie an ihren Eingängen gleichzeitig Signale von beiden Registern 15 und 25 her aufnehmen.
Das Ausgangssignal des UND-Gliedes 20 wird als Eingangs-Schaltsignal dem Adressenregister
12 zugeführt; das Ausgangssignal des UND-Gliedes 21 wird als Eingangs-Schaltsignal dem Adressenregister
22 zugeführt. Die Mikrooperations-Generatoren 16 und 26 legen die Mikrooperationen für die hier
nicht näher gezeigten entsprechenden Sub-Verarbeitungseinrichtungen fest. Eine detaillierte Beschreibung
der Verbindung zwischen den einzelnen Schaltungselementen innerhalb des Systems wird in
Verbindung mit der Beschreibung der in F i g. 2 dargestellten Schaltungsanordnung gegeben werden.
Beim Betrieb der in Fig. 1 gezeigten Steuerschaltung gibt der Hauptspeicher 10 zunächst einen Befehl
ab, der die Startadressen für die Folgesteuereinrichtungen 13 und 23 darstellt. Jeder in den betreffenden
Folgesteuereinrichtungen adressierte Mikrobefehl bewirkt in den örtlichen Registern 15 und 25 die Abgabe
von Unterbefehlen an die Mikrooperations-Generatoren 16 und 26 und ferner von den Feldern 17
und 27 die Abgabe der nächsten Adresse an die Adressenregister 12 und 22. Die beiden Steuerelemente
arbeiten zyklisch wiederholt mit ihrer vollen Geschwindigkeit, und zwar unabhängig voneinander,
bis ein adressierter Mikrobefehl in einem der Steuerelemente einen Verriegelungs- bzw. Sperranzeigebefehl
liefert. Wenn z.B. ein Mikrobefehl in dem örtlichen Register 15 auftritt, das in seinem Feld 18 einen
Verriegelungs- bzw. Sperranzeigebefehl besitzt, so ist die Adresse im Feld 17 eine Wiederholungsadresse
desselben Wortes. Dadurch wird die Fortschaltnno des.
Steuerelements angehalten; es wiederholt zyklisch denselben Mikrobefehl.
Wenn die Folgesteuereinrichtung 23 den Punkt bei der Ausführung des Befehles erreicht hat, an dem die
Folgesteuereinrichtung 13 wartet, wird von dem Feld 28 des Registers 25 ein Sperranzeigebefehl abgeleitet
und dem jeweils einen Eingang der Verknüpfungsglieder 20 und 21 zusammen mit dem Sperranzeigebefehl
von dem Feld 18 des örtlichen Registers her zugeführt. Die nächste durch die Register 15 und 25 w
an die Adressenregister 12 und 22 abgegebene Adresse ist eine Wiederholungsadresse. Die von den
Verknüpfungsgliedern 20 und 21 abgegebenen Ausgangssignale bewirken jedoch eine Änderung der
Adressenregister 12 und 22, und zwar derart, daß in jeder Folgesteuereinrichtung ein Zugriff zu einem
weiteren Folge-Mikrobefehl vorhanden ist.
Es sei darauf hingewiesen, daß der Betrieb von Datenverarbeitungsanlagen
unter einer Anzahl von Vorschriften erfolgt. Eine solche Vorschrift ist z.B. die
Beschränkung des gemeinsamen Zugriffs zum Hauptspeicher. Die meisten Beschränkungen können leicht
durch entsprechenden Hardware-Aufwand gelöst werden. Führen jedoch zwei oder mehr Verarbeitungseinrichtungen
einige voneinander abhängige r> Vorgänge aus, so ist es üblich, diesen Einrichtungen
eine feste Beschränkung aufzuerlegen, indem ihre Arbeitsgeschwindigkeiten beschränkt werden, mit denen
die verschiedenen Unterbefehlsfolgen, die voneinander abhängige Vorgänge erfordern, ausgeführt wer- jo
den können. Dies erfolgt in solcher Weise, daß mit Rücksicht auf eine derartige gegenseitige Abhängigkeit
keine der Verarbeitungseinrichtungen vor der anderen Verarbeitungseinrichtung arbeitet. Ferner sind
die bei unterschiedlichen Unterbefehlsfolgen beste- r> henden Verzögerungsforderungen unterschiedlich;
viele auftretende Unterbefehlsfolgen besitzen zudem keine gegenseitige Abhängigkeit. Bei geringem Steueraufwand
und zumindest einem Bit oder einer Bit-Kombinationsanweisung in jedem Mikrobefehl stellt
die in Fig. 1 gezeigte Ausführungsform der Erfindung eine Anlage dar, die Verzögerungsforderungen eindeutig
voneinander abhängiger Vorgänge auf die für diese erforderlichen Unterbefehlsfolgen festlegt.
Fig. 2 zeigt in näheren Einzelheiten eine Ausführungsform, bei der zwei verschiedene Sub-Verarbeitungseinrichtungen
von einem gemeinsamen Datenbzw. Hauptspeicher her betrieben werden. Bei dieser
Ausführungsform umfaßt die eine Sub-Verarbeitungseinrichtung einen Adressengenerator und die 5»
andere eine Rechen- und Verknüpfungseinrichtung. Es sei bemerkt, daß die Adressenerzeugung für den
Hauptspeicher oder Steuerspeicher (Zwischenspeicher) einer zentralen Verarbeitungsanlage viele Formen
besitzen kann, von denen einige ziemlich kompliziert sind. So sind dabei z.B. eine direkte Adressierung,
eine indirekte Adressierung, eine direkte Index-Adressierung und eine indirekte Index-Adressierung
möglich. Beide Adressierungsarten sind weit verbreitet und in allen Fällen sowie für Leeradressen «i
üblich. In großen Rechenanlagen werden häufig neben diesen Arten der Adressierung noch andere Arten
der Adressierung benutzt, und in diesen Fällen wird die Adressenerzeugung wirksamer durch eine gesonderte
Sub-Verkettungseinrichtung vorgenommen, ^
die in bezug auf andere Verarbeitungseinrichtungen asynchron arbeitet, die ihre eigenen Steuerelemente,
Speicherregister und Rechen- sowie Vcrknüpfungsschaltungen besitzen.
Die den Adressengenerator umfassende Sub-Ver arbeitungseinrichtung gemäß Fig. 2 besitzt ein Steuerelement,
das ein Lesespeicher-Adressenregister 32 einen Lesespeicher-Adressengenerator 33 und cir
örtliches Lesespeicher-Register 35 enthält. Die Ausgangssignalc des Registers 35 steuern einen Mikrooperations-Generator
36, der seinerseits Steuersignale an den Adressengenerator 50 abgibt. Dei
Adressengenerator 50 nimmt Befehle von deir Hauptspeicher 30 über das örtliche Speicherregistei
31 und die Folgesteuereinrichtung 39 auf. Die Folgesteuereinrichtung
39 gibt eine Startadresse an da; Adressenregister 32 ab. Bei der dargestellten Ausführungsform
arbeitet der Adressengenerator 33 nach erfolgter Inbetriebsetzung zyklisch unter der Steuerung
eines Taktgenerators 51; das Adressenregistei
32 wird dabei durch eine Schrittsteuereinrichtung 52 mit jedem Zyklus weitergeschaltet. Eine Verzweigung
zu einer anderen Lesespeicher-Folge wird dabei durcF eine Verzweigungs-Mikrooperation über eine Adressengenerator-Adresse
und die Verzweigungs-Verknüpfungsschaltung 53 erreicht. Der Adressengenerator 50 ist an ein Speicheradressenregister 55 de;
Hauptspeichers 30 angeschlossen, um diesem Hauptspeicheradressen zuzuführen. Über einen Steuereingang
56 ist der Mikrooperations-Generator 36 durcl· externe Zustände derart ansteuerbar, daß z. B. Adressengenerator-Mikrooperationen
durch die Ergebnisse des Betriebs der Rechen- und Verknüpfungseinrichtung auslösbar sind. In einigen Fällen hängt eine Entscheidung
darüber, ob eine Verzweigung auszuführer ist oder nicht, von den Ergebnissen eines Rechenschrittes
in der Rechen- und Verknüpfungseinrichtung ab. Die Rechen- und Verknüpfungseinrichtunj
wird ferner von einem Lesespeicher-Steuerelemem gesteuert, das ein Lesespeicher-Adressenregister 42
enthält, welches mit der Recheneinrichtung 43 verbunden ist. Diese Lesespeicher-Recheneinrichtung 42
ist ihrerseits mit einem örtlichen Lesespeicher-Register 45 verbunden. Dieses Register 45 ist seinerseiti
so geschaltet, daß es Steuersignale an einen Mikrooperations-Generator 46 der Rechen- und Verknüp
fungsreinrichtung abzugeben vermag. An den Ausgang des örtlichen Speicherregisters 31 ist eir
Operationskode-Register 58 angeschlossen, das die Startadresse an das Adressenregister 42 abzugeber
vermag. Wie bei der in Fig. 1 dargestellten Ausführungsform werden die Folgesteueradressen für die
Recheneinrichtung von den Lesespeicher-Worten ir einem Feld 47 des örtlichen Registers 45 geliefert
Dabei ist das örtliche Lesespeicher-Registerfeld 4T mit dem Eingang des Adressenregisters 42 verbunden
Für Verzweigungszwecke besitzt der Mikrooperations-Generator 46 einen Ausgang, an dem eine Verzweigungs-Verknüpfungsschaltung
59 der Rechen- und Verknüpfungseinrichtung angeschlossen ist Diese Verknüpfungsschaltung 59 gibt Verzweigungsadressen an das Adressenregister 42 ab. Der Mikrooperations-Generator
46 ist dabei so geschaltet, da£ er Steuersignale an ein Rechen- und Verknüpfungselement 60 abgibt. Dieses Rechen- und Verknüpfungselement
60 besitzt einen mit dem örtlicher Hauptspeicherregister 31 direkt verbundenen Ein·
gang 63 zur Aufnahme von Operanden. Über eine Ausgangsleitung des Rechen- und Vcrknüpfungsele·
mcntes 60 erfolgt eine Ansteuerung von Schrcibschal tungen 65 des Hauptspeichers 30 sowie eine Abgabe
der Ergebnisse der Rechen- und Verknüpfungsoperationen, die in dem Hauptspeicher zu speichern sind.
Die Vcrriegelungs- bzw. Stillsetzoperation bei der in Fig. 2 dargestellten Ausführungsform läuft im wesentlichen
wie folgt ab. Verriegelungszeichen bzw. r> Spcrranzeigebefehle in den Feldern 38 und 48 der örtlichen
Register 35 und 45 sind zweckmäßigerweise Einzelbit-Zeichen, in denen eine »1« dazu dient, das
Vorliegen eines Verriegelungsbefehls bzw. Sperranzeigebefehls anzuzeigen, während eine »0« keine
Verriegelung bzw. Stillsetzung bedeutet. Eine »1« in dem Feld 38 und eine »0« in dem Feld 48 führt zur
Abgabe eines Ausgangssignals von dem Verknüpfungsglied 40 und damit zum Anhalten des Taktgenerators
bzw. der Takteinrichtung 51. Dadurch wird der i> Adressengenerator angehalten, und zwar so lange, bis
ein entsprechendes Bit in dem Feld 48 des Registers 45 auftritt. Eine »1« in dem Feld 48 sperrt das Verknüpfungsglied
40 und ermöglicht, daß die Takteinrichtung 51 ihren Betrieb wieder fortsetzt. Es sei be- -"
merkt, daß die Stillsetz- bzw. Verriegelungsfunktion bei einem Verknüpfungsglied im Eingangskreis der
Takteinrichtung 51 in dem Fall durchgeführt werden kann, daß die Takteinrichtung 51 fortlaufend arbeitet.
Bei Auftreten einer »0« in den Feldern 38 und 48 2>
tritt keine Stillsetzung bzw. Verriegelung auf; die Takteinrichtung 51 setzt dabei ihren Betrieb fort. Die
Verriegelungsoperation der Rechen- und Verknüpfungseinrichtung ist der in Verbindung mit Fig. 1 beschriebenen
Operation ähnlich. Ein Wort der Re- 3« cheneinrichtung, das eine »1« in dem (Verriegelungs-)Feld
4f! besitzt, weist eine Wiederholungs-Adresse in dem Feld 47 auf. Mit einer »1« in dem
Feld 48 und einer »0« in dem Feld 38 ist das Verknüpfungsglied 41 gesperrt, und die Wiederholungs- ir>
Adresse in dem Feld 47 bewirkt, daß das Adressenregister 42 die Adressen desselben Wortes wiederholt.
Mit einer »1« in dem Feld 48 und einer »1« in dem Feld 38 bewirkt ein Ausgangssignal des Verknüpfungsgliedes
41 eine Modifizierung der Adresse in dem Adressenregister 42, und zwar derart, daß das
Steuerelement der Rechen- und Verknüpfungseinrichtung seinen Betrieb fortsetzt. Nachstehend wird
eine allgemeine Funktions- und Operations-Beschreibung der in Fig. 2 dargestellten Anordnung ge- αϊ
geben.
Die zentrale Verarbeitungseinrichtung gemäß Fig. 2 enthält zwei Sub-Verarbeitungseinrichtungen
mit einer Rechen- und Verknüpfungseinrichtung 62 bzw. mit einem Adressengenerator 61. Jede dieser
beiden Sub-Verarbeitungseinrichtungen besitzt einen eigenen Lesespeicher 43 bzw. 33. Die Rechen- und
Verknüpfungseinrichtung 62 und der Adressengenerator 61 arbeiten parallel als zwei voneinander unabhängige
Sub-Verarbeitungseinrichtungen, deren jede r>5
gänzlich von ihrem eigenen Lesespeicher gesteuert wird. Es besteht jedoch eine gewisse Synchronisierung
und Nachrichtenverbindung zwischen beiden Sub-Verarbeitungseinrichtungen. In der Organisation,
Adressierung und Dekodierung bestehen zwischen m> den beiden Sub-Verarbeitungseinrichtungen jedoch
grundsätzliche Unterschiede. Diese Unterschiede rufen in gewissem Ausmaß grundsätzliche Unterschiede
zwischen der Rechen- und Verknüpfungseinrichtung und dem Adressengenerator hervor; sie lassen dabei b5
die Flexibilität und Fähigkeit der Spezialisierung eines Lesespeichers erkennen. Die hohe Geschwindigkeit,
Kompliziertheit und physikalische Größe sind wichtige Bestimmungsgrößen hinsichtlich der Ausführung
der Steuerfunktionen eines Lesespeichers.
Der Adressengenerator 33 steuert folgende Vorgänge:
1. Erzeugung sämtlicher Hauptspeicheradressen (Haupt- und Steuerspeicher),
2. zyklischer Umlaufbetrieb des Steuerspeichers,
3. Erzeugung von die Verbindung von Verarbeitungseinrichtungen betreffenden Datenworten
(in Verbindung mit der Recheneinrichtung).
Die von dem Adressengenerator abgegebenen Wortfolgen steilen einen Satz von grundsätzlichen
Mikrobefehlen dar, aus denen eine Untergruppe dazu ausgewählt werden kann, irgendeine Adresse zu erzeugen
oder aus irgendeinem Steuerspeicherplatz den Inhalt zu lesen oder in diesem zu ändern. Die folgenden
Beispiele typischer Ablauffolgen des Adressengenerators mögen dies verdeutlichen:
1) Periphere Zähleraufnahme; 2) direkte Hauptspeicheradresse;
3) Index-Hauptspeicherverzweigung; 4) Lade-Recheneinrichtungs-Zähler-Typ 1; 5)
Aufnahme von Pufferbits. Das Beispiel der Ablauffolge 1) entspricht einer Folge von Lese- oder
Schreibvorgängen in bezug auf einige spezielle Speicherplätze; Beispiel 2) gibt Ablauffolgen an, die speziellen
Adressentypen zugehörig sind; Beispiel 3) gibt Ablauffolgen an, die einer speziellen Kombination
von Befehlstypen (Verzweigung) und Adressentypen (Index-Hauptspeicher) zugehörig sind; Beispiel 4) ist
typisch für Ablauffolgen, die eine spezielle Kombination von Befehlstypen (Typ 1) und Steuerspeicherplätzen
(Recheneinrichtungs-Zähler) betreffen; Beispiel 5) ist typisch für Ablauf folgen, die spezielle
Befehle betreffen (Aufnahme von Pufferbits).
Tritt ein Befehlswort auf, so leitet die herkömmliche Verknüpfungsschaltung (Folgesteuereinrichtung
39) aus dem Befehlswort selbst die Gruppe der Adressengenerator-Folgen aus, die erforderlich sind,
um sämtliche Speicheradressen zu erzeugen und den Inhalt sämtlicher Steuerspeicherplätze zu lesen bzw.
zu ändern, der für eine Vervollständigung des Befehls erforderlich ist. Die Folgesteuereinrichtung 39 lädt
dann die Adresse des ersten Speicherplatzes der ersten Ablauffolge in das Adressenregister 32. Dieses
Adressenregister 32 wird dann mit Auftreten jedes Taktsignals um eins weitergeschaltet (sofern keine
Verzweigung auftritt), bis die letzte Stelle der Ablauffolge erreicht ist. Zu diesem Zeitpunkt lädt die Folgesteuereinrichtung
39 die Adresse der ersten Stelle der nächsten Ablauffolge in das Adressenregister 32.
Wenn die letzte Stelle der letzten Ablauffolge erreicht ist, lädt die Folgesteuereinrichtung 39 die Adresse der
ersten Stelle der ersten Ablauffolge des nächsten Befehls in das Adressenregister 32. Der betrachtete Vorgang
wiederholt sich dann von neuem.
Wie oben angedeutet, besitzt der Adressengenerator 33 Einrichtungen zur Verzweigung, d.h. zum
Übergang von irgendeiner Speicherstelle zu irgendeiner anderen Speicherstelle, und zwar in Abhängigkeit
von vorliegenden Bedingungen oder bedingungslos und unter seiner eigenen Steuerung. Die Verzweigung
dient dabei dazu, Speicherstellen zu erhalten und eine Befehlsausführung durch Schleifenbildung innerhalb
einer Folge zu beschleunigen, oder durch Springen auf einen Teil einer anderen Folge oder auf irgendeinen
anderen Teil des Lesespeichers. Normalerweise arbeitet das Adressenregister 32 innerhalb einer Ablauffolgc
schrittweise mit jedem Taktimpuls bis zur
letzten Speicherstelle hin, sofern nicht eine Verzweigung auftritt. Nach erfolgter Verzweigung läuft die
normale Schrittschaltung des Lesespeicher-Adressenregisters 32 weiter.
Der Adressengenerator33enthält z.B. 54 Ablauffolgen
aus jeweils zwei (Direkt-Hauptspeicheradressen)-Wörtern zu 102 (peripheren Befehls-)Wörtern;
dabei sind acht Wörter pro Ablauffolge typisch. Die Erzeugung jeder Speicheradresse erfordert die Anwendung
jeweils einer (Direkt-Hauptspeicher-)Ablauffolge zu vier (peripheren Zählerabgabe-)Ablauffolgen;
zwei Ablauffolgen pro Adresse sind typisch. Bei jeder zu erzeugenden Adresse stellen die speziell
benutzten Ablauffolgen und die Befehle, in welchen diese Ablauffolgen benutzt werden, eine komplizierte
Funktion des jeweiligen Befehls, des Adressentyps und der umfaßten Steuerspeicherstellen dar. Dabei
kann die Erzeugung der Α-Adresse für einen binären Additionsbefehl jeweils zwei voneinander verschiedene
Reihen von Ablauffolgen umfassen, und zwar wegen der Unterschiede in den Adressentypen.
Selbstverständlich könnte eine bestimmte Ablauffolge bei vielen verschiedenen Befehlen benutzt werden.
Die Recheneinrichtung 62 führt folgende Steuervorgänge aus: 1. Steuerung von Operanden, 2. Zyklisches
Betreiben des eine kleine Kapazität besitzenden Recheneinrichtungs-Zwischenspeichers, 3. Erzeugung
von Datenwörtern (in Verbindung mit dem Adressengenerator 61) betreffend die Verbindung der
Verarbeitungseinrichtungen.
Um den Lesespeicher 43 in wirtschaftlichster Weise
auszunutzen, sind die Maschinenbefehle ζ. Β in 50 Gruppen eng verwandter Befehle angeordnet; dabei
ist für jede Gruppe eine andere Recheneinrichtungs-Lesespeicherfolge vorgesehen. So enthält z.B. die
Festadditions-Folge die Befehle Dezimal-Addition, Binär-Addiiion, Dezimal-Subtraktion, Binär-Subtraktion,
erweiterte Binär-Addition und erweiterte Binär-Subtraktion. Besondere Varianten erfolgen
durch Verzweigung.
Tritt ein Befehlswort auf, so werden die Operationskodebits in einem Operationskoderegister 58 gespeichert.
Wenn der gerade aufgetretene Befehl vollständig verarbeitet ist (und keine Fehler festgestellt
worden sind), dann wird der Inhalt des Operationskoderegisters zu dem Adressenregister 42 hin übertragen.
Die somit adressierte Lesespeicherstelle wird als Operationskodestelle bezeichnet; für jeden Maschinenoperationskode
ist eine Operationskodestelle vorgesehen.
Verschiedene Bits jedes Lesespeicher-Wortes werden als nächste Adresse in dem Feld 47 zurückbehalten.
Normalerweise bezeichnet das Adressenfeld 47 den nächsten Wert des Adressenregisters 42. Eine
Ausnahme hiervon bildet die Eingabe einer Ablauffolge oder das Auftreten einer Verzweigung innerhalb
einer Ablauffolge. Das nächste Adressenfeld einer Operationskodestelle gibt die Adresse des ersten
Wortes derjenigen Ablauffolge an, die zur Ausführung des Befehls benutzt wird. So ist z.B. die nächste
Adresse der Binärsubtraktions-Operationskodestelle die Adresse der ersten Stelle der Festadditions-Folge.
Dieses Adressenverfahren erlaubt eine vollkommene Flexibilität in der Datenzusammenstellung, wobei jedes
Lesespeicherwort das nächste Lesespeicherwort bezeichnet.
Eine Verzweigung wird angewandt: 1. Zum Festlegen einer Ablauffolge für einen besonderen Befehl
innerhalb einer Befehlsgruppe, 2. zum Berücksichtigen
von Änderungen in den Adressenformen und 3. zum Berücksichtigen von operandenabhängigen Zuständen.
So liegt z.B. eine Verzweigung, die eine Festadditions-Folge spezialisiert, in folgendem Fall
vor: Dezimalsubtraktion, Leer-A-Adresse, Akkumulator- und B-Operanden entsprechender Vorzeichen,
Wert des B-Operanden ist größer als Wert des Akkumulators.
Die Verzweigung wird durch Verzweigungs-Mikrooperationen gesteuert, die in gegenseitig sich ausschließenden
Gruppen angeordnet sind. Jede Verzweigungs-Mikrooperation bezieht sich auf eine bestimmte Untergruppe von Verzweigungsvorgängen
und auf ein bestimmtes Bit der Bits des Adressenregisters 42. Eine Verzweigungs-Mikrooperation »besagt«,
daß in dem Fall, daß bezeichnete Zustände auftreten, das bezeichnete Adressenregister-Bit auf » 1«
gesetzt werden sollte. Wenn der Inhalt des nächsten Adressenfeldes in das Adressenregister geladen wird,
überlagern die aktiven Verzweigungs-Mikrooperationen ausgewählte externe Zustände betreffende Daten
über ausgewählte Bits des Adressenregisters.
Um die Bedeutung der vorliegenden Erfindung zu erläutern, ist in dem in Fig. 3 dargestellten Flußdiagramm
ein Beispiel sehr einfacher Vorgänge veranschaulicht, die das zur Erfindung gehörige Verriegelungs-Konzept
benutzen.
Das im folgenden gegebene Beispiel betrifft einen einfachen Vergleich eines Α-Operanden mit einem
B-Operanden. Der Befehl von dem Hauptspeicher 30 befiehlt dem Adressengenerator 61, die A-Operanden-Adresse
zu erzeugen. Der Befehl von dem Hauptspeicher 30 befiehlt ferner der Recheneinrichtung,
den Α-Operanden aufzunehmen. Üblicherweise verhindert eine festverdrahtete Verknüpfungsschaltung,
daß die Recheneinrichtung fortschaltet, bevor sie den Α-Operanden aufgenommen hat. Bei dem hier
beschriebenen Ausführungsbeispiel sind die meisten Verzögerungseinrichtungen, die durch mangelnde
Zugriffsfähigkeit zu dem Hauptspeicher erforderlich sind, fest verdrahtet. Da dies herkömmlich ist und keinen
Teil der Erfindung bildet, wird hierauf nicht näher eingegangen.
Der Adressengenerator läuft während der erforderlichen Lesespeicherzyklen, um die A-Operanden-Adresse
zu erzeugen. Dies ist in Fig. 3 durch drei Zyklen angedeutet. Während dieser Zeitspanne kann
die. Rechen- und Verknüpfungseinrichtung in der durch die gestrichelte Linie 70 angedeuteten Weise
angesteuert werden.
Wenn die A-Operanden-Adresse erzeugt ist, wird sie dem Adressenregister 55 zugeführt, in welchem
dann der Α-Operand verfügbar ist. Die Verfügbarkeit des Α-Operanden führt zum erneuten Fortschalten
des Lesespeichers 43 der Rechen- und Verknüpfungseinrichtung 62. Fig. 3 veranschaulicht dabei, daß der
Lesespeicher 43 zur Aufnahme des Operanden A zwei Zyklen durchläuft. Es sei bemerkt, daß die Anzahl
der für jede Operation dargestellten Zyklen nur der Erläuterung dient und daß in typischen Fällen hierfür
eine relativ große Anzahl an Zyklen erforderlich ist, wie z.B. acht. '
Der Adressengenerator 61 setzt unmittelbar auf die Vervollständigung der A-Operanden-Adresse seinen
Betrieb fort, um die B-Operanden-Adresse zu erzeugen. Da mit einem einzigen Befehlswort die Erzeugung
der A-Operanden-Adresse und der B-Operan-
2»
23
den-Adresse erfaßt sein kann, sind die durch den Adressengenerator umfaßten Verzögerungen bis zu
diesem Punkt durch dessen interne Verarbeitungszeit zuzüglich der Verzögerungszeit der Nichtverfügbarkeit
des Hauptspeichers gegeben. Nach Beendigung r> der Erzeugung der B-Operanden-Adresse muß der
Adressengenerator auf die Ergebnisse des Vergleichs der Rechen- und Verknüpfungseinrichtung warten,
um seine nächste Befehlsadresse zu erhalten. Bei Fehlen eines Vergleichsergebnisses würde z.B. der be- w
ueffende Adressengenerator die Adresse des nächsten Folgebefehls ableiten, während bei Auftreten
eines Vergleichsergebnisses eine Verzweigung des Adressengenerators zur Berechnung einer Verzweigungsadresse
und für die Speicherstelle des nächsten Befehls verwendet würde.
Das dem Adressengenerator zum Zwecke des Wartens zugeführte Signal besitzt die Form eines Sperranzeigebefehls
in dem letzten Wort der »Erzeuge-B-Adresse«-Folge. Dies ist in Fig. 3 durch einen mit
»Zyklus 3 - Verriegelung« bezeichneten Block angedeutet.
Zurückkommend auf Fig. 2 sei bemerkt, daß ein Sperranzeigebefehl von dem Adressenregister die
Takteinrichtung 51 sperrt und damit das Fortschalten des Adressengenerators 33 unterbindet.
Die Rechen- und Verknüpfungseinrichtung setzt ihren Betrieb fort, indem sie zunächst den B-Operanden
aufnimmt und dann den Α-Operanden mit dem B-Operanden vergleicht. Der Vergleich erfordert eine
Folge von Lesespeicherzyklen 1 bis 6. Diese Anzahl an Zyklen ist hier rein willkürlich für die Vergleichsfolge gewählt. Eine gestrichelte Linie 71 vertritt dabei
nicht dargestellte Zyklen. Das letzte Wort der Vergleichsfolge liefert eine Sperr- bzw. Verriegelungsan- r>
zeigebefehl, der durch einen mit »Zyklus 6 - Verriegelung« bezeichneten Block angedeutet ist. Dieser
Sperranzeigebefehl gibt die Takteinrichtung 51 frei (siehe Fig. 2), indem das Verknüpfungsglied 40 gesperrt
wird. Damit ist dem Adressengenerator eine Information darüber zugeleitet, daß die Vergleichsergebnisse
verfügbar sind. Dadurch wird der Adressengenerator wieder fortgeschaltet. Die in Fig. 3 dargestellte
gestrichelte Linie 72 soll die Verzögerungszeitspanne andeuten, während der der Adressengenerator
auf die Ergebnisse des A/B-Vergleichü wartet.
Mit Auftreten eines Sperranzeigebefehls von der Rechen- und Verknüpfungseinrichtung wird der
Adressengenerator fortgeschaltet, und die A/B-Vergleichsergebnisse
werden als externe Zustandsgrößen -,0 dem Eingang 56 des Mikrooperations-Generators 36
zugeführt (siehe Fig. 2).
Zurückkomend auf Fig. 3 sei bemerkt, daß der durch den mit »Wenn A = B ist, setze Verzweigungs-Anzeige«
bezeichneten Block festgelegte Vor- ϊί gang die Abgabe der Verzweigungs-Anzeige des
Adressengenerators mit Auftreten der Ergebnisse der Rechen- und Verknüpfungseinrichtung auslöst. Die
gestrichelte Linie 75 deutet dies an. Das Auftreten eines Vergleichsergebnisses kann z. B. die Abgabe ei- oo
ner Verzweigungs-Operation mit sich bringen, die durch den mit »Verzweigung« bezeichneten Block
angedeutet ist. Ein Nicht-Vergleich kann z. B. zu einer Fortsetzung der Ablauffolge »keine Verzweigung«
führen. Die beiden Ablauffolgen führen in Abhängig- h5 keit von den Vergleichsergebnisscn zur Abgabe von
Adressen für unterschiedliche Befehle.
Das Auftreten eines Sperranzeigebefehls von dem Adressengenerator, wie dies durch die gestrichelte Linie
75 angedeutet ist, und zwar nach Auftreten eines Sperranzeigebefehls von der Rechen- und Verknüpfungseinrichtung,
ermöglicht, der Rechen- und Verknüpfungseinrichtung, ihren Betrieb fortzusetzen.
Wäre der Sperranzeigebefehl von dem Adressengenerator nicht aufgetreten, so würde die Rechen- und
Verknüpfungseinrichtung fortfahren, auf das letzte Wort hin zyklisch weiterzuarbeiten.
Die Fortschaltung der Rechen- und Verknüpfungseinrichtung kann unterbunden werden, und zwar auch
bei Auftreten eines Sperranzeigebefehls von dem Adressengenerator infolge Fehlens eines weiteren
Befehls.
Das in Fig. 3 dargestellte Flußdiagramm veranschaulicht eine Unterbefehlsfolge, die eine Verriegelung
zwischen den beiden in Fig. 2 gezeigten Sub-Verarbeitungseinrichtungen erfordert. Betrachtet
man diese beiden Sub-Verarbeitungseinrichtungen, so zeigt sich, daß einige Unterbefehlsfolgen eine Verriegelung
nicht erforderlich machen. So ist z.B. bei dem Befehl »Addiere A und B und führe die Summe in
das Speicherregister X ein« keine.der zu erzeugenden Adressen von den Ergebnissen der Rechen- und Verknüpfungseinrichtung
abhängig. Damit kann der Adressengenerator seinen Betrieb fortsetzen und Adressen erzeugen, einschließlich den nächsten Befehl
und die Adressen, die der nächste Befehl erfordert. Der Betrieb kann dabei mit der maximalen Arbeitsgcschwindigkeit
erfolgen, die lediglich durch den Zugriff zu dem Hauptspeicher begrenzt ist. Die Rechen-
und Verknüpfungseinrichtung arbeitet ebenfalls mit voller Geschwindigkeit; eine Ausnahme hiervon
bildet der Speicherzugriff. Damit ist die Ablauffolge durch unnötige Verzögerungen nicht behindert. Die
(Lesespeicher-)Verriegelungen werden eindeutig auf sie erfordernde Ablauffolgen hin ausgeführt. Eine zusätzliche
Verknüpfung wird dazu benutzt zu verhindern, daß Operanden auftreten, bevor die Rechen-
und Verknüpfungseinrichtung sie aufnehmen kann, oder daß Ergebnisse früher auftreten, als die
Rechen- und Verknüpfungseinrichtung sie abgeben kann.
Die Befehls-Vorschau-Merkmale der beschriebenen Ausführungsformen gehen aus den Zeichnungen
nicht unmittelbar hervor. Gemäß Fig. 2 enthält das Adressengeneratorelement 50 vorzugsweise eine
Vielzahl von Registern zur Aneinanderreihung von während des Betriebs fortzuschaltenden Hauptspeicheradressen.
Dies ermöglicht dem Adressengenerator 61, die Erzeugung von Adressen auch dann fortzusetzen,
wenn die Rechen- und Verknüpfungseinrichtung 62 diese noch nicht verwenden kann. Da sowohl
die Rechen- und Verknüpfungseinrichtung 62 als auch der Adressengenerator 61 ihren jeweiligen Betrieb
unter Mikroprogrammsteuerung ausführen, die unabhängig von dem jeweiligen Anfangsbefehl ist, kann
der Adressengenerator 61 einen Befehl herausziehen und mit der Adressenerzeugung beginnen, während
die Rechen- und Verknüpfungseinrichtung 62 noch den vorangehenden Befehl verarbeitet. Diese Vorschau-Betriebsart
ist in der vorliegenden Erfindung stark vereinfacht, da die Verriegelungen, die durch
Anzeige-Bits in den Mikrobefehlen ausgelöst werden, den notwendigen Schutz bei den kritischen Punkten
liefern, an denen die Verarbeitungseinrichtungs-Operationen stimmen müssen. Wie aus der vorstehenden
Erläuterung hervorgehen dürfte, sind die Kompli-
ziertheit und der Preis des Hardware-Aufwandes, der für diesen Verriegelungs-Schui.: erforderlich ist, vernachlässigbar.
Vorstehend ist die Erfindung an Hand spezieller Ausführungsbeispiele mit nur zwei Sub-Verarbeitungseinrichtungen
erläutert worden. Die Erfindung ist jedoch auch in Fällen anwendbar, in denen drei
oder mehr Sub-Verarbeitungseinrichtungen die Sperrung bzw. Stillsetzung von Verarbeitungsvorgängen
erfordern. Die jeweils verwendeten besonderen Anordnungen von Verknüpfungsgliedern hängen dabei
in gewissem Ausmaß von der Art der verwendeten Folgesteuereinrichtungen ab. Fig. 1 zeigt dabei eine
im wesentlichen symmetrische Anordnung, während Fig. 2 den Aufbau einer Sub-Verarbeitungseinrich-
tung veranschaulicht, deren Betrieb durch einen Sperranzeigebefehl aufhaltbar ist. Die andere Sub-Verarbeitungseinrichtung
setzt ihren Zyklus in Abhängigkeit von einem Sperranzeigebefehl auf ein ein-■'
zelnes Wort hin fort.
Beider in Fig. 2 dargestellten Ausführungsform ist es ferner häufig erwünscht, die beiden Sub-Verarbeitungseinrichtungen
im Master-Slave-Betrieb arbeiten zu lassen. Durch Wegnahme oder Sperrung des Verii'
knüpfungsgliedes 40 wird lediglich der Betrieb der Rechen- und Verknüpfungseinrichtung 62 durch einen
Sperranzeigebefehl aufgehalten. Ein Sperranzeigebefehl von dem Adressengenerator 61 gibt dann die
Rechen- und Verknüpfungseinrichtung 62 als Mari ster-Einrichtung wieder frei.
Hierzu 3 Blatt Zeichnungen
Claims (7)
1. Steuerschaltung für ein elektronisches Datenverarbeitungssystem
mit einem Hauptspeicher, mit wenigstens einer einen Adressengenerator enthaltenden ersten Sub-Verarbeitungseinrichtung,
mit wenigstens einer eine zweite Sub-Verarbeitungseinrichtung darstellenden Rechen- und
Verknüpfungseinrichtung, wobei die Sub-Verarbeitungseinrichtungen insbesondere zur Ausführung
von voneinander unabhängigen Befehlen dienen, und mit Folgesteuereinrichtungen in Form
von Mikroprogrammsteuerwerken, welche Mikrobefehle zur Steuerung elementarer Operationen
abgeben, wobei eine aufeinanderfolgende Fortschaltung von Mikrobefehlswörttrn in den
Folgesteuereinrichtungen erfolgt und wobei in jedem Mikrobefehlswort funktioneile Bits enthalten
sind, dadurch gekennzeichnet, daß am Ausgang jeder der zwei Folgesteuereinrichtungen (13,
23) ein Register (15; 25) angeschlossen ist, in welchem jeweils ein Mikrobefehl und ein gegebenenfalls
zusammen mit diesem auftretender Sperranzeigebefehl speicherbar sind, der einen Abschluß
von durch Mikrobefehle von der dem jeweiligen Register (15; 25) zugehörigen Folgesteuereinrichtung
(13; 23) gesteuerten Vorgängen festlegt, und daß durch die in den beiden Registern (15,
25) gegebenenfalls enthaltenen Sperranzeigebefehle den beiden Folgesteuereinrichtungen (13,
23) zugehörige Verknüpfungsschaltungen (20,21) derart steuerbar sind, daß bei Vorhandensein eines
Sperranzeigebefehles in lediglich einem der Register (15, 25) die aufeinanderfolgende Weiterschaltung
von Mikrobefehlswörtern in der diesem Register (15; 25) zugehörigen Folgesteuereinrichtung
(13; 23) so lange stillsetzbar ist, bis auch in dem der anderen Folgesteuereinrichtung
(23; 13) zugehörigen Register (25; 15) ein entsprechender Sperranzeigebefehl auftritt, auf dessen
Auftreten hin dann die Weiterschaltung von Mikrobefehlswörtern in beiden Folgesteuereinrichtungen
(13, 23) freigebbar ist.
2. Steuerschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Folgesteuereinrichtungen
(13, 23) durch Lesespeicher gebildet sind, deren Speicherinhalt lediglich außerhalb des Normal-Betriebs
elektrisch änderbar ist.
3. Steuerschaltung nach Anspruch 2, dadurch gekennzeichnet, daß die Lesespeicher durch
adressierbare Speichermatrizen gebildet sind.
4. Steuerschaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Folgesteuereinrichtungen
(13, 23) zur aufeinanderfolgenden Fortschaltung von insbesondere dem Adressengenerator
(50) zuzuführenden Mikrobefehlswörtern einen Taktgenerator (51) enthalten.
5. Steuerschaltung nach Anspruch 4, dadurch gekennzeichnet, daß die Abgabe von Taktimpulsen
von dem Taktgenerator (51) durch entsprechende Ansteuerung von Verknüpfungsschaltungen
(40, 41) unterbrechbar ist.
6. Steuerschaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß durch die Verknüpfungsschaltungen
(40, 41; 38, 48) eine Wiederholungsadresse des jeweils vorliegenden Mikrobefehlswortes
in der entsprechenden Folge
steuereinrichtung (13; 23) abgebbar ist.
7. Steuerschaltung nach Anspruch 6, dadurch gekennzeichnet, daß die Wiederholungsadresse
durch die Verknüpf ungsschaliungen (40, 41; 38, 48) modifizierbar ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71849368A | 1968-04-03 | 1968-04-03 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1915818A1 DE1915818A1 (de) | 1969-11-06 |
DE1915818B2 true DE1915818B2 (de) | 1978-05-03 |
DE1915818C3 DE1915818C3 (de) | 1979-01-04 |
Family
ID=24886273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1915818A Expired DE1915818C3 (de) | 1968-04-03 | 1969-03-27 | Steuerschaltung für ein elektronisches Datenverarbeitungssystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US3651482A (de) |
JP (1) | JPS524140B1 (de) |
DE (1) | DE1915818C3 (de) |
FR (1) | FR2005426A1 (de) |
GB (1) | GB1258801A (de) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3810119A (en) * | 1971-05-04 | 1974-05-07 | Us Navy | Processor synchronization scheme |
FR2136845B1 (de) * | 1971-05-07 | 1973-05-11 | Inf Cie Intern | |
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
US3891972A (en) * | 1972-06-09 | 1975-06-24 | Hewlett Packard Co | Synchronous sequential controller for logic outputs |
US3931505A (en) * | 1974-03-13 | 1976-01-06 | Bell Telephone Laboratories, Incorporated | Program controlled data processor |
US3978454A (en) * | 1974-06-20 | 1976-08-31 | Westinghouse Electric Corporation | System and method for programmable sequence control |
JPS5121453A (ja) * | 1974-08-15 | 1976-02-20 | Hitachi Ltd | Deetashorishisutemu |
US3953833A (en) * | 1974-08-21 | 1976-04-27 | Technology Marketing Incorporated | Microprogrammable computer having a dual function secondary storage element |
JPS5216974U (de) * | 1975-07-24 | 1977-02-05 | ||
US4320453A (en) * | 1978-11-02 | 1982-03-16 | Digital House, Ltd. | Dual sequencer microprocessor |
US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
US4399516A (en) * | 1981-02-10 | 1983-08-16 | Bell Telephone Laboratories, Incorporated | Stored-program control machine |
US4750110A (en) * | 1983-04-18 | 1988-06-07 | Motorola, Inc. | Method and apparatus for executing an instruction contingent upon a condition present in another data processor |
JPH081604B2 (ja) * | 1983-07-25 | 1996-01-10 | 株式会社日立製作所 | マイクロプロセッサ |
US5165033A (en) * | 1983-07-25 | 1992-11-17 | Hitachi, Ltd. | Microprocessor and data processor using the former |
US5093775A (en) * | 1983-11-07 | 1992-03-03 | Digital Equipment Corporation | Microcode control system for digital data processing system |
JPS61110256A (ja) * | 1984-11-02 | 1986-05-28 | Hitachi Ltd | 複数の演算部を有するプロセツサ |
CA1271561A (en) * | 1986-07-02 | 1990-07-10 | Jeffry M. Bram | Instruction decoding microengines |
JPH06103494B2 (ja) * | 1986-11-18 | 1994-12-14 | 株式会社日立製作所 | ベクトル処理装置の制御方式 |
US4853849A (en) * | 1986-12-17 | 1989-08-01 | Intel Corporation | Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction |
US4979104A (en) * | 1987-03-31 | 1990-12-18 | Bull Hn Information Systems Inc. | Dual microprocessor control system |
US4965721A (en) * | 1987-03-31 | 1990-10-23 | Bull Hn Information Systems Inc. | Firmware state apparatus for controlling sequencing of processing including test operation in multiple data lines of communication |
US4945473A (en) * | 1987-05-15 | 1990-07-31 | Bull Hn Information Systems Inc. | Communications controller interface |
US5222237A (en) * | 1988-02-02 | 1993-06-22 | Thinking Machines Corporation | Apparatus for aligning the operation of a plurality of processors |
US5117387A (en) * | 1988-08-18 | 1992-05-26 | Delco Electronics Corporation | Microprogrammed timer processor |
US5081609A (en) * | 1989-01-10 | 1992-01-14 | Bull Hn Information Systems Inc. | Multiprocessor controller having time shared control store |
US5043879A (en) * | 1989-01-12 | 1991-08-27 | International Business Machines Corporation | PLA microcode controller |
US5761473A (en) * | 1993-01-08 | 1998-06-02 | International Business Machines Corporation | Method and system for increased instruction synchronization efficiency in a superscalar processsor system utilizing partial data dependency interlocking |
JPH0887411A (ja) * | 1994-09-19 | 1996-04-02 | Fujitsu Ltd | パイプライン演算方法およびパイプライン演算装置 |
JP2007317152A (ja) * | 2006-05-29 | 2007-12-06 | Yuundo:Kk | 情報処理装置 |
US7526638B1 (en) * | 2008-03-16 | 2009-04-28 | International Business Machines Corporation | Hardware alteration of instructions in a microcode routine |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3248708A (en) * | 1962-01-22 | 1966-04-26 | Ibm | Memory organization for fast read storage |
US3319226A (en) * | 1962-11-30 | 1967-05-09 | Burroughs Corp | Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs |
US3312951A (en) * | 1964-05-29 | 1967-04-04 | North American Aviation Inc | Multiple computer system with program interrupt |
US3348210A (en) * | 1964-12-07 | 1967-10-17 | Bell Telephone Labor Inc | Digital computer employing plural processors |
US3462741A (en) * | 1966-07-25 | 1969-08-19 | Ibm | Automatic control of peripheral processors |
US3480917A (en) * | 1967-06-01 | 1969-11-25 | Bell Telephone Labor Inc | Arrangement for transferring between program sequences in a data processor |
-
1968
- 1968-04-03 US US718493A patent/US3651482A/en not_active Expired - Lifetime
-
1969
- 1969-01-23 GB GB1258801D patent/GB1258801A/en not_active Expired
- 1969-01-31 JP JP44006815A patent/JPS524140B1/ja active Pending
- 1969-03-25 FR FR6908776A patent/FR2005426A1/fr active Pending
- 1969-03-27 DE DE1915818A patent/DE1915818C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1258801A (de) | 1971-12-30 |
DE1915818A1 (de) | 1969-11-06 |
DE1915818C3 (de) | 1979-01-04 |
JPS524140B1 (de) | 1977-02-01 |
US3651482A (en) | 1972-03-21 |
FR2005426A1 (de) | 1969-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1915818C3 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
DE3210816C2 (de) | ||
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2714805C2 (de) | ||
DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
DE1815078C3 (de) | Elektronisches Datenverarbeitungssystem | |
DE3424962C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE2322674A1 (de) | Mikroprogramm-steuereinrichtung | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
DE2725396C3 (de) | ||
DE19524402C2 (de) | Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge | |
EP0134831B1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE2744359C2 (de) | ||
DE3447530C2 (de) | ||
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3314139C2 (de) | ||
DE2545751C2 (de) | Ablaufsteuerung für eine Datenverarbeitungsanlage | |
DE1499224B2 (de) | Datenverarbeitungsanlage mit kellerspeichereinrichtungen | |
DE3435741C2 (de) | ||
DE2519168A1 (de) | Umlaufendes schieberegister | |
DE2936801C2 (de) | Steuereinrichtung zur Ausführung von Instruktionen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |