Datenverarbeitungseinrichtung und Verfahren zum Betrieb der Datenverarbeitungseinrichtung Die Erfindung betrifft eine Datenverarbeitungsein- richtung mit mehreren Registern zur Verschiebung von Daten mit einem ersten Speicher für Rechenablaufbefeh le und mit einem zweiten Speicher für Gruppen von Operationsbefehlen und ein Verfahren zum Betrieb der Datenverarbeitungseinrichtung.
Eine derartige Datenverarbeitungseinrichtung kann für verschiedene Aufgaben verwendet werden, z. B. für Rechen- und ,andere Datenverarbeitungszwecke, und auch zur Eingabe/Ausgabe-Steuerung. Dabei werden mehrere Stufen oder Ebenen von Unterbefehlsgruppen verwendet.
Das Anwendungsgebiet elektronischer Rechner hat sich so stark erweitert, dass zur Zeit ein Bedürfnis für ein vollständiges Spektrum von Rechnern zur Durchfüh rung einer Vielfalt von Rechenaufgaben und anderer Datenverarbeitungsarbeiten besteht.
Zeitweilig hat man sogenannte Grossrechenanlagen, hauptsächlich für kom plizierte mathematische Aufgaben und kleine Datenver arbeitungsanlagen hauptsächlich für Onganisations- und Buchungsaufgaben, bei denen verhältnismässig einfache Rechenoperationen mit einer grossen Anzahl von Daten durchzuführen sind, für geeignet gehalten.
In letzter Zeit sind die organisatorischen Arbeiten derart angewachsen, dass der Einsatz grosser Datenverarbeitungsanlagen zweckmässig ist, und andererseits wurden Anwendungs gebiete für mittlere und kleine Datenverarbeitungsanla- gen erschlossen, die in der Lage sind, sowohl wissen schaftliche Aufgaben als auch das Aufzeichnen von Daten durchzuführen.
Es besteht daher ein Bedürfnis nach einer Vielfalt- von Datenverarbeitungsanlagen, die von sehr kleinen bis zu sehr grossen Anlagen reicht, von denen jede nicht nur organisatorische und wissenschaft liche Aufgaben durchführen, sondern auch Datenüber tragungen, Datenerfassungen und dergleichen steuern ikann. Je ,grösser das Anwendungsgebiet, d.
h. die Zahl der unterschiedlichen Anwendungsfälle wurde, um so mehr ist man dazu übergegangen,, unterschiedliche, auf den einzelnen Anwendungsfall zugeschnittene Rechenanla- gen herzustellen.
So legt man in denjenigen Fällen, in denen einte grosse Anzahl von Rechenaufgaben zu lösen ist, bei denen einige hundert oder tausend sich wiederho lende Rechenschritte vorkommen, besonderen Wert auf eine hohe Betriebsgeschwindigkeit und auf die Anzahl von Datenbits, die pro Zeiteinheit bei der Durchführung eines Befehls verarbeitet werden kann.
Daher pflegt man eine Rechenanlage für diesen Fall .auf Parallelbetrieb und eine grosse Stellenzahl auszulegen und algorit'hmi- sche Rechenprogramme, die mit den Daten durchzufüh- ren sind, fest zu verdrahten, um eine höhere Betriebs geschwindigkeit zu erzielen.
Dies ist ein wesentlicher Grund dafür, dass Grossrechner oder wissenschaftliche Rechner so kostspielig sind. Wenn ein billiger Rechner verlangt wird, pflegt man diesen nach Kostengesichts punkten auszulegen, so dass die Schaltungsanordnungen und Einrichtungen dieser Rechner verhältnismässig ein fach sind und die verschiedenen Algorithmen vom Programmierer. programmiert werden müssen.
Infolge- dessen dauert die Durchführung des Programms verhält- nismässig lange, nicht nur, weil die Anlage jeden einzelnen Schritt des Programms ausführen muss, son dern auch, weil die Anlage auf die Verarbeitung von Daten mit verhäln.ismässig geringer Breite (Stellenzahl) ausgelegt ist,
um den Schaltungsaufwand gering zu halten. Da der Hersteller beider Arten von Anlagen zwei verschiedene Rechenwerke für die getrennten Anlagen entwickeln und herstellen muss, verliert er den wirt- schaftlichen Vorteil, der sich durch die Serienproduktion nur eines Typs ergibt.
Diesen Nachteil haben auch Rechenanlagen, die so gross sind, dass bei ihnen die Eingabe- und Ausgabeope- rationen gleichzeitig mit Rechenoperationen und ande ren Verknüpfungsoperationen gesteuert werden müssen. Diese getrennten E/A-Steuerwerke können selbst digita len Allzweck-Rechenanlagen gleichen, so dass sie ein eigenes Rechenwerk und manchmal sogar einen eigenen Speicher enthalten. Die Funktion und der Aufbau eines derartigen E/A-Steuerwerks unterscheidet sich dennoch von der Allzweck-Rechenanlage; mit der es in Verbin- dung steht.
Ein weiterer Nachteil unterschiedlich aufgebauter Anlagen besteht darin, dass sie verschieden program miert werden müssen. Da bei grösseren Anlagen einige Rechenabläufe fest verdrahtet sind; ist nur ein Befehl zu deren Durchführung erforderlich. Bei einer kleineren Anlage müssen dagegen mehrere dieser Befehle zur Durchführung des gleichen Rechenablaufs eingegeben werden.
Diese Programmierschwierigkeiten treten noch stärker in Erscheinung, wenn die Anlagen von verschie denen Herstellern gebaut werden, da verschiedene Her steller auch verschiedene Befehlsformate verwenden, die sich in der Länge und ,auch in der Grösse der Felder, in die sie aufgeteilt sind, unterscheiden. Um diese -Unter schiede in den Maschinensprachen auszugleichen, wurde eine Vielzahl verschiedener Programmierspra chen entwickelt, wie Fortran, Cobol und Algol.
In diesen Programmiersprachen abgefasste Programme körnen in verschiedenen Rechenanlagen umgesetzt und verwendet werden, doch müssen diese Programme zunächst in die Maschinensprache der betreffenden Anlage- übersetzt werden; was durch ein Steuerprogramm, auch Kompiler genannt, -durchgeführt wird.
Wenn für eine :bestimmte Programmiersprache kein derartiges Steuerprogramm vorgesehen ist, dann muss der Programmierer sein Programm in eine Sprache umschreiben, für die die Anlage einen Kompiler enthält.
Es wurden daher schon die verschiedensten Bauar ten entwickelt, um Anpassungsschwierigkeiten sowohl beim Schaltungsaufbau, auch Hardware genannt" als auch bei der Programmierung, auch Software genannt, zu verringern. Während bei bestimmten Fertigungspro- grammen bereits eine Verringerung erreicht worden ist, haben Versuche, die Anpassungsschwierigkeiten zwi schen verschiedenen Programmiersprachen zu beseiti gen,
in Wirklichkeit nur zu noch mehr Programmier sprachen geführt. Bestimmte Bauweisen, die man bis lang angewandt hat, umfassen die Ausbildung modulgarer (bausteinartiger) Verarbeitungseinheiten und Speicher einheiter, die es gestatten, die Fähigkeiten der Anlage durch Hinzufügen weiterer Verarbeitungseinheiten und die Kapazität der Anlage durch Hinzufügen weiterer Speichereinheiten zu erweitern. Bei anderen Bauweisen wird ,
die Datenflussbreite verschiedener Bauteile eines Fertigungsprogramms gleich einem Vielfachen eines Grundeinheitssegmentes gewählt und das Befehlsformat für dieses Fertigungsprogramm so angepasst, dass es ebenfalls gleich einem Vielfachen dieses Grundsegments ist.
Um sowohl den Aufbau als auch das Programmieren von Rechenanlagen flexibler zu machen, ist es auch bekannt, Mikroprogramme oder Mikrobefehle zu ver wenden. Ursprünglich war ein Mikrobefehl lediglich eine Gruppe von Steuerbits innerhalb eines Makrobefehls. Diese Steuerbits wurden zur Durchführung von Korrek turen während der Ausführung eines Multiplizierbefehls oder eines Schiebebefehls und dergleichen verwendet.
Dieses Verfahren wurde dann dahingehend weiterent wickelt- dass man einen Makrobefehl die Ausführung einer bestimmten Routine vorschreiben lässt, z. B. die Addition zweier Operanden, während die Makrobefehle in Form der Ausführung einer Folge von Mikrobefehlen durchgeführt werden, von denen jeder die Verknüpfungs glieder (oder Tore) bestimmt, die in den verschiedenen Programmablaufzeiten durchgeschaltet werden müssen.
Dia mehrere Makrobefehle durch eine endliche Anzahl von Mikrobefehlen verwirklicht werden können, hat man erkannt, dass diese Mikrobefehle in einem getrenn ten Speicher gespeichert werden können, um in einer bestimmten Phase nach der Ausführung verschiedener Makrobefehle aufgerufen werden zu können. Man hat weiter erkannt;
dass verschiedene Folgen von Mikrobe fehlen so formuliert werden können, dass sie bestimmte Operationen ausführen, und in irgendeinem Arbeitsspei cher getrennt gespeichert werden können.
Auf diese Weise kann eine grosse Vielfalt von Mikrobefehlen zur Aus- führung einer grossen Vielfalt von Rechenabläufen erzeugt werden, ,und wenn eine Rechenanlage so ausge bildet ist, dass sie bestimmte Rechenabläufe ausführt, brauchen nur diejenigen Befehlsfolgen gespeichert zu wenden, die nach der Ausführung spezieller, einzelner Makrobefehle zur Ausführung aufgerufen werden<B>sol-</B> len.
Das Verfahren -der Anwendung von Mikrobefehlen oder Mikroprogrammen ging dann über in die Verwen dung von Unterbefehlsgruppen, die für den Program mierer nicht in Erscheinung treten, wodurch das Erstel len -bestimmter Programme durch die Verringerung der- Anzahl der einzelnen Schritte, die vom Programmierer programmiert werden müssen, vereinfacht wird.
Das Verfahren der Mikroprogrammierung gestattet die Her- tellung weniger kostspieliger Rechenanlagen, die den noch eine Vielzahl verschiedener Routinen durchführen können, ahne dass einzelne Funktionen verdrahtet zu werden brauchen.
Obwohl die Anwendung von Mikrobefehlsfolgen oder Unterbefehlsfolgen die- Arbeit des Programmierers erheblich vereinfacht und dem Rechenanlagenhersteller mehr Möglichkeiten zur Lösung -bestimmter baulicher Probleme einräumt, ist bislang das Problem der Schal tungskompatibilität zwischen verschiedenen Baugrup pensystemen eines Fertigungsprogramms und das Pro blem der Programmkompatibilität zwischen verschiede nen Programmiersprachen und zwischen den Maschi nensprachen der verschiedenen Systeme noch nicht gelöst worden.
Der Erfindung liegt daher die Aufgabe zugrunde; eine Datenverarbeitungseinrichtung zu schaffen, deren funktionelle Fähigkeiten während des Betriebs der Ein- richtung veränderbar sind. Im einzelnen soll sie dabei während des Betriebs derart veränderbar sein, dass sie in verschiedenen Programmsprachen aufgestellte Program me durchführt. Gleichzeitig soll sie während des Betriebs derart veränderbar sein,
-dass sie Rechenbefehlsfolgen oder Steuerbefehlsfolgen für Eingabe/Ausgabe-Daten- Übertragungen ausführt. Dabei soll sie vom Rechenbe- trieb auf den umschalt bar sein, ohne dass für jede Betriebsart eine eigene Schaltungsanordnung erforderlich ist.
Mehrere dieser Datenverarbeitungseinrichtungen sollen ferner zu einer grösseren Rechenanordnung zu- sammengesehaltet werden können, um verschiedene Rechen- und Datenverarbeitungsoperationen: durchzu führen, ohne dass irgendeine Einrichtung dieser Anord- nung in irgendeiner speziellen Weise angepasst zu werden braucht.
Die Datenverarbeitungseinrichtung soll gleichzeitig eine erweiterbare Anzahl funktioneller Ver- knüpfungseinheiten zur Durchführung verschiedener lo gischer Verknüpfungsoperationen, gesteuert durch Un terbefehlsgruppen, aufweisen. Dabei gehört es zur Auf gabe der Erfindung, die Datenverarbeitungseinrichtung so auszubilden, dass mehrere dieser Einheiten zusam mengeschaltet verschiedene Rechenkapazitäten und - fähigkeiten aufweisen.
Die erfindungsgemässe Datenverarbeitungseinrich- tung ist dadurch 'gekennzeichnet, dass sie eine mit dem ersten Speicher verbundene und zum Empfang von Rechenablaufbefehlen geeignete, erste Vorrichtung und Eintreffen eines Rechenablaufbefehles ansprechende, eine mit dieser ersten Vorrichtung verbundene und beim zweite Vorrichtung zur Adressierung des zweiten Spei- ohers und zum Empfang von Operationsbefehlen auf weist.
Das Verfahren zum Betrieb der Datenverarbeitungs- einrichtung ist dadurch gekennzeichnet, dass eine erste Gruppe von Signalen, die einen ersten Operationsbefehl darstellt, im zweiten Speicher gespeichert wird, und die, wenn sie vom Befehlsdecoder -aufgerufen wird, die Ausführung einer Operation durch die Datenverarbei tungseinrichtung bewirkt, und dass eine zweite Gruppe von Signalen,
die einen zweiten Operationsbefehl dar- stellt, im zweiten Speicher gespeichert wird, und die, wenn .sie vom Befehlsdecoder aufgerufen wird, die Verzögerung der Operation um mindestens ein Taktin- tervall zur Folge hat.
Die Erfindung und ihre Weiterbildungen werden im folgenden anhand von Zeichnungen beispielsweise näher beschrieben: Fig. 1A stellt eine Datenverarbeitunseinrichtung dar.
Fig. 1B stellt eine Anordnung von Datenverarbei- tungseinrichtungen dar.
Fig. 2 ist eine schematische Darstellung des Steuer werks und des Rechenwerks.
Fig. 3 stellt das Rechenwerk ausführlicher dar.
Fig. 4 stellt eine andere Ausführung des Rechen werks dar.
Die Fig. 5-11 stellen verschiedene Verknüpfungs schaltungen der Datenverarbeitungseinrichtung dar.
Fig. 12 ist eine schematische Darstellung der Ar beitsspeicher-Koppelelektronik. Die Fig. 13-16 stellen Formate verschiedener Befehle dar, die in der Einrichtung verwendet werden. Fig. 17 ist eine schematische Darstellung des Deko- dierers für Subbefehle der zweiten Ebene.
Fig. 18 ist eine schematische Darstellung des Deko- dierers für Subbefehle der ersten Ebene.
Fig. 19 ist eine Tabelle der N-Steuersignale der Steuerfelder der Phase 2 & 3 des N-Befehls.
Fig. 20 ist eine Tabelle der N-Steuersignale des Steuerfelds der Phase 3 des N-Befehls. Die Fig. 21-23 sind Zeitdiagramme, die die Über lappung der Ausführung von Befehlen darstellen, und die Fig. 24 und 25 stellen N -Befehlsfolgen -dar, die in der Einrichtung nach der Erfindung verwendet werden können.
Ausführliche Beschreibung der Einrichtung <I>Definitionen</I> Einige Begriffen, die in der folgenden Beschreibung häufiger vorkommen, werden wie folgt definiert: Programmsprache ist eine Ausdrucksform, die in binäre Signale umgesetzt, und die von einem Program mierer oder einem Benutzer eines Rechners ohne Kennt nis des Schaltungsaufbaus einer speziellen Verarbei tungsanlage verwendet werden kann.
S-Befehl ist ein Befehl, der eine Information enthält, die einen Rechenablauf oder einen Prozess vorschreibt, der mit einer Gruppe von Daten durchgeführt werden soll. Ein S -Befehl ist mit einem an sich bekannten Makrobefehl oder Befahl in Maschinensprache ver gleichbar.
M-Befehl ist ein Befehl, der eine Information ent hält, die eine Operation vorschreibt, die in einer Verar beitungsanlage ausgeführt werden soll, bei der eine oder mehrere dieser Operationen zur Durchführung eines Prozesses erforderlich sind, der vom S-Befehl vorge schrieben wird. Ein M-Befehl ist mit einem Mikrobefehl vergleichbar, wie er bislang verwendet wird.
N-Befehl ist ein Befehl, der eine Information enthält, die Steuersignale vorschreibt, die in der Verarbeitungs- anlage verwendet werden sollen, um die Ausführung einenes -M-Befehls auszulösen. Zur Durchführung eines M -Befehls können ein oder mehrere N -Befehle erforder lich sein.
Die bislang angewandte Mikroprogrammierung hat zwei wesentliche Vorteile. Zum einen braucht der Programmierer .nicht die einzelnen Schritt vorzuschrei ben, die zur Durchführung einer bestimmten Operation erforderlich sind;
diese Schritte werden durch die Folge von Mikrobefehlen vorgeschrieben, die der Makrobefehl aufruft. Zum anderen braucht in der Rechenanlage nicht für jede spezielle Funktion, die die Rechenanlage ausfüh ren soll, eine spezielle Schaltungsanordnung vorgesehen zu sein. Ferner kann die Anlage eins grössere Anzahl von Rechenoperationen .bei einem bestimmten Befehls format .ausführen, da der Operationsteil des Befehls nicht mehr die speziellen Maschinenoperationen vorzu- schreiben braucht.
Nach der Erfindung werden drei getrennte Anlagen zu einer Einrichtung zusammengefasst: Nämlich die S- Anlage, die M-Anlage und die N-Andlage. Jede Anlage enthält ihren eigenen Arbeitsspeicher und ihren eigenen Befehlsdekidierer. Die Liste der N-Befehle liegt norma lerweise fest, kann jedoch veränderbar sein.
Die Liste der M-Befehle .lässt sich während des Normalbetriebs der Anlage dynamisch ändern. Jede einzelne Gruppe von M-Befehlen kann einer bestimmten Gruppe von S- Befehlen eine bestinnnte Bedeutung zuschreiben. Jeder S-Befehl kann einen vollständigen Algorithmus vor schreiben, dessen Schritte durch eine Folge von M- Befehlen festgelegt werden.
Ein S-Befehl entspricht einem Makrobefehl oder Maschinensprachebefehl an sich bekannter Art. Nach der Erfindung ist jedoch keine bestimmte Gruppe von S-Befehlen erforderlich, es -kön nen vielmehr mehrere verschiedene -Gruppen von S- Befehlen, einschliesslich solcher Gruppen von S -Befehlen verwendet werden, die in verschiedenen Programmspra chen aufgezeichnet sind.
Ferner ist die Gruppe von Befehlsteilen, die die Eingabe und Ausgabe von Daten steuert, nach der Erfindung durch eine bestimmte Gruppe von S-Befehlen verwirklicht. Jede Gruppe von S- Befehlen wird bei der Anlage nach der Erfindung durch jeweils eine getrennte Gruppe von M-Befehlen interpre tiert, von denen jeder wiederum durch die Liste von -N- Befehlen verwirklicht wird.
Die Art und Weise, wie die Erfindung verwirklicht wird, wird anhand der Zeichnungen näher beschrieben. Fig. 1A stellt den- grundsätzlichen Aufbau einer Daten verarbeitungseinrichtung nach der Erfindung dar. Die Datenverarbeitungseinrichtung. enthält zwei Hauptteile, nämlich* ein Rechenwerk ALU und ein Steuerwerk. Der Arbeitsspeicher 20 ist in drei Teile unterteilt , nämlich in einen Hauptspeicher 20A, einen Mikroprogramm-Ar beitsspeicher 20B und einen N-Arbeitsspeicher 20C.
Bei dem Hauptspeicher 20A handelt es sich um einen normalen destruktiv lesbaren Speicher, wie er normaler- Waise in Datenverarbeitungsanlagen verwendet wird. Bei dem MP-Arbeitsspeicher 20B handelt es sich normaler weise um einen nicht destruktiv lesbaren Speicher.
Bei dem N-Arbeitsspeicher 20C handelt es sich vorzugsweise um einen nicht destruktiv .lesbaren Speicher, doch kann es sich auch um einen Lesespeicher auch Festwertspei cher genannt handeln. Bei allen drei Arbeitspeichern kann: es- sich um magnetische Dünnschicht oder Fest körperspeicher handeln. Als N -Arbeitsspeicher 20C wird jedoch ein Speicher gewählt, der den kürzesten Speicherzyklus aufweist.
Die Anlage nach Fig. 1A wird durch mehrere Eingabe/Ausgabe-Geräte 9 vervollstän digt, die über eine durch die Datenverarbeitungseinrich- tung 10 gesteuerte Schalteinheit 8 mit dem Hauptar beitsspeicher 20A verbunden .sind.
Bevor die Datenverarbeitungseinrichtung 10 aus führlicher bechrieben wird, wird ein spezieller Anwen dungsfall einer derartigen Datenverarbeitungseinrich- tung anhand von Fig. 1B beschrieben, um ihre Vielsei tigkeit zu veranschaulichen.
Nach Fig. 1B sind mehrere Datenverarbeitungseinrichtungen <B>11....</B> 14 zu einer Anordnung oder Matrix miteinander verbunden, und zwar über eine Schaltersynchronisier- oder Schaltervers riegellungsvorrichtung 15, die auch an Arbeitsspeicher einheiten 21, 22 und 3 und über Schalteinheiten 8 an mehrere Eingabe/Ausgabe-Geräte 9 -angeschlossen ist. Die Datenverarbeitungseinrichtungen Il, . . . , 14 sind ebenso ausgebildet wie jene nach Fig. 1A und können nach der Erfindung auf verschiedene Betriebsarten eingestellt werden.
Die Einrichtungen 11 und 12 können also; wie es in der Tabelle nach Fig. 1B dargestellt ist; so eingestellt werden, dass sie während eines bestimmten Arbeitstaktes die Ein- und Ausgäbe steuern, während die Einrichtungen 13 .und 14 im Verarbeitungsbetrieb arbeiten. In einem späteren Arbeitstakt, wenn keine Eingabe/Ausgalbe-Operationen erforderlich sind, werden alle vier Einrichtungen auf Verarbeitungsbetrieb einge stellt.
In einem noch späteren Arbeitstakt, wenn weitere Eingabe/Ausgabe-Operationen erforderlich sind, wird eine der Einrichtungen, z- B. die Einrichtung 13; --auf Eingabe/Ausgabe-Steuerbetrieb eingestellt. Die in Fig. 1B dargestellte Tabelle dient lediglich zur Erläuterung der Tatsache, dass irgendeine Datenverarbeitungsein- richtung oder alle zusammen in Abhängigkeit vom Anwendungsfall entweder auf Eingabe/Ausgabe-Steuer betrieb oder auf Verarbeitungsbetrieb einstellbar ist bzw. sind.
Rechen- <I>und Steuerregister</I> Fig. 2 stellt die Hauptregister und Hauptdatenüber tragungskanäle des Steuerwerks und des Rechenwerks ALU der programmierbaren Einheit dar. Das Rechen werk ALU enthält eine Verknüpfungseinheit 30; die unter anderem als Addierer wirkt, sowie einen Walzen schalter 31, A -Register 32; B-Register 33 und =NICHT Tore =34.
Das B-Register 33 ist das Hauptverbindungsglied zwischen der Datenverarbeitungseinrichtung und dem Hauptanbetsspeicher. Das Register dient auch als se kundärer Eingang des Addierers 30 und dient bestimm ten sekundären Funktionen, die bei den Rechenopera tionen auftreten. Die NICHT-Tore 34 dienen zur Bil dung des wahren Inhalts des B-Registers 33 oder des Einer-Komplements des Inhalts des Registers 33.
Die A-Register 32 sind drei funktionell gleiche Register. Jedes der A-Register dient als Datenzwischen speicher in einem Rechenwerk ALU und als des .als Haupteingang Addierers 30. Alle A-Register werden durch die Ausgangssignale der Walzenschalter 31 gela den.
Das Steuerwerk' der Datenverarbeitungseinrichtung enthält drei Hauptteile: Nämlich einen Teil, - der als Verbindungsglied zwischen dem Rechenwerk ALU und dem Arbeitsspeicher und Peripheriegeräten dient, einen Teil, der die Dekodierung der M-Befehle bewirkt, und einen Teil, der die N Befehlssteuersignale empfängt und weiterleitet.
Die Ausgangssignale des Rechenwerks ALU sind die Ausgangssignale -der Walzenschalter 31 und können Verbindungstoren 8, Adressenregistern 45 und 46, einem Arbeitsspeicherinformationsregister 47 und einem Sprung-Mikrobefehlszählregister 41 zugeführt werden. Die Ausgangssignale der Walzenschalter 31 können auch einem Verschiebungsbetragregister 44 zugeführt wenden: -Über die Verbindungstore 48 werden Adressen und andere Informationen entweder in-ein Arbeitsspei cheradressenregister 49 oder einen Zähler 50 übertra gen.
Das Adressenregister 45 enthält die Basisadresse eines 256-Wortblocks des Hauptarbeitsspeichers: Der Inhalt dieses Registers wird mit dem Inhalt des Arbeits- speicheradressenregisters 49 zur Bildung einer absoluten Arbeitsspeicheradresse verknüpft. An das Adressenregi ster 45- ist ein zweites Adressenregister 46 angeschlos sen, das die Basisadresse eines 246-Wortblocks des Hauptarbeitsspeichers oder die höchsten Stellen einer Ge räteadresse enthalten kann.
Auch der Inhalt des zwei ten Adressenregisters 46 wird mit dem Inhalt des: Ar- beitsspeicheradressenregisters 49 zur Bildung einer abso luten Arbeibsspeicheradresse oder einer Geräteadresse verknüpft. Das Arbesitsspeicherinformationsregister 47 dient als Zwischenspeicher für Informationen, die in den Hauptarbeitsspeicher oder ein Gerät übertragen werden sollen. Dieses Register wird durch die Ausgangssignale der Walzenschalter <B>31</B> geladen.
Die Mikrobefehle werden zunächst einem Mikrobe- fehlsdekoderer 40 zugeführt, um den N-Arbeitsspeicher zu :adressieren, und dann in ein Variablenregister 51, das Verschiebungsbetragregster 44 und das Sprüng- Mikroprogrammzählregister 41 übertragen.
Das Variab- lenregister <B>51</B> wird als Zwischenspeicher für beliebige Variable (und deren Komplement), die in den M- Befehlen enthalten sind und dem Addierer 30, dem Zählregister 50 oder dem Arbeitsspeicheradressenregi ster 49 zugeführt werden sollen, verwendet. Das Ver schiebungsbetragregister 44 speichert entweder die Ver schiebungsbetragzahl oder dessen Wortlängenkomple ment, die bzw. das zur Steuerung der Anzahl von Bits verwendet werden soll, um die Daten in den Walzen- schaltern 31 verschoben werden.
Das Register .41 enthält die Sprung- oder Rückkehradresse für Pro grammsprünge und Unterprogrammrückläufe in M Programmen. Die in diesem Register gespeicherte Ad resse ist gewöhnlich um 1 kleiner als diejenige Stelle, an die zurückgekehrt werden soll. Dieses Register kann aus dem Mikroprogrammzählregister 42, durch Walzen schalterausgangssignale oder vom M-Befehlsdekodierer 40 geladen werden.
An dieses Register ist das Mikropro grammzählregister 42 angeschlossen, bei dem es sich um den Befehlsadressenzähler für den M-Arbeitsspeicher handelt. Es enthält gewöhnlich die laufende Mikrobe- fehJsadresse.
Die Dekodierung der N-Befehle geschieht durch ein Prüfschaltwerk 53 und das Operationsbefehlsregister 52. Die Wirkungsweise dieser Schaltungen wird später noch ausführlicher beschrieben. An dieser Stelle sei nur soviel erwähnt, dass das Prüfschaltwerk 53 Informationen von einem Bedingungsregister 54 erhält, dessen Inhalt eine Gruppe von Prüfbits ist, die als Fehlerindikatoren, Unterbrechungsbefehle, örtliche und globale Boolesche Schaltvariable sowie Asynchronitäts- oder Entriege- lungsindikatoren wirken. Diese verschiedenen Bedin gungsregisterbits werden noch ausführlicher beschrie ben.
Durch M-Befehle gesteuerte Operationen Bevor der Aufbau der M- und N-Befehle beschrie ben wind, werden zunächst die Hauptoperationen, die in der programmierbaren Einheit ausgeführt werden be schrieben. Diese Operationen werden durch M-Befehle ausgelöst.
<I>Arbeitsspeicher- und Geräteoperationen</I> Die Arbeitsspeicher- und Geräteoperationen dienen zur Übertragung von: Daten zwischen der Datenverarbei- tungseinrichtung und dem Arbeitsspeicher oder irgendei nem Peripheriegerät. Die Datenverarbeitungseinrichtung ist mit den Arbeitsspeichereinheiten und Geräten über eine Schaltersynchronisier- oder Schalterverriegelungs- vorrichtung durch bidirektionale Mehrfachleitungen ver bunden.
Die Arbeitsspeicher- und Geräteadressen wer den aus :dem Arbeitsspeicheradressenregister 49 zur Schalterverriegelungsvorrichtung und nach Herstellung der Verindung zum ausgewählten Arbeitsspeicher oder Gerät weitergeleitet. Aus einem Arbeitsspeicher oder Gerät empfangene Daten werden 'durch Verbinden des B-Registers mit der äusseren Datenmehrfachleitung ins B-Register übertragen. Die in den Arbeitsspeicher oder das Gerät zu übertragenden Daten werden über das Arbeitsspeicherinformationsregister 47 geleitet. Jede Ar beitsspeicher- oder Geräteoperation wird im ersten Takt des M-Befehls ausgelöst und parallel oder gleichzeitig mit der Ausführung eines nachfolgenden M-Befehls fortgesetzt.
Die Arbeitsspeicher- und Geräteoperationen können also vollständig durch logische Verknüpfungs- operationen überlappt werden. Die Arbeitsspeicher-, Geräte- und Einstelloperationen können in jedem M Befehl als bedingte oder unbedingte Gruppe vorgeschrie ben sein. Die speziellen Arbeitsspeicher- und Geräteope rationen werden nachstehend ausfühlicher beschrie ben.
<I>Verknüpfungsoperationen</I> Jeder M-Befehl kann genau eine logische Verknüp fungsoperation vorschreiben. Diese Operationen umfas sen binäre Boolesche Verknüpfungsoperationen, auch Schaltfunktionen genannt, zwischen den Eingangssigna len A und B und zwischen den Eingangssignalen B und Z des Rechenwerks ALU und die meisten Verknüp fungsoperationen zwischen Z und A. Es kommen auch einige ternäre Boolesche Verknüpfungsoperationen zwi schen allen drei Eingangssignalen und echte Additions operationen zwischen jeweils zwei Eingangssignalen vor. Die Schaltfunktionen der verchiedenen Booleschen Ver knüpfungsoperationen sind in Fig. 19 als Tabelle darge stellt.
:Bei den echten Additionsoperationen erfolgt eine Zweierkomplementaddition der Eingangssignale A und B des Rechenwerks ALU. Die gleichen Verknüpfungen können zwischen den Eingangssignalen B und Z und zwischen den Eingangssignalen Z und A durchgeführt werden, wenn dies erforderlich ist. Das Endübertragaus- gangssignal der höchsten Stelle des Rechenwerks ALU wird zur Überprüfung des nächsten M -Befehls verwen det, und im Überlaufbit des Bedingungsregisters für eine spätere Prüfung gespeichert.
Das Rechenwerk ALU besteht aus mehreren logi schen Grundeinheiten entsprechend der Datenkanalbrei te, die für eine bestimmte Datenverarbeitungseinrichtung gewählt ist. Die Anzahl der Bits bei einer Grundeinheit ist gleich 8 gewählt. Die Variationsmöglichkeiten frei Additionsoperationen hängen von der Wahl der jeder 8- Bit-Gruppe zugeführten Überträge bzw. davon ab, ob der Übertragausgang einer vorhergehenden Stufe mit dem Übertrageingang einer folgenden Stufe verbunden ist.
Bei jeder 8-Bit-Gruppe kann -die logische Einheit so verdrahtet sein, dass .das Übertrageingangssignal entwe der gleich dem Übertragausgangssignal der unmittelbar vorhergehenden (rechts benachbarten) Gruppe oder konstant ist. Diese Wahl lässt sich nicht durch das Programm ändern. Der Übertrageingang bzw. das über- trageingangssignal kann jedoch durch das Programm entweder freigegeben bzw. durchgeschaltet oder gesperrt werden.
Bei herkömmlichen Anordnungen erhalten olle, bis auf die niedrigste 8-Bit-Gruppe, ein Übertragsignal von der vorhergehenden Gruppe. Der niedrigsten: (am weitesten rechts liegenden) Gruppe wird ständig eine Eins als Übertrag zugeführt. Für :alle Gruppen, mit Ausnahme für die Gruppe der niedrigsten Stelle, werden alle Übertragdurchschaltsignale zusammen gebildet, während der der niedrigsten Stelle zugeführte 1-Über- trag getrennt gebildet wird.
Walzenschalteroperation Es gibt vier Walzenschalteroperationen, die vorge schrieben werden können, und eine muss vorgeschrieben werden. Diese Operationen sind: Verschiebe nicht, verschiebe nach rechts zirkular den Betrag im Verschie- bungsbetragregister 44, verschiebe nach rechts hinaus den Betrag im Verschiebungsbetragregister und ver- schiebe nach links hinaus das Zweierkomplement des Betrags im Verschiebungsbetragregister 44.
Eine andere Operationsart; die durch die M-Befehle gesteuert wird, sind die Setz-Operationen, die: zur Unterbrechung anderer Programmeinheiten bei einer Zusammenschaltung mehrerer dieser Einheiten zu einer Anordnung, zum Aussperren und Entriegeln kritischer Teile einer 'derartigen Anordnung und zum Einstellen bzw. Setzen örtlicher Bedingungsbits verwendet werden.
Ausserdem enthalten die M-Befehle verschiedene Arten von Informationen, die in Verbindung mit dem Format des M -Befehls und anderer Befehle ausführlicher be schrieben wird.
<I>Befehlsformat und Bedingungsregister</I> Die programmierbare Einheit enthält vier Steuerin- formationsquellen. Diese umfassen die drei Befehlsebe nen oder Befehlsstufen, nämlich den S-Befehl, den M Befehl und den N -Befehl sowie eine Gruppe von Bedingungsbits, die im Bedingungsregister 54 gespei chert sind, wie es in Fig. 13 dargestellt ist. Diese Informationsquellen werden nachstehend beschrie- ben.
S-Befehlsformat Anhand -von Fig. 13 wird ein S-Befehlsformat beschrieben. Es sei darauf hingewiesen, dass nicht nur ein bestimmtes S -Befehlsformat verwendet werden kann. Nach der Erfindung ist es vielmehr möglich; verschiede ne Befehlsformate zu verwenden.. Es muss - lediglich dafür gesorgt sein, dass -bestimmte Folgen von M- B:efehlen im M-Arbeitsspeicher vorhanden sind; die jede spezielle Gruppe von S-Befehlen dekodiert oder inter pretiert.
Es ist ferner möglich, mehrere dieser M- Befehlsfolgen im M-Arbeitsspeicher zu speichern.
Die in den Fig. 13A, 13B und 13C dargestellten Befehlsformate dienen zur Steuerung von Eingabe/Aus gabe-Datenübertragungen, doch .können diese Befehls- formate auch zum Aufrufen von Rechenabläufen ver wendet werden, die in der Datenverarbeitungseinrich tung ausgeführt werden sollen.
Der Eingabe/Ausgabe-Deskriptor nach Fig. 13 ent hält 96 Bits. Er ist in drei Teile unterteilt. -Der Operationsteil nach Fig. 13A ist in zwei Felder unter teilt. Das Feld I schreibt die .auszuführende Operation vor, während das Feld II zum Eintragen der Adresse des Peripheriegeräts oder der Arbeitsspeichereinheit, in die oder aus der Daten übertragen werden sollen, verwendet werden kann. Das Feld III nach Fig. 13B ist ein Zeichen aus 8 Bits, das als Vergleichzeichen zum Beenden einer Datenübertragung verwendet werden kann.
Das Feld IV stellt einen Zähler dar; der die Anzahl von Datengrup pen vorschreibt, die übertragen werden sollen, und dessen Zählerstand bei jeder Datenübertragung um eins verringert und auf das Auftreten des Zählerstands null überprüft wird. Das Feld V stellt eine Gruppe von Steuerbits dar, z. B. Kennzeichen oder Fahnen , die zur Modifizierung der Datenübertragung oder zum Vorschreiben verschiedener Bedingungen verwendet werden können.
Das Feld VI ist ein Befehlszähler, der die absolut-- Adresse vorschreibt, unter der die :nächste Deskriptoroperatüon aufzusuchen ist. Das Feld VII des Steuerteils II nach Fig. 13C wird zum Vorschreiben der Arbeitsspeicheradresse verwendet, unter der Daten ein gegeben oder ausgelesen werden - sollen. Das Feld VII kann in zwei Unterfelder :unterteilt sein, um -beispiels- weise eine Basisadresse und eine relative Adressenstelle vorzuschreiben.
Das Bit 64 des Steuerteils II wird zum Anzeigen der Tatsache verwendet, dass der Kanal, dessen Betrieb gerade vom Deskriptor überwacht wird belegt ist, während das Bit 65 dazu verwendet wird, zu verhindern, dass der gerade verarbeitete Deskriptor eine neue E/A-Folge auf einem anderen Kanal auslöst, und das Bit 95 ist ein Paritätsbit.
Die Befehlsformate nach Fig. 13 können Informatio nen enthalten, die- für eine bestimmte Kanaloperation erforderlich sind, zu der die Adressierung einer neuen Gruppe von Deskriptor-Befehlen gehört, die eine neue Operation in diesem Kanal auslösen, wenn die augen- blickliche -Operation ausgeführt ist. Das Befehlsformat nach Fig. 13 wurde zwar für einen E/A-Deskriptor beschrieben, kann jedoch auch für Rechenabläufe ver wendet werden.
In jedem Falle wird dieses Deskriptor- format durch die programmierbare Einheit dadurch realisiert, dass das B-Register 33 der Rechenverknüp fungseinheit nach Fig. 2 das Feld I aufnimmt. Dieses Feld wird dann über den Addieret 30 und die Walzen schalter 31 ins Sprung-Mikroprogrammzählregister (SMPZR) 41 übertragen; um den M-Arbeitsspeicher zu adressieren. Unter dieser Adresse wird eine -neue Adres se ausgelesen und dem Mikrobefehlsdekodierer 40 nach Fig. 2 zugeführt.
Diese Adresse schreibt die Anfangs- spoicherzelle der Folge von M-Befehlen vor, die zur Durchführung des auf diese Weise dekodierten S-Befehls erforderlich ist. M-Befehlsformat Nachdem beschrieben wurde, wie ein S -Befehl zur Gewinnung einer Folge von M-Befehlen, die den S- Befehlausführen, dekodiert wird, werden nachstehend die M-Befehlsformate anhand von Fig. 14 beschrie ben.
Jeder M-Befehl benötigt einen 16-Bit-Wort-Spei- cherplatz in dem Mikroprogramm-Arbeitsspeicher; auch M-Arbeitsspeicher genannt. Es gibt zwei Arten von M -Befehlen, von denen jede durch die N-Befehle ver schieden dekodiert wird. Die erste Art von M-Befehlen schreibt mindestens eine von sechs Funktionen vor: Eine Bedingung, eine Verknüpfungseinheitsoperation, eine Arbeitsspeicher- oder Geräteoperation, einen wahren- Nachfolger, einen falschen Nachfolger und Variable in dem Befehl. Die Bedingung und Nachfolger müssen in jedem M -Befehl vorhanden sein.
Die anderen Funktio nen sind jedoch frei wählbar. doch können alle frei wählbaren Angaben in demselben Befehl enthalten sein. Eine zweite Art von M-Befehl enthält nur Befehlsvaria ble.
Der Aufbau der ersten Art von M-Befehlen ist in Fig. 14a dargestellt. In diesem Befehl ist das nullte Bit eine 1, während die übrigen Bits die Adresse eines N Arbeitsspeichers darstellen, unter der der N -Befehl .aufgesucht werden kann, der -die Operations- und Bedingungssteuerbits enthält, die durch die erste Art von M-Befehl vorgeschrieben werden.
Der Aufbau der zweiten Art von M-Befehlen ist in den Fig. 14b und 14c dargestellt. Nach Fig. 14b -stellen die ersten drei Bits Nullen dar, wodurch sie anzeigen, dass die übrigen Bits 3 bis 15 eine M-Arbeitsspeicherad- resse darstellen, die ins Register 41 nach Fg. 2 übertragen werden muss.
Wenn mindestens eines der Bits 1 und 2 ,eine 1 und das nullte Bit eine 0 ist, dann hat der Aufbau das in Fig. 14c dargestellte Format, bei dem die Bits 3-7 ein Schiebebetrag-register-Inhaltsfeld darstellen, wenn das Bit 3 eine 1 ist, und die Bits 9-15 ein Variablenfeld darstellen, wenn das Bit 2 eine 1 ist.
Das Bit 8 kann sich entweder im Schiebebetragregister- Inhaltsfeld oder dem Variablenfeld befinden, wenn beide nicht spezifiziert (vorgeschrieben) sind. Wenn jedoch die Bits 2 und 3 beide eine 1 darstellen, dann wird das Bit 8 als Teil des Schiebebetrag-Register Inhaltsfeldes betrachtet.
Es gibt 16 prüfbare Bedingungen, von denen genau eine bei jedem M-Befehl geprüft werden muss. Wenn die Prüfung positiv ausfällt, wird der ,gesamte Befehl ausge- führt und der wahre Nachfolger als nächste Befehlsad- resse gewählt. Wenn die Prüfung negativ ausfällt,
wer den nur die unbedingten Teile des Befehls ausgeführt und der falsche Nachfolger (d.h. die Negation des Nachfolgers) als nächste Befehlsadresse gewählt. Die 16 Bedingungen, die überprüft werden können, umfassen die 12 Bedingungsregisterbits und vier andere Bedingun gen, bei denen es sich um Überlauf,
exklusives ODER und um die Ausgangssignale der niedrigsten und höch sten Binärstelle des Addierers handelt, die sich bei dem vorhergehenden M-Befehl ergeben.
Die durch die M-Befehle vorgeschriebenen logischen Verknüpfungsoperationen umfassen die Auswahl der Addierer-Eingangssignale, die Addiereroperation, die Walzenschalteroperation und die Festlegung des Bestim mungsortes der Ausgangssignale des Addierers und der Walzenschalter, wobei es sich bei diesem Bestimmmungs- ort entweder um das Rechenwerk ALU oder das Steuerwerk handeln kann. Die Steuerungen für die Variablen-, Zähler- und Schiebebetragregister und die Steuerungen zur Änderung von Befehlen,
die bereits verarbeitet werden, sind ebenfalls in dieser Gruppe enthalten.
Die speziellen Rechen- und Verknüpfungsoperatio- nen sowie Arbeitsspeicher-, Geräte- und Einstellopera tionen wurden bereits in dem Abschnitt Durch M- Befehle gesteuerte Operationen erwähnt. Diese allge meinen Operationen sollen hier nicht wiederholt werden, doch müssen noch bestimmte spezielle Funktionen be schrieben werden, die ebenfalls durch die M-Befehle gesteuert werden.
Zu diesen gehört nicht nur das Weiterleiten von Datenteilen in das A- und das B- Register des Rechenwerks ALU, sondern auch in die Register 41, 45, 47, 49 und 50, wie es in Fig. 3 dargestellt ist. Die M-Befehle steuern auch die Übertra gung des Inhalts des Variablenregisters 51 in das Zählerregister 50 und die Weiterschaltung des Zählerre gisters 51.
Wenn der Zähler 50 beim Weiterschelten überläuft und auf null zurückgesetzt wird, dann wird das Zählernüberlaufbit des Bedingungsregisters 54 gesetzt. Diese Übertragungssteuerfunktionen werden durch Ad ressieren entsprechender N -Befehle durchgeführt, die die erforderlichen Steuersignale enthalten.
Bei jedem M-Befehl muss der Inhalt des Schiebebe tragregisters 44 wie folgt gewählt werden: Entweder gleich dem Inhalt, den es bei dem vorhergehenden Befehl hatte, oder gleich dem Wortlängenkomplement des Inhalts, den es bei dem vorhergehenden Befehl hatte, oder gleich dem Wert der sechs binären Ausgangs signale der niedrigsten Stelle der Walzenschalter 31 bei dem vorhergehenden Befehl odergleich einem Variab- lenwert aus dem M -Befehl.
Diese Wahl wird vor und nicht nach der Verschiebung in den Walzenschaltern 31 getroffen.
Der M-Befehl ermöglicht auch die Durchführung zweier Austauschoperationen, die es ermöglichen, teil- weise ausgeführte Befehle zu ändern. Diese Operationen hängen vom Ergebnis der Bedingungsprüfung ab und umfassen das Austauschen des Bestimmungsortes oder des Befehls.
Bei einer Bestimmungsortaustauschopena- tion gestattet eine positive Bedingungsprüfung das Ab- schliessen des vorhergehenden Befehls, und wenn die Bedingungsprüfung negativ ausfällt, dann wirkt der gerade in der Durchführung befindliche Befehl als Löschoperation. Wenn die Bedingungsprüfung bei einer Befehlsaustauschoperation positiv ausfällt, dann wird der vorhergehende Befehl nach einem Takt unterbro chen und die laufende Operation ausgeführt,
wenn jedoch die Bedingungsprüfung negativ ausfällt, dann wirkt der laufende Befehl als Löschoperation.
Es gibt 12 Arbeitsspeicher- und Geräteoperationen, von denen jede durch einen bestimmten M-Befehl ausgelöst werden kann. Diese Operationen sind: Verrie- gele .mit Gerät zum Lesen, verriegele mit Gerät zum Schreiben, entriegele Arbeitsspeicher oder Gerät, der oder das zum Lesen reserviert ist, entriegele Arbeitsspei- cher oder Gerät, der oder .das zum Lesen reserviert ist, lies (wenn ein Gerät bereits zum Lesen verriegelt ist),
schreibe (wenn ein Gerät bereits zum Schreiben verrie- gelt ist), lies Register, schreib Register und bringe Inhalt des Mikroprogrammzählregisters 41 in den M-Arbeits- speicher.
Wie bereits angedeutet, muss jeder M-Befehl die nächste M -Befehlsadresse oder den Nachfolger im M- Arbeitsspeicher in einer von zwei Arten vorschreiben, eine für den positiven Ausgang der Bedingungsprüfung und eine für den negativen Ausgang der Bedingungsprü- fung. Wenn beide Vorschriften gleich sind, dann ,ist der Nachfolger nicht bedingt.
Das Register 42 nach Fig. 2 enthält normalerweise die Adresse des laufenden (gerade in der Ausführung befindlichen) Befehls. Das Register 41 nach Fig. 2 enthält gewöhnlich die um eins vermin- derte Adresse des Alternativbefehls. Es gibt sieben Wahlmöglichkeiten für jeden Nachfolger:
Schalt,-- zum nächsten Befehl der Folge weiter (die nächste Befehlsad- resse ist der Inhalt des Registers 42 um 1 erhöht, und der Inhalt des Registers 42 wird anschliessend durch die nächste Befehlsadresse ersetzt), überspringe den näch sten Befehl (diese Operation gestattet bedingte Verzwei gungen innerhalb einer expliziten Additionsvorschrift aufgrund eines Befehls;
die nächste Befehlsadresse ist der um zwei vermehrte Inhalt des Registers 42, und der Inhalt ,des Registers 42 wird durch die nächste Befehls- adresse ersetzt), wiederhole den Befehl noch einmal (diese Operation gestattet die Wiederholung der Ausfüh rung eines Befehls so lange, bis sich der Wert einer Bedingung ändert;
die nächste Befehlsadresse ist der Inhalt des Registers 42, der unverändert bleibt), speiche re Programmschleifenadresse (dadurch wird die Speiche- rang der Adresse des laufenden Befehls im Register 41 veranlasst, so dass später zu der um eins vermehrten Adresse des laufenden Befehls gesprungen werden kann),
führe einen Befehl ausserhalb der Reihenfolge aus (diese Operation gestattet die Ausführung des im Register 41 gespeicherten Befehls und eine unmittelbare Rückkehr zur normalen Reihenfolge), rufe eine Ver zweigungsanweisung auf (diese Operation bewirkt einen Sprung in eine Routine, die im Register 41 vongeschrie- Register 41 gespeicherten Befehls).
In den M -Befehlen können drei Variable auftreten: M-Befehlsadressen, Datenvariable und Verschiebebeträ ge. -Bei Befehlen des ersten Typs wird über die Verknüp fungseinheitszeit hinaus keine zusätzliche Zeit zur Ver- arbeitung der Variablen benötigt. Bei Befehlen des zweiten Typs, die nur Variable enthalten, wird nicht mehr als ein Takt benötigt.
Bei den M-Befehlsadressen- variablen handelt es sich um diejenigen Adressen, die ein vollständiges M-Befehlswort benötigen, das daher nicht bei Befehlen des ersten Typs oder .bei anderen Variablen verwendet werden kann. Datenvariable -kön nen bei Befehlendes zweiten Typs entweder allein oder zusammen mit einem Schiebebetrag verwendet werden.
Die Datenvariable wird im Variablenregister 51 nach Fig. 2 gespeichert, bevor die Verknüpfungseinheit bei diesem Befehl irgendeine Operation durchführt. Die Verschiebebetragvariablen werden- ins Register 44 nach Fig. 2 übertragen, bevor die Verknüpfungseinheit bei diesem Befehl irgendeine Opration durchführt. <I>Bedingungsbits</I> Wie bereits erwähnt, sind die äusseren Bedingungssi gnale, die dem Bedingungsregister 54 nach Fig. 2 zugeführt werden, eine der vier Informationsquellen in der Datenverarbeitungseinrichtung.
Da diese Bedin gungsbits die Durchführung der M-Befehle durch die N- Befehle beeinflussen, werden die durch diese Bits jeweils dargestellten Bedingungen vorgeschrieben, bevor das Format der N -Befehle vorgeschrieben wird: Wie bereits erwähnt wurde, speichert das Bedin- gungsregister 12 prüfbare Bits, die als Fehlerindikato ren, Unterbrechungsbits, örtliche und globale Boolesche Variable und .als Asynchronitäts- oder Entriegelungsin- dikatoren wirken. Das Format des Bedingungsregisters ist in Fig. 16 dargestellt.
Das Überlaufbit (COV) wird gesetzt, wenn im Zählregister 50 nach Fig. 2 ein Überlauf auftritt, wenn also der Zähler beim Weiterschalter auf null zurückge setzt wird. Das Bit wird zurückgesetzt, wenn es über prüft (abgetastet) - wird. Es wird auch immer dann zurückgesetzt, wenn die Ausgangssignale des Walzen- schalters oder der Inhalt des Variablenregisters 51 nach Fg. 2 in das Zählerregister übertragen werden.
Wenn es im gleichen Takt gesetzt und zurückgesetzt wird, domi- niert die Rücksetzung. Bei einer Überprüfung dieses Bits wird in Wirklichkeit die ODER-Verknüpfung dieses Bits mit dem wahren Überlauf des Zählers überprüft.
Das Lesebereitbit (RDC) ist ein Bit, das anzeigt; dass Daten bereitstehen, die taktweise ins B-Register übertragen werden sollen. Dieses Bit wird von demjeni gen Arbeitspeicher-Modul oder Gerät gesetzt, mit dem die Datenverarbeitungseinrichtung in Leseverbindung steht. Alle Geräte setzen dieses Bit. Das Lesebereitbit wird durch Überprüfung zurückgesetzt.
Das Arbeitsspeicheradressenregisterbereitbit (MAR) ist ein Bit, das zum Anzeigen der Tatsache verwendet wird, dass das Arbeitsspeicheradressenregister 49 erneut geladen werden kann. Es wird durch die Schalterverrie- gelungvorrichtung oder ein Gerät während einer Verrie- gelungs-, Lese- oder Schreiboperation gesetzt. Beim Prüfen wird das Bit zurückgesetzt. Solange wie !das Bit gesetzt ist, nachdem die erwähnten Operationen ausge löst wurden, zeigt es an, - dass das Gerät oder - der Arbeitsspeicher-Modul belegt ist.
Das Bit ERR zeigt an, dass im Arbeitsspeicher- Modul oder Gerät, der bzw. das mit der Datenverarbei- tungseinrichtung für eine Leseoperation in Verbindung steht, ein Fehler aufgetreten ist. -Das Bit wird durch das Gerät oder die Schalterverriegelungsvorrichtung gesetzt und beim überprüfen zurückgesetzt. Das Bit stellt die ODER Verknüpfung aller Fehlersignale dar; die ein sofortiges Eingreifen erfordern.
Dazu gehören Arbeits speicher-Paritätsfehler, ungültige Adressen bei Periphe- rieArbeitsspeichern, Gerät oder Arbeitsspeicher nicht ;angeschlossen (ein Signal von der Schalterverriegelungs- Vorrichtung) und Netzausfall im Gerät. Warnsignale wie Papier des Schnelldruckers ausgegangen gehören nicht dazu (einige Geräte-Fehlerarten werden nur op tisch angezeigt).
Das Bit ERW, das ähnlich wie das Bit ERR winkt, zeigt Fehler an, die bei einem Gerät oder Arbeitsspe cher-Modul, das bzw. der mit der Datenverarbeitungs einrichtung zum- Lesen in Vebindung steht, auftreten. Ein Bit Erster externer Anruf (EX1) zeigt an, dass ein neuer Anruf' von einem externen Gerät oder einer weiteren Datenverarbeitungseinrichtung aufgetreten ist.
Derartige Anrufe oder Anforderungen können norma lerweise durch irgendeine Datenverarbeitungseinrich tung 'bedient werden: Das Bit wird durch das Gerät gleichzeitig bei allen Datenverarbeitungseinrichtungen gesetzt. Beim überprüfen wird es (örtlich) in jeder Datenverarbeitungseinrichtung zurückgesetzt.
Ein Bit Zweiter externer Anruf (EX2) ist ein Bit, das einen Anruf von einem Gerät anzeigt, das belegt; jedoch nicht mit irgendeiner Datenverarbeitungseinrich- tung verriegelt ist (in Verbindung steht): Angezeigt würden solche Ereignisse, wie das Einschalten eines Magnetbandgerätes. In diesem Falle würde nur diejenige Datenverarbeitungseinrichtung, die das Einschalten des Bandgerätes ausgelöst hat; eine Antwort erwarten.
Ein Bit Arbeitsspeicherinformationsregister bereit {MIR) zeigt an, dass der Arbeitsspeicher oder ein Gerät nach einer Schreiboperation Daten erhalten hat. Dieses Bit wird beim Überprüfen in jeder Datenverarbeitungs- einrichtung zurückgesetzt.
Ein Bit Erster globaler Zustand (GC1) zeigt im gesetzten Zustand an, dass eine Entriegelung (Trennung) erfolgreich durchgeführt wurde. Das Bit kann in höch stens einer Datenverarbeitungseinrichtung gesetzt wer den. -Es wird in jeder Datenverarbeitungseinrichtung örtlich gesetzt und zurückgesetzt. Wenn das Bit über prÜft wird, wird es nicht dabei zurückgesetzt.
Ein Bit Zweiter globaler Zustand (GC2) hat eine ähnliche Funktion wie das Bit GCl.
Ein Bit Erster lokaler Zustand (LCl) wird bei kurzzeitiger Speicherung Boolescher - Bedingungen in einer.Datenverarbeitungseinrichtung verwendet: Es- wird örtlich durch die Datenverarbeitungseinrichtung gesetzt und örtlich durch Überprüfung zurückgesetzt.
Ein Bit Zweiter lokaler Zustand (LC2) ist dem Bit LCI ähnlich. Welche Bedeutung einem Zustands- oder Bedienungsbit zugeordnet wird, hängt vom speziellen Anwendungsfall ab: Mit Ausnahme der globalen Zu- standsbits sind alle Bits bis auf ihre äusseren Verbindun gen identisch. Es können jedoch nur drei Bits (MIR, LCl, LC2) örtlich gesetzt werden.
N-Befehlsformat Das N-Befehlsformat wird anhand von Fig. 15 beschrieben. Dieses Format besteht aus Steuersignalen, die zur Durchführung der M-Befehle erforderlich sind. Das N-Befehlsformaat umfasst Steuersignale, die nicht unmittelbar durch eine Schaltungsanordnung erzeugt werden, sondern in Befehlsform in dem N-Arbeitsspei- cher gespeichert sind und aus diesem unter einer N- Arbeitsspeicheredresse ausgelesen werden, die in einem M-Befehl enthalten ist.
Bei dem bevorzugten Aus- führungsbeispiel der Erfindung werden die verschiede nen Bits des N-Befehls zwar direkt als Steuersignale verwendet, doch liegt es auch im Rahmen der Erfin dung, die verschiedenen Bits des N-Befehls zu verschlüs seln und verschlüsselte Kombinationen der Bits die Erzeugung der gewünschten Steuersignale bestimmen zu lassen.
Wie in Fig. 15 angedeutet ist, erfolgt die Durch führung eines M-Befehls in drei Phasen. Daher sind auch die Steuersignale, die durch den N-Befehl ausgelöst werden, in drei Gruppen unterteilt: Nämlich diejenigen, die während der ersten Phase verwendet werden müssen, diejenigen, die während der Phasen 2 und 3 verwendet werden .müssen, und diejenigen, die während der Phase 3 verwendet werden müssen.
Die zeitlichen Verhältnisse in den verschiedenen Phasen werden später noch anhand von Taktdiagram men ausführlicher beschrieben; sie werden jedoch jetzt schon ,grob beschrieben, um das Verständnis der ver schiedenen Steuersignale, die in dem N-Befehlsformat nach Fig. 15 enthalten sind, zu erleichtern. Wie bereits erwähnt, gibt es drei Zeitphasen, und es gibt auch zwei Arten von M-Befehlen. Die eine Art von Befehl löst stets Steuersignale der Phase 1 und Phase 3 aus und kann in einigen Fällen Steuersignale der Phase 2 auslösen. Befehle der zweiten Art enthalten oder bewir ken nur Steuersignale der Phase 1.
Durch Befehle der zweiten Art ausgelöste Steuersignale der Phase 1 werden zum Einspeichern der Variablen in die Register 41, 44 oder 51 verwendet. M-Befehle der zweiten Art benöti gen stets eine Taktzeit und überlappen stets die Phase 2 der vorhergehenden Befehle der ersten Art.
Die Phase 1 tritt bei jedem Befehl der ersten Art auf und benötigt eine Taktzeit. Sie überlappt stets die Phase 3 des vorhergehenden Befehls der ersten Art (dazwischen können Befehle der zweiten Art auftreten). Die Phase 1 wird zur Zustands- bzw. Bedingungsüberprüfung, zur Berechnung der nächsten Befehlsadresse, zur Auslösung von Arbeitsspeicher- und Geräteoperationen, zum Ein geben von Befehlsvariablen in das Variablenregister 51 oder das Verschiebungsbetragregister 44 und zum Ein stellen einer Operation der Verknüpfungseinheit verwen det.
Die Phase 2 tritt bei einigen M-Befehlen der ersten Art auf und benötigt eine variable Anzahl von Takt zeiten. Sie dient zur Verzögerung der Phase 3 zur Übertragweiterleitung, Befehlszwischenspeicherung, Be fehlsmodifikation und Durchführung eines M-Befehls der zweiten Art. Wenn es sich bei dem nächsten M- Befehl um einen Befehl der zweiten Art handelt, wird -der -augenblickliche M-Befehl der ersten Art in der Phase 2 .angehalten, und zwar für die Dauer einer Taktzeit, während der M-Befehl der zweiten Art ausge führt wird. Die Phase 3 tritt bei jedem M-Befehl der ersten Art auf und benötigt eine Taktzeit. Sie ist stets die Phase 1 des nächsten M-Befehls der ersten Art (dazwi- scheu können Befehle der zweiten Art auftreten).
Wäh rend der Phase 3 werden Verknüpfungsoperationen und Zielortbestimmungen durchgeführt.
Die verschiedenen Steuersignale der N-Befehle kön nen in fünf Gruppen unterteilt werden, je nach der Phase, in der sie ausgeführt werden.
<I>Nur in Phase 1 verwendete Steuersignale</I> Diese Steuersignale werden direkt aus den M- Befehlen heraus ausgeführt. Die Bedingungs- oder Zu- standsüberprüfung, das Vorschreiben bedingter und nicht bedingter Operationen, das Ersetzen von Operatio nen, die Nachfolger-Operationen, das Auslösen von Ar beitsspeicher- oder Geräteoperationen und Zustands oder Bedingungsbiteinstell- Schiebebetragregistervor- schreibungen gehören zu dieser Gruppe.
<I>In der Phase 2 verwendete Steuersignale</I> Nur die Verknüpfungsoperationen (mit Ausnahme der Zielortbestimmung) werden in der Phase 2 durchge führt. In Abhängigkeit von der Breite (Stellenzahl) einer wahren Additionsoperation, der Taktfrequenz der Datenverarbeitungseinrichtung und davon, ob die Wal zenschalterausgangssignale benötigt werden, können zwei anstelle einer Taktzeit erforderlich sein, um die Verknüpfungsoperation vollständig durchzuführen. In diesen Fällen wird -eine Phase 2 mit einer Dauer von einer Taktzeit eingeschaltet.
Die Tatsache, dass eine zusätzliche Zeit benötigt wird, wird explizit im Befahl während der Dauersteuerung angezeigt.
Wenn das Auslesen des nächsten Befehls aus dem M -Arbeitsspeicher verzögert wird, bleibt der Befehl der ersten Art, der gerade ausgeführt wird, (und es wird ständig einer ausgeführt) so lange in der Phase 2, bis das Auslesen durchgeführt werden kann. Die Länge dieser Verzögerungszeit lässt sich nicht vom Programmierer bestimmen und wird dynamisch durch den Mikro programmzwischenspeicher oder den M-Arbeitsspeicher angezeigt.
Wenn der nächste M-Befehl eine Ersetzungs- oder Austauschoperation enthält, wird der Befehl der ersten Art, der gerade ausgeführt wird, für die Dauer einer Taktzeit in der Phase 2 angehalten, um die Durch führung der Phase 1 der Austauschoperation zu gestat ten. Das Bedürfnis nach dieser Verzögerung wird durch die Austauschsteuersignale des nächsten Befehls be stimmt.
<I>In Phase 2 und Phase 3 verwendete Steuersignale</I> Diese Steuersignale werden aus dem Befehlsregister 52 heraus ausgeführt. Diese Gruppe steuert nur die Verknüpfungsoperation, und zwar die A-Register auswahl, .die B-Registerauswahl, die C-Eingabeaus- wahl, die Addieroperation und die Walzenschalter operation. <I>Nur in Phase 3 verwendete Steuersignale</I> Diese Steuersignale kommen aus dem Befehlsregister 52.
Sie steuern die A-Register-Zielortbestimmung, die B-Register- Zielortbestimmung die Fern-ZielOItbestim- mung und die Variablenübertragung sowie Zähler- openationen.
Die Variablen in den M-Befehlen werden während des ersten Taktes des Befehls in das vorgeschriebene Re gister (41, 44 oder 51) übertragen. Bei Befehlen der er- sten Art ist dies die Phase 1; bei Befehlen der zweiten Art ist dies die Phase 2 des Befehls der ersten Art, der dann gerade ausgeführt wird.
Eine Tabelle der wichtigeren Steuerbits (oder Steuer signale), die indem N -Befehlsformat enthalten sind, sind in Fig. 20 zusammen mit einer Liste ihrer Funktionen dargestellt.
Äussere Steuersignale setzen die Zustands- bzw. Bedingungsregisterbits und werden durch äussere Gerä te, Arbeitsspeicher und andere Datenverarbeitungsein richtungen ausgelöst.
Die speziellen Steuersignale werden im einzelnen noch anhand der verschiedenen Schaltungen näher beschrieben, denen diese Steuersignale zugeführt wer den. Ausführliche Beschreibung spezieller Schaltungen, In Fig. 3 ist ein ausführlicheres Blockschaltbild des Rechenwerks ALU als in Fig. 2 dargestellt. Es sei daran erinnert, dass ein Merkmal der Erfindung in der Schaffung einer Rechen- und Verknüpfungsschaltung besteht, die aus mehreren modularen Verknüpfungsein heiten aufgebaut ist. Die Schaltungsanordnung nach Fig.
3 enthält eine Verknüpfungseinrichtung in Form zweier Halbglieder,60 und 61. Jedem Halbglied sind Datenteile oder Datensegmente aus acht Bits zuführbar. Die Ver knüpfungseinrichtung nach Fig. 3 kann daher aus 16 Bits bestehende Datensegmente aufnehmen. Die Ver knüpfungshalbglieder 60 und 61 werden jeweils durch binäre Steuervorrichtungen 68 und 69 gesteuert, die ihrerseits durch Steuersignale des N-Dekodierers 55 des Steuerwerks der Datenverarbeitungseinrichtung nach Fig. 2 gesteuert werden.
Das Verknüpfungshalbglied 60 enthält Ver knüpfungsgruppen- 64 und 65 sowie Übertragungsein heiten 74 und 75. In ähnlicher Weise enthält das Verknüpfungshalbglied 61 Verknüpfungsgruppen 66 und 67 sowie Übertragungseinheiten 76 -und 77. Jede Verknüpfungsgruppe kann Datensegmente aus vier Bits aufnehmen. Wie die Darstellung nach Fig. 3 zeigt, besteht die Funktion jeder Übertrageinheit in einer Übertragvorausschau für ihre zugeordnete Ver- knüpfuungsgruppe. Ausserdem wird die Übertragvoraus schau für jedes Halbglied 60 und 61 auch jeweils durch Übertragvorausschau-Halbglieder 80 und 81 durchge führt.
Der übrige Teildes Rechenwerks ALU der in Fig. 3 dargestellt ist, enthält A -Register 32 und das B-Register (und Nicht-Tore) 33. Das Setzen :der A-Register 32 kann durch A-Register- Steuervorrichtungen 70 und 71 und das B -Register durch eine B-Register-Steuervorrich- tung 72 gesteuert werden. Die NICHT Tore, die noch ausführlicher beschrieben werden, werden durch Signale gesteuert, die sie vom Steuerwerk über Steuerleitungen 73 erhalten.
In den Fig. 2 und 3 sind gleiche Bezugszahlen für gleiche Bauteile verwendet.
In Fig. 4 ist eine andere Ausführungsform eines Rechenwerks ALU dargestellt, die aus zwei Ver- knüpfungseinrichtungen oder vier Verknüpfungshalb gliedern besteht. Bei diesem Aufbau kann das Rechen werk ALU-Datensegmente zu 32 Bits aufnehmen. Wie beidem Ausführungsbeispiel nach Fig. 3, ist an jedes der Verknüpfungshalbglieder 60, . . .,63 jeweils ein Übertragvörausschau-Halbglied 90, . . .,93 angeschlos sen. Die Verbindungen zwischen den verschiedenen Vorausschau-Halbgliedern unterscheiden sich von denen des Ausführungsbeispiels nach Fig. 3 in folgender Weise.
Jedes Übertragvorausschau-Halbglied erhält Gruppensignale von den beiden Übertrageinheiten in dem entsprechenden Verknüpfungshalbglied, wie es in Fig. 3 dargestellt ist, und führt zu diesen Übertragein heiten Gruppenübertragsignale zurück. Ausserdem er zeugt jedes Übertragvorausschau-Halbglied Halbglied- Überträgungs- und Halbglied-Erzeugungssignale, die je dem Übertragvorausschau-Halbglied in der Einrichtung, beidem es sich um dasjenige von jeweils zwei Übertrag vorausschau- Halbgliedern handelt, das der höheren Stelle zugeordnet ist, zugeführt werden.
Nach Fig. 4 stellen also die Übertragvörausschau- Halbglieder 90 und 92 die höchststelligen Übertragvorausschau- Halb glieder .der Paare 90, 91- und 92, 93 dar, während die Übertragvorausschau- Halbglieder 91 und 93 jeweils das niedrigststellige Halbglied der Paare ,darstellen. Umge kehrt erzeugt das niedrigststellige Halbglied jedes Paares Gruppensignale, die dem höchststelligen Glied dieses Paares zugeführt werden.
Wie ferner aus Fig. 4 zu ,ersehen ist, werden die vom höchststelligen Glied eines Paares erzeugten Halbgliedsignale den anderen höchst- stelligen Gliedern der Paare über Verbindungen 94 und 95 zugeführt, während die Gruppenüberträge zwischen Halbgliedern von den niedrigststelligen des Paares zu den höchststelligen des Paares über Verbindungen 96 übertragen werden.
Beidem Ausführungsbeispiel nach Fig. 3, -bei dem nur ein Paar von Halbgliedern verwen det wird, werden die zwischen Halbgliedern über tragenen Gruppensignale erneut über eine Verbindung 82 vom niedrigststebligen Glied des Paares zum höchst- stelligen übertragen. Wie ferner aus Fig. 3 zu ersehen ist, werden die Halbgliedübertragsignale auch von dem jenigen Übertragvoraussehau-Halbglied verwendet, das diese Signale erzeugt.
Es .bestehen noch weitere Unterschiede zwischen den Ausführungsbeispielen nach den Fig. 3 und 4. Ein Unterschied ist die Art und Weise, in der die verschiede nen -Steuersignale zur Betätigung verschiedener Ver knüpfungshalbglieder verwendet werden. Bei dem Aus führungsbeispiel nach Fig. 3 ist jedes Verknüpfungs halbglied mit seiner eigenen Verknüpfungssteuereinheit versehen, so dass jedes Verknüpfungshalbglied getrennt verwendet werden kann. Bei dem Ausführungsbeispiel nach Fig. 4 sind das höchststellige Halbglied 60 und das niedrigstellige Verlnüpfungshalbglied 63 jeweils mit getrennten (eigenen) Steuereinheiten 98 und 99 versehen.
Den .dazwischen liegenden Verknüp fungshalbgliedern 61 und 62 werden die gleichen Steuersignale von der Zwischen-Steuereinheit 97 zuge führt: Jede der Steuereinheiten wird durch Steuersignale des Steuerwerks der Anlage in Abhängigkeit vom Format der jeweiligen N-Befehle gesteuert, wie nach stehend noch ausführlicher beschrieben wird.
Wie aus Fig. 2: zu ersehen ist, ist der Addieren 30 auch mit einem dritten Eingang, dem Z-Eingang, verse hen. Wie aus -den Fig. 3 und 4 zu ersehen ist, stellen die X-Eingangssignale den Inhalt des Zählerregisters 50 nach Fig. 2, der dem höchststelligen Verknüpfungs- halbglied zugeführt wird, und den Inhalt aus dem Variablenregister 51 nach Fig. 2 dar, der dem niedrigst- stelligen Verknüpfungshalbglied zugeführt wird.
Die -in Fig: 3 dargestellten und auch -bei dem Ausführungsbeispiel nach Fig. 4 realisierten Ver- knüpfungsgruppen sind gleich ausgebildet. Der Schal- tungseufbau einer Verknüpfungsgruppe ist in Fig. 5 dargestellt und wird jetzt beschrieben. Es handelt sieh um ein Schaltnetz, das im wesentlichen aus mehreren UND-Gliedern und NOR-Gliedern besteht.
Das Schalt netz nach Fig. 5 kann in vier Schaltungsgruppen unterteilt werden, von denen jeder Datenbits mit ver schiedener Stellenwertigkeit in Form von Signalen und auch Steuersignalen Cl,. . .,C7 zuführbar sind. Eine erste Ebene von Verknüpfungsgliedern erzeugt Zwi schensignale X, Y, K' und deren Komplemente und führt sie einer zweiten Ebene von Verknüpfungsgliedern zu, um ein Erzeugungssignal, Übertragungssignal und ein Summensignal für jedes der vier Kennbit-Teile zu erzeugen.
Die durch. das Schaltnetz nach Fig. 5 verwirk lichten Schaltfunktionen sind in Fig. 5 in Form schaltal gebraischer Gleichungen dargestellt.
Die A-Eingangssignale kommen aus den A-Regi stern. Die B -Eingangssignale kommen aus dem B- Register und stellen den wahren Inhalt dieses Regi sters oder dessen Komplement dar. Die Z-Eingangssi gnale kommen entweder vom Zähler 50 oder aus dem Variablenregister 51 des Steuerwerks der Datenverar beitungseinrichtung, die in Fig. 2 dargestellt ist. Die negierten Übertragssignale K kommen von den jeweili gen Übertragvorrausschau- Schaltungen, die noch aus führlicher beschrieben werden. Die S-Signale stellen die Verknüpfungsergebnisse dar und werden entweder den Walzenschaltern 31 oder dem B-Register 33 zugeführt.
Die G-Signale und T-Signale werden den jeweiligen Übertragvorausschau- Schaltungen zugeführt, die daraufhin die erwähnten negierten Übertragssignale K erzeugen.
Die S-Ausgangssignale stellen Verknüpfungser gebnisse in Abhängigkeit von der Wahl der Steuer- signale Cl,. . .,C7 .dar, die dem Schaltnetz bzw. der Verknüpfungsgruppe nach Fig. 5 in Abhängigkeit von den Steuereinheiten 68 und 69 nach Fig. 3 zugeführten N-Signalen zugeführt werden. Die N-Signale kommen vom N-Dekodierer 55 Mg. 2) und stellen einen vorbe stimmten N-Befehl dar.
Wie aus Fig. 5 zu ersehen .ist, muss jedes Stellenbit- Glied der in dieser Figur dargestellten Verknüpfungs gruppe ein Übertragsignal vom vorhergehenden Glied erhalten und dem in der Reihenfolge nächsten Glied das Übertragsignal zuführen. Die Gruppen-Übertragvoraus schau- Schaltung, die diese Signale erzeugt, ist in Fig. 6 damgestellt und wird jetzt beschrieben. Die Schaltung ist so ausgelegt, dass sie über die Halbglied-Übertragvor ausschau- Schaltung, die nachstehend beschrieben wird, ein Übertragsignal GCin von der nächstniedriger stelligen Verknüpfungsgruppe erhält.
Diese Schaltung erhält auch die verschiedenen Bitübertragungssignale BT und Bit erzeugngssignale BG von den jeweiligen Gliedern ihrer zugehörigen Verknüpfungsgruppe. Die Erzeugung dieser Signale wurde anhand von Fig. 5 beschrieben. Nach Erhalt dieser Signale erzeugt die Schaltung nach Fig. 6 ihrerseits die entsprechenden negierten Übertragsignale BC, die den verschiedenen Gliedern der zugehörigen Verknüpfungsgruppe als Übertragsignale K (.siehe Fig. 5) zugeführt werden.
Wie weiter in Fig. 6 dargestellt ist, erzeugt diese Schaltung auch das negierte Gruppenüber tragungssignal GT und das negierte Gruppen erzeugungssignal, GG die den Übertragvorausschau- Halbgliedern zugeführt werden, wie es in Fig. 3 dar- -gestellt ist, und die noch ausführlicher beschrieben wer den. Die durch die Schaltung nach Fig. 6 verwirklichten algebraischen Schaltfunktionen sind ebenfalls in .Fig. 6 dargestellt. Die Schaltung nach Fig. 6 ist die Schaltung der jeweiligen Übertrageinheiten 74, . . .,77, die in Fig. 3 dargestellt sind.
Die Übertragvorausschau-Halbglieder 80 und 81, die in Fig. 3 dargestellt sind, und 90, . . .,93, die in Fig. 4 dargestellt sind, sind in Fig. 7 ausführlicher dargestellt und werden jetzt beschrieben. Wie in den Fig. 3 und 4 dargestellt ist, erhält jedes Übertragvorausschau- Halb glied in Abhängigkeit davon Signale oder keine Signale vom nächstniedriger stelligen Übertragvorausschau- Halbglied, ab es sich um das höchststellige oder niedrigststellige Übertragvorausschau- Halbglied des Verknüpfungsteils handelt, von dem es ein Teil bildet.
Umgekehrt führt jedes Übertragvorausschau-Halbglied den anderen Übertragvorausschau-Halbgliedern ver schiedene Arten von Signalen in Abhängigkeit von seinem Platz in der hierarchischen Reihenfolge zu. Die Schaltung nach Fig. 7 ist so ausgelegt, dass sie die verschiedenen gewünschten Signale unabhängig von ih rer Reihenfolge in der Hierachie erhält und erzeugt. Daher sind bestimmte Verbindungsleitungen, die in Fig.
7 dargestellt sind, erforderlich oder nicht erforderlich. Die Schaltung nach Fig. 7 ist daher so ausgelegt, dass sie negierte Gruppenerzeugungssignale GG erhält, die durch Zeichen mit ungeradzahligen Indizes dargestellt sind, wenn sie von einer niedriger stelligen Gruppe von Übertrageinheiten kommen, und mit geradzahligen Indi zes versehen sind, wenn sie von einer höher stelligen Gruppenübertragseinheit kommen. Die Schaltung kann auch negierte Gruppenübertragungssignale GT erhalten, die ebenfalls nach der eben angegebenen Definition mit geradzahligen und ungeradzahligen Indizes versehen sind.
Ferner erzeugt die Schaltung nach Fig. 7 Gruppen übertragsignale GC, die ebenfalls mit geradzahligen oder ungeradzahligen Indizes in Abhängigkeit von ihrer Stel- lenwertigkeit versehen sind und den jeweiligen Gruppen übertragseinheiten zugeführt werden, wie es in Fig. 3 dargestellt ist. Wenn das Übertragvorausschau-Halb glied ein niedriger stelliges ist, ist es so ausgebildet, dass es dem nächsthöher stelligen die Gruppenübertragungs signale GT und Gruppenerzeugungssignale GG zu führt.
Wenn die Schaltung ein höchststelliges Übertragvor ausschau- Halbglied ist, erzeugt es die jeweiligen Halb- glied-übertragungssignale ST und Halbglied- Erzeu gungssignale SG und führt sie allen höher stelligen Übertragvorausschau- Halbgliedern des Rechenwerks ALU zu, wie es in Fig. 4 dargestellt ist. Die Schaltung nach Fig. 7 ist daher auch so ausgebildet und ange schlossen, dass sie diese Halbgliederzeugungs- und Halb- glied-Übertragungssignale von den anderen höchst- stelligen Übertragvorausschau-Halbgliedern erhält und daraus ein negiertes Übertrageingangssignal SC;" er zeugt.
Diese Funktion ist jedoch nicht vorgesehen, wenn es sich bei dieser Schaltung um ein niedriger stelliges Übertragvorausschau-Halbglied handelt. In ähnlicher Weise spricht die Schaltung nicht auf Gruppenüber- tragungs- und Gruppenerzeugungssignale des nächst niedriger stelligen Übertragvorausschau-Halbgliedes an, und in diesem Falle werden den Eingangsleitungen für diese Funktion zwangsläufig auf null oder eines gehelte- ne binäre Signale zugeführt,
wie es in Fig. 7 dargestellt ist.
Es sei darauf hingewiesen, das die Erzeugung von Gruppenübertragsignalen und deren Weiterleitung in die niedrigststelligen Bitstellen jedes Verknüpfungshalb- gliedes durch ein Steuersignal N15 gesperrt werden kann, das. durch eine Steuereinheit 68 oder 69 (siehe Fig. 2) erzeugt werden kann.
Die durch die Schaltung nach Fig. 7 verwirklichten algebraischen Schaltfunktionen sind ebenfalls in Fig. 7 dargestellt.
Die verschiedenen binären Steuereinheiten -68 und 69 nach Fig. 3 und 97, 98 und 99 nach Fig. 4 werden jetzt ;anhand von Fig. 8 näher beschrieben. Bei diesen Steuereinheiten handelt es sich um herkömmliche Deko- dierer, die aus mehreren UND- und NOR-Gliedern bestehen. Der Schaltungsaufbau ist dennoch dargestellt, um das Verständnis der verschiedenen N-Steuersignale zu erleichtern, die aus den N-Befehlen gewonnen wer den. Die zur Steuerung der jeweiligen Verknüpfungs gruppen nach Fig. 3 verwendeten Steuersignale umfas sen fünf N-Signale, von denen ein Signal ein Sperrsignal ist.
Durch die Dekodierung der Signale N9, N10, Nil und N12 werden sieben Untersteuersignale C1, . . .,C7 erzeugt und den 'betreffenden Verknüpfungsgruppen zugeführt, wie es in Fig. 5 dargestellt ist und anhand dieser Figur beschrieben wurde. Ein achtes Signal N15 wird ebenfalls durch das Steuerwerk nach Fig. 2 erzeugt und dem Übertrag-Halbglied zugeführt, das dem Verknüpfungs halbglied entspricht, um die Erzeugung des niedrigst- stelligen Gruppenübertragsignals für dieses Ver knüpfungshalbglied zu sperren, wie es anhand von Fig. 7 beschrieben wurde:
Ein weiteres Sperrsignal dient zum Sperren der Signale C" und C,;. Kurz auf Fig. 5 Bezug nehmend, sei darauf hingewiesen, dass die Signale C5 und Co zur Einschaltung der Z-Eingangssignale der Verknüpfungsgruppe dienen. Das der Steuerschaltung nach Fig. 8 zugeführte Sperrsignal dient also zum Sperren des Z-Eingangs der entsprechenden Ver knüpfungsgruppen. Die durch die verschiedenen Ver knüpfungsgruppen unter der Leitung des N-Steuersigna- le durchgeführten Funktionen sind in Fig. 20 unter der Überschrift Addiereroperation aufgeführt.
Andere Beispiele, wie die N-Steuersignale des N- Befehlsformats zur Steuerung der Rechenwerk-Opera tionen verwendet werden, sind in den Fig. 9, 10 und 11 dargestellt, die jeweils den Schaltungsaufbau der A- Register, des B-Registers und der Walzenschalter zei gen.
Wie in Fig. 9 dargestellt .ist, bestehen die drei A- Register Al, A2 und A3 jeweils aus drei Gruppen von Flipflops All,. . . ,A18; A2". . .,A28; Aal, . . .,A38. Wie aus der Tabelle nach Fig. 21 zu ersehen ist; werden die Eingänge der A Register durch zwei N -Signale, N2, und N22 .gesteuert, deren Aufgabe darin besteht, den In halt der A-Register unverändert zu halten und einen Eingang des A1-Registers, .des A2 Registers und des A3-Registers zu bilden.
Nach Fig. 9 werden die Steuer signale N21 und N22 dem N-Dekodierer 110 zugeführt, der diese in drei Signale C13, C,:4 und Cis umsetzt, die jeweils den Flipflops des A1-Registers, des A2-Registers und des A3-Registers zugeführt werden.
Bei diesen Signalen kann es sich um solche Signale handeln, die die betreffenden Flipflops während einer Taktzeit zurückge setzt halten und dadurch verhindern, dass die Flipflops gesetzt werden, so dass die Funktion der Steuersignale N21 und N22 darin besteht;
irgendeines der C-Signale zu sperren und somit zu gestatten, dass Datensegmente, die über die Datenleitungen 88 zugeführt werden, in irgend einem der Reg einem der Register-Flipflop-Gruppen gespeichert wer- Wie aus der Tabelle nach Fig. 19 zu ersehen ist, werden die A-Register-Ausgänge durch die Steuer signale Ni und N2 gesteuert, um das Auslesen der Register Al, A2 und A3 zu bewirken oder alle -auf null zurückzusetzen.
Wie diese Operationen erwirklicht wer den; ist ebenfalls in Fig. 9 dargestellt, wonach die Steuersignale Ni und N2 einem N-Dekodierer 111 zugeführt werden, der seinerseits vier Ausgangssignale Co, . . ,C12 erzeugt. Die Signale C9, C10 und C" werden UND-Gliedern zugeführt, um das Auslesen der Flipflops der Register Al, A2 und A3 zu steuern.
Das Signal C12 wird jedoch .mehreren nur mit einem Eingang ver- sehenen UND-Gliedern zugeführt, deren Ausgangs signale durch NOR-Glieder, wie es in Fig. 9 dargestellt ist, negiert werden, um O -Ausgangssignale zu erzeugen: Die Ausgangssignale der NOR-Glieder werden über Leitungen 84 den jeweiligen Verknüpfungsgruppen zu geführt, wie es in den Fig. 3 und 4 dargestellt ist.
Anhand von Fig. 10 wird beschrieben, wie die Steuersignale den Betrieb des B-Registers steuern. Wie aus der Tabelle nach Fig. 20 zu ersehen ist, werden die Eingänge des B-Registers durch drei N-Signale, N,8, N,19 und N20 gesteuert. Diese Signale werden (siehe Fig. 10) einem N-Dekodierer 112 zugeführt, der sie in Signale C16, . . .,C21 umsetzt. Es sei daran erinnert, dass das B- gister .aus dem Haupt-Arbeitsspeicher, vom Addierer Register aus dem Haupt-Arbeitsspeicher, vom Addierer und von den Walzenschaltern Daten und 4-Bit-Überträ- ge -und 8-Bit-Überträge erhalten kann.
So dient das Signal C16 zum Durchschalten eines UND-Gliedes zur Übertragung eines über eine Eingangsleitung 107 Zuge führten Signals, das einen 8-Bit-Übertrag darstellt, das Steuersignal C17 zum Durchschalten eines UND-Gliedes zur Übertragung eines über eine Eingangsleitung 108 zugeführten Signals,' das einen 4-Bit-Übertrag darstellt, das Signal C18 zum Durchschalten eines UND-Gliedes zur Übertragung von über Eingangsleitungen 106 Zuge führten Datenbits, das Signal Cis zum Durchschalten von UND-Gliedern zur Übertragung von 8-Bit-Datenseg- menten,
die über Leitungen _105 zugeführt werden, und das Signal C20 zum Durchschalten von UND-Gliedern, um die Übertragung von Datenbits über Leitungen 104 in B -Register zu ermöglichen. Die Leitungen 104 gehö ren zu den Datenleitungen 88, die von den Walzen schalternkommen und auch die Leitungen 106 von den Addiererausgängen umfassen.
Die verschiedenen C- Signale dienen -also zum Durchschalten der verschiede nen zugeführten Datenbits in die jeweiligen Flipflops Bi,. . .,Bs, die das B-Register bilden. Wie aus Fig. 10 zu ersehen ist, dient das Steuersignal C2, zum Setzen der jeweiligen Flipflops mit Beginn eines Taktes.
Die Schaltfunktionen der Steuersignale Na,. . .,NB; die diese Operationen steuern, sind .in der Tabelle nach Fig. 19 unter der Überschrift B-Register-Ausgänge angegeben.
Diese Steuersignale werden vom Steuerwerk der Datenverarbeitungseinrichtung den entsprechenden Verknüpfungsgliedern nach Fig. <B>10</B> zugeführt, deren Augangsleibungen die Datenleitungen 85 bilden, die das B-Register mit den jeweiligen Verknüpfungseinheiten verbinden. Die in den Fig. 9 und 10 dargestellten Register sind nur :
auf eine Stellenzahl von 8 Bits ausgelegt. Die Register können jedoch auf jede beliebige Stellenzahl erweitert werden. Die einzige Änderung, die .unter Umständen erforderlich würde, wäre das Zwi- schenschalten zusätzlicher Treiberstufen, um die erfor derliche Steuerleistung zu erzielen.
Aber auch die Trei berstufen würden durch die jeweiligen X -Signale in der beschriebenen Weise gesteuert werden. Fig. 11 stellt ein schematisches Schaltbild der Walzenschalter dar, von denen zwei bei diesem Aus führungsbeispiel der Erfindung verwendet werden. Die Schaltung nach Fig. 11 kann 8-Bit-Datensegmente über die Datenleitungen 88 aufnehmen und nach rechts oder links um irgendeinen Betrag verschieben, der im Schiebebetragregister 44 nach Fig. 2 angegeben ist.
Die Ausgangssignale des Registers 44 werden einem (nicht dargestellten) Dekodierer zugeführt, der durch Signale N16 und N17 des Befehls gesteuert wird und die passen den Steuerleitungen C22, . . .,C29 auswählt, die zur Durch führung der gewünschten Verschiebung erforderlich sind. Wenn also der Inhalt des Schiebebetragregisters 44 eine Verschiebung von drei Bits vorschreibt und der N- Befehl eine Rechtsverschiebung bestimmt, führt der Dekodierer der Leitung C25 ein entsprechendes Signal zu.
Wenn der N -Befehl eine Linksverschiebung (von drei Bits) vorschreibt, dann führt der Dekodierer der Leitung C27 ein Signal zu. Das resultierende, verschobene Daten segment wird dann wieder den Datenleitungen 88 zugeführt. Die durch die Signale N16 und N17 vorgeschrie benen Operationen sind in der Tabelle nach Fig.19 unter der Überschrift Schiebeoperationen angegeben.
Der Schalter nach Fig. 18 kann auch auf die Aufnahme von Datensegmenten mit einer grösseren Anzahl von Bits erweitert werden, wenn die Datenkanal breite der Datenverarbeitungseinrichtung entsprechend erweitert ist.
Im folgenden werden die Fig. 19 und 20 kurz beschrieben. Wie bereits in bezug auf das Format des N- Befehls nach Fig. 15 beschrieben wurde, besteht dieser Befehl hauptsächlich aus Steuersignalen, die während verschiedener Betriebsphasen der Datenverarbeitungs- einrichtung verwendet werden müssen und jetzt aus führlicher beschrieben werden. Die drei Gruppen von Halbglied-Steuersignalen oder N-Signalen werden in den Phasen 2 und 3, in der Phase 3 und in der Phase 1 verwendet. Fig. 19 ist eine Liste der N-Steuersignale, die während der Phase 2 und 3 verwendet werden.
Fig. 20 ist eine Liste der übergeordneten N-Steuersignale, die während der Phase 3 verwendet werden.
Wie bereits erwähnt wurde, werden die N-Befehle aus dem N-Arbeitsspeicher geholt und vom N-Dekodie- rer 55 (siehe Fig. 2) dekodiert oder realisiert. Diese Schaltung ist ausführlicher in Fig. 17 dargestellt und wird jetzt beschrieben.
Der N -Befehl mit dem in Fig. 16 dargestellten Format wird über das N-Arbeitsspeicher- Ausgaberegi ster 115 in die verschiedenen Register übertragen, die .die Prüfschaltung 53 nach Fig. 2 bilden. Wie aus dem Befehlsformat nach Fig. 16 zu ersehen ist, enthält der N- Befehl Phase-1-Steuersignale, Phase-2/3-Steuersignale und zwei weitere Bits, die eine Verknüpfungsoperations bedingung und eine 2-Taktzeiten-Bit- Bedingung dar stellen. Die speziellen Steuersignale der Phase 3 und die Steuersignale der Phase 2 und 3 wurden bereits ausführ licher beschrieben. Die Steuersignale der Phase 1 wur den jedoch noch nicht ausführlich beschrieben.
Bei den Steuersignalen der Phase 1 handelt es sich um diejenigen Signale, die während der ersten Phase einer Befehlsaus führung erforderlich sind .und zur Steuerung der ver schiedenen Bedingungsregister nach Fig. 17 verwendet werden. Ein Bit des Steuerfeldes der Phase 1 bestimmt also, ob der wahre oder der negierte Zustand der verschiedenen Bedingungsbits des Bedingungsregisters 54 geprüft werden sollen oder nicht. Dieses Signal wird einem Bedingungswähler 118 über eine Leitung 142 zugeführt.
Vier andere Bits des Phase-1 Feldes schrei ben eine spezielle Bedingung vor, auf die die verschiede nen Bedingungsbits des Bedingungsregisters 54 über prüft werden müssen, und diese vier Signale werden einem Bedingungswählerdekodierer 119 über Leitungen 141 zugeführt.
Eine weitere Gruppe von Steuerbits des Feldes der Phase 1 schreibt eine neue M-Befehls-Adresse vor, und diese Bits werden über Leitungen 139 und 140 einem Arbeitsspeicher-Register-Steuerwähler 128 zugeführt, der bewirkt wenn er durch den Bedingungswähler 118 vorbereitet ist, dass das M-Programm-Adressenregister (MPAD) 129 die Übertragung einer neuen Adresse durch das Register 42 oder das Register 41 nach Fig. 2 in den M-Arbeitsspeicher auslöst.
Das Steuerfeld der Phase 1 enthält ferner Bits, die eine Arbeitsspeicher- oder eine Geräte-Operation oder eine Setz-Operation vorschreiben, wie es bereits be- schrieben wurde, und diese Bits werden über Leitungen 136 und 137 in ein Vorbereitungsregister 127 über tragen, das, wenn eine .geeignete Bedingung durch den Bedingungswähler 118 überprüft wird, diese Bedingung der Schalterverriegelungsvorrichtung und auch einem Setzbedingungsdekodierer 120 zuführt, m das entspre chende Bedingungsbit im Bedingungsregister 54 zu setzen. Ein weiteres Bit des Steuerfeldes der Phase 1 dient zum Anzeigen eines Wortkomplements des Inhalts des Registers 44 nach Fig. 2.
Dieses Bit wird über eine Leitung 135 in ein Vorbereitungsregister 126 übertragen, um das Komplement im Schiebebetragregister 44 auszu bilden. Wenn eine Verknüpfungsoperation durchgeführt werden soll, wird das entsprechende Bit des N-Befehls- formates über eine Leitung 132 in Setzbedingungs register 123 und 124 übertragen, um die Steuersignale der Phase 2 und 3 und der Phase 3 ins Befehlsregister 52 zu übertragen. Wenn ein 2-Taktzeiten-Befehl ausge führt werden soll, wird dieser durch das erste Bit des N- Befehlsformates angezeigt und über UND-Glieder 125' taktweise ins Befehlsregister 52 übertragen.
Dias Befehls register enthält dann die passenden Steuersignale der Phase 2 und 3 und der Phase 3, die bereits .beschrieben wurden und zur Steuerung der Verknüpfungs- und Zielortbestimmungs- Operationen erforderlich sind. Die anderen, zum Setzen der jeweiligen Bedingungsbits des Bedingungsregisters 54 erforderlichen Signale enthalten ein Signal, das aus der Schalterverriegelungsvorrichtung zum Globalbedingungsbit 121 übertragen wird, um die geeigneten Globalbedingungsbits im Bedingungsregister 54 zu setzen. Die anderen Bedingungsbits, die gesetzt werden müssen, werden durch Signale des Rechenwerks ALU oder der Schalterverriegelungsvorrichtung .gesetzt, wie es bereits beschrieben wurde.
Der M-Befehls-Dekodierer 40 wird jetzt anhand von Fig. 18 beschrieben. Es sei daran erinnert, (vgl. die Beschreibung des M-Befehlsformates anhand von Fig. 14), dass eine 1 in der nullten Bitstelle einen Befehl der ersten Art anzeigt, der eine N-Adresse enthält, und dass eine 0 in der nullten Bitstelle einen Variablenbefehl oder einen Befehl der zweiten Art anzeigt, bei dem die Bitstellen 1 und 2 verschiedene Variablenoperationen vorschreiben.
Nach Fig. 18 werden diese ersten drei Bits durch einen Dekodierer 151 überprüft. Wenn die nullte Bitstelle eine 1 enthält, dann wird der Inhalt des WM- Registers 150 zur Adressierung des N-Arbeitsspeichers ausgelesen. Wenn das nullte Bit eine Null und das erste Bit eine Eins ist, dann wird das Variablenfeld des M- Befehls ins Variablenregister 51 nach Fig. 2 übertragen.
Wenn die zweite Bitstelle. eine Eins enthält, dann wird der Inhalt des Schiebebetragregisterfeldes (vgl. Fig. 14) zum Schiebebetragregistereingabewähler 153 über tragen. Wenn die ersten drei Bitstellen eine Null enthal ten, dann ist der verbleibende Teil des M-Befehls eine neue M -Adresse, -die ins Register 41 (Fig. 2) übertragen wird.
Wenn sowohl die erste als auch die zweite Bit stelle eine Eins enthält, betätigt der Dekodierer 151 ein Steuertor 152, um das Variablenregister 51 so einzustel len, dass es ein Datensegment mit verschiedenen Anzah len von Datenbits aufnimmt, wie es bereits bei der Beschreibung des M-Befehlsformates erwähnt wurde:
Wie ebenfalls bereits erwähnt, wurde, enthält das N Befehls:format in dem Feld der Phase 1 bestimmte Bits, die zum Vorschreiben von Datenübertragungen in die oder aus der Datenverarbeitungseinrichtung verwendet werden. Um die Art und Weise besser zu verstehen, in der die Datenübertragungen stattfinden; und um zu erläutern, wie Daten und die verschiedenen Befehle in ihren zugehörigen Arbeitsspeichern abgespeichert wer den, wird auf Fig. 12 Bezug genommen, in der die Schalterverriegelungsvorrichtung (SW) ausführlicher dargestellt ist, die in Fig. 1A nur durch gestrichelte Linien- angedeutet ist.
Wie aus Fig. 12 zu ersehen ist, können Daten und/oder Befehle in irgendeinen der drei Arbeitsspeicher 20a, 20b und 20c über das Arbeits speicher-Befehlsregister 47 oder das SMPZR 41, bei denen es sich um Register der Datenverarbeitungsein richtung handelt, aus einem Peripheriegerät über die Schalteinheit 8 (siehe Fig. 12 und auch die Fig. 1A und 1B) übertragen werden können. -Welches Register mit welchem Arbeitsspeicher verbunden wird, wird durch das Phase-1-Feld des N-Befehls - bestimmt, der - die Datenübertragung steuert.
Wie ferner in Fig. 2 dargestellt ist und 'bereits beschrieben wurde, wird der N-Arbeits- speicher 20C vom M Dekodierer 40; der M Arbeitsspei cher 20b vom Register 42 oder 41 über einen Adressen fortschalter 43 -und der Hauptarbeitsspeicher oder der- S- Arbeitsspeicher über das Arbeitsspeicheradressenregister 49 adressiert, wenn er mit dem Register-Adressenregi ster 45 oder dem Adressenregister 46 in Reihe geschal tet ist.
Die Ausgangssignale des Haupt-Arbeitsspeichers 20a werden dem B Register 33 zugeführt.- Die Ausgangs- signale des M -Arbeitsspeichers 20b werden dem M- Dekodierer 40 über den MP-Zwischenspeicher 25 zuge führt.
Obwohl der MP-Zwischenspeicher 25 noch nicht beschrieben wurde, dient er einer wichtigen Funktion, nämlich dem Auslesen einer Folge von M-Befehlen nach dem Dekodieren eines S-Befehls, wodurch er die Verzö gerung eliminiert, die auftreten würde, wenn die einzel nen M -Befehle getrennt adressiert würden.
Obwohl dies in Fig. 12 nicht explizit dargestellt ist, sei darauf hingewiesen, dass auch ein anderer Daten- übertragungsweg vom Register 47, vom Register 41 und der SE 8 direkt ins B-Register 33 vorgesehen sein kann. Phasenelationen bei M-Befehl-Ausführung Wie bereits erwähnt wurde, :gibt es zwei Arten von M -Befehlen- Befehle der ersten Art, die Verknüpfungs und Datenübertragungsoperationen bewirken, und Be fehle der zweiten Art, die Variable mit einer neuen M <B>Befehl-AdresSe</B> und Schiebebeträge enthalten.
Ein Be fehl ,der ersten Art wird in drei Phasen ausgeführt, von denen die erste und dritte eine Taktzeit und die zweite Phase eine variable Anzahl von Taktzeiten benötigen. Ein Befehl der zweiten Art hat nur die erste Phase, die nur eine Taktzeit benötigt.
Die Ausführung aufeinanderfolgender M-Befehle überlappt sich, und diese Überlappung und andere Verhältnisse bei der Ausführung werden jetzt anhand der Fig. 21; 22 und 23 beschrieben.
Fig. 21 zeigt -die Überlappung zweier aufeinander folgender M-Befehle, die Befehl A und Befehl B genannt werden. Es sei daran erinnert, dass; wenn es sich bei dem M-Befehl um einen Befehl der ersten Art handelt, dann ein entsprechender N-Befehl zur Durch- führung der verschiedenen erforderlichen Operationen vorliegt. Wie aus der Kurve b nach Fig. 21 zu ersehen ist, wird die Adresse für den N-Befehl A zu Beginn des Taktes T1 in den M-Arbeitsspeicher gebracht.
Der N- Befehl A wird gegen :Ende dieses Taktes TI -aus dem N- Arbeitsspeicher -geholt wie es in der Kurve c dargestellt -ist. -Die ausgewählten Bedingungen werden überprüft (Kurve d) und die Eingangssignale dem MPAD-Register (Kurve e) zugeführt. Die Ausgangssignale vom MPAD- Register (Kurve e) und. die Ausgangssignale des Befehls registers (Kurve g) werden zu Beginn des Taktes T2 erzeugt.
Das Befehlsregister ist jetzt frei, so dass es einen neuen Befehl -aufnehmen kann, und daher wird während des gleichen Taktes eine neue Adresse für den nächsten Befehl B erzeugt, wie es durch die Kurve - h dargestellt ist. Der Befehl B wird kurz vor dem Ende des Taktes T2 (siehe Kurve j) aus dem N-Arbeitsspeicher geholt. Die anderen Kurven nach Fig. 21, die das Setzen von zwei Taktflipflops und verschiedene Sperrsignale darstellen, kommen bei dieser Operation nicht vor.
Wie noch aus Fig.21 zu ersehen ist, erfolgt die Ausführung der Phase-1-Steuerungen des Befehls B am Ende des Taktes T2, 5o dass die Phase-1-Steuerungen des Befehls B während -der Phase 3 des Befehls A ausgeführt werden.
Im folgenden wird anhand von Fig. 22 die Aus führung eines Befehls der ersten Art beschrieben, :bei dem die Phase 2 zwei Takte benötigt. Die in Fig. 22 dargestellten Kurven b, . . .,e sind die gleichen wie in Fig. 21, da sie das Auslesen des ersten Befehls A darstellen. In diesem Falle enthält der ausgelesene N- Befehl jedoch ein Bit, das eine 2-Takt-Operation an zeigt, wie es bereits bei Fig. 17 erwähnt wurde.
Dies bewirkt, dass ein 2-Takt-Flipflop gesetzt wird, wie es durch - die Kurve g in Fig. 22 dargestellt ist, und infolgedessen werden die Ausgangssignale des MPAD- Registers und das Befehlsregisters, wie es in den Kurven f .und h dargestellt ist, um einen Takt verzögert; wie es für die 2-Takt-Operation erforderlich ist.
In ähnlicher Weise wird auch das Adressieren und Auslesen- des Befehls B- aus dem M-Arbeitsspeicher für die Dauer eines Taktes so lange verzögert, bis die 2-Takt-Opera- tion des Befehls A ausgeführt worden ist. Während der Takte TZ und Ts (siehe Kurve j) wird ausgeführt, da die verschiedenen Taktimpulse am Ende daher die Phase 1 des Befehls B am Ende des Taktes T3 des Taktes T2 gesperrt- wurden.
Phase 2 und/oder 3 wird währenddes Taktes T4 ausgeführt.
*- Anhand von Fig. 23 werden jetzt die Zeitverhältnis se zwischen zwei aufeinanderfolgenden Befehlen be schrieben; wobei der zweite M-Befehl B eine Variable enthält und daher keinen N-Befehl benötigt. Wie aus Fig: 23 zu ersehen ist, sind die ersten fünf Kurven (b, . . . ,f) sie gleichen wie in Fig. 2 1, und sie stellen das Auslesen und die Ausführurng der ersten Phase des Befehls A dar. Ferner wird das Auslesen des Befehlsre- gisters (Kurve h in Fig. 21 und Kurve g in Fig. 23) beide Male zu Beginn des Taktes T2 ausgelöst.
Ferner erfolgt auch das Adressieren des M-Arbeitsspeichers zum Aus lesen des Befehls B bei beiden Figuren zur gleichen Zeit. Das Auslesen des M-Befehle (Kurve i .in Fig. 23) erfolgt jedoch früher als das Auslesen des N-Befehls nach Fig.
21 (Kurve j), und da der Befehl B bei Fig. 23 eine Variable ist, ist kein N Befehl erforderlich. Dadurch wird bewirkt, dass der M Dekodieren 40 nach Fig. 2 ein Haltesignal erzeugt, wie es die Kurve m in Fig. 23 darstellt. Als Folge davon wird die Ausgabe des Befehls registers (Kurve g in Fig. 23) beibehalten, während die Variablen des M-Befehls B jeweils in ein Register übertragen werden, wie es durch die Kurve i in Fig. 23 angedeutet ist.
Scheinbar gleichzeitig mit dem Haltsignal nach Kurve m werden die verschiedenen Phasentakt- impulse gesperrt (siehe Kurve n), um die Übertragungen der Variablen am Ende des Taktes T2 zu ermöglichen. Nachdem die Übertragungen der Variablen erfolgt ist, bleibt die Ausgabe des Befehlsregisters bis zum Ende des Taktes T3 gültig, wie es durch die Kurve g dargestellt ist.
Auf diese Weise wird die Ausführung eines M-Befehls der ersten Art verzögert, um Variablen übertragungen durch den nächsten Befehl, der zweiten Art zu gestatten. Die Variable des B-Befehls schreibt stets eine neue M-Adresse vor. Dann wird das MPAD- Register gezwungen, wie es durch die Kurve j angedeu tet ist, den M-Arbeitsspeicher (Kurve k) erneut zu adressieren, um einen neuen Befehl aus dem M- Arbeitspeicher und dann dessen N-Gegenstück aus dem N-Arbeitsspeicher zu holen, wie es die Kurve e zeigt.
Der Befe=hl wird am Ende des Taktes T8 aus dem N- Arbeitspeicher und dann :dessen N-Gegenstück aus dem nicht mehr anstehen.
Obwohl die soweit beschriebenen Zeitdiagramme nur einige verschiedene Situationen darstellen, die wäh rend der Ausführung aufeinanderfolgender Befehle in überlappter Weise auftreten können, wird dennoch angenommen, dass die obige Beschreibung hinreichend klar macht, wie die überlappte Befehlsausführung statt- findet und wie z.
B. verschiedene Variableninforma- tionen in die jeweiligen Register übertragen werden können, wenn dies bei der Ausführung eines bedingten M-Befehls erforderlich ist. M-Befehlsfolgen Fig. 24 stellt eine Folge von M-Befehlen dar, die bei einer -bestimmten Eingabe/Ausgabe-Operation verwen det werden, die durch einen E/A-Deskriptor der in Fig. 13 dargestellten Art vorgeschrieben wird. Bei jedem Schritt der Folge ist die Ausführung eines M-Befehls erforderlich.
Diese Schritte sind: Bringe Inhalt des Arbeitsspeicher-Adressenregisters (AAR) ins A2-Regi- ster; übertrage Gerät-Schreib-Signal und bringe Inhalt des A1-Registers und das niedrigststellige Zeichen des B-Registers +1 ins A-Register; übertrage Signal Tren ne lesendes Gerät ; lies Gerät und verschiebe Inhalt des B-Registers um vier Bits nach links und bringe irr ins A3-Register; wenn AAR bereit ist, bringe Inhalt von Al-Register +1 ins AI-Register und ins AAR; wenn B- Register bereit ist, bringe Inhalt des B-Registers ins A2- Register und lies Gerät;
wenn AAR bereit ist, bringe Inhalt des A2-Registers ins AAR; wenn B-Register bereit ist, bringe dessen Inhalt ins Arbeitsspeicherinfor- mationsregister (AIR); bringe Inhalt von AIR in den Arbeitsspeicher und verschiebe Inhalt von A3-Register um acht Bits nach rechts.
Eine weitere M-Folge ist in Fig. 25 dargestellt, die zur Durchführung einer Zeichenfolgeabtast - Rechen- anweisung geeignet ist, wie sie durch einen S -Befehl vorgeschrieben wird. Diese Rechenanweisung dient zum Aufsuchen aller Anfangsstellen aller gleichen (matches) Zeichen einer Zeichenfolge in einer Ursprungs- oder Quellenfolge.
Die Inschriften in Fig. 25 geben an, welche Register die jeweiligen Datensegmente enthalten, die den Ursprungs- oder Quellenort S (source location), Zeichenort P (pattern location), Quelleninhalt SC (sour- ce contents), Zeicheninhalt PC (pattern contents), Gleichheitsanzeige M (match indication), Zeiger (Poin- ters) SP, PP und MP und die Register-Adressenregister (RAR) darstellen.