DE2226669A1 - Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung - Google Patents
Verfahren und vorrichtungen fuer programmverzweigung und registeradressierungInfo
- Publication number
- DE2226669A1 DE2226669A1 DE2226669A DE2226669A DE2226669A1 DE 2226669 A1 DE2226669 A1 DE 2226669A1 DE 2226669 A DE2226669 A DE 2226669A DE 2226669 A DE2226669 A DE 2226669A DE 2226669 A1 DE2226669 A1 DE 2226669A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- address
- gate
- bit
- signal
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/324—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
Description
DIPL.-ING. KLAUS BEHN
DIPL.-PHYS. ROBERT MÜNZHUBER
8 MÜNCHEN 22 Wl DENMAYERSTRASSE β
TEL. (0811) 22 25 30-29 6192
31. Mai 1972 A Ö372 HD/De
Firma SANDERS ASSOCIATES, INC., Daniel Webster Highway, South, Nashua, New Hampshire/U.S. A.
Verfahren und Vorrichtungen für Programm'verzweigung und
Registeradressierung
Diese Erfindung bezieht sich auf neue und verbesserte Verfahren und Vorrichtungen für die Signalverarbeitung,
insbesondere auf ein digitales Steuersystem, das relativ billig ist aber doch einen gespeicherten Programmablauf
verwendet.
Eine die Erfindung, verwirklichende Vorrichtung kann
z.B. benutzt werden, um die Übertragung von Daten und Steuerinformatiorien
zwischen zwei oder mehreren digitalen Einrichtungen zu steuern. Eine dieser Einrichtungen kann z.B.
ein Mehrzweckcomputer sein, und die anderen Einrichtungen können Datenanzeigeeinrichtungen sein, wie etwa Kathodenstrahlröhren
CRT")-Bildgeräte, Drucker und Dateneingangsoder Speichervorrichtungen, wie etwa Tastaturstationen, Mag-
- 2 2 0 9882/0992
netbands pe icher und dergleichen. Als eine typische Anwendung kann ein Manual-Operator wünschen, Daten in den Computer einzugeben
und diese Daten zum Zwecke der Sichtung vor der Übertragung in den Computer auf ein CRT-Bildgerät zu geben. Daneben
kann ein Manual-Operator auch den Wunsch haben, Daten
zu zeigen, die schon aufgenommen wurden z.B. auf einem Mag τ netband oder im Speicher eines Computers), um diese Daten zu
sichten und/oder zu ändern.
Die Steuerung der meisten Datenübertragungen wie diejenigen, die in den vorangehenden Beispielen erforderlich
waren, wurden in der Vergangenheit durch digitale Steuergeräte ausgeführt. In einem einen Computer, ein CRT-Bildgerät
und eine Tastatur enthaltenden System ist daher ein digitales Steuergerät speziell dafür vorgesehen, um die Tastatur
an das CRT-Blldgerät und um beide an den Computer anzuschließen. Das Steuergerät arbeitet als geeignetes elektrisches
und logisches Zwischenglied zwischen allen drei Vorrichtungen, genauso wie es für die genaue Steuerung des CRT-Bildgerätes
und der Tastatur sorgt um den Computer für andere Aufgaben freizuhalten. Solch ein Steuergerät ist jedoch eine
Spezialzweckvorrlchtung,. die speziell nur für Datenübertragungen zwischen der Tastatur, dem CRT-Bildgerät und dem Computer
vorgesehen ist. Die Hauptnachteile dieses "liartdraht"-
209882/09 92
Zuganges sind die anfänglichen Konstruktionskosten, sowie
die Schwierigkeiten, die Konstruktion so abzuändern, daß sie auch für zukünftige Erfordernisse verwendet werden kann.
Es wurde vorgeschlagen, einen allgemeineren Mehrzweckaufbau
für digitale Steuergeräte zu verwenden. So wird z.B. auf den Seiten 77 bis 91 in "Proceedings -- Fall Joint Computer
Conference", 1965» ein mikroprogrammierbarer Steuergerätaufbau
beschrieben. Dieser Steuergerätaufbau verwendet ein Mikroprogramm, das in einem Steuerspeicher gespeichert
ist, und das jene Routinen enthält, die notwendig sind, um die Steuerfunktionen für die Datenübertragung von einer Vorrichtung
auf die andere in einer einzelnen Systemkonfiguration zu übertragen. Um das Steuergerät für eine andere Systemkonfiguration
zu verwenden, braucht nur das Mikroprogramm gewechselt werden. Dieses Steuergerät benutzt jedoch
ziemlich große Befehlswortformate (5^ Bits), was einen relativ
hohen Komponentenzähler (Befehlsregister und Dekodierer) und eine große Anzahl von Verbindungsleitungen erfordert. Es
ist hinzuzufügen, daß der Komponentenzähler und die Anzahl der Verbindungsleitungen eine Parallele zu den Registerverbindungen
und den arithmetischen und logischen Schaltungen bilden. Das Ergebnis ist ein relativ teures Steuergerät, das
nicht den Notwendigkeiten einer anwachsenden Anzahl von kleinen Benutzern entgegenkommt, die die hohen Kosten für eine
20988?/09 9 2
Anschlußvorrichtung nicht aufbringen können. Zusätzlich dazu
ist der große Komponentenzähler und die große Zahl von Verbindungsleitungen und Speicher-Ausgabeleitungen mit dem
gewohnten Aufbau von integrierten Schaltungen unvereinbar,
Aufgabe dieser Erfindung ist die Schaffung eines neuen
und verbesserten programmierbaren digitalen Steuersystems, das in einem großen Anwendungsbereich eingesetzt werden kann.
Eine weitere Aufgabe ist die Schaffung neuer und verbesserter Verfahren und Vorrichtungen für die Verzweigung
von Speicheradressen.
Eine weitere Aufgabe ist die Schaffung einer programmierbaren Zentraleinheit, in der eine vielstufige Einzelunterbrechungs-Hardware
durch einen Befehl zum Prüfen und zum Verzweigen auf Einzelunterbrechungen vereinfacht wird.
Eine weitere Aufgabe ist, eine registeradressierbare Zentraleinheit zu schaffen, die eine indirekte Registeradressierung
verwendet um die Anzahl der adressierbaren Register zu vergrößern ohne daß die Große des Register adressierenden Feldes zunimmt.
- 5 -20 9882/0992
Das Verzweigungsverfahren der vorliegenden Erfindung schließt eine logische Vergleichsstufe und eine Adressen er-'zeugende
Stufe ein. Auf der logischen Vergleichsstufe, werden gleich geordnete Bits eines Paares von N Bit Operanten
nach der Identität der Bit-Werte einer ersten binären Bedeutung verglichen. Im gezeigten AusfUhrungsbeispiel hat dieser
Vergleich die Form einer logischen AND-Funktion, die einen wahren Wert* oder eine binäre 1 nur dann herstellt, ,wenn
seine Eingangssignale/ die gleich geordneten Bits der beiden Operanten, wahr oder 1 sind. Auf der Programmadressen
erzeugenden Stufe wird die Programmadresse der unr 1 'der normale Befehlzykluszuwachs) und Y vergrößerten Adresse des
Befehlsstromes gleichgemacht, wobei Y gleich N minus der Ordnung der am niedrigsten angeordneten Bitposition ist, in
welcher Identität auftritt und wo die Bitordnungen von Ό bis N-I reichen. Wenn z.B. die Identität in der 2°ten Bitposition
auftritt, ist Y=N, selbst wenn die Identität auch an h8her angeordneten Bitpositionen auftritt.. In. dem gezeigten
seriellen· Maschinen-AusfUhrungsbeispiel, wird der Vergleichsschritt
bitseriell ausgeführt. Die erzeugende Stufe enthält jene Stufe, auf der ein Strom von Y Impulsen erzeugt
wird, der dann benutzt wird, um das Befehlsadressenregister des Computers um den Wert von Y zu vergrößern.
- 6 2 0 9 8 8 ? I Π 9 9 2
Gemäß dem Merkmal der indirekten Registeradressierung
der Erfindung werden die Inhalte eines direkt adressierbaren Registers durch einen indirekte Registeradressen erzeugenden
Block interpretiert, der selbst direkt adressierbar ist. Der indirekte Adressierungsblock enthält einen Mehrfachkoppler,
um verschiedene Teile des Inhalts des direkt adressierbaren Registers an einen Dekodierer mehrfach anzukoppeln,
der die indirekten Adressierungssignale erzeugt. Verschiedene direkte Adressensignale, eines fUr jeden verschiedenen
Teil, steuern den Mehrfachkoppler.
Mehrere AusfUhrungsbeispiele·der Erfindung sind in der
Zeichnung dargestellt und werden im Folgenden näher beschrieben ... Es zeigen:
Fig. 1: ein Blockschema, das den Aufbau eines Computers
zeigt, in dem die Programmverzweigungsund Registeradressierungsmerkmale der vorlie- —
genden Erfindung verwendet werden können;
Fig. 2: ein Blockschema, das die Verbindungen der adressierten
Register mit den Leitungen der Computerzentraleinheit der Fig. 1 zeigt;
Fig. 3: ein Steuerdiagramm, das den Befehlszyklus des
Computers zeigt;
Fig. 4: ein Blockschema, das die zeitliche Ablaufverkettung
des Computers zeigt;
Fig.5A Blockbilder der Befehlssätze des Computers; bis 5G
Fig. 6: ein zusammengesetztes Schema, das zeigt, in welcher Weise die Fig. 6a und 6b zusammengesetzt
werden sollen;
Fig.6A ein Blockschema der Datenverarbeitungseinheit und 6b und der Befehlsadressierungsvorrichtung des
Computers;
Fig. 7: teils ein Blockschema, teils ein logisches Schema, welche die Verarbeitungsvorrichtung
des Computers für die Unterbrechung zeigen;
Fig. 8: teils ein Blocksehema und teils ein logisches
Schema, welche die Teile der Zentraleinheit des Computers zeigen, die für die Verzweigungsmerkmale der vorliegenden Erfindung benutzt
werden;
Fig. 9: teils ein Blocksehema und teils ein logisches Schema, welche das Merkmal der indirekten
Adressierung der vorliegenden Erfindung zeigen;
Fig.10: teils ein Blocksehema und teils ein logisches
Schema, welche ein exemplarisches Register zeigen, das in dem Computer verwendet werden
kann; und
Fig. 11.: teils ein Blocksehema und teils ein logisches
Schema eines exemplarischen Befehlsadressenregisters, das in dem Computer verwendet werden
kann.
Das Verzweigungsverfahren und die Vorrichtungen der vorliegenden Erfindung können in jedem geeigneten speicherprogrammierten
Rechner verwendet werden, in dem es erforderlich ist, Programmverzweigungen auszuführen. Um jedoch ein Beispiel
und eine vollständige Beschreibung zu geben, werden das Verzweigungsverfahren
und die Vorrichtungen der vorliegenden Erfindung an einem Ausführungsbeispiel erläutert, das einen
speicherprogrammierten Rechner mit dem in Fig. 1 gezeigten
209887/099?
allgemeinen Aufbau einschließt. Der in Pig. I gezeigte
Computer enthält eine Zentraleinheit 10, die so angeordnet ist, daß sie Programmbefehle von dem Steuerspeichersystem 11
empfängt und mit einem Satz von drei Serienverbindungen A, B und D in Verbindung steht, die mit den Registern einer adressierbaren
Registerreihe 12 verbunden sind. Wie in den beiden Figuren 1 und 2 gezeigt ist, sorgen die Α-Verbindung und die
B-Verbindung für den Dateneingang in eine arthmetische und
logische Einheit ''ALU) 13, die in der Zentraleinheit 10 enthalten
ist, und die D-Verbindung empfängt die Ausgangssignale
von ALU. Jedes der Register 12 ist von einem A-Wählsignal
(A Sei) und einem B-Wählsignal (B Sei) aufrufbar, welche
Signale von der Zentraleinheit in Abhängigkeit von den Programmbefehlen ausgegeben werden, so daß ihre Inhalte seriell
auf die Α-Verbindung oder die B-Verbindung geleitet werden, wie es jeweils gerade der Fall sein mag. Das A-Sel-Signal
wird auch benutzt, um den ALU-Output seriell von der D-Verbindung in das Register zu führen, das seinen Inhalt in die
Α-Verbindung geführt hat. Das heißt, das A-Wahlregister ist . zwischen der D-Verbindung und der Α-Verbindung angeordnet,
wie in Fig. 2 gezeigt ist. Wie weiter in Fig. 2 gezeigt ist, ist ein B-Wahlregister angebracht, das seinen Inhalt sowohl
in die B-Verbindung als auch in seinen eigenen Eingang zurück-, leiten kann.
. 9 . 20 9 88?./0 392
Die Register '12 sind so angeordnet, daß ihre Eingänge
und/oder Ausgänge parallel zu einer Anzahl von Punktionseinheiten l4 und zum Steuerspeichersystem 1] sind. Obwohl die
Einheiten 14 Verschiedene Identitäten für verschiedene Anwendungen
annehmen können, stellen die dargestellten Identitäten die Anordnung für einen typischen Bildgerätanschluß
dar. In einer solchen Anordnung ist eine Tastatureinheit 14-2 für die Eingabe und.die Korrektur von Daten angebracht,
die von einer Kathodenstrahlröhren-ίCRT)einheit 14-3 geführt
wird. Eine Signalumsetzereinheit l4-l ist angeordnet um Daten
über einen Datenkanal von und zu einer entfernt angeordneten Datenbank zu Übertragen und/oder zu empfangen. Die
Anordnung für die Bildgerätanschltisse kann auch andere Input/Output
''l/O)-einheiten 14-4 wie etwa Drucker, Magnetband
oder Lochstreifeneinheiten, Magnetplatteneinheiten· und dergleichen enthalten. Eine Unterbrechungseinheit 14-5 ist auch
vorgesehen, um die Unterbrechungszeichen zu verarbeiten, die von der Tastatur, vom Signalumsetzer und anderen I/O-Einheiten
auf die Unterbrechungsverbindung (INT BUSS) geleitet worden
sind, um die Zentraleinheit 10 zu veranlassen, die Funk-»
tionseinheiten 14 in einer ordentlichen Weise zu bedienen.
Einige der Register 12 werden für eine Adressierung des Steuerspeichersystems 11 benutzt. Eines dieser Adressierungsregister
wird als Befehlsadressenregister (IARj bezeichnet.
Der Steuerspeicher 11 kann entweder nur ein Lesespeicher ''ROM,) oder ein Lese-Schreib 1R-Wj Speicher oder
20 988 2/0992 ' ' . io -
eine Kombination von beiden sein. In dem Fall, in dem das
Speichersystem 11 einen R-W Speicher enthält, kann eines der Register 12 als Datenspeicherregister verwendet werden.
Wie oben erwähnt, antwortet die Zentraleinheit 10 auf die vom Speicher 11 empfangenen Programmbefehle, und gibt
die A-SeI und B-Sel-Registeradressierungs Signale weiter.
Wie kurz erklärt werden soll, stellt die Zentraleinheit auf einer Mikroverbindung 1IiB) ein Mikroauftragsfeld her,
das für eine direkte Steuerung entweder des Registers 12 oder der Einheiten l4 verwendet wird. Zusätzlich sorgt die
Zentraleinheit 10 fUr System-Zeitsignale, die den betrieb der Register 12 steuern.
Die Weise, in der die Zentraleinheit 10, der Speicher 11, die Register 12 und die Einheiten 14 sich gegenseitig
beeinflussen, ist aus dem Zeitdiagramm des Systems ersichtlich, das in Fig. 3 gezeigt ist, Wie dort gezeigt ist, wird
jeder Befehlszyklus in 16 Zeitspalten eingeteilt, die mit tO bis tl5 bezeichnet sind. Der Befehlsabruf wird in der Zeit
von tO bis t5 ausgeführt, und die Befehlsausführung wird in
der Zeit von t7 bis tl4 ausgeführt. Die Verbindungswahlsignale
^A-SeI und B-SeI) treten in der Zeit von t6 bis tl5 auf,
um die BefehlsausfUhrungsperiode zu überlappen. In der Zeit
-U-
209387/0991
• 222666S
- li -
von t7 bis tl4 wird ein Zeitsignal TRA erzeugt, um die
adressierten Register für eine serielle Datenübertragung auf der Α-Verbindung oder B-Verbindung zu bedingen. Das
Befehlsadressenregister (IAR) wächst während des Zeitabschnittes t6 um 1 (IAR+l) an. Der Zeitabschnitt tl5 wird
für den Test des Programmleerablaufes YIAR+2) benutzt. Der
Zeitabschnitt tlO wird verwendet um die externen Leerabläufe
zu testen ''das heißt, Programmleerabläufe, die von den Funktionseinheiten 14 verursacht werden). Der Zeitabschnitt
t5 wird schließlich benutzt, um die Unterbrechungszeichen zu probieren. Wenn ein Unterbrechungszeichen gesetzt
werden soll, wird die normale Ausführung eines Strombef'ehles
in der Zeit von t6 bis tl5 verhindert, damit die nicht angewachsenen Inhalte von IAR durch Einschieben in einen IAR-Wartestapel
aufbewahrt werden und um den IAR-Inhalten den
Wert Null zuzuteilen. Der Wert Null stellt die Adresse im Speicher 11 des Anfangsbefehles einer Unterbrechungs Subroutine
dar.
Fig. 4 zeigt die zeitliche AbIaufverkettung des Systems,
in dem die Zeitsignale 0 und J0 des Grundsystems aus
dem Ausgang einer ersten Impulsteilerschaltung l6 hergeleitet werden, die von einem Oszillator 15 betrieben wird. Ein
zweiter Impulsteiler 17 und ein Dekodierer l8 antworten auf
das 0 Zeitsignal, indem sie einen Satz von 16 Zeitimpulsen
20 R R 8?/0992 - 12 -
liefern, von denen jeder während eines verschiedenen Zeitabschnittes
to bis tl5 auftritt. Diese Zeitsignale sind in den Zeichnungen und im Rest dieser Beschreibung als to
bis tl5 bezeichnet. Das TRA-Signal stammt aus dem Ausgang
einer OR-Schaltung, die die Zeitsignale t7 bis tl4 einer
logischen OR-Abfrage unterzieht. Das Ausgangssignal des
OR-Gatters 19a wird durch ein AND-Gatter 19b geleitet, um während der Ausführung eines Mikrobe fehles <"Fig. 5c und 5d)
und während der Unterbrechungszyklen, wenn ein Unterbrecherzelchen
verarbeitet wird, die Erzeugung eines TRA-Signales zu verhindern. Dies ist in der Fig. 4 durch die Bool'sche
Ausrücke MIC + INT symbolisch gezeigt.
In einem beispielhaften Aufbau eines Computersystems beträgt die Datenwortlänge 'und daher die Registerlänge)
8 Bits und die Befehlswortlänge 16 Bits. Diese Wortlängen werden für den Restteil der Beschreibung angenommen. Auf
diese Weise werden 8 Bits eines adressierten Registers während einer der aufeinanderfolgenden TRA-Zeitabschnitte t7 .
bis tl4 seriell hinausgeschoben.
Das allgemeine Befehlsformat ist in Fig. 5a gezeigt,
und schließt einen OP-Code oder ein Feld in den .Bitpositionen 12 bis 15 ein 'die bedeutendsten Positionen). Die übrigen
12 Bits Position 0 bis 11) werden für Registeradressierung, Daten, Steuerung und dergleichen verwendet. Von den
209882/0992
l6 möglichen OP-SchlUsseln gehören 7 zu unmittelbaren Befehlen,
7 zu Register-Register-Befehlen, einer zur Familie der Mikroaufträge und der Verbleibende zur Familie der erweiternden
OP-Schllisselbe fehle.
Der Teilsatz von 7 unmittelbaren Befehlen ist durch eine
Null in der Bitposition 15 festgelegt, wie es in Fig. 5b
durch das unmittelbare Befehlsformat gezeigt ist. Die 7 unmittelbaren Befehle arbeiten über ein Register, das durch
das A-FeId in den Bitpositionen H bis 11 angegeben ist, und über eine Konstante, die in dem Datenfeld in den Bitpositionen
0 bis 7 gespeichert ist. Diese Operationen können z.B. AND, OR, ADD, COMPARE, LOAD, MASK AND SKIP, und LOAD STACK einschließen.
Die Mikroauftragsfamilie der Befehle ist durch einen nur Nullen enthaltenden OP-Code gekennzeichnet, wie durch
die Formate in den Fig. 5c und 5d gezeigt ist. Diese Befehle
sind für die Verwendung als mikroprogrammierbare Befehle mit den Bitpositionen 0 bis 7 vorgesehen, die unmittelbar
die interne Zentraleinheit oder externe I/O-Vorrichtungsfunktionen
steuern. Wenn das A-FeId nur Nullen enthält, bezeichnet der Jüel'ehl einen internen Zentraleinneits-Mikroaufruf.
Wenn in irgendeinem Teil des Α-Feldes eine 1
209882/0992
ist, ruft das A-FeId ein Gerät und/oder ein Geräteregister
auf, von dem die Bits in den Positionen 0 bis 7 betätigt werden. Die Bits in den Positionen 0 bis 7 können daher von
einem Systemkonstrukteur für die Mikroprogrammierung eines Zusatzgerätes verwendet werden. Dies sind die Signale, die
an der AiB-Verbindung, die in Fig. 1 gezeigt ist, auftreten.
Die erweiterte OP-Untermenge der Befehle ist durch einen
OP-Code 1000 festgelegt, wie in Fig. 5b gezeigt ist. Das
A-FeId erkennt, welches der Register 12 betätigt werden muß.
Die Bits in den Positionen 0 bis 7 werden verwendet, um anzugeben, welche Operation ausgeführt werden soll. Diese
Befehlsfamilie ist nützlich, um die Anzahl der Operationen, die von dem Befehlssatz ausgeführt werden können, auszudehnen
oder zu vergrößern.
Die Wichtigkeit der Register-Register-(R-Rj Familie
der Befehle besteht in der vorliegenden Erfindung darin, v
daß diese einen Masken- und einen Verzweigungs-Befehl enthält, der in dem neuen Verzweigungsverfahren und in den
Vorrichtungen der vorliegenden Erfindung benutzt wird. Wie
in Fig. 5f gezeigt ist, ist die R-R-Untermenge durch eine
1 in der Bitposition 15 und durch eine oder mehrere len in den Positionen 12 bis 14 definiert. Die durch den OP-Code
- 15 209887/099^
vorgeschriebene Funktion arbeitet im allgemeinen mit den
Inhalten der durch das A-FeId (Position 8 bis 11) und B-FeId
(Position 4 bis 7) bestimmten Register. Zusätzlich stehen die Bits in den Positionen 0 bis 3 für eine Umsteuerung
der R-R-Grundbefehle zur Verfügung. Die R-R-Grundoperationen
schließen AND, EXCLUSIVE OR, MASK AND BRANCH, COMPARING BRANCH, ADD, LOAD, LOAD 3TACK ein. -
Die R-R Umsteuerungsbitpositionen 0 bis 3 werden verwendet, um ein Paar zweier Bit-Unterumsteuerungsfelder zu
schaffen. Diese Unterumsteuerungsfelder können für die Angabe von Leerbefehltests und komplementäre Operationen verwendet
werden. Für die vorliegende Erfindung ist das Umsteuerungsfeld 0100 von Interesse, welches bestimmt, daß die Ope*
ration über das Einserkomplement der Daten in der B-Verbindung
ausgeführt wird.- Das heißt, die Daten in der B-Verbindung
müssen umgekehrt werden.
Der MASK und BRANCH (MBRj Befehl wird, wie in.Fig. 5G
gezeigt ist, von dem OP-Code 1011 identifiziert. Die Ausführung des MßR-Befehls erfordert M), daß die Inhalte des
A-Wahlregisters maskiert oder mit den Inhalten des B-Wahl- '
registers logisch durch eine AND-Funktion verbunden werden, um die Bits seriell nach einer 1 zu prüfen, und 2) daß beim
Auftreten einer logischen 1 eine bis zu B Wegen aufweisende
209882/0992
Verzweigung bewirkt wird, wobei die Inhalte des A- und B-Wahlregisters ungeändert bleiben. Wenn das B-PeId nur
Nullen und das BC Feld 01 'Komplement zu l) enthalten,
dann gehen alle Nullen durch die B-Verbindung und werden in ALU umgekehrt, so daß der Vergleich oder die Maskenoperation
nur mit len gemacht wird.
Gemäß dem Verzweigung,,=; «-ur wahren der vorliegenden
Erfindung wird der MBR-Befehl benutzt um eine relative
Programmverzweigung von bis zu N + 1 Adressenplätzen weg von den Adressen der Strom- oder MBR-Befehle zu bewirken,
worin N die Bitzahl in einem Datenoperanten ist (N = 8 im dargelegten Beispiel). Der Eingang des MBR-Befehles verursacht
einen logischen Vergleichsschritt, bei dem gleichgeordnete Bits von N-Bit-Operanten im A- und B-Wahlregister
nach der Identität der Bitwerte einer ersten binären Bedeutung verglichen werden. Im gezeigten AusfUhrungsbeispiel
hat dieser Vergleich die Form einer logischen AND-Funktion, die nur dann einen wahren Wert oder eine 1 herstellt, wenn
sein Input (die gleichgeordneten Bits der beiden Operanten) wahr oder 1 sind. Beim nächsten Schritt werden Programmadressen
erzeugt, wobei die Programmadresse der um 1 und um Y (lAR+l+Y.) vermehrten Adresse des Strombel'ehles 'inhalt von
IAR) gleichgemacht wird, wo Y gleich N minus der Ordnung der am niedrigsten angeordneten Bitposition ist/ in der
209882/0992 -17-
Identität eintritt, und wo der Bitgrad von 0 bis N-I reicht.
So ist, wenn Identität in der 2°ten Bitposition auftritt, Y=N, selbst wenn die Identität auch bei höher angeordneten
Bitpositionen auftritt.
In dem gezeigten seriellen Rechenanlagen-Ausführungsbeispiel
wird der Vergleichsschritt bitserie.ll ausgeführt. Der erzeugende Schritt schließt einen Schritt ein, bei dem
ein Strom von Y-Impulsen erzeugt wird, die dann verwendet
werden um IAR um einen Wert von Y zu vergrößern. In (IAR+
1 + Y) wird der Paktor 1 durch die normale Vergrößerung von
IAR während eines Befehlszyklus hervorgerufen (Zeitabschnitt 6 im vorliegenden Beispiel). In anderen AusfUhrungsbeispielen
(z.B. Bitparallelen, Wort-Serien-Datenverarbeitungsanlagen)
kann der Vergleichsschritt parallel ausgeführt werden. Der erzeugende Schritt stellt dann einen Y-Wert her, der den vergrößerten
IAR-Inhalten (IAR+l+Y IAR) hinzugefügt wird.
Der MüR-Befehl kann in jeder Programmroutine eingesetzt
werden, in der es gewünscht ist, eine Programmverzweigung auszuführen. Die Maskierungsinformation (B-Verbindungsdaten)
muß einem B-Register vorgeladen werden, wobei das Bitmuster der Maske sowohl linsen und Nullen einschließt. Is ist jedoch kein Vorladen notwendig, wenn das
Bitmueter der Maske nur linsen enthält. Dies ist eine Folge
2Ο98β?/Π992
- "HJ -
des nur Nullen enthaltenden B-Feldes des MBR-Befehles, der
lauter Nullen in der B-Verbindung verursacht, die im ALU durch ein Einser-Komplement in Abhängigkeit vom OlBC-Feld
(Fig. 5G; zurückverwandelt werden.
Die zu maskierende A-Registerinformation wird vor dem Eingang des MBR-Befehles geladen. Dieses Laden kann z.B.
als Ergebnis einer vorhergehenden Operation intern vor sich gehen. Daneben kann z.B. die zu maskierende A-Information
alternierend extern geladen werden, wenn die A-Information diskrete Unterbrechungszeichen darstellt, die von verschiedenen
Funktionseinheiten 1Λ über die INT-Verbindung (Fig. T)
gesetzt werden.
Der Gebrauch eines MBR-Befehles in einer Unterbrecher^
Subroutine ist besonders anziehend, da sich daraus eine besonders einfache Vorrichtung für eine Unterbrechungsverarbeitung
ergibt.
Demgemäß wird die Verzweigungsvorrichtung der vorliegenden
Erfindung an einem Unterbrecher-Anwendungsbeispiel gezeigt und beschrieben.
xn den Fig. 6A und dB, die gemäß der Fig. 6 zusammengesetzt
gehören, ist die Zentraleinheit 10, da3 Steuerspeieh«reystem
ll und die Unterbrechereinheit 1*U5 mit einer
20 988 2/0992
- 19 - "
Anzani von Blöcken, die bekannte Schaltungen enthalten,
welche durch daran angelegte zweistufige elektrische Signale betrieben werden, ausführlicher gezeigt. Wenn das Signal
auf einer Stufe (z.B. der hohen Stufe) ist, stellt es die binäre Ziffer 1 dar, und wenn es auf einer anderen Stufe
ist, stellt es die binäre Ziffer 0 dar. Zur Vereinfachung
ist es auch manchmal eher angebracht festzustellen, daß eine 1 oder eine 0 am Block oder an der Stufe angelegt wird, als
zu sagen, daß ein elektrisches Signal am Block oder an der logischen Stufe angelegt 1st.
Der Dekodierer, der Flip-Flop,· die Addiereinrichtung und logische Gatter oder Blöcke, die in der Zeichnung gezeigt
sind, können jede geeignete Form besitzen. Diese bekannten Schaltungen können z.B. aus einem oder beiden der
folgenden Kataloge gewählt werden: Fairchild, TTL Family,
Oktober, 1970, ein Katalog der Fairchild Semiconductor/
a Division of Fairchild Camera & Instrument Corp»j oder
MSI/TTL Integrated Circuits from Texas Instruments, Bulletin
CB-125> ein Katalog der Texas Instruments, Inc.» Koinzidenzgatter
werden in der Zeichnung mit dem konventionellen AND-Gattersymbol, das im Inneren mit einem Punkt versehen ist,
und OR-Gatter durch ein konventionelles OR-Gattersymbol, das im Inneren ein + enthält, dargestellt. Ein kleiner Kreis
209882/099 2
am Ausgang dieser Gatter stellt eine Signalinversion dar,
derart, daß das ANt) und das OR-Gatter ein NAND bzw. NOR-Gatter
werden. Wenn eine Signalfluß-Strecke mehr als eine Einfachleitung enthält, befindet sich in der Strecke ein Schrägstrich
zusammen mit einer Zahl, welche die Anzahl der Leitungen auf dieser Strecke angibt. Obwohl in den Zeichnungen
nur Einfachgatter gezeigt sind, ist jedes dieser Gatter in Wirklichkeit ein Gatter-Netzwerk mit einer Anzahl von Gattern,
die gleich der Anzahl der Signalleitungen in der Signalfluß-Strecke ist. Das Gatter-Netzwerk 23 in Fig. 6b enthält z.B. in Wirklichkeit 8 getrennte AND-Gatter, je eins
für jede der 8 Leitungen der 8 niedrigstwertigen Bitpositionen des Befehlsregisters (IRJ 22, wobei jedes der b AND-Gatter
durch das MIC-Signal eingesetzt wird. '
Vor dem Fortfahren in der Beschreibung sei schließlich noch bemerkt, daß die Signalleitungen in manchen Fällen unterbrochen
und beschriftet und nicht ausgezogen sind um eine Störung in der Zeichnung zu vermeiden. Wo nur Teile einer
Leitung einer Verbindung oder eines Registers als Eingänge zu einem Block benutzt werden, werden diese mit ihrer Quelle,
begleitet mit der Bitposition, bezeichnet. Z.B. werden die Ausgänge des Befehlsregisters 22 mit IO bis 115 bezeichnet
um dessen 16 Bitpositionen festzulegen.
- 21' -
20988?/n992
2226663
Die Zentraleinheit enthält ein Befehlsregister '' 22 ''Fig. 6Aj, das einen l6-Bit-Befehl vom Steuerspeichersystem
11 'Fig. 6Bj empfängt'. Es ist gezeigt, daß das IR aus.
vier parallelen Eingangs- und Ausgangsregistern zusammengesetzt ist, die jeweils 4 Bit enthalten, und die aus den zuvor
genannten Katalogen ausgewählt werden können. Zusätzlich besitzen die beiden rechten Register, welche die tf niedrigstwertigen
Bi'ts von IO bis VJ enthalten, die Fähigkeit für einen Serienoutput und sind seriell verbunden, so daß
ihre 8 Bits während der AusfUhrungs-Zeitabschnitte t„ bis
t,2i für die unmittelbare Befehlsuntermenge auf die unmittelbare
Datenverbindung verschoben werden können. Die Gatter-, elemente und die Zeit-Signal-Verbindung sind für diese Operation
nicht gezeigt, da sie für das Verstehen der vorliegenden Erfindung nicht notwendig sind. Die parallelen Ausgänge
der beiden rechten Register sind über das AND-Netzwerk
ι *-
2j5 mit der /UB-Verbindung verbunden, und sorgen für den externen
Mikroauftrag-Code. Das AND-Netzwerk 23 wird durch
das MiC 'Mikroauftrags-Befehls-Erkennung) Signal· in den
Arbeitszustand versetzt.
Ein Satz von Dekodier-Elementen 24 bis 28 ist vorgesehen,
um die verschiedenen Bitfelder des Befehls zu dekodieren. Die Dekodierer 25 und 26 interpretieren die entsprechenden
Λ- und B-Felder, um f.Ur die A- und B-Wahlsignale,
Λ0 bis A15 und FiO bis Bl5» zu sorgen. Jeder dieser Dekodierer
kann die Form eines der 16 Dekodierer annehmen* die
209882/0992
- 22 -
aus dem zuvor erwähnten Katalog ausgewählt werden können. Der OP-Codedekodierer 24 kann auch einen der 16 Dekodierer
enthalten, um ein Erkennungssignal für jeden Befehlstyp im Befehlssatz herzustellen. Nur die Befehls-Erkennungs-Signale,
die auf die vorliegende Erfindung einen Bezug haben, werden am Ausgang des Dekodierers 24 aufgelistet.
Die aufgelisteten Signale enthalten das MBR-Signal (für den Masken- und Verzweigungsbefehl), das LSI-Signal
(für unmittelbares LOAD STACK, Druck), das LSR-Signal ffür LOAD STACK Registerdruck),- das R-R-Signal fRegister-Register-Befehl
), und das Mxu-Signal <.Mikroauftrags-Untermenge).
Der Dekodierer 24 enthält ferner Vorrichtungen fUr die Erzeugung des R-R-Signals. Diese Vorrichtung kann ganz
einfach ein OR-Netzwerk sein, das alle Register-Register-Befehlserkennungssignale
einer OR-Abfrage unterzieht, um das R-R Signal zu schaffen.
Die 16 Ausgänge des B-Wahldekodierers 26 führen über
die AND-Schaltung 29 zu den Registern 12 und den Einheiten 14. Die AND-Schaltung 29 wird nur durch das R-R-Signal in
Gang gesetzt, um sicherzustellen, daß ein Register nur für einen Register zu Register Befehl mit der B-Verbindung verbunden
ist.
209882/0992
Der Umsteuerungsdekodierer 2? kann auch einer von 16
Dekodierern sein. Nur zwei seiner Ausgänge, OC fEinserkomplement) und TC ''Zweierkomplement), sind in Pig. OB
angeführt, die anderen, die sich auf Leerbefehltests beziehen,
sind für ein Verstehen der vorliegenden Erfindung nicht wesentlich. Schließlich wird auch das B-Feld (lh bis 17) als
von einem erweiterten OP-Dekodierer 28 dekodiert dargestellt, der auch einer von 1.6 Dekodierern sein kann. Da die erweiterten
OP-Operationen für ein Verstehen der vorliegenden Erfindung nicht wesentlich sind, sind die vom Dekodierer 28
ausgesendeten Signale in der Zeichnung nicht aufgelistet oder
gezeigt.
Die Zentraleinheit enthält auch die ALU 10, die in Fig.
öB gezeigt ist. Das Herz von ALU ist ein Serienaddierer 30,
der die A- und B-Daten und ein Zuf Uhrsignal (CL, ) von einem
Verbindungs-j, Ausi'Ührungs- und Befehlstestblock 51 empfängt.
Der Serienaddierer stellt dessen Summe (Σ/ fest und leitet
IC ) an den Block 51 und an einen der drei Mehrfachkoppler
(MUXj 52. MUX 52 überträgt auf mehreren Kanälen Σ, C0 und
die Α-Daten auf. die D-Verbindung gemäß den Kommandos der einzelnen
Befehle, die „ausgeführt werden. Die Befehlserkennungssignal-Verbindungen
zum Addierer 50, der Testblock 51 und MUX
52 sind weggelassen* um eine Störung der Zeichnung zu vermeiden.
-•24 209882/0992
Die logischen Punktionen AND und OR erhält man auf der C -Leitung indem man das C.-Signal auf 0 bzw. 1 schaltet.
Zusätzlich erhält man die EXCLUXIVE OR-Funktion auf der ΣΓ-Leitung indem man Cj auf 0 schaltet.
Der Testblock 31 enthält die konventionellen Übertragslaufzeit- und Verbindungs-Schaltungen, die das C.-Signal
festlegen, und auf 0 oder 1 geschaltet werden können, um auf die zuvor erwähnten logischen Funktionen einzuwirken. Der
Testblock 31 enthält auch die IAR INC Impulsschaltung und
die Befehl und Leerbefehl testenden Schaltungen. Derjenige Teil des Testblocks 31, der der Verzweigungsoperation der
vorliegenden Erfindung dient, wird später im Detail besprochen.
Die B-Verbindungsdaten und unmittelbaren Daten sind in dem OR-Gatter 33 zusammengefaßt, dessen Ausgang über ein
Komplementier- und mehrfachkoppelndes Netzwerk ~*>k mit dem
B-Eingang des Addierers 30 verbunden ist. Das Netzwerk 34
enthält eine Einser- und eine Zweier-Komplementiervorrichtung, die beide für den Empfang des Ausgangssignals des OR-Gatters
33 angebracht sind, und weiter einen Mehrfachkoppler, der die
Ausgangssignale der Einser- und Zweier-Komplementiervorrichtung und des OR-Gatters 33 empfängt und eines von diesen Dreien an den B-Eingang des Addierers 30 mehrfach koppelt. Derje-.
- 25 20988?/0992
nige Teil des Netzwerkes Jk, der der Verzweigungsoperation
der vorliegenden Erfindung dient, wird später im Detail behandelt.
Gemäß der Fig. 6A besteht der Steuerspeicher 11 aus 16 Befehlszeichen mit 256 Befehlen pro Seite. Das Seitenadressen-Netzwerk 20, das ein Seitenadressenregister enthält,
wird für die Adressierung dei Speicherseiten verwendet.
Das Seitenadressen-Netzwerk enthält ferner einen ί von
16 Dekodierern, der ein Seitenwählsignal auf eine der l6-Seitenadressen-Leitungen
zum Speichersystem 11 leitet. Ein Befehlsadressenregister (IAR) 12-1 wird verwendet, um die in
einer adressierten Seite enthaltenen Befehle zu adressieren. Das IAR 12-1 und das Seitenadressenregister sind in der Registerbank
12 der Fig. 1 enthalten, und werden deshalb mit der D-, A- und B-Verbindung gekoppelt dargestellt. Auch in
der Fig. ba ist eines der Register -1.2, ein Speicherdaten-Register,
in dem Speichersystem 11 enthalten, um die Zeichnung
zu vereinfachen. In den Fig. 10 und 11 sind typische Beispiele von IAR 12-1 und des Registers- 12 gezeigt. Es genügt hier,
darauf hinzuweisen, daß IAR 12-1 ein Parallelausgang für ö
Bits einen Serien-Eingang und -ausgang und die Fähigkeit
zum Zählen besitzt, alles unter der Steuerung des Zeitgeber-Signals 0, TRA Signals (Fig-, "5 und 4) und Al- und Bl-Register-
- 26 -
209882/0992
wählsignals, wobei Al und Bl die Registeradressen oder
Wählsignale für IAR 12-1 sind. Dem IAR INC-Signal von ALU
antwortet IAR, indem es dessen Inhalt um eins vergrößert. Um die Besprechung zu vereinfachen, sind die Inhalte von
IAR manchmal auf ein vereinfachtes IAR bezogen.
Der 8 Bit-Parallelausg&ng des IAR repräsentiert die Befehlsadresse,
welche für das Steuerspeichersystem 11 gültig ist. Das IAR ist auch seriell in einer Schleife mit einem
IAR-Kellerspeicher 21 verbunden, der im Falle einer Programmunterbrechung, eines Aufrufes, einer Verzweigung und der
gleichen für die Aufbewahrung von IAR-Werten nützlich ist.
Zu diesem Zweck dient das OR-Netzwerk 47 dazu, um das Ausgangssignal
des IAR-Kellerspeichers 21 und der D-Verbindung
über einen Eingang von IAR 12-1 einer OR-Abfrage zu unterwerfen.
Der IAR-Kellerspeicher 21 enthält eine geordnete Folge von Registern, die angebracht sind, um auf ein PUSH-Kellerregistersignal
zu antworten und ihre entsprechenden Inhalte auf das nächstniedere angeordnete Register entlang
der Kellerspeicher-Registerfolge zu verschieben. Das IAR 12-1 antwortet, auch auf das PUSH-Signal, indem es seine vorliegenden
IAR-Inhalte auf die am höchsten angeordneten Register
im Kellerspeicher" überträgt. Der Kellerspeicher wird durch ein POP-Signal gepufft ''popped ^, das sowohl den Kellerspeicher
2] als auch dem IAR 12-1 zugeführt wird. Wenn dies
- 27 209802/099?
geschieht, werden die Inhalte des am höchsten angeordneten Kellerspeicher-Registers gepufft oder in den IAR ]2-l übertragen.
Das POP-Kellerspeichersignal wird aus einem Mikroauftrags-Steuerfeld
auf der /uB-Verbindung hergeleitet. Das PUSH-Speichersignal wird andererseits von einem Ladespeicherbefehl
in der unmittelbaren Untermenge oder in der R-R-Untermenge hergeleitet und kann z.B. das logische OR
der beiden Erkennungssignale LSI und LSR sein. -
Der IAR ^ 2-1 und der IAR-Kellerspeicher 21 antworten
auch auf ein Unterbrechungssignal (INTj, indem sie den Speicher anstoßen. Das INT-Signal verhindert auch den Input der
D-Verbindung in den IAR 12-1, so daß IAR durch die Beendigung der Stoßoperation einen mit 0 besetzten Zustand annimmt. Der O-Zustand repräsentiert die anfängliche Speicheradresse
einer unterbrochenen Subroutine, die die Unterbrechungen verarbeitet.
Das INT-Signal wird immer dann durch die Unterbrechereinheit
14-5 erzeugt, wenn sich die Zentraleinheit nicht in der Unterbrechersubroutine befindet und eine oder mehrere der
Unterbrechungszeichen auf die INT-Verbindung gebracht worden
- 28 2098 8 7/Π99?
sind. Aus diesem urund schließt die Unterbrechereinheit l4-5
eines der Register 12 ein, das in Fig. 7 mit 12-2 bezeichnet ist. Wie dort gezeigt ist, empfangen die einzelnen Flip-Flop-Stufen
des Registers 12-2 auf parallelen Wegen von der INT-Verbindung 8 Unterbrecherzeichen. Ein OR-Netzwerk 35 ist
angebracht um wahrzunehmen, ob ein oder mehrere Unterbrecherzeichen vorhanden sind ''binäre l). Nimmt man an, daß sich
das Programm nicht in einer Unterbrechungssubroutine befindet, so besitzt der D-Flip-Flop 36 die RUckstellungsvoraussetzung
für O-Stellung, wobei dessen Q-Output 0 ist. Ein binärer 1-Output
des OR-Netzwerkes 35 versetzt den D-Input in die Lage,
daß der nächstfolgende 0-Zeitgeberimpuls den Flip-Flop schaltet, so daß dessen Q-Output 1 wird.
Beim nächstfolgenden t^-Zeitabschnitt probiert das AND-Gatter
37 den binären 1-Output des Flip-Flop J>6, um dem J-Anschluß
des Flip-Flop 38 und dem B-Anschluß des Flip-Flop 39 einen eine 1 ermöglichenden Input darzubieten. Man sollte
beachten, daß immer dann wenn der Q-Output des Flip-Flop 36
Null ist, der Output des Gatters 37, während der Probierzeit tj- Null bleibt. Bei dem nächstfolgenden Zeitgeberimpuls 0
(noch während des Zeitabschnittes tj.) nimmt jeder der Flip-Flops
38 und 39 den Zustand an, in dem ihre entsprechenden Q-Outputs eine binäre 1 sind. Der Flip-Flop 30 ist der die
- 29 -
Unterbrechungsschleife steuernde Flip-Flop und dessen Q-Output
stellt das in den Fig. 6a und 6b dargestellte INT-Signal
. dar. Das Signal bleibt bis zum Ende des Ausführungsteils der
Schleife, wenn es während des Zeitabschnittes t „ gelöscht wird, eine binäre 1. ■ ·
Der Flip-Flop 39 soll den Unterbrechungskreis derart '
betätigen, daß dessen Q-Output den Flip-Flop 36 hindert, auf
Unterbrechungszeichen zu antworten, während sich die Zentraleinheit in der·Unterbrechungssubroutine befindet. Zu diesem
Zweck wird der Flip-Flop 39 durch ein von einem Mikroauftrags-Befehl
erzeugtes Unterbrecherzeichen (EIF SIGNAL) am Ende der Unterbrechungssubroutine in einen Arbeitszustand, versetzt. Das heißt, ein Mikroauftrags-Befehl ist in der Unterbrechungssubroutine
plaziert, um das EIF SIGNAL zur geeigneten Zeit zu erzeugen. Das EIF SIGNAL wird dem Gleichstrom Rücksetzanschluß
des Flip-Flop 39 zugeführt, um zu verursachen, daß dessen Q-Output den Zustand einer binären 1 annimmt. Diese
binäre 1 wird dem Gleichstrom-Rücksetzanschluß des probieren-,den
Flip-Flop 36 zugeführt, um dem Flip-Flop 36 zu ermöglichen,
auf die bestehenden Unterbrechungszeichen zu antworten.
Wenn ein Unterbrechungszeichen auftaucht, wechselt der
Flip-Flop 39 den Zustand während des Probierintervälles t^.,
so daß dessen Q-Ausgang den Zustand einer binären 0 annimmto
- 30 209882/0992
Zusätzlich kann der Flip-Flop 39 durch einen Mikrobefehl 'DIF) dazu gebracht werden, das Unterbrechungsnetzwerk
'FF 39Q = binär 0) unwirksam zu machen, wob.ei dieser
Befehl zu jedem Programmzeitpunkt gegeben werden kann, in dem gewUnscht wird, die Unterbrechungen momentan zu sperren.
Das Netzwerk wird dann wieder durch das EIF SIGNAL in den ursprünglichen Zustand versetzt.
Wie zuvor angedeutet, ist das Verzweigungsverfahren der vorliegenden Erfindung besonders in einer Unterbrechungssubroutine
für die Ausführung einer von 8 möglichen Programmverzweigungen nützlich. Dies wird durch die Verwendung einer.
Maske und eines Verzweigungsbefehles in der Unterbrechungssubroutine erreicht. Die Systemübersicht der Zentraleinheit
und der Register, die in Abhängigkeit von der Maske und dem Verzweigungsbefehl herrscht, ist in Fig. Ö genauer gezeigt.
Wie dort gezeigt ist, wird das diskrete Unterbrechungszeichen-Register 12-2 durch das MßR-Befehls-A-FeId ausgewählt und zwischen
der D- und Α-Verbindung verbunden. Ein weiteres Register 12-J5 wird von dem B-Feld des MBR-Befehles ausgewählt·
und mit der B-Verbindung verbunden. Das Register 12-3 enthält das Maskierungszeichen für die Ausführung, das sowohl l als
auch 0 enthält. Als solches wird das Register 12-3 entweder durch eine externe Funktionseinneit 14 ouer unter Programmsteuerung
während einer früheren Befehlsschleife vorgeladen.
- 31 -
2Ü988?/099?
Wie zuvor besprochen, speichert das Register 12-2 die unterbrechungszeichen,
die auf der Unterbrecherverbindung auftreten. Die TRA-, D-, und A- und B-Wählsignale verursachen, daß
die Inhalte der Register 12-2 und 12-3 während der Zeitabschnitte,
ty bis t-jj, in Serie bitweise auf die A- und B-Verbindungen
geführt oder geschoben werden.
In dem Fall, in dem das Maskenzeichen im Register 12-5
(d.h., B-Feld ^ 0) gespeichert wird, laufen die B-Daten durch
die Komplementiervorrichtung und MUX J>*\ und erscheinen am B-Eingang
des Addierers 3Ö. Der Weg des Signalflusses führt
über das OR-Gatter 33, das AND-Gatter kO und das OR-Gatter
4l. Das AND-Gatter 40 wird zu diesem Zeitpunkt in einen Arbeitszustand
versetzt, da die OC- und TC-Signale O sind.
Der Addierer 30 ist in Fig. 8 symbolisch als ein AND-Gatter
30-1 gezeigt, um die Vergleichsfunktion wiederzugeben,
die mit den A- und B-Daten ausgeführt wird. Wie zuvor angedeutet,
wird diese AND-Funktion im Addierer dadurch ausgeführt, daß das C\, (Zuleit) Signal zu ] gemacht wird und die
AND-Funktion von der Ausfuhr-(C! )Leitung genommen wird. Der
Output des Addierers wird-dann eine l sein, wenn gleichgeordnete A- und B-Datenbits Einsen sind, sonst wird er Null sein.
- 32 209882/0992
Der erste binäre 1-Output des Addierers 30 während der MBR-Ausführungszeit wird durch ein AND-Gatter 50 und
einen im Testblock 31 enthaltenen Flip-Flop 51 einer Probe unterworfen. Das AND-Gatter 50 ist so dargestellt, daß es
durch das MBR-Erkennungssignal in einen Arbeitszustand versetzt
worden ist. Dessen Output wird dem J-Anschluß des JK-Flip-Flop
51 zugeführt, so daß der Flip-Flop 51 in seinen betriebsklaren Zustand (Q=IJ gebracht werden kann, wenn der
erste binäre 1 Output des Addierers 30 auftritt, wobei der
Zeitgeber 0 auch in jeder Probierzeit oder jedem Zeitabschnitt
auftritt. Der Flip-Flop 51 bleibt dann betriebsklar bis zum Ende der MBR-Befehlsausführungs-Zeit bei t,^, wenn er zurückgesetzt
wird. Demgemäß wird jeder weitere binäre 1-Output
des Addierers 30 von der Probieroperation des Flip-Flop 51 überlesen. . '
Der binäre 1-Output des probierenden Flip-Flop 51 ·.
ermöglicht das AND-Gatter 52 die Zeitgeberimpulse <jb über ein
OR-Gatter 53 zu der IAR INC Leitung und daher zum IAR hindurchzulassen. Da die Zeitgeberimpulse φ während eines jeden
Zeitabschnittes auftreten, hängt die gesamte Anzahl der durch das Gatter" 52 hindurchgegangenen Impulse davon ab, zu welchem
Zeitabschnitt der Addiereroutput zum ersten Mal eine 1 wird. Wenn z.B. die am niedrigsten angeordneten Bits der A- und B-
- 33 -
Daten beide O sind, wird der Flip-Flop 51 während des Zeitabschnittes
t7 in Betrieb gesetzt und acht 0 Impulse werden
durch das AND-Gatter 52 hindurchgefUhrt, wodurch das IAR veranlaßt wird, seinen Wert um acht zu ändern. Wenn andererseits
nur die beiden am höchsten angeordneten Bits der A- und B-Daten 1 sind, wird der" Flip-Flop 51 nur während des
Zeitabschnittes T,^ in Betrieb gesetzt. In diesem Fall durchläuft
nur ein Zeitgeberimpuls 0 das AND-Gatter 52, so daß der
Wert des IAR um 1 vergrößert wird.
Wenn das Maskenzeichen nur Einsen enthalten soll, wird das MBR-B-FeId aus Nullen bestehen. Dies wird in keinem der
Register 12 eintreten, die für eine Verbindung zur B-Verbindung ausgewählt sind. Als Ergebnis wird daraufhin während der
AusfUhrungszeit die B-Verbindung nur mit Nullen auftreten. Wenn das B-Feld nur Nullen besitzt, wird das Einserkomplement-OC-Signal
eine 1 sein. Das OC-Signal wird durch ein OR-Gatter 42 hindurchgefUhrt und setzt das AND-Gatter 45 in einen Arbeitszustand. Das OC-Signal wird auch durch den Inverter 4-5
umgekehrt und setzt das AND-Gatter 40 außer Betrieb. Alle Nullen der B-Verbindung werden durch einen Inverter 44 umgekehrt
und werden so 1. Diese len werden dann durch die in einen Arbeitszustand versetzten AND-Gatter 47 und OR-Gatter
4l hindurchgefUhrt und auf den B-Eingang des Addierers 50
- 34 209882/099 2 '
geleitet. Die Operationen des Addierers und des Testblocks 31 werden für alle Einser-Maskenzeichen ebenso wie für die
zuvor diskutierten gemischten Zeichen und Null-Zeichen die gleichen sein.
Das Zweierkomplementier-Netzwerk 46 ist in Fig. 8 gezeigt,
um zu demonstrieren, daß Zweierkomplementier-Operationen ausgeführt werden können. Da diese Operationen
für ein Verstehen der Erfindung nicht wesentlich sind, wird die Zweierkomplementiervorrichtung nicht näher beschrieben.
Das OR-Gatter 53 und der Testblock 31 empfangen auch
eine Anzahl anderer Imputs. Einer dieser Inputs ist die laft+i-uperation der normalen Befehlsschleife, die während
des Zeitabschnittes tß abläuft. Diese Operation ist symbolisch
iri Fig. 8 durch den Boole'sehen Ausdruck tg INT angedeutet,
um anzuzeigen, daß sie eintritt außer wenn das INT-Signal vorliegt.
Dieser vergrößernde Impuls während des Zeitabschnittes tg stellt den Faktor 1 in dem zuvor erwähnten Verzweigungsausdruck
IAR+l+Y dar.
Ein anderer Input des OR-Gatter 53 ist aus der externen Leerbefehl-Verbindung ableitbar. Diese Operation ist auch
symbolisch durch den Boole'sehen Ausdruck t1Q EXT SKIP angedeutet,
um zu zeigen, daß sie während des Zeitabschnittes
' - 35 209882/0992
t10 eintritt, wenn ein externes Leerlauf-Zeichen auftritt.
Dieses Merkmal erlaubt der Funktionseinheit 14, einen
Programmleerlauf zu verursachen. Der Rest der' dem OR-Gatter 53 zugehenden Inputs kommt von verschiedenen Leerlauf-Testschaltungen
im Testblock 31, welche Schaltungen nicht gezeigt
sind, da sie für ein Verstehen der vorliegenden Erfindung nicht wesentlich sind.
Bezugnehmend auf Fig. 9 wird das Merkmal der indirekten
Registeradressierung der Erfindung beschrieben. Dieses Merkmal erlaubt es, daß die Anzahl der adressierbaren Register
über die Grenze ausgedehnt werden kann, die durch die Größe der Befehlsfelder A und B festgelegt sind. Z.B. erlauben die vier Bit A- und B-Feldgrößen, daß nur 16 Register direkt
adressiert werden können. Überdies erlaubt das Merkmal der indirekten Registeradressierung, daß die Programm-Subroutinen
mit verschiedenen, aber identischen Funktionsgeräten mit einem Zeitteilverfah'ren ausgeführt werden. Daner läßt sich das
Merkmal der indirekten Registeradressierung in jeder Situation verwenden, in der gewünscht wird, die Anzahl der adressierbaren
Register zu.erhöhen oder ein allgemeines Programm mit dem Zeitteilverfahren auszuführen. Als Beispiel ist jedoch das
Merkmal der indirekten Adressierung in Fig. 9 für den Zustand eines Mehrfach-CRT-Anschlusses dargestellt, in dem jeder CRT-
' - 36 -
209887/Π99?
/226669 - 3ο -
Anschluß vier adressierbare Register verwendet. Obwohl zwei .
solche CRT-Anschlüsse 70-1 und 70-2 in Fig. 9 gezeigt sind,
kann das System jede gewünschte Anzahl solcher CRT-Anschlüsse
besitzen.
In Fig. 9 ist auch die indirekte Adresseneinheit 14-6 gezeigt. Obwohl die anderen Funktionseinheiten 14
(siehe Pig. 1), der Steuerspeicher 11 und die Zentraleinheit 10 in Fig. 9 aus Gründen der Vereinfachung nicht gezeigt
sind, ist nicht zu vergessen, daß diese Vorrichtungen mit den Verarbeitungsverbinden D, A und B verbunden
sind.
Die beiden CRT-Anschlüsse sind im wesentlichen identisch, so daß nur der eine Anschluß 70-1 im Detail beschrieben wird.
Es wird darauf hingewiesen, daß gleiche Teile des Anschlusses 70-2 die gleichen Bezugszeichen wie ihre Gegenstücke im Anschluß
70-1 besitzen, mit der Ausnahme, daß die letzte Ziffer eine 2 statt einer 1 ist. Die CRT-Datenstation 70-1 benützt
vier adressierbare Register, 12-0 bis 12-3, die wesentlichsten, die für die Identifizierung der indirekt adressierbaren
Register verwendet werden. Das Register 12-0 empfängt parallele Dateneingänge von der Tastatureinheit 14-21. Das Register
12-1 dient als Datenspeicher-Register für den Wiederholungsspeicher und Widergabegenerator 14-31. Schließlich dienen
noch die' Register 12-2 und 12-3 als Spalten bzw. Zeilen-
20988?/Π99? -37-
zeiger-Adressenregister. In der Datenstation'70-2 sind die
Register 12-4 bis 12-7 die Registergegenstücke zu 12-0 bis 12-3.
Die indirekte Registeradressen-Einheit 14-6 antwortet den Inhalten eines direkt adressierbaren Registers 12-13,
um die indirekten Adressensignale AO bis A15 und BO bis Bl'5
zu erzeugen, die benutzt werden, um die CRT-Datenstationregister
zu adressieren. Die indirekte Adresseneinheit 14 kann so eingerichtet sein, daß die Inhalte des Registers 12-13
auf jede gewünschte Nummer des indirekt adressierbaren Re-. gisters zeilen können. Die üxrineit 14 ist; jedoch in Fig. 9
für jenen Pail dargestellt, wo die Inhalte des Registers
12-13 auf ein von zwei CRT-Datenstationregister deuten können. Der Fall zweier Register ist besonders nützlich für
Datenoperationen von Register zu Register, die von der Register zu Register Befehlsuntermenge herbeigerufen wurden,
(siehe Fig. 5e). In diesem Fall wird das Register 12-13 durch die indirekte Adresseneinheit 14-6 wie aus zwei 4-Bit-Feldern
bestehend behandelt, wobei jedes Feld in der Lage ist, sich an 16 Register zu richten. Welches der beiden
Felder benutzt wird, wird durch die direkten Adressensignale Al4, A15, Bl4 und B15 bestimmt. Das heißt, die indirekte
Adresseneinheit 14-6 ist selbst direkt adressierbar "um eines
- 38 209887/099?
der beiden 4-Bit-Felder in dem Register 12-13 auszuwählen.
Die direkten Adressensignale A14 und Al5 werden einem Mehrfachkoppler 16-1 zugeführt, der dazu dient, eines der
beiden 4-Bit-Felder mit einem A-Dekodierer 64 zu verbinden. Der Dekodierer 64 antwortet dem adressierten oder ausgewählten
4-Bit-Feld, indem er auf einem der 16 Outputleitungen ein entsprechendes der indirekten Adressensignale AO
bis A15 erzeugt. Die direkten Adressensignale Bl4 und B15 werden einem anderen Mehrfachkoppler 60-2 zugeführt, der dazu
dient, eines der beiden Vierbitfelder mit einem B-Dekodierer 65 zu verbinden. Der B-Dekodierer 65 antwortet dem
adressierten 4-Bit-Peld, indem er auf einer der l6 Outputleitungen ein entsprechendes der Adressensignale BO bis BI5
erzeugt. Die A und B-Dekodierer können geeigneterweise zwei von den l6 Dekodierern sein, die aus dem zuvor erwähnten
Katalog ausgewählt werden können.
Die Mehrfachkoppler 60-1 und bO-2 sind im wesentlichen
identisch, so daß gleiche Komponenten in den beiden Mehrfachkopplern gleiche Bezugszeichen tragen, die im Falle des Mehrfachkopplers
bO-1 mit -1 und im Falle des Mehrfachkopplers
bO-2 mit -2 versehen sind. Demgemäß wird nur der Mehrfachkoppler
60-1 im Detail beschrieben. Der Mehrfachkoppler 60-1 enthält ein Paar AND-Gatter-Netzwerke 62-1 und 63-1, deren
- 39 -
Ausgänge in einem OR-Netzwerk 61-1 zusammengefaßt sind« Jedes
dieser Netzwerke enthält vier Gatter, wobei gleichgeordnete Outputs der 4-Bit-Outputs der Netzwerke 62-1 und
6^-1 mit den OR-Gattern des Netzwerkes 61-1 einer OR-Abfrage unterworfen werden.
Die direkten Adressensignale Al4 und Bl4 werden den
Netzwerken 63-1 bzw. 63r-2 zugeführt, um das linksliegende
4-Bit-Feld auszuwählen oder zu adressieren. Das heißt, ein R-R-Befehl, dessen A- und B-Pelder Al4 bzw. Bl4 entsprechen,
wählt die vier linken Bits des Registers 12-15 für die Erzeugung der indirekten A- und B-Adressensignale aus. Andererseits
werden die direkten Adressensignale A15 und B15 den
steuernden Netzwerken 62-1 und 62-2 zugeführt, um die vier rechten Bits des Registers 12-15 für die Erzeugung des indirekten
A- und B-Adressensignals auszuwählen.
Mit der oben beschriebenen Vorrichtung für indirekte Registeradressierung können allgemeine Programmroutinen für
solche Operationen wie Datenübertragung vom Tastaturregister· zum Datenspeicherregister, Adressenzeigerberichtigung und
dergleichen verwendet werden. Vor dem Eintritt in eine allgemeine Routine, muß das Register 12-13 mit dem Wert geladen
werden, der im wesentlichen festlegt, welche der CRT-Datenstationen
70-1 oder 70-2 von der Programmroutine bedient wird.
209887/099? ^0
Obwohl getrennte Datenspeicherregister 12-1' und 12-5'
in Fig. 9 gezeigt sind, ist es möglich, ein einzelnes Datenspeicherregister zu verwenden, das mit mehreren CRT-Datenstationen
im Zeitteilerverfahren betrieben wird. In einem solchen Falle kann das einfache Datenspeicherregister
direkt adressierbar sein.
Mit Hilfe von Fig. 10 wird ein Typ des Registers 12, das verwendet werden kann, nun beschrieben. Wie in Fig. 10
gezeigt ist, enthält das Register 12 eine Basisregistereinheit öO, eine Input-Mehrfachkopplungseinheit 81, eine Output-Mehrfachentkopplungseinheit
Ö2 und eine Zeitgebersignal-Mehrfachkopplungseinheit
83. Die Registereinheit 80, die aus , den zuvor erwähnten Katalogen ausgewählt werden kann, besitzt
zu einer verbundenen Funktionseinheit 14 einen parallelen Input
und Output, einen Serieninput von dem Mehrfachkoppler 8l und einen Serienoutput zum Mehrfachkoppler 82.
Die Registereinheit 80 wird durch einen wahren oder 1-Wert des Zustands-Steuersignals (SER) in einen seriell arbeitenden
Zustand und durch einen O-Wert des gleichen Signals in einen p.arallel arbeitenden Zustand gebracht. Das SER-Zustands-Steuersignal
wird von einem OR-Gatter 84, welches das A- und B-Wählsignal für das Register 12 einer OR-Abfrage unterwirft,
und von einem AND-Gatter 85, das den Output des
20988?/099? 4l
- 4i -
OR-üatters 84 mit dem TRA-Ausführungs-Steuersignal verbindet,
hergeleitet. Das SER-Steuersignal wird nur während der
Zeitabschnitte t7 bis t..^, immer wenn das Register 12 von
einem der A Sel-oder B Sel-Signale ausgewählt wird, Γ sein
und zu allen anderen Zeiten 0.
Der Input-Mehrfachkoppler 8l enthält eine Anordnung
von AND-Gattern* 8l-l, 8l-2 und 8l-3, Eine andere Steueranordnung enthält ein OR-Gatter 8l-4, welches die Outputs der
AND-Gatter der ersten Anordnung zusammenführt, und für den seriellen Input in die Registereinheit 80 sorgt. Die Mehrfachentkopplungs-Einheit
82 enthält eine aus den AND-Gattern 82-1, 82-2 und 82-3 bestehende Anordnung, welche den seriellen
Output der Registereinheit 80 auf eine Anzahl verschiedener Leitungen führt. Der Mehrfachkoppler 83 enthält eine
erste Anordnung, die aus den AND-Gattern 83-1 und 83-2 besteht,
deren Ausgänge in einem OR-Gatter 83-3 zusammengeführt sind, welches den Zeitgeber oder Markierungsinput zur
Registereinheit 80 führt.
Bevor auf die verschiedenen von den Einheiten 8l und
82 vorgesehenen Signalstrecken eingegangen wird, wird der Zeitgebersignal-Mehrfachkoppler 83 kurz beschrieben. Ein 1-Wert
des SüH-Zustands-Steuersignals versetzt, das AND-Gatter
Ö3-1 in die Lage, die Zeitgebersignale jZ) über das OR-Gatter
20988Ρ/Π99? - 42 -
Ö3-3 zur Registereinheit ÖO hindurchzulassen. Das SEK-Signal
wird durch einen inverter Ö3-4 umgekehrt, um das AND-Gatter
Ö3-2 zu hemmen, wenn das SER-Signal 1 ist, und um
das AND-Gatter ÖJ5-2 in Punktion zu versetzen, wenn das
SER-Signal 0 ist. Wenn das AND-Gatter 83-2 in den Arbeitszustand
versetzt ist, wird die externe P-Markierung durch
das Gatter 83-2 und das OR-Gatter 83-3 zur Registereinheit
ÖO hindurchgeführt.
Wenn das A Sel-Signal 1 ist, ist die Registereinheit
ÖO einem seriellen Betrieb angepaßt, wobei dessen Empfang mit der D-Verbindung und dessen Ausgang mit der A-Verbindung
verbunden ist. Zu diesem Zweck enthält der Input-Mehrfachkoppler
8l ein AND-Gatter 8l-2, das durch das A Sel-Signal in die Lage versetzt wird, Daten von der D-Verbindung über
das OR-Gatter 01-4 zum Serieneingang der Registereinheit 80 hindurchzulassen. Das A Sel-Signal ermöglicht auch dem
AND-Gatter Ö2-1 im Mehrfachkoppler Ö2 den Serienoutput von der Registereinheit 80 zur Α-Verbindung hindurchzulassen..
Es ist zu beachten, daß der Serienoutput der Registereinheit ÖO auch direkt durch die Mehrfachentkopplereinheit 82 zum
Eingang des Mehrfachkopplers-AND-Gatters 81-1 hindurchgeführt
wird. Das Gatter 81-1 wird jedoch zu dieser Zeit unwirksam gemacht, da der Wert 1 des A Sel-Signals durch den
Inverter 8l-5 umgekehrt wird, so daß der Wert 0 dem Gatter öl-l zugeführt wird.
209882/099? ' - 43 -
Wenn das B Sel-Signal 1 1st, ist das A Sel-Signal O,
so daß das Input-Mehrfaehkopplungs-Gatter 81-1 In die Lage
versetzt wird, den Serienoutput der Registereinheit 80
durch seinen Eingang über das OR-Gatter 8l-4 hindurehzulassen.
Zusätzlich versetzt das B Sel-Signal das Mehrfachen tkopplungsgatter 82-2 in die Lage, den Serienoutput der
Registereinheit 80 zur B-Verbindung hindurchzulassen. Für
PUSH STACK-Operationen wird das AND-Gatter 82-5 durch das
PUSH-Signal in die Lage versetzt, den Serienoutput der Registereinheit 80 zum Register-Kellerspeicher 86 hindurchzulassen.
Der Register-Kellerspeicher 86 kann aus einer offen endenden Serienverbindung von Registern bestehen, die im wesentlichen
die gleichen seriell arbeitenden Verbindungen besitzen wie das gezeigte Register 12.
Für POP STACK.-Operationen wird das Input-Mehrfachkopplungs-Gatter
81-3 durch den Wert 1 des A Sel-Signals
und durch das POP-Signal in die Lage versetzt, den Serienoutput
des Register-Kellerspeichers 86 zum Serieninput der Registereinheit 80 hindurchzulassen. Das POP-Signal wird auch
durch einen Inverter 8l-6 umgekehrt, um das Gatter 8.1-2 zu hindern, die D-Verbindungsdaten während der POP-Operationen
zu steuern.
- 44 20988?/Π99?
Es ist festzustellen, daß das in Pig. IO gezeigte Register 12 nur ein Beispiel ist und daß auch andere Registeraufbauten
verwendet werden können. Zusätzlich können mehr oder weniger Input- und Output-Signalstrecken für die
Registereinheit 80 vorgesehen werden.
Das Befehls-Adressenregister ihK 12-1 weicht etwas
von dem in Fig. 10 gezeigten Register 12 ab. Wie in Fig. 11 gezeigt ist, ist die Registereinheit 80 durch eine UP-Zählereinheit
90 ersetzt, die aus dem zuvor erwähnten Katalog ausgewählt werden kann. Zusätzlich enthält der Input-MUX
8l einen zusätzlichen Satz von AND-Gattern 8l-7, der dazu dient, die Stufenausgänge 2° bis 2 der Zählereinheit
1 7 90 den Stufenzählereingängen 2 bis 2 während der seriellen
Zustandsoperationen zuzuleiten. Diese Verbindungen dienen dazu, daß die Zählereinheit 90 wie ein Schieberegister arbeitet.
Zusätzlich empfängt das Gatter 8I-I das INT-Signal
und wird während der unterbrochenen Probierschleife gehindert, den Dateninput von der D-Verbindung zu empfangen. Wie
zuvor erwähnt, dient dies dazu, um am Ende der Ausführungsperiode alle Nullen unterzubringen.
Die restlichen Gatter im Input-MUX 8l sind im wesentlichen
die gleichen wie die in Fig. 10 gezeigten. Der Aufbau von DEMUX 82 ist im wesentlichen der gleiche wie der in Fig.
10 gezeigte, ausgenommen, daß ein zusätzliches OR-Gatter
209882/0992 -45-
(nicht gezeigt) enthalten ist, welches das PUSH und INT-Signal einer OR-Abfrage unterwirft, wobei das OR-Gatter
dann verwendet wird, um das AND-Gatter 82-3 In den Arbeitszustand zu versetzen (siehe Fig. 10). Schließlich ist das
MUX öj5 das gleiche wie das in Fig. 10 gezeigte, mit der
Ausnahme, daß die EXT-P-Markierung durch die IAK λιμτ Leitung
ersetzt ist, und der Ausgang des MuX 03 als Zeitgebereingang
[C) der ersten'oder 2 Wählers tui'e verwendet wird. Aus Gründen
der Vereinfachung sind PUSH und POP in den A Sei und B Sei-Verbindungen in der Fig. 11 weggelassen.
- 46 -
209882/09
Claims (1)
- PATENTANSPRÜCHE1. Verfahren zum Ausführen von Programmverzweigungen in Rechenanlagen mit einem Speicher, in dem Programmbefehle an adressierbaren Orten gespeichert sind, dadurch gekennzeichnet, daß zunächst gleichgeordnete Bits eines Paares von N Bit Operanten nach der Identität der Bitwerte einer ersten binären Bedeutung verglichen werden und daß darauf eine Programmadresse erzeugt wird, die gleich der um 1 und um Y vergrößerten Adresse des Strombefehles ist, wobei Y gleich. N minus der Ordnung der am niedrigsten angeordneten Bitposition ist, in der Identität herrscht, und wobei die Bitordnungen von 0 bis N-I reichen.2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Inhalte eines Befehlsadressenregisters die Adressen des Strombefehls bilden, und daß zur Erzeugung der Programmadresse zunächst ein Strom von 1 + Y Impulsen erzeugt wird, und daß darauf die Inhalte des Befehlsadressenregisters mit den 1 + Y Impulsen vergrößert werden.- 47 209 887/0 992j5. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß anfänglich ein Masken-' und Verzweigungsbefehl geschaffen wird, der die zu vergleichenden Operanten identifiziert und die Strombefehle darstellt.4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der vergleichende Schritt bitseriell ausgeführt wird.5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der vergleichende Schritt ein AND-Schritt ist, so daß mit gleichgeordneten Bits zweier Operanten eine AND-Operation ausgeführt wird.6.) Programmverzweigungsvorrichtung für einen Rechner mit einem Befehlsadressenregister, dessen Inhalte die Adresse des Programmbefehls darstellen, der allgemein ausgeführt wird und im Speicher des Rechners gespeichert ist, gekennzeichnet durch eine erste Einrichtung, mit der ein Paar von N Bit Operanten nach der Identität der Bitwerte einer ersten binären Bedeutung verglichen werden, und durch eine zweite Einrichtung, mit der die Werte der Inhalte des Befehlsadressenregisters um 1 und um Y vergrößert werden, wobei Y gleich N minus der Ordnung der am niedrigsten angeordneten Bitposition- 48 2 0 9889/099?ist, in der Identität herrscht, und wobei die Bitordnungen von O bis N-I reichen.7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Einrichtung zum Vergrößern der Inhaltswerte eine Erzeugungsvorrichtung für die Lieferung eines Stromes von 1+Y-Impulsen und eine Vorrichtung für die Zunahme der Inhalte des Befehlsadressenregisters mit den 1+Y-Impulsen enthält.8. Vorrichtung nach Anspruch 1J, dadurch gekennzeichnet, daß sie weiter eine Vorrichtung enthält, mit der ein Masken- und Verzweigungsbefehl geschaffen wird, der die von den Vergleichsvorrichtungen zu vergleichenden Operantenpaare identifiziert und den Strombefehl darstellt.9. Vorrichtung nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß die Vergleichsvorrichtung ein Koinzidenzgatter enthält, das zwei Eingänge besitzt, die gleichgeordnete Bits der beiden Operanten während der N aufeinanderfolgenden Zeitabschnitte seriell empfangen, so daß ein wahrer Wert am Ausgang des Koinzidenzgatters der genannten Identität der Bitwerte einer ersten binären Bedeutung entspricht, und daß die Erzeugungsvorrichtung eine erste Vorrichtung enthält, die in Abhängigkeit des ersten wahren- 49 20988?/0 99?Outputwertes des Koinzidenzgatters ein instandsetzendes Signal herstellt, und eine zweite Vorrichtung enthält, ' die einen Zeitgeberimpuls während einer jeden der aufeinanderfolgenden Zeitabschnitte und während eines zusätzlichen Zeitabschnittes herstellt, wobei das erste Gatter das instandsetzende Signal zum Durchlassen der Y-Zeitgeberimpulse empfängt, die während aufeinanderfolgender Zeitabschnitte erzeugt werden, und ein weiteres Gatter für die Verbindung der Y-Impulse und des während des zusätzlichen Zeitabschnittes erzeugten Zeitgeberimpulses enthält, um 'einen Strom von 1+Y-Impulsen herzustellen.10. * Zentraleinheit vom Verbindungstyp, in der ein Direktadressengenerator eine erste Gruppe von direkten Adressen für die Adressierung einer ersten Mehrzahl von Registern . in Abhängigkeit von Adressenfeldern erzeugt, die innerhalb des Befehlssatzes der Zentraleinheit enthalten sind, dadurch gekennzeichnet, daß (a) eine zweite Mehrzahl von Registern,(b) Vorrichtungen, die in Abhängigkeit von den Inhalten eines der ersten Register und in Abhängigkeit von einer von der Direkt-Adressen erzeugenden Einheit erzeugten Adresse eine Mehrzahl von indirekten Registeradressen herstellt, und(c) Vorrichtungen enthalten sind, mit denen die indirekten Registeradressen an verschiedene dieser zweiten Register angelegt werden.- 50 -2 09 8 8 7/099211. Zentraleinheit nach Anspruch 10, dadurch gekennzeichnet, daß die Vorrichtung zur indirekten Adressenerzeugung einen Dekodierer, der in Abhängigkeit von verschiedenen Teilen der Inhalte des einen Registers die indirekten Adressen erzeugt, und einen Mehrfachkoppler enthält, der in Abhängigkeit von verschiedenen direkten Adressen die verschiedenen Teile mit dem Dekodierer mehrfach koppelt.12. Zentraleinheit nach Anspruch 10, dadurch gekennzeichnet, daß der direkt-Adressengenerator in Abhängigkeit von einem Paar von Adressenfeldern in den Befehlen der Zentraleinheit gleichzeitig ein Paar von verschiedenen direkten Adressen herstellt, und daß die indirekte Adressen erzeugende Vorrichtung in Abhängigkeit von einem Paar direkter Adressen ein Paar indirekter Adressen erzeugt.13. Zentraleinheit nach Anspruch 12, dadurch gekennzeichnet, daü die indirekte Adressen erzeugende Vorrichtung einen ersten und einen zweiten Dekodierer, die in Abhängigkeit von verschiedenen Teilen der Inhalte des einen Registers verschiedene Paare indirekter Adressen erzeugen, und einen ersten und zweiten Mehrfachkoppler enthält, die in Abhängigkeit von den Direkt-Registeradressen-Paaren die genannten Teile mit dem ersten und zweiten Dekodierer mehrfach gekoppelt.2098R?/099?siLee rse i te
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15506871A | 1971-06-21 | 1971-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2226669A1 true DE2226669A1 (de) | 1973-01-11 |
Family
ID=22554004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2226669A Withdrawn DE2226669A1 (de) | 1971-06-21 | 1972-05-31 | Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung |
Country Status (12)
Country | Link |
---|---|
US (1) | US3728689A (de) |
JP (1) | JPS5627903B1 (de) |
AU (1) | AU461151B2 (de) |
BE (1) | BE782961A (de) |
CA (1) | CA945265A (de) |
CH (1) | CH554020A (de) |
DE (1) | DE2226669A1 (de) |
FR (1) | FR2142931B1 (de) |
GB (1) | GB1391507A (de) |
IL (1) | IL39025A (de) |
IT (1) | IT956592B (de) |
NL (1) | NL7208271A (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3921144A (en) * | 1971-05-18 | 1975-11-18 | Ibm | Odd/even boundary address alignment system |
US3839630A (en) * | 1971-12-27 | 1974-10-01 | Hewlett Packard Co | Programmable calculator employing algebraic language |
US3922538A (en) * | 1973-09-13 | 1975-11-25 | Texas Instruments Inc | Calculator system featuring relative program memory |
FR2253415A5 (de) * | 1973-12-04 | 1975-06-27 | Cii | |
USRE31790E (en) * | 1974-03-13 | 1985-01-01 | Sperry Corporation | Shared processor data entry system |
US4181942A (en) * | 1978-03-31 | 1980-01-01 | International Business Machines Corporation | Program branching method and apparatus |
US4449185A (en) * | 1981-11-30 | 1984-05-15 | Rca Corporation | Implementation of instruction for a branch which can cross one page boundary |
US4771281A (en) * | 1984-02-13 | 1988-09-13 | Prime Computer, Inc. | Bit selection and routing apparatus and method |
US5210833A (en) * | 1985-11-08 | 1993-05-11 | Nec Corporation | System for selectively masking data in a branch address register and replacing the microinstruction address register by the masked data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3380025A (en) * | 1964-12-04 | 1968-04-23 | Ibm | Microprogrammed addressing control system for a digital computer |
US3387278A (en) * | 1965-10-20 | 1968-06-04 | Bell Telephone Labor Inc | Data processor with simultaneous testing and indexing on conditional transfer operations |
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
US3445818A (en) * | 1966-08-01 | 1969-05-20 | Rca Corp | Memory accessing system |
SE303056B (de) * | 1967-08-31 | 1968-08-12 | Ericsson Telefon Ab L M | |
US3551898A (en) * | 1967-11-01 | 1970-12-29 | Rca Corp | Computer memory addressing |
US3559183A (en) * | 1968-02-29 | 1971-01-26 | Ibm | Instruction sequence control |
-
1971
- 1971-06-21 US US00155068A patent/US3728689A/en not_active Expired - Lifetime
-
1972
- 1972-03-19 IL IL39025A patent/IL39025A/xx unknown
- 1972-03-24 AU AU40410/72A patent/AU461151B2/en not_active Expired
- 1972-04-26 FR FR727214861A patent/FR2142931B1/fr not_active Expired
- 1972-05-03 BE BE782961A patent/BE782961A/xx unknown
- 1972-05-10 CA CA141,791A patent/CA945265A/en not_active Expired
- 1972-05-31 DE DE2226669A patent/DE2226669A1/de not_active Withdrawn
- 1972-06-14 GB GB2786472A patent/GB1391507A/en not_active Expired
- 1972-06-14 CH CH891572A patent/CH554020A/it not_active IP Right Cessation
- 1972-06-15 IT IT25707/72A patent/IT956592B/it active
- 1972-06-16 NL NL7208271A patent/NL7208271A/xx not_active Application Discontinuation
- 1972-06-19 JP JP6124972A patent/JPS5627903B1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
NL7208271A (de) | 1972-12-27 |
FR2142931B1 (de) | 1973-07-13 |
US3728689A (en) | 1973-04-17 |
IL39025A0 (en) | 1972-05-30 |
BE782961A (fr) | 1972-09-01 |
AU461151B2 (en) | 1975-05-01 |
CA945265A (en) | 1974-04-09 |
AU4041072A (en) | 1973-09-27 |
GB1391507A (en) | 1975-04-23 |
IT956592B (it) | 1973-10-10 |
FR2142931A1 (de) | 1973-02-02 |
JPS5627903B1 (de) | 1981-06-27 |
IL39025A (en) | 1975-06-25 |
CH554020A (it) | 1974-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2819571C2 (de) | ||
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE2145120B2 (de) | Digitales datenverarbeitungsgeraet | |
DE2748991A1 (de) | Einrichtung zur umsetzung von datenformaten | |
DE2364408A1 (de) | System zur erstellung von schaltungsanordnungen aus hochintegrierten chips | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE1549474B2 (de) | Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE1189294B (de) | Datenverarbeitungsanlage | |
DE2226669A1 (de) | Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung | |
DE3144563C2 (de) | ||
DE2951040C2 (de) | ||
DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
DE2218630B2 (de) | Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen | |
DE2739525C2 (de) | Rechner | |
DE2336676C3 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2747304C3 (de) | Einrichtung zur Mikrobefehlssteuerung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2221926C3 (de) | Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OGA | New person/name/address of the applicant | ||
OD | Request for examination | ||
OI | Miscellaneous see part 1 | ||
OI | Miscellaneous see part 1 | ||
8139 | Disposal/non-payment of the annual fee |