DE1549583C - Schaltungsanordnung zur Ausführung ausgewählter Befehle einer Gruppe von in einem Speicher einer Datenverarbeitungsanlage gespeicherten Befehlen - Google Patents

Schaltungsanordnung zur Ausführung ausgewählter Befehle einer Gruppe von in einem Speicher einer Datenverarbeitungsanlage gespeicherten Befehlen

Info

Publication number
DE1549583C
DE1549583C DE1549583C DE 1549583 C DE1549583 C DE 1549583C DE 1549583 C DE1549583 C DE 1549583C
Authority
DE
Germany
Prior art keywords
commands
command
register
bit
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
Other languages
English (en)
Inventor
Thomas Joseph Glen Ellyn 111. Chinlund (V.StA.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
Publication date

Links

Description

Art der geprüften Daten ein Sprung zu einein der Vielzahl der einzelnen Unterprogramme. Hierbei wird zwar gegenüber den zuerst erläuterten Datenverarbeitungsanlagen eine Zeiteinsparung erzielt, aber es ist jetzt sehr viel Speicherraum erforderlich, um die Vielzahl von Unterprogrammen aufnehmen zu können. -
Die Auswahl bestimmter Daten aus einer Datenmenge, insbesondere bestimmter Teile aus Datenwörtern fester Länge, mit Hilfe spezieller Befehle ist bekannt. Es werden dabei aber nicht Befehle aus einer Gruppe von Befehlen ausgewählt, und außerdem benötigt die Ausführung der speziellen Befehle wieder zusätzliche Zeit.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungsanordnung für Datenverarbeitungsanlagen zu schaffen, mit deren Hilfe gewünschte Befehle aus einem gespeicherten Programm ausgewählt werden können, ohne daß für die Auswahl zusätzliche Verarbeitungszeit -erforderlich ist.
Zur Lösung der Aufgabe geht die Erfindung aus von einer Schaltungsanordnung der eingangs genannten Art und ist gekennzeichnet durch eine Schaltung zum Zuführen einer vorgegebenen Auswählcodeinformation vom Speicher zu einer Registerschaltung, wobei die Auswählcodeinformation bestimmt, welche der gespeicherten Befehle der Gruppe auszuführen sind, und eine Decodierschaltung, die in Abhängigkeit von der Auswählcodeinformation in der Registerschaltung ohne Zugriff zum Speicher den Befehlszähler so steuert, daß nur die ausgewählten Befehle der Befehlsgruppe adressiert werden.
Dadurch gelingt es, innerhalb eines Arbeitszyklus der Datenverarbeitungsanlage den Befehlszähler auf die Adresse des jeweils gewünschten Befehls weiterzuschalten, so daß aus der Gesamtmenge von verfügbaren Befehlen beliebige Kombinationen als Unterprogramme zusammengestellt und ausgeführt werden können, ohne daß dazu zusätzliche Verarbeitungszeit benötigt wird. Es ist nicht erforderlich, die Unterprogramme getrennt unter Belegung von Speicherraum zu speichern.
Weiterbildungen der Erfindung sind Gegenstand der Unteranspriiche.
Im, folgenden wird ein Ausführungsbeispiel der Erfindung an Hand der Zeichnungen beschrieben. Es zeigen · ■ ' ·
Fig. IA, IB und IC in der in Fig. 2 angegebenen Zuordnung eine spezielle, als Beispiel gewählte Datenverarbeitungsanlage mit Speicherprogramm nach der Erfindung,
F i g. 3 symbolisch den Inhalt gewisser Teile eines in Fig. IA enthaltenen Hauptspeichers,
F i g. 4 die Art von Informationen, die in einer Reihe von Wählregistern gemäß Fig. IC enthalten sind.
Ein spezielles Ausführungsbeispiel der Erfindung enthält eine Vielzahl von Wählregistern mit schnellem Zugriff, die die Auswählcodeinformationen speichern. Die Informationen bestimmen, welche Befehle einer gespeicherten Allzweckbefehlsgruppe zum Zugriff, zur Decodierung und zur Ausführung ausgewählt werden sollen. Bei dieser sogenannten Arbeitsweise mit selektivem Zugriff, die für die Erfindung kennzeichnend ist, wird der Inhalt eines bestimmten Wählregisters in eine zugehörige Einheit geleitet, die mit Steuerwählregister bezeichnet ist. Ein erster Teil der in dem Steuerwählregister gespeicherten Auswählcodeinformation bezeichnet eine Anzahl (einschließlich null) ausgewählter Befehle einer Allzweckbefehlsgruppe, und der zweite Teil der gespeicherten Information bezeichnet das nächste Wählregister, dessen Inhalt zum Steuerwählregister geleitet werden soll, wenn die laufende Information verarbeitet ist.
Während des selektiven Zugriffs wird die Decodierung des ersten Teils der in dem Steuerwählregister gespeicherten Auswählcodeinformation durch eine
ίο Schaltung vorgenommen* die das Bit in der nächststelligen Bitposition des Steuerwählregisters abtastet. Wenn dieses Bit z. B. eine »1« ist, wird ein sogenannter Arbeitszyklus in Bitform begonnen. Wenn andererseits das Bit eine »0« ist, beginnt ein sogenannter Zyklus in Sprungform.
Bei dem selektiven Zugriff in Bitform wird eine Steuerschaltung durch die Abtast- oder Decodierschaltung in Tätigkeit gesetzt, um nacheinander die Bit des ersten Teils der in dem Steuerwählregister gespeicherten Information in die nächststellige Ziffernposition dieses Registers zu schieben. Ein während dieses Vorgangs auftretendes Bit»O« ergibt die Betätigung eines Speicherzugriffsdecoders, so daß der Befehl im Hauptspeicher, der von der augenblicklichen Anzeige des Befehlszählers bezeichnet wird, dann in herkömmlicher Weise adressiert wird. Wenn jedoch während des Schiebevorgangs eine Bit»l« in der im Steuerwählregister gespeicherten Bitfolge angetroffen wird, wird der Befehlszähler um eins weitergeschaltet und der Speicherzugriffsdecoder nicht betätigt. Mit anderen Worten, das Bit »1« bewirkt ein Überspringen eines bestimmten zugehörigen Befehls in der Allzweckbefehlsgruppe, dem die im Steuerwählregister gespeicherte Auswählcodeinformation entspricht. Dieses Überspringen findet in einem kleinen Teil eines einzelnen Maschinenzyklus statt.
Beim selektiven Zugriff in .Sprungform wird ein Unterfeld des ersten Teils der im · Steuerwählregister gespeicherten Auswählcodeinformation als mit einem Vorzeichen versehener Sprungbetrag interpretiert. Unter speziellen Bedingungen wird dieser Betrag algebraisch zum Inhalt des Befehlszählers addiert, wobei der durch die erhöhte (oder verringerte) Angäbe im Befehlszähler bezeichnete Befehl dann in üblicher Weise adressiert wird. f '
Die Entscheidung, ob ein bestimmter, in einer vollständigen Befehlsgruppe enthaltener Befehl Zugriff erhält oder nicht, wird mit hoher Geschwindigkeit ganz am Beginn (oder am Ende) eines Maschinenzyklus getroffen. Wenn der betrachtete Befehl Zugriff erhalten soll, finden der Zugriff, die Decodierung und Ausführung während des nachfolgenden größeren Teils desselben Maschinenzyklus statt (wenn jedoch die Entscheidung nahe dem Ende eines Zyklus vorgenommen wird, können der Zugriff, die Decodierung und die Ausführung während des Anfangsteils des folgenden Zyklus stattfinden). Wenn . kein Zugriff des bestimmten Befehls angezeigt wird, wird nachfolgend eine nacheinander durchgeführte Prüfung der Wählbit im Steuerwählregister durchgeführt, bis ein Bit angetroffen wird, das bedeutet, daß der entsprechende Befehl Zugriff erhalten soll. Normalerweise finden diese Prüfungen während der Anfangs- (oder End-) Teile eines einzelnen Maschinenzyklus statt. (Eine Ausnahme ist eine Kombination einer langen Folge von Bit »1« mit einem ausgeführten Befehl, der den Befehlszähler nahe dem
Ende eines Maschinenzyklus ändert. Wenn. jedoch Schaltungen hoher Geschwindigkeit benutzt werden, tritt dies Problem nicht auf.) Die Anzahl der vollständigen Maschinenzyklen, die zur Ausführung einer Untergruppe der vollständigen Befehlsgruppe erforderlich sind, entspricht normalerweise der Anzahl der in der Untergruppe enthaltenen Befehle. Im Gegensatz zu bekannten Anlagen sind selten zusätzliche Maschinenzykien erforderlich, um Prüf- und Sprungbefehle auszuführen. Erfindungsgemäß ist die erforderliche Prüfinformation in kompakter codierter Form in den Wählregistern gespeichert. Eine Decodierung dieser Information mit hoher Geschwindigkeit und mit nachfolgender schneller Änderung des Inhalts des Befehlszählers ermöglicht die notwendigen Sprünge in neuartiger Weise. Es brauchen keine Prüf- oder Sprungbefehle der früher üblichen Art im Hauptprogramm oder in Unterprogrammen mit selektivem Zugriff enthalten zu sein, noch werden Arbeitszyklen bei unterdrückten Operationen verbraucht.
Bei der Arbeitsweise in Sprungform muß eine vorgeschriebene Bedingung erfüllt sein,_ bevor der spezifizierte Sprungbetrag algebraisch zum Inhalt des Befehlszählers addiert wird. Wenn die Bedingung erfüllt ist oder wenn der Sprung unbedingt ist, wird der spezifizierte Sprungbetrag zum Befehlszähler geleitet. Dann wird der Speicherzugriffsdecoder in Tätigkeit gesetzt, und der Befehl, der von dem Befehlszähler adressiert wird, erhält Zugriff, wird decodiert und ausgeführt. Wenn die Bedingung nicht erfüllt ist, wird der Sprungbetrag nicht zum Befehlsortzähler geleitet. In diesem Fall ergibt die Betätigung des Speicherzugriffdecoders den Zugriff des Befehls, der von der laufenden (ungeänderten) Angabe im Befehlszähler adressiert wird.
Der in F i g. 1A dargestellte Teil der speziellen, als Beispiel gewählten Datenverarbeitungsanlage enthält einen adressierbaren Hauptspeicher 100 mit beliebigem Zugriff. Der Speicher 100, der z. B. ein herkömmlicher Magnetkernspeicher sein kann, speichert eine Vielzahl von vielziffrigen Binärzahlen, die Daten- oder Befehlswörter bilden kennen. Der Zugriff zu einem der gespeicherten Wörter geschieht durch Anlegen der Adresse an einen Speicherzugriffsdecoder 102. Bei Betätigung bewirkt der Decoder 102, daß ein bestimmtes Wort über eine Gatterschaltung 104 in ein Speicherpufferregister 106 ge-. leitet wird. Unter dem Einfluß von Betätigungssignalen, die von einem Befehlsdecoder 114 an die Gatter 108, 110 und 112 angelegt werden, können ausgewählte Teile eines Wortes im Pufferregister 106 zu einem Befehlsregister 116, einem Adressenregister
118 und einem Indexmarkierregister 120 geleitet werden. Ferner steuert der Decoder 114 die Weiterleitung von Informationen unmittelbar vom Pufferregister 106 über die Gatter 115 (Fig. IA) und 117 (Fig. IB) an die später beschriebenen Teile der als Beispiel gewählten Anlage.
Der Inhalt des in F i g. 1 A dargestellten Befehlsregisters 116 geht zu einem Befehlsdecoder 122 (Fig. 1 B). Der Inhalt des Adressenregisters 118 wird an eine Erhöhungs- und Änderungsschaltung 124 angelegt, in der die im Register 118 enthaltene Adressenanlage entsprechend dem Inhalt eines angesprochenen, von einer Vielzahl von Indexregistern
119 geändert oder unter dem Einfluß von Signalen erhöht werden kann, die vom Decoder 122 (Fig. 1 B) über die Leitung 126 an die Schaltung 124 angelegt werden. Der Ausgang der Schaltung 124 ist seinerseits über eine Leitung 128 und ein Gatter 129 mit einem Befehlszähler 130 verbunden, der in Fig. IB dargestellt ist; Ferner ist der Ausgang der Schaltung 124 mit einem Gatter 131 verbunden, das durch den Decoder 122 so gesteuert wird,· daß es die Adresse des Operanden eines Befehlsworts dem Decoder 102 zuführt. Auf diese Weise kann ein Datenwort aus
ίο dem Speicher 100 wiedergewonnen und zum Speicherpufferregister 106 geleitet werden. Danach kann das wiedergewonnene Datenwort vom Register 106 über die Leitung 107 anderen Teilen einer Datenverarbeitungsanlage einschließlich der Indexregister 119 zugeführt werden. ■ ,
Die einzelnen in den Fig. IA und IB dargestellten und bisher beschriebenen Systemteile sind herkömmlicher Art, weiterhin sind die Verbindungen zwischen diesen Teilen wie auch ihre Gesamtarbeitsweise herkömmlich. Im Aufbau und in der Funktion können diese Teile z. B. den entsprechenden Einheiten einer Allzweck-Rechenanlage gleich sein, die in der USA.-Patentschrift 3 036 773 beschrieben ist. In F i g. 1B ist eine Steuerschaltung 132 für selek-
a5 tiven Zugriff dargestellt, die drei Anzeigeeinrichtungen enthält: ein Flipflop 134 für selektiven Zugriff {SA), ein Flipflop 136 für automatische Rückführung und ein Nachfolgeflipflop 138. In Fig. IB sind ferner dargestellt eine'Feststell- und Schiebesteuerschaltung 140, ein Decoder 142 für Bits höherer Ordnung, der einen Bitformflipflop 144 enthält, ein Gatter 146 und ein Rückführ-Adressenregister 148.
Fig. IC zeigt einen Block 150, der eine Vielzahl
von Wählregistern mit schnellem Zugriff und hoher Geschwindigkeit darstellt. Zur Erläuterung sei angenommen, daß der Block 150 einunddreißig Register mit je sechzehn Bit enthält. In die Register 150 werden die Auswählcodeinformationen in Form von Binärdaten über ein Gatter 152 eingegeben, das durch die Wählregister-Leitsteuerschaltung1 154 gesteuert wird. Diese Schaltung 154 dient ferner dazu, das Wählregister zu identifizieren, in das Binärdaten eingegeben werden sollen.
Die Binärdaten können zwischen den Wählregistern 150 und einem Steuerwählregister 156 mit 16 Bit (Fig. IC) über ein Gatter 158 übertragen werden, das durch die Wählregister-Leitsteuerschaltung 154 gesteuert wird. (Zur leichteren Bezugnähme sind die Ziffernpositionen des Registers 156 von 1 bis 16 numeriert.) Mit dem Steuerwählregister 156 sind die Gatter 160 und 162, ferner eine Beendigungs- und Steuerschaltung 164 für das nächste Wählregister (NSR), weiterhin eine Vergleichsschaltung 166 und schließlich eine Sprungsteüerschalturig 168 verbunden. Ferner ist mit dem Gatter 160 eine Komplementschaltung 170 und mit dem Gatter 162 ein Wählregister-Indexregister 172 verbunden.
Die Arbeitsweise des speziellen, als Beispiel gewählten Systems, das in den Fig. IA, IB und IC dargestellt ist, laßt sich am besten mit Hilfe der F i g. 3 beschreiben. Die linken und rechten Blöcke in F i g. 3 stellen zwei verschiedene Teile des Hauptspeichers 100 der F i g. 1A dar. Der linke Teil enthält das sogenannte Hauptprogramm, in ihm sind Befehle gespeichert, die als herkömmliche Hauptprogrammbefehle betrachtet werden können. Diese herkömmlichen Befehle werden im linken Block der
Fig. 3 in den Adressen FRST, SECD, SATR + 1, SASD + 1 und THRD gespeichert. Entsprechend der Erfindung sind im linken Block ferner Befehle gespeichert, die für die noch eingehender zu beschreibende Arbeitsweise mit selektivem Zugriff kennzeichnend sind. Die Art und die Wirkung dieser Befehle, die in den Speicheradressen SAFT, SATR und SASD gespeichert sind, werden später beschrieben. . . : . .
Im rechten Speicherblock in Fig. 3 sind beginnend mit der mit THME bezeichneten Speicheradresse zahlreiche Befehle gespeichert, die eine Allzweckbefehlsgruppe bilden. Dem Fachmann ist bekannt, daß es oftmals notwendig ist, wiederholt bestimmte Untergruppen von Allzweckbefehlsgruppen zu spezifizieren. Jede derartige Untergruppe oder Variante einer Allzweckbefehlsgruppe besteht aus ausgewählten Befehlen der Gruppe. So kann z. B. eine bestimmte gewünschte Untergruppe von Befehlen den ersten, dritten und zehnten Befehl der Gruppe enthalten, die im rechten Block der F i g. 3 dargestellt ist. Eine andere gewünschte Untergruppe kann z. B. nur den ersten, zweiten und vierten Befehl enthalten usw. Ein Sprung vom Hauptprogramm zur Allzweckbefehlsgruppe wird durch einen Sprungbefehl mit selektivem Zugriff bewirkt, wie er unten beschrieben wird. Die Befehle der Allzweckgruppe, die zur Ausführung ausgewählt werden, werden ihrerseits durch den Inhalt der Wählregister 150 bestimmt.
Um die Arbeitsweise der speziellen, in den Fig. IA, IB und 1C dargestellten Anlage zu erläutern, sei zunächst angenommen, daß der Befehlszähler 130 (Fig. IB) die Adresse FRST des ersten der Hauptprogrammbefehle, die im linken Block der .Fig. 3 dargestellt sind, enthält. Ein vollständiger Arbeits- oder Maschinenzyklus wird dann durch das Anlegen eines Zeitsignals von einer Hauptzeitquelle 175 über eine Leitung 178 an die Steuerschaltung 132 für selektiven Zugriff begonnen. Wenn das ■Flipflop 134 (SA) nicht eingestellt ist (so daß angezeigt wird, daß die Anlage sich zur Zeit nicht in der Arbeitsweise mit selektivem Zugriff befindet), spricht die Schaltung 132 auf das obenerwähnte Zeitsignal in normaler Weise an, indem ein Betätigungssignal über eine Leitung 180 an den Speicherzugriffsdecoder 102 angelegt wird, der ebenfalls von der Quelle 175 synchronisiert wird. [Die Art und Weise, wie das Flipflop 134 (SA) eingestellt und rückgestellt wird, wie auch die sich ergebende Arbeitsweise der Anlage, wenn das Flipflop eingestellt ist, werden später beschrieben.]
Bitposition 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Bitwert 1. 1 1 0 0 0 1 0 1 0 1 0 0 ' 1 1 1
Die Bitposition am weitesten links soll ein sogenanntes Arbeitsform-Anzeigebit enthalten. Zum Beispiel wird eine Angabe »1« in der Bitposition Nr. 1 bei der Arbeitsweise mit selektivem Zugriff so interpretiert, daß sie eine Arbeitsweise in Bitform spezifiziert. (Eine'in dieser Bitposition gesicherte »0« soll eine Arbeitsweise in Sprungform bezeichnen.) Bei dem selektiven Zugriff in Bitform (BMSA), werden die nächsten 10 Bit der in einem Wählrcgister gespeicherten Folge so interpretiert, dnß sie dessen Die Betätigung des Speicherzugriffsdecoders 102 bewirkt, daß er die Adresse im Hauptspeicher 100 anspricht, die durch den Befehlszähler 130 bezeichnet wird. Wie oben angegeben, enthält der Zähler 130 anfangs die Angabe FRST. Daher erhält der Decoder 102 Zugriff zu dem Befehl, der in dieser Adresse gespeichert ist. Dann wird der Inhalt FRST über das Gatter 104 zum Speicherpufferregister 106 geleitet. Danach werden durch den Befehlswortdecoder 114, die Register 116, 118, 119, 120 und den Befehlsdecoder 122 (F i g. 1 B) die normale Decodierung und Ausführung des Befehls vorgenommen. Andere herkömmliche Bauteile, z. B. Akkumulator- und Multiplikator-Quotient-Register und die Addierer (in den F i g. 1 A, IB und 1C nicht dargestellt), können mit der dargestellten Anlage verbunden sein, um den Befehl in bekannter Weise auszuführen. ..;.-.
Die Ausführung des nachfolgenden Haupt-
ao programmbefehls, der in der mit SECD in Fig. 3 bezeichneten Adresse gespeichert ist, erfolgt in gleicher Weise wie oben beschrieben. Möglicherweise wird der in der Adresse gespeicherte Befehl SAFT angetroffen. Dieser Befehl ist darauf gerichtet, eins
as der Wählregister 150 (Fig. 1 C) mit einer Datenangabe zu laden. Andere Wege zur Ladung dieser Register werden unten angegeben.
Ein einfaches Beispiel eines Wählregisterendebefehls LSR lautet wie folgt:
LSR BITS, SEL REG NO. 6 (1)
Die Wirkung eines derartigen Befehls besteht darin, die Information, die in einem Teil des Haupt-Speichers 100 mit 16 Bit an der mit BITS bezeichneten Adresse gespeichert ist, in das Wählregister
, Nr. 6 der 31 Wählregister 150 zu bringen. Der Befehl wird ausgeführt, indem (1) der Index 6 vom Befehlsdecoder 122 über die Leitung 190 an die Wählregister-Leitsteuerschaltung 154 angelegt wird und
(2) die in BITS gespeicherte Information über die Gatter 117 und 152 an das Indexwählregister (Nr. 6)
im Block 150 angelegt wird. -
Es können auch andere Ladebefehle bekanntertArt zum Laden und Ändern von Registern verwendet werden, insbesondere auch Ladebefehle unter Benutzung üblicher arithmetischer und logischer Funktionen. ·
Es sei für ein spezielles Beispiel angenommen, daß unter dem Einfluß des obigen Befehls (1) die folgende 16-Bit-Folge in das Wählregister Nr. 6 geladen wird. .
Wählfeld bilden. (Beim selektiven Zugriff in Sprungform werden dieselben 10 Bit in anderer Weise interpretiert, die später eingehend beschrieben wird.) Beim selektiven Zugriff in Bitform (und auch beim selektiven Zugriff in Sprungform) bezeichnen . die letzten 5 Bitpositionen 12 bis 16 die Nummer des nächsten Wählregisters im Block 150, das angesprochen werden soll. Alis diesem Grund wird der rechte Teil mit 5 Bits der in einem Wähliegistcr gespeicherten Folge als NSR-FeId der Wählregister-
209 648/101
angabe bezeichnet. Im einfachsten BMSA-FaIl entsprechen die einzelnen Bit des 10-Bit-Wählfelds eins-zu-eins einer Gruppe von Allzweckbefehlen. In diesem Fall bestimmt jedes Bit im Wählfeld, ob der entsprechende Befehl der Gruppe Zugriff erhält oder nicht. Zum Beispiel wird ein Bit »0« so interpretiert, daß der entsprechende Befehl Zugriff erhalten soll, während ein Bit »1« bedeutet, daß der entsprechende Befehl· keinen Zugriff erhalten soll. (Andere Codierungen für den selektiven Zugriff in Bitform werden unten beschrieben.)
Der selektive Zugriff in Bitform wird besser verständlich, wenn ein spezielles Ausführungsbeispiel
10
im einzelnen verfolgt wird. Beim Verfolgen der im linken Block der F i g. 3 dargestellten Liste sei angenommen, daß das Wählregister Nr. 6 mit der obigen Angabe (2) geladen ist und daß der in der mit SA TR bezeichneten Adresse gespeicherte Befehl im Laufe der normalen Arbeitsweise der in den F i g. 1A, 1B und IC dargestellten Anlage erreicht ist. Der im Speicher 100 bei SATR gespeicherte Befehl ist ein Sprung- und selektiver Zugriffsbefehl (TSA) gemäß der Erfindung.
Es sei angenommen, daß der in SA TR gespeicherte Befehl TSA die folgende, als Beispiel gewählte Form hat: ..........
TSA THME, INDEX TAG (wahlweise), SEL REG NO. 6
(3)
Wie im einzelnen nachfolgend dargelegt ist, besteht die Wirkung des Befehls (3) darin, die Anlage in die Arbeitsform mit selektivem Zugriff zu versetzen und die Systemsteuerung zu dem Befehl zu übertragen, dessen Adresse im Speicher 100 mit THME bezeichnet ist (s. rechter Block der F i g. 3). Dann erhalten beginnend mit THME nur. Befehle Zugriff,· wenn die entsprechenden Bits, im Wählfeld des bezeichneten Wählregisters (Nr. 6) »Nullen« sind.
Es sei angenommen, daß im Befehlszähler 130 die Adresse SA TR gespeichert ist. Der nächste Maschinenzyklus beginnt mit dem Anlegen eines Zeitsignals der Quelle 175 an die Steuerschaltung 132 für selektiven Zugriff. An. dieser Stelle ist das Flipfiop 134 (SA) noch nicht eingestellt. Daher wird in der oben beschriebenen Weise der Speicherzugriffsdecoder 102 betätigt, um den bei SA TR gespeicherten Befehl anzusprechen. Die nachfolgende Wiedergewinnung und Decodierung des obigen Befehls (3) bewirkt die Durchführung folgender Aktionen:
(1) Das Flipflop 134 (SA) wird eingestellt, wodurch angezeigt wird, daß ein selektiver Zugriffsbefehl vorhanden ist.
(2) Die vorliegende Anzeige (SATR) des Befehlszählers 130 wird um eins erhöht (auf den Wert SATR + 1) und dann zum Rückführadressenregister 148 geleitet, wo sie für eine mögliche, zukünftige Verwendung im Zusammenhang mit einer programmierten Rückführung zu einer Adresse in der Nähe von SATR + 1 im Hauptprogramm gespeichert wird.
(3) Der Befehlszähler 130 wird auf die Anzeige THME eingestellt.
(4) Der Befehlswortdecoder 114 bewirkt, daß die spezielle Wählregisternummer 6 über das Gatter 115 zum Wählregister-Indexregister 172 geleitet wird. Der Befehlsdecoder 122 legt ein Signal an die Wählregister-Leitsteuerschaltung über die Leitung 190 an, um zu bewirken, daß der Inhalt des Wählregisters Nr. 6 (d. h. des Wählregisters, dessen Nummer sich im Wählregister-Indexregister 172 befindet) über das Gatter 158 zum Steuerwählregister 156 geleitet wird. Alternativ und zusätzlich zu der oben beschriebenen Ladung des Wählregister-Indexregisters 172 kann die Anzeige 6 direkt vom Befehlscoder 122 zur Wählregister-Leitsteuerschaltung 154 gegeben werden, um zu bewirken, daß der Inhalt des Wählregisters Nr. 6
über das Gatter 158 an das Steuerwählregister 156 angelegt wird. In jedem Fall wird die oben in (2) dargestellte ■ 16-Bit-Folge zum Steuerwählregister 156 übertragen.
Der nächste Maschinenzyklus beginnt mit dem Anlegen eines weiteren Zeitsignals an die Steuerschaltung 132 für selektiven Zugriff. Da zu dieser Zeit das Flipflop 134 (SA) eingestellt ist, wird festgestellt, daß der nächste Zyklus ein selektiver Zugriffszyklus ist. Das eingestellte Flipflop 134 verhindert, daß die Schaltung 132 den Speicherzugriffsdecoder 102 unmittelbar betätigt. Statt dessen betätigt die Schaltung 132 über die Leitung 197 den Decoder 142 für Bit höherer Ordnung, so daß das Bit »1« in der am weitesten links liegenden Bitposition des steuerwählregisters 156 abgetastet und durch den Decoder 142 decodiert wird. (Dieses Betätigungssignal ist nur wirksam, wenn das Bitformflipflop 144 sich im rückgestellten Zustand befindet.) Das Bit»1« bedeutet einen selektiven Zugriffszyklus in Bitform. Unter dem Einfluß des Bit »1« stellt der Decoder 142 das Bitformflipflop 144 ein und betätigt die Feststell- und Schiebesteuerschaltung 140. Die Schaltung 140 bewirkt ihrerseits, daß die in den Bitpositionen 1 bis 11 des Steuerwählregisters 156 gespeicherte Folge um eine Bitposition nach links verschoben wird. Dann fügt die Schaltung 140 ein Bit »1« in die Bitposition (11) am weitesten rechts im Wählfeld des Registers 156 ein. Die Folge, die dann in den Bitpositionen 1 bis 11 des Registers 156 gespeichert ist, lautet wie folgt:
(4)
1 2 3 4 5 6 7 8 9 10 11
1 1 0 0 0 1 0 1 0 1 1
Dann prüft die Schaltung 140 die in den Bitpositionen 1 bis 11 gespeicherte Folge, um festzustellen, ob eine nur aus Nullen bestehende Angabe enthalten ist oder nicht. Wenn ja, wird die Beendigung des selektiven Zugriffs in der später beschriebenen, speziellen Weise eingeleitet. Bei dem hier betrachteten Beispiel besteht die in den angegebenen Bitpositionen gespeicherte Folge zunächst nicht nur aus Nullen. Dementsprechend wird der. selektive Zugriff fortgesetzt.
Die zehn in den Bitpositionen 1 bis 10 gemäß (4) gespeicherten Bit sollen den ersten zehn Befehlen entsprechen, die vom Befehlszähler 130 im rechten Speicherblock in F i g. 3 adressiert werden. (Es sei
bemerkt, daß entsprechendes auch noch für Sprünge gilt. Das heißt, wenn irgendeiner, der gewählten Befehle im Block THME ein Sprungbefehl ist, wird der selektive Zugriff bei der Sprungadresse fortgesetzt.) Wie oben erwähnt wurde, bedeutet eine Anzeige »1«, daß der entsprechende Befehl zu überspringen ist, während eine »0« anzeigt, daß der entsprechende Befehl Zugriff erhält, dekodiert und ausgeführt wird. Demgemäß wird das in der Bitposition Nr. 1 gemäß (4) gespeicherte Bit »1« durch den Dekoder 142 als Sprungsignal zu dem in der Adresse THME gespeicherten Befehl interpretiert. Das Überspringen wird durch den Decoder 142 vorgenommen, indem ein Erhöhungssignal über die Leitung 195 an den Befehlszähler 130 angelegt wird. Unter dem Einfluß dieses xs Erhöhungssignals wird die im Zähler 130 gespeicherte Adresse auf die Angabe TRME -J-I erhöht, die die Adresse des zweiten Befehls im rechten Block der F i g. 3 bezeichnet. Während der Zähler 130 erhöht wird, findet ein weiterer Schiebe-, Einfügungs-. ao und Feststellzyklus statt. Da stets um eins erhöht wird, ist der Zähler 130 bereit, ein neues Erhöhungssignal aufzunehmen, sobald die niedrigststellige Bitposition erhöht ist und ein etwaiger Übertrag weitergeleitet ist. Die Folge, die dann in den Bitpositionen 1 bis 11 des Steuerwählregisters 156 gespeichert ist, lautet: .
(5)
Das in der Bitposition Nr. 1 gespeicherteBit »1« entspricht dem zweiten Befehl (gespeichert in THME+1) im rechten Block der Fig. 3. Diese »1« oder Sprunganzeige bewirkt die Erhöhung des im Befehlszähler 130 enthaltenen Wertes in der oben beschriebenen Weise. Daher wird der Zähler 130 nach THME+2 weitergeschaltet, und die Steuerschaltung 140 wird so gesteuert, daß sie einen weiteren Schiebe-, Einfügungs- und Feststellzyklus einleitet. Die dann in den Bitpositionen 1 bis 11 des Registers 156 gespeicherte Angabe lautet:
45
(6)
1 2 3 4 5 6 7 8 9 1 11
1 0 0 0 1 0 1 0 1 1
,1 2 3 4 5 6 7 8 9 10 11
0 0 0 1 0 1 0 1 1 1 1
50
Das in der Bitposition Nr. 1 gespeicherte Bit »0« entspricht dem dritten Befehl (gespeichert in THME+2) im rechten Block der Fig. 3. Dieses Bit »0« bedeutet, daß der dritte Befehl Zugriff erhalten, decodiert und ausgeführt werden soll. Diese Operationen werden durch den Decoder 142 eingeleitet, indem ein Betätigungssignal an den Speicherzugriffsdecoder 102 über die Leitung 201 angelegt wird. Der Decoder 102 kann ein Betätigungs-Verzögerungsflipflop 103 enthalten. Wenn das Flipflop 103 durch den Hauptzeitgeber 175 eingestellt ist (wie unten beschrieben), wird der Zugriff zu dem adressierten Befehl bis zum Beginn des nächsten Maschinenzyklus verzögert. (Wie unten angegeben, tritt eine solche Verzögerung gewöhnlich nicht auf.) Nach dem Anlegen des genannten Betätigungssignals spricht der Decoder 102 die Adresse im Hauptspeicher 100 an, die durch den Befehlszähler 130 angegeben wird. Wie oben festgestellt wurde, ist im Zähler 130 jetzt die Angabe THME+2 gespeichert. Demnach erhält der in THME+2 gespeicherte Befehl Zugriff. Die Decodierung und die Ausführung des Befehls erfolgen in üblicher Weise, wie oben beschrieben.
Es sei bemerkt, daß, wenn dieser Befehl ein Sprung ist, die richtige Adresse in den Befehlszähler 130 eingebracht wird, wobei der selektive Zugriff von diesem neuen Punkt aus fortgesetzt wird.
Es sei hervorgehoben, daß alle oben beschriebenen selektiven Zugriffsoperationen während eines einzelnen Maschinenzyklus erfolgen, wenn das Betätigungs-Verzögerungsflipflop 103 nicht eingestellt ist. Die Verschiebung, Einfügung und Befragung von Bits im Steuerwählregister 156 und die angegebene Erhöhung des Befehlszählers 130 finden während eines verhältnismäßig kurzen Anfangsteils dieses Zyklus (und " manchmal während eines kurzen Endteils des Zyklus, wie unten beschrieben) mit hoher Geschwindigkeit statt. Wenn ein Bit im Register 156 angetroffen wird, das anzeigt, daß ein bestimmter Befehl der angesprochenen Allzweckbefehlsgruppe Zugriff erhalten soll, bleibt ein größerer Teil des Maschinenzyklus für den tatsächlichen Zugriff, die Decodierung und Ausführung des Befehls übrig.
Es sei bemerkt, daß bei gewissen Kombinationen von Flipflopeinsteilzeiten und Maschinenzykluszeiten eine lange Reihe von Bit »1« (mehr als fünf oder sechs) auftreten kann, die zu viel Zeit zur Durchführung des Zugriffs, der Decodierung und Ausführung eines Befehls innerhalb des restlichen Teils eines Zyklus einnimmt. Um unter diesen Bedingungen eine Anlage mit selektivem Zugriff, zu bauen, ist vorteilhafterweise das Betätigungs-Verzögerungsflipflop 103 im Speicherzugriffsdecoder 102 enthalten. Dieses Flipflop wird durch Zeitimpulse eingestellt und rückgestellt, wobei sein Ausgangssignal mit dem Betätigungssignal des Decoders 142 für Bit höherer Ordnung derart verknüpft wird, daß der Zugriff bis zum Beginn des nächsten Maschinenzyklus verzögert wird.
In dem Ausmaß wie derartige Verzögerungen benötigt werden, wird die Entsprechung eins-zu-eins zwischen den Zyklen und den gewählten Befehlen nicht eingehalten...Es sei hier,jedoch bemerkt, daß eine geeignete Verwendung des selektiven Zugriffs in Bitform bei der Programmierung verhältnismäßig wenige Reihen von aufeinanderfolgenden »Einsen« von solcher Länge ergibt. Somit ist die Anzahl der notwendigen Verzögerungen um einen Zyklus in der Praxis sehr klein. Es sei ferner bemerkt, daß kleine Flipflop-Einstellzeiten diese Verzögerung unnötig machen.
Bei der hier beschriebenen Anlage können in gewissen Umfang parallele Operationen verwendet werden. Beispielsweise kann, sobald ein Befehl auf den Befehlszähler 130 eingewirkt hat, der Befehlsdecoder 122 ein Signal »Fortfahren« über die Leitung 141 zum Decoder 142 für Bit höherer Ordnung geben, wodurch bei Befehlen Zeit gespart wird, die nur eine geringe Änderung des Befehlszählers 130 verursachen. Dieses Signal ist nur wirksam, wenn das Bitformflipflop 144 eingestellt ist. Mit anderen Worten, mit Hilfe des Signals »Fortfahren« sind der Decoder 142 für Bit höherer Ordnung und die Feststell- und Schiebesteuerschaltung 140 in der Lage, einen Teil ihrer Arbeit während des letzten Teils eines
Maschinenzyklus auszuführen. Diese Arbeit wird typischerweise wie folgt ausgeführt: Es sei angenommen, daß während eines selektiven Zugriffs in Bitform ein Befehl ausgeführt wird, der eine längere Berech-
nächsten Maschinenzyklus das Bit »1« in der Bitposition Nr. 2 gemäß (7) in die Bitposition am weitesten links verschoben, während ein weiteres Bit »1« in die Bitposition Nr. 11 eingefügt wird. An dieser
nung (z.B. eine lange Addition) mit "einem oder S.Stelle im Zyklus stellt die Schaltung 140 das Vereinigen allgemeinen Registern erfordert. Ferner sei handensein einer nur aus Nullen bestehenden Folge ζ B angenommen, daß ein derartiger Befehl nur eine in den Bitpositionen 1 bis 11 des Steuerwählregisters einfache Erhöhung .des Befehlszählers 130 erfordert. 156 fest. Dann legt die Schaltung 140 ein Rückstell-Dann gibt der Befehlsdecoder 122 das genannte Si- signal an das ■ Bitformflipflop 144 und ein Signal °nal über die Leitung 141 (Fortfahren), um den De- io »Ende von BMSA« an die Beendigungs- und NSR-coder 142 für Bit höherer Ordnung zu betätigen. So- Steuerschaltung 164 über die Leitung 205 an. Zusätzlich wird ein Sperrsignal durch die Schaltung 140 über die Leitung 241 an die Steuerschaltung 132 für
selektiven Zugriff gegeben, um das Abgeben eines
Wählregister beendet ist oder bevor das Flipflop 134 (SA) nach Beendigung rückgestellt ist (dies wird unten beschrieben.)
Unter dem Einfluß des Signals »Ende von BMSA « liest die Schaltung 164 die 5-Bit-Folge oder das NSR-FeId ab, das in den Bitpositionen 12 bis 16 des Steuerwählregisters 156 gespeichert ist. Wenn diese Folge den Wert 00000 hat, soll der selektive
mit wird, ohne auf den Beginn des nächsten Zyklus zu warten, die Decodierung der Auswählcbdeinfor-
mation fortgesetzt. Das Betätigungs-Verzögerungs- _ _
flipflop 103 verzögert den Zugriff, zum Speicher 100 15 Betätigungssignals über die Leitung 197 zu verhinbis'zum nächsten Zyklus, wenn der Decoder für Bit dem. Dieses Sperrsignal wird wirksam, während die höherer Ordnung und die Feststell- und Schiebe- ' Beendigung des selektiven Zugriffs oder das Weitersteuerschaltung ihre Arbeit vor dem Ende des laufen- leiten des neuen Inhalts des Wählregisters stattfindet, den Zyklus beenden. Dies tritt ein, wenn verhältnis- Der Zweck des Sperrsignals besteht darin, eine Bemäßig wenige aufeinanderfolgende »Einsen« zu 20 tätigung des Decoders 142 für Bit höherer Ordnung decodieren sind. zu verhindern, bevor das Weiterleiten durch das
Zu Beginn jedes nachfolgenden BMSA-Maschinenzyklus wurde über die Leitung 141 vom Befehlsdecoder 122 an den Decoder 142 für Bit höherer
Ordnung ein Signal angelegt. Wenn der Decoder 142 25
ein Betätigungssignal von der Steuerschaltung 132
für selektiven Zugriff (durch ein Signal auf der Leitung 197) erhält und wenn ferner das Bitformflipflop
144 im eingestellten Zustand ist, wird hierdurch der
Decoder 142 so gesteuert, daß er die Arbeit in der 30 Zugriff beendet werden. In einem solchen Fall ge-Bitform fortsetzt. (Der Decoder 142 wurde am Ende schieht die Beendigung durch die Schaltung 164 dades vorherigen Zyklus betätigt, wie oben angegeben.) durch, daß ein Beendigungssignal an die Steuerschal-Mit anderen Worten, der Decoder 142 ist hierdurch tung 132 für selektiven Zugriff über die Leitung 207 in der Lage, zuerkennen, daß ein vorher begonnener angelegt wird. Unter dem Einfluß dieses Signals Zyklus in Bitform noch in Gang ist. Aufwiese Weise 35 stellt die Schaltung 132 das Flipflop 134 (SA) zurück, wird das Signal, das in der am weitesten links liegen- Wenn sich das Rückführflipflop 136 im eingestellten
" Zustand befindet (dieses Flipflop würde durch einen ESA-Befehl, der unten beschrieben wird, eingestellt sein), leitet die Schaltung 132 den Inhalt des Rück-40 führ-Adressenregisters 148 zum Befehlszähler 130. Das Flipflop 136 wird dann zurückgestellt. Wenn sich das Flipflop 136 nicht im eingestellten Zustand befindet; bleibt der Inhalt des Zählers 130 ungeändert;
_ Danach zeigt das Auftreten des nächsten Zeitsignals
THME+ 4 bezeichneten Adressen gespeichert sind, 45 der Quelle 175 einen weiteren Maschinenzyklus an, Zugriff erhalten. In bezug auf die Darstellung (6) im der dadurch, daß das Flipflop 134 (SA) sich im rückrechten Befehlsbloclr in Fig. 3 und auf die hier gestellten Zustand befindet, ein herkömmlicher oder beschriebene Arbeitsweise wjrd offensichtlich im- normaler Zyklus der vorher beschriebenen Art ist. nächstfolgenden Maschinenzyklus der' Befehl in - Wenn andererseits der Inhalt des NSR-Felds des THME+5 übersprungen, wobei der Befehl in 5° Steuerwählregisters 156 durch die Schaltung 164 THME+6 Zugriff erhält/ In gleicher Weise wird dahingehend festgestellt ist, daß er eine Folge ohne beim nächsten Maschinenzyklus der Befehl in Nullen bildet, wie z. B. bei der oben als Beispiel THME+7 übersprungen, wobei der Befehl in gewählten Folge gemäß (2), finden die nachfolgenden THME+8 Zugriff erhält. Die dann in den Bitposi- Aktionen statt. Die Schaltung 164 leitet den Inhalt tioneri 1 bis 11 des Steuerwählregisters 156 gespei- 55 des NSR-Feldes zum Wählregister-Indexregister 172.
1 _ .1 r\ _.i.fi..'s_ji*-. ./ * ■ \/r"\m ~D orti et ar· "I TT^ mm t*j-4 s4ia A tinqiia \7 V J? i?iir \X71i TiI
— 1? * w
den Bitposition des Steuerwählregisters 156 gespeichert ist, durch den Decoder 142 nicht dahingehend interpretiert, daß es entweder'einen Bitform- oder einen Sprungformzyklus anzeigt.
In zwei aufeinanderfolgenden BMSA-Maschinenzyklen werden die Bit »0« in den Bitpositionen 2 und 3 gemäß (6) decodiert. Diese Bit schreiben vor, daß die Befehle, die in den mit THME+3 und.
cherte Darstellung lautet:
1 2 3 4 5 6 7 8 9 10 π
0 1 1 1 1 1 1 1 1 1 1
Vom Register 172 wird die Angabe NSR zur WählregisterrLeitsteuerschaltung 154 gegeben. Die Schaltung 154 spricht auf die Angabe NSR an, um zu bewirken, daß der Inhalt des durch das NSR-FeId (7) 60 angegebenen Wählregisters zum Steuerwählregisfer 156 geleitet wird. Gemäß (2) bezeichnet das NSR-FeId das Wählregister Nr. 7. In diesem Fall wird die ...·.■·■ ■ Steuerschaltung 132 für selektiven Zugriff nicht -an-
Es sei wieder hervorgehoben, daß für den Fall, gewiesen, den selektiven Zugriff zu beenden. Daher daß irgendeiner der ausgeführten Befehle einen 65 wird nach dem Anlegen des nachfolgenden Zeit-Sprung darstellt, die Adressen TIlME \-\ usw. durch signals an die Schaltung 132 ein weiterer selektiver den Sprung in üblicher Weise geändert werden. Zugriffsmaschinenzyklus. begonnen. .Bei diesem
Schließlich wird während des Anfangsteils des nächsten Zyklus wird die Feststellung, welche Be-
fehle der Allzweckgruppe Zugriff erhalten sollen, durch die neue im Steuerwählregister 156 gespeicherte Folge gesteuert.
Um die Arbeitsweise mit selektivem Zugriff weiter zu erläutern, sei angenommen, daß die Anlage auf
eine NSR-Anzeige 7 gemäß (2) dadurch angesprochen hat, daß der Inhalt des Wählregisters Nr. 7 zum Steuerwählregister 156 geleitet ist. Insbesondere sei angenommen, daß infolgedessen im Register,156 nunmehr die folgende 16-Bit-FoIge gespeichert ist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0 0 0 0 0 1 1 0 0 0 1 0 0 .0 1 i:
(8)
.. Das nächste Zeitsignal, das an die Steuerschaltung 132 für selektiven Zugriff -angelegt wird, leitet einen weiteren Maschinenzyklus mit selektiven Zugriff ein [da angenommen wird, daß sich das Flipflop 134 (SA) noch im eingestellten Zustand befindet]. Am Beginn dieses Zyklus wird der Decoder 142 für Bit höherer Ordnung in Tätigkeit gesetzt, um die Art des Bit festzustellen, das in der Bitposition Nr. 1 gemäß (8) gespeichert ist. Das dort gespeicherte Bit »0« wird so interpretiert, daß es einen selektiven Zugriffszyklus (JMSA) in Sprungform angibt. Unter as dem Einfluß dieses Bit »0« betätigt der Decoder 142 die Sprungsteuerschaltung 168 über die Leitung 210. Daraufhin leitet die Schaltung 168 die Bit, die in den Bitpositionen 2 bis .8 des Steuerwählregisters 156 gespeichert sind, zum Befehlszähler 130. Das in der Bitposition Nr. 2 gespeicherte Bit wird als Vorzeichenbit interpretiert. Zum Beispiel zeigt ein Bit »0« an, daß die durch die Bits in den Bitpositionen 3 bis 8 bezeichnete Zahl zum derzeitigen Inhalt des Zählers 130 zu addieren ist. Wenn eine Addition an-. gezeigt. wird, wird die angegebene Zahl oder der Sprungbetrag ohne Änderung durch die Komplementschaltung 170 geleitet.. Ein Bit »1« in der Bitposition Nr. 2 zeigt an, daß die angegebene Zahl vom Inhalt des Zählers 130 zu subtrahieren ist. Die Subtraktion ' wird durch die Schaltung 170 durchgeführt, die das Komplement der angegebenen Zahl bildet, bevor sie zur Kombination mit dem derzeitigen Inhalt an den Zähler 130 angelegt wird. Es sei bemerkt, daß bei der Komplementbildung das Zweierkomplement bezüglich der maximalen Hauptspeicheradresse gebildet wird. Dabei wird angenommen, daß der Befehlszähler 130 diese maximale Adresse wie üblich modulo zählt. , ..-■·■ :; ■■■ . . ■:■.--.■
Der mit Vorzeichen versehene Sprungbetrag in den Bitpositionen 2 bis 8 kann bedingt oder unbedingt von der Schaltung 168 zum Zähler 130 geleitet werden. In diesem Zusammenhang bilden die Signale, die in den Bitpositionen 9 bis 11 des Registers 156 gespeichert sind, einen sogenannten Sprungsteuercode, der festlegt, ob der Sprung bedingt oder unbedingt sein soll. Zum Beispiel kann dieses 3-Bit-Feld angeben, daß der angezeigte Sprungbetrag nur an den Zähler 130 anzulegen ist, wenn ein zugehöriges Register 168a (das über die Leitung 169 mit der Schaltung 168 verbunden ist) eine vorbestimmte Zahl enthält. Der Sprungsteuercode kann ferner eine Information in bezug auf die Art und Weise enthalten, wie die Bitpositionen 12 bis 16 (das NSR-FeId) gemäß (7) zu interpretieren und abzuändern sind. Zum Beispiel können die acht verschiedenen möglichen 3-Bit-Sprungcode jeweils den folgenden Interpretationen zugeordnet sein.
(1) 000 Addieren des Spfungbetrags zum Inhalt
des Zählers 130. '
Ausführen d.es adressierten Befehls.
- Weiterleiten des NSR-Feldes zum Regi-'
ster 172 für die nächste selektive Zugriffsstufe.
(2) 001 Addieren des Sprungbetrags zum Inhalt
des Zählers 130 nur, wenn das NSR-FeId nicht gleich dem Inhalt des Registers 172 ist. Ausführen des adressierten Befehls. Weiterleiten des NSR-Feldes zum Register 172. Addieren von Eins zum Register 172 (durch das von der Schaltung 168 über die Leitung 212 angelegte Signal). Rückgabe des Inhalts des Registers 172 zum NSR-FeId.
(3) 010 Wie beim 001-Code, jedoch Subtrahieren
von Eins, anstelle von Addieren von Eins.
(4) 011 Wie beim 001-Code, jedoch Weglassen der
Gleichheitsprüfung." Beenden des selektiven Zugriffs, wenn das NSR-FeId 00000 enthält.
100 Wie beim 011-Code, jedoch Subtrahieren von Eins, an Stelle von Addieren von Eins.
(7)
und
101 110 und .111 Bedingungs-Code. Überspringen, wenn der Inhalt des angegebenen Registers Null, nicht Null oder gleich dem Inhalt des angegebenen Indexregi- -;·-■■-■ sters ist. :■ .;''"ΐί::ν;"":ν:'... ": .1- ~"
In jedem Falle :Weiterleiten des NSR-Feldes zum Register 172 und Betätigen der Beendigungs- und NSR-Steuerschal-
"' '. tung 164. .;■■■■.;.■'■■','· ■ ;
Bei der hier; beschriebenen Anlage erhält der Befehl, der durch den Zähler 130 nach der Sprungformänderung adressiert wird, nachfolgend Zugriff und wird ausgeführt. Andererseits kann JMSA durchgeführt werden, indem einfach der Zähler 130 geändert wird, und zwar ohne nachfolgende Ausführung des durch den Zähler 130 angegebenen Befehls. Diese Alternative macht die Programmierung gewisser Operationen, wie den unten erläuterten Schleifendurchlauf, wirksamer. Andererseits liefert JMSA eine wirksame Codierung für die Wahl von verhältnismäßig wenigen Befehlen einer Gruppe mit selektivem Zugriff. Mit anderen Worten, wenn verhältnismäßig große Sprünge im Programm mit selektivem Zugriff gemacht werden, ist die Codierung in Sprungforni wirksamer als eine Angabe in Bitform.
BMSA und JMSA können auf verschiedene Weise
209 648/101
kombiniert werden, um den selektiven Zugriff einer Gruppe von Allzweckbefehlen in sehr beweglicher datenabhängiger Weise durchzuführen. Zum Beispiel sei angenommen, daß eine Allzweckbefehlsgruppe wiederholt durchlaufen werden soll, wobei eine andere Untergruppe von Befehlen während jedes Durchlaufs für den Zugriff ausgewählt wird. Entsprechend der Erfindung kann diese Operationsart leicht mit hoher Geschwindigkeit durchgeführt werden. Insbesondere sei angenommen, daß die Wählregister 1 bis 7 des Blocks 150 mit denjenigen Bitfolgen geladen wurden, die in dem linken Block der Fig. 4 dargestellt sind. Die 10-Bit-Wählfelder der Wählregister 1 bis 5 geben fünf verschiedene Untergruppen der Allzweckbefelilsgruppe an, die im rechten Block der F i g. 4 an den mit GLPE bis GLPE+7 bezeichneten Speicherstellen gespeichert sind. Somit , wird während des ersten Durchlaufs der Allzweckbefehlsgruppe unter dem Einfluß eines Befehls TSA, der die Speicherstellen GLPE und das Wählregister Nr. 1 adressiert, das Wählfeld 1010100011 im Wählregister Nr. 1 bewirken, daß die folgenden Befehle der Allzweckgruppe für den Zugriff ausgewählt werden:
GLPE + 1
GLPJE + 3
GLPE + 5
GLPE -f · 6
GLPE +1
(9)
Die Auswahl, Decodierung und Ausführung der in der Untergruppe (9) enthaltenen Befehle erfolgt entsprechend der obigen Erläuterung der BMSA-Operation. Nach der Ausführung dieser Untergruppe würde der Inhalt des NSR-Felds des Wählregisters Nr. 1 ergeben, daß der Inhalt des Wählregisters Nr. 6 zum Register 156 (F i g. 1 C) geleitet wird. Diese 16-Bit-Folge würde durch den Decoder 142 dahingehend erkannt, daß sie einen JMSA -Zyklus angibt. Insbesondere wird durch die angegebene Folge ein Sprung-' betrag von —8 Speicherstellen bezeichnet. Infolgedessen wird der Befehlszähler 130 auf GLPE-I eingestellt, und es folgt die Ausführung des Befehls. Dann begint der selektive Zugriff in Bitform wieder bei GLPE. Weiterhin wird der Inhalt des Registers 172 an die Wählregisterleitsteuerschaltung 154 angelegt und dort gespeichert, und zwar als Anzeige, daß die nachfolgende Speicherung des Inhalts des Registers 156 zurück in den Wählregisterblock 150 zu leiten ist. Dann wird das NSR-FeId im Register 156 erhöht um Eins (zum Wert 00010), über die Leitung 212 zum Register 172 geleitet und nachfolgend zum NSR-FeId des Registers 156 zurückgeführt. Der Wert 00010 bleibt im Register 172 gespeichert. Danach wird die abgeänderte, in Sprungform codierte 16-Bit-Folge vom Register 156 zum Wählregister Nr. 6 im Block 150 geleitet, der durch die Wählregister-Leitsteuerschaltung 154 angegeben - wird. An diesem Punkt im Operationszyklus wird das nächste Wählregister, dessen Inhalt zum Register 156 geleitet werden soll, durch den Inhalt (00010) des Registers 172 angegeben. Daraufhin wird der Inhalt des Wählregisters . Nr. 2 zum Register 156 geleitet. Dann erhalten die GLPE bis GLPE+1 gespeicherten Befehle Zugriff, wie es durch das Wählfeld des Wählregisters Nr. 2 angegeben ist. Entsprechend diesem Feld erhalten die Befehle GLPE, GLPE+5 und GLPE+7 der betrachteten Allzweckgruppe Zugriff, sie werden decodiert und ausgeführt.
Nachfolgend wird der Inhalt des Wählregisters Nr. 6 wiederum zum Register 156 geleitet. Daraufhin findet ein weiterer Sprung von —8 Speicherstellen (nach GLPE-1) statt. Zusätzlich wird genau in der, oben beschriebenen Weise das NSR-FeId im Register 156 wiederum um Eins erhöht, bevor die dort befindliche 16-Bit-Folge zum Wählregister Nr. 6 zurückgeführt wird. : . .
Eine fortgesetzte Operation, wie sie oben angegeben ist, führt zur aufeinanderfolgenden Wahl von fünf verschiedenen Untergruppen der Allzweckgruppe von Befehlen, 'die im rechten'Block der Fig. 4 gespeichert ist. Nachdem die Befragung des Wählfelds des Wählregisters Nr. 5 beendet ist, wird das NSR-FeId dieses Registers geprüft. Wie sich aus dem linken Block der F i g. 4 ergibt, ist in diesem Feld der Wert 7 (00111) gespeichert. Demnach ist das als nächstes ausgewählte Wählregister, dessen Inhalt zum Register 156 geleitet werden soll, das Wählregister Nr. 7. Auf diese Weise endet die oben beschriebene Schleifenoperation, wobei ein Sprung aus der Schleife heraus durchgeführt wird. Nach der bitweisen Befragung des Wählfelds der Folge BMSA, die im Wählregister Nr. 7 gespeichert ist, und unter dem Einfluß der Angabe 00000, die in dessen NSR-FeId gespeichert ist, wird die! in F i g. 4 angegebene Operation mit selektivem Zugriff beendet. Andererseits würde eine Angabe 00000 im NSR-FeId des Wählregisters Nr. 5 eine unmittelbare Beendigung des selektiven Zugriffs bewirken. Wenn das Rückführflipflop 136 durch einen Befehl ESA (s. unten) eingestellt ist, würde die Steuerung zur anfordernden Adresse vermehrt um Eins zurückgeführt werden. Im Fall eines Operationszyklus TSA kann eine programmierte Rückführung zum Hauptprogramm (möglicherweise zur anfordernden Adresse vermehrt um Eins) stattfinden. ■'.■■
Zu dem obigen Beispiel sei bemerkt, daß der achte Befehl des Blocks GLPE bei jeder Schleife ausgeführt wird. Dies geschieht durch eine Programmierung, bei der das neunte Bit jedes der Wählregister 1, 2, 3, 4 und 5 gleich »0« ist. Diese Programmierung stellt sicher, daß das Zurückspringen, welches durch das Wählregister Nr. 6 verursacht wird, stets den Befehlszähler 130 auf GLPE—1 einstellt. Andere Verfahren hierfür können die Ausführung eines geeigneten Sprungbefehls im Block mit selektivem Zugriff vorsehen. .
Andererseits kann die Zurückführung zum selben Punkt nicht bei jedem Durchlauf erwünscht sein. Dies kann dadurch erreicht werden, daß verschiedene Bitpositionen der Wählregister jeweils die Null am weitesten rechts enthalten, oder sonst dadurch, daß verschiedene NSR-Felder verschiedene sprungcodierte Wählregister ansprechen. Andere Programmierungsverfähren dieser Art sind möglich. ■
Erfindungsgemäß ist es möglich, daß einer der Befehle, der während BMSA oder JMSA ausgewählt sind, selbst ein Befehl des TSA-Typs ist. Zum Beispiel kann während einer bitweisen Befragung des Wählfelds einer Folge BMSA, die im Register 156 gespeichert ist, ein Befehl TSA adressiert werden, der weitere Blocks der Allzweckbefehle anspricht. Typischerweise würde der Inhalt eines anderen Wählregisters zu dem anderen Befehlsblock gehören. In einem solchen Fall wird das Register 156 wieder mit
Befehl und bezeichnet eine von 2k möglichen Ausführungsformen, wobei k die Zahl der Bit im Wählfeld ist, das einem einzigen Befehl entspricht. Die verschiedenen möglichen Arbeitsweisen umfassen Einfang - Arbeitsweisen, Unterbrechungs - Arbeitsweisen (beliebiger Stufe), Sperr-Arbeitsweisen, Eingangs-Ausgangs-Arbeitsweisen, Kernspeicher-Schutzarbeitsweisen usf. Im allgemeinen kann diese Codierung benutzt werden, um zu bewirken, daß der Zugriff zu Befehlen durch den Zustand von Einrichtungen bedingt ist, die in der Anlage enthalten sind oder zu ihr gehören. Zusätzlich zur Bezeichnung von Arbeitsweise-Flipflop, die wie oben geprüft werden können, kann der Λ-Bit-Code angeben, daß die Weiterschaltung des Befehlszählers 130 nur stattfinden soll, wenn ein zusätzliches Register oder Unterregister oder eine Kombination von Registern eine vorbestimmte Zahl oder Zahlengruppe enthält. Mit anderen Worten, das A-TBit-Wählfeld kann Prüfungen der Art angeben, die gewöhnlich auf Register bei der Programmsteuerung angewendet werden.
Die Verbindungen zwischen den Bitpositionen 2 und 3 des Steuerwä'hlregisters 156 und dem Decoder 142 für Bit höherer Ordnung und zwischen dem Decoder 142 und einem zugehörigen Register 168 a zeigt eine als Beispiel gewählte Schaltanordnung zur Durchführung der A-Bit-Operation, wenn k gleich 3 ist. In einem solchen Fall wirkt der Decoder 142 als »Byte«-Decoder, wobei die Feststell- und Schiebesteuerschaltung 140 in der .Lage ist, die Wählinformation im Register 156 um k Bit gleichzeitig zu verschieben. -
Eine Bytedecodierung wird auf einem von zwei Wegen eingeleitet: Entweder geben die anfänglichen zwei Bit des Steuerwählregisters 156 an, ob eine Operation in Bitform, Byteform oder Sprungform stattfinden soll, oder ein spezielles Feld der Befehlscode TSA und ESA gibt diese Formen an. Bei der ersten Alternative, die in dem dargestellten System erläutert ist, wird der Inhalt des Steuerwählregisters 156 wie folgt decodiert: Wenn das anfängliche Bit höchster Stellenzahl eine »0« ist, dann wird, wie oben beschrieben, der selektive Zugriff in Sprungform betätigt. Wenn das anfängliche Bit ,höchster Stellenzahl eine »1« ist, dann wird auch die zweite Bitposition befragt. Wenn die zweite Bitposition eine »0« ist, wird der selektive Zugriff in Bitform wie oben beschrieben betätigt, abgesehen davon, daß der Inhalt des Steuerwählregisters 156 um zwei Plätze nach links verschoben wird, bevor BMSA beginnt.
Wenn die zweite Bitposition eine »1« ist (wie auch die erste), dann wird der bedingte selektive Zugriff in Byteform wie folgt in Tätigkeit gesetzt: Ein Byteform-Flipflop 145 wird auf »1« eingestellt. Der Inhalt des Steuerwählregisters 156 wird um zwei Positionen nach links verschoben. Dann werden z. B. die derzeitigen drei Positionen am weitesten links im Register 156 gelesen und der dort gefundene Bedingungscode z. B. wie folgt interpretiert:
000 Unbedingter Zugriff.
001 Überspringen, wenn das zugehörige ' Register 168« eine »1« in der Vorzeichen-Bitposition aufweist. '
010 Überspringen, wenn der Inhalt des angegebenen Indexregisters Null ist.
011 Überspringen, wenn der Inhaltdes angegebenen Indexregisters größer als der Inhalt des zugehörigen Registers ist.
100 Überspringen, wenn das Abtastflipflop 168 b eingestellt ist.
101 Überspringen, wenn das Nachfolgeflipflop 138 für selektiven Zugriff eingestellt ist. .
110 Überspringen, wenn das Überlaufflipflop 168 c eingestellt ist.
111 Unbedingt überspringen.
Wenn die angegebene Bedingung zum Überspringen erfüllt ist, wird der Befehlszähler um »1« weitergeschaltet und der Zugriff gesperrt. Wenn die Überspringbedingung nicht erfüllt ist oder wenn ein unbedingter Zugriff angegeben ist, erhält der vom Befehlszähler adressierte Befehl Zugriff, wird decodiert und ausgeführt. In jedem Fall wird unter dem Einfluß der Schaltung 140 der Inhalt des Registers • 156 um drei Plätze nach links verschoben, wobei die Byteform-Abfrage wieder stattfindet. Frei gemachte Positionen am rechten Ende des Wählfelds im Register 156 werden auf »1« eingestellt, wobei die Beendigung, wie oben für BMSA beschrieben, stattfindet, abgesehen davon, daß das Byteform-Flipflop 145 am Ende des selektiven Zugriffs in bedingter Byteform rückgestellt wird.
Eine andere mögliche Auswählcodierung ist die folgende: Die ersten k Bit (z. B. drei) eines Wählregisters können angeben, wieviele Bits dieses· Re- gisters. für jede Wählstufe benutzt werden sollen. Dies bedeutet z. B., daß ein Wählregister effektiv in kleine Bytes geteilt werden kann, wobei jedes Byte als Sprungbetrag benutzt wird. Bei dem obigen Beispiel haben die »Bytes« die Größe Eins. Andere Codierungen der Wählinformation sind möglich, wobei bekannte Codierungsverfahren benutzt werden (z. B. Codierungen mit veränderlicher Länge).
Varianten der neuen Befehlsarten für deit selektiven Zugriff sind möglich. Insbesondere können Befehle zum Laden, Ändern und Speichern von Wählregistern in der Weise entwickelt werden, wie sie normalerweise für Allzweckregister in Rechenanlagen benutzt werden. Insbesondere sind Wählregister, die entsprechend dem Inhalt irgendwelche andere Register mit den üblichen logischen und arithmetischen Optionen geändert werden, von Nutzen. Ferner ist eine Indexladung und eine Vielfachladung .von Wählregistern zweckmäßig. Die Speicherung oder Aufsparung des Inhalts von Wählregistern ist ebenfalls vorteilhaft. Weitere Formen von »Sprüngen und Ausführen« mit selektivem Zu-' griff umfassen bedingte, indirekte und indizierte Sprünge. ... \ , .-' - . .
Es können auch getrennte Befehle zum Laden der Wählregisterfelder benutzt werden. Ferner ist es möglich, permutierte Ordnungen von Sprungbeträgen und permutierte Ordnungen von Wählfeldern durch Änderung des Wähl- und NSR-Feld-Inhalts unter Verwendung solcher Ladebefehle zu erhalten.
Es kann auch der Inhalt der Wählregister durch Befehle geändert werden, welche die Bit irgendeines Registers der Anlage und irgendeine logische oder arithmetische Funktion angeben. Zum Beispiel kann
dem Inhalt des anderen Wählregisters geladen, während der erste Inhalt des Registers 156 zur zukünftigen Verwendung durch einen Speicherbefehl festgehalten werden kann. Andererseits kann eine automatische Festhaltung des Inhalts des Registers 156 oder des Registers 172 in einem speziellen Nachfolge-Register erfolgen. Um das Auftreten einer derartigen selektiven Zugriffsoperation innerhalb eines selektiven Zugriffszyklus anzuzeigen, wird die Zugriffsform-Steuerschaltung 132 so eingerichtet, daß sie ein Nachfolgeflipflop 138 einstellt. Die 'nachfolgende Beendigung des selektiven Zugriffs zweiter Stufe bewirkt, daß das Flipflop 138 rückgestellt wird. Jedoch bleibt das Flipflop 134 (SA) eingestellt, bis die selektive Zugriffsoperation erster Stufe nachfolgend endet. Weiterhin bewirkt ein Befehl TSA bei einem Wählregister-Indexfeld Null die Aufschiebung des selektiven Zugriffs. Dies, geschieht wie folgt: Wenn der Befehlsdecoder 122 einen Befehl TSA bei einem Wählregister-Indexfeld Null antrifft, weist der Decoder die Steuerschaltung 132 für die selektive Zugriffsform an, das Flipflop 134 (SA) rückzüstellen. Es sei bemerkt, daß eine Rückübertragung von TSA zu einem anfordernden Programm bei einem Wählregister-Indexfeld, das nicht Null beträgt,' einen Wiederbeginn des selektiven Zugriffs bewirkt. Der Zweck dieses Merkmals besteht darin, ein Programm mit selektivem Zugriff in die Lage zu versetzen, ein Teilprogramm in normaler Form anzufordern. ·
Wie vorher erwähnt wurde, können die im Block 150 (Fig. IC) enthaltenen Wählregister mit Hilfe eines Befehls LSR, z. B. (1), geladen werden. In diesem Fall braucht der Befehl des TSA-Typs nur anzugeben, welches Wählregister zu benutzen ist, um die als Beispiel gewählte Anlage selektiv zu steuern. Ein solcher Befehl des Typs TSA ist in (3) dargestellt.
Es gibt Jedoch andere Wege zum Laden der Wählregister 150 mit hoher Geschwindigkeit. Zum Beispiel können die Bit eines speziellen Wählregisters entsprechend den Bit gesetzt werden, die in einer Adresse gespeichert sind, welche im Befehl TSA selbst angegeben ist. Es können auch Bit eines bestimmten Wählregisters entsprechend einem Bitschema gesetzt werden, das im Befehl TSA enthalten ist.
Der hier enthaltene Befehlstyp mit selektivem Zugriff braucht nicht notwendigerweise einen Sprung vom Hauptprogramm zu einer getrennten Gruppe von Allzweckbefehlen enthalten. Der selektive Zugriff kann so gesteuert werden, daß er in bezug auf eine Befehlsgruppe auftritt, die in dem zur Zeit ausgeführten Programm selbst enthalten ist. Dies kann am kürzesten dadurch geschehen, daß eine Kenn-5 oder Wahl-Bitposition für.selektiven Zugriff in den regulären Befehlsformaten reserviert ist. Wenn ein Befehl ausgeführt wird, bei dem diese Bitposition gesetzt ist, beginnt der selektive Zugriff bei der augenblicklichen Einstellung (nach der Ausführung)
ίο des Befehlszählers. Der derzeitige Inhalt des Steuerwählregisters kann dann für die Anfangsstufen des selektiven Zugriffs benutzt werden. Andererseits" könnte ein längeres Wahlfeld im regulären Befehls-' schema angeben, daß der Inhalt vom Wählregister zum Register'156 geleitet werden soll. Dieses längere Feld braucht nur als Wählregister-Markierfeld inter-
. pretiert zu werden, wenn die Kenn-Bitposition für selektiven Zugriff eingestellt ist, so daß das Feld für weitere Verwendung offen bleibt, wenn die Kennposition nicht eingestellt ist.
Die Kennposition für selektiven Zugriff kann während des Betriebs in der selektiven ZugrifTsform mit Vorteil verwendet werden. Dadurch, daß der Befehlsdecoder 122 eine Aufschiebung des· selektiven Zugriffs bewirkt, wenn er einen Befehl decodiert, wobei die Kennposition mit selektivem Zugriff auf Null zurückgestellt ist, ist es möglich, einen Code, der in normaler Form ausgeführt wird, mit einem Code zu verwenden, der selektiven Zugriff erhalten soll. Hierdurch wird eine kürzere Codierung von Wählinformationen ermöglicht. [Die Steuerschaltung . 132 für selektiven Zugriff schiebt den selektiven Zugriff durch Rückstellen des Flipflops 134 (SA) auf, während das Nachfolgeflipflop 138 eingestellt wird.
Danach stellt die Steuerschaltung 132 nach Decodierung eines Programmbefehls bei eingestellter •Kennposition für selektivem Zugriff des Flipflops SA ein und das Flipflop 138 zurück. Hierdurch wird ermöglicht, daß der selektive Zugriff bei dem derzeitigen Befehl fortfährt.]
Ein wichtiges Merkmal des selektiven Zugriffs besteht darin, daß eine Rückführung zu einem anfordernden Programm mit außerordentlich niedrigen, zusätzlichen Kosten ■ vorgesehen werden kann. Zu diesem Zweck ist der Rückführflipflop 136 als Teil der Steuerschaltung 132 für selektiven Zugriff vorgesehen. Dieser Flipflqp wird durch Befehle des Typs »Ausführen mit selektivem Zugriff (ZsS/l)« eingestellt. Ein typischer Befehl dieser Art kann sein: '
ESA THME, INDEX TAG (wahlweise), SELECTION REGISTER 3
(10)
Ein derartiger Befehl befindet sich z. B. in der Adresse SASD (F i g. 3). Er würde eine automatische Rückführung nach SASD + 1 wie folgt ergeben: Dieser Befehl hat genau die gleiche Wirkung wie der. oben beschriebene Befehl TSA mit folgenden Zusätzen:
(a) Bei der obigen Stufe (1) wird das Rückführflipflop 136 eingestellt, (b) Nach Beendigung leitet, wie oben beschrieben, die Schaltung 132 den Inhalt des Rückführ-Adressenregisters 148 zum Befehlszähler 130. Dann wird das Flipflop 136 zurückgestellt. Die Wirkung dieser automatischen Rückführung besteht darin, daß kein Befehl des Typs »Übertragen zur Rückführadresse« notwendig ist, der sonst in jedem Teilprogramm auftreten muß. Die Funktion dieses Befehlstyps wird durch die Interpretation der Wähl- und NSR-Felder des Registers 156 erfüllt.
Zahlreiche andere Abänderungen der oben be-. schriebenen speziellen Verfahren sind möglich. Zum Beispiel kann die Anlage so eingerichtet werden, daß sie innerhalb einer Gruppe von hintereinandergelegenen Allzweckbefehlen, die selektiv Zugriff in Bitform erhalten, hin- und zurückspringt. In diesem Fall wäre das Steuerwählregister 156 ein herkömmliches Schiebe- und Rotierregister, in dem der Inhalt während der Schiebeoperationen erhalten bleibt. Eine weitere 'Alternative besteht darin, mehr als ein Bit des Wählfeldes im Register 156 jeden Befehl einer Allzweckbefehlsgruppe zuzuordnen. In einem derartigen Fall entspricht eine Vielzahl von Bit jedem
der Wert im Wähl- und/oder NSR-FeId irgendeines Wählregisters (oder alternativ des Steuerwählregisters) durch die Bit anderer Register der Anlage vergrößert, vervielfacht, und durch die Funktionen UND, ODER, EXCLUSIVER-ODER verändert werden.
Die Bit-, die Byte- oder die Sprung-Arbeitsweise kann für gewisse Programmierungsarten getrennt angewendet werden. Schließlich besteht die Möglichkeit, die Erfindung in Multiprocessing-Anlagen oder Anlagen mit mehreren Befehlszählern anzuwenden.
Hierzu 2 Blatt Zeichnungen
209 648/10Ϊ

Claims (5)

1 2 Patentansprüche: . 6 Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlcode-
1. Schaltungsanordnung zur Ausführung aus- information eine Sprungarbeitsweiseinformation gewählter Befehle einer Gruppe von in einem enthält, daß die Decodierschaltung (140, 142, Speicher einer Datenverarbeitungsanlage gespei- 5 160, 168, 170) in Abhängigkeit von der in der cherten Befehlen, mit einem Befehlszähler zur Registerschaltung gespeicherten Information den Adressierung der Befehle und einer Befehls- Befehlszähler ohne Zugriff ;zum Speicher (100) schaltungsanordnung, die abhängig vom Inhalt veranlaßt, um einen, angegebenen Betrag auf des Befehlszählers die Befehle aus dem Speicher einen Wert zu springen, der sich auf einen geliest und ausführt, gekennzeichnet durch io wählten Befehl der Gruppe bezieht, und daß der eine Schaltung (106, 115, 117, 152, 154) zum Decodierschaltung eine Einrichtung (168 a) zuge-Zuführen einer vorgegebenen Auswählcodeinfor- ordnet ist, die in Abhängigkeit von einem bemation vom Speicher (100) zu einer Register- stimmten Teil der Sprungarbeitsweisen Inforschaltung (150, 156), wobei die Auswählcode- mation feststellt, ob der Sprungbetrag unbedingt information bestimmt, welche der gespeicherten 15 oder bedingt dem Befehlszähler zuzuführen ist Befehle der Gruppe auszuführen sind, und eine und, für den Fall, daß die Zuführung bedingt Decodierschaltung (140, 142, 160, 168, 170), die erfolgen soll, feststellt, ob die Bedingung erfüllt in Abhängigkeit von der Auswählcodeinformation ist oder nicht.
in der Registerschaltung (150, 156) ohne Zugriff
zum Speicher (100) den Befehlszähler (130) so 20
steuert, daß nur die ausgewählten Befehle der
Befehlsgruppe adressiert werden. Die Erfindung betrifft eine Schaltungsanordnung
2. Schaltungsanordnung nach Anspruch 1, da- zur Ausführung ausgewählter Befehle einer Gruppe durch gekennzeichnet, daß die Registerschaltung von in einem Speicher einer Datenverarbeitungs-(156) eine Arbeitsweise-Anzeigestufe enthält, 25 anlage gespeicherten Befehlen mit einem Befehlsferner eine Einrichtung, die in Abhängigkeit von zähler zur Adressierung der Befehle und einer Beder Arbeitsweise-Anzeigestufe eine Datenangabe fehlsschaltungsanordnung, die abhängig vom Inhalt einer vorbestimmten Art speichert, um eine Ab- des Befehlszählers die Befehle aus dem Speicher liest frage und Verschiebung der Angaben in einer und ausführt.
ersten Gruppe der Registerstufen einzuleiten, und 30 Verschiedene Arten bekannter Datenverarbeitungsdie in Abhängigkeit von der Arbeitsweise- anlagen besitzen die Fähigkeit, datenabhängige Anzeigestufe eine Datenangabe einer anderen Untergruppen von Allzweckbefehlsgruppen auszuvorbestimmten Art speichert, um die in einer wählen und auszuführen. Dabei kann die Auswahl zweiten Gruppe der Registerstufen gespeicherten der gewünschten Untergruppe von Befehlen z. B. Angaben als einen mit Vorzeichen versehenen 35 durch ein einziges, verhältnismäßig langes Unter-Sprungbetrag zu interpretieren. programm durchgeführt werden, das eine vollständige
3. Schaltungsanordnung nach Anspruch 1, da- Allzweckbefehlsgruppe und zusätzlich Prüf- und durch gekennzeichnet, daß die Auswählcode- Sprungbefehle enthält. Das Hauptprogramm der Aninformation für jeden Befehl der Gruppe k Bit lage fordert das Unterprogramm an, und dessen Beumfaßt und daß eine Einrichtung (144, 145) vor- 40 fehle veranlassen die Adressierung und Prüfung begesehen ist, die in Abhängigkeit von der in der stimmter Daten im Speicher. Je nach dem Ergebnis Registerschaltung (156) gespeicherten Informa- dieser Prüfungen werden bestimmte Befehle des tion die den Befehlen der Gruppe jeweils züge- Unterprogramms übersprungen und andere zur ordneten Λ-Bit-Gruppen nacheinander decodiert, Durchführung ausgewählt. Auf diese Weise wird eine um jeden Befehl der Gruppe nach einer von 45 bestimmte Untergruppe von Befehlen während jedes 2k möglichen Arbeitsweisen zu verarbeiten. Durchlaufs des Untergrogramms zur Ausführung
4. Schaltungsanordnung nach Anspruch 1, da- ausgewählt. Durch Änderungen der zu prüfenden durch gekennzeichnet, daß die Auswählcode- Daten im Speicher und durch wiederholtes Aninformation k Bit umfaßt, die jedem der Befehle sprechen des Unterprogramms können dann verzugeordnet sind und in bedingter oder unbeding- 5° schiedene Untergruppen der Allzweckgruppe von ter Weise angeben, ob der zugehörige Befehl Befehlen ausgewählt werden. Jede auf diese Weise adressiert und ausgeführt werden soll oder nicht, ausgewählte Untergruppe von Befehlen kann irgend- und gegebenenfalls nach welcher Arbeitsweise eine der verschiedenen möglichen Kombinationen die Ausführung erfolgen soll, und daß die De- von Befehlen sein, die in der vollständigen Allzweckcodierschaltung (140, 142, 160, 168, 170) in Ab- 55 gruppe enthalten sind. Bei einer solchen Datenhängigkeit von der Auswählcodeinformation aus Verarbeitungsanlage geht jedoch viel Zeit verloren, dem Speicher (100) den Befehlszähler (130) weil die durchzuführenden Prüfungen jeweils minsteuert und die Arbeitsweise für die Ausführung destens einen Arbeitszyklus verbrauchen. Anders jedes vom Befehlszähler adressierten Befehls an- gesagt, auch die nichtauszuführenden Befehle beangibt. 60 spruchen Arbeitszyklen.
5. Schaltungsanordnung nach Anspruch 1, ge- Bei anderen bekannten Datenverarbeitungsanlagen kennzeichnet durch eine Einrichtung (169,168 a), ist eine Vielzahl von einzelnen, relativ kurzen Unterdie die Auswählcodeinformation auf von ihr an- Programmen gespeichert, die einige der verschiegegebene Bedingungen prüft und den Befehls- denen möglichen, obenerwähnten Untergruppen von zähler (130) so steuert, daß ausgewählte Befehle 65 Befehlen darstellen. Die Prüf- und Sprungbefehle der Gruppe adressiert werden, wenn die jeweilige sind im Hauptprogramm selbst enthalten. Wenn im Wahl als unbedingt angegeben ist oder wenn die Hauptprogramm ein Prüfbefehl auftritt, wird die zugehörige Bedingung erfüllt ist. Prüfung durchgeführt, und dann erfolgt je nach der

Family

ID=

Similar Documents

Publication Publication Date Title
DE1928202B2 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE2258460B2 (de) Programmierbare Steueranordnung
DE2339636A1 (de) Programmsteuereinrichtung
DE1255356B (de) Steuervorrichtung fuer taktgesteuerte Rechenmaschinen
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE1499206B2 (de) Rechenanlage
DE1200578B (de) Datenverarbeitungssystem
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE1549583C (de) Schaltungsanordnung zur Ausführung ausgewählter Befehle einer Gruppe von in einem Speicher einer Datenverarbeitungsanlage gespeicherten Befehlen
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE1549583B2 (de) Schaltungsanordnung zur ausfuehrung ausgewaehlter befehle einer gruppe von in einem speicher einer datenverarbeitungsanlage gespeicherten befehlen
DE1107432B (de) Elektronische Rechenmaschine
DE2717244C2 (de)
DE1474017C3 (de) Datenverarbeitungsanlage
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE1474090B2 (de) Datenverarbeitungsanlage
DE1449540B2 (de) Digitalrechner
DE2735874C2 (de)