-
Die vorliegende Erfindung betrifft eine
Bitfinderschaltung zum Auffinden der Position des ersten
Bits, das einen festgelegten Binärwert in einem m-bit
Eingabewort von der Position eines festgelegten Startbits
an und in einer festgelegten Richtung hat, wobei die
Positionen der Bits in besagtem m-bit Wort vom besagten
Startbit an durch einen n-bit Code definiert werden, und
die besagte Bitfinderschaltung eine Koppelpunktmatrix von
m Reihen und n Spalten hat.
-
Eine solche Bitfinderschaltung ist im allgemeinen
in der Technik bekannt und liefert die Position des
ersten Bits 0 oder 1 des betrachteten m-Bit Worts ab dem
ganz links stehenden Bit. Diese Position wird im
allgemeinen durch einen m-bit Code definiert, sodaß ein
Code-Umsetzer erforderlich ist, damit dieser Code in den
n-bit Code umgesetzt wird, z.B. mit m = 2n , wenn der n-
bit Code der Binärcode ist.
-
Auf der anderen Seite wird in der englischen
Patentanmeldung GB-2 173 617-A zum Beispiel ein
"Apparatus tor locating and indicating the position ot an
end "1" bit at a number in a multi-bit number format"
(Einrichtung für das Auffinden und die Positionsangabe
eines Ende "1" Bits einer Zahl in einem Multibit-
Nummemformat) veröffentlicht. Diese bekannte Einrichtung
liefert eine binärcodierte Zahl entsprechend der Position
des letzten "1" Bits eines Worts. Auch diese Position
wird in Bezug auf ab dem ersten (oder letzen) Bit des
Worts festgelegt. Des weiteren ist wieder ein Code-
Umsetzer erforderlich, damit dieser Code in einen
allgemeineren n-bit Code umgesetzt wird.
-
In manchen Fällen kann es nützlich sein, die
Position des ersten Bits zu finden, das einen
festgelegten Binärwert (0 oder 1) in einem m-bit
Eingabewort ab der Position eines festgelegten Startbits
und in einer festgelegten Richtung hat, d.h. ab der
Position eines Bits, das gerade verarbeitet wurde und
nicht ab dem am meisten links (oder rechts) stehenden
Bit.
-
Ein Ziel dieser Erfindung besteht in einer
Bitfinderschaltung des obigen Typs, die aber direkt den
n-bit Positionscode des ersten Bits 0/1 des betrachteten
m-bit Worts ab einer gewählten Bitposition liefert.
-
Erfindungsgemäß wird dieses Ziel aufgrund der
Tatsache erreicht, daß jeder Koppelpunkt besagter Matrix
-
ein erstes gesteuertes Schaltmittel mit drei
Terminalen umfaßt und ein erstes Durchgangsmittel hat,
das so angepaßt ist, daß es einen Kontakt zwischen einem
gemeinsamen Terminal und einem ersten Terminal der
besagten drei Terminale herstellt und ein zweites
Durchgangsmittel, das so angepaßt ist, daß es einen
Kontakt zwischen dem besagten gemeinsamen Terminal und
einem zweiten Terminal der besagten drei Terminale
herstellt, wobei das erste Durchgangsmittel und das
besagte zweite Durchgangsmittel in gegenseitiger
Ergänzung funktionieren, und
-
ein zweites gesteuertes Schaltmittel umfaßt, das so
angepaßt ist, daß es einen Kontakt zwischen einem dritten
Terminal und besagtem gemeinsamem Terminal herstellt,
-
wobei die Reihen des ersten gesteuerten
Schaltmittels jeweils von Bits von besagtem m-bit Wort
gesteuert werden und das zweite Durchgangsmittel vom
ersten gesteuerten Schaltmittel jeder Reihe an jeweilige
Bits des n-bit Codes gekoppelt wird, der das Bit des m-
bit Worts identifiziert, das diese zweiten
Durchgangsmittel steuert,
-
und daß die ersten Durchgangsmittel des ersten
gesteuerten Schaltmittels einer gleichen Spalte in Serie
geschaltet sind, während die zweiten gesteuerten
Schaltmittel einer gleichen Spalte parallelgeschaltet an
ein gleiches Ausgangsterminal angeschlossen sind und die
besagte Position des besagten ersten Bits liefern, das
den besagten festgelegten Binärwert hat, wobei die Reihen
der zweiten gesteuerten Schaltmittel von einer
Einzelreihen-Wahlschaltung gesteuert werden.
-
Unter der Steuerung von zum Beispiel den Bits 1 des
m-bit Worts werden nur die ersten gesteuerten
Schaltmittel, die als Wechselkontaktmittel gesehen werden
können, der zugehörigen Reihen betrieben, damit die n-bit
Identitätscodes von diesen Reihen getrennt werden und das
erste Durchgangsmittel davon schließen, während unter der
Steuerung der Einzelreihen-Wahlschaltung das zweite
gesteuerte Schaltmittel der gewählten Reihe so betrieben
wird, daß die Koppelpunkt-Terminale an die Ausgangs-
Terminale angeschlossen werden. Als Ergebnis werden
Ketten von Schaltmitteln ab dem zweiten Durchgangsmittel
der ersten Reihe gebildet, die auf die gewählte
Einzelreihe folgen und durch ein 0 Bit des m-bit Worts
gesteuert werden, und an die Ausgangsterminale über das
geschlossene erste Durchgangsmittel gehen, damit der n-
bit Identitätscode der ersten 1 Bit-Reihe, die der
gewählten Einzelreihe folgt, an diesen Ausgangsterminalen
direkt erscheint.
-
Die o.a. und anderer Ziele und Merkmale der
Erfindung werden klarer werden, und die Erfindung selbst
wird am besten verstanden werden, wenn auf die folgende
Beschreibung einer Ausführung verwiesen wird, die in
Verbindung mit den begleitenden zeichnungen betrachtet
wird. Es zeigt:
-
Fig. 1 eine erfindungsgemäße Bitfinderschaltung FC;
und
-
Fig. 2 eine elektronische Ausführung eines
Koppelpunkts I00A/S00A von Fig. 1 im Restzustand ebenso
wie eine Änderung davon in gestrichelten Linien.
-
Die in Fig. 1 dargestellte Bitfinderschaltung FC
umfaßt ein Speicherregister IR für 4-Bit-Eingabewörter
mit 4 Ausgängen S00 bis S11, einen Umsetzer TR mit 4
Ausgängen P00 bis P11, ein Identitäts-Ausgaberegister OR
mit 2 Eingaben IA und IB und eine Matrix M mit 8
Koppelpunkten.
-
Das Eingaberegister IR kann ein 4-Bit-Eingabewort
speichern, wobei die Bitpositionen dieses Wortes von den
2-Bit Identitäts-Codes 00, 01, 10 bzw. 11 definiert
werden.
-
Der Umsetzer TR ist dafür angepaßt, die
Bitpositionscodes 00, 01, 10 oder 11 von jeder gewählten
2-Bit Identität, die an seinem Eingang anliegt,
umzusetzen in einen entsprechenden dezimalen 4-Bit
Bitpositionscode 0001, 0010, 0100 bzw. 1000.
-
Das Identitäts-Ausgaberegister OR kann den
Bitpositionscode der 2-Bit Identität speichern, der an
den Eingängen IA und IB anliegt.
-
Die 8 Koppelpunkte der Matrix M werden in 4 Reihen
und 2 Spalten angeordnet, wobei jeder Koppelpunkt einen
Wechselkontakt ABC umfaßt, mit einem Schließkontakt AB
und einem Unterbrecherkontakt AC, und einem anderen
Schließkontakt AD. Alle Kontakte eines gleichen
Koppelpunkts haben somit ein gemeinsames Terminal A. Die
8 Wechselkontakte ABC werden mit I00A, I00B bis I11A,
I11b bezeichnet, während die 8 Schließkontakte AD mit
S00A, S00B bis S11A, S11B angegeben werden. Diese
Kontakte werden nicht alle in ihrer Ruhestellung gezeigt.
-
Die Reihen ABC Wechselkontakte, d.h. I00A, I00B bis
I11A, I11B, werden von jeweiligen Bits des 4-Bit
Eingabeworts gesteuert, das im Eingaberegister IR
gespeichert ist, bis zu dessen Ausgaben S00 bis S11. Die
Unterbrecherkontakte AC der Wechselkontakte ABC jeder
Reihe sind an jeweilige Bits des 2-Bit Positionscodes
gekoppelt, der die Position des Bits des 4-Bit Worts
identifiziert, das diese Unterbrecherkontakte steuert.
Zum Beispiel sind die Unterbrecherkontakte I00A und I00B
an jeweilige Bits 0 und 0 des 2-Bit Bitpositionscodes 00
gekoppelt, der die Position des ersten Bits des 4-Bit
Worts identifiziert, das diese Unterbrecherkontakte über
die Ausgabe S00 von IR steuert.
-
Die Schließkontakte AB jeder Spalte sind in einer
geschlossenen Schleife in Reihe geschaltet, während die
anderen Schließkontakte AD jeder Spalte an ein gleiches
Eingabeterminal IA oder IB des Ausgaberegisters OR
angeschlossen sind. Die Reihen von solch anderen
Schließkontakten AD werden über andere von den Ausgaben
P00 bis P11 des Umsetzers TR gesteuert, d.h. durch den
dezimalen 4-Bit Bitpositionscode 0001 bis 1000, der an
diesen Ausgaben gegeben werden kann.
-
Die oben beschriebene Bitfinderschaltung ist so
angepaßt, daß das erste 0 Bit eines 4-Bit Eingabeworts
gefunden wird, das im IR gespeichert ist, ab einer
Bitposition, die vom Umsetzer TR gewählt wird, und daß
sie den 2-Bit Positionscode des somit gefundenen 0 Bits
im Ausgaberegister OR speichert.
-
Die Bitfinderschaltung funktioniert wie folgt, wenn
zum Beispiel angenommen wird, daß das im Register IR
gespeicherte 4-Bit Eingabewort 0110 ist und daß der am
Eingang IN des Umsetzers anliegende 2-Bit Code 01 ist.
-
Da das Eingabewort 0110 ist, werden die Ausgaben
S00 und S11 desaktiviert (0), während die Ausgaben S01
und S10 aktiviert (1) werden. Folglich werden nur die
Wechselkontakte I01A, I01B, I10A und I10B in ihre
gezeigte Arbeitsposition gebracht, d.h. der AB
Schließkontakt ist geschlossen. Andererseits wird der am
Umsetzer TR anliegende 2-Bit Eingabecode 01 in den 4-Bit
Positionscode 0100 umgesetzt, und als Ergebnis werden nur
die Schließkontakte S01A und S01B in ihre gezeigte
Arbeitsposition gebracht. Dadurch liegen die
Identitätsbits 1,1 des 2-Bit Positionscodes 11 des ersten
Bits des 4-Bit Eingabeworts 0110 nach der gewählten
Reihe an den Eingaben IA bis IB an. Insbesondere liegt
das erste Bit 1 an IA über den Unterbrechungskontakt AC
von I11A an, die Schließkontakte AB von I10A und I01A und
der Schließkontakt AD von S01A. Das zweite Bit 1 liegt
auf gleiche Weise an IB an. So speichert das
Ausgaberegister schließlich den 2-Bit Positionscode 11
des ersten gefundenen 0 Bits.
-
Nun wird auf Fig. 2 verwiesen, die eine praktische
Ausführung der Koppelpunkte der Fig. 1 zeigt,
einschließlich des Wechselkontakts I00A und des Schließ
kontakts S00A. Der Wechselkontakt I00A umfaßt einen
Schließkontakt AB, der aus einem Paß-Gate gebildet wird,
das vermittels eines NMOS Transistors NMI aufgebaut ist,
und einem PMOS Transistor PM1, die von den Ausgaben S00
bzw. gesteuert werden, (die die Ergänzung von S00 und
davon abgeleitet ist). Der Unterbrechungskontakt AC des
Kontakts I00A wird aus NMOS Transistor NM3, der von der
Ausgabe S00 gesteuert wird, gebildet, wobei das Terminal
C an VSS gleich 0 Volt angeschlossen ist und ein binäres
darstellt. Der Schließkontakt S00A wird aus einem
anderen Paß-Gate gebildet, das durch die Transistoren NM2
und PM2 aufgebaut wird, die von den Ausgaben P00 bzw.
gesteuert werden (die eine Ergänzung von P00 und davon
abgeleitet ist).
-
Sollte der Unterbrecherkontakt AC eines
Koppelpunkts an ein Bit 1 gekoppelt sein, dann wird der
NMOS Transistor NM3 ersetzt durch den PMOS Transistor
PM3, von S00 gesteuert, und das Terminal C ist an VDD
gleich 5 Volt angeschlossen, das ein binäres 1 darstellt.
-
Anstatt des Anhebens der Transistorschalter von
Fig. 2, um einen Koppelpunkt von Fig. 1 auszuführen, ist
es auch möglich, hierfür Gates zu verwenden. Zum Beispiel
kann man zwei UND Gates verwenden (nicht gezeigt), deren
Eingaben von B, S00 und C, S00 gebildet werden und deren
Ausgaben durch ein OR Gate an einen Eingang eines anderen
UND Gates angeschlossen sind. Der andere Eingang dieses
anderen UND Gates wird von POO gebildet, und sein Ausgang
bildet den Ausgang D.
-
Die o.a. Bitfinderschaltung ist zum Beispiel in
einem Fernmeldeschaltsystem nützlich, indem ein nächster
freier Kanal unter mehreren besetzten / freien Kanälen
gefunden werden muß ab einem festgelegten Kanal, der
gegenwärtig weiterverarbeitet wird. Aus obigem Beispiel
ergibt sich, daß, wenn zum Beispiel der zweite Kanal von
vier solchen Kanälen gegenwärtig verarbeitet wird (und
daher besetzt ist), der nächste freie zu benutzende Kanal
der vierte Kanal mit der Identität 11 ist.
-
Die Prinzipien der Erfindung sind zwar weiter oben
in Verbindung mit spezifischen Einrichtungen beschrieben
worden, es muß aber klar sein, daß diese Beschreibung nur
als Beispiel dient und keine Beschränkung des Umfangs der
Erfindung darstellt.