-
Die
vorliegende Erfindung betrifft ein Schieberegister, das durch Kaskadieren
mehrerer bidirektionaler Registereinheiten gebildet ist, und insbesondere
ein Schieberegister, das schnell eine Verarbeitung, wie ein Einfügen und
Löschen
von Daten in Bezug auf eine gehaltene Datenkette ausführen kann.
-
Zum
geordneten Organisieren von Daten in einer Kommunikationsvorrichtung
oder dergleichen durch Umordnen der Daten in chronologischer Reihenfolge
oder Adressenreihenfolge ist irgendeine Operation für eine Datenkette
erforderlich. Herkömmlicherweise
wurde eine solche Funktion durch Softwareverarbeitung implementiert.
Beispielsweise werden neue Daten im Allgemeinen durch eine Technik
in eine Datenkette eingefügt,
bei der ein Programm verwendet wird, um Daten, die sich hinter dem
Einfügungsort
der neuen Daten befinden, nacheinander einzeln zu verschieben, und
die neuen Daten in den sich ergebenden freien Raum eingefügt werden.
Es ist daher viel Zeit erforderlich, um auch nur eine Dateneinheit
einzufügen.
-
Zum
Lösen dieses
Problems haben die Erfinder dieser Erfindung in JP-A-2001-126491
(Referenz 1) ein Schieberegister vorgeschlagen, das einen Dateneinfügungsvorgang
(Datenkonstruktion) in Bezug auf eine Datenkette sehr schnell und
einfach ausführt,
indem, verglichen mit einer herkömmlichen Softwareverarbeitung,
eine verhältnismäßig einfache Hardwareanordnung
verwendet wird.
-
Wenngleich
das Schieberegister, das in der Referenz 1 offenbart ist, Daten
schnell und leicht in eine Datenkette einfügen kann, benötigt es
eine lange Verarbeitungszeit, um spezifische Daten aus einer gehaltenen
Datenkette zu löschen.
Dies liegt daran, dass zum Löschen
spezifischer Daten Daten, die in aufeinander folgenden Schieberegistereinheiten
aufgezeichnet sind, in der nachfolgenden Stufe des Schieberegisters,
worin die zu löschenden
Daten aufgezeichnet sind, sequenziell ausgelesen werden müssen, und
die gelesenen Daten wiederholt in die Schieberegistereinheiten der
vorhergehenden Stufe geschrieben werden müssen.
-
In
WO 98/56005 ist ein bidirektionales Schieberegister mit Dateneinfügungs- und
Löschfunktionen
offenbart.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, ein Schieberegister
bereitzustellen, das eine Operation in Bezug auf eine Datenkette,
wie das Einfügen
von Daten in die Datenkette und das Löschen von Daten aus dieser,
durch die Verwendung einer einfachen Hardwareanordnung schnell und
leicht ausführen
kann.
-
Zum
Lösen dieser
Aufgabe ist gemäß der vorliegenden
Erfindung ein Schieberegister nach Anspruch 1 bereitgestellt.
-
Es
zeigen:
-
1 ein
Blockdiagramm eines Schieberegisters,
-
2 einen
Schaltplan einer 1-Bit-Anordnung jeder bidirektionalen Registereinheit
in 1,
-
3 einen
Schaltplan eines Schiebesteuerabschnitts in 1,
-
die 4A bis 4E Ansichten
zum Erklären
der Arbeitsweise des Schieberegisters in 1,
-
5 ein
Blockdiagramm eines Schieberegisters und
-
6 ein
Blockdiagramm eines Schieberegisters gemäß der vorliegenden Erfindung.
-
Die
vorliegende Erfindung wird nachstehend detailliert mit Bezug auf
die anliegende Zeichnung beschrieben.
-
1 zeigt
ein Schieberegister, das beim Verständnis der vorliegenden Erfindung
nützlich
ist. Das Schieberegister besteht aus n (n ist eine natürliche Zahl
größer oder
gleich 2) kaskadierten bidirektionalen Registereinheiten (RUs) 11 bis 1n und
einem Schiebesteuerabschnitt 10 zum Steuern der bidirektionalen
Registereinheiten 11 bis 1n.
-
Jede
der bidirektionalen Registereinheiten 11 bis 1n umfasst
einen m-Bit-(m ist eine natürliche Zahl)-Ein-/Ausgabeanschluss
(direkten Ein-/Ausgabeanschluss) A, der in der Lage ist, Daten von
einem Datenbus 9 mit einer Busbreite von m Bits parallel einzugeben
bzw. an diesen auszugeben, einen m-Bit-Ein-/Ausgabeanschluss (Schiebe-Ein-/Ausgabeanschluss
der vorhergehenden Stufe) B zum parallelen Eingeben von Daten von
der bidirektionalen Registereinheit der vorhergehenden Stufe oder
zum Ausgeben an diese und einen m-Bit-Ein-/Ausgabeanschluss (Schiebe-Ein-/Ausgabeanschluss
der nachfolgenden Stufe) C zum parallelen Eingeben von Daten von
der bidirektionalen Registereinheit der nachfolgenden Stufe und
zum Ausgeben an diese. Jede der bidirektionalen Registereinheiten 11 bis 1n umfasst
auch einen CLK-Signalanschluss zum Eingeben eines CLK-Signals (Schiebetakt),
einen DIR-Signalanschluss
zum Eingeben eines DIR-Signals zur Festlegung einer Schieberichtung,
einen SEL-Signalanschluss zum Eingeben eines SEL-Signals zur Festlegung
einer bidirektionalen Registereinheit, welche Daten direkt vom Datenbus 9 eingibt bzw.
an diesen ausgibt, und einen OE-Signalanschluss zum Eingeben eines
OE-Signals, um die Registereinheit zu veranlassen, festgehaltene
Daten an den Datenbus 9 auszugeben, zusammen mit dem SEL-Signal.
-
Die
Schieberichtung von jeder der bidirektionalen Registereinheiten 11 bis 1n kann
durch das DIR-Signal geändert
werden. Es sei angenommen, dass die Schieberichtung von links nach
rechts die Vorwärtsrichtung
ist und die Schieberichtung von rechts nach links die Rückwärtsrichtung
ist.
-
Zuerst
wird ein Fall beschrieben, in dem das DIR-Signal in Vorwärtsrichtung
gesetzt ist. Wenn das DIR-Signal in Vorwärtsrichtung gesetzt ist, gibt
jede der bidirektionalen Registereinheiten 11 bis 1n gehaltene
Daten vom Ein-/Ausgabeanschluss C aus. Zusätzlich werden die vom Ein-/Ausgabeanschluss
C der bidirektionalen Registereinheit der vorher gehenden Stufe ausgegebenen
Daten oder Daten auf dem Datenbus 9 entsprechend dem SEL-Signal
als Eingangsdaten ausgewählt.
Die Eingangsdaten werden ansprechend auf das CLK-Signal empfangen.
-
In
diesem Fall wählt
jede der bidirektionalen Registereinheiten 11 bis 1n den
Ein-/Ausgabeanschluss A oder den Ein-/Ausgabeanschluss B als einen Anschluss
zum Empfangen der Eingangsdaten entsprechend dem SEL-Signal aus.
Die empfangenen Eingangsdaten werden festgehalten, bis das nächste CLK-Signal eingegeben
wird. Wenn der Ein-/Ausgabeanschluss A entsprechend dem SEL-Signal
ausgewählt
wurde und das OE-Signal
an den OE-Signalanschluss angelegt wird, werden die festgehaltenen
Daten an den Datenbus 9 ausgegeben. Es sei bemerkt, dass
das OE-Signal den bidirektionalen Registereinheiten 11 bis 1n von
außen
als ein gemeinsames Signal zugeführt
wird.
-
Wenn
das DIR-Signal in Gegenrichtung festgelegt wird, gibt jede der bidirektionalen
Registereinheiten 11 bis 1n festgehaltene Daten
vom Ein-/Ausgabeanschluss B aus. Jede bidirektionale Registereinheit
empfängt
die vom Ein-/Ausgabeanschluss
B der bidirektionalen Registereinheit der nachfolgenden Stufe ausgegebenen
Daten als Eingangsdaten, ansprechend auf das CLK-Signal, und hält die Daten, bis
das nächste
CLK-Signal eingegeben wird. Wenn der Ein-/Ausgabeanschluss A entsprechend
dem SEL-Signal ausgewählt
wurde und das OE-Signal an den OE-Signalanschluss angelegt wird,
werden die festgehaltenen Daten an den Datenbus 9 ausgegeben.
-
Der
Schiebesteuerabschnitt 10 umfasst k-Bit-(k ist eine natürliche Zahl)-RU-Nummer-Festlegungsanschlüsse, einen
DIR-Signaleingabeanschluss,
einen CLK-Signaleingabeanschluss und n Sätze von SEL-Signalausgabeanschlüssen, DIR-Signalausgabeanschlüssen und
CLK-Signalausgabeanschlüssen,
welche eine Eins-eins-Entsprechung mit den bidirektionalen Registereinheiten 11 bis 1n aufweisen.
Die DIR-Eingabeanschlüsse
und die DIR-Ausgabeanschlüsse
bilden Schieberichtungs-Schalteinrichtungen. Wenn ein binäres Signal der
RU-Nummer- Festlegungsdaten
an die RU-Nummer-Festlegungsanschlüsse angelegt wird, gibt der Schiebesteuerabschnitt 10 an
die durch die RU-Nummer-Festlegungsdaten festgelegte bidirektionale
Registereinheit das SEL-Signal von dem entsprechenden SEL-Signalausgabeanschluss
aus.
-
Zusätzlich gibt
der Schiebesteuerabschnitt 10 an die bidirektionalen Registereinheiten
nach der bidirektionalen Registereinheit, die durch die RU-Nummer-Festlegungsdaten
festgelegt ist, die CLK-Signale als Schiebetakte, die am CLK-Signaleingabeanschluss
eingegeben werden, von den entsprechenden CLK-Signalausgabeanschlüssen aus. Die
vom DIR-Signaleingabeanschluss
eingegebenen DIR-Signale werden direkt von den DIR-Signalausgabeanschlüssen an
die jeweiligen bidirektionalen Registereinheiten 11 bis 1n verteilt.
-
Wie
vorstehend beschrieben wurde, umfasst der Schiebesteuerabschnitt 10 die
Einrichtung zum Auswählen
bidirektionaler Registereinheiten zur selektiven Ausführung einer
Daten-Ein-/Ausgabeoperation in Bezug auf beliebige bidirektionale
Registereinheiten über
die Direkt-Ein-/Ausgabeanschlüsse,
die Schiebetakt-Zufuhreinrichtung zum selektiven zuführen von
Schiebetakten zu den kaskadierten bidirektionalen Registereinheiten 11 bis 1n,
die von der bidirektionalen Registereinheit, die von der Einrichtung zum
Auswählen
bidirektionaler Registereinheiten ausgewählt wurde, bis zur letzten
bidirektionalen Registereinheit reicht, und die Ein-/Ausgaberichtungs-Schalteinrichtung
zum Schalten der Ein-/Ausgaberichtungen
der jeweiligen bidirektionalen Registereinheiten 11 bis 1n.
-
Als
nächstes
wird die detaillierte Schaltungsanordnung jeder Komponente der vorstehend
erwähnten
bidirektionalen Registereinheiten 11 bis 1n beschrieben. 2 zeigt
eine 1-Bit-Anordnung jeder bidirektionalen Registereinheit. Diese
Schaltungen sind durch die Busbreite des Datenbusses parallel angeordnet,
um jede der bidirektionalen Registereinheiten 11 bis 1n zu
bilden. Die in 2 dargestellte 1-Bit-Schaltung
besteht aus einem D-Flipflop 20, Wählern 21 und 22,
frei gegebenen Puffern 23, 24 und 25,
einer NICHT-Schaltung 26 und einer UND-Schaltung 27.
-
Der
D-Flipflop 20 hat einen Dateneingabeanschluss DIN, einen
Datenausgabeanschluss DOUT und einen CLK-Signaleingabeanschluss
CLK. Der Dateneingabeanschluss DIN ist mit dem Ausgabeanschluss
des Wählers 22 verbunden,
der zum Schalten von Eingabeoperationen in Vorwärts- und in Rückwärtsrichtung
verwendet wird. Der Datenausgabeanschluss DOUT ist mit dem Eingang
von jedem der freigegebenen Puffer 23, 24 und 25 verbunden. Der
CLK-Signaleingabeanschluss CLK ist mit dem CLK-Signalanschluss der
bidirektionalen Registereinheit verbunden.
-
Es
sei bemerkt, dass eine Latch-Stufe oder dergleichen an Stelle des
D-Flipflops 20 verwendet werden kann. Wenngleich im Allgemeinen
ein Rücksetz-
oder Vorsetzsignal an den D-Flipflop
angelegt ist, wird auf eine Beschreibung davon aus Gründen der
Einfachheit verzichtet.
-
Jeder
der Wähler 21 und 22 weist
zwei Eingabeanschlüsse "0" und "1",
einen Wählsignal-Eingabeanschluss
und einen Ausgabeanschluss auf. In dem Wähler 21 ist der Eingabeanschluss "0" mit einem Ein-/Ausgabeanschluss Bi
(1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden, der Eingabeanschluss "1" mit
einem Ein-/Ausgabeanschluss Ai (1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden und der Wählsignal-Eingabeanschluss mit
dem SEL-Signalanschluss der bidirektionalen Registereinheit verbunden.
In dem Wähler 22 ist
der Eingabeanschluss "0" mit einem Ein-/Ausgabeanschluss
Ci (1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden, der Eingabeanschluss "1" mit
dem Ausgabeanschluss der bidirektionalen Schnittstelle 21 verbunden,
der Wählsignal-Eingabeanschluss
mit dem DIR-Signalanschluss der bidirektionalen Registereinheit
verbunden und der Ausgabeanschluss mit dem Dateneingabeanschluss
DIN des D-Flipflops 20 verbunden.
-
Jeder
der freigegebenen Puffer 23, 24 und 25 weist
einen Eingabeanschluss, einen Freigabesignal-Eingabeanschluss und
einen Ausgabeanschluss auf. In dem freigegebenen Puffer 23 ist
der Eingabeanschluss mit dem Datenausgabeanschluss DOUT des D-Flipflops 20 verbunden,
wie vorstehend beschrieben wurde, der Ausgabeanschluss mit dem Ein-/Ausgabeanschluss
Bi (1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden und der Freigabesignal-Eingabeanschluss
mit dem Ausgabeanschluss der NICHT-Schaltung 26 verbunden.
Der Eingabeanschluss der NICHT-Schaltung 26 ist mit dem
DIR-Signalanschluss der bidirektionalen Registereinheit verbunden.
-
Im
freigegebenen Puffer 24 ist der Eingabeanschluss mit dem
Datenausgabeanschluss DOUT des D-Flipflops 20 verbunden,
wie vorstehend beschrieben wurde, der Ausgabeanschluss mit dem Ein-/Ausgabeanschluss
Ai (1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden und der Freigabesignal-Eingabeanschluss
mit dem Ausgabeanschluss der UND-Schaltung 27 verbunden.
Die UND-Schaltung 27 weist zwei Eingabeanschlüsse auf.
Einer dieser Eingabeanschlüsse
ist mit dem SEL-Signalanschluss der bidirektionalen Registereinheit
verbunden, und der andere Eingabeanschluss ist mit dem OE-Signalanschluss
verbunden.
-
In
dem freigegebenen Puffer 25 ist der Eingabeanschluss mit
dem Datenausgabeanschluss DOUT des D-Flipflops 20 verbunden,
wie vorstehend beschrieben wurde, der Ausgabeanschluss mit dem Ein-/Ausgabeanschluss
Ci (1 ≤ i ≤ m) der bidirektionalen
Registereinheit verbunden und der Freigabesignal-Eingabeanschluss mit dem DIR-Signalanschluss
der bidirektionalen Registereinheit verbunden.
-
Als
nächstes
wird die Arbeitsweise jeder 1-Bit-Schaltung mit der vorstehend erwähnten Anordnung
beschrieben. Falls das DIR-Signal auf dem "H"-Pegel
liegt, führt
die bidirektionale Registereinheit die Operation in Vorwärtsrichtung
aus. In diesem Fall dienen der Ein-/Ausgabeanschluss Bi und der Ein-/Ausgabeanschluss
Ci infolge der Funktionen des Wählers 22,
der freigegebenen Puffer 23 und 25 und der NICHT-Schaltung 26 als
ein Dateneingabeport bzw. ein Datenausgabeport. Falls das SEL-Signal
auf dem "L"-Pegel liegt, wählt der
Wähler 21 den Ein-/Ausgabeanschluss
Bi aus, an den ein Signal von der bidirektionalen Registereinheit
der vorhergehenden Stufe angelegt ist. Falls das SEL-Signal auf
dem "H"-Pegel liegt, wählt der
Wähler 21 den
Ein-/Ausgabeanschluss Ai aus, an den ein Signal vom Datenbus angelegt
ist. Ansprechend auf das CLK-Signal, werden die ausgewählten Eingangsdaten
empfangen.
-
Falls
das DIR-Signal auf dem "L"-Pegel liegt, dienen
der Ein-/Ausgabeanschluss Ci und der Ein-/Ausgabeanschluss Bi der
bidirektionalen Registereinheit als ein Dateneingabeport bzw. ein
Datenausgabeport, wodurch ein umgekehrter Schiebevorgang ausgeführt wird.
Das heißt,
dass die Eingangsdaten vom Ein-/Ausgabeanschluss
Ci ansprechend auf das CLK-Signal empfangen werden. Zusätzlich wird
die UND-Schaltung 27, falls sowohl das SEL-Signal als auch
das OE-Signal auf den "H"-Pegel gelegt werden,
unabhängig
von der Richtung des DIR-Signals auf den "H"-Pegel
gelegt, und der freigegebene Puffer 24 wird leitend gemacht,
wodurch Daten vom D-Flipflop 20 auf den Datenbus ausgegeben werden.
-
3 zeigt
die detaillierte Anordnung des Schiebesteuerabschnitts 10.
Die in 3 dargestellte Schaltung besteht aus einem Leitungsdecodierer 30,
n freigegebenen Puffern 31 bis 3n und (n – 1) ODER-Schaltungen 42 bis 4n.
Der Leitungsdecodierer (Registereinheits-Auswahleinrichtung) 30 weist RU-Nummer-Festlegungssignal-Eingabeanschlüsse 1 bis
k, die mit k-Bit-(k ist eine natürliche Zahl)-RU-Nummer-Festlegungsanschlüssen des Schiebesteuerabschnitts 10 in
einer Eins-eins-Entsprechung verbunden sind, und n Ausgabeanschlüsse 1 bis
n zur Ausgabe von Eingangssignal-Decodierergebnissen auf.
-
Jeder
der freigegebenen Puffer (Schiebetakt-Zufuhreinrichtungen) 31 bis 3n hat
einen Eingabeanschluss, einen Freigabesignal-Eingabeanschluss und
einen Ausgabeanschluss. Jede der ODER-Schaltungen 42 bis 4n hat
zwei Eingabeanschlüsse
und einen Ausgabeanschluss.
-
Die
n Ausgabeanschlüsse
1 bis n des Leitungsdecodierers 30 sind mit den n SEL-Signalausgängen des
Schiebesteuerabschnitts in einer Eins-eins-Entsprechung verbunden.
Der Ausgabeanschluss 1 ist mit dem Freigabesignal-Eingabeanschluss
des freigegebenen Puffers 31 der ersten Stufe und einem
Eingabeanschluss der ODER-Schaltung 42 der zweiten Stufe
verbunden. Der Ausgabeanschluss 2 des Leitungsdecodierers 30 ist
mit dem anderen Eingabeanschluss der ODER-Schaltung 42 verbunden. Der
Ausgabeanschluss der ODER-Schaltung 42 ist
mit dem Freigabesignal-Eingabeanschluss des freigegebenen Puffers 32 der zweiten
Stufe und einem Eingabeanschluss der ODER-Schaltung 43 der
dritten Stufe verbunden.
-
Ebenso
sind die Ausgabeanschlüsse
der ODER-Schaltungen 43 bis 4n mit den Freigabesignal-Eingabeanschlüssen der
freigegebenen Puffer 33 bis 3n in denselben Stufen
verbunden und ist der Ausgabeanschluss von jeder der ODER-Schaltungen 43 bis
4(n – 1)
mit einem Eingabeanschluss der ODER-Schaltung der nachfolgenden
Stufe verbunden. Jeder der Ausgabeanschlüsse 3 bis n Leitungsdecodierers 30 ist
mit dem anderen Eingabeanschluss einer entsprechenden der ODER-Schaltungen 43 bis 4n verbunden.
Zusätzlich
ist der DIR-Signaleingabeanschluss des Schiebesteuerabschnitts mit
den n DIR-Signalausgabeanschlüssen
des Schiebesteuerabschnitts verbunden.
-
Als
nächstes
wird die Arbeitsweise der in 3 dargestellten
Schaltung beschrieben. Wenn RU-Nummer-Festlegungssignale 1 bis k
in den Leitungsdecodierer 30 eingegeben werden, werden eine
Ausgabe von einem Ausgabeanschluss der Ausgabeanschlüsse 1 bis
n, welcher der von den RU-Nummer-Festlegungssignalen
festgelegten Nummer entspricht, und die SEL-Signalausgabe als Decodierergebnisse
auf den "H"-Pegel gelegt. Zusätzlich werden
Ausgaben von ODER-Schaltungen der ODER-Schaltungen 42 bis 4n,
welche der ODER-Schaltung folgen, in die das auf dem "H"-Pegel liegende SEL-Signal eingegeben
wurde, sequenziell auf den "H"-Pegel gelegt. Dadurch
werden freigegebene Puffer, die dem freigegebenen Puffer folgen,
welcher der von den RU-Nummer-Festlegungssignalen festgelegten Nummer
entspricht, leitend gemacht, und die CLK-Signale werden zu CLK-Signalausgabeanschlüssen übertragen,
die dem der festgelegten Nummer entsprechenden Anschluss folgen.
-
Das
DIR-Signal wird ohne jede spezielle Verarbeitung zu allen DIR-Signalausgabeanschlüssen übertragen.
Die Vorrichtung kann jedoch zusätzlich eine
Schaltung zum Ausführen
einer Steuerung aufweisen, um die Polaritäten nur der DIR-Signale zu ändern, die
einem DIR-Signal folgen, welches wie im Fall des CLK-Signals der
durch das SEL-Signal festgelegten Nummer entspricht.
-
Die
Arbeitsweise des in 1 dargestellten Schieberegisters
wird als nächstes
mit Bezug auf die 4A bis 4E beschrieben.
Es sei angenommen, dass es vier Typen von Daten, nämlich Daten
A, B, C und D, gibt. Jeder Typ umfasst mehrere Daten, und den jeweiligen
Daten sind Nummern zugewiesen. Es sei ein Fall betrachtet, in dem
sequenziell erzeugte Daten in der Reihenfolge von A bis D angeordnet
werden müssen,
und Daten desselben Typs in ansteigender Zahlenfolge angeordnet
werden müssen.
Schritt 1 (4A) gibt eine zu einem gegebenen Zeitpunkt
in den bidirektionalen Registern RU1 bis RU14 gespeicherte Datenkette
an. Es sei angenommen, dass die Daten A1, A2, A3, A4, B1, B2, B3,
C1, C4, D2 und D3 jeweils in den bidirektionalen Registern RU1 bis
RU11 aufgezeichnet werden, jedoch keine Daten in den bidirektionalen
Registern RU12 bis RU14 aufgezeichnet werden.
-
Wie
durch Schritt 2 angegeben ist (4B), sollten,
wenn Daten B4 erzeugt werden, die Daten B4 zwischen den Daten B3
und den Daten C1 eingefügt werden.
In diesem Fall werden die Daten B4, um zu bewirken, dass das in 1 dargestellte
Schieberegister den Einfügungsvorgang
ausführt,
zuerst auf den Datenbus ausgegeben. Dann werden RU-Nummer-Festlegungsdaten,
welche die bidirektionale Registereinheit RU8 der achten Stufe angeben,
in der die Daten C1 gespeichert sind, in die RU-Nummer-Festlegungsanschlüsse des
Schiebesteuerabschnitts 10 eingegeben. Das in Vorwärtsrichtung
festgelegte DIR-Signal wird in den DIR-Signaleingabeanschluss eingegeben.
Das CLK-Signal als ein Schiebetakt wird an den CLK-Signaleingabeanschluss
des Schiebesteuerabschnitts 10 angelegt. Schritt 3 (4C)
gibt das Ergebnis des vorstehend erwähnten Einfügungsvorgangs an.
-
Dementsprechend
können
Daten leicht und schnell an einer beliebigen Position eingefügt werden,
um eine Datenkette mit einer gewünschten
Anordnung zu konstruieren.
-
Ein
Fall, in dem spezifische Daten gelöscht werden und der sich ergebende
freie Platz dann mit den Daten gefüllt wird, die den gelöschten Daten
folgen, wird als nächstes
beschrieben. Es sei ein Fall betrachtet, in dem die Daten A3 gelöscht werden
und der sich ergebende freie Platz zu füllen ist, indem die Daten,
die den Daten A3 folgen, nach links geschoben werden, wie durch
Schritt 4 angegeben ist ( 4D). Zuerst
werden RU-Nummer-Festlegungsdaten, welche die bidirektionale Registereinheit
RU3 der dritten Stufe angeben, in der die Daten A3 gespeichert sind,
in die RU-Nummer-Festlegungsanschlüsse des
Schiebesteuerabschnitts 10 eingegeben. Das in den DIR-Signaleingabeanschluss
einzugebende DIR-Signal wird dann in Rückwärtsrichtung festgelegt. Das
CLK-Signal als ein Schiebetakt wird an den CLK-Signaleingabeanschluss
des Schiebesteuerabschnitts 10 angelegt. Dadurch werden
die Daten A3 gelöscht
(überschrieben),
und die Daten A4 bis D3 werden um eine Stufe nach links geschoben.
-
Es
sei bemerkt, dass ein geeigneter Wert, wie "0",
in die am weitesten rechts gelegene bidirektionale Registereinheit
eingegeben wird. Schritt 5 (4E) gibt
das Ergebnis des vorstehend erwähnten
Löschvorgangs
an. Gemäß dieser
Anordnung können
das Löschen
von Daten an einer beliebigen Position und der Füllvorgang leicht und schnell
ausgeführt
werden, um eine Datenkette mit einer gewünschten Anordnung zu konstruieren.
-
Die
Ausgabe spezifischer Daten an den Datenbus 9 wird als nächstes beschrieben.
Wenn Daten auszulesen sind, können
RU-Nummer-Festlegungsdaten,
welche die bidirektionale Registereinheit angeben, in der die auszulesenden
Daten gespeichert sind, zusammen mit dem OE-Signal in die RU-Nummer-Festlegungsanschlüsse des
Schiebesteuerabschnitts 10 eingegeben werden. Mit diesem
Vorgang werden die in der festgelegten bidirektionalen Registereinheit
gehaltenen Daten an den Datenbus 9 ausgegeben. Hierdurch
wird es möglich,
die Daten extern auszulesen.
-
5 zeigt
ein anderes Schieberegister. In dem Schieberegister muss, wie mit
Bezug auf die 4A bis 4E beschrieben
ist, die Position der Daten B3 zum Einfügen der Daten B4 festgestellt werden
und muss die Position der Daten A3 zum Löschen der Daten A3 festgestellt
werden. Als Verfahren zum Feststellen dieser Positionen ist das
erste Verfahren verfügbar,
das Daten nacheinander einzeln von Beginn an durchsucht. Es ist
auch das zweite Verfahren, bei dem Dichotomie verwendet wird, verfügbar, welches
folgendermaßen
ausgeführt
wird: Falls die Anordnung der Daten eine Regelmäßigkeit aufweist, wird ein
Zwischenwert gefunden, und es wird geprüft, ob sich der Zielwert vor
oder hinter dem Zwischenwert befindet. In der restlichen Halbgruppe wird
der Ort des Zielwerts anhand eines Zwischenwerts in der gleichen
Weise bestimmt, wodurch die Suche verschmälert wird. Bei beiden Verfahren
ist durchschnittlich eine erhebliche Anzahl von Schritten erforderlich,
bis der Zielwert festgestellt wird.
-
Wie
in 5 dargestellt ist, ist eine aus n Vergleichern 61 bis 6n und
einem Prioritätscodierer 50 bestehende
Adressenausgabeeinrichtung zu der Anordnung in 1 hinzugefügt. 5 zeigt
Elemente, die zu dem mit Bezug auf 1 beschriebenen
Schieberegister hinzugefügt
sind. Eine Darstellung eines Schiebesteuerabschnitts 10 ist
fortgelassen. Mit Bezug auf 5 sei bemerkt,
dass bidirektionale Registereinheiten 51 bis 5n wie
RU1 bis RUn mit den bidirektionalen Registereinheiten 11 bis 1n in 1 identisch
sind. Eingabeanschlüsse
A der Vergleicher 61 bis 6n sind mit einem Datenbus 60 verbunden,
und Eingabeanschlüsse
B sind mit den Ausgabeanschlüssen
der Flipflops (oder Latch-Stufen) der bidirektionalen Registereinheiten 51 bis 5n in denselben
Stufen verbunden.
-
Koinzidenzfeststellungsausgaben
von den jeweiligen Vergleichern 61 bis 6n werden
in den Prioritätscodierer 50 eingegeben,
und die Nummern 1 bis n der Ausgaben, welche als Ergebnis der Koinzidenzfeststellung
auf den "H"-Pegel gelegt wurden, werden
zu binären
Daten oder dergleichen codiert. Die sich ergebenden Daten werden
als Adressinformationen ausgegeben. Falls mehrere Daten eine Koinzidenz
aufweisen, gibt der Prioritätscodierer 50 beispielsweise
die kleinste oder die größte Zahl
aus. Falls keine Daten eine Koinzidenz aufweisen, werden Inkoinzidenzfeststellungsdaten
auf den "H"-Pegel gelegt. Das
heißt,
dass gemäß dieser
Ausführungsform
eine Nummer, die einer bidirektionalen Registereinheit entspricht,
in der Daten gespeichert sind, von den n Vergleichern 61 bis 6n und
dem Prioritätscodierer 50 entsprechend
der Festlegung des gespeicherten Dateninhalts ausgegeben wird. Es
sei bemerkt, dass diese Anordnung auch eine Funktion hat, Daten
bei der Vergleichsoperation jedes Vergleichers aus Vergleichszielen
auszuschließen
(zu maskieren).
-
Wenn
bei dieser Anordnung beispielsweise die Existenz einer Dateneinheit
B3 bekannt ist und ihre Position festzustellen ist, wird der Vergleicher
an der der Dateneinheit B3 entsprechenden Position auf den "H"-Pegel gelegt, indem nur die Daten B3
auf den Datenbus 60 gegeben werden, und die Adressinformationen
des Orts können
schnell erkannt werden. Der Leitungsdecodierer 30 wählt eine
der bidirektionalen Registereinheiten aus, welche zum Einfügen oder
Löschen
von Daten, entsprechend den erhaltenen Adressinformationen, verwendet
werden.
-
Es
sei angenommen, dass eine Dateneinheit E3 einzufügen ist, jedoch die Existenz
einer Gruppe von Daten E unbekannt ist. In diesem Fall kann festgestellt
werden, ob die Daten E existieren, indem die Daten E3 zuerst in
die Dateneinheit E und die Dateneinheit 3 unterteilt werden und
der Abschnitt, der der Dateneinheit 3 entspricht, aus den Vergleichszielen ausgeschlossen
(maskiert) wird. Falls als Ergebnis dieser Operation festgestellt
wird, dass die Gruppe der Daten E nicht existiert, können die
Daten E3 zum Ende der Datenkette hinzugefügt werden. Dementsprechend
kann die Operation für eine
Datenkette schneller als gemäß der ersten
Ausführungsform ausgeführt werden.
-
6 zeigt
ein Schieberegister gemäß der vorliegenden
Erfindung. Diese Erfindung unterscheidet sich von der Vorrichtung
aus 1 in der Hinsicht, dass ein Bit von jeder der
bidirektionalen Registereinheiten 71 bis 7n als
ein Endefeststellungsbit zugewiesen ist, Latch-Stufen 71a bis 7na,
welche die Endefeststellungsbits speichern, mit einer Pull-up-Signalleitung 81 durch
Ein-/Ausgabeanschlüsse
A verbunden sind und die Ausgabeanschlüsse der Latch-Stufen 71a bis 7na mit
Eingabeanschlüssen
1 bis n eines Prioritätscodierers 70 verbunden
sind. Die Latch-Stufen 71a bis 7na und der Prioritätscodierer 70 bilden
eine Adressausgabeeinrichtung.
-
Alle
Endefeststellungsbits werden auf den "L"-Pegel
im Anfangszustand zurückgesetzt.
Wenn der Dateneinfügungsvorgang
jedoch auf einem Datenbus 80 ausgeführt wird, wird das "H"-Pegel-Endefeststellungsbit
in einer entsprechenden der Latch-Stufen 71a bis 7na gesetzt.
Weil diese Bitinformationen durch einen Schiebevorgang in die nächste Stufe übertragen
werden, werden die Endefeststellungsbits in allen bidirektionalen
Registereinheiten, in denen Daten festgelegt sind, auf den "H"-Pegel gelegt, während jene in den restlichen
bidirektionalen Registereinheiten auf den "L"-Pegel
gelegt werden. Weil das Endefeststellungsbit auch an den Prioritätscodierer 70 ausgegeben
wird, wird die kleinste Nummer der "H"-Pegel-Eingabe durch den
Prioritätscodierer 70 in
binäre
Daten oder dergleichen codiert. Diese Daten werden als Adressinformationen
ausgegeben.
-
Gemäß dieser
Erfindung bilden daher die den jeweiligen bidirektionalen Registereinheiten 71 bis 7n zugewiesenen
bidirektionalen 1-Bit-Register ein bidirektionales Register für das Ein-
bzw. Ausgeben von Endefeststellungsinformationen, und der Prioritätscodierer 70 gibt
eine Zahl aus, die der bidirektionalen Registereinheit entspricht,
in der die Endefeststellungsinformationen gespeichert sind.
-
Mit
dieser Operation kann anhand Adressinformationen vom Prioritätscodierer 70 schnell
festgestellt werden, bis zu welcher Registereinheit Daten festgelegt
(eingefügt)
wurden. Hierdurch wird es möglich,
schnell den Ort zum Ende einer Datenkette hinzugefügter neuer
Daten, wie bei der zweiten Ausführungsform,
festzustellen. Ohne eine Einrichtung in der Art jener gemäß dieser
Ausführungsform,
ist beispielsweise eine Einrichtung zum Aufzeichnen von Informationen,
welche angeben, bis zu welcher bidirektionalen Registereinheit Daten
festgelegt wurden, in einem Speicher oder dergleichen erforderlich,
was zu einer komplizierten Verarbeitung führt.
-
Wie
vorstehend beschrieben wurde, kann gemäß der vorliegenden Erfindung
eine Operation in Bezug auf eine Datenkette, wie das Einfügen und
Löschen
von Daten in Bezug auf die in einer Gruppe bidirektionaler Registereinheiten
gespeicherte Datenkette, leicht und schnell auf Hardware implementiert werden.
-
Zusätzlich besteht
jede bidirektionale Registereinheit aus mehreren bidirektionalen
Registern, und Schiebetakte werden diesen bidirektionalen Registern
synchron zugeführt.
Zusätzlich
werden Ein-/Ausgabeoperationen durch die Ein-/Ausgabeanschlüsse der jeweiligen bidirektionalen
Register synchron ausgeführt.
Daher können
Daten nicht nur dann, wenn serielle Daten als eine Datenkette verwendet
werden, sondern auch dann, wenn Bytedaten oder Wortdaten verwendet
werden, leicht und schnell auf einer Byte- oder Wortbasis eingefügt und gelöscht werden.
-
Weil
die vorliegende Erfindung weiter eine Einrichtung aufweist, um,
wenn ein gespeicherter Dateninhalt festgelegt wird, eine Nummer
auszugeben, die der bidirektionalen Registereinheit entspricht,
in der die Daten gespeichert sind, kann eine bidirektionale Registereinheit,
in die Daten eingefügt werden
sollten oder aus der Daten gelöscht
werden sollten, leicht und schnell festgestellt werden.
-
Weil
weiterhin jede bidirektionale Registereinheit weiter das bidirektionale
Register aufweist, welches Endefeststel lungsinformationen eingibt
bzw. ausgibt, und die vorliegende Erfindung weiter die Einrichtung
zum Ausgeben einer Nummer, die einer bidirektionalen Registereinheit
entspricht, in der Endefeststellungsinformationen gespeichert sind,
aufweist, kann das Ende einer gespeicherten Datenkette leicht und
schnell festgestellt werden. Weil es weiter nicht erforderlich ist,
dass eine Einrichtung in der Art eines Speichers vorhanden ist,
in der Informationen, welche angeben, bis zu welcher bidirektionalen Registereinheit
Daten gespeichert wurden, aufgezeichnet sind, ist die Anordnung
des Schieberegisters vereinfacht und kann eine Kostenverringerung erreicht
werden.