Die vorliegende Erfindung betrifft eine Datenver arbeitungsanlage mit einer Verarbeitungseinheit und einem
Speicher für eine Anzahl von aus Bits bestehenden Daten wörtern, wobei die Verarbeitungseinheit ein Indexregister zur
Speicherung der relativen Adresse eines Datenwortes in einer
Tabelle des genannten Speichers enthält, weiter mit Mitteln, die einen Zugang zum genannten Wort mittels der Tabelle unter
Verwendung der relativen Adresse ermöglichen, und schliess lich mit Mitteln, die die Lage des ersten Bits des genannten
Wortes bestimmen, welches einen bestimmten Wert der zwei möglichen Werte aufweist.
Eine derartige Anlage ist bereits aus der Zeitschrift zell
System Technical Journal , Sept. 1964, Nr. 5, Teil 1, Ss.
1869-1870 und 1937 bekannt. In dieser benannten Anlage wird die derart bestimmte Bitlage in der Tabelle dazu verwen det, um einen Zugang zu einem Wort aus einer zweiten Tabelle herzustellen. Da aber die Anzahl der Bitlagen in einem Wort der ersten Tabelle relativ klein ist, kann lediglich eine ähnlich kleine Anzahl von Wörtern der zweiten Tabelle erreicht werden.
Zweck der vorliegenden Erfindung ist es deshalb, eine Datenverarbeitungsanlage zu schaffen, die einen Zugang zu einer Anzahl von Wörtern der zweiten Tabelle ermöglicht, welche Anzahl das Vielfache der Anzahl der Bitlagen in einem Wort der ersten Tabelle darstellt.
Die erfindungsgemässe Anlage ist dadurch gekennzeichnet, dass die genannte Verarbeitungseinheit weitere Mittel aufweist, welche die relative Adresse mit der Lage des ersten Bits im genannten Wort gemeinsam verarbeiten, um die Lage des ersten Bits in der Speichertabelle zu ermitteln.
Ein weiterer Nachteil der herkömmlichen Anlage ist darin zu erblicken, dass ein Zugang unter Verwendung der festgestellten Bitlage zu einem Wort der zweiten Tabelle nur so möglich ist, dass ein zusätzliches Indexregister eingesetzt wird.
Es ist deshalb ein weiterer Zweck der vorliegenden Erfindung, eine Anlage anzugeben, die kein zusätzliches Indexregister zur Herstellung des Zuganges zu einem Wort der zweiten Tabelle benötigt. Ein Ausführungsbeispiel der Erfindung soll nun anhand der Zeichnung näher erläutert werden. Es zeigen:
Figur 1 die erfindungsgemässe Datenverarbeitungsanlage,
Figur 2 das Register A aus Figur 1 in ausführlicherer Form,
Figur 3 einen Teil des Stromkreises ADGC aus Figur 1 und weitere Schaltkreise in ausführlicherer Form, und
Figuren 4a und 4b Flussdiagramme, wobei Figur 4b unmittelbar auf Figur 4a folgt.
Die vorliegende Datenverarbeitungsanlage weist einen Speicher und eine Verarbeitungseinheit mit einem Indexregister auf, weiter ein akkumulatives Register, einen Addierer-Stromkreis mit 16 Augend-, 16 Addend-Eingängen und 16 Summier-Ausgängen, und eine Erste- 1 -Suchschaltung (im weiteren als FFO-Schaltung bezeichnet - aus dem Englischen Find-First-One-Circuit , d. h. eine Suchschaltung, die aus einem Bitwort das erste Bit mit einem logischen Zustand 1 aufsucht), deren 16 Eingänge mit den 16 Ausgängen des akkumulativen Registers, dessen 4 Ausgänge mit den letzten 4 Augend-Eingängen, und deren 12 übrigbleibende Augend-Eingänge mit den letzten 12 Ausgängen des Index-Registers gekoppelt sind.
Nachdem der Zugang zu einem Wort der ersten Tabelle hergestellt wurde, indem eine relative Adresse (dieses WortesindieserTabelle) im Indexregistergespeichertwurde und nachdem dieses Wort im akkumulativen Register gespeichert wurde, ist die Anlage imstande, eine FFO-Instruktion an diesem Wort durchzuführen. Diese Instruktion besteht darin, die FFO-Schaltung zu betätigen, welche das an der äusseren Linken vorhandene 1 -Bit im gespeicherten Wort des akkumulativen Registers heraussucht, weiter die zu dem Augenblick an den Ausgängen dieses Stromkreises und an einem Teil des Indexregister-Inhaltes auftretende Bitlage an die oben erwähnten Augendeingänge anzulegen, und schliesslich an den oben erwähnten Summierausgängen erscheinende Resultat in das Indexregister einzuspeisen.
Dieses Indexregister gibt also die Lage des an der äussersten Linken der Tabelle aufgefundenen Bits an, wobei diese Lage die relative Adresse eines Wortes in einer zweiten Tabelle darstellt.
Figur 1 zeigt eine Datenverarbeitungsanlage, bestehend aus einem Speicher MEM und einer Verarbeitungseinheit, die ihrerseits durch eine Recheneinheit AU und eine Steuereinheit CU gebildet ist.
Der Speicher MEM speichert eine Anzahl von 16-Bit-Instruktionsworten, wie z. B. LDA, LDX, STA, STX, FFO und JDX und eine Anzahl von 16-Bit-Datenworten, wie z. B. S1 und S2. Weiter enthält der Speicher die Tabellen der Datenworte IJT und IJSBT.
Die Recheneinheit AU enthält ein 26-Bit Puffer-Register M, ein 16-Bit Speicherstellenregister Y, ein 16-Bit Indexregister X, ein 16-Bit akkumulatives Register A, einen 16-Bit Programmzähler P, welcher die Adresse einer durchzuführenden oder durchgeführten Instruktion speichert, und eine bekannte Addiereinheit ADU, welche durch einen Addierer Torstromkreis ADGC und einen Addierer-Stromkreis ADC gebildet wird.
Die Steuereinheit CU enthält eine Steuer-Vorrichtung CD, welche die verschiedenen Operationen der Anlage steuert, indem sie zu geeigneter Zeit Torsignale gs00-gslS erzeugt und ein 7-Bit Register F, welches den Befehlscode einer Instruktion speichert. Das Register F ist an die Steuer-Vorrichtung CD angeschlossen. Aus dem späteren Text geht hervor, dass die Torsignale gsOO bis gs15 in Wirklichkeit durch 15 Signale gsO0(00)-gsO0(15) bis gs15(00)-gs15(15) gebildet werden.
Die Eingänge der Zellen 00 bis 15 des Puffer-Speichers M sind mit den Ausgängen der entsprechenden Ausgangszellen 00 bis 15 des Speichers MEM gekoppelt, wie schematisch durch den Pfeil, der MEM und M verbindet und in Richtung M zeigt, angedeutet ist. Die Eingänge der 7 Zellen 00 bis 06 des Registers F sind mit den Ausgängen der entsprechenden Zellen 00 bis 06 des Speichers MEM verbunden, was schematisch durch den Pfeil angedeutet ist, welcher MEM und F verbindet und in Richtung F zeigt. Die Ausgänge M000-M015 der Zellen 00 bis 15 des Puffer-Registers M sind mit den Eingängen der Ausgangszellen 00 bis 15 des Speichers MEM über Tore GMM00-GMM15 verbunden, wobei diese Tore durch Torsignale gsOO, die die Steuervorrichtung CD erzeugt, gesteuert werden.
Die Ausgänge Y000-Y015 der Zellen 00 bis 15 des Registers Y sind mit dem Adressiereingang des Speichers MEM verbunden, wie schematisch durch den Pfeil, der Y und MEM verbindet und in Richtung MEM zeigt, angedeutet ist. Diese Verbindung enthält die UND-Tore GYOO bis GY15, welche durch die in der Steuervorrichtung CD erzeugten Torsignale gs01 gesteuert werden.
Die Ausgänge MO00-MO15, X000-X015, AO00-AO15 und YO00-Y015 der Zellen 00 bis 15 der Register M, X, A und Y sind mit den Augend-Eingängen AGOO bis AG15 des Addierer-Stromkreises ADC über die einzelnen UND-Tore GGM00-GGM15, GGX00-GGX15, GGA00-GGA15 und GGY00-GGY15 über die gemeinsamen ODER-Tore MAG00-MAG15 verbunden. Diese vier Gruppen von UND Toren sind durch die Torsignale gs02 bis gs05 der Steuervorrichtung CD gesteuert.
Die Ausgänge M000-M015, XO00 X015, A000-A015, P000-P015 der Zellen 00 bis 15 der Register M, X, A und des Programmzählers P sind mit den Addend-Eingängen ADOO bis AD15 des Addierer-Stromkreises ADC verbunden über die einzelnen UND-Tore GAM00-GAM15, GAX00-GAX15, GAA00-GAA15, GAP00-GAP15 und über die gemeinsamen ODER-Tore MAD00-MAD15. Diese vier Gruppen von UND-Toren sind durch die von der Steuervorrichtung CD stammenden Torsignale gs06 bis gs09 gesteuert.
Die 16 Summier-Ausgänge SM00-SM15 des Addierer-Stromkreises ADC sind mit den Eingängen Y100-Y115, XI00-XI15, A100-AI15 und PI00-PI15 der Zellen 00 bis 15 der Register Y, X, A und des Zählers P über die UND-Tore GSY00-GSY15, GSX00-GSY15, GSA00 GSAl5 und GSP00-GSP15 verbunden, wobei diese Tore durch die Torsignale gs10 bis gs13 gesteuert werden. Die erwähnten UND- und ODER-Tore, verbunden mit dem Addierer Stromkreis ADC, bilden den Addierer-Torstromkreis ADGC.
Das Registers A weist noch weitere Ausgänge AF00 bis Auf 15 auf, die mit dendrittenEingängen derUND-ToreGAA00 bis GAA15 über UND-Tore GAA'00 bis GAA'15 verbunden sind, wobei die letzteren Tore durch Torsignale gs15 bzw.
Nicht-Schaltungen 1,00 bis I'15 gesteuert werden. Das Register A weist weiter Ausgänge F000 bis F015 auf, die mit dem Addierer-Stromkreis ADC, wie später erklärt wird, verbunden sind.
Das in Figur 2 gezeigte Register A enthält das eigentliche Register AR mit den oben erwähnten Zellen 00 bis 15, die Ausgänge AO00 bis A015 aufweisen. Diese Ausgänge sind mit einer Erste- 1 -Suchschaltung FFOC verbunden; diese Suchschaltung enthält 15 UND-Tore GA01 bis GA15, deren eine Eingänge mit den Ausgängen A001 bis A015 des Registers AR verbunden sind. Die andern Eingänge jedes dieser UND-Tore GA01 bis GA15 sind je über eine Nicht Schaltung mit allen jenen Ausgängen A000 bis A015 verbunden, welche vor dem in der Reihe gezeigten Tor vorhanden sind, z.
B. der einzelne andere Eingang des UND-Tores GA01 ist mit dem Ausgang des einzelnen, dem Ausgang AO00 vorangehenden Ausgang verbunden, und zwar über die Nicht Schaltung I00; die 14 übrigen Eingänge der UND-Tore GA15 sind mit den Ausgängen der 14 vorangehenden Ausgänge AO00 bis A014 über die Nicht-Schaltungen I00 bis I14 verbunden. Die Ausgänge AFO1 bis AF15 der UND-Tore GA01 bis GA15 (und der Ausgang AF00, welcher direkt mit dem Ausgang AO00 der Zellen 00 des Registers AR verbunden ist) sind mit einem Kodierer-Stromkreis CC verbunden, welcher den an seinen Eingang angelegten 16-Bit-Code in einen 4-Bit-Code umwandelt, welcher dann an seinen Ausgängen FO00 bis FO03 erscheint.
Figur 3 zeigt in ausführlicherer Form die Verbindungen, welche schon in Figur 1 angedeutet wurden. Es handelt sich um die Verbindungen zwischen den Ausgängen AO00 bis A015 des Registers A und den Addend-Eingängen AD00 bis AD15 des Addierer-Stromkreises ADC und weiter um die Verbindungen zwischen den Summier-Ausgängen SM00 bis SM15 dieses Addierer-Stromkreises ADC und den Eingängen AI00 bis AI15 bzw. XI00 bis XI15 des Registers A bzw. des Registers X. Dabei werden die Tore GAA00-GAA15, GSA00 GSAl5 und GSX00-GSX15 durch die Torsignale gs08(00)gs08(15, gs12(00)-gs12(15) und gsi 1 (00)-gs(15) gesteuert.
Figur 3 zeigt gleichfalls Verbindungen, welche in Figur 1 nicht dargestellt wurden, und zwar zwischen den Ausgängen XO00-XO15 des Indexregisters und den Ausgängen FO00 F003 des Kodierer-Schaltkreises einerseits und den Augend Eingängen AG00-AG1 1 und AG12-AG15 des Addierer Stromkreises ADC andererseits. Diese Verbindungen werden über die UND-Tore GX04 bis GX15 und GF00 bis GF03 hergestellt, wobei die Gruppen von Toren durch die Torsignale gsl4(00)-gs14(1 1) und gs14(12)-gs14(15) gesteuert werden; diese Steuersignale stammen, wie auch vorhin, von der Steuer Vorrichtung CD.
In Verbindung mit dem Flussdiagramm in den Figuren 4a und 4b sollte folgendes über die Instruktionen bzw. Befehle betreffs des Betriebs der Datenverarbeitungsanlage festgehalten werden:
Jede klassische Instruktion LDA, LDX, STA, STX wird durch ein 7-Bit-Funktions-Codewort gebildet, einschliesslich des Adressier-Modus und durch einen 9-Bit-Adressen-Teil: - die Instruktionen LDA(LDX) steuern das Ersetzen der Inhalte der Register A(X) durch die Speicherstelle, welche in der effektiven Adresse aufgefunden wurde, d. h. an der Adresse, die mittels des Adressen-Teiles der Instruktion und unter Verwendung des Adressier-Modus ermittelt wurde.
Wenn der Inhalt des Index-Registers X dazu verwendet wird, um die effektive Adresse aufzufinden, werden die Instruktionen durch LDA'(LDX') angedeutet; - die Instruktionen STA(STX) steuern das Ersetzen des Inhalts der Speicherstelle in der effektiven Adresse durch jenen der Register (A(X).
Die klassische Instruktion JDX wird durch ein Funktionscodewort und einen Adressenteil gebildet und steuert folgende Operationen: - Verringerung des Inhalts des Index-Registers X um eins; - wenn das Resultat nicht Null ist, springe zur Instruktion deren Adresse in der JDX-Instruktion gespeichert ist; - wenn das Resultat Null ist, führe die gleich danach folgende Instruktion aus.
Die FFO-Instruktion wird durch ein Funktions-Codewort gebildet und steuert die Durchführung der folgenden Operationen: - Kontrolliere den Inhalt des Registers A: ¯wenn Null, überspringe eine Instruktion; - wenn nicht Null, führe folgende Schritte nacheinander durch: - Speichere den Inhalt der Zellen 04 bis 15 des Registers X in dessen Zellen 00 bis 11; - speichere den Zustand der Ausgänge FO00 bis FO03 des Kodierer-Stromkreises CC des Registers A in den Zellen 12 bis 15 des Registers X; - stelle den ersten im Register A aufgefundenen 1-Bit zurück auf Null.
Nun wird anhand der Zeichnungen und des Flussdiagramms die Arbeitsweise der Datenverarbeitungsanlage näher beschrieben. Es wird hierbei vorausgesetzt, dass die Anlage ein (nicht gezeigtes) klassisches Telefon-Vermittlungsnetzwerk steuert, wobei die verarbeiteten Daten zum Beispiel folgende sind: - Information über den Zustand (geöffnet oder geschlossen) der zwischen anrufenden entfernten Ämtern und den ankommenden Verbindungsgliedern des Vermittlungsnetzwerkes vorhandenen Schleife.
Diese Schleifenzustände werden durch ein 1-Bit (geschlossen) oder durch ein 0-Bit (offen) angedeutet und in den 16-Bit-Wörtern einer Tabelle IJT eines ankommenden Verbindungsgliedes in dem Speicher MEM gespeichert wobei je ein Bit für ein ankommendes Verbindungsglied vorhanden ist; - Informationen über verarbeitete Anrufe, wobei die oben erwähnten ankommenden Verbindungsglieder eingeschlossen sind; eine solche Information ist zum Beispiel die Identität des Registers, welches mit einem ankommenden Verbindungsglied verbunden ist, die Identität eines abgehenden Verbindungsgliedes, welches mit einem ankommenden Verbindungsglied verbunden ist, usw. Diese Zustandsinformationen werden in den 16-Bit-Wörtern einer Zustands-Puffertabelle IJSBT eines ankommenden Verbindungsgliedes gespeichert, wobei z. B. ein derartiges Wort für je ein ankommendes Verbindungsglied vorhanden ist.
Wie aus der Beschreibung hervorgehen wird, ist die vorliegende Datenverarbeitungsanlage insbesondere zum Abtasten jener Worte der Tabelle IJSBT nützlich, welche den ankommenden Verbindungsgliedern entsprechen, die mit einer geschlossenen Schleife verbunden wurden, d.h. für welche ein 1-Bit in der Tabelle IJT registriert wurde.
Am Ende der Durchführung einer Instruktion ist die folgende Instruktion schon in den Speicher MEM eingegeben und die ausgelesene Instruktion steht erst nach einem bestimmten Zeitintervall zur Verfügung.
Es wird nun vorausgesetzt, dass während der Durchführung einer Instruktion die Eingabe einer LDX-Instruktion in den Speicher MEM mittels der Adresse dieser Instruktion erfolgt, wobei diese Adresse in dem Augenblick in das Register Y und den Programm-Zähler P gespeichert wird.
Um ein Zeitintervall später wird die adressierte 16-Bit LDX-Instruktion im Register M empfangen und das 7-Bit Funktions- oder Befehls-Codewort dieser Instruktion, welches in den Bits 0 bis 6 des Registers M eingespeist ist, wird in das Register F der Steuereinheit CU übertragen. Dieser Code wird in der Steuervorrichtung CD decodiert, wonach die Vorrichtung Torsignale erzeugt, welche die Durchführung verschiedener Operationen, die durch die LDX-Instruktion angedeutet sind, steuert.
Unter der Steuerung dieser Torsignale wird der Adressen-Teil der LDX-Instruktion, welche in den Zellen 7 bis 15 des Registers M gespeichert ist, zu den entprechenden Zellen 7 bis 15 des Registers Y übertragen, wozu die Addierer Einheit ADU verwendet wird, Indem entweder die Augendoder die Addend-Eingänge dieser Einheit ADU verwendet werden, funktioniert die Einheit als eine Übertragungs Sammelschiene, da die an die erwähnten Eingänge angelegte Information umgeändert an den Summier-Ausgängen des Addierer-Stromkreises ADC erscheint.
Die Steuervorrichtung Cd schaltet die Steuereingänge der Tore GGM07 bis GGM15 mittels der Torsignale gs01(07) bis gs01(15) und der Tore GGSY07 bis GSY1S mittels der Torsignale gs10(07) bis gs10(15) an, wodurch der Adressenteil der LDX-Instruktion in die Zellen 07 bis 15 des Registers Y übertragen werden.
Es wird vorausgesetzt, dass dieser Adressenteil die komplette oder Teiladresse der Speicherstelle angibt, in welcher die relative Adresse des letzten Wortes der Tabelle JIT gespeichert ist, wobei diese relative Adresse die Adresse in Bezug auf die Tabelle ist, d. h. in Bezug auf das erste Wort dieser Tabelle.
Wenn der Adressenteil im Register Y gespeichert und möglicherweise mit einer andern Adresse kombiniert ist, wird der Speicher MEM adressiert; als Folge wird die relative Adresse des letzten Wortes der Tabelle IJT im Speicherregister M empfangen. Unter der Steuerung der Steuervorrichtung CD wird dann diese Adresse in das Index-Register X übertragen, wobei wiederum die Addierer-Einheit ADU verwendet wird, und zwar dadurch, dass die Steuereingänge der Tore GGM00 bis GGM15 und GSX00 bis GSX15 durch die Torsignale gs03(00) bis gs03(15) und gs11(00) bis gs11(15) angeschaltet werden.
Vorhin wurde der Programmzähler P durch 1 erhöht, so dass die Adresse der nächsten durchzuführenden Instruktion dann im Zähler erscheint. Nun ist diese Adresse im Register Y gespeichert und wird zur Adressierung des Speichers MEM verwendet. Es wird vorausgesetzt, dass es sich um eine STX Instruktion handelt. Die Steuervorrichtung CD steuert auch das Löschen der Register M und F.
Die oben beschriebene LDX-Instruktion ist in der Computer-Technik schon bekannt und wurde deshalb ausführlich beschrieben, um die Verwendung der Addierer-Einheit ADU als Übertragungs-Sammelschiene klarzumachen. Die Instruk- tionen LDA, STA, STX und JDX sind in der Computer Technik an sich auch bekannt; deshalb werden sie im Folgenden nur kurz beschrieben.
Wenn die STX-Instrukion im Speicherregister M empf angen und ihr Funktions-Codewort im Register F gespeichert wird, steuert die Steuervorrichtung CD die Speicherung des Inhalts des Registers X im Wort Sl des Speichers MEM, ohne jedoch den Inhalt diese Registers X zu ändern. Diese Operation ist wichtig, weil der Inhalt des Registers X später abgeändert wird und weil in einem bestimmten Augenblick sein ursprünglicher Inhalt zur Verfügung stehen muss, wie später erklärt wird.
Während der Durchführung dieser STX-Instrukion wird der Programmzähler P um 1 erhöht, so dass die Adresse der nächsten Instruktion - welche eine LDA'-Instruktion ist - dort erscheint. Diese Adresse wird auch im Register Y gespeichert und dazu verwendet, den Speicher MEM zu adressieren. Es wird vorausgesetzt, dass die in der Instruktion LDA' gespeicherte Adresse eine effektive Adresse des ersten Wortes der Tabelle IJT ist.
Nachdem die LDA'-Instruktion im Speicherregister M empfangen und ihr Funktions-Codewort im Register F gespeichert wurde, steuert die Steuervorrichtung CD die Übertragung des Adressteils dieser LDA'-Instruktion vom Register M in das Register Y. Die Vorrichtung steuert auch die Speicherung des Inhalts des Registers X im Register Y und die Zusammenlegung der effektiven Adresse des ersten Wortes der Tabelle IJT mit der relativen Adresse des letzten Wortes dieser Tabelle, um die effektive Adresse dieses letzten Wortes zu erhalten. Der Speicher MEM wird durch diese effektive Adresse adressiert, so dass eine kurze Zeit nachher das letzte Wort der Tabelle IJT im Speicherregister M empfangen wird, aus welchem es in das Register A übertragen wird, zu welchem Zwecke die Addierer-Einheit ADU verwendet wird.
Die Steuervorrichtung CD steuert die Erhöhung des Programmzählers P um 1, so dass die Adresse der nächsten Instruktion, welche eine FFO-Instruktion ist, dort erscheint. Diese Adresse wird auch im Register Y gespeichert und zum Adressieren des Speichers MEM verwendet. Gleichzeitig werden die Register M und F freigegeben.
Nachdem die FFO-Instruktion im Speicherregister M empfangen und ihr Funktions-Codewort im Register F gespeichert wurde, steuert die Steuervorrichtung CD verschiedene Operationen, die durch die FFO-Instruktion angedeutet sind.
Zuerst wird festgestellt, ob der Inhalt des Registers A Null oder keine Null ist, und zwar indem der Ausgang eines (nicht gezeigten) ODER-Tores kontrolliert wird. Die Eingänge dieses Tores sind mit den Ausgängen AO00 bis AO15 des Registers A verbunden.
Wenn der Inhalt des Registers A Null ist, dann wird der Inhalt des Programmzählers P um 2 erhöht und die Adresse der JDX-Instruktion, welche dann in diesem erscheint, wird im Register Y gespeichert und zur Adressierung des Speichers MEM verwendet. Die Register M und F werden gelöscht.
Nachdem die JDX-Instruktion im Speicherregister M empfangen und ihr Funktions-Codewort im Register F gespeichert wurde, steuert die Steuervorrichtung CD die in der JDX-Instruktion angedeuteten Operationen: Der Inhalt des Registers X wird um 1 verringert, wonach festgestellt wird, ob dieser Inhalt von Null verschieden oder nicht ist, indem der Eingang eines (nicht gezeigten) ODER-Tores kontrolliert wird, dessen Eingänge mit den Ausgängen XO00 bis XO1S des Registers X verbunden sind. Wenn der Inhalt des Registers X Null ist, wird der Programmzähler P um 1 erhöht und die Adresse der nachfolgenden Instruktion, welche dann dort erscheint, im Register Y gespeichert und zur Adressierung des Speichers MEM verwendet. Die Register M und F werden gelöscht.
Wenn aber der Inhalt des Registers X nicht Null ist, wird der Inhalt des Programmzählers P verringert, so dass die Adresse der Instruktion STX wieder erscheint. Nachfolgend werden die oben angegebenen Operationen wiederholt.
Wenn der Inhalt des Registers A von Null verschieden ist, wird der Inhalt des Programmzählers P um 1 erhöht, so dass die Adresse einer STA-Instruktion in ihm erscheint. Diese Adresse wird gleichfalls im Register Y gespeichert und zur Adressierung des Speichers MEM verwendet. Die Steuervorrichtung CD steuert auch die Durchführung der in den FFO-Instruktionen angegebenen Operationen. Vor der näheren Behandlung diese: Operationen muss noch gesagt werden, dass, wenn das im Register A, und insbesondere im Register AR (Fig. 2), gespeicherte Wort 01000000000000001 ist, wird lediglich der Eingang AF01 des Kodierers CC betätigt.
In der Tat: - der Eingang AF00 wird nicht wirksam gemacht, da der Ausgang AO00 nicht wirksam ist; - die Ausgänge AF02 (nicht gezeigt) bis AF15 der Tore GA02 (nicht gezeigt) bis GA15 werden nicht wirksam gemacht, da im FFOC-Stromkreis einer der Steuereingänge jedes dieser Tore mit dem angeschalteten Ausgang A01 (nicht gezeigt) über eine Nicht-Schaltung I01 (nicht gezeigt) verbunden ist.
Der durch den Stromkreis FFOC an den Kodierer CC angelegtel-aus-16-Code0 10000000000000 0 wird dort in einem 4-Bit Binärcode 0001 codiert, welcher an den Ausgängen FO00 bis FO03 erscheint. Dieser Code gibt an, dass das erste aufgefundene 1-Bit das zweite Bit des Wortes ist.
Nachfolgend werden die durch die Steuervorrichtung Cd gesteuerten Operationen der FFO-Instruktionen beschrieben.
Dabei wird vorausgesetzt, dass der Inhalt des Registers X
0000000000001110 ist.
Diese Adresse deutet auf das Wort 14 der Tabelle IJT, d. h.
das fünfzehnte Wort dieser Tabelle.
Zuerst werden die Zustände 0 0 0 0 0 0 0 0 1 1 1 0 der Ausgänge X004 bis XO14 der Zellen 04 bis 15 des Regisers X und die Zustände 0 0 0 1 der Ausgänge FO00 bis FO04 des Kodierers CC des Registers A in den Zellen 00 bis 15 des Registers X über die Tore GX04 bis GX15, GF00 bis GF03 und GSX00 bis GSX15 des Addierer-Torstromkreises ADGC der Addierer-Einheit ADU gespeichert; die genannten Tore werden durch in der Steuervorrichtung CD erzeugte Torsignale gs14(00)-gs14(15) und gs11(00)-gs11(15) gesteuert. Das im Register X schliesslich gespeicherte Wort ist
0000000011100001
Dieses Wort gibt die Lage des aufgefundenen ersten Bits in der Tabelle IJT an. Die angegebene Lage in dieser Tabelle ist 225, was richtig ist, da das aufgefundene 1-Bit das zweite Bit des fünfzehnten Wortes dieser Tabelle darstellt.
Aus dem bisher Gesagten folgt, dass die Lage des ersten 1 Bits in einem Wort der Tabelle IJT mit der Lage dieses Wortes in der Tabelle zusammengelegt wurde, wodurch die Lage des ersten 1-Bits in der Tabelle IJT erhalten wurde.
Danach wird das erste im Register A aufgefundene 1-Bit auf Null zurückgestellt. Dies wird dadurch erreicht, dass der Inhalt aller Zellen des Registers A wieder in diese Zellen gespeichert wird, mit Ausnahme jener Zelle, in welcher das erste 1-Bit gefunden wurde. Diese Operation wird nochmals vorgenommen, indem die Addierer-Einheit ADU verwendet wird und indem Steuersignale gs15(00)-gs15(15), gs08(00) gs08(15) und gs12(00)-gs12(15) an die Steuereingänge der Tore GAA'00 bis GAA'15, GAA00 bis GAA15 und GSA00 bis GSAl5 angelegt werden. Da die Ausgänge der Nicht Schaltungen I'00 bis I'15 das Codewort
1011111111111111 bilden, werden die Tore GAA00 und GAA02 bis GAA15 in einen leitenden Zustand versetzt, während das (nicht gezeigte) Tor GAA01 gesperrt ist.
Folglich werden die Zustände der Ausgänge AO00 und AO02 bis A015 in den Zellen 00 und 02 bis 14 des Registers A gespeichert, während ein o in der Zelle 01 registriert wird. Das folgende Wort wird schlussendlich im Register A registriert:
0000000000000001
Wenn an diesem Wort eine neue FFO-Instruktion durchgeführt wird, wird ein erstes 1-Bit gefunden.
Wenn die nachfolgende Instruktion, welche eine STA Instruktion ist, aus dem Speicher MEM ausgelesen wird, wird sie im Speicherregister M empfangen; das Funktions-Codewort dieser Instruktion wird im Register F gespeichert. Die Steuervorrichtung CD steuert dann die Durchführung der verschiedenen in der STA-Instruktion vorhandenen Operationen: der Inhalt des Registers A wird im Wort S2 des Speichers MEM gespeichert, so dass es für eine spätere Verwendung zur Verfügung steht. Die Adresse dieses Wortes wird im Adressenteil der STA-Instruktion gespeichert. Die Steuervorrichtung CD steuert auch die Erhöhung um 1 des Programmzählers P, welcher dann die Adresse einer durchzuführenden LDA'-Instruktion angibt. Diese Adresse wird auch im Register Y gespeichert und zum Adressieren des Speichers MEM verwendet.
Weiter löscht die Steuervorrichtung CD auch die Register M und F.
Nachdem die LDA'-Instruktion im Speicherregister M empfangen und das Funktions-Codewort dieser Instruktion im Register F gespeichert wurde, steuert die Steuervorrichtung CD die Durchführung von verschiedenen Operationen, die durch diese LDA'-Instruktion angedeutet wurden; der Adressenteil dieser Instruktion ist jener des ersten Wortes der Tabelle IJSBT. Unter der Steuerung der Vorrichtung CD wird die letztere Adresse mit der im Register X gespeicherten Adresse zusammengelegt (diese letztgenannte Adresse wird durch die Lage eines 1-Bits in der Tabelle IJT gebildet), um die Adresse eines Wortes in der Tabelle IJSBT zu erhalten. Die Tabelle IJSBT wird dann mittels der letzteren Adresse adressiert und die dann im Speicherregister M erhaltene Information wird weiter in einer Weise verarbeitet, die hier nicht näher beschrieben wird, da sie für die vorliegende Erfindung unwichtig ist.
Nachdem dieser dx- und eine LDA-Instruktion nacheinander durchgeführt, um den Inhalt der Speicherwörter S1 bzw. S2 in die Register X bzw. A einzutragen. Wenn diese Operationen beendet sind, werden die schon oben beschriebenen, mit einer FFO-Instruktion beginnenden Operationen wiederholt, wie es aus den Flussdiagrammen in Figur 4a und 4b hervorgeht.
Es ist ersichtlich, dass jede Bit-Lage eines Wortes in der Tabelle IJT einen Zugang zu einem Wort aus der Tabelle IJSBT ermöglicht; es gilt also: je höher die Anzahl der Bts in der Tabelle IJT, desto höher kann die Anzahl der Worte in der Tabelle IJSBT sein.