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 BefehlenInfo
- 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
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
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-'
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
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
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.
209 648/10Ϊ
Claims (5)
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 | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE2258460B2 (de) | Programmierbare Steueranordnung | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE1255356B (de) | Steuervorrichtung fuer taktgesteuerte Rechenmaschinen | |
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 | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
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 |