DE69519277T2 - Anordnung zur Verwaltung eines FIFO-Speichers - Google Patents
Anordnung zur Verwaltung eines FIFO-SpeichersInfo
- Publication number
- DE69519277T2 DE69519277T2 DE1995619277 DE69519277T DE69519277T2 DE 69519277 T2 DE69519277 T2 DE 69519277T2 DE 1995619277 DE1995619277 DE 1995619277 DE 69519277 T DE69519277 T DE 69519277T DE 69519277 T2 DE69519277 T2 DE 69519277T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- write
- circuit
- read
- path
- 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.)
- Expired - Lifetime
Links
- 238000004364 calculation method Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 19
- 230000001143 conditioned effect Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001955 cumulated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/62—Performing operations exclusively by counting total number of pulses ; Multiplication, division or derived operations using combined denominational and incremental processing by counters, i.e. without column shift
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Communication Control (AREA)
Description
- Die Erfindung betrifft eine Vorrichtung zur Steuerung eines FIFO-Speichers.
- Ein FIFO-Speicher, der gewöhnlich in Informatiksystemen verwendet wird, ist ein Speicher mit doppeltem Anschluß, und zwar mit einem Anschluß für einen Schreibvorgang und einem Anschluß für einen Lesevorgang. Vom Gesichtspunkt seiner Funktion erweist sich ein solcher Speicher tatsächlich als eine Warteschlange, für welche die Adressierung der Speicherebene intern durch zwei Zähler erzeugt wird, und zwar einem Zähler für Schreiboperationen und einem Zähler für Leseoperationen. Um eine Belegung des Speichers zu erzeugen, ist es notwendig, Merkzeichen zu verwenden, die unter dem Namen "Flags" in englischer Sprache bekannt sind.
- Ganz allgemein werden folgende Merkzeichen verwendet:
- - das Merkzeichen EF, das anzeigt, daß der Speicher leer ist;
- - das Merkzeichen FF, das anzeigt, daß der Speicher voll ist;
- - das Merkzeichen HF, das anzeigt, daß der Speicher halbvoll ist.
- In den bekannten gängigen Ausführungsformen des Standes der Technik, wie in Fig. 1 dargestellt, erlauben zwei Zähler, ein Lesezähler und ein Schreibzähler, zwei Zeiger zu erzeugen, welche die Anzahl der Schreibvorgänge und die Anzahl der Lesevorgänge kompatibel machen. Ein Subtraktionsschaltung erlaubt, die Differenz zwischen den beiden Zeigern zu berechnen. Wenn diese Differenz Null ist, drückt dies aus, daß die Zeiger identisch sind und der Speicher schließlich entweder voll oder leer ist. Mit einer Dekodierung des Wertes dieser Differenz erhält man ein Merkzeichen, wie z. B. das Merkzeichen HF.
- Von praktischer Seite wird darauf hingewiesen, daß das verwendete Berechnungsverfahren ein serieller Vorgang ist, in welchem die Berechnungs- und Laufzeiten eines Zählers, eines Subtrahiergliedes und eines Vergleichers kumuliert sind. Der entsprechende Rechentakt ist aufgrund der vorgenannten Summierung extrem langsam und das Berechnungsvolumen ist um so umfangreicher je umfangreicher die Zahl von Bits wird und ist somit abhängig von der Kapazität des FIFO-Speichers.
- Eine Verbesserung der Rechengeschwindigkeit kann verwirklicht werden, und die Merkzeichen EF und FF können schneller erhalten werden, indem die beiden Zeiger einer logischen, ausschließlichen ODER-Operation unterzogen werden. In einem solchen Betriebsmodus ist es jedoch notwendig, den Wert eines weiteren Merkzeichens zu kennen, um dann so zwischen diesen letzteren differenzieren zu können.
- Schließlich werden weitere Systeme zur Steuerung eines FIFO-Speichers, die in synchroner Weise ausgehend von einem Taktsignal funktionieren, im Stand der Technik beschrieben, insbesondere durch die Patentanmeldung EP-A-0421627. Das durch dieses Dokument beschriebene System zur Steuerung eines FIFO-Speichers umfaßt allein zwei Pfade, die Schreib- bzw. Leseoperationen entsprechen, welche in synchroner Weise vorgesteuert werden. Das Vorhandensein eines dritten Pfades, der im wesentlichen der Steuerung eines meterstabilen Zustandes beim gleichzeitigen Auftritt eines Schreibimpulses und eines Leseimpulses entspricht, aufgrund der synchronen Betriebsweise nicht notwendig ist.
- Die vorliegende Erfindung hat zum Ziel, die vorgenannten Nachteile zu beseitigen, um so die Geschwindigkeit zur Berechnung von Merkzeichen und somit der Betriebsweise des Speichers deutlich zu verbessern.
- Eine weitere Aufgabe der vorliegenden Erfindung ist, eine Vorrichtung zur Steuerung eines FIFO-Speichers zu schaffen, in welchem eine parallele und vorweg genommene Berechnung von Merkzeichen des Belegungszustandes des Speichers bei aufeinander folgendem Zugriff auf den Speicher ausgeführt wird, wodurch die allgemeine Berechnungsgeschwindigkeit von Merkzeichen über den Belegungszustand des Speichers erheblich verbessert werden kann.
- Die Vorrichtung zur Steuerung eines FIFO-Speichers mit einem Anschluß zur Steuerung eines Lesezugriffs und einem Anschluß zur Steuerung eines Schreibzugriffs mit Hilfe eines Steuersignals zum Lesen bzw. zum Schreiben ist dadurch gekennzeichnet, daß diese umfaßt eine Schaltung zur Berechnung und Speicherung unterschiedlicher, dem Speicher entsprechender Zugriffszustände und zur Auswahl aus diesen Zuständen des laufenden Zugriffszustands in Form einer Mitteilung über den laufenden Zustand. Eine Schaltung zur Dekodierung der Mitteilung über den laufenden Zustand erlaubt, ein Merkzeichen des Zustandes des Speichers zu erzeugen, und eine Schaltung zur Steuerung ausgehend vom Steuersignal des Lesevorgangs und Schreibvorgangs erlaubt die Steuerung der Berechnungs- und Auswahlschaltung durchzuführen.
- Die Vorrichtung zur Steuerung eines FIFO-Speichers gemäß vorliegender Erfindung findet Anwendung bei der Fertigung von integrierten Schaltkreisen, die für die Realisation von Hardware benutzt werden.
- Sie wird mit der Lektüre der Beschreibung und bei Betrachtung der beigefügten Zeichnungen besser verstanden, in welchen, außer Fig. 1, welche sich auf den Stand der Technik bezieht,
- - Fig. 2a ein Blockdiagramm in Bezug auf eine Bitebene der Vorrichtung zur Steuerung eines FIFO-Speichers gemäß vorliegender Erfindung darstellt;
- - Fig. 2b ein Detail einer Ausführung eines Multiplexerelements darstellt, das durch die Vorrichtung zur Steuerung eines FIFO-Speichers ausgeführt ist, wie er in Fig. 2a dargestellt ist;
- - Fig. 3a, 3b und 3c ein Blockdiagramm von Details einer Ausführung einer Kontrollschaltung, welche Kontrollsignale erzeugen kann, die durch die Vorrichtung zur Steuerung eines FIFO-Speichers genutzt werden, welcher in Fig. 2a dargestellt ist;
- - Fig. 4 Chronogramme von Signalen darstellt, die an in den Fig. 2a oder 2b markierten Testpunkten abgenommen wurden.
- Eine detailliertere Beschreibung einer Vorrichtung zur Steuerung eines FIFO- Speichers gemäß der vorliegenden Erfindung wird nun in Verbindung mit Fig. 2a und den folgenden Figuren gegeben.
- Es sei ganz allgemein daran erinnert, daß ein FIFO-Speicher einen Anschluß zur Steuerung eines Lesezugriffs und einen Anschluß zur Steuerung eines Schreibzugriffs umfaßt, wobei die Schreib- und Lesezugriffe mit Hilfe eines Steuersignals zum Lesen R bzw. zum Schreiben W ausgeführt werden.
- Wie in Fig. 2a auch dargestellt ist, umfaßt die Vorrichtung zur Steuerung eines FIFO-Speichers gemäß der Erfindung eine Schaltung 1 zur Berechnung und Speicherung unterschiedlicher möglicher Zugriffszustände, die dem betreffenden Speicher entsprechen, und zur Auswahl aus diesen Zuständen den laufenden Zugriffszustand in Form einer Mitteilung über den laufenden Zustand. Die Mitteilung über den laufenden Zustand METC wird am Ausgang der Rechenschaltung 1 geliefert. Die Vorrichtung gemäß der Erfindung umfaßt auch einen Schaltkreis 2 zur Dekodierung der Mitteilung über den laufenden Zustand METC, um ein Merkzeichen des Zustandes des betreffenden Speichers zu erzeugen.
- Schließlich umfaßt die Vorrichtung zur Steuerung eines FIFO-Speichers gemäß der Erfindung, wie dies in der vorgenannten Fig. 2a dargestellt ist, einen Schaltkreis 3 zur Steuerung ausgehend vom Signal zur Steuerung eines Lesevorganges R und des Signals zur Steuerung eines Schreibvorganges W, ein Schaltkreis 3 also zur Steuerung der vorgenannten Rechenschaltung 1.
- Ganz allgemein, wie in der vorstehenden Fig. 2a dargestellt ist, sei angemerkt, daß der Schaltkreis 1 zur Berechnung und Speicherung unterschiedlicher möglicher Zustände wenigstens einen ersten Pfad 1a zur Inkrementierung eines Schreibzugriffs mit, in Kaskade verbunden, einer Additionsschaltung eines Inkrements einer Einheit, welche das Bezugszeichen 10 trägt, und eine Speicherschaltung in Bauart eine bistabilen Kippgliedes, welches das Bezugszeichen 13 trägt. Die Speicherschaltung in Bauart eines bistabilen Kippgliedes wird durch ein Signal SW zur Auswahl eines Schreibvorganges bedingt durch das Vorliegen des vorgenannten Schreib- Steuersignals W gesteuert.
- Darüber hinaus umfaßt die Rechnerschaltung 1 einen zweiten Pfad 1b zur Dekrementierung eines Lesezugriffs mit, in Kaskade verbunden, einer Subtraktionsschaltung 11 eines Inkrements einer Einheit und einer Speicherschaltung 13 in Bauart eines bistabilen Kippgliedes, das durch ein Signal SR zur Auswahl eines Lesevorgangs bedingt durch ein Vorliegen des vorgenannten Lese-Steuersignals R gesteuert wird.
- Schließlich umfaßt die Rechnerschaltung 1 auch einen dritten Pfad 1c zur Beibehaltung eines voraus gehenden Zustands, der einer Steuerung eines gleichzeitigen Lese- und Schreibzugriffs auf den entsprechenden Speicher entspricht. Der dritte Pfad 1c umfaßt, in Kaskade verbunden, eine Schaltung 12 zur Verzögerung eines Berechnungszyklus des ersten oder des zweiten Pfades und eine Speicherschaltung 13 in Bauart eines bistabilen Kippgliedes, das durch ein Signal Sretard zur Auswahl einer Verzögerung bedingt durch das Vorliegen des Lese-Steuersignals R und des Schreib-Steuersignals W, wie vorstehend erwähnt wurden, gesteuert wird.
- In Fig. 2a ist zu erkennen, das die bistabilen Kippglieder des ersten, zweiten und dritten Pfades 1a, 1b und 1c das gleiche Bezugszeichen 13 tragen, denn diese bistabilen Kippglieder sind identischer Art und können deshalb das gleiche Bezugszeichen tragen.
- Es sei ferner in Bezug auf die gleiche Fig. 2a angemerkt, daß diese Figur in Bezug zu einer Bitebene für die gegebenen digitalen Signale steht, woraus sich ergibt, daß jedes der durch die Additionsschaltung 10 um ein Inkrement, durch die Subtraktionsschaltung 11 um ein Inkrement und die Verzögerungsschaltung 12 wie auch das bistabile Kippglied bildenden Elemente in jedem der vorgenannten Pfade das Bezugszeichen 13 trägt und durch die Anzahl von Bits, auf welche jedes Wort des digitalen Signals kodiert ist, multipliziert ist, um so die bitweise parallele Verarbeitung jedes der betreffenden Worte sicher zu gewährleisten. Vereinbarungsgemäß sei angemerkt, daß die Worte auf N-Bits kodiert sind, wobei jedes der Elemente zur Verarbeitung für das dem Rang entsprechende Bit gestrichelt dargestellt ist. Dies gilt für alle Elemente unterschiedlicher Bitebenen, wie sie in Fig. 2a dargestellt ist.
- Schließlich umfaßt, wie in der vorgenannten Figur zu beobachten ist, die Rechenschaltung 1 eine Multiplexerschaltung 14, die am Multiplexeingang das von dem ersten 1a, dem zweiten 1b und dem dritten Pfad 1c gelieferte Signal erhält und auf einem Steuereingang ein Signal zur Auswahl der laufenden Zustandsmitteilung METC erhält, wobei diese Mitteilung an den vorgenannten Ausgang der Multiplexerschaltung 14 geliefert wird. Es sei natürlich angemerkt, daß die Mitteilung über den laufenden Zustand METC ferner einen Eingang des ersten 1a, des zweiten 1b und des dritten Pfades 1c geliefert wird und andererseits an die vorerwähnte Dekodierungsschaltung 2. Es ist klar, daß die Multiplexerschaltung 14 auch entsprechende N-Schaltungen umfaßt, die den Multiplexvorgang der durch den ersten, den zweiten und dritten Pfad für jedes dem Rang entsprechenden Bit geliefert wird, zu gewährleisten. Die Mitteilung über den laufenden Zustand METC wird somit auf einem BUS geliefert, der als Berechnungs-BUS bezeichnet wird, wobei diese Mitteilung dazu dient, das Merkzeichen durch Dekodierung zu bestimmen und auch die Berechnung aller möglichen Zugriffszustände zu realisieren, die in Bezug auf den vorgenannten oder aktuellen Zugriff folgen, und zwar mit Hilfe des ersten, des zweiten und dritten vorerwähnten Pfades.
- Die Betriebsweise der Vorrichtung, wie sie in Fig. 2a dargestellt ist, ist die folgende: der erste, der zweite und der dritte Pfad 1a, 1b, 1c erlauben, unterschiedliche mögliche Zustände aufeinander folgende Zugriffe zu berechnen, wobei diese unterschiedlichen möglichen Zustände mit Hilfe der bistabilen Kippglieder 13 jedes entsprechenden Pfades gespeichert werden. Die Multiplexerschaltung 14 erlaubt, den Wert des vorliegenden Zustands des Systems aus einer Anzahl von Schreib- oder Lesezugriffen auszuwählen und die Mitteilung über den laufenden Zustand METC, die nicht anders ist als der Wert des Merkzeichen, in kodierter Form an den vorstehend erwähnten Berechnungs-BUS zu liefern.
- Auf dem vorgenannten Berechnungs-BUS werden somit permanent bei jedem Berechnungszyklus die Mitteilung über den laufenden Zustand METC abgelegt, welche in kodierter Form die Differenz zwischen der Anzahl an Zugriffen für einen Schreibvorgang W und der Anzahl von Zugriffen für einen Lesevorgang R darstellt, welche auf dem Niveau des betreffenden FIFO-Speichers ausgeführt wurden.
- In dem Falle, in welchem alle Bits der Mitteilung über den laufenden Zustand METC den Wert 0 haben, ist somit der FIFO-Speicher leer, und ein EF- Merkzeichen, das für den leeren Zustand des Speichers repräsentativ ist, kann somit aktiviert werden.
- Wenn im Gegensatz dazu das Bit mit hoher Wertigkeit der Meldung über den laufenden Zustand 1 ist, ist der entsprechende FIFO-Speicher somit voll, und das für diesen Zustand für den FIFO-Speicher repräsentative Merkzeichen FF kann daher erzeugt werden.
- Es sei so verstanden, daß die Rechenschaltung 1, wie im folgenden beschrieben wird, eine Schaltung zur sogenannten Haltesteuerung umfassen kann, die erlaubt, das vorgenannte Merkzeichen FF zu erzeugen. Es sei auch so verstanden, daß die Schaltung zur Haltesteuerung bei einer Maßnahme absolut unentbehrlich ist, bei welcher gegebenenfalls in Betracht gezogen wird, den vollen Zustand des FIFO- Speichers ausgehend von der Meldung über den laufenden Zustand METC und gegebenenfalls eine neue Inkrementierung zum Beispiel mit Hilfe der Additionsschaltung 10 um ein Inkrement zu erfassen.
- Dennoch, und um eine bessere Betriebsweise der Vorrichtung zur Steuerung eines FIFO-Speichers gemäß der Erfindung sicher zu stellen, sei angemerkt, daß die Rechenschaltung 1 ferner, wie in Fig. 2a dargestellt ist, eine weitere Multiplexerschaltung 15 umfassen kann, die am Multiplexereingang die Mitteilung über den laufenden Zustand METC und ein Auswahlsignal Mrt erhält, das selbst bedingt ist durch das Signal zur Null-Setzung des Lesezählers. Die Multiplexerschaltung 15 erhält dann ausgehend von einem vierten Pfad 1d zur Inkrementierung eines Rückhaltezugriffs und umfaßt, in Kaskade verbunden, eine Additionsschaltung 10 um ein Inkrement und eine Speicherschaltung nach Bauart eines bistabilen Kippgliedes, das das Bezugszeichen 13 trägt, wobei die Schaltung 13 nach Bauart eines bistabilen Kippgliedes des vierten Pfad 1d selbst durch das Signal zur Steuerung eines Schreibvorgangs W gesteuert wird, einem der Anzahl von Schreibzugriffen auf den betreffenden FIFO-Speicher repräsentatives Signal.
- Es sei natürlich so verstanden, daß nicht alleine die Additionsschaltung 10 eines Inkrements, sondern auch die Schaltung 13 nach Bauart eines bistabilen Kippgliedes 13 des vierten Pfades 1d die gleichen Bezugszeichen tragen, wie die entsprechenden Schaltungen des ersten Pfades 1a, und zwar aufgrund der Tatsache, daß diese Schaltungen die gleiche Struktur aufweisen und schließlich eine analoge Funktion erfüllen, wobei der vierte Pfad 1d einfach zur Berechnung des Zustandes der Gesamtzahl von Zugriffen eines Schreibvorgangs und nicht auch zur Berechnung des Zustandes, der einem Schreibzugriff entspricht, wie der erste Pfad 1a, erfüllt.
- Somit liefert der Pfad 1d ein der Anzahl von effektiv ausgeführten Schreibzugriffen repräsentatives Signal. Diese Zählung wird durch den Pfad 1d ausgeführt, der permanent die Anzahl von Schreibzugriffen ausgehend z. B. von dem Signal zur Steuerung eines Schreibzugriffs W speichert, und der Wert der so ausgeführten Anzahl von Schreibvorgängen kann bei einer Nachlesung des betreffenden FIFO-Speichers übertragen werden das heißt, bei der Rücksetzung des Lesezählers dieses Speichers mit Hilfe des Multiplexers 15 auf dem Berechnungs-BUS auf Null.
- Im Hinblick auf die Struktur der Rechenschaltung 1, wie sie in Fig. 2a dargestellt ist, ist zu erkennen, daß die Mitteilung über den laufenden Zustand METC somit einen kodierten Wert des Zustandes des betreffenden FIFO-Speichers darstellt und daß insbesondere der reelle Wert des Zustandes des vorgenannten FIFO-Speichers durch alle durch Dekodierung ausgehend von der vorgenannten Mitteilung über den laufenden Zutand METC erhaltenen Merkzeichen repräsentativ ist. Somit wird bei jeder Operation eines Schreibzugriffs mit Hilfe des Schreibsignals W oder eines Lesezugriffs mit Hilfe des Lesesignals R der entsprechende Wert der Mitteilung über den laufenden Zustand METC mit Hilfe der bistabilen Kippgliedschaltungen 13 des ersten, des zweiten, des dritten und, dort wo dieser verwendet wird, des vierten Pfades erzeugt wird, und zwar mit Hilfe des vorerwähnten Multiplexers 14.
- Die drei möglichen aufeinander folgenden Zustände werden somit ausgehend von dem vorher gehenden Zustand berechnet:
- einen Schreibzugriff: Inkrementation des kodierten Wertes und somit der Mitteilung über den laufenden Zustand METC auf den Berechnungs-BUS, einen Lesezugriff Dekrementierung des gleichen vorgenannten Wertes, eines Lesezugriffs und eines Schreibzugriffs gleichzeitig: der voraus gehende Wert der Mitteilung über einen laufenden Zustand METC wird konserviert, wobei die globale Belegung des FIFO-Speichers aufgrund des gleichzeitigen Lese- und Schreibzugriffs des Speichers unverändert bleibt.
- Die Mitteilung über den laufenden Zustand METC wird an die Dekodierungsschaltung 2 geliefert, welche dann erlaubt, den Wert des entsprechenden, für den Belegungszustand des betreffenden FIFO-Speichers repräsentativen Merkzeichens zu erzeugen. Die Dekodierungsschaltung 2 kann vorteilhafterweise z. B. durch eine Transkodierungsschaltung realisiert werden, die die Mitteilung über den laufenden Zustand METC als Eingangsdatum erhält. Diese Dekodierungsschaltung erhält dann die Mitteilung über den laufenden Zustand METC oder der Anzahl von ausgeführten Schreibzugriffen. Die Transkodierungstabelle, welche die Dekodierungsschaltung 2 für eine Zählung bis 8, kodiert auf vier Bits, bildet, erlaubt dann, die aufeinander folgenden, für den Zustand des Speichers repräsentativen Merkzeichen gemäß der nachfolgenden Tabelle zu liefern, und zwar für die Merkzeichen leer EF, halbleer, HF und FIFO-Speicher voll FF:
- Der Wert des Merkzeichens FF ergibt sich direkt aus dem Zustand des vierten Bit des Berechnungs-BUS, welcher aus diesem Grunde einen Rückhaltewert hat, das heißt, den Wert der Mitteilung über den laufenden Zustand METC. Es ist natürlich möglich, anstelle einer Transkodierungstabelle, eine Dekodierungslogik der Mitteilung über den laufenden Zustand METC zu verwenden. Die Dekodierunglogik des Merkzeichens EF ist speziell, denn die aktiven Flanken der Signale des Schreibzugriffs W und des Lesezugriffs R sind für diese Merkzeichen invers der weiteren Merkzeichen. Eine detailliertere Beschreibung des Multiplexers 14 wird nun in Verbindung mit Fig. 2b gegeben.
- Wie in der vorgenannten Figur dargestellt ist, kann der Multiplexer 14 tatsächlich durch zwei Multiplexer gebildet sein, welche die Bezugszeichen 140 und 141 tragen und in Kaskade verbunden sind. Die Multiplexereingänge des ersten Multiplexers 140 erhalten die durch den ersten und zweiten Pfad 1a, 1b gelieferten Signale während ein weiterer Multiplexereingang des Multiplexers 141 das durch den dritten Pfad 1c gelieferte Signal erhält. Der erste Multiplexer 140 wird durch ein Signal zur Steuerung des Schreiben/Lesen-Multiplexens gesteuert, wobei dieses Signal mit MUX W/R bezeichnet ist.
- Vom Gesichtspunkt der Funktionsweise aus sei angemerkt, daß der Multiplexer 140 erlaubt, den Pfad 1 und dem Pfad 2 auszuwählen, während der Multiplexer 141, der durch ein Signal zur bedingten Steuerung eines Multiplexvorgangs bei Vorhandensein eines gleichzeitigen Lese- und Schreibzugriffs auf den betreffenden FIFO- Speicher gesteuert wird, wobei dieses Signal zur Steuerung des Multiplexvorgangs mit MRet bezeichnet wird, im Gegensatz dazu erlaubt, zum einen den Ausgang des ersten Multiplexers 140 und zum anderen den Ausgang des dritten Pfades 1c auszuwählen.
- Was die Realisierung der Rechenschaltung 1 betrifft, wie sie in Fig. 2a dargestellt ist, sei angemerkt, daß die Additionsschaltungen zur Inkrementation oder Dekrementation 10 und 11 durch ein schnelles Additionsglied bzw. Subtraktionsglied gebildet werden können, wobei die Verzögerungsschaltung 12 mit Hilfe einer RC- Verzögerungsschaltung realisiert werden kann. Die Schaltungen nach Bauart eines Kippgliedes 13 können in klassischer Weise realisiert sein. Vorzugsweise ist die Gesamtheit in Form einer integrierten Schaltung realisiert.
- Eine detailliertere Beschreibung von Bauelementen der Steuerschaltung 3 wird nun in Verbindung mit den Fig. 3a, 3b und 3c gegeben.
- Es sei daran erinnert, daß die Steuerschaltung 3 erlaubt, die Gesamtheit der Signale zur Auswahl eines Schreibvorganges, eines Lesevorganges oder einer Verzögerung bedingt durch das Vorhandensein eines Lesezugriffs bzw. eines gleichzeitigen Lese- /Schreibzugriffs zu erzeugen, wie dies vorstehend in der Beschreibung erwähnt wurde.
- Was die vorgenannten Signale zur Auswahl eines Schreibvorgangs SW und eines Lesevorgangs SR betrifft, sei angemerkt, wie in Fig. 3a dargestellt ist, daß die Steuerschaltung 3 einen Modulgenerator der vorgenannten bedingten Signale SW und SR umfaßt.
- Der Modulgenerator kann ein bistabiles Kippglied 30 umfassen, das durch das Signal eines Schreibzugriffs W betätigt wird, und ein bistabiles Kippglied 31, das durch das Signal eines Lesezugriffs R betätigt wird. Die bistabilen Kippglieder 30 und 31 werden durch ein Signal zur Rücksetzung auf Null RAZ mit Hilfe eines NEIN-UND-Tors 30a bzw. 31a auf Null gesetzt. Der Ausgang der bistabilen Kippglieder 30 und 31 ist mit einem NEIN-UND-Tor 32 verbunden, welches ein Signal liefert, das der Gleichzeitigkeit eines Schreib- und Lesezugriffs auf den betreffenden FIFO-Speicher repräsentativ ist. Das durch das logische NEIN-UND-Tor 32 gelieferte Signal wird an ein bistabiles Kippglied 33 geliefert, welches erlaubt, das Signal zur verzögerten Auswahl, bedingt durch das vorgenannte Signal zur Steuerung eines Lesevorgangs und das Signal zur Steuerung eines Schreibvorgangs, zu liefern. Das Zurücksetzen auf Null des Kippgliedes 33 wird mit Hilfe eines NEIN- UND-Tors 33a ausgeführt, welches auf einem seiner Eingänge das Rückstellsignal auf Null RAZ erhält und auf einen anderen Eingang das Sretard-Signal zur Auswahl der vorgenannten Verzögerung mittels einer Verzögerungsschaltung 34 erhält.
- Ferner umfaßt das vorgenannte Modul ein logisches NEIN-UND-Tor 35, welches auf einem seiner Eingänge das Ausgangssignal des Kippgliedes 30 erhält, wobei das NEIN-UND-Tor 35 das vorgenannte Signal zur Auswahl eines Schreibvorganges SW liefert.
- Es verhält sich ebenso mit dem bistabilen Kippglied 31, dessen Ausgang mit einem NEIN-UND-Tor 36 verbunden ist, welches das Signal zur Auswahl eines Lesevorgangs SR bedingt durch das Steuersignal für einen Lesevorgang R liefert.
- Wie in Fig. 3a dargestellt ist, ist der Ausgang des NEIN-UND-Tors 36 mit einem zweiten Eingang des NEIN-UND-Tors 35 verbunden und, umgekehrt, ist der Ausgang des NEIN-UND-Tors 35 mit einem Eingang des NEIN-UND-Tors 36 verbunden.
- Ferner erlauben die NEIN-UND-Tore 30a und 31a, die Rücksetzung auf Null der bistabilen Kippglieder 30 bzw. 31 auszuführen, wenn sie auf einem ihrer Eingänge das vorgenannte Rücksetzsignal auf Null RAZ erhalten und auf einem arideren ihrer Eingänge das Signal SW für das NEIN-UND-Tor 30a mit Hilfe einer Verzögerungsschaltung 37 erhalten und das Signal SR für das NEIN-UND-Tor 31a mit Hilfe einer Verzögerungsschaltung 38 für das bistabile Kippglied 31 erhalten.
- Wie ferner in Fig. 3b dargestellt ist, umfaßt die Steuerschaltung 3 ein Modul, welches erlaubt das Steuersignal für den Multiplexvorgang des ersten Multiplexers 140 zu erzeugen, wie in Fig. 2a oder 2b dargestellt ist. Das vorgenannte Modul umfaßt, wie in Fig. 3b dargestellt ist, ein erstes NEIN-UND-Tor 39a, das in Kaskade mit einem zweiten NEIN-UND-Tor 39b verbunden ist, wobei der Ausgang des zweiten NEIN-UND-Tors 39b rückgekoppelt ist an einen Eingang des ersten NEIN-UND- Tors 39a mit Hilfe von zwei Inversionsschaltungen 41 und 42, die zur Aufgabe haben, die Ausbreitungszeiten der Signale durch die NEIN-UND-Tore 39a und 39b zu kompensieren. Ein zweiter Eingang der NEIN-UND-Tore 39a und 39b erhält das Signal zur Auswahl eines Lesevorgangs SR bzw. eines Schreibvorgangs SW. Der Ausgang des NEIN-UND-Tors 39b liefert an eine Inversionsschaltung 40 ein Signal, wobei dieses Signal durch die Inversionsschaltung 40 invertiert wird und das Signal zur Steuerung des Multiplexvorgangs MUX W/R bildet, welches bei Abruf von der Multiplexerschaltung 140 geliefert wird.
- Schließlich umfaßt die Steuerschaltung 3 auch ein Generatormodul des Steuersignals für den Multiplexvorgang des zweiten Multiplexers 141, wobei dieses Signal in Fig. 2a und 2b durch Mret bezeichnet ist.
- Dieses Modul umfaßt eine Schaltung nach Bauart eines bistabilen Kippgliedes 43, welches auf einem seiner Eingänge das vorgenannte Signal zur Auswahl einer Verzögerung Sretard erhält. Das Kippglied 43 erhält mit Hilfe eines ODER-Tors 44 ein Signal zur Rücksetzung auf Null RAZ, wobei das ODER-Tor 44 selbst auf einem ersten Eingang ein Steuersignal für einen folgenden Lesevorgang erhält und auf einem zweiten Eingang das Signal zur Steuerung eines folgenden Schreibvorgangs erhält. Das bistabile Kippglied 43 liefert das Signal Mret, welches die Steuerung des Multiplexvorgangs des Multiplexers 141 erlaubt.
- Ein Chronogramm der Gesamtheit der vorgenannten Signale, die in Verbindung mit den Fig. 2a, 2b und 3a bis 3c beschrieben wurden, ist in Fig. 4 dargestellt.
- Was das Rücksetzsignal auf Null RAZ betrifft, sei angemerkt, daß dieses Signal auf Null aktiv ist. Ferner ist das Signal für einen Schreibzugriff W auf seiner fallenden Flanke aktiv. Im Gegensatz dazu ist das Signal für einen Lesezugriff R auf seiner steigenden Flanke aktiv. Das Signal zur Auswahl eines Schreibvorgangs SW ist ein Signal, das auf tiefem Niveau aktiv ist und das gleich gilt für das Signal zur Auswahl eines Lesevorgangs SR.
- Schließlich sei angemerkt, daß, was das Steuersignal eines Multiplexvorgangs Mret betrifft, dieses die Auswahl des dritten Pfades 1c bei einem gleichzeitigen Schreib- und Lesezugriff auf den betreffenden FIFO-Speicher zuläßt, wobei dieses Signal eine Prioritätssteuerung des Multiplexers 141 auf die Steuerung des Multiplexers 140 hin ausführt.
- Es wurde somit eine Vorrichtung zur Steuerung eines FIFO-Speichers beschrieben, der in besonderer Weise in einer Anordnung eingesetzt wird, in welcher durch eine parallele Berechnung aller möglichen Schritte, die einem vorher gehenden Schritt folgen können, die Berechnung des tatsächlich laufenden Schrittes, der einem vorher gehenden Schritt folgt, mit einer deutlich verbesserten Rechengeschwindigkeit ausgeführt werden kann.
Claims (4)
1. Vorrichtung zur Steuerung eines FIFO-Speichers mit einem Anschluß zur
Steuerung eines Lesezugriffs und einem Anschluß zur Steuerung eines Schreibzugriffs
mit Hilfe eines Steuersignals zum Lesen (R) bzw. zum Schreiben (W), dadurch
gekennzeichnet, daß diese umfaßt:
- eine Einrichtung (1) zur Berechnung und Speicherung unterschiedlicher,
dem Speicher entsprechender Zugriffszustände und zur Auswahl aus diesen
Zuständen den laufenden Zugriffszustand in Form einer Mitteilung über den laufenden
Zustand (METC), wobei die Einrichtung (1) zur Berechnung und zur Speicherung
unterschiedlicher möglicher Zustände wenigstens umfaßt:
- einen ersten Pfad (1a) zur Inkrementierung eines Schreibzugriffs mit, in Kaskade
verbunden, einer Additionsschaltung (10) für ein Inkrement einer Einheit und
einer Speicherschaltung (13) in Bauart eines bistabilen Kippgliedes, das durch ein
Signal (SW) zur Auswahl eines Schreibvorgangs bedingt durch das Vorliegen des
Schreib-Steuersignals (W) gesteuert wird,
- einen zweiten Pfad (1b) zur Dekrementierung eines Lesezugriffs mit, in Kaskade
verbunden, einer Subtraktionsschaltung (11) für ein Inkrement einer Einheit und
einer Speicherschaltung (13) in Bauart eines bistabilen Kippgliedes, das durch ein
Signal (SR) zur Auswahl eines Lesevorganges bedingt durch ein Vorliegen des
Lese-Steuersignals (R) gesteuert wird,
- einen dritten Pfad (1c) zur Beibehaltung eines vorausgehenden Zustands, der einer
Steuerung eines gleichzeitigen Lese- und Schreibzugriffs auf den Speicher
entspricht, mit, in Kaskade verbunden, einer Schaltung (12) zur Verzögerung um eine
Zeitspanne und einer Speicherschaltung (13) in Bauart eines bistabilen
Kippglieds, das durch ein Signal (S retard) zur Auswahl einer Verzögerung bedingt
durch das Vorliegen des Lese-Steuersignals (R) und des Schreib-Steuersignal (W)
gesteuert wird,
- eine Multiplexschaltung (14), die an einem Multiplexereingang das durch den
ersten (1a), den zweiten (1b) und den dritten Pfad (1c) gelieferte Signal und über
einen Steuereingang ein Auswahlsignal der Mitteilung über den laufenden Zustand
(METC) erhält, wobei die Mitteilung über den laufenden Zustand (METC) am
Ausgang der Multiplexschaltung an den Eingang des ersten (1a), des zweiten (1b)
und des dritten Pfads (1c) geliefert wird;
- eine Einrichtung (2) zur Dekodierung der Mitteilung über den laufenden
Zustand, die diese Mitteilung über den laufenden Zustand (METC) erhält, um ein
Anzeigflag des Zustands dieses Speichers zu erzeugen;
- eine Einrichtung (3) zur Steuerung der Berechnungs- und Auswahl-
Einrichtung ausgehend von dem Signal zur Steuerung eines Lesevorgangs (R) und
eines Schreibvorgangs (W), wobei die Steuereinrichtung (3) umfaßt:
- ein Modul (3a) zur Erzeugung von Schreib- und Lese-Auswahlsignalen bedingt
durch das jeweilige Schreibsignal und Lesesignal;
- ein Modul (3b) zur Erzeugung des Steuersignals für den Schreiben/Lesen-
Multiplexvorgang (MUX W/R);
- ein Modul (3c) zum Erzeugen des Signals zur Steuerung des Multiplexvorgangs
(Mret) bedingt durch das Vorliegen eines gleichzeitigen Schreib- und
Lesezugriffs.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die
Berechnungseinrichtung (1) ferner umfaßt, verbunden zwischen dem Ausgang der
Multiplexschaltung (14) und dem Eingang des ersten (1a), des zweiten (1b) und des dritten Pfads
(1c):
- eine weitere Multiplexschaltung (15), die am Multiplexeingang die
Mitteilung über den laufenden Zustand (METC) und ein Signal (Mrt), das repräsentativ ist
für die Anzahl der wirksam ausgeführten Schreibzugriffe, und über einen
Steuereingang ein Auswahlsignal bedingt durch das Signal zur Rückstellung auf Null des
Lesezählers erhält,
- einen vierten Weg (1d) zur Zählung der wirksam durchgeführten
Schreibzugriffe mit, verbunden in Kaskade, einer Additionschaltung (10) für ein Inkrement
und einer Speicherschaltung (13) in der Bauart eines bistabilen Kippglieds, das
durch das Schreib-Steuersignal (W) gesteuert wird, was erlaubt, permanent die
Anzahl bewirkter Schreibzugriffe auf den FIFO-Speicher seit einem Anfangszustand
zu speichern.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die
Multiplexschaltung (14) gebildet wird durch:
- einen ersten Multiplexer (140), der am Multiplexeingang das durch den
ersten (1a) und den zweiten Pfad (1b) gelieferte Signal und über einen Steuereingang
des Multiplexvorgangs das Steuersignal für das Schreiben/Lesen-Multiplexen
(MUX WIR) erhält;
- einen zweiten Multiplexer (141), der am Multiplexeingang das durch den
ersten Multiplexer (140) gelieferte Signal und das durch den dritten Pfad (1c)
gelieferte Signal erhält und über einen Steuereingang des Multiplexvorgangs das
Steuersignal für den Multiplexvorgang (Mret) bedingt durch das Vorliegen eines
gleichzeitigen Schreib- und Lesezugriffs erhält.
Fig. 1 (ART ANTERIEUR) = Stand der Technik
SIGNAL D'ECRITURE W = Schreibsignal WR
COMPTEUR ECRITURE = Zählerschreibvorgang
SOUSTRACTEUR = Subtraktionsglied
COMPARATEURS = Vergleicher
RD SIGNAL DE LECTURE = RD Lesesignal
COMPTEUR LECTURE = Zähler eines Lesevorgangs
ET = UND
Fig. 2a BUS DE CALCUL = Berechnungs-BUS
retard = Verzögerung
Sretard = Sverzögert
DÉCODAGE = Dekodierung
DRAPEAU = Merkzeichen
Fig. 3c BASCULE = Kippglied
Sretard = Sverzögert
R SUIVANT = R folgend
W SUIVANT = W folgend
Fig. 3a Sretard = Sverzögert
Fig.
4 Sretard = Sverzögert
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9415121A FR2728379A1 (fr) | 1994-12-15 | 1994-12-15 | Dispositif de gestion d'une memoire fifo |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69519277D1 DE69519277D1 (de) | 2000-12-07 |
DE69519277T2 true DE69519277T2 (de) | 2001-05-31 |
Family
ID=9469841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1995619277 Expired - Lifetime DE69519277T2 (de) | 1994-12-15 | 1995-12-12 | Anordnung zur Verwaltung eines FIFO-Speichers |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0717349B1 (de) |
DE (1) | DE69519277T2 (de) |
FR (1) | FR2728379A1 (de) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021994A (en) * | 1988-01-11 | 1991-06-04 | Texas Instruments Incorporated | Look-ahead flag generator |
EP0421627B1 (de) * | 1989-10-03 | 1998-11-11 | Advanced Micro Devices, Inc. | Speichervorrichtung |
-
1994
- 1994-12-15 FR FR9415121A patent/FR2728379A1/fr active Granted
-
1995
- 1995-12-12 DE DE1995619277 patent/DE69519277T2/de not_active Expired - Lifetime
- 1995-12-12 EP EP19950402799 patent/EP0717349B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69519277D1 (de) | 2000-12-07 |
EP0717349B1 (de) | 2000-11-02 |
FR2728379B1 (de) | 1997-02-21 |
EP0717349A1 (de) | 1996-06-19 |
FR2728379A1 (fr) | 1996-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300260C2 (de) | ||
DE69934401T2 (de) | Datenerfassungssystem mit mitteln zur analyse und zum abspeichern in echtzeit | |
DE602004008456T2 (de) | Integrierte ladungsleseschaltung für resistive speicher | |
DE2853239A1 (de) | Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang | |
DE69021687T2 (de) | Verfahren und Vorrichtung zur Zählung von Ereignissen unter Verwendung eines flüchtigen Speichers. | |
DE60226141T2 (de) | Fifo-speicher system und verfahren dafür | |
DE112018002334T5 (de) | Vorrichtungen und verfahren zur übertragung von ereignissen mit einer gleichförmigen latenz auf seriellen kommunikationsverbindungen | |
DE69129729T2 (de) | FIFO-Puffer | |
DE3246432A1 (de) | Signalfolge-erkennungsschaltung und diese enthaltender logischer analysator | |
DE69129889T2 (de) | Pipelineschaltung und Verfahren zum Vergleich der relativen Differenz zwischen zwei asynchronen Zeigern und einem programmierbaren Wert | |
DE102004021398B4 (de) | Verfahren und Schaltungsanordnung zum Zurücksetzen einer integrierten Schaltung | |
DE69821461T2 (de) | Logische Schaltung mit eigener Takterzeugung und zugehöriges Verfahren | |
DE3780163T2 (de) | Programmierbare folgesteuerung zur steuerung von schnellen, komplizierten arbeitsgaengen. | |
DE68909666T2 (de) | Koppelpunktschaltungselement zwischen zwei Daten-Sammelleitungen. | |
EP0217122B1 (de) | Schaltungsanordung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale | |
DE60004409T2 (de) | Schaltung und Verfahren zur Zufallszahlerzeugung | |
DE102014101141B4 (de) | Empfänger und Verfahren | |
DE10052132A1 (de) | Graphikprozessor mit mehrfachen geometrischen Arbeitseinheiten und Verfahren zum Datenverarbeiten | |
DE69519277T2 (de) | Anordnung zur Verwaltung eines FIFO-Speichers | |
DE3782343T2 (de) | Zustandsanpassung fuer parallele verarbeitung. | |
DE10148109B4 (de) | Verfahren zum Speichern oder Weiterleiten von Daten | |
DE69524837T2 (de) | Asynchrone Speicheranordnung mit seriellem Zugriff und entsprechendes Speicher- und Leseverfahren | |
DE69023395T2 (de) | Arbitrierungsschaltung. | |
DE69423069T2 (de) | System für Datentransfer | |
DE69327886T2 (de) | Parallelisierte Differenzflaggenlogik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8327 | Change in the person/name/address of the patent owner |
Owner name: ATMEL NANTES SA, NANTES, FR |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ATMEL SWITZERLAND S.A.R.L., FRIBOURG, CH |