DE69519277T2 - Anordnung zur Verwaltung eines FIFO-Speichers - Google Patents

Anordnung zur Verwaltung eines FIFO-Speichers

Info

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
Application number
DE1995619277
Other languages
English (en)
Other versions
DE69519277D1 (de
Inventor
Bernard Coloma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Switzerland SARL
Original Assignee
Atmel Nantes SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Atmel Nantes SA filed Critical Atmel Nantes SA
Publication of DE69519277D1 publication Critical patent/DE69519277D1/de
Application granted granted Critical
Publication of DE69519277T2 publication Critical patent/DE69519277T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/62Performing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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
DE1995619277 1994-12-15 1995-12-12 Anordnung zur Verwaltung eines FIFO-Speichers Expired - Lifetime DE69519277T2 (de)

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)

* Cited by examiner, † Cited by third party
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

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