DE69124606T2 - Adaptive FIFO-Speichersteuerung - Google Patents

Adaptive FIFO-Speichersteuerung

Info

Publication number
DE69124606T2
DE69124606T2 DE69124606T DE69124606T DE69124606T2 DE 69124606 T2 DE69124606 T2 DE 69124606T2 DE 69124606 T DE69124606 T DE 69124606T DE 69124606 T DE69124606 T DE 69124606T DE 69124606 T2 DE69124606 T2 DE 69124606T2
Authority
DE
Germany
Prior art keywords
data
memory
written
logic
read
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 - Fee Related
Application number
DE69124606T
Other languages
English (en)
Other versions
DE69124606D1 (de
Inventor
David Charles Conway-Jones
Peter Martin Smith
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69124606D1 publication Critical patent/DE69124606D1/de
Publication of DE69124606T2 publication Critical patent/DE69124606T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F5/10Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/108Reading or writing the data blockwise, e.g. using an extra end-of-block pointer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein FIFO-Speicher und insbesondere eine adaptive FIFO-Speichersteuerung für einen digitalen Videokommunikationskanal.
  • Ein FIFO umfaßt typischerweise eine Speicheranordnung in Form eines Stapels adressierfähiger Datenbytes. Die Datenbytes werden in dem Stapel in Adressen geschrieben, die von einem Schreibadressenzähler oder "Zeiger" in Reaktion auf ein Schreibfreigabesignal angegeben werden. Entsprechend werden auch Datenbytes in dem Stapel von Adressen gelesen, die von einem Leseadressenzeiger in Reaktion auf ein Lesefreigabesignal angegeben werden. Die von dem Lese- und Schreibadressen- zeiger angegebenen Adressen werden von Lese- bzw. Schreibtaktsignalen inkrementiert. Die Lese- bzw. die Schreibadressen geben also die Anzahl der in den Stapel geschriebenen und die Anzahl der aus dem Stapel gelesenen Bytes an.
  • Weil die Geschwindigkeit, mit der Daten aus dem Stapel gelesen werden, sich von der Geschwindigkeit, mit der Daten in den Stapel geschrieben werden, unterscheiden kann, werden FIFOs als Datenkommunikationskanäle zwischen Datenverarbeitungssystemen mit unterschiedlichen Bandbreiten eingesetzt. FIFOs eignen sich besonders zur Übertragung von Daten an ein Empfangssystem, das die Daten nicht direkt annehmen kann, weil es beispielsweise gerade mit der Bearbeitung soeben empfangender Daten beschäftigt ist. Um die Ausnutzung der verfügbaren Bandbreite des Datenkanals zu maximieren, werden die Daten durch den FIFO vorzugsweise in Blöcken oder Bündeln an das Empfangssystem übertragen. Das bedeutet normalerweise, daß sich zunächst eine bestimmte Datenmenge in dem FIFO ansammelt, bevor dem Empfangssystem gemeldet wird, daß Daten übertragen werden sollen. Das Empfangssystem liest dann die Datenbündel als kontinuierlichen Datenstrom aus dem FIFO aus.
  • Der Datenfluß durch den FIFO wird gewöhnlich durch einen FIFO-Controller geregelt. Der FIFO-Controller sendet ein Signal zur Anforderung eines Datentransfers an das Empfangssystem, wenn die Differenz zwischen der Zahl der in den Stapel geschriebenen Datenbits und der Zahl der aus dem Stapel gelesenen Datenbits einen vorher festgelegten Schwellen- oder Bündelwert erreicht. In Antwort auf das Datentransfer-Anforderungssignal liest das Empfangssystem das Datenbündel aus dem FIFO aus.
  • EP-A-0 247 317 beschreibt ein FIFO-Speichersystem mit einer Detektorlogik, die Differenzen zwischen der Zahl der in einen FIFO-Speicher geschriebenen Adressen und der Zahl der aus einem FIFO-Speicher gelesenen Adressen erkennt, und eine Komparatorlogik zur Erzeugung eines Signals, mit dem ein Datentransfer angefordert wird, wenn die genannte Differenz einen variablen Schwellenwert erreicht beziehungsweise überschreitet. Ein ähnliches System wird in der U.S. Patentschrift 4,942,553 beschrieben.
  • Der hier beschriebene FIFO-Speicher eignet sich zur Übertragung von Bündeln eines ununterbrochenen Datenstroms, beispielsweise digitalisierte Abtastwerte eines Audiosignals. Einige Datenströme, beispielsweise digitalisierte Abtastwerte von Videosignalen, können jedoch durch periodische Synchronisations-Codes interpunktiert werden. Die einem digitalisierten Videosignal zugeordneten Synchronisations-Codes trennen die Daten der aufeinanderfolgenden Bildzeilen eines digitalisierten Videobildes und die Daten der aufeinanderfolgender Einzelbilder. Wenn die Anzahl der Abtastwerte jeder Bildzeile nicht durch den Bündelwert teilbar ist, kann es sein, daß Daten, die das Ende einer Videozeile darstellen, in dem FIFO- Speicher zurückgeblieben sind, wenn die Daten für die nächste Bildzeile in den FIFO-Speicher geschrieben werden. Dies kann zu einem Überschreiben der zurückgebliebenen Daten führen. Das Empfangssystem kann daher möglicherweise den Rand des Bildes nicht wiedergeben. Es ist deswegen wünschenswert, sicherzustellen, daß der FIFO-Speicher zwischen den Übertragungen aufeinanderfolgender Bildzeilen freigemacht wird. Gewöhnlich erreichte man dies dadurch, daß ein Datentransfer angefordert wurde, wenn sich mindestens einige Daten in dem Stapel befanden, anstatt zu warten, bis sich genügend Daten für einen Bündeltransfer angesammelt hatten. Dies steht jedoch einer Maximierung der Bandbreiten-Ausnutzung des Datenkanals entgegen.
  • Gemäß der vorliegenden Erfindung wird jetzt ein Controller für einen FIFO-Speicher bereitgestellt, wobei dieser Controller folgendes umfaßt: eine Detektorlogik zur Erkennung von Differenzen zwischen der Zahl der Adressen im Speicher, in die Daten geschrieben werden, und der Zahl der Adressen im Speicher, aus denen Daten gelesen werden; und eine Komparatorlogik zur Erzeugung eines Signals zur Anforderung eines Datentransfers in Antwort darauf, daß die genannte Differenz einem bestimmten Schwellenwert entspricht beziehungsweise diesen überschreitet; dadurch gekennzeichnet, daß der Controller folgendes umfaßt: eine Schwellenauswahllogik, die auf einen Datenstrom reagiert, der abwechselnd einen ersten Teil und einen zweiten längeren Teil hat und in den Speicher geschrieben wird, wobei die Schwellenauswahllogik den Schwellenwert auf einen ersten Wert setzt, wenn der erste Teil geschrieben wird, und den Schwellenwert auf einen zweiten Wert, der größer als der erste Wert ist, setzt, wenn der zweite Teil geschrieben wird; wobei die Schwellenauswahllogik folgendes umfaßt: einen Steuersignalgenerator, der ein einzelnes Steuerbit auf einen ersten Pegel setzt, wenn ein erster Teil des Datenstroms geschrieben wird, und der das Steuerbit auf einen zweiten Pegel setzt, wenn ein genannter zweiter Teil des Datenstroms geschrieben wird; und einen Demultiplexer, der ein erstes Register, in dem der erste Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuerbit auf den ersten Pegel gesetzt ist, und der ein zweites Register, in dem der zweite Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuerbit auf den zweiten Pegel gesetzt ist.
  • Die vorliegende Erfindung basiert auf der Erkenntnis, daß Daten mit ersten und zweiten Teilen, zum Beispiel ein digitalisiertes Videosignal mit aktiven, voneinander durch Steuerabschnitte getrennten Zeilenabschnitten, hinsichtlich der Ausnutzung der Kommunikationsbandbreite durch einen FIFO-Speicher von einem System zum anderen effizienter übertragen werden können, wenn die beiden Teile als Funktionen unterschiedlicher Schwellenwerte übertragen werden. Die unterschiedlichen Schwellenwerte erleichtern hierbei den Datentransfer mit entsprechend unterschiedlichen Übertragungsraten. Die mit der vorliegenden Erfindung erreichte Verbesserung der Effizienz wird daher insbesondere dann deutlich, wenn der zweite Teil wesentlich länger als der erste Teil ist. Die vorliegende Erfindung ist daher besonders geeignet zur Übertragung digitalisierter Videosignale von einem System zu einem anderen System, weil die aktiven Zeilenteile von Videosignalen im allgemeinen wesentlich länger als die Steuerteile sind.
  • Vorzugsweise umfaßt die Schwellenauswahllogik folgende Teile: einen Steuersignalgenerator zur Erzeugung eines binären Steuersignals in Reaktion auf die in den Speicher geschriebenen Daten, wobei der Steuersignalgenerator das Steuersignal auf einen ersten Pegel setzt, wenn der erste Teil geschrieben wird, und das Steuersignal auf einen zweiten Pegel setzt, wenn der zweite Teil geschrieben wird; und einen Demultiplexer, der ein erstes Register, in dem der erste Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuersignal auf den ersten Pegel gesetzt ist, und der ein zweites Register, in dem der zweite Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuersignal auf den zweiten Pegel gesetzt ist.
  • Weil der erste und der zweite Pegel in Registern gespeichert sind, können sie einfach dadurch verändert werden, daß andere Werte in die Register geladen werden. Hierdurch kann der FIFO-Controller der vorliegenden Erfindung für unterschiedliche Datentypen neu konfiguriert werden. Der EIFO-Controller der vorliegenden Erfindung ist daher besonders geeignet zur Übertragung eines digitalisierten Videosignals von einem Gerät zur Erfassung von Videodaten an einen Bildschirmadapter in einem digitalen Videosystem, in dem ein Bild in eine beliebige Anzahl von Pixel-pro-Zeile-Formaten aufgelöst werden kann.
  • In einem besonders bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfaßt der Steuersignalgenerator folgende Komponenten: ein Zählwerk mit einem Parallelausgang zum Zählen der Adressen im Speicher, in die Daten geschrieben werden; einen ersten mit dem Parallelausgang verbundenen Decodierer zur Erzeugung eines ersten Impulses in Reaktion auf eine erste Ausgangszahl; einen zweiten mit dem Parallelausgang verbundenen Decodierer zur Erzeugung eines zweiten Impulses in Reaktion auf eine zweite Ausgangszahl, wobei die zweite Ausgangszahl größer als die erste ist; und ein bistabiles Latch, das mit dem ersten und dem zweiten Decodierer verbunden ist und das Steuersignal in Reaktion auf den ersten Impuls auf den ersten Pegel und in Reaktion auf den zweiten Impuls auf den zweiten Pegel setzt.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sollen nun unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben werden; es zeigt:
  • Figur 1 ein Blockdiagramm eines digitalen Videoerfassungssystems;
  • Figur 2 ein Blockdiagramm eines typischen FIFO;
  • Figur 3 ein Blockdiagramm eines herkömmlichen FIFO-Controllers;
  • Figur 4 ein Diagramm der Wellenform eines typischen Videosignals;
  • Figur 5 ein Blockdiagramm eines FIFO-Controllers der vorliegenden Erfindung;
  • Figur 6 ein Steuersignal für den FIFO-Controller der vorliegenden Erfindung;
  • Figur 7 ein Blockdiagramm einer logischen Schaltung zur Erzeugung des Steuersignals; und
  • Figur 8 ein Blockdiagramm eines anderen FIFO-Controllers der vorliegenden Erfindung.
  • Bezugnehmend auf Figur 1; ein digitales Bilderfassungssystem umfaßt beispielsweise eine analoge Bildquelle 10, zum Beispiel eine Farbvideokamera, einen Fernsehempfänger, ein Videoband-Abspielgerät oder ähnliches. Die Bildquelle 10 erzeugt rote (R), grüne (G) und blaue (B) Videosignale. Die Videosignale R, G und B werden abgetastet, digitalisiert und von dem Videoerfassungsgerät 20 verarbeitet, wobei digitalisierte Luminanz- und Chrominanzsignale Y und U/V entstehen. Die digitalisierten Y- und U/V-Signale werden von einem Empfangssystem, beispielsweise einem Bildschirmadapter 30, empfangen, der an die Busarchitektur 50 eines Host-Rechnersystems, beispielsweise ein Personalcomputer, angeschlossen ist. Das Host-Rechnersystem umfaßt eine zentrale Verarbeitungseinheit 60, einen Direktzugriffsspeicher 60, einen Nurlesespeicher 95 und einen Speicher 80 mit großer Speicherkapazität, beispielsweise ein Festplattenlaufwerk, einen Bandstreamer oder ähnliches, die über die Busarchitektur 50 miteinander verbunden sind. Die Busarchitektur 50 kann auch an andere Rechnersysteme in einem lokalen Netz 90 angeschlossen sein. Der Bildschirmadapter hat rote, grüne und blaue analoge Videoeingänge (R', G' und B'), die an eine analoge Bildausgabevorrichtung 40 angeschlossen sind, beispielsweise einen Farbbildschirm, einen Videorecorder oder ähnliches. Sowohl der Bildschirmadapter 30 als auch die Videoerfassungsvorrichtung 20 können sich auf einer einzigen Peripheriekarte befinden, die lösbar mit der Busarchitektur 50 des Rechnersystems verbunden ist.
  • Im Betrieb kann die zentrale Verarbeitungseinheit 60, gesteuert durch das Anwenderprogramm des Rechners, das digitalisierte Videobild von der Videoerfassungsvorrichtung 20 als Daten-Datei behandeln, die in dem Direktzugritfsspeicher 70 oder auf der Speichervorrichtung 80 gespeichert werden kann; sie kann auch an andere Rechnersysteme im lokalen Netz 90 weitergegeben werden; oder sie kann von dem Bildschirmadapter 30 adaptiert und auf dem Bildausgabegerät 40 ausgegeben werden. Die digitalisierten Y- und U/V-Signale sind Sequenzen von 1 Byte großen Abtastwerten. Jede Sequenz wird über einen Datenkommunikationskanal 25, der einen FIFO-Speicher und einen FIFO-Controller umfaßt, zum Bildschirmadapter übertragen.
  • Bezugnehmend auf Figur 2; ein FIFO, beispielsweise der von Nippon Electric Company produzierte uPD42101, umfaßt zum Beispiel eine Speicheranordnung in Form eines Stapels 100 von m adressierfähigen Datenbytes. Datenbytes werden über einen 1 Byte großen Eingangspuffer 110 parallel in den Stapel eingeschrieben. Ähnlich werden Datenbytes aus dem Stapel 100 parallel über einen 1 Byte großen Ausgangspuffer 120 ausgelesen. Ein Schreibadressenzähler 130 oder "Zeiger" gibt die Speicheradresse an, in die ein in dem Eingangspuffer 110 gespeichertes Byte geschrieben werden soll. Entsprechend wird von einem Leseadressenzeiger 140 die Speicheradresse angegeben, aus der ein Byte in den Ausgangspuffer 120 ausgelesen werden soll.
  • Die von den Lese- und Schreibadressenzeigern angegebenen Adressen werden von Lese- bzw. Schreibtaktsignalen, RCLK und WCLK, inkrementiert. Die Lese- bzw. Schreibadressen geben also die Zahl der in den Stapel 100 geschrieben bzw. die Zahl der aus dem Stapel 100 ausgelesenen Bytes an. Ein Datenbyte wird aus dem Eingangspuffer 110 an die Adresse des Stapels 100 geschrieben, auf die der Schreibadressenzeiger 130 in Reaktion auf das Schreibfreigabesignal WE zeigt. Entsprechend wird ein Datenbyte von einer Adresse in dem Stapel 100, auf die der Leseadressenzeiger 140 in Reaktion auf ein Lesefreigabesignal RE zeigt, in den Ausgangspuffer 120 ausgelesen.
  • Bezugnehmend auf Figur 3; ein herkömmlicher FIFO-Controller umfaßt typischerweise einen Aufwärts-/Abwärtszähler 200 mit einem Parallelausgang x und ein Register 210 mit einem Parallelausgang n. Die Parallelausgänge x und n sind beide jeweils mit den Signal- und Schwellenwerteingängen eines digitalen Komparators 220 verbunden. WCLK und WE sind mit den Eingängen eines UND-Gatters 230 verbunden. Der Ausgang des UND-Gatters 230 ist mit einem Aufwärtszähl-Takteingang des Zählers 200 verbunden. Entsprechend sind RCLK und RE mit den Eingängen eines UND-Gatters 240 verbunden. Der Ausgang des UND-Gatters 240 ist mit einem Abwärtszähl-Takteingang des Zählers 200 verbunden. Zum Setzen des Schwellenwerts des digitalen Komparators 220 wird ein vorher festgelegter Bündel- Wert in das Register 210 geladen. Der Bündel-Wert n gibt die Zahl der Datenbytes an, die von dem Empfangssystem in Antwort auf jedes Datentransfer-Anforderungssignal aus dem FIFO ausgelesen werden.
  • Im Betrieb wird WCLK, wenn WE gesetzt ist, vom UND-Gatter 230 auf den Aufwärtszähl-Takteingang des Zählers 200 durchgeschaltet. Der Zähler zählt also aufwärts, wenn Datenbytes in aufeinanderfolgende Adressen in dem Stapel 100 geschrieben werden.
  • Entsprechend wird WCLK, wenn RE gesetzt ist, vom UND-Gatter 240 auf den Abwärtszähl-Takteingang des Zählwerks 200 durchgeschaltet. Der Zähler 200 zählt also abwärts, wenn Datenbytes von aufeinanderfolgenden Adressen in dem Stapel 100 gelesen werden. Der Ausgang x gibt also die Differenz zwischen der Zahl der in den Stapel 100 geschriebenen Bytes und der Zahl der aus dem Stapel 100 gelesenen Bytes an. Wenn der Ausgang x dem Ausgang n (das heißt, dem Bündel-Wert) entspricht oder größer als dieser wird, sendet der Komparator 120 ein Signal zur Anforderung eines Datentransfers an das Empfangssystem.
  • Bezugnehmend auf Figur 4; ein typisches zusammengesetztes Farbbildsignal 400 umfaßt einen aktiven Zeilenteil 410 und einen Steuerteil mit einem Farbbündel 420, einem Zeilensynchronisationsimpuls 430, sowie die Randteile 440 und 450.
  • Bezugnehmend auf Figur 5; ein bevorzugtes Beispiel eines FIFO-Controllers der vorliegenden Erfindung umfaßt weiter einen Selektor 310 und ein weiteres Register 300. In das Register 300 wird ein Wert "1" geladen. Der Selektor 310 ist eine kombinatorische logische Schaltung, die auf ein binäres Steuersignal 320 reagiert und entweder den im Register 210 gespeicherten Bündel-Wert n oder die in dem Register 300 gespeicherte "1" mit dem Schwelleneingang des Komparators 220 verbindet. Im Betrieb wird das Register 300 mit dem Komparator 220 verbunden, wenn sich das Steuersignal im L-Zustand befindet, und das Register 210 wird mit dem Komparator 220 verbunden, wenn sich das Steuersignal im H-Zustand befindet.
  • Bezugnehmend auf Figur 6; das binäre Steuersignal 320 ist während des aktiven Zeilenteils 410 des Videosignals 400 im H-Zustand und während des Steuerteils im L-Zustand. Nochmals verweisend auf Figur 5; während des aktiven Zeilenteils 410 des Videosignals 400 wird also der Schwellenwerteingang auf den vorher festgelegten Bündel-Wert n gesetzt. Der Komparator 220 erzeugt daher immer dann ein Signal zur Anforderung eines Datentransfers, wenn die Differenz zwischen der Zahl der in den FIFO 100 geschriebenen und der Zahl der aus dem FIFO 100 gelesenen Bytes größer als oder gleich n ist. Während des aktiven Zeilenteils 410 des Bildsignals werden also Daten von dem Bildschirmadapter 30 nur in kontinuierlichen Bündeln von jeweils n Bytes ausgelesen. In einem besonders bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wurde n auf 8 gesetzt. n könnte jedoch auch auf einen beliebigen Wert gesetzt werden, der niedriger als die Gesamtzahl der Adressen in dem Stapel sein muß. Während des Steuerteils des Videosignals 400 wird der Schwellenwerteingang des Komparators 220 auf "1" gesetzt. Der Komparator 220 erzeugt daher immer dann ein Signal zur Anforderung eines Datentransfers, wenn die Differenz zwischen der Zahl der in den FIFO 100 geschriebenen Bytes und der Zahl der aus dem FIFO 100 ausgelesenen Bytes, was durch den Zählerausgang x angegeben wird, größer oder gleich "1" ist. Während des Steuerteils des Videosignals liest also der Bildschirmadapter 30 Daten aus dem FIFO 100, wenn es überhaupt eine Differenz zwischen der Zahl der in den FIFO 100 geschriebenen Datenbytes und der Zahl der aus dem FIFO 100 gelesenen Datenbytes gibt. Weil der Schwellenwert am Ende jedes aktiven Teils auf Eins reduziert wird, wenn die Anzahl der Bytes in jedem aktiven Zeilenteil des Videosignals nicht durch den Schwellenwert n teilbar ist, wird der in dem FIFO 100 zurückbleibende Rest von dem Bildschirmadapter 30 gelesen, bevor die Daten für die nächste Bildzeile in den FIFO 100 geschrieben werden. Die dem Rand des Videobildes entsprechenden Daten gehen daher nicht zwischen den Übertragungen aufeinanderfolgender Bildzeilen verloren. Weil der Steuerteil des Bildsignals 400 wesentlich kürzer als der aktive Zeilenteil ist, wird der größte Teil eines von dem Videoerfassungsgerät 20 erfaßten und digitalisierten Videobildes an den Bildschirmadapter 30 in Bündeln übertragen, wodurch die Bandbreitennutzung des Datenkommunikationskanals maximiert wird. Das erfaßte Bild kann in dem Bildschirmadapter reproduziert werden, ohne daß die Bildübertragungsrate von dem Videoerfassungsgerät wesentlich reduziert wird. Mit der vorliegenden Erfindung sind also schnellere Übertragungen unterbrochener Datenströme als bisher möglich.
  • Bezugnehmend auf Figur 7; ein Beispiel für eine Schaltung zur Erzeugung des Steuersignals gemäß der vorliegenden Erfindung umfaßt einen Zähler 550 und einen Setzen/Rücksetzen (SR)- Latch 580. Der Zählausgang des Zählers 550 wird mit einem Start-Decodierer 560 und einem Stop-Decodierer 570 verbunden. Die Ausgänge der Start- und Stop-Decodierer sind jeweils mit den Setz- und Rücksetz-Eingängen des SR-Latch 580 verbunden. Im Betrieb zieht ein analoger Video-Decodierer 500 in dem Videoerfassungsgerät 20 ein Zeilensynchronisationssignal 530 aus dem analogen Eingangsvideosignal. Eine phasensynchronisierte Schleife 540 synchronisiert ein Abtast-/Haltesignal 590 zum Anstoßen einer Abtast-/Halteschaltung 510 in dem Videoerfassungsgerät 20 mit dem Zeilensynchronisationssignal 530. Der Ausgang der phasensynchronisierten Schleife dient außerdem zur Erzeugung der Lese- und Schreib-Taktsignale RCLK und WCLK und der Lesefreigabe- und Schreibfreigabesignale RE und WE. Außerdem ist der Ausgang der phasensynchronisierten Schleife mit dem Takteingang des Zählwerks 560 verbunden. Der Start-Decodierer ist so konfiguriert, daß er einen Ausgangsimpuls erzeugt, wenn der Zählerausgang einen ersten vorher festgelegten Wert erreicht. Der Ausgangsimpuls vom Start-Decodierer setzt den Ausgang des SR-Latch 580 und das Steuersignal 320 geht in den H-Zustand über. Der Stop-Decodierer 570 ist so konfiguriert, daß er einen Ausgangsimpuls erzeugt, wenn der Zählerausgang einen zweiten vorher festgelegten Wert erreicht, der größer als der erste vorher festgelegte Wert ist. Der Ausgangsimpuls vom Stop-Decodierer 570 setzt den Ausgang des SR-Latch 580 zurück und das Steuersignal 320 geht in den L-Zustand über. Der erste und der zweite vorher festgesetzte Wert werden ausgewählt und geben einen Impuls in dem Steuersignal, der dieselbe Länge wie der Steuerteil des Eingangsvideosignals hat.
  • Bezugnehmend auf Figur 8; in einem weiteren Beispiel der vorliegenden Erfindung sind die Eingänge eines digitalen Subtrahierers 600 mit den Parallelausgängen der Lese- und Schreibzeiger 130 beziehungsweise 140 des FIFO 100 verbunden. Im Betrieb subtrahiert der digitale Subtrahierer die Schreibadresse von der Leseadresse und erzeugt die Differenz x zwischen der Anzahl der in den FIFO geschriebenen und der Anzahl der aus dem FIFO gelesenen Bytes. Gemäß der vorliegenden Erfindung wird die Differenz x von dem Komparator 220 entweder mit dem Schwellenwert n oder mit "1" verglichen, je nach Zustand des Steuersignals 320.
  • In den bisher beschriebenen Beispielen der vorliegenden Erfindung kann der Schwellenwerteingang zwischen dem vorher festgelegten Bündel-Wert n und "1" geschaltet werden. In anderen Beispielen der vorliegenden Erfindung könnte der Schwellenwerteingang zwischen zwei verschiedenen Bündel-Werten geschaltet werden, die beide größer als "1" sind. Weiter kann in den bisher beschriebenen Beispielen der vorliegenden Erfindung jede Adresse im FIFO ein Datenbyte speichern. Die vorliegende Erfindung ist jedoch gleichermaßen anwendbar auf FIFOs, in denen jede Adresse mehr oder weniger als 8 Datenbits speichern kann.
  • Zwar wurden Beispiele der vorliegenden Erfindung unter Bezugnahme auf ein Farbbild-Erfassungssystem beschrieben; jedoch kann die vorliegende Erfindung gleichermaßen auf Monochrom- Bilderfassungsysteme angewendet werden.

Claims (7)

1. Ein Controller für einen FIFO-Speicher (100), wobei der Controller folgendes umfaßt: eine Detektorlogik (200) zum Erkennen von Differenzen zwischen der Anzahl der Adressen im Speicher (100), in die Daten geschrieben werden, und der Anzahl der Adressen im Speicher, von denen Daten gelesen werden; und eine Komparatorlogik (220) zum Erzeugen eines Signals zur Anforderung eines Datentransfers, abhängig davon, ob die genannte Differenz einen bestimmten Schwellenwert überschreitet oder gleich diesem Schwellenwert ist; dadurch gekennzeichnet, daß der Controller folgendes umfaßt:
eine Schwellenauswahllogik (310, 320), die auf einen Datenstrom reagiert, bei dem abwechselnd ein erster Teil und ein zweiter längerer Teil in den Speicher (100) geschrieben werden, wobei die Schwellenauswahllogik den Schwellenwert auf einen ersten Wert setzt, wenn der erste Teil geschrieben wird, und auf einen zweiten Wert, der größer als der erste Wert ist, wenn der zweite Teil geschrieben wird;
die Schwellenauswahllogik (310, 320) folgendes umfaßt:
einen Steuersignalgenerator, der ein einzelnes Steuerbit (320) auf einen ersten Pegel setzt, wenn ein erster Teil des Datenstroms geschrieben wird, und der das Steuerbit auf einen zweiten Pegel setzt, wenn ein genannter zweiter Teil des Datenstroms geschrieben wird; und einen Demultiplexer (310), der das erste Register (210), in dem der erste Wert gespeichert ist, mit der Komparatorlogik (220) verbindet, wenn das Steuerbit (320) auf den ersten Pegel gesetzt wird, und der ein zweites Register (300), in dem der zweite Wert gespeichert ist, mit der Komparatorlogik (220) verbindet, wenn das Steuerbit (320) auf den zweiten Pegel gesetzt wird.
2. Ein Controller nach Anspruch 1, bei dem der Steuersignalgenerator folgendes umfaßt: ein Zählwerk (550) mit einem Parallelausgang, der die Adressen im Speicher, in die Daten geschrieben werden, zählt; einen ersten Decodierer (560), der an den Parallelausgang angeschlossen ist, zur Erzeugung eines ersten Impulses in Reaktion auf eine erste Ausgangszahl; einen zweiten Decodierer (560), der an den Parallelausgang angeschlossen ist, zur Erzeugung eines zweiten Impulses in Reaktion auf eine zweite Ausgangszahl, wobei die zweite Ausgangszahl größer als die erste ist; und ein bistabiles Latch (580), das mit dem ersten Decodierer verbunden ist, und das Steuersignal (320) in Reaktion auf den ersten Impuls auf den ersten Pegel setzt, und das Steuersignal (320) in Reaktion auf den zweiten Impuls auf den zweiten Pegel setzt.
3. Ein Controller nach einem jeden vorangehenden Anspruch, bei dem die Detektorlogik ein Aufwärts-/Abwärtszählwerk (200) mit einem Parallelausgang umfaßt, einen Aufwärtszähl-Takteingang zum Inkrementieren des Parallelausgangs in Reaktion darauf, daß Daten an eine Adresse in dem Speicher (100) geschrieben werden, und einen Abwärtszähl-Takteingang zum Dekrementieren des Parallelausgangs in Reaktion darauf, daß Daten von einer Adresse im Speicher (100) gelesen werden.
4. Ein Controller nach einem jeden Anspruch 3 vorangehenden Anspruch, bei dem die Detektorlogik eine Subtrahierlogik (600) umfaßt, um eine in einem an den Speicher (100) angeschlossenen Schreibadressenzeiger (130) gespeicherte Schreibadresse von einer Leseadresse zu subtrahieren, die in einem an den Speicher (100) angeschlossenen Leseadressenzeiger (140) gespeichert ist.
5. Ein Controller nach einem jeden vorangehenden Anspruch, bei dem der erste Schwellenwert Eins ist.
6. Eine FIFO-Speichereinrichtung, die einen FIFO-Speicher (100) mit einem Controller nach jedem vorangehenden Anspruch umfaßt.
7. Ein digitales Video-Erfassungssystem, folgendes umfassend: ein Video-Erfassungsgerät (20), einen Anzeigeadapter (30) und eine Vorrichtung nach Anspruch 6, die an das Erfassungsgerät (20) und den Anzeigeadapter (30) angeschlossen ist.
DE69124606T 1991-10-17 1991-10-17 Adaptive FIFO-Speichersteuerung Expired - Fee Related DE69124606T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP91309621A EP0537397B1 (de) 1991-10-17 1991-10-17 Adaptive FIFO-Speichersteuerung

Publications (2)

Publication Number Publication Date
DE69124606D1 DE69124606D1 (de) 1997-03-20
DE69124606T2 true DE69124606T2 (de) 1997-08-21

Family

ID=8208428

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69124606T Expired - Fee Related DE69124606T2 (de) 1991-10-17 1991-10-17 Adaptive FIFO-Speichersteuerung

Country Status (4)

Country Link
US (1) US5379399A (de)
EP (1) EP0537397B1 (de)
JP (1) JPH0814983B2 (de)
DE (1) DE69124606T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502833A (en) * 1994-03-30 1996-03-26 International Business Machines Corporation System and method for management of a predictive split cache for supporting FIFO queues
US5768626A (en) * 1994-06-24 1998-06-16 Intel Corporation Method and apparatus for servicing a plurality of FIFO's in a capture gate array
JP3693367B2 (ja) * 1994-07-28 2005-09-07 富士通株式会社 積和演算器
US5771356A (en) * 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US5900886A (en) * 1995-05-26 1999-05-04 National Semiconductor Corporation Display controller capable of accessing an external memory for gray scale modulation data
US5696940A (en) * 1995-09-29 1997-12-09 Intel Corporation Apparatus and method for sharing first-in first-out memory space between two streams of data
US5717954A (en) * 1995-10-13 1998-02-10 Compaq Computer Corporation Locked exchange FIFO
US5767862A (en) * 1996-03-15 1998-06-16 Rendition, Inc. Method and apparatus for self-throttling video FIFO
US5931904A (en) * 1996-10-11 1999-08-03 At&T Corp. Method for reducing the delay between the time a data page is requested and the time the data page is displayed
US5982397A (en) * 1997-11-14 1999-11-09 Philips Electronics North America Corporation Video graphics controller having locked and unlocked modes of operation
JP3815948B2 (ja) * 2000-04-20 2006-08-30 シャープ株式会社 Fifoメモリ制御回路
US6658525B1 (en) * 2000-09-28 2003-12-02 International Business Machines Corporation Concurrent access of an unsegmented buffer by writers and readers of the buffer
US7072998B2 (en) * 2003-05-13 2006-07-04 Via Technologies, Inc. Method and system for optimized FIFO full conduction control
US20070104187A1 (en) * 2005-11-10 2007-05-10 Broadcom Corporation Cache-based free address pool
US7822885B2 (en) * 2007-10-16 2010-10-26 Applied Micro Circuits Corporation Channel-less multithreaded DMA controller
EP2798460A4 (de) * 2011-12-28 2016-05-11 Intel Corp Videokodierung in videoanalysen
CN112817889B (zh) * 2019-11-15 2024-06-21 合肥美亚光电技术股份有限公司 一种数据的采集方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4507760A (en) * 1982-08-13 1985-03-26 At&T Bell Laboratories First-in, first-out (FIFO) memory configuration for queue storage
US4862419A (en) * 1983-11-10 1989-08-29 Advanced Micro Devices, Inc. High speed pointer based first-in-first-out memory
US4864543A (en) * 1987-04-30 1989-09-05 Texas Instruments Incorporated First-in, first-out memory with counter address pointers for generating multiple memory status flags
US4694426A (en) * 1985-12-20 1987-09-15 Ncr Corporation Asynchronous FIFO status circuit
JPS62242234A (ja) * 1986-04-14 1987-10-22 Oki Electric Ind Co Ltd バツフア制御方式
US4860193A (en) * 1986-05-22 1989-08-22 International Business Machines Corporation System for efficiently transferring data between a high speed channel and a low speed I/O device
US4833651A (en) * 1986-07-24 1989-05-23 National Semiconductor Corporation High-speed, asynchronous, No-Fall-Through, first-in-first out memory with high data integrity
US4891788A (en) * 1988-05-09 1990-01-02 Kreifels Gerard A FIFO with almost full/almost empty flag
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US4888739A (en) * 1988-06-15 1989-12-19 Cypress Semiconductor Corporation First-in first-out buffer memory with improved status flags
US5121480A (en) * 1988-07-18 1992-06-09 Western Digital Corporation Data recording system buffer management and multiple host interface control
US4888741A (en) * 1988-12-27 1989-12-19 Harris Corporation Memory with cache register interface structure
US4969164A (en) * 1989-04-27 1990-11-06 Advanced Micro Devices, Inc. Programmable threshold detection logic for a digital storage buffer

Also Published As

Publication number Publication date
JPH05258556A (ja) 1993-10-08
EP0537397B1 (de) 1997-02-05
DE69124606D1 (de) 1997-03-20
EP0537397A1 (de) 1993-04-21
US5379399A (en) 1995-01-03
JPH0814983B2 (ja) 1996-02-14

Similar Documents

Publication Publication Date Title
DE69124606T2 (de) Adaptive FIFO-Speichersteuerung
DE2703579C2 (de) Anordnung zur Verarbeitung von Videosignalen
DE69632664T2 (de) Dekodierung von Informationsseiten, die Titelinformation und Seitendaten umfassen
DE3837069C2 (de)
DE3443630C2 (de) Decoder für teletextähnliche Signale
DE69730656T2 (de) Medienserver in dem ein SCSI-Bus eingesetzt wird und in dem eine SCSI-logische Einheit zur Differenzierung zwischen Transfer/Modi benutzt wird
DE68909425T2 (de) Videoprozessorsystem sowie Abbildungssystem und Bildspeichersystem mit einem derartigen Videoprozessorsystem.
DE69421436T2 (de) Informationsvermittlungsanlage mit variabler Vermittlungsgeschwindigkeit
DE69319475T2 (de) Rechneranzeige für Videosignale
DE3420919C2 (de) Bildverarbeitungssystem
DE69614495T2 (de) Demultiplexeinrichtung für ein digitales Fernsehsystem
DE69630085T2 (de) Bildaufnahmesystem und Signalverarbeitungsgerät von aufgenommenen Bildern
EP0224302B1 (de) Schaltungsanordnung zum Erhöhen der Schärfe von Farbkanten
DE3785088T2 (de) Fernsehbildwiedergabevorrichtung.
DE69217404T2 (de) Synchroner Dekodierer für selbsttaktierende Signale
DE68917984T2 (de) Fernsehsende- und Empfangssystem mit hoher Auflösung und verminderter Datenrate.
DE2500649A1 (de) Anordnung zum korrigieren der zeitbasisfehler eines videosignales
DE69223543T2 (de) Bildspeichervorrichtung
DE69229167T2 (de) Anordnung zur Zugriffssteuerung
DE1956843A1 (de) Redundanzverringerungssystem
DE69730658T2 (de) Medienserver und Verfahren zur Unterlaufvermeidung eines Fifo-Servers während der Mehrkanalsanlaufphase
DE69423389T2 (de) Vorrichtung zur Übertragung oder Aufzeichnung von digitalen Fernsehbildern, und Vorrichtung zum Empfang derselben
DE3234178C2 (de)
DE2826450A1 (de) Verfahren zum steuern der uebertragung digitaler signale
DE69221923T2 (de) Gemeinsamer Zwischenformat-Umwandler mit verringerter Multipliziereranzahl

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee