DE1915818A1 - Elektronisches Datenverarbeitungssystem - Google Patents
Elektronisches DatenverarbeitungssystemInfo
- Publication number
- DE1915818A1 DE1915818A1 DE19691915818 DE1915818A DE1915818A1 DE 1915818 A1 DE1915818 A1 DE 1915818A1 DE 19691915818 DE19691915818 DE 19691915818 DE 1915818 A DE1915818 A DE 1915818A DE 1915818 A1 DE1915818 A1 DE 1915818A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- locking
- data processing
- devices
- 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
- 230000015654 memory Effects 0.000 claims description 104
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 241000196324 Embryophyta Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010012335 Dependence Diseases 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 101100209759 Xenopus laevis vex1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 102220040924 rs587778543 Human genes 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or 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 or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
Description
Elektronisches Datenverarbeitungssystem
Die Erfindung bezieht sich auf ein elektronisches Datenverarbeitungssystem.
Da Rechenanlagen immer verwickelter und komplizierter werden, steigen ihre Kosten. Es besteht daher der Wunsch, bei Rechenanlagen
einen höheren Durchsatz zu erzielen. Die größeren und komplizierteren Rechenanlagen besitzen im allgemeinen
schnelle Zugriffs-Hauptspeicher großer Kapazität.
Da mit zunehmender Speichergröße nicht automatisch eine Zunahme der Geschwindigkeit der Speicheradressierung und des
Zugriffs verbunden ist, sondern im allgemeinen eine Geschwindigkeit sabnähme, ist es wichtig, den Hauptspeicher des
,jeweiligen Datenverarbeitungssystems bei seiner höchstmöglichen Geschwindigkeit zu betreiben. Versuche, einen Hauptspeicher
zur Erzielung eines höheren Durchsatzes auszunutzen, haben zu Vielfach-Verarbeitungsanlagen, zu Vielfach-Programmierungen
und zur Anwendung von Einrichtungen mit
909845/U1S
"Vorschau-'-Merkmalen geführt. Dabei hat sieb, eine beträchtliche
Verkomplizierung der Verkehrssteuerung für periphere Einrichtungen ergeben.
Der Ausdruck "Vielfach.—Verarbeitungsanlage" wird hier zur
Bezeichnung eines elektronischen Datenverarbeitungssj-scems
benutzt, in welchem zwei oaer mehr Verarbeitungseinrichtungen asynchron und in paralleler Wechselbeziehung arbeiten, und
zwar in einem solchen Ausmaß, daß sie verschiedentlich gleichzeitig an getrennten Teilen ein und desselben Problems arbeiten.
Das Konzept der Vielfach-Verarbeitungsanlagen bringt einen
erheblichen Aufwand an zusätzlicher und redundanter Hardware mit sich. Die Verarbeitungseinrichtungen benutzen nämlich
eigene Adressengeneratoren, eigene interne Speicher sowie Rechen- und Verjmüpfungseinx'ichtun^en. In komplizierten
Systemen kann bereits die Adressenerzeugung für sich einen beträchtlichen Hardware—Aufwand erfordern. Ferner sind
normalerweise auch für die Erzielung der "Vorschau"~MerkmaXe
und für Verbindungen zwischen den Verarbeitungseinrichtungen
als Hardv/are bezeichnete Baugruppen und Geräte erforderlich..
Hit dem generellen Begriff "Vorschau" wird hier die Fähigkeit einer Anordnung bezeichnet, Programmbefehle iia Programs—
ablauf zu überprüfen und z.B. ggfs. mit der Ausführung des nächsten Befehls zu beginnen, bevor der gerade vorliegende
Befehl ausgeführt ist. Diese Möglichkeit ergibt sich z.B. dann, wenn der nächste Befehl bis zu einem bestimmten Punkt
durch eine gesonderte Verarbeitungseinrichtung ausgeführt werden kann und nicht die Ergebnisse der Ausführung des gerade
vorliegenden Befehls benötigt. Durch Verriegelungen v/ird dabei der betreffende Punkt bei ^jeder Verarbeitungseinrichtung
für jeden Befehl festgelegt.
IÖ 9 8 4 S / 1 41 S - bad
-■5 -
Die Re-· .Isierung der "Vorschau11-Eigenschaft ist normalerweise
kompliziert und im Hinblick auf den Hardware-Aufwand
ziemlich teuer. Daher besteht häufig der Wunsch, die für die Realisierung der "Vorschau"-Sigenschaft vorzusehende
Verknü». fungsschaltung zu minimisieren sowie den Verarbeitungseinrichtungen
neue Befehle so*schnell zuzuführen, wie die betreffenden Verarbeitungseinrichtungen hierfür wieder
aufnahmebereit sind. Zwischen den Verarbeitungseinrichtungen
soll dabei ein Querverbindungsbetrieb erfolgen. Der Querverbindungsbetrieb
kann es erforderlich, machen, daß eine Ver- ^rbeitungseinrichtung stillgesetzt wird, wenn sie auf die
Ergebnisse der Verarbeitung in einer anderen Verarbeitungseinrichtung warten muß. Unglücklicherweise ist bei dieser
Betriebsart eine entsprechende Querverbindung schwierig zu
erzielen, wenn eine bestimmte Flexibilität oder Wirtschaftlichkeit
erreicht werden soll, und normalerweise führt eine solche Verbindung zu unnötigen Verzögerungen und/oder zu
einer unerwünschten Erhöhung des Hardware-Aufwandes.
In elektronischen Datenverarbeitungsanlagen tritt das generelle Problem auf, zwischen einer zentralen Verarbeitungseinrichtung
und periphere» Eingabe- und Ausgabe-Einrichtungen sowie zwischen individuellen Eingabe- und Aus[;abe-Einrichtungen
und zwischen Verarbeitun£seinrichtungen in einer Vielfach-Verarbeitungsanlage Verbindungen herzustellen.
In derartigen Fällen ist es unerwünscht, den Synchronbetrieb
•auszuweiten, da dadurch die jeweils betroffenen Einrichtungen
mit der langsamsten Arbeitsgeschwindigkeit arbeiten, ohne daß dazu eine spezielle Forderung besteht. Im Hinblick
auf die peripheren Einrichtungen ist es erforderlich, kompliziert e Eingabe-/Ausgabe-Verkehrs-Steuereinrichtungen vorzusehen
und ggfs. nach dem Kultiplenprinzip zu benutzen. Bei
Yielfach-Verarbeitungsanlagen ist normalerweise ein gewisses
Maß an Software-Einrichtungen zur LL":nni: der speziellen
909845/1415
BAD
Probleme, die dem Programmierer gegenüber bestehen, erforderlich. Dies bedeutet, daß der Programmierer zur
Festlegung von Befehlen bei verschiedenen Verarbeitungseinrichtungen Befehle abgeben muß, die den betreffenden
Verarbeitungseinrichtungen angeben, wann sie aufeinander
zu warten haben. Derartige, insbesondere für den Betrieb mit Vielfach-Verarbeitungsanlagen ausgelegte Rechner
umfassen als Hardware Zähler, mit deren Hilfe dem Programmierer das Programmieren der Synchronisationspunkte
zwischen den asynchron und parallel arbeitenden Rechnern erleichtert ist.
Bei der Datenverarbeitung tritt das generelle Problem auch dann auf, wenn zwei oder mehr Sub-Verarbeitungseinrichtungen
gleichzeitig auf dieselben Befehle hin arbeiten.
Die "Software-Lösung" ist hier nicht anwendbar, das das r
ddjiNßh
Problem in der sogenannten "Mikroweit11 auftritt, in der/die
Maschine die elementaren Operationen in einem derart detaillierten Ausmaß ausgeführt werden, das zu weitläufig
für eine effektive Behandlung durch Programmbefehle von der "Mikroweit11 des Programmierers aus ist. In der Maschine
muß dabei praktisch die Fähigkeit eingebaut sein, Sub-Verarbeitungseinrichtungen
an kritischen Verarbeitungspunkten anzuhalten.
Bei der Lösung des betreffenden Problems zu beachtende besondere Punkte sind:
1. Eine Sub-Verarbeitungseinrichtung sollte eine "Vorausschau"
des nächsten Befehls vornehmen und mit ihrem Betrieb bereits beginnen können, währenddessen eine andere Sub-Verarbeitungseinrichtung
noch den zuvor aufgetretenen Befehl verarbeitet.
2. Der für eine Verriegelungsaufgäbe vorzusehende Hardware-Aufwand
sollte keine nennenswerte Steigerung der Kosten oder Größe mit sich bringen.
909845/U16
BAD ORIGINAL
3. Die zur Durchführung einer Verriegelung'.vorzusehenden
Einrichtungen sollten eindeutig durch Unterprogramme
steuerbar sein, die diese Einrichtungen erfordern, so ,daß ksine unnötigen Verzögerungen eingeführt werden.
Der Erfindung liegt nun die Aufgabe zu Grunde,das oben
aufgezeigte generelle Problem der gegenseitigen Verbindung asynchroner Einrichtungen auf einfache V/eise zu lösen. "Gelöst
wird diese Aufgabe bei einem elektronischen Datenverarbeitungssystem mit einem Hauptspeicher, wenigstens einem
eine erste Sub-Verarbeitungseinrichtung darstellenden Adressengenerator und wenigstens einer eine zweite Sub-Verarbeitungseinrichtung
darstellenden Rechen- und Ver-.knüpfungseinrichtung,
wobei die Sub-Verarbeitungseinrichtungen
insbesondere zur Ausführung von voneinander abhängigen Befehlen dienen, erfindungsgemäß dadurch, daß
eine erste adressierbare Folgesteuereinrichtung vorgesehen ist, die Mikrobefehle zur Steuerung elementarer Operationen
des Adressengenerators abgibt, daß eine zweite adressierbare Folgesteuereinrichtung vorgesehen ist, die Mikrobefehle zur
Steuerung elementarer Operationen der Rechen-und.Verknüpfungseinrichtung
abgibt, daß Steuereinrichtungen vorgesehen sind, die eine aufeinanderfolgende Fortschaltung
von Mikrobefehlswörter in der ersten und in der zweiten
adressierbaren Folgesteuereinrichtung bewirken, daß Verriegelungseinrichtungen vorgesehen sind, die mit Auftreten
eines ein Verriegelungs-Zeichen enthaltenden Mikrobefehlswortes das Fortschalten der Mikrobefehlswörter in der einen
Folgesteuereinrichtung unterbrechen, und daß Freigabeeinrichtungen vorgesehen sind, die nach Auftreten des ein
Verriegelungszeichen enthaltenden Mikrobefehlswortes die
Fortschaltung der genannten einen Folgesteuereinrichtung auf ein ein Verriegelungszeichen für die andere Folgest
euer einrichtung enthaltendes Mikrobefehlswort hin freigeben.
Die vorliegende Erfindung bringt eine erhöhte Wirtschaftlichkeit mit sich, indem sie Verriegelungen in den Mikrobefehlen
von unabhängig voneinander in Mikroprogrammv/eise programmierten Steuerelementen gleichzeitig arbeitender
Sub-Verarbeitungseinricirfcungen ausnutzt. Eine einfache und flexible Anordnung gestattet dabei gleichzeitig eine
Adressenerzeugung und die Durchführung eines Rechenvorgangs sowie die Durchführung eines "Vox>ausschau"-V"organgs
ohne eine "Mutmaßung". Andere gleichzeitig ablaufende TeIl-.
vorgänge können entsprechend ausgeführt werden. Eine Unter-
* Verarbeitung wird gemäß der Erfindung mit Hilfe einer Vielzahl
von Sub-Verarbeitungseinrichtungen ausgeführt, deren jede durch ein gesondertes mikroprogrammiertes Steuerelement
gesteuert wird. Um mit voller Geschwindigkeit ablaufende unabhängige Operationen ausführen zu können und trotzdem
eine Sub-Verarbeitungseinrichtung daran zu hindern, bei
der Befehlsverarbeitung über einen bestimmten Verarbeitungspunkt
hinaus zu gehen, an dem sie eine Information
für eine andere Sub-Verarbeitungseinrichtung besitzt oder
an dem eine andere Sub—Yerarbeitungseinrichtung die verarbeitete
Information von der gerade betrachteten Sub-Verarbeitungseinrichtung
benötigt, sind Verriegelungsschal- ) tungen vorgesehen, die auf Verriegelungs-Anzeigen in den
Mikrobefehlen der einzelnen Steuerelemente ansprachen.
Dabei führen einfache Gatterschaltungen alle erforderlichen
Verriegelungen bei minimalem Hardware-Aufwand durch.
Da die Verarbeitungseinrichtungen durch unabhängige Mikroprogramme
gesteuert werden, kann eine Verarbeitungseinrichtung bei Fehlen einer Verriegelungs-Anzeige bis zum
Auftreten des nächsten Befehls im "Vorausschau"-Betrieb
weiter arbeiten, während die andere Verarbeitungseinrichtung
bzw, die anderen Verarbeitungseinrichtungen noch
den jeweils vorliegenden Befehl ausführen. Der "Voraus-
«09845/ Uli
scha- "-Betrieb wird lediglich durch eine Verriegelungs-Anzei^e
unterbrochen, die für die sie erfordernde Mikroprogrammfolge eindeutig ist.
Anhand von Zeichnungen wird die Erfindung mit den oben
aufgezeigten und mit weiteren ih*r anhaftenden Merkmalen an Ausführungsbeispielen näher erläutert.
Fig. 1 zeigrt in einem Teilblockdiagramm ein elektronisches
Datenverarbeitungssystem mit zwei in erfindungsgemäßer
Weise verriegelbaren Steuerelementen, die durch Mikroprogramme gesteuert werden.
Fig. 2 zeigt in einem vereinfachten Blockschaltbild eine zentrale Verarbeitungsanlage eines elektronischen Datenverarbeitungssystems,
in welchem eine Adressenerzeuger-. Sub-Yerarbeitungsanlage und eine Heeiieii-Sub-Verarbeitungsanlas;e
durch Steuerelemente gesteuert werden, die in erfindungsgemäßer Weise verriegelbar sind.
Fig. 3 vex^anschaulicht in einem Flußddagramm die Ablauffolge
des Betriebs der Steuerelemente gemäß Fig. 2 zur Ausführung eines Vergleichshefehls, für dessen Ausführung
das Verrie^elungs-Merkmal gemäß der Erfindung, erforderlich
ist.
Die vorliegende Erfindung wird hauptsächlich in einer
zentralen Verarfoeitungsanlage mit zwei oder mehr Sub-Verax'beitungseiiirichtungen
angewendet, die nach dem Zeitmulti.jlexprinzip
einen gemeinsamen Hauptspeicher benutzen. Die oub-Vex^arbeitungseinrichtungen werden durch unabhängige
mikxOprOfcirammierte Steuerelemente gesteuert.
zeigt in einem stark vereinfachten Blockdiagramm mikroprogrammierte Steuerelemente für zwei Sub-Verarbextungseinrichtungen
zusammen wit Uerriegelungs-VertjSelementen
zwischen den beiden Steuerelementen.
Die im folgenden auch als Mikro-Operationsgeneratoren bezeichneten Steuerelemente werden von adressierbaren
Folgesteuereinrichtungen her angesteuert. Die Folgest
euer einrichtung en 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 Steuerelemen- \
te der Verarbeitungseinrichtungen. Dabei ist ein Bereich
bzw. ein Feld des Befehlsregisters 11 mit dem.Eingang
eines Adressenregisters 12 verbunden. Das Adressenregister 12 wählt in der Folgesteuereinrichtung 1$ 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 abzu geben
sind. Wie ferner angedeutet ist, gibt ein Feld des örtlichen Registers 15 die nächste Adresse' an das
Adressenregister 12 ab. Ein weiteres Feld 18 dient für die Aufnahme eines Sperr-Anzeigebefehls, der Verriegelungs—
Gettern 20 und 21 zugeführt wird.
In einem Feld des Befehlsregisters 11 ist ferner die dem Adres.s enroll st er 22 der I^olgesteuereinrichtung 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
9 0 9 8 k S / U 1 6 IAD ORIGINAL
des örtlichen Registers 25 gibt die jeweils nächste Adresse an das Adressenregister 22 ab; ein weiteres
Feld des örtlichen Registers 25 gibt einen Sperr-Anzeigebefehl
für die Verriegelungs-Gatter 20 und 21 ab.
Die Verriegelungs-Gatter 20 und 21 sind durch UND-Gatter gebildet, die jeweils dann übertragungsfähig sind, wenn
sie an ihren Eingängen gleichzeitig Verriegelungssignale von beiden Registern 15 und 25 her aufnehmen. Das Ausgangssignal
des Verriegelungs-Gatters 20 wird als Eingangs-Schaltsignal
dein Adressenregister 12 zugeführt; das Ausgangssignal des Verriegelungs-Gatters 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 Verbindungen zwischen den
einzelnen Schaltungselementen innerhalb des Systems wird in Verbindung mit der Beschreibung der in Fig. 2 dargestellten
Schaltungsanordnung gegeben werden.
Beim Betrieb der in Fig. 1 gezeigten, eine Ausführungsform der Erfindung darstellenden Anlage gibt der Hauptspeicher
10 zunächst einen Befehl ab, der· die Startadressen
für die Folgesteuereinrichtungen 15 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 eine Verriegelungsbzw. Sperr-Anzeige liefert. Wenn z.B. ein Mikrobefehl in
• Q9I4S/UK baoo™.
dem örtlichen Register 15 auftritt, das in seinem EeId 18
eine Verriegelungs- bzw. Sperr-Anzeige besitzt, so ist
die Adresse im Feld 17 eine Wiederholungsadresse desselben
Wortes. Dadurch v/ird die Fortschaltung des Steuerelements .angehalten, da es zyklisch v/iederholt denselben
Mikrobefehl wiederholt.
Wenn die Folge steuereinrichtung 23 den Punkt bei der Ausführung
des Befehles erreicht hat, an dem die Folgesteuereinrichtung
13 wartet, wird von dem-Feld 28 des Registers
f 25 ein Sperr- bzw. Verriegelungssignal abgeleitet und dem
jeweils einen Eingang der Gatter 20 und 21 zusammen mit dem Verriegelungs- bzw. Sperrsignal von dem Feld 18 des
örtlichen Registers her zugeführt. Die nächste durch die Register 15 und 25 an die Adressenregister 12 und 22 abgegebene
Adresse ist eine Wiederholungsadresse. Die von den Gattern 20 und 21 abgegebenen Ausgangs signale bev/irken
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 Daten-Verarbeitungsanlagen
unter einer Anzahl von Vorschriften erfolgt. Eine solche Vorschrift ist z.B. die Beschränkung
des gemeinsamen Zugriffs des Hauptspeichers. 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 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 werden können. Dies erfolgt in solcher Weise, daß mit Rücksicht auf eine derartige gegenseitige
Abhängigkeit keine der Verarbeitungseinrxehtungen
U 1$. BAD ORIGINAL
vor der anderen Verarbeitungseinrichtung arbeitet. Ferner
sind die bei unterschiedlichen Unterbefehlsfolgen bestehenden Verzögerungsforderungen unterschiedlich; viele auftretenden
ünterbefehlsfolgen besitzen zudem keine gegenseitige
Abhängigkeit. Bei geringem Steueraufwand und zumindest
einem Bit oder einer Bit-Kombinationsanweisung
in jedem Mikrobefehl stellt die in Fig» i gezeigte Ausfünrungsforja
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 Datenspeicher her betrieben werden.·
Bei dieser Ausführungsform ist die eine Sub-Verarbeitungseinrichtung
durch einen Adressengenerator und die andere durch eine Recheneinrichtung gebildet. Es sei bemerkt, daß
die Adressenerzeugung für den Haptspeieher oder Steuerspeicher (Zwischenspeicher) einer zentralen Verarbeitungsanlage viele Formen besitzt, von denen einige ziemlich
kompliziert sind. So ist 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 üeeradressen üblich. In großen ßecltenanlag-en
werden häufig neben diesen Arten cer Adressierung noch andex'e Arten der Adressierung benutzt, und in diesen
Fällen wird dir. «dressenerzeugung wirksamer durch eine gesonderte
Sub-Verarbeitungseinrichtung vorgenommen, die in
Beaug auf andere Verarbeitungseinrichtungen asynchron arbeitet,
die ihre eigenen Steuerelemente, Speicherregister und "Rechen- soüie Verknüpfungsschaltungen besitzen.
90984 5/ 141 S BAD ORIGINAL
Die Adressengenerator-Sub-Verarbeitungseinrichtung gemäß
Pig. 2 besitzt ein Steuerelement, das ein Lesespeicher-'~Adressenregister
32, einen Lesespeicher-Adressengenerator 33 und ein Örtliches Lesespeicher-Register 35 enthält.
Die Ausgangssignale des Registers 35 steuern einen Mifcrooperations-Generator
36, der seinerseits Steuersignale an den Adressengenerator 50 abgibt. Der Adressengenerator 50
nimmt Befehle von dem Hauptspeicher 30 über das örtliche
Speicherregister 31 und die Folgesteuereinrichtung 39
auf. Die Folgesteuereinrichtung 39 gibt eine Startadresse an das Lesespeicher-Adressenregister 32 ab. Bei der dargestellten Ausführungsform arbeitet der Generator 33 nach erfolgter
Inbetriebsetzung zyklisch unter der Steuerung eines Taktgenerators 51; cLas Adressenregister 32 wia?d dabei durch
eine Schrittsteuereinrichtung 52 mit jedem Zyklus weitergeschaltet.
Eine Verzweigung zu einer anderen Lesespeicher-Folge
wird dabei durch eine Verzweigungs-Mikrooperation über eine Adressengenerator-Adresse und diß Verzweigungs-Verknüpfungsschaltung
53 erreicht. Der Adressengenerator 50 ist an ein Speicheradressenregister 55 des Hauptspeichers
angeschlossen, um diesem Ilauptspeicheradressen zuzuführen.
Über einen Steuereingang 56 ist der Mikrooperations-Generator
36 durch 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ühren ist oder nicht, von den Ergebnissen
eines Rechenschrittes in der Rechen- und Verknüpf ungseinrichtung ab. Die Rechen- und Verknüpfungseinrichtung
wird ferner von einem Lesespeicher-Steuerelement gesteuert,^das ein Lesespeicher-AdressenreGlster 42 enthält,
welches mit der Recheneinrichtung 4-3 verbunden ist. Diese
Lesespeicher-Recheneinrichtung 4-3 ist ihrerseits mit einem örtlichen Lesespeicher-Register Λ5 verbunden. Das. Lese-
8098 k 5/1 Alii K * BAD original
speieher-Register 45 ist seinerseits so geschaltet, daß
es Steuersignale an den Recheneinrichtungs-Mikrooperationsgenerator
46 abzugehen vermag. An den Ausgang des örtlichen 'Speicherregisters 31 ist ein Operationskode-Register 58
angeschlossen, das die Startadresse an das Lesespeicher-Adressenregister 42 abzugeben vermag. V/ie bei der in
Fig. 1 dargestellten Ausführungsform werden die,Folgesteueradressen
für die Lesespeicher-Recheneinrichtung von den Lesespeicher-V/orten in einem Feld 47 des örtlichen Lesespeicher-Register
45 geliefert. Dabei ist das örtliche Lesespeicher-Registerfeld
4? mit dem Eingang des Lesespeicher-Adressenregisters
42 verbunden. Für Verzweigung^zwecke besitzt
der Recheneinriehtungs-Mikrooperationsgenerator 46 einen Ausgang, an den die Recheneinrichtung- und Verzweigungs-Verknüpfungsschaltung
59 angeschlossen ist. Diese Verknüpfungsschaltung 59 gibt Verzweigungsadressen an das
Lesespeicher-Adressenregister 42 ab. Der Recheneinrichtungs-Mikrooperationsgenerator
46 ist dabei derart geschaltet, daß er Steuersignale an ein Rechen-und Verknüpfungselement
60 abgibt. Dieses Rechen- und Verknüpfungselement 60 besitzt
einen mit dem örtlichen Hauptspeicherregister 31 direkt verbundenen Eingang 63 zur Aufnahme von Operanden. Über eine
Ausgangsleitung des Rechen^ und Verknüpfungselementes 60 erfolgt eine Ansteuerung von Sehreibschaltungen 65 des Hauptspeichers
30 sowie eine Abgabe der Ergebnisse der Rechen-
und Verknüpfungsoperationen, die in dem Hauptspeicher zu
speiehern sind. Die Verriegelungsoperation bei der in Fig.2
dargestellten Ausführungsform läuft im wesentlichen wie folgt
ab. Verriegelungszeichen in den Feldern 38 und 48 der örtlichen
Lesespeicherregister 35 un<3- 45 sind zweekmäßigerweise
Einzelhit-Zeichen, in denen eine "1" dazu dient, das Vorliegen
eines Verriegelungsbefehls anzuzeigen, während eine
"0" keine Verriegelung bedeutet. Eine "1" in dem Feld 38
und eine "0" in dem Feld 48 führt zur Abgäbe eiiies
if Sf 41/UfI
Äusgangssignals von dem Verriegelungs-Gatter 40 und damit
zum Anhalten des Taktgenerators bzv/. der Takteinrichtung 51·
Dadurch wird der Adressengenerator angehalten, und zwar solange, bis ein Verriegelungs-Bit in dem EeId 48 des Registers
45 auftritt. Eine "1" in dem Feld 48 sperrt das Verriegelungs-Gatter 40 und ermöglicht, daß die Takteinrichtung
51 ihren Betrieb wieder fortsetzt. Es sei bemerkt, daß die Verriegelungsfunktion bei einem Gatter im Eingangskreis
der Takt einrichtung 51 in dem Fall durchgeführt v/erden
kann, daß die Takteinriehtung 51 fortlaufend arbeitet. Bei
Auftreten einer "O" in den Feldern 38 und 48 tritt keine
Verriegelung auf; die Takteinrichtung 51 setzt dabei ihren
Betrieb fort. Die Verriegelungsoperation der Rechen- und Verknüpfungseinrichtung ist der in Verbindung mit Fig. i
beschriebenen Operation ähnlich. Ein Wort der Lesespeicher-Secheneinrichfcung,
das eine "1" in dem Verriegelungs-Feld 48 besitzt, weist eine tfiederholungs-Adresse in dem Feld 47 auf.
Mit einer "1" in dem Feld 4£ und einer "Q" in dem Feld 58
ist das Verriegelungs-Gatter 41 gesperrt, und die V/ieder—
holungs-Adresse in dem Feld 47 bewirkt, daß das Iiesespeicher-Adressenregister
42 die Adressen desselben -.iortes wiederholt. Mit einer "1" in dem Feld 48 und einer iri" in dem Feld 58
bewirkt ein Ausgangssignal des Verriegelungs-Gatters 41 eine
Modifizierung der Adresse in dem Lesespeicher-Adressenregister
42, und zwar derart, daß das Lesespeieher-Steuerelement
der Rechen- und Verknüpfungs^Verarbeitungseinrichtung
seinen Betrieb fortsetzt» liachstehend wird- eine allgemeine
Funkt ioiis- und Operations-Beschreibung der in Fig. 2 dargesteilen
Anordnung gegeben.
Die zentrale Verarbeitungseinrichtung gemäß Fig. 2 enthält
zwei "Sub-Verarbeitungseinrichtungen11, nämlich eine
einrichtung 62 und einen. Adressengenerafcor 6i>
Jede beiden Sub-Verarbeitungseinrichtungen. besitzt einen
1315818
Lesespeicher 43 bzw. 33· Die Recheneinrichtung 62 und
der Adressengenerator 61 arbeiten parallel als zwei voneinander unabhängige Verarbeitungeeinrichtungen,
deren jede 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 den beiden Sub-Verarbeitungseinrichtungen
jedoch grundsätzliche Unterschiede. Diese Unterschiede rufen in gewissem Ausmaß grundsätzliche
Unterschiede zwischen der Recheneinrichtung und dem Adressengenerator hervor; sie lassen dabei 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 53 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 Lesespeicher-Recheneinrichtung).
Die von dein Lesespeicher-Adressengenerator abgegebenen
Wortfolgen stellen 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 Inhelt zu lesen oder in diesem
zu ändern. Die folgenden Beispiele typischer Ablauffolgen
des Lesespeiclier-AdressengeneratoiT mc^en dies verdeutlichen:
9 0 9 8 4 5 / U 1 S BA0
1) Periphere Zähleraufnähme; 2) direkte Hauptspeicheradresse;
3) Index-Hauptspeicherverzweigung; 4) Lade-" Eecheneinrichtungs-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 Ablauffolgen,
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 Folge in das Lesespeicher-Adressenregister 32. Dieses
Adressenregister 32 wird dann mit Auftreten jedes Taktsignales
um eins weitergeschaltet (sofern keine Verzweigung auftritt), bis die letzte Stelle der Folge erreicht ist. Zu
diesem Zeitpunkt lädt die Folgesteuereinrichtung 39 die
Adresse der ersten Stelle der nächsten Folge in das Lesespeicher-Adressenregister
32. Wenn die letzte Stelle der letzten Folge erreicht ist, lädt die Folge-Steuereinrichtung
39 die Adresse der ersten Stelle der ersten Folge des nächsten Befehls in das Lesespeicher-Adressenregister 32.
Der betrachtete Vorgang wiederholt sich dann von neuem.
909845/ U1 5
Wie oben angedeutet, besitzt der Lesespeicher-Adressengenerator 33 Einrichtungen zur Verzweigung, d.h. zum
Überg'ang 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 irgeneinen anderen Teil des Lesespeichers. Normalerweise arbeitet das Lesespeicher-Adressenregister 32 innerhalb
einer Ablauffolge schrittweise mit jedem Taktimpuls bis zur letzten Speicherstelle hin, sofern nicht eine Verzweigung
auftritt. Nach erfolgter Verzweigung läuft die norr.ale Schrittschaltung des Lesespeicher-Adressenregisters
32 weiter.
Der Lesespeicher-Adressengenerator 33 enthält z.B. 54- Ablauffolgen'
aus jeweils zwei (Direkt-Hauptspeicheradressen)-Würtern zu 102 (peripheren Befehls )-V/örtern; dabei sind acht
Worte pro Ablauffolge typisch. Die Erzeugung jeder Speicheradresse erfordert die Anwendung jeweils einer (Direkt-Hauptspeicher)-Ablauffolge
zu vier (periphere 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
Folgen benutzt werden, eine komplizierte Funktion -des jeweiligen Befehls, des Adressentyps und der umfaßten Steuerspeicherstellen
dar. Dabei kann die Erzeugung der A-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.
$09845/1 4ti BAD ORIGINAL
Die Lesespeicher-Recheneinrichtung 62 führt folgende
Steuervorgänge aus: 1. Steuerung von Operanden, 2. Zyklisches Betreiben des eine kleine Kapazität besitzenden
Recheneinrichtungs-Zwischenspeichers, J. Erzeugung von Datenworten (in Verbindung mit dem
Adressengenerator 61) betreffend die Verbindung der ■ Verarbeitungseinrichtungen.
Um den Lesespeicher 43 in wirtschaftlichster Weise au--
^ zunutzen, sind die Maschinenbefehle z.B. in 50 Gruppen
eng verwandter Befehle angeordnet; dabei ist für jede Gruppe eine andere Recheneinrichtungs-Lesespeicherfol^e
vorgesehen. So enthält z.B. die ii'estadditions-i'olge die
Befehle Dezimal-Addition, Binär-Addition, 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, v/enn
der gerade aufgetretene Befehl vollständig verarbeitet
ist (und keine Fehler festgestellt worden sind) , dann wird ) der Inhalt des Operationskoderegisters zu dem Adressenre—
gister 42 hin übertragen. Die somit adressierte Lesespeicherstelle
wird als Operationskodestelle bezeichnet; für jeden Maschinenoperationskode ist eine Operationskodestelle
vorgesehen.
Verschiedene Bits jedes iesespeicher-Wortes werden als
nächste Adresse in dem Feld 47 zurückbehalten. Normalerweise
bezeichnet das Adressenfeld 47 den nächsten Wert des
Lesespeicher-Adressenregisters 42. Eine Ausnahme hiervon
bildet die Eingabe einer Ablauffolge oder das Auftreten einer Verzweigung innerhalb einer Ablauffolge. Das nächste
109845/UH
'■■';. "■■■■"■ ■■■--■ : ■ ■ .- ■'." BAD ORiGlMAL
Adressen:? eld einer Operatioiiskodestelle gibt die Adresse
des ersten Wortes derjenigen Ablauffolge an, die zur Ausführung
des Befehls benutzt \tfird. So ist z.B. die nächste
Adresse der Binärsubtrafctions-OperationskOdestelle die
Adresse der ersten Stelle der Fesi^additions-Folge. Dieses
Adressenverfahren erlaubt eine vollkommenei Flexibilität
in der Datensusammenstellung, wobei jedes Lesespeicherwort
das nächste Lesespeicherwort bezeichnet.
Eine Verzweigung wird angewandt: Ί» 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-IOlge 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 Vei'zweigungs-Mikrooperationen
gesteuert, die in gegenseitig sich ausschließenden Gruppen angeordnet sind. Jede Verzweigungs-Hikrooperation bezieht
sich auf eine bestimmte Untergruppe von Verzweigungsvor-■iingen
und auf ein bestimmtes Bit der Bits des Adressenref;isters
ή-2. Eine Verzweigungs-Hikrooperation "besagt",
u.a^ in dem Fall, d'aß bezeichnete Zustände auftreten, das
bezeichnete Adressenregister-Bit auf "1" gesetzt werden .5GlItG« Wenn der Inhalt dea nächsten Adressenfeldes in das
-Ädrespenrefister geladen wird, überlagern die aktiven
Verzweitvungs-Kikrooperationen ausgewählte externe Zustände
betreffende Daten über ausgewählte Bits des Adressenre-.^isterc.
9Q9845/U15
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 A-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 Lesespeicher-Recheneinrichtung
in der durch die gestrichelte Linie 70 angedeuteten Weise
angesteuert werden.
Wenn die A-Operanden-Adresse erzeugt ist, wird sie dem
Speicheradressenregister 55 zugeführt, in welchem dann der Α-Operand verfügbar ist. Die Verfügbarkeit des A-Operanden
führt zum erneuten Fortschalten des Lesespeichers 43 der
Recheneinrichtung 62. Fig. 3 veranschaulicht dabei* daß dex·
Lesespeicher 43 zur Aufnahme des Operanden A zwei Zyklen
909845/U15
BAD ORIGINAL
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 r.elativ 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-Operanden-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 der Erzeugung der 3-Operanden-Ädresse muß der Adressengenerator auf die Ergebnisse
des Vergleichs der Recheneinrichtung warten, um seine nächste Befehlsadresse zu erhalten. Bei Fehlen eines
Vergleichsergebnisses würde z.B. der betreffende Lesespeicher-Ädressengenerator
die Adresse des nächsten Folgebefehls ableiten, wahrend bei Auftreten eines Vergleichsergebnisses
eine Verzweigung des Lesespeicher-Adressengenerators
zur Berechnung einer Verzweigungsadresse und für die Speicherstelle des nächsten Befehls verwendet würde.
Bas dem Adressengenerator zum Zwecke des Wartens zugeführte Signal besitzt, die Form einer Verriegelungs-Anzeige
in dem letzten Wort der "Erzeuge-B-Adressen-Folge.- Dies
ist in Fig. 3 durch einen mit "Zyklus 3 - Verriegelung"
bezeichneten Block angedeutet.
Zurückkommend auf Fig. 2 sei bemerkt, daß ein Adressenre^ister-Verriegelungszeichen
die Takteinrichtung 51 sperrt und damit das Fortschalten des Lesespeicher-Adressengenerators
33 unterbindet.
81104 5/HtS BADORiGINAL
Die Recheneinrichtung setzt ihren Betrieb fort, indem sie
zunächst den B-Operanden aufnimmt und dann den A-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 Verriegelungs-Anzeire, die durch einen mit "Zyklus 6 - Verriegelung" bezeichneten Block angedeutet ist.
Das Leseeinrichtungs-Verriegelungszeichen gibt die Takteinrichtung
51 frei (siehe Fig. 2), indem das Verriegelungs-Gatter
40 gesperrt wird. Damit ist dem Adressengenerator eine Information darüber zugeleitet, daß die Vergleichsergebnisse
verfügbar sind. Dabei wird der Lesespeicher-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-Vergleichs wartet.
Mit Auftreten eines Recheneiiirichtun^s-Verriegelungszeichens
wird der Adressengenerator fortgeschaltet, und die A/B-Vergleichsergebnisse
v/erden als externe Zustandsgrößen dem Eingang 56 des !'Ükrooperations-Generators 36 zugeführt
(siehe Fig. 2).
Zurückkommend auf Fig. 3 sei bemerkt, daß der durch den
mit "Wenn A = B ist, setze Verzweigungs-Anzeige1* bezeichneten
Block festgelegte Vorgang die Abgabe der Verzvieigungs-Anzeige
des Adressengenerators mit Auftreten der Ergebnisse der Recheneinrichtung auslöst. Die gestrichelte Linie 75
deutet dies an. Das Auftreten eines VergleichsergebMsges
kann z.B. die Abgabe einer Verzweigungs-Operation mit sieh
bringen, die durch den mit "Verzweigung" bezeichnetes Block
angedeutet ist. Ein Hieht-Vergleich kann z.B. zii eimern*
9Q9845/U15
BAD ORIGINAL
Fortsetzung der Ablauf folge "keine "Verzweigung" führen.
Die beiden Ablauffolgen führen in Abhängigkeit von den Vergleichsergebnissen zur Abgabe von Adressen für unterschiedliche
Befehle.
it
Das Auftreten einer Adressengenerator-Verriegelung, wie sie durch die gestrichelte Linie 75 angedeutet ist, und
zwar auf das Auftreten einer Recheneinrichtungs-Vex1-riegelung
hin, ermöglicht der Recheneinrichtung, ihren Betrieb fortzusetzen. Wäre die Adressengenerator-Verriegelung
nio_Jit aufgetreten, so würde die Recheneinrichtung
foi^tfahren, auf das letzte Wort hin zyklisch weiter zu arbeiten.
Die Portschaltung der Recheneinrichtung kann angehalten
werden, und zwar auch bei aufgetretener Adressengenerator-
:: und bei Fehlen 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 Recheneinrichtung 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 Arbeitsgeschwindigkeit
erfolgen, die lediglich durch den Zugriff zu dem Hauptspeicher begrenzt ist. Die Recheneinrichtung arbeitet ebenfalls
siit voller Geschwindigkeit; eine Ausnahme hiervon
909845/U1S
BAD
bildet der Speicherzugriff. Damit ist die Ablauffolge
durch unnötige Verzögerungen nicht behindert. Die Lesespeicher-Verriegelungen
werden eindeutig auf sie erfordernde Ablauf folgen hin ausgeführt.. Eine zusätzliche
Verknüpfung wird dazu benutzt zu verhindern, daß Operanden auftreten, bevor die Recheneinrichtung sie aufnehmen
kann, oder daß Ergebnisse früher auftreten als die Recheneinrichtung
sie abgeben kann.
r 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
Recheneinrichtung· 62 diese noch nicht verwenden* kann. Da
sowohl die Recheneinrichtung 62 als auch der Adressengenerätor 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
Recheneinrichtung 62 noch den vorangehenden Befehl verarbeitet.
Diese Vorfachau-Betriebsart ist in der vorliegen^
den 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-Operätiönen stimmen
müssen. Wie aus der vorstehenden Erläuterung hervorgehen
dürfte, ist die Rompl:ziertheit und der Preis des Hardware-Aufwandes,
der für diesen Verriegelungs-Schutz erforderlich ist,
909845/1415 BADOR1G1NAL
Vorstehend ist die Erfindung an Hand spezieller Ausführungsbeispiele
mit nur zwei Verarbeitungseinrichtungen . erläutert worden. Die Erfindung ist jedoch auch in Fällen
anwendbar, in denen drei oder mehr Verarbeitungseinrichtungen Verarbeitungs-Verriegelungen erfordern. Die jeweils
verwendeten besonderen Gatteranordnungen 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
Verarbeitungseinrichtung veranschaulicht, deren Betrieb
durch ein Verriegelungs-tfort aufhaltbar ist. Die andere
Verarbeitungseinrichtung setzt ihren Zyklus in Abhängigkeit
von einem Verriegelungsbefehl auf ein einzelnes Wort hin
fort.
Bei der in Fig. 2 dargestellten Ausführungsform ist es ferner häufig erwünscht, die beiden Verarbeitungseinrichtungen
im Master-Slave-Betrieb arbeiten zu lassen. Durch
Wegnahme oder Sperrung des Verriegelungs-Gatters 40 wird lediglich der Betrieb der Recheneinrichtung 62 durch ein
Verriegelungs-Zeichen aufgehalten. Ein Verriegelungs-Zeichen von dem Adressengenerator 61 gibt dann die Recheneinrichtung
62"als Master-Einrichtung wieder frei. Andere auf bestimmte Formen von Verarbeitungseinrichtungen gerichtete
Änderungen liegen im Rahmen der Erfindung.
RAD
909845/T41S BA
Claims (1)
- atenfcan sprächeElektronisches Datenverarbeitungssystem mit einem Hauptspeicher, wenigstens einem eine erste üub-Verarbeitungsein:eichbung darstellenden Adressengrenerator und wenigstens einer eine zweite Sub-Ve^arbeicuaGS-einrichtung darstellenden Rechen- und Verknüpfung ein-" richtung, wobei die oub—Verarbeitungseinrichtungen insbesondere zur-Ausführung von voneinander abhängigen Befehlen dienen, dadurch gekennzeichnet, cLaf: eine erste adressierbare ffolgesteuereinrichtung (13) vorgesehen ist, die Mikrobefehle zur Steuerung elementarer Operationen des Adressengenerators (50) abgibt, daß eine zweite adressierbare Folgesteuereinrichtung (23) vorgesehen ist, die Iiikrobefehle zur Steuerung elementarer Operationen der Rechen- und VerknÜDfungseinrichtung (60) abgibt, daß Steuereinrichtungen (12,22; 36,46;5Ί) vorgesehen sind, die eine aufeinanderfolgende Fortschaltung von Mikrobefehlswörtern in der ersten und in der zweiten adressierbaren Folgesteuez*einriciitung (13,23) bewirken, daß Verriegelungseinrichtungen (20,21 bzw. 40,41) vorgesehen sind, die mit Auftreten eines ein Verriegelung^—Zeichen enthaltenden Mikrobefehlswortes das Sortschalten der Mikrobef ehlsv/örter in der einen SOlgesteuereinrichtung (13,23) unterbrechen, und daß Freigabeeinrichtungen (20,21 bzw. 40, 41) vorgesehen sind, die nach Auftreten des ein Verriegelungszeichen enthaltenden Mikrobefehlswortes die Fortschaltung der genannten einen PoIgesteuereinrichtung (13) auf ein ein Verriegelungszeichen für die andere Folgesteuereinrichtung (23) enthaltendes HikrobefehlsWort hin freigehen.SQI045/U1SBAD ORIGINAL2. I)3"tenv(-3'a3.'"beitungsaystera nach Anspruch 1, dadurch gekennzeichnet, daß die IPolgesteuereinrichtungen ('13,2^) durch Lesespeicher gebildet sind, deren Speicherinhalt lediglich außerhalb des Hormal-Betriebs elektrisch änderbai^ ist.5. Datenverarbeitungsystem nach Anspruch 2, dadurch (gekennzeichnet, daß die Lesespeicher durch adressier bare Speichermatrizen gebildet sind.4·. Datenverarbeitungssystem nach einem der Ansprüche bis 5t dadurch gekennzeichnet, daß die Steuereinrichtungen zur aufeinanderfolgenden Fortschaltung von insbesondere dem AcLressenfcenerator (50) zuzuführenden Mikrobefehlswörtern einen Taktgenerator (^1) enthalten.5. Datenveiarbeitun^södstem nach Anspruch 4, dadurch £exennzeiclin.et, daf. c ie Abgabe von Taktimpuls en von deia Taktgenerator ( ;'1) durch die Verriegelungs-Einriclitiuir;en (^Ο,^^ΐ) unterbrechbar ist.„- Diteiiverex'beitungss^'iiteir. nach einem der Ansprüche bis 5-1 dadurch gekennsoichnet, daß durch die Verrief.eluii^i-jiinrichrunjen (,/'Κ),'-1 ;yt ,4i) eine Wiederholungsadrease deo jev/eils vorliegenden Hikrobefehlewortes in der entsprechenden Ifolgesteuerein-G (1^,25) alvebfcar ist.7. Datenverarbeitungt-s; i, uOi-i nach Anspruch 6, dadurch gekennzeichnet, da:: da Viiedsrholun^sadx^esse durch die Preicabeeinrichtung (7'^,·' \j ,■'..) incdifizierbar ist.BAD ORIGINAL- 26 -8. Datenverarbeitungsystem nach einem der Ansprüche 1 bis 7» dadurch gekennzeichnet, daß dem Adressengenerator (50) und der Rechen- und Verknüpfungseinrichtung (60) jeweils ein durch Mikroprogramme gesteuertes Register (15525 bzw. 35; 4-5) zugehörig ist und daß in diesen Registern (15»25 bzw. 35j4-5) Jeweils an bestimmten Stellen (17,28 bzw. 38,4-8) Mikrobe- ,. ~ fehle für die Steuerung der Verriegelungs- und Freigabeeinrichtungen (20,21 bzw. 40,4-1) speicherbar sind.9* Datenverarbeitungssystem nach einem der Ansprüche bis 8, dadurch gekennzeichnet, daß die Verriegelungsund Freigabeeinrichtungen (20,21 bzw'. 40,41) durch Verknüpfungsgatter gebildet sind.10. Datenverarbeitungssystem nach Anspruch 9» dadurch gekennzeichnet, daß die Verknüpfungsgatter mit beiden Polgesteuereinrichtungen (13,23) verbunden sind.11. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß bei Verwendung von zwei Sub-Verarbeitungseinrichtungen (61,62) diesen zugehörige Steuei^elemente (35j4-'5) nach dem Master-Slave-Prinsip betrieben werden, daß für die Unterbrechung der Fortschaltung der Mikrobefehlswörter der einen Steuereinrichtung (35) eine Verriegelungs-Anzeige in einem dieser Steuereinrichtung (35) zugeführten Mikrobefehl dient und daß die betreffende Foz'tschaltung durch eine Verriegelungs-Anzeige in einem der anderen Steuereinrichtung (4-5) zugeführten Mikrobefehl wieder freigebbar ist.90984 5/ HI 5BAD ORIGINAL '
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 true DE1915818A1 (de) | 1969-11-06 |
DE1915818B2 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 |
US5165033A (en) * | 1983-07-25 | 1992-11-17 | Hitachi, Ltd. | Microprocessor and data processor using the former |
JPH081604B2 (ja) * | 1983-07-25 | 1996-01-10 | 株式会社日立製作所 | マイクロプロセッサ |
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 |
---|---|
DE1915818B2 (de) | 1978-05-03 |
JPS524140B1 (de) | 1977-02-01 |
FR2005426A1 (de) | 1969-12-12 |
US3651482A (en) | 1972-03-21 |
DE1915818C3 (de) | 1979-01-04 |
GB1258801A (de) | 1971-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE2907181C2 (de) | Prozessor mit einem Befehlssatz-Modifizierregister | |
DE2714805C2 (de) | ||
DE1815078C3 (de) | Elektronisches Datenverarbeitungssystem | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2545873A1 (de) | Zugriffsfolgesteuervorrichtung fuer eine speichereinheit | |
EP0097725A1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2364323C2 (de) | Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage | |
DE2753650C2 (de) | Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten | |
DE2725614C2 (de) | ||
DE3307194C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE3447530A1 (de) | Vektorprozessor | |
DE2545751C2 (de) | Ablaufsteuerung für eine Datenverarbeitungsanlage | |
DE1499224B2 (de) | Datenverarbeitungsanlage mit kellerspeichereinrichtungen | |
DE3435741C2 (de) | ||
DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |