DE2226669A1 - Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung - Google Patents

Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung

Info

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
Application number
DE2226669A
Other languages
English (en)
Inventor
Jun Howard W Edwards
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lockheed Martin Corp
Original Assignee
Sanders Associates Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanders Associates Inc filed Critical Sanders Associates Inc
Publication of DE2226669A1 publication Critical patent/DE2226669A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/324Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions

Description

DIPL.-ING. KLAUS BEHN DIPL.-PHYS. ROBERT MÜNZHUBER
PATENTANWÄLTE
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 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)

  1. PATENTANSPRÜCHE
    1. 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 992
    j5. 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/0992
    11. 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?
    si
    Lee rse i te
DE2226669A 1971-06-21 1972-05-31 Verfahren und vorrichtungen fuer programmverzweigung und registeradressierung Withdrawn DE2226669A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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