DE4019135A1 - Serieller speicher auf ram-basis mit parallelem voraus-lesen - Google Patents
Serieller speicher auf ram-basis mit parallelem voraus-lesenInfo
- Publication number
- DE4019135A1 DE4019135A1 DE4019135A DE4019135A DE4019135A1 DE 4019135 A1 DE4019135 A1 DE 4019135A1 DE 4019135 A DE4019135 A DE 4019135A DE 4019135 A DE4019135 A DE 4019135A DE 4019135 A1 DE4019135 A1 DE 4019135A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- read
- output
- data element
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/16—Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Static Random-Access Memory (AREA)
Description
Die Erfindung betrifft einen seriellen Speicher gemäß Oberbegriff
des Patentanspruchs 1 sowie ein Verfahren gemäß Oberbegriff des
Patentanspruchs 10.
Derartige Speicher finden häufig als Puffer-Speicher Verwendung,
die zur Anpassung von Komponenten mit unterschiedlicher Datenrate
dienen, indem sie Datenelemente mit einer bestimmten Rate
aufnehmen und die Datenelemente in derselben Reihenfolge, in der
sie abgespeichert wurden, mit einer anderen Rate wieder ausgeben.
Allgemein lassen sich zwei Typen von Puffer-Speichern unter
scheiden. Der eine Typ beruht auf dem Verschieben von Datenele
menten durch eine Kette von Speicherzellen, d.h. auf dem Prinzip
des Ringschieberegisters. Der andere Typ basiert auf Speichern
mit wahlfreiem Zugriff, d.h. RAM-Speichern, die kein Verschieben
von Datenelementen erfordern. Die vorliegende Erfindung betrifft
den letzteren Typ der RAM-basierten seriellen Speicher. Bei
herkömmlichen Puffer-Speichern dieser Art ist der Zeitbedarf
eines Lesevorgangs hoch, da eine bestimmte Speicherzelle, die das
angeforderte Datenelement enthält, ausgewählt werden muß
(Aktivieren der Speicherzelle und Ausgabe auf die Bitleitung) und
das von der Speicherzelle abgegebene Signal mit einem Verstärker
zur Ausgabe aufbereitet werden muß. Somit haben die im Stand der
Technik bekannten Systeme eine hohe Zugriffszeit.
Aufgabe der Erfindung ist die Schaffung eines seriellen Speichers
und eines Verfahrens mit reduzierter Zugriffszeit zur Ausgabe von
Datenelementen.
Zur Lösung dieser Aufgabe dient ein Speicher der eingangs
genannten Art mit den kennzeichnenden Merkmalen des Patent
anspruchs 1 bzw. 10.
Erfindungsgemäß wird während des Speicher-Lesezyklus, der einem
aktuellen Lesebefehl für ein Datenelement in dem seriellen
Speicher zugeordnet ist, die Lese-Operation für die Speicherzelle
mit dem auf den nächsten Lesebefehl auszugebenden Datenelement
eingeleitet und so parallel zum aktuellen Lesezyklus bereits die
Speicherzelle des vom nächsten Lesebefehl angeforderten Datenele
ments ausgewählt. In einer spezielleren Ausführungsform wird die
Speicherzelle mit dem im nächsten Zyklus anzufordernden Datenele
ment ausgelesen und schon im aktuellen Lesezyklus bereitgestellt.
Daher kann in der bevorzugten Ausführungsform das aktuell
angeforderte Datenelement ausgegeben werden, ohne daß die
Speicherzelle mit diesem Datenelement ausgewählt oder ausgelesen
werden müßte. Ferner ist der serielle Puffer-Speicher in der
bevorzugten Ausführungsform als FIFO-Speicher (FIFO = First-In
-First-Out) ausgelegt. Durch Parallelisierung realisiert die
Erfindung ein vorteilhaftes Voraus-Lesen einer Speicherzelle noch
bevor der Lese-Befehl für das in dieser Speicherzelle enthaltene
Datenelement eintrifft.
Die Erfindung wird im folgenden anhand der Figuren näher
erläutert. Es zeigen:
Fig. 1 eine Übersicht des Gesamtsystems entsprechend der
bevorzugten Ausführungsform der Erfindung;
Fig. 2A, 2B, 2C Schaltungen zur Realisierung des Schreib- oder
Lese-Zellenselektors aus Fig. 1;
Fig. 3A, 3B jeweils eine Speicherzelle mit zwei Anschlüssen
zur Verwendung in einer Speichermatrix in Fig. 1;
Fig. 4 eine direkte Verbindung über die Speichermatrix für ein
abzuspeicherndes Datenelement zu einem Anfangsdaten
register;
Fig. 5A, 5B jeweils Schaltungen zur Erzeugung eines Statussig
nals, das Informationen über den Zustand des Puffer-
Speichers anzeigt;
Fig. 6 eine Steuerschaltung, die Steuersignale für die
Torschaltungen und Register in Fig. 1 erzeugt;
Fig. 7 Aufbau der Steuerschaltung aus Fig. 6;
Fig. 8 eine Schaltung zum Zurücksetzen des Lese-Zellenselektors
auf ein Zurücksetzsignal hin;
Fig. 9 eine Schaltung zum Zurücksetzen des Lese-Zellenselektors
auf ein Zurücksetzsignal hin;
Fig. 10A bis 10F Wahrheitstabellen für die Einheiten RTR, SEL,
INDW, INIT 1, RTW und INDR aus Fig. 7.
In Fig. 1 ist ein Puffer-Speicher 2 in einer bevorzugten
Ausführungsform gemäß der Erfindung gezeigt. Dabei handelt es
sich um einen FIFO-Puffer-Speicher und daher werden die Daten
elemente in derselben Reihenfolge ausgegeben, in der sie vorher
in den Puffer-Speicher geschrieben wurden. Es gibt eine linke
Speichermatrix 4 und eine rechte Speichermatrix 6, die gleich
aufgebaut sind und gleiche Anzahlen von Zeilen und Spalten
haben. Beispielsweise möge jede Matrix vier Spalten mit einer
Tiefe von je 128 Speicherzellen bilden, wobei jede Speicherzelle
ein Datenelement von 9 Bit aufzunehmen vermag.
Im folgenden wird die Schreib-Operation im Puffer-Speicher
erläutert. In jedem Schreibzyklus wird alternierend eine der
beiden Speichermatrizen zum Abspeichern eines entsprechenden
Datenelements aktiviert und innerhalb der jeweiligen Speicher
matrix in einer durch eine vorgegebene Reihenfolge festgelegte
Speicherzelle abgespeichert. Beispielsweise wird in einer Reihe
aufeinanderfolgender Datenelemente das erste in Zelle 1 der
linken Speichermatrix gespeichert, das nächste in Zelle 1 der
rechten Matrix, das nächste in Zelle 2 der linken Matrix, das
nächste in Zelle 2 der rechten Matrix, das nächste in Zelle 3
der linken Matrix, das nächste in Zelle 3 der rechten Matrix
usw. Die Auswahl einer Speichermatrix zum Abspeichern wird von
einem Schreib-Matrixselektor 8 durchgeführt. Durch ein Schreib
signal auf der Schreibtaktleitung WRT CLK wird ein Schreibzyklus
für ein bestimmtes Datenelement definiert, das über die WRT
DATA-Leitung in den Puffer-Speicher geschrieben wird; der
Schreib-Matrixselektor 8 wird durch das Schreibsignal aktiviert
und wählt auf jedes Schreibsignal hin alternierend eine der
beiden Speichermatrizen aus. Der Schreib-Matrixselektor kann auf
verschiedene Weise aufgebaut werden, z.B. unter Benutzung von
Dividier- oder Zählerschaltungen, Schieberegistern oder bi
stabilen Kippstufen (Flip-Flops, wie im Fall der hier be
schriebenen Ausführungsform) etc.; jede beliebige Schaltung, die
in aufeinanderfolgenden Schreibzyklen abwechselnd die rechte und
linke Matrix auswählt, kann als Schreib-Matrixselektor dienen.
Die Auswahl einer Zelle zum Schreiben wird von den Schreib-
Zellenselektoren 10 durchgeführt, von denen je einer den beiden
Speichermatrizen zugeordnet ist. Der Aufbau des Schreib-Zellen
selektors wird weiter unten beschrieben; seine Funktion besteht
darin, in der zugehörigen Matrix eine Zelle nach einer vorge
gebenen Reihenfolge auszuwählen, wenn die zugehörige Matrix
durch den Schreib-Matrixselektor ausgewählt ist. Jede Matrix ist
mit einem zugehörigen Anfangsdatenregister 12 über eine Schreib
datenleitung WRT DATA verbunden, die durch die Matrix hin
durchläuft; die WRT DATA-Leitungen übertragen die Datenelemente
zur Abspeicherung in den Speichermatrizen. Die Anfangsdaten
register 12 werden jeweils durch die Signale IDWL und IDWR aus
einer Steuerschaltung 14 angesprochen und zur Aufnahme und
Abspeicherung des ersten Elements einer Folge von Datenelementen
veranlaßt, die in den Puffer-Speicher in die durch den Schreib-
Matrixselektor 8 ausgewählte Speichermatrix geschrieben wird.
Dieses erste Datenelement wird in das jeweilige Anfangsdaten
register mit der WRT DATA-Leitung übertragen, die direkt durch
die jeweilige Speichermatrix läuft. Wenn beispielsweise der
Matrixselektor 8 mit der linken Matrix beginnt, so wird das in
Zelle 1 der linken Matrix abzuspeichernde Datenelement über die
WRT DATA-Leitung auch in das mit der linken Matrix verbundene
Anfangsdatenregister übertragen und dort gespeichert. Wenn der
Matrixselektor 8 mit der rechten Matrix beginnt, so wird ent
sprechend das in Zelle 1 der rechten Matrix abzuspeichernde
Datenelement über die WRT DATA-Leitung auch in das mit der
rechten Matrix verbundene Anfangsdatenregister übertragen und
dort gespeichert.
In einer abgewandelten Ausführungsform wird das Datenelement nur
in das Anfangsdatenregister 12 geschrieben und nicht auch in
eine Speicherzelle. In einer weiteren Ausführungsform wird das
erste Datenelement über eine gesonderte Leitung in das Anfangs
datenregister übertragen, die nicht durch die Speichermatrix
verläuft. Es sei aber angemerkt, daß die durch die Speicher
matrix durchlaufende Verbindung die Anforderung an den Datenbus
und unerwünschte Aufladungseffekte vermindert. In einer weiteren
Ausführungsform wird nur ein Anfangsdatenregister verwendet, das
mit beiden Speichermatrizen verbunden ist.
Ein Übertragungsregister 16 wird mit der von dem Matrixselektor
8 als erstes auszuwählenden Speichermatrix verbunden. In Fig.
1 ist das Übertragungsregister beispielsweise mit der linken
Speichermatrix 4 verbunden dargestellt. Das Übertragungsregister
wird durch ein Signal RTW aus der Steuerschaltung 14 zur Auf
nahme und Abspeicherung eines Datenelements veranlaßt, das in
der linken Matrix gespeichert werden soll. In dieser Aus
führungsform wird das abzuspeichernde Datenelement vom Über
tragungsregister von derselben Leitung aufgenommen, die das
Datenelement zum Anfangsdatenregister derselben Matrix über
trägt. In einer abgewandelten Ausführungsform wird auf das
Übertragungsregister und seine Funktion gänzlich verzichtet.
Es werden nun die Lese-Operationen des Puffer-Speichers anhand
der in Fig. 1 dargestellten Ausführungsform erläutert. Da es
sich bei dem Puffer-Speicher 2 um einen FIFO-Speicher handelt,
werden die Datenelemente in derselben Reihenfolge aus dem
Speicher ausgegeben, mit der sie in den Speicher hinein
geschrieben wurden.
In jedem Lesezyklus wird eine Speicherzelle aus abwechselnd
einer der Speichermatrizen ausgewählt und das darin enthaltene
Datenelement ausgelesen. Das aus der Speicherzelle ausgelesene
Datenelement ist jedoch nicht das in dem aktuellen Lesezyklus
auszugebende, sondern das in dem nächstfolgenden Lesezyklus
auszugebende Datenelement. Da das Lesen einer Speicherzelle die
Auswahl der Zelle (Aktivieren der Speicherzelle zur Ausgabe des
gespeicherten Signals auf die Datenbitleitungen) und das Aus
lesen des Signals mit einem Leseverstärker erfordert, wird zum
Lesen einer Speicherzelle mehr Zeit verbraucht als zur einfachen
Ausgabe eines Datenelements aus einem Register oder einer
Ausgabeleitung. Der Puffer-Speicher 2 arbeitet dadurch parallel,
daß im voraus die als nächste angeforderte Speicherzelle aus
gelesen wird und dadurch das Datenelement bereits auf einer
Ausgabeleitung zur Verfügung steht, bevor der zugehörige Lese
zyklus durch einen Lesebefehl für dieses Datenelement einge
leitet wird. Die Auswahl und Auslese einer Speicherzelle, die
ein aktuell angefordertes Datenelement enthält, sind bereits
während des vorigen Lesezyklus durchgeführt, der dem durch den
aktuellen Lesebefehl eingeleiteten unmittelbar vorausgeht. Auf
diese Weise wird der gesamte Lesevorgang für ein Datenelement im
voraus durchgeführt und es steht auf einer Ausgabeleitung zur
Verfügung, wenn der Lesebefehl für dieses Datenelement ein
trifft.
In abgewandelten Ausführungsformen kann das aus einer Speicher
zelle ausgelesene Datenelement in einem Register oder einem
Flip-Flop gespeichert werden, anstatt es auf einer Ausgabe
leitung zu halten. In einer weiteren abgewandelten Ausführungs
form kann die parallele Voraus-Operation auf das Auswählen der
Speicherzelle, die das nächste Datenelement enthält, beschränkt
sein, während das Auslesen der Speicherzelle erst nach Eintref
fen des Lesebefehls für dieses Datenelement ausgeführt wird.
In der bevorzugten Ausführungsform kann das erste Datenelement,
da es bereits in dem Anfangsdatenregister 12 gespeichert ist,
ausgegeben werden, ohne daß ein vorhergehender Lesezyklus
erforderlich wäre. Dann wird jedes nachfolgende Datenelement in
dem Lesezyklus ausgelesen, der dem von seinem Lesebefehl einge
leiteten unmittelbar vorausgeht. Jede Speichermatrix ist mit
einem Leseverstärker 18 verbunden, der sich aus einer Reihe
einzelner Verstärker für jedes Bit des Datenelements zusammen
setzt. Die Auswahl einer Speichermatrix zur Auslese einer
Speicherzelle daraus wird von einem Lese-Matrixselektor 20
durchgeführt. Der Lese-Matrixselektor kann genauso wie der
Schreib-Matrixselektor auf viele verschiedenen Weisen aufgebaut
werden. In der hier beschriebenen Ausführungsform, wird die
Funktion durch ein Flip-Flop realisiert. Der Lese-Matrixselektor
wird durch Lesesignale auf der Lesetaktleitung READ CLK ange
sprochen und zur alternierenden Auswahl der linken und rechten
Speichermatrix in aufeinanderfolgenden Lesezyklen veranlaßt. Die
Auswahl einer Matrixzelle zum Auslesen wird von den Lese-Zellen
selektoren 22 durchgeführt, von denen je einer den beiden
Speichermatrizen zugeordnet ist. Der Aufbau des Lese-Zellen
selektors wird weiter unten beschrieben; seine Funktion besteht
darin, in der zugehörigen Matrix eine Zelle nach der Reihen
folge, mit der die Datenelemente in den Speicher eingeschrieben
wurden, auszuwählen, wenn die zugehörige Matrix durch den Lese-
Matrixselektor für einen Lesevorgang ausgewählt ist. Jeder
Leseverstärker 18 wird durch ein Signal aus dem Lese-Matrix
selektor zur Auslese einer Zelle aktiviert, die durch den
zugehörigen Lese-Zellenselektor 22 ausgewählt ist. Der Ausgabe
wert einer Speicherzelle wird durch die Leseverstärker auf
zugehörige Ausgabeleitungen 24 übertragen. Die Ausgabeleitungen
der Anfangsdatenregister 12, der Übertragungsregister 16 und die
Ausgabeleitungen 24 der Leseverstärker 18 sind gesondert mit
einer Anordnung von Torschaltungen 26 verbunden. Die Torschal
tungen 26 werden durch die Steuerschaltung 14 (gezeigt in Fig.
6 und detaillierter in Fig. 7) gesteuert, um in jedem Lese
zyklus nur eine ausgewählte Ausgabeleitung mit einem Ausgangs
treiber 28 zu verbinden - entweder eines der Anfangsdaten
register, das Übertragungsdatenregister oder eine Ausgabe
leitung.
Im ersten Lesezyklus wird das erste Datenelement aus dem An
fangsdatenregister ausgegeben, in das es zuvor beim Abspeichern
in den Puffer-Speicher geschrieben wurde. Ebenfalls wird im
ersten Lesezyklus das als nächstes (d.h. im zweiten Lesezyklus)
auszugebende Datenelement aus einer Speicherzelle in der anderen
Speichermatrix, die der Matrix mit dem angeschlossenen Anfangs
datenregister mit dem ersten Datenelement gegenüberliegt,
gelesen. Die erste Zelle dieser gegenüberliegenden Matrix wird
während des ersten Lesezyklus ausgewählt und ausgelesen und das
verstärkte Datensignal auf die Ausgabeleitung 24 gelegt. In
jedem folgenden Lesezyklus wird dann das zuvor gelesene Daten
element über eine Ausgabeleitung 24 abgegeben, während das im
folgenden Lesezyklus auszugebende Datenelement aus der nächsten
Zelle der anderen Matrix gelesen wird, die der Matrix, aus der
das in diesem Lesezyklus auszugebende Datenelement gelesen
wurde, gegenüberliegt. So wird jeweils das nächste auszugebende
Datenelement gelesen (Auswählen der Speicherzelle, Auslesen und
Übertragen des verstärkten Signals auf einer Ausgabeleitung),
während das im akutellen Lesezyklus auszugebende über eine
Ausgabeleitung abgegeben wird. Auf diese Weise ist ein parallel
arbeitender FIFO-Puffer-Speicher mit Voraus-Lesen realisiert.
Fig. 2A zeigt einen seriellen Selektor, der zum Aufbau des
Schreib-Zellenselektors 10 oder des Lese-Zellenselektors 22 in
Fig. 1 verwendet werden kann. Der serielle Selektor umfaßt ein
Ringschieberegister mit einem Schieberegister 30, das über eine
Rückkopplungsleitung 32 geschlossen wird. Die Anzahl der Stufen
des Schieberegisters entspricht der Anzahl der Zeilen in der
Speichermatrix; jede Stufe des Schieberegisters ist einer
bestimmten Zeile der Speichermatrix zugeordnet. Zu Beginn wird
ein Bit in eine vorgegebene Position innerhalb des Schieberegi
sters 30 eingegeben und zeigt so auf eine bestimmte Zeile. Bei
jedem Taktimpuls wird das Zeiger-Bit um eine Stufe innerhalb des
Schieberegisters verschoben und zeigt so auf die nächste Zeile
von Speicherzellen. In dem hier gewählten Beispiel umfaßt das
Schieberegister 128 Stufen von 0 bis 127, die genau den Zeilen
0 bis 127 der Speichermatrix entsprechen. Außerdem ist die
Rückkopplungsleitung mit einer Zähler/Dekodier-Kombination 32
verbunden. Für eine Speichermatrix mit 4 Spalten wird ein Zwei-
Bit-Zähler benutzt, so daß der Dekodierer eine von vielen
Spalten entsprechend des Zählerzustands auswählen kann. Jedesmal
wenn das Zeiger-Bit über die Rückkopplungsleitung 32 zurückge
führt wird, wird der Zwei-Bit-Zähler um eins heraufgezählt. So
wählt das Ringschieberegister 30 zusammen mit der Zähler/De
kodier-Kombination 33 seriell alle Zellen der zugehörigen
Speichermatrix aus, die 128 Zeilen und 4 Spalten von Speicher
zellen aufweist.
Die Länge des Schieberegisters 30 wird durch die Anzahl der
Zeilen der Speichermatrix festgelegt und die Dimensionierung der
Zähler/Dekodier-Kombination bestimmt sich aus der Anzahl der
Spalten der Speichermatrix.
In einer abgewandelten Ausführungsform kann die Anzahl der
Stufen des Schieberegisters auch die Hälfte der Anzahl der
Zellen der Speichermatrix betragen. In diesem Fall bezeichnet
jede Stufe einen Satz von zwei Zeilen und ein weiterer Zeilen
selektor wählt in aufeinanderfolgenden Zyklen jeweils eine der
Zeilen aus. Ferner kann die Stufenanzahl des Schieberegisters
zur Speichermatrixdimensionierung in weitere unterschiedliche
Verhältnisse gesetzt werden, wenn ein zusätzlicher Zeilenselek
tor aus dem von der Schieberegisterstufe bezeichneten Satz von
Zeilen eine auswählt. Dieses abgewandelte Schema kann immer bei
Benutzung eines Schieberegisters mit einem Zeiger-Bit Anwendung
finden.
Fig. 2B zeigt einen alternativen seriellen Selektor, der zum
Aufbau des Schreib-Zellenselektors 10 oder des Lese-Zellenselek
tors 22 in Fig. 1 verwendet werden kann. Der serielle Selektor
enthält einen Mehr-Bit-Zähler 35, einen Zeilendekodierer 36 und
einen Spaltendekodierer 38. Der Zähler 34 wird jedes Mal in
krementiert, wenn der serielle Selektor zur Auswahl einer
Speicherzelle aktiviert wird. Die stellen-niedrigsten Bits
werden zur Auswahl einer bestimmten Zeile in der Speichermatrix
dekodiert, während die stellen-höheren Bits zur Auswahl einer
bestimmten Spalte in der Speichermatrix dekodiert werden. Für
eine Speichermatrix mit 128 Zeilen und 4 Spalten wird ein Neun-
Bit-Zähler benötigt, wie in Fig. 2B gezeigt. Die 7 stellen
niedrigsten Bits werden zur Zeilenauswahl und die zwei stellen
höchsten Bits zur Spaltenauswahl benutzt.
Fig. 2C zeigt einen weiteren seriellen Selektor, der zum Aufbau
des Schreib-Zellenselektors 10 oder des Lese-Zellenselektors 22
in Fig. 1 verwendet werden kann. Ein erstes Schieberegister 15
wird durch eine Rückkopplungsleitung 17 geschlossen und zeigt
mit seinen 128 Stufen jeweils auf eine der 128 Zeilen der
Speichermatrix; ein zweites Ringschieberegister 18 mit 4 Stufen
zeigt auf jeweils eine der vier Spalten der Matrix. Die Rückkop
plungsleitung 17 des ersten Schieberegisters 15 ist so mit dem
zweiten Schieberegister 18 verbunden, daß dieses aktiviert wird,
jedes Mal wenn das Zeiger-Bit im Schieberegister 15 über die
Rückkopplungsleitung 17 zurückgeführt wird. Mit dieser Anordnung
wird im ersten Schieberegister 15 ein Zeiger-Bit für eine
bestimmte Zeile und in dem zweiten Schieberegister 19 ein
Zeiger-Bit für eine bestimmte Spalte der Speichermatrix zur
Verfügung gestellt.
Bei allen oben beschriebenen seriellen Selektoren kann der
Zustand des Selektors bei Aktivierung als Auswahl einer bestimm
ten Speicherzelle dienen. Als Alternative kann der Selektor, der
bei Aktivierung in einen neuen Zustand übergeht, den neuen
Zustand als bestimmte Auswahl darstellen.
Die vorliegende Erfindung benutzt Speicherzellen mit zwei
Anschlüssen, um gleichzeitiges Schreiben und Lesen in dem FIFO-
Puffer-Speicher zu ermöglichen. Der eine Anschluß wird benutzt,
um Daten in die Speicherzelle zu schreiben, und ist darum mit
der WRT DATA-Leitung verbunden. Der andere Anschluß wird zum
Auslesen der Speicherzelle verwendet und ist darum mit einem
Leseverstärker verbunden. Die Fig. 3A und 3B zeigen zwei von
vielen Typen von Speicherzellen mit zwei Anschlüssen, die in der
Erfindung benutzt werden können. Der Anschluß A ist mit der WRT
DATA-Leitung verbunden dargestellt und der Anschluß B ist über
eine Leseleitung READ DATA mit einem Leseverstärker (nicht
gezeigt) verbunden. WL bezeichnet eine Signalleitung von dem
Schreib-Zellenselektor 10 und RL eine Signalleitung von dem
Lese-Zellenselektor 22 zur Aktivierung von Schreib- bzw. Lese
funktion.
In der bevorzugten Ausführungsform läuft die WRT DATA-Leitung
durch die Speichermatrix hindurch, um weiter die Verbindung mit
dem zugehörigen Anfangsdatenregister 12 herzustellen. Diese
Verbindung ist in Fig. 4 dargestellt. Die Speicherzellen 40
haben Anschluß an die WRT DATA-Leitung, die sich aus einer
Leitung für das Datensignal und einer Leitung für das Kom
plement-Datensignal zusammensetzt, die durch die Speichermatrix
hindurchlaufen und mit dem Anfangsdatenregister 12 verbunden
sind.
Fig. 5A zeigt einen Statussignal-Generator 34, der Signale zur
Anzeige bestimmter Zustände des Puffer-Speichers erzeugt. Zu den
Bedingungen, die vom Statussignal-Generator überwacht werden,
gehört der Leer-Zustand, d.h. keine Daten wurden in den Puffer-
Speicher geschrieben wurden oder alle Daten bereits wieder
ausgelesen; der Voll-Zustand wird angezeigt, wenn alle Zellen im
Puffer-Speicher beschrieben und keine ausgelesen wurde; der
Halbvoll-Zustand wird angezeigt, wenn mehr als die Hälfte der
Zellen beschrieben und nicht ausgelesen wurden. Ein Schreibzäh
ler 42 wird in jedem Schreibzyklus durch das Schreibsignal
inkrementiert und ein Lesezähler 44 wird entsprechend durch das
Lesesignal eines Lesezyklus inkrementiert. Ein Komparator 46
vergleicht die Zählstände der Zähler 42 und 44. Ist die Dif
ferenz Null, so wird der Leer-Zustand durch Erzeugung eines
Signals EMPTY angezeigt; ist die Differenz gleich der gesamten
Aufnahmefähigkeit des Puffer-Speichers, so wird der Voll-Zustand
durch Erzeugung eines Signals FULL angezeigt; ist die Differenz
größer als die Hälfte der Aufnahmefähigkeit des Puffer-Spei
chers, so wird der Halbvoll-Zustand durch Erzeugung eines
Signals HFULL angezeigt. In einer weiteren Ausführungsform
werden die Zählerstände der beiden Zähler durch einen Komparator
auf Gleichheit überprüft und der Komparator registriert, wie oft
die Gleichheit der beiden Zählerstände aufgetreten ist. Abhängig
von dieser Zahl ist der Speicherzustand entweder weniger oder
mehr als halbvoll. Alternativ können die EMPTY-, FULL- und
HFULL-Statussignale durch einen Aufwärts-Abwärts-Zähler erzeugt
werden, wie in Fig. 5B gezeigt. Der Aufwärts-Abwärts-Zähler 48
zählt auf ein Schreibsignal hin in eine Richtung und auf eine
Lesesignal in die andere Richtung. So entspricht der Zählerstand
der Anzahl der in den Puffer-Speicher geschriebenen Datenele
mente, die noch nicht gelesen sind. Der Zähler ist mit einem
Komparator 50 verbunden, der den Zählerstand mit verschiedenen
vorgegebenen Werten vergleicht, um die verschiedenen Zustands
signale zu erzeugen. Die Statussignale können an die Steuer
schaltung 14 in Fig. 1 weitergegeben werden, um bestimmte
Funktionen auszulösen, wenn einer der im Puffer-Speicher über
wachten Zustände erreicht wird. Die Statussignale können auch
von dem Puffer-Speicher nach außen abgegeben werden.
In Fig. 6 ist die Steuerschaltung 14 mit ihren Eingangssignalen
und den von ihr erzeugten Ausgabesignalen gezeigt. Es gibt fünf
verschiedene Quellen von Eingangssignalen: Die Leitung RETRANS-
MIT zur Eingabe eines externen Übertragungssignals, der Schreib-
Matrixselektor 8 (tasächlich gibt es zwei Eingangsleitungen,
eine zum Anwählen der linken und eine zum Anwählen der rechten
Speichermatrix, von denen nur eine gezeigt ist), der Lese-
Matrixselektor 20 (wiederum gibt es zwei Leitungen, jeweils für
die linke und die rechte Speichermatrix, von denen nur eine
gezeigt ist), der Schreib-Zellenselektor 10 in Verbindung mit
der linken Speichermatrix (es sei angenommen, daß die linke
Speichermatrix zum Schreiben des ersten Datenelements bestimmt
ist) und eine EMPTY-Signalleitung aus dem Steuersignal-Generator
34, der vorher in Zusammenhang mit den Fig. 5A und 5B be
schrieben wurde. Den fünf Eingabesignalen stehen acht Ausgabe
signale gegenüber; davon werden fünf zu den Torschaltungen 26
gesandt, um durch geeignetes Öffnen und Schließen der Torschal
tungen eine bestimmte Ausgabe zu wählen: SEL (Auswahl links -
die Torschaltungen sind so zu steuern, daß die Ausgabeleitung
des Leseverstärkers von der linken Speichermatrix auf den
Ausgabe-Pin geschaltet wird), SELR (wie SEL, nur wird jetzt
anstelle der linken die rechte Speichermatrix angefordert), INDR
(erstes Datenlesen - das Datenelement aus dem Anfangsdaten
register der linken Speichermatrix ist auf den Ausgabe-Pin zu
legen), INDRR (wie INDR, nur ist anstelle der linken die rechte
Speichermatrix angefordert), RTR (das Datenelement aus dem
Übertragungsregister ist auf den Ausgabe-Pin zu schalten). Die
anderen drei Ausgabesignale der Steuerschaltung 14 sind: INDW
(macht das Anfangsdatenregister der linken Speichermatrix zur
Aufnahme eines Datenelements bereit, das in dem Puffer-Speicher
geschrieben wird), INDWR (wie INDW, nur wird das Anfangsdaten
register der rechten anstatt der linken Speichermatrix ange
steuert), RTW (macht das Übertragungsregister zur Aufnahme eines
Datenelements schreibbereit, das in den Puffer-Speicher ge
schrieben wird).
In einer abgewandelten Ausführungsform kann das Signal für den
Leer-Zustand auch durch ein extern eingegebenes Startsignal
ersetzt werden, auf das die Steuerschaltung 14 in der gleichen
Weise wie auf das Leer-Signal reagieren würde. In einer weiteren
Ausführungsform kann ein solches externes Startsignal auch
zusätzlich zu dem Leer-Signal als weiteres Eingabesignal vor
gesehen sein. In diesem Fall ist die Steuerschaltung so anzupas
sen, daß sie auf das zusätzliche Signal in der gleichen Weise
wie auf das Leer-Signal reagiert.
Fig. 7 zeigt eine detailliertere Darstellung der Steuerschal
tung 14 aus Fig. 6 zusammen mit ihren Eingabeverbindungen und
Ausgabeleitungen. Von dem Schreib-Matrixselektor 8 erhält die
Steuerschaltung zwei Eingabesignale, eines zum Auswählen der
linken und eines zum Auswählen der rechten Speichermatrix;
ebenso zwei Eingabesignale vom Lese-Matrixselektor 20 zum
Auswählen der linken und rechten Speichermatrix. Ist der Puffer-
Speicher leer (d.h. kein Datenelement ist eingeschrieben oder
alle eingeschriebenen Datenelemente sind bereits wieder ausge
lesen), so zeigt der Statussignal-Generator 34 diesen Zustand
durch das EMPTY-Signal der Steuerschaltung 14 an. Bei Vorliegen
dieses Zustands veranlaßt die Steuerschaltung, daß das nächste
in den Puffer-Speicher geschriebene Datenelement von dem An
fangsdatenregister an der von dem Schreib-Matrixselektor 8
ausgewählten Speichermatrix aufgenommen wird, was durch die
Signale INDW für das Anfangsdatenregister der linken Matrix und
durch das Signal INDWR (für das Anfangsdatenregister der rechten
Matrix) gesteuert wird. Ebenfalls veranlaßt die Steuerschaltung
bei diesem Zustand, daß das nächste aus dem Puffer-Speicher
auszugebende Datenelement aus dem Anfangsdatenregister entnommen
wird, das das nach Vorliegen des Leer-Zustands erste in den
Puffer-Speicher geschriebene Datenelement enthält; diese Steu
erung wird durch das Signal INDR zum Lesen des mit der linken
Speichermatrix 6 verbundenen Anfangsdatenregisters und durch das
Signal INDRR zum Lesen des zur rechten Matrix gehörenden An
fangsdatenregisters vorgenommen.
Die Steuerschaltung 14 reagiert auf ein Signal des Schreib-
Zellenselektors 10 der linken Matrix - angenommen, daß die erste
Zellenposition in der linken Speichermatrix liege - in der
Weise, daß jedes Mal, wenn diese erste Position zum Schreiben
ausgewählt ist, die Steuerschaltung durch Ausgabe des Signals
RTW das Übertragungsregister zur Aufnahme dieses in die erste
Zellposition geschriebenen Datenelements bereitmacht; so wird
der Inhalt des Übertragungsregisters ständig aktualisiert und
enthält immer das neueste in der ersten Zellposition des Puffer-
Speichers abgespeicherte Datenelement. Liegt ein extern einge
gebenes Signal RETRANSMIT an der Steuerlogik 14 an, so gibt die
Steuerschaltung das Signal RTR aus, was die Torschaltungen zum
Durchschalten des Übertragungsregisters auf den Ausgangstreiber
28 veranlaßt, wie in Fig. 1 gezeigt.
Liegt kein EMPTY- oder RETRANSMIT-Signal vor, so wird die
Steuerschaltung durch Signale des Lese-Matrixselektors 20
aktiviert, um die jeweiligen Leseverstärkerausgaben in alter
nierender Weise auf den Ausgangstreiber durchzuschalten: Erst
von der einen Matrix, dann von der anderen, wieder von der einen
Matrix usw., was durch die Ausgabesignale SEL und SELR gesteuert
wird (SEL zum Durchschalten der Leseverstärkerausgabe der linken
Matrix, SELR zum Durchschalten der Leseverstärkerausgabe der
rechten Matrix). Das von dem jeweiligen Leseverstärker auf den
Ausgangstreiber geschaltete Datenelement wurde bereits im
vorhergehenden Lesezyklus auf der Ausgabeleitung des Lesever
stärkers bereitgestellt. Soll der Inhalt eines Anfangsdaten
registers oder des Übertragungsregisters ausgegeben werden, so
unterdrückt die Steuerschaltung die Erzeugung von sonst zur
Ausgabe notwendigen SEL- oder SELR-Signalen. Diese Unterdrückung
geschieht durch eine INIT 1-Schaltung für das SEL-Signal und
durch eine weitere INIT 1-Schaltung für das SELR-Signal. So
verhindern die INIT 1-Schaltungen ein Durchschalten der Ausgabe
leitung des jeweiligen Leseverstärkers, wenn der Inhalt entweder
eines Anfangsdatenregisters oder des Übertragungsdatenregisters
ausgegeben werden soll. Jedoch wird auch während einer solchen
Unterdrückung das nächste Datenelement aus einer Speicherzelle
ausgelesen und auf die Ausgabeleitung des jeweiligen Lesever
stärkers gelegt, was durch die anderen Schaltungen in Fig. 1
erreicht wird.
Die bevorzugte Ausführungsform der Steuerschaltung 14 ist mit
den Komponenten INIT 1, RTR, SEL, INDW, INDR, SELR, INDWR, INDRR
und RTW gezeigt, die alle als Schaltungen von monostabilen
Kippstufen und/oder D-Flip-Flops aufgebaut sind. Natürlich kann
die Steuerschaltung durch verschiedenartige Schaltkreise auf
gebaut werden, wenn diese die acht Ausgabesignale in der vor
gegebenen Weise aus den fünf Eingangssignalen erzeugen. Für die
hier beschriebene Ausführungsform sind die Eingabe/Ausgabe-
Spezifikationen als Funktionstabellen der einzelnen Schaltungs
einheiten in den Fig. 10A bis 10F dargestellt. Beispielhaft
seien hier die Funktionstabellen der Komponenten RTR und SEL
erläutert. Wie Fig. 10A zu entnehmen ist, gibt die RTR-Einheit
gesteuert durch die Anstiegsflanke eines RETRANSMIT-Signals
einen RTR-Signalpuls aus. Die Funktionstabelle in Fig. 10B
zeigt, daß die SEL-Einheit auf die Anstiegsflanke eines Signals
aus dem Lese-Matrixselektor einen Puls ausgibt, falls in Koin
zidenz ein Signal aus der INIT 1-Einheit anliegt. Fig. 10C ist
die Funktionstabelle der INDW-Einheit, Fig. 10D die der INIT 1-
Einheit, Fig. 10E die der RTW-Einheit und Fig. 10F die der
INDR-Einheit.
Durch ein RETRANSMIT-Signal wird der Puffer-Speicher zum Wieder
auslesen der gespeicherten Daten vorbereitet. Folglich muß auf
ein extern eingegebenes RETRANSMIT-Signal die vorgegebene
Auslesefolge des Puffer-Speichers in den Ausgangszustand zurück
versetzt werden; dies bedeutet, daß der Lese-Matrixselektor und
die Lese-Zellenselektoren auf die erste Zelle des Puffer-Spei
chers zeigen müssen. In der bevorzugten Ausführungsform wird
dies durch eine einfache Schaltung erreicht, die den Lese-
Matrixselektor 20 und die Lese-Zellenselektoren 22 aus Fig. 1
in ihrer Ausgangsstellung zurücksetzt. In Fig. 8 ist eine
Lesezeiger-Rücksetzschaltung 54 verbunden mit den als einzelne
Blöcke dargestellten Lese-Matrixselektor 20 und einem Lese-
Zellenselektor 22 gezeigt. In dem auf das Rücksetzsignal fol
gende Lesezyklus verursacht die Steuerschaltung 14 die Ausgabe
des Datenelements aus dem Übertragungsregister. Anschließend
wird der Inhalt des Puffer-Speichers in den nachfolgenden
Lesezyklen in der schon erläuterten Weise des parallen Voraus-
Lesens ausgegeben.
Die Steuerschaltung betreibt den Puffer-Speicher unter folgenden
Bedingungen in einem Durchfluß-Modus: Wenn ein Leersignal
vorliegt, kein READ CLK-Lesepuls den Lese-Matrixselektor akti
viert und ein Schreibzyklus durch Aktivieren des Schreib-Matrix
selektors eintritt, so wird das in diesem Zyklus eingeschriebene
Datenelement nach Abschluß des Schreibzyklus aus einem Anfangs
datenregister auf den Ausgangstreiber gegeben.
In einer Ausführungsform, in der die Möglichkeit zur Eingabe
eines externen Rücksetzsignals vorgesehen ist, wird der Puffer-
Speicher durch das externe Rücksetzsignal in den Ausgangszustand
versetzt, was durch Rücksetzen von Schreib-Matrixselektor 8,
Schreib-Zellenselektor 10, Lese-Matrixselektor 20, Lese-Zellen
selektor 22 und von Schreib- und Lesezähler 42, 44 im Status
signalgenerator 34 geschieht. Das Rücksetzen von Schreib-Matrix
selektor, Schreib-Zellenselektoren, Lese-Matrixselektor und
Lese-Zellenselektoren durch ein Rücksetzsignal kann genauso
ausgeführt werden wie beim Rücksetzen von Lese-Matrixselektor
und Lese-Zellenselektoren aufgrund eines RETRANSMIT-Signals. Zum
Rücksetzen der Schreib- und Lesezähler im Statussignal-Generator
34 dienen einfache Schaltkreise, die die Zähler mit Null initia
lisieren. Fig. 9 zeigt eine Rücksetzschaltung 56, die ein
externes Rücksetzsignal empfängt, in Verknüpfung mit dem Status
signal-Generator 34, dem Schreib-Matrixselektor 8, dem Schreib-
Zellenselektor 10, dem Lese-Matrixselektor 20 und mit dem Lese-
Zellenselektor 22.
Die vorliegende Erfindung ist nicht auf serielle Speicher
beschränkt, die eine FIFO-Reihenfolge zum Schreiben und Lesen
der Daten verwenden. Das erfindungsgemäße parallele Voraus-Lesen
kann in allen seriellen Speichern Anwendung finden, in denen die
Reihenfolge der Eingabedaten die Ausgabereihenfolge definiert,
wie z.B. in LIFO-Speichern (last-in-first-out). Für den Fachmann
sind Variationsmöglichkeiten der hier beschriebenen Schaltungen
zur Realisierung ihrer Funktionen offensichtlich. Die speziellen
Ausführungsformen sollen erläuternden Charakter haben und den
Bereich der folgenden Ansprüche nicht einschränken.
Claims (17)
1. Serieller Speicher zum Einschreiben einer Folge von Daten
elementen mit einer zugeordneten Folge von Schreibsignalen,
von denen jedes einen Schreibzyklus auslöst, in dem das dem
Schreibzyklus zugeordnete Datenelement in den Speicher
geschrieben wird, und durch eine Folge von Lesesignalen
ansteuerbar, von denen jedes einen Lesezyklus auslöst, zum
Lesen und Ausgeben gespeicherter Datenelemente aus dem
seriellen Speicher in einer Reihenfolge, die durch die
Reihenfolge festgelegt wird, mit der die Datenelemente in
den seriellen Speicher eingeschrieben wurden, gekennzeichnet
durch:
- - eine Mehrzahl von Speichermatrizen mit jeweils einer Mehrzahl von Speicherzellen;
- - eine Mehrzahl von Schreib-Zellenselektionseinrichtungen, die jeweils mit einer zugehörigen Speichermatrix verbunden sind und zur Auswahl einer Zelle, entsprechend einer ersten vorgegebenen Reihenfolge, zum Abspeichern eines Daten elements in der Matrix dienen;
- - eine Schreib-Matrixselektionseinrichtung, die von jedem der aufeinanderfolgenden Schreibsignale angesteuert wird, um eine der Speichermatrizen durch Aktivierung der zugehörigen Schreib-Zellenselektionseinrichtung auszuwählen, ent sprechend einer zweiten vorgegebenen Reihenfolge;
- - eine Mehrzahl von Lese-Zellenselektionseinrichtungen, die jeweils mit einer Speichermatrix verbunden sind und zur Auswahl einer Zelle, entsprechend einer dritten vorgegebenen Reihenfolge, in der Matrix dienen;
- - eine Lese-Matrixselektionseinrichtung, die von jedem der aufeinanderfolgenden Lesesignale angesteuert wird, um eine der Speichermatrizen durch Aktivierung der zugehörigen Lese- Zellenselektionsrichtungen auszuwählen, entsprechend einer vierten vorgegebenen Reihenfolge;
- - eine Mehrzahl von Ausleseeinrichtungen, von denen jede mit einer Speichermatrix verbunden ist und zum Auslesen einer Speicherzelle darin dient, die durch die zugehörige Lese- Zellenselektionseinrichtung ausgewählt ist;
- - ein Anfangsdatenregister zum Speichern eines ausgezeich neten Elements aus der Folge der Datenelemente;
- - eine Ausgabeeinrichtung, die durch ein einziges Lesesignal aus der Folge der Lesesignale zur Ausgabe des im An fangsdatenregister gespeicherten Datenelements und durch jedes nachfolgende Lesesignal in der Folge der Lesesignale zur Ausgabe eines Datenelements veranlaßt wird, das in einem früheren Lesezyklus entsprechend einem vorangehenden Lese signal ausgelesen wurde;
- - wodurch das Lesen des seriellen Speichers parallel ausge führt wird, indem ein Datenelement in einem Lesezyklus ausgegeben wird und in demselben Lesezyklus das als nächstes auszugebende Datenelement ausgelesen wird.
2. Speicher nach Anspruch 1, dadurch gekennzeichnet, daß jeder
aus der Mehrzahl der Speichermatrizen ein eigenes Anfangs
datenregister zugeordnet ist, der weiterhin aufweist:
- - Mittel zur Auszeichnung eines Datenelements aus der Folge als das ausgezeichnete Datenelement;
- - eine Einrichtung zur Auswahl des Anfangsdatenregisters, die durch die Auszeichnungsmittel gesteuert eines der Anfangsdatenregister zum Speichern des ausgezeichneten Datenelements auswählt.
3. Speicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß
- - die Ausgabereihenfolge mit der Eingabereihenfolge in einer FIFO-Beziehung steht, so daß die Datenelemente in der gleichen Reihenfolge ausgegeben werden, in der sie in den Speicher geschrieben wurden.
4. Speicher nach A spruch 3, dadurch gekennzeichnet, daß
- - eine Statussignaleinrichtung zur Erzeugung eines Leer- Signals zur Anzeige dafür vorhanden ist, daß entweder alle Datenelemente, die in die durch besagte Schreib-Selektions einrichtungen ausgewählten Speicherzellen eingeschrieben wurden, ausgelesen sind oder daß aus der Folge der Datenele mente keines in dem Puffer-Speicher geschrieben wurde;
- - die Auszeichnungsmittel in dem erzeugten Leer-Signal bestehen, wodurch das nach dem Leer-Signal als nächstes in den Speicher zu schreibende Datenelement als das ausge zeichnete bestimmt wird.
5. Speicher nach Anspruch 4, dadurch gekennzeichnet, daß
- - die Folge von Schreibsignalen ein Schreibsignal enthält, das dem ausgezeichneten Datenelement zugeordnet ist;
- - wodurch das ausgezeichnete-Datenelement sowohl in eine Speicherzelle geschrieben als auch in einem Anfangsdaten register gespeichert wird.
6. Speicher nach Anspruch 3, dadurch gekennzeichnet, daß
- - jede Schreibleitung, die Daten in die Speicherzellen überträgt, durch die Speichermatrix hindurch zum Anschluß an einen Anfangsdatenregister weiterführt.
7. Speicher nach Anspruch 3, ferner gekennzeichnet durch:
- - ein Übertragungsregister;
- - Mittel zum Speichern des ausgezeichneten Datenelements in dem Übertragungsregister;
- - Übertragungsmittel, die durch ein extern eingegebenes Übertragungssignal gesteuert werden, um die dritte und vierte der vorgegebenen Folgen zurückzusetzen und um die Ausgabeeinrichtung in dem auf das Übertragungssignal folgen den Lesezyklus zu unterbrechen und zur Ausgabe des Inhalts des Übertragungsregisters in diesem Lesezyklus zu veranlas sen.
8. Speicher nach Anspruch 3, dadurch gekennzeichnet, daß
- - die Mehrzahl von Speichermatrizen lediglich eine erste und eine zweite Speichermatrix umfaßt;
- - die zweite und vierte der vorgegebenen Folgen alternierend zwischen der ersten und zweiten Speichermatrix wechseln, jedes Mal wenn die Folge der Datenelemente um eines weiter läuft.
9. Speicher nach einem der Ansprüche 1 bis 8, dadurch gekenn
zeichnet, daß die Ausgabeeinrichtung zur Ausgabe eines
Datenelements veranlaßt wird, das aus einer Speicherzelle
ausgelesen wird, die in einem früheren Lesezyklus ent
sprechend einem vorangehenden Lesesignal ausgewählt wurde,
wodurch das Lesen des Speichers parallel ausgeführt wird,
indem ein Datenelement in einem Lesezyklus ausgegeben wird
und in demselben Lesezyklus die Speicherzelle des als
nächstem auszugebenden Datenelements ausgewählt wird.
10. Verfahren zur parallelen Durchführung der Lese-Operationen
eines seriellen Speichers, in dem die Ausgabereihenfolge der
Datenelemente durch die Reihenfolge definiert wird, mit der
sie in dem seriellen Speicher geschrieben wurden, durch
Voraus-Lesen einer Speicherzelle in einem durch einen
aktuellen Lesebefehl zugeordneten Lesezyklus, die das im
nächsten Lesezyklus durch den nächstfolgenden Lesebefehl
angeforderte und auszugebende Datenelement enthält, während
das durch den aktuellen Lesebefehl angeforderte Datenelement
ausgegeben wird, ohne daß die Speicherzelle mit dem aktuel
len angeforderten Datenelement in diesem Lesezyklus aus
gelesen wird, gekennzeichnet durch die Schritte:
- - Abspeichern eines ausgezeichneten Elements aus der Folge der Datenelemente in einem Anfangsdatenregister;
- - abwechselndes Schreiben der nachfolgenden Datenelemente in eine Mehrzahl von Speichermatrizen, die jeweils eine Mehr zahl von Speicherzellen haben, entsprechend einer ersten vorgegebenen Reihenfolge der Matrixauswahl und entsprechend einer zweiten vorgegebenen Reihenfolge der Zellenauswahl innerhalb jeder Matrix;
- - in einem einzigen Lesezyklus Ausgabe des ausgezeichneten Datenelements aus dem Anfangsdatenregister und Auslesen der Speicherzelle mit dem als nächstem von dem seriellen Spei cher auszugebenden Datenelement;
- - in jedem auf den einzigen Lesezyklus folgenden Lesezyklus Ausgabe eines Datenelements, das bereits in einem früheren Lesezyklus aus einer Speicherzelle ausgelesen wurde, und Auslesen der Speicherzelle mit dem als nächsten von dem seriellen Speicher auszugebenden Datenelement.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß
- - die Ausgabereihenfolge mit der Eingabereihenfolge in einer FIFO-Beziehung steht, so daß die Datenelement in der glei chen Reihenfolge ausgegeben werden, in der sie in den Speicher geschrieben wurden.
12. Verfahren nach Anspruch 11, gekennzeichnet durch den weite
ren Schritt:
- - Bereithalten jedes ausgelesenen Datenelements auf einer Ausgabeleitung, bis das Datenelement von der Ausgabeleitung in besagtem Ausgabeschritt ausgegeben wird.
13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß in
einem weiteren Schritt das Zurücksetzen des seriellen
Speichers ausgelöst durch ein externes Rücksetzsignal
beinhaltet, wobei das Zurücksetzen die Schritte enthält:
- - Zurücksetzen der ersten und zweiten vorgegebenen Folgen an ihren Ausgangspunkt;
- - Bezeichnen des nächsten eingeschriebenen Datenelements als das in der Folge der Datenelemente ausgezeichnete;
- - Festlegen des nächsten Lesezyklus als besagten einzigen Lesezyklus.
14. Verfahren nach Anspruch 11, gekennzeichnet durch die weite
ren Schritte:
- - Erzeugung eines Leer-Signals, wenn alle in dem Schreib schritt in Speicherzellen geschriebenen Datenelemente ausgelesen wurden oder in dem Schreibschritt kein Datenele ment in eine Speicherzelle geschrieben wurde; und
- - veranlaßt durch das Leer-Signal Zurücksetzen der ersten und zweiten vorgegebenen Folge an ihren Ausgangspunkt,
- - Bezeichnen des nächsten eingeschriebenen Datenelements als das ausgezeichnete Datenelement in der Folge der Datenele mente, und
- - Festlegen des nächsten Lesezyklus als besagten einzigen Lesezyklus.
15. Verfahren nach Anspruch 11, gekennzeichnet durch die wei
teren Schritte:
- - Abspeichern des ausgezeichneten Datenelements in einem Ubertragungsregister; und
- - Übertragen des Puffer-Speichers auf ein extern ein gegebenes Übertragungssignal hin, wobei der Übertragungs schritt beinhaltet:
- - Festlegen des nächsten Lesezyklus als besagten einzelnen Lesezyklus;
- - Einsetzen des Übertragungsregisters anstelle des Anfangs datenregisters im Ausgabeschritt des besagten einzigen Lesezyklus.
16. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß in
jedem auf den einzigen Lesezyklus folgenden Lesezyklus ein
Datenelement ausgegeben wird, das aus einer bereits in einem
früheren Lesezyklus ausgewählten Speicherzelle ausgelesen
wird, und Auswählen der Speicherzelle mit dem als nächstes
von dem seriellen Speicher auszugebenden Datenelement.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß
- - die Ausgabereihenfolge mit der Eingabereihenfolge in einer FIFO-Beziehung steht, so daß die Datenelement in der glei chen Reihenfolge ausgegeben werden, in der sie in den Speicher geschrieben wurden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36736289A | 1989-06-16 | 1989-06-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4019135A1 true DE4019135A1 (de) | 1990-12-20 |
DE4019135C2 DE4019135C2 (de) | 2001-04-26 |
Family
ID=23446858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4019135A Expired - Lifetime DE4019135C2 (de) | 1989-06-16 | 1990-06-13 | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung |
Country Status (5)
Country | Link |
---|---|
US (1) | US5293623A (de) |
JP (1) | JPH03130983A (de) |
KR (1) | KR950012022B1 (de) |
DE (1) | DE4019135C2 (de) |
GB (1) | GB2232797B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004107183A2 (en) * | 2003-05-29 | 2004-12-09 | Elantec Semiconductor, Inc. | Double buffering of serial transfers |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5249154A (en) * | 1989-11-28 | 1993-09-28 | Texas Instruments Incorporated | Data access controller and method |
US5255242A (en) * | 1990-12-17 | 1993-10-19 | Texas Instruments Incorporated | Sequential memory |
KR100275182B1 (ko) * | 1990-12-17 | 2000-12-15 | 윌리엄 비. 켐플러 | 순차 메모리 |
TW276312B (de) * | 1992-10-20 | 1996-05-21 | Cirrlis Logic Inc | |
US5544338A (en) * | 1992-12-31 | 1996-08-06 | International Business Machines Corporation | Apparatus and method for raster generation from sparse area array output |
JP2790007B2 (ja) * | 1993-07-29 | 1998-08-27 | 日本電気株式会社 | 画像メモリアクセス制御方式 |
US5524220A (en) * | 1994-08-31 | 1996-06-04 | Vlsi Technology, Inc. | Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems |
US5621695A (en) * | 1995-07-17 | 1997-04-15 | Galvantech, Inc. | SRAM with simplified architecture for use with pipelined data |
US5657292A (en) * | 1996-01-19 | 1997-08-12 | Sgs-Thomson Microelectronics, Inc. | Write pass through circuit |
US5619456A (en) * | 1996-01-19 | 1997-04-08 | Sgs-Thomson Microelectronics, Inc. | Synchronous output circuit |
US5801563A (en) * | 1996-01-19 | 1998-09-01 | Sgs-Thomson Microelectronics, Inc. | Output driver circuitry having a single slew rate resistor |
US5767709A (en) * | 1996-01-19 | 1998-06-16 | Sgs-Thomson Microelectronics, Inc. | Synchronous test mode initalization |
US5712584A (en) * | 1996-01-19 | 1998-01-27 | Sgs-Thomson Microelectronics, Inc. | Synchronous stress test control |
US5701275A (en) * | 1996-01-19 | 1997-12-23 | Sgs-Thomson Microelectronics, Inc. | Pipelined chip enable control circuitry and methodology |
US5987578A (en) * | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Pipelining to improve the interface of memory devices |
US5798718A (en) * | 1997-05-12 | 1998-08-25 | Lexmark International, Inc. | Sliding window data compression method and apparatus |
JPH11305990A (ja) * | 1998-04-24 | 1999-11-05 | Oki Micro Design:Kk | Fifo回路 |
US6407961B1 (en) * | 1998-06-11 | 2002-06-18 | Dsp Group, Ltd. | Dual access memory array |
IL124863A (en) * | 1998-06-11 | 2004-05-12 | Dsp Group Ltd | Dual access memory array |
US6360307B1 (en) | 1998-06-18 | 2002-03-19 | Cypress Semiconductor Corporation | Circuit architecture and method of writing data to a memory |
JP4827399B2 (ja) * | 2004-05-26 | 2011-11-30 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
US7802259B2 (en) * | 2005-08-08 | 2010-09-21 | Freescale Semiconductor, Inc. | System and method for wireless broadband context switching |
US20070033349A1 (en) * | 2005-08-08 | 2007-02-08 | Freescale Semiconductor, Inc. | Multi-mode wireless processor interface |
US20070030801A1 (en) * | 2005-08-08 | 2007-02-08 | Freescale Semiconductor, Inc. | Dynamically controlling rate connections to sample buffers in a mult-mode wireless processing system |
US7653675B2 (en) * | 2005-08-08 | 2010-01-26 | Freescale Semiconductor, Inc. | Convolution operation in a multi-mode wireless processing system |
US7734674B2 (en) | 2005-08-08 | 2010-06-08 | Freescale Semiconductor, Inc. | Fast fourier transform (FFT) architecture in a multi-mode wireless processing system |
US8140110B2 (en) * | 2005-08-08 | 2012-03-20 | Freescale Semiconductor, Inc. | Controlling input and output in a multi-mode wireless processing system |
US7962698B1 (en) | 2005-10-03 | 2011-06-14 | Cypress Semiconductor Corporation | Deterministic collision detection |
CN113689899B (zh) * | 2021-08-27 | 2023-09-01 | 西安微电子技术研究所 | 一种存储阵列电路结构及大型存储阵列电路结构 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771145A (en) * | 1971-02-01 | 1973-11-06 | P Wiener | Addressing an integrated circuit read-only memory |
US4823321A (en) * | 1986-12-19 | 1989-04-18 | Fujitsu Limited | Dual port type semiconductor memory device realizing a high speed read operation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE755666A (fr) * | 1969-09-18 | 1971-02-15 | Burroughs Corp | Memoire tampon pour entree d'ordinateur |
US4056851A (en) * | 1976-09-20 | 1977-11-01 | Rca Corporation | Elastic buffer for serial data |
NL7713708A (nl) * | 1977-12-12 | 1979-06-14 | Philips Nv | Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met vaste ingang en variabele uitgang. |
JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
JPS6057090B2 (ja) * | 1980-09-19 | 1985-12-13 | 株式会社日立製作所 | データ記憶装置およびそれを用いた処理装置 |
US4597061B1 (en) * | 1983-01-03 | 1998-06-09 | Texas Instruments Inc | Memory system using pipleline circuitry for improved system |
US4862419A (en) * | 1983-11-10 | 1989-08-29 | Advanced Micro Devices, Inc. | High speed pointer based first-in-first-out memory |
US4642797A (en) * | 1983-11-10 | 1987-02-10 | Monolithic Memories, Inc. | High speed first-in-first-out memory |
DE3543911A1 (de) * | 1984-12-14 | 1986-06-26 | Mitsubishi Denki K.K., Tokio/Tokyo | Digitale verzoegerungseinheit |
US4685088A (en) * | 1985-04-15 | 1987-08-04 | International Business Machines Corporation | High performance memory system utilizing pipelining techniques |
US4740923A (en) * | 1985-11-19 | 1988-04-26 | Hitachi, Ltd | Memory circuit and method of controlling the same |
US4817054A (en) * | 1985-12-04 | 1989-03-28 | Advanced Micro Devices, Inc. | High speed RAM based data serializers |
JP2501204B2 (ja) * | 1986-10-22 | 1996-05-29 | 日本電気株式会社 | 半導体メモリ |
US4933901A (en) * | 1988-01-11 | 1990-06-12 | Texas Instruments Incorporated | Method for assigning priority to read and write requests received closely in time |
US4888791A (en) * | 1988-01-25 | 1989-12-19 | Barndt Sr Robert A | Clock decoder and data bit transition detector for fiber optic work station |
US4891788A (en) * | 1988-05-09 | 1990-01-02 | Kreifels Gerard A | FIFO with almost full/almost empty flag |
-
1990
- 1990-06-01 GB GB9012218A patent/GB2232797B/en not_active Expired - Lifetime
- 1990-06-13 DE DE4019135A patent/DE4019135C2/de not_active Expired - Lifetime
- 1990-06-16 JP JP2158544A patent/JPH03130983A/ja active Pending
- 1990-06-16 KR KR1019900008967A patent/KR950012022B1/ko not_active IP Right Cessation
-
1992
- 1992-11-16 US US07/976,719 patent/US5293623A/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771145A (en) * | 1971-02-01 | 1973-11-06 | P Wiener | Addressing an integrated circuit read-only memory |
US3771145B1 (en) * | 1971-02-01 | 1994-11-01 | Wiener Patricia P. | Integrated circuit read-only memory |
US4823321A (en) * | 1986-12-19 | 1989-04-18 | Fujitsu Limited | Dual port type semiconductor memory device realizing a high speed read operation |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004107183A2 (en) * | 2003-05-29 | 2004-12-09 | Elantec Semiconductor, Inc. | Double buffering of serial transfers |
WO2004107183A3 (en) * | 2003-05-29 | 2005-03-10 | Elantec Semiconductor Inc | Double buffering of serial transfers |
US7246199B2 (en) | 2003-05-29 | 2007-07-17 | Elantec Semiconductor, Inc. | Double buffering of serial transfers |
US7353333B2 (en) | 2003-05-29 | 2008-04-01 | Elantec Semiconductor, Inc. | Laser drivers that provide double buffering of serial transfers |
US7562187B2 (en) | 2003-05-29 | 2009-07-14 | Elantec Semiconductor, Inc. | Laser drivers that provide double buffering of serial transfers |
Also Published As
Publication number | Publication date |
---|---|
GB2232797B (en) | 1993-12-08 |
JPH03130983A (ja) | 1991-06-04 |
US5293623A (en) | 1994-03-08 |
GB2232797A (en) | 1990-12-19 |
KR950012022B1 (ko) | 1995-10-13 |
KR910001766A (ko) | 1991-01-31 |
GB9012218D0 (en) | 1990-07-18 |
DE4019135C2 (de) | 2001-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4019135C2 (de) | Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung | |
DE2725395C3 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge n | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2551239C3 (de) | Datenverarbeitungsanlage | |
DE2703578A1 (de) | Videospeicher | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2521436B2 (de) | Informationswiedergewinnungsanordnung | |
DE2717702A1 (de) | Speicher-zugriffs-steuersystem | |
DE2432608C3 (de) | Speicheranordnung fur eine Datenverarbeitungseinrichtung | |
DE1499182B2 (de) | Datenspeichersystem | |
DE2637054A1 (de) | Steuervorrichtung fuer einen pufferspeicher | |
DE3148099C2 (de) | Anordnung zum Erkennen einer Digitalfolge | |
DE1499206B2 (de) | Rechenanlage | |
DE2221442A1 (de) | Assoziativspeicher | |
DE3214230C2 (de) | Speicheranordnung mit Mehrfach-Zugriffsleitungen | |
DE1774607C3 (de) | Speicheranordnung mit einem informationszerstörend lesbaren Speicher | |
DE1285218B (de) | Datenverarbeitungsanlage | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher | |
DE1549399A1 (de) | Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen | |
DE19501227A1 (de) | DRAM-Auffrisch-Steuerungsschaltung | |
DE1449581B2 (de) | Vorrichtung zum auslesen eines rechenmaschinen grosspeichers | |
DE3016738A1 (de) | Verfahren zur uebertragung eines bitmusterfeldes in einen speicher und schaltungsanordnung zur ausuebung des verfahrens | |
DE1524179A1 (de) | Einrichtung zur wahlfreien Zusammenstellung und Verteilung von Datenbytes | |
DE2117582C3 (de) | Pufferspeicher für Datenverarbeitungssysteme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8128 | New person/name/address of the agent |
Representative=s name: STOLBERG-WERNIGERODE, GRAF ZU, U., DIPL.-CHEM. DR. |
|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: EISENFUEHR, SPEISER & PARTNER, 28195 BREMEN KONLE, |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |