Warning: fopen(111data/log202002280841.log): failed to open stream: No space left on device in /home/pde321/public_html/header.php on line 107

Warning: flock() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 108

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/pde321/public_html/header.php on line 113
Speicherschnittstellenvorrichtung und Vorrichtung zur Speicheradressengeneration - Dokument DE69836786T2
 
PatentDe  


Dokumentenidentifikation DE69836786T2 26.04.2007
EP-Veröffentlichungsnummer 0000908827
Titel Speicherschnittstellenvorrichtung und Vorrichtung zur Speicheradressengeneration
Anmelder Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka, JP;
Texas Instruments Inc., Dallas, Tex., US
Erfinder Miki, Yoichiro, Kawachinagano-shi, Osaka, JP;
Tani, Masahiro, Muko-shi, Kyoto, JP;
Ninomiya, Kazuki, Kadoma-shi, Osaka, JP;
Tokunaga, Naoya, Moriguchi-shi, Osaka, JP
Vertreter Schwabe, Sandmair, Marx, 81677 München
DE-Aktenzeichen 69836786
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 02.10.1998
EP-Aktenzeichen 981186414
EP-Offenlegungsdatum 14.04.1999
EP date of grant 03.01.2007
Veröffentlichungstag im Patentblatt 26.04.2007
IPC-Hauptklasse G06F 13/16(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse G06F 12/06(2006.01)A, L, I, 20051017, B, H, EP   H04N 7/52(2006.01)A, L, I, 20051017, B, H, EP   G09G 1/16(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
HINTERGRUND DER ERFINDUNG 1. GEBIET DER ERFINDUNG

Die vorliegende Erfindung betrifft ein digitales Signalverarbeitungssystem, das eine Speicherschnittstellenvorrichtung enthält, um ein digitales Signal in einen Einzelport-Speicher zu schreiben bzw. von diesem zu lesen.

2. BESCHREIBUNG DER VERWANDTEN TECHNIK

In den letzten Jahren wurden auf dem Gebiet der Video- und Audiosignalverarbeitung Daten in großem Umfang digitalisiert und digital verarbeitet. Immer mehr Datenquellen wurden in Multimedia-Formaten zur Verfügung gestellt, wodurch die Forderung nach einem moderneren Verfahren der digitalen Signalverarbeitung entstand. Bei der Entwicklung eines derartigen Verfahrens wird eingeschätzt, dass die Verbesserung von speicherbezogenen Prozessen eine Schlüsselrolle besitzt.

Es gibt verschiedene Videosignalformate oder Normen, die NTSC, PAL, HDTV, VGA und SVGA enthalten, und gleichzeitig gibt es verschiedene Typen von Anzeigevorrichtungen, die eine CRT, eine LCD (Flüssigkristallanzeige) und eine Plasmaanzeige enthalten. Es besteht die Forderung, digitale Videosignale der verschiedenen Formate in einem einzigen Anzeigesystem (Fernsehsystem) zu verarbeiten.

Ein digitales Signalverarbeitungssystem, das einen Speicher verwendet, ist erforderlich, um ein Videosignalformat in ein anderes Format umzusetzen und/oder zwei oder mehr nicht synchrone Videosignale zu synthetisieren. Bei derartigen Prozessen ist ein Verfahren zur schnellen Echtzeit-Datenverarbeitung erforderlich, um die Videosignale ohne Unterbrechung zu schreiben und zu lesen.

Herkömmlich wird ein Doppelport-Speicher, wie etwa ein FIFO, verwendet, um die Videosignale in Echtzeit in einen Speicher zu schreiben bzw. von diesem zu lesen. Alternativ werden zwei Einzelport-Speicher verwendet, wobei die Echtzeit-Verarbeitung erreicht wird, indem die Schreib- und Leseoperationen in die beiden Einzelport-Speicher bzw. von diesen abwechselnd gesteuert werden. Außerdem werden spezielle Speichersteuerungsvorrichtungen bereitgestellt, um das Videosignalformat umzusetzen bzw. mehrere nicht synchrone Videosignale zu verarbeiten.

Somit erfordert die Verarbeitung von Videosignalen in Echtzeit wenigstens zwei Einzelport-Speicher oder einen einzelnen Doppelport-Speicher, wodurch das gesamte System teuer wird. Da darüber hinaus die Bitbreite und die Taktfrequenz des Videosignals begrenzt sind, selbst wenn eine derartige Speicheranordnung geschaffen wird, kann kein flexibles System realisiert werden. Die Verarbeitung von Videosignalen mit unterschiedlichen Formaten erfordert ein digitales Signalverarbeitungssystem, das jedes Videosignal in Echtzeit unter Verwendung eines Speichers bei einer Rate, die dem Signalformat zugeordnet ist, verarbeiten kann. Demzufolge werden Verfahren zur Adressensteuerung ebenfalls komplizierter.

Eine herkömmliche Speichersteuervorrichtung verwendet eine spezielle Hardware zum Berechnen der Speicheradresse für jeden von mehreren Adressenzeigern.

Ein herkömmliches Anzeigesystem (Fernsehsystem), das unterschiedliche Videosignalformate verarbeitet, benötigt mehrere spezielle Hardwarearten zur Steuerung der Speicheradressen auf unterschiedliche Weise in Übereinstimmung mit den verschiedenen Videosignalformaten, wodurch das System eine großflächige Schaltung aufweist.

Darüber hinaus wird herkömmlich ein zusätzlicher Spezialspeicher für einen Rahmensynchronisationsprozess benötigt, um ein Videosignal in einem synchronen System in ein anderes Videosignal in einem anderen synchronen System umzusetzen.

Das Patent GB 2.311.153 A offenbart den Multiplex-Zugriff auf einen einzelnen Port eines Speichers, wobei mehrere Vorrichtungen jeweils über einen Puffer an dem gleichen Port eines RAM angeschlossen sind. Steuer- und Adressensignale für den Zugriff, die von jeder Vorrichtung benötigt werden, werden in einen Multiplexer eingegeben. Eine Taktgeberschaltung bewirkt, dass der Multiplexer zyklisch durch die Steuer- und Adressensignale schaltet, um dem RAM nacheinander die Steuer- und Adressensignale von jeder Vorrichtung anzubieten. Der entsprechende Puffer wird außerdem durch die Taktgeberschaltung für eine Dateneingabe/Ausgabe mit dem RAM angesteuert. Getrennte externe Datenports, die die Vorrichtungen, die auf den RAM zugreifen, gemeinsam nutzen, sind mit bidirektionalen Eingangsports der entsprechenden Puffer verbunden. Ausgaben von jedem der Puffer werden auf einen Datenbus des RAM geschaltet, wodurch Daten zu dem Datenport des RAM und von diesem übertragen werden können. Jeder Puffer kann einen Bus-Sender-Empfänger enthalten, der eine Zwischenspeicherung in beiden Übertragungsrichtungen ausführt. Schreibdaten werden in dem Puffer gespeichert, bis der dem Port entsprechende Zeitschlitz ermöglicht, dass Daten in den RAM geschrieben werden. Während einer Leseoperation werden Daten während ihres Zeitschlitzes von dem Datenport des RAM in dem adressierten Puffer zwischengespeichert. Die Taktgeberschaltung ist mit dem Steuerport des Multiplexers und mit Adresseneingängen der Puffer verbunden. Die Taktgeberschaltung kann eine zyklische Zählung sequentiell ausführen und gibt zyklisch wiederholend binäre Zählsignale aus. Diese Signale werden am Multiplexer als ein Steuersignal verwendet, wodurch die Adressen- und Steuersignale, die an entsprechenden Eingängen des Multiplexers erscheinen, sequentiell an seinen Ausgang und somit an den Adressen- und Steuerport des RAM angelegt werden.

ZUSAMMENFASSUNG DER ERFINDUNG

Die vorliegende Erfindung ist im Anspruch 1 definiert, wobei bevorzugte Ausführungsformen in den abhängigen Ansprüchen definiert sind.

Die hier beschriebene Erfindung ermöglicht somit wenigstens einen der folgenden Vorteile: (1) Schaffen einer Speicherschnittstellenvorrichtung, die ein Videosignal in Echtzeit unter Verwendung eines Einzelport-Speichers verarbeiten kann; (2) – Schaffen einer Speicherschnittstellenvorrichtung, die ein Videosignal in Echtzeit unter Verwendung eines Einzelport-Speichers verarbeiten kann und Realisieren eines Systems, das von einer Bitzahl eines Eingangs/Ausgangssignal oder von einer Busbreite des Einzelport-Speichers unabhängig ist; (3) Schaffen einer Speicherschnittstellenvorrichtung, die ein Videosignal in Echtzeit und Verwendung eines Einzelport-Speichers verarbeiten kann, wodurch eine Signalverarbeitung mehrerer nicht synchroner Videosignale ermöglicht ist.

Diese sowie weitere Vorteile der vorliegenden Erfindung werden einem Fachmann beim Lesen und Verstehen der folgenden genauen Beschreibung unter Bezugnahme auf die beigefügten Figuren deutlich.

KURZBESCHREIBUNG DER ZEICHNUNG

1 ist ein Blockschaltplan, der eine Speicherschnittstellenvorrichtung gemäß dem Beispiel 1 der vorliegenden Erfindung veranschaulicht;

2 ist eine Darstellung, die einen Eingangspuffer veranschaulicht;

3 zeigt Zeitablaufpläne, die eine Operation zum Schreiben von Daten in einen Einzelport-Speicher veranschaulichen;

4 ist eine Darstellung, die einen Ausgangspuffer veranschaulicht;

5 zeigt Zeitablaufpläne, die eine Operation zum Auslesen von Daten aus einem Einzelport-Speicher veranschaulichen;

6 zeigt Zeitablaufpläne, die einen Betrieb zum Schreiben und Lesen von Daten in Echtzeit in einen Einzelport-Speicher bzw. aus diesem veranschaulichen;

7 zeigt eine beispielhafte Speicherabbildung eines Einzelport-Speichers;

8 ist ein Blockschaltplan, der einen Eingangspufferabschnitt veranschaulicht;

9 ist ein Blockschaltplan, der einen Ausgangspufferabschnitt veranschaulicht;

10 ist eine Darstellung, die eine Speicherzellenanordnung veranschaulicht;

11 ist eine Darstellung, die einen Schreibsteuerabschnitt veranschaulicht;

12 zeigt Zeitablaufpläne, die eine Operation eines Schreibsteuerabschnitts veranschaulicht;

13 ist eine Darstellung, die einen Eingangsdaten-Lesesteuerabschnitt veranschaulicht;

14 ist ein Blockschaltplan, der einen Steuerabschnitt veranschaulicht;

15A ist eine Darstellung, die einen Taktgenerator veranschaulicht;

15B ist eine Darstellung, die einen Adressengenerator veranschaulicht;

16A und 16B zeigen jeweils eine beispielhafte Speicherabbildung eines Einzelport-Speichers;

17A bis 17D zeigen jeweils eine beispielhafte Speicherabbildung eines Einzelport-Speichers;

18 ist eine Darstellung, die eine Arbitrierungsschaltung veranschaulicht;

19 ist ein Diagramm, das verschiedene Werte veranschaulicht, die von einer Arbitrierungseinrichtung für verschiedene Registereinstellungen ausgegeben werden;

20 ist eine Darstellung, die Speicherzellenanordnungen eines Eingangspuffers und eines Ausgangspuffers veranschaulicht; und

21 ist eine Darstellung, die einen Eingabesignal-Schreibsteuerabschnitt veranschaulicht.

BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN Beispiel 1

1 veranschaulicht eine Speicherschnittstellenvorrichtung 200 gemäß dem Beispiel 1 der vorliegenden Erfindung. In 1 enthält die Speicherschnittstellenvorrichtung 200 einen Eingangspufferabschnitt 1, einen Ausgangspufferabschnitt 2 und einen Steuerabschnitt 3. Der Steuerabschnitt 3 steuert den Eingangspufferabschnitt 1, den Ausgangspufferabschnitt 2 und einen Einzelport-Speicher 6.

Der Steuerabschnitt 3 gibt ein Eingangspuffer-Steuersignal an den Eingangspufferabschnitt 1 und ein Ausgangspuffer-Steuersignal an den Ausgangspufferabschnitt 2 in Reaktion auf ein Synchronisationssignal aus. Der Steuerabschnitt 3 empfängt Anforderungssignale von dem Eingangspufferabschnitt 1 und dem Ausgangspufferabschnitt 2 zum Zugreifen auf den Einzelport-Speicher 6 und gibt eine Adresse, ein Steuersignal oder dergleichen an den Einzelport-Speicher 6 in Reaktion auf das Zugriffanforderungssignal aus.

In dem vorliegenden Beispiel wird angenommen, dass das Signal, das in die Speicherschnittstellenvorrichtung 200 eingegeben wird, ein Videosignal ist, das ein Luminanzsignal Y und ein Farbdifferenzsignal C enthält.

Der Eingangspufferabschnitt 1 enthält einen Eingangspuffer 1a zum Empfangen des Luminanzsignals Y und einen weiteren Eingangspuffer 1b zum Empfangen des Farbdifferenzsignals C. Der Ausgangspufferabschnitt 2 enthält gleichfalls einen Ausgangspuffer 2a zum Ausgeben des Luminanzsignals Y und einen weiteren Ausgangspuffer 2b zum Ausgeben des Farbdifferenzsignals C. Das Luminanzsignals Y wird in dem Einzelport-Speicher 6 über den Eingangspuffer 1a gespeichert und das Luminanzsignal Y, das aus dem Einzelport-Speicher 6 ausgelesen wird, wird über den Ausgangspuffer 2a ausgegeben. Das Farbdifferenzsignal C wird in dem Einzelport-Speicher 6 über den Eingangspuffer 1b gespeichert und das Farbdifferenzsignal C, das aus dem Einzelport-Speicher 6 ausgelesen wird, wird über den Ausgangspuffer 2b ausgegeben.

Obwohl der Eingangspufferabschnitt 1 und der Ausgangspufferabschnitt 2 vorzugsweise in dem vorliegenden Beispiel für unterschiedliche Signale in zwei Teilabschnitte unterteilt sind, ist eine derartige Unterteilung für die vorliegende Erfindung nicht erforderlich. Alternativ kann der Eingangspufferabschnitt 1 lediglich einen Eingangspuffer enthalten und der Ausgangspufferabschnitt 2 kann lediglich einen Ausgangspuffer enthalten. Eine derartige Ausführungsform liegt im Umfang der vorliegenden Erfindung.

2 veranschaulicht den Eingangspuffer 1a. Der Eingangspuffer 1b besitzt vorzugsweise die gleiche Struktur wie jene des Eingangspuffers 1a.

In 2 repräsentieren ein schwarzer Punkt 7 und ein weißer Punkt 8 jeweils eine Speicherzelle zum Speichern von einem Datenbit. Der schwarze Punkt 7 repräsentiert eine Speicherzelle, die ein Datenbit speichert, und der weiße Punkt 8 repräsentiert eine leere Speicherzelle, die keine Daten speichert. Die Bitbreite des Signals (des Luminanzsignals Y), das in den Eingangspuffer 1a eingegeben wird, ist n Bits und die Gesamtgröße des Eingangspuffers 1a ist m × n Bits, wobei n eine positive ganze Zahl ist und m ist n × 2.

Das Eingangssignal wird in einer oder mehr Spalten der Speicherzellen, beginnend von der Spalte 0 gespeichert. In 2 wird das Eingangssignal in den Spalten 0 bis 2 der Speicherzellen gespeichert.

Der Eingangspuffer 1a ist logisch in zwei Bereiche I1 und I2 unterteilt. Der Bereich I1 enthält die Spalten 0 bis (m – 2)/2 der Speicherzellen und der Bereich I2 enthält die Spalten m/2 bis (m – 1) der Speicherzellen. Eine Schreiboperation (Übertragung) von Daten von dem Eingangspuffer 1a zu dem Einzelport-Speicher 6 erfolgt, wenn einer der Bereiche I1 und I2 mit Daten gefüllt ist.

3 zeigt Zeitablaufpläne, die einer Operation zum Schreiben des Eingangssignals in den Einzelport-Speicher 6 veranschaulicht, nachdem das Eingangssignal vorübergehend in dem Eingangspuffer 1a gespeichert wurde. Der zeitliche Ablauf des Schreibens des Eingangssignals in den Einzelport-Speicher 6, nachdem das Eingangssignal vorübergehend in dem Eingangspuffer 1b gespeichert wurde, ist im Wesentlichen gleich dem Ablauf, der in 3 veranschaulicht ist.

Bei dem in 3 veranschaulichten Beispiel wird ein Horizontal-Synchronisationssignal als ein Referenzsignal verwendet, obwohl alternativ jedes andere Signal als Referenzsignal verwendet werden kann.

Ein Eingangspuffer-Freigabesignal gibt an, ob eine Schreiboperation in den Eingangspuffer 1a freigegeben ist. In dem in 3 veranschaulichten Beispiel gibt ein Eingangspuffer-Freigabesignal mit hohem Pegel einen Freigabezustand an und ein Eingangspuffer-Freigabesignal mit niedrigem Pegel gibt einen Sperrzustand an. In Reaktion auf das Horizontal-Synchronisationssignal gibt der Steuerabschnitt 3 das Eingangspuffer-Freigabesignal an den Eingangspuffer 1a aus. Das Eingangspuffer-Freigabesignal ist ein Typ des Eingangspuffer-Steuersignals.

Eine Anforderung zum Schreiben von Daten in den Einzelport-Speicher 6 wird erzeugt, wenn einer der Bereiche I1 und I2 mit Daten gefüllt ist. Deswegen wird dann, wenn das Eingangspuffer-Freigabesignal auf dem hohen Pegel ist, die Anforderung zum Schreiben von Daten in den Einzelport-Speicher 6 für jeden Zyklus von m/2 erzeugt.

In Reaktion auf die erste Anforderung zum Schreiben von Daten in den Einzelport-Speicher 6 werden Daten, die in dem Bereich I1 des Eingangspuffers 1a gespeichert sind, an den Einzelport-Speicher 6 übertragen und in diesen geschrieben. Während die Daten, die in dem Bereich I1 des Eingangspuffers 1a gespeichert sind, an den Einzelport-Speicher 6 übertragen werden, wird ein weiteres Eingangssignal in dem Bereich I2 des Eingangspuffers 1a gespeichert.

In Reaktion auf die nächste Anforderung zum Schreiben von Daten in den Einzelport-Speicher 6 werden Daten, die in dem Bereich I2 des Eingangspuffers 1a gespeichert sind, an den Einzelport-Speicher 6 übertragen und in diesen geschrieben. Während die Daten, die in dem Bereich I2 des Eingangspuffers 1a gespeichert sind, an den Einzelport-Speicher 6 übertragen werden, wird ein weiteres Eingangssignal in dem Bereich I1 des Eingangspuffers 1a gespeichert. Anschließend wird der gleiche Prozess wiederholt.

Durch Unterteilen des Eingangspuffers 1a in zwei Bereiche in der oben beschriebenen Weise ist es möglich, Daten, die in einem der Bereiche des Eingangspuffers 1a gespeichert sind, an den Einzelport-Speicher 6 zu übertragen, während das nächste Eingangssignal in dem anderen Bereich gespeichert wird. Es ist somit möglich, Daten von dem Eingangsspeicher 1a an den Einzelport-Speicher 6 zu übertragen, ohne die Speicherung des Eingangssignals in dem Eingangspuffer 1a zu unterbrechen.

Obwohl der Eingangspuffer 1a in dem Beispiel, das in 2 veranschaulicht ist, in zwei Bereiche unterteilt ist, kann der Eingangspuffer 1a im Allgemeinen in L Bereiche unterteilt werden (L ist eine natürliche Zahl größer oder gleich 2). Das Eingangssignal kann eine beliebige Anzahl von Bits aufweisen, solange die Anzahl der Bits gleich der Zeilenadressengröße des Eingangspuffers 1a oder kleiner ist. Das gleiche gilt für den Eingangspuffer 1b.

4 veranschaulicht den Ausgangspuffer 2a. Der Ausgangspuffer 2b besitzt die gleiche Struktur wie der Ausgangspuffer 2a.

In 4 repräsentieren ein schwarzer Punkt 7 und ein weißer Punkt 8 jeweils eine Speicherzelle zum Speichern von einem Datenbit. Der schwarze Punkt 8 repräsentiert eine Speicherzelle, die ein Datenbit speichert, und der weiße Punkt 8 repräsentiert eine leere Speicherzelle, die keine Daten speichert. Die Bitbreite des Signals (des Luminanzsignals Y), das aus dem Ausgangspuffer 2a ausgegeben wird, ist n Bits und die Gesamtgröße des Ausgangspuffers 2a ist m × n Bits, wobei n und m jeweils eine positive ganze Zahl sind.

Das Ausgangssignal wird von einer oder mehr Spalten der Speicherzelle beginnend von der Spalte 0 ausgegeben. In 4 wurden die Daten aus den Spalten 0 bis 2 der Speicherzellen ausgegeben.

Der Ausgangspuffer 2a ist logisch in zwei Bereiche O1 und O2 unterteilt. Der Bereich O1 enthält die Spalten 0 bis (m – 2)/2 der Speicherzellen und der Bereich O2 enthält die Spalten m/2 bis (m – 1) der Speicherzellen. Eine Leseoperation (Übertragung) der Daten von dem Einzelport-Speicher 6 zu dem Ausgangspuffer 2a erfolgt, wenn einer der Bereiche O1 und O2 leer wird.

5 zeigt Zeitablaufpläne, die eine Operation zur externen Ausgabe von Daten aus der Speicherschnittstellenvorrichtung 200 veranschaulicht, nachdem die Daten aus dem Einzelport-Speicher 6 ausgelesen wurden und in dem Ausgangspuffer 2a vorübergehend gespeichert wurden. Der zeitliche Ablauf einer externen Ausgabe von Daten aus der Speicherschnittstellenvorrichtung 200, nachdem die Daten aus dem Einzelport-Speicher 6 ausgelesen und in dem Ausgangspuffer 2b vorübergehend gespeichert wurden, ist im Wesentlichen gleich dem Ablauf, der in 5 veranschaulicht ist.

In dem in 5 veranschaulichten Beispiel wird ein Horizontal-Synchronisationssignal als ein Referenzsignal verwendet, obwohl alternativ jedes andere Signal als Referenzsignal verwendet werden kann.

Ein Ausgangspuffer-Freigabesignal gibt an, ob eine Leseoperation aus dem Ausgangspuffer 2a freigegeben ist. In dem in 5 veranschaulichten Beispiel gibt ein Ausgangspuffer-Freigabesignal mit hohem Pegel einen Freigabezustand an und ein Ausgangspuffer-Freigabesignal mit niedrigem Pegel gibt einen Sperrzustand an. In Reaktion auf das Horizontal-Synchronisationssignal gibt der Steuerabschnitt 3 das Ausgangspuffer-Freigabesignal an den Ausgangspuffer 2a aus. Das Ausgangspuffer-Freigabesignal ist ein Typ des Ausgangspuffer-Steuersignals.

Eine Anforderung zum Auslesen von Daten aus dem Einzelport-Speicher 6 wird erzeugt, wenn einer der Bereiche O1 und O2 leer wird. Während das Ausgangspuffer-Freigabesignal auf dem hohen Pegel ist, wird deswegen die Anforderung zum Auslesen von Daten aus dem Einzelport-Speicher 6 für jeden Zyklus von m/2 (eine Periode zum Zugreifen auf m/2 Spalten der Speicherzelle) erzeugt.

Es wird angenommen, dass der Ausgangspuffer 2a leer ist, wenn das Horizontal-Synchronisationssignal auf Hochpegel geht. In dem in 5 veranschaulichten Beispiel werden in Reaktion auf die erste Anforderung zum Auslesen von Daten aus dem Einzelport-Speicher 6 Daten, die aus dem Einzelport-Speicher 6 ausgelesen wurden, an den Bereich O1 des Ausgangspuffers 2a übertragen und in diesen geschrieben.

In Reaktion darauf, dass das Ausgangspuffer-Freigabesignal zum Hochpegel geht, wird begonnen, die in dem Bereich O1 des Ausgangspuffers 2a gespeicherten Daten auszugeben. Während die Daten, die in dem Bereich O1 des Ausgangspuffers 2a gespeichert sind, ausgegeben werden, wird ein weiteres Ausgangssignal aus dem Einzelport-Speicher 6 ausgelesen und an den Bereich O2 des Ausgangspuffers 2a übertragen und in diesen geschrieben. Anschließend wird der gleiche Prozess wiederholt.

Durch Unterteilen des Ausgangspuffers 2a in zwei Bereiche in der oben beschriebenen Weise ist es möglich, Daten, die in einem der Bereiche des Ausgangspuffers 2a gespeichert sind, als ein Ausgangssignal auszugeben, während das nächste Signal, das aus dem Einzelport-Speicher 6 ausgelesen wird, in dem anderen Bereich gespeichert wird. Dadurch ist es möglich, Daten von dem Einzelport-Speicher 6 zu dem Ausgangspuffer 2a zu übertragen, ohne die Ausgabe des Ausgangssignals von dem Ausgangspuffer 2a zu unterbrechen.

Obwohl der Ausgangspuffer 2a in dem in 4 veranschaulichten Beispiel in zwei Bereiche unterteilt ist, kann der Ausgangspuffer 2a im Allgemeinen in N Bereiche unterteilt sein (N ist eine natürliche Zahl größer oder gleich 2). Das Ausgangssignal kann eine beliebige Anzahl von Bits aufweisen, solange die Anzahl der Bits gleich der Zeilenadressengröße des Ausgangspuffers 2a oder kleiner als diese ist. Das gleiche gilt für den Ausgangspuffer 2b.

Wenn der Steuerabschnitt 3 eine Schreibanforderung von den Eingangspuffern 1a und 1b empfängt, steuert der Steuerabschnitt 3 die Eingangspuffer 1a und 1b in der Weise, dass Daten von den Eingangspuffern 1a und 1b an den Einzelport-Speicher 6 übertragen werden, und gibt eine Adresse und ein Steuersignal an den Einzelport-Speicher 6 aus. Die übertragenen Daten werden in der Adresse in dem Einzelport-Speicher 6 gespeichert.

Wenn der Steuerabschnitt 3 eine Leseanforderung von den Ausgangspuffern 2a und 2b empfängt, gibt der Steuerabschnitt 3 eine Adresse und ein Steuersignal an den Einzelport-Speicher 6 aus. Der Einzelport-Speicher 6 liest Daten aus der Adresse in dem Einzelport-Speicher 6 aus und überträgt die Daten an die Ausgangspuffer 2a und 2b. Der Steuerabschnitt 3 steuert die Ausgangspuffer 2a und 2b in der Weise, dass die Daten in den Ausgangspuffern 2a und 2b gespeichert werden.

6 zeigt Zeitablaufpläne, die eine Operation zur parallelen Ausführung einer Schreiboperation (zum Schreiben eines Videosignals in den Einzelport-Speicher 6, während das Videosignal in den Eingangspuffern 1a und 1b gespeichert wird) und einer Leseoperation (zum Auslesen eines Videosignals aus dem Einzelport-Speicher 6, während das Videosignal in den Ausgangspuffern 2a und 2b gespeichert ist) unter Verwendung der Speicherschnittstellenvorrichtung 200, die den in 1 veranschaulichten Aufbau besitzt, veranschaulichen.

In dem in 6 veranschaulichten Beispiel wird ein Horizontal-Synchronisationssignal als ein Referenzsignal verwendet, obwohl jedes andere Signal alternativ als das Referenzsignal verwendet werden kann.

Es wird angenommen, dass die Ausgangspuffer 2a und 2b leer sind, wenn das Horizontal-Synchronisationssignal auf Hochpegel geht. In dem in 6 veranschaulichten Beispiel wird eine erste Gruppe von Anforderungen zum Auslesen von Daten aus dem Einzelport-Speicher 6 (einschließlich einer Anforderung zum Auslesen des Luminanzsignals X und einer Anforderung zum Auslesen des Farbdifferenzsignals C) an den Steuerabschnitt 3 gesendet. In Reaktion auf diese Anforderungen liest der Steuerabschnitt 3 das Luminanzsignal X und das Farbdifferenzsignal C aus dem Einzelport-Speicher 6 in dieser Reihenfolge aus und überträgt das Luminanzsignal Y zu dem Bereich O1 des Ausgangspuffers 2a und das Farbdifferenzsignal C zu dem Bereich O1 des Ausgangspuffers 2b.

Das Eingangspuffer-Freigabesignal und das Ausgangspuffer-Freigabesignal gehen zum gleichen Zeitpunkt auf Hochpegel.

In Reaktion darauf, dass das Eingangspuffer-Freigabesignal auf Hochpegel geht, wird begonnen, Daten in die entsprechenden Bereiche I1 der Eingangspuffer 1a und 1b einzugeben.

In Reaktion darauf, dass das Ausgangspuffer-Freigabesignal auf Hochpegel geht, wird begonnen, Daten, die in den entsprechenden Bereichen O1 der Ausgangspuffer 2a und 2b gespeichert wurden, auszugeben.

Die nächste Gruppe von Anforderungen zum Auslesen von Daten aus dem Einzelport-Speicher 6 (einschließlich einer Anforderung zum Auslesen des Luminanzsignals Y und einer Anforderung zum Auslesen des Farbdifferenzsignals C) wird zu dem Steuerabschnitt 3 gesendet. In Reaktion auf diese Anforderungen liest der Steuerabschnitt 3 das Luminanzsignal Y und das Farbdifferenzsignal C aus dem Einzelport-Speicher 6 in dieser Reihenfolge aus und überträgt das Luminanzsignal Y an den Bereich O2 des Ausgangspuffers 2a und das Farbdifferenzsignal C an den Bereich O2 des Ausgangspuffers 2b.

Einen Zyklus (m/2) nach der Ausgabe der Gruppe von Anforderungen zum Auslesen von Daten aus dem Einzelport-Speicher 6 (einschließlich der Anforderung zum Auslesen des Luminanzsignals Y und der Anforderung zum Auslesen des Farbdifferenzsignals C) werden eine Gruppe von Anforderungen zum Schreiben von Daten in den Einzelport-Speicher 6 (einschließlich einer Anforderung zum Schreiben des Luminanzsignals Y und einer Anforderung zum Schreiben des Farbdifferenzsignals C) und eine Gruppe von Anforderungen zum Auslesen von Daten aus dem Einzelport-Speicher 6 (einschließlich einer Anforderung zum Auslesen des Luminanzsignals Y und einer Anforderung zum Auslesen des Farbdifferenzsignals C) gleichzeitig erzeugt.

In Reaktion auf die Schreib- und Leseanforderungen überträgt der Steuerabschnitt 3 das Luminanzsignal Y (das in dem Bereich I1 des Eingangspuffers 1a gespeichert ist) und das Farbdifferenzsignal C (das in dem Bereich I1 des Eingangspuffers 1b gespeichert ist) in dieser Reihenfolge zu dem Einzelport-Speicher 6 und schreibt sie in diesen. Anschließend werden das Luminanzsignal Y und das Farbdifferenzsignal C in dieser Reihenfolge aus dem Einzelport-Speicher 6 ausgelesen. Das Luminanzsignal Y wird an den Bereich O1 des Ausgangspuffers 2a übertragen und in diesen geschrieben und das Farbdifferenzsignal C wird an den Bereich O1 des Ausgangspuffers 2b übertragen und in diesen geschrieben. Die Schreib- und Leseoperationen von Daten in den Einzelport-Speicher 6 bzw. aus diesem werden jeweils innerhalb eines Zyklus (m/2) ausgeführt.

Die Signale, die in den entsprechenden Bereichen I1 der Eingangspuffer 1a und 1b gespeichert sind, werden an den Einzelport-Speicher 6 übertragen, während die nächsten Eingangssignale in den entsprechenden Bereichen I2 der Eingangspuffer 1a und 1b gespeichert werden. Die Signale, die in den entsprechenden Bereichen O2 der Ausgangspuffer 2a und 2b gespeichert sind, werden extern ausgegeben, während die nächsten Signale von dem Einzelport-Speicher 6 an die entsprechenden Bereiche O1 der Ausgangspuffer 2a und 2b übertragen werden. Anschließend wird der gleiche Prozess wiederholt.

7 veranschaulicht eine beispielhafte Speicherabbildung des Einzelport-Speichers 6. Ein Luminanzsignal Y1 und ein Farbdifferenzsignal C1 für das erste Raster werden in Adressen von 0 bis n1 – 1 bzw. in Adressen von n1 bis n2 – 1 des Einzelport-Speichers 6 gespeichert. Luminanzsignale Y2 bis Y4 und Farbdifferenzsignale C2 bis C4 für die zweiten bis vierten Raster werden in ähnlicher Weise in Adressen von n2 bis n8 – 1 gespeichert. Wenn das Luminanzsignal Y2 und das Farbdifferenzsignal C2 für das zweite Raster in die Eingangspuffer 1a bzw. 1b eingegeben werden, werden das Luminanzsignal Y1 und das Farbdifferenzsignal C1 für das erste Raster zu den Ausgangspuffern 2a bzw. 2b ausgelesen.

8 veranschaulicht den Eingangspufferabschnitt 1. Zur Einfachheit wird angenommen, dass der Eingangspufferabschnitt 1 lediglich einen Eingangspuffer 1c aufweist. Die folgende Beschreibung gilt ebenfalls dann, wenn der Eingangspufferabschnitt 1 wie in dem in 1 veranschaulichten Beispiel die beiden Eingangspuffer 1a und 1b enthält. Es wird außerdem angenommen, dass jedes Eingangssignal zwei oder vier Bits aufweist und jedes Wort in dem Einzelport-Speicher 6 ebenfalls zwei oder vier Bits aufweist.

Der Eingangspufferabschnitt 1 enthält einen Eingangssignal-Schreibsteuerabschnitt 9, den Eingangspuffer 1c und einen Eingangsdaten-Lesesteuerabschnitt 11. Der Eingangssignal-Schreibsteuerabschnitt 9 steuert das Schreiben eines Eingangssignals. Der Eingangspuffer 1c speichert vorübergehend das Eingangssignal. Der Eingangssignal-Lesesteuerabschnitt 11 liest die Daten, die in dem Eingangspuffer 1c gespeichert sind, zu dem Einzelport-Speicher 6 aus.

9 veranschaulicht den Ausgangspufferabschnitt 2. Zur Einfachheit wird angenommen, dass der Ausgangspufferabschnitt 2 lediglich einen Ausgangspuffer 2c aufweist. Die folgende Beschreibung gilt ebenfalls dann, wenn der Ausgangspufferabschnitt 2 wie in den in 1 veranschaulichten Beispiel die beiden Eingangspuffer 2a und 2b enthält.

Der Ausgangspufferabschnitt 2 enthält einen Ausgangssignal-Lesesteuerabschnitt 12, den Ausgangspuffer 2c und einen Ausgangsdaten-Schreibsteuerabschnitt 13. Der Ausgangssignal-Lesesteuerabschnitt 12 steuert das Auslesen eines Ausgangssignals. Der Ausgangspuffer 2c speichert vorübergehend das Ausgangssignal. Der Ausgangsdaten-Schreibsteuerabschnitt 13 steuert die Daten, die von dem Einzelport-Speicher 6 in den Ausgangspuffer 2c ausgelesen werden.

Unter Bezugnahme auf die 8 und 10 wird im Folgenden eine Operation des Eingangspufferabschnitts 1 beschrieben.

Videosignale, die in den Eingangspufferabschnitt 1 eingegeben werden, werden nacheinander in den Eingangspuffer 1c geschrieben.

10 veranschaulicht den Eingangspuffer 1c. Der Eingangspuffer 1c enthält eine Speicherzellenanordnung 10, die Speicherzellen 47 enthält (wovon jede ein Datenbit speichert). Bezugszeichen 20 bis 27 bezeichnen jeweils ein Paar Speicherzellen (wovon jede ein Datenbit speichert). Die Bezugszeichen 28 bis 37 bezeichnen jeweils ein festverdrahtetes ODER-Gatter. Der Eingangspuffer 1c enthält ferner Flipflops 38 bis 41, einen Multiplexer 42 zum Multiplexen von Daten, Wähleinrichtungen 43 und 44 und Dreistufen-Puffer 45 und 46. Die Dreistufen-Puffer 45 und 46 geben jeweils das Eingangssignal taktgesteuert aus, wenn ein Steuersignal auf einem Tiefpegel ist. Wenn das Steuersignal auf einem Hochpegel ist, wird die Ausgangsimpedanz der Dreistufen-Puffer 45 und 46 hochohmig und die Dreistufen-Puffer 45 und 46 geben kein Signal aus.

In dem vorliegenden Beispiel beträgt die Datenbitbreite des Einzelport-Speichers 6 vier und dementsprechend wird eine Adresse aus jeweils vier Bits bereitgestellt. Darüber hinaus ist die Speicherzellenanordnung 10 in zwei Bereiche I1 (für die Spaltenadressen 0 und 1) und I2 (für die Spaltenadressen 2 und 3) unterteilt.

Die Speicherzellenanordnung 10 ist außerdem längs der Zeilenrichtung in zwei Abschnitte unterteilt, die die Zeilenadressen 0 bzw. 1 aufweisen. Die Bits der Speicherzellen in jeder Adresse werden durch ein ODER-Gatter mit den entsprechenden Bits des Speicherbusses verknüpft. Wenn das Eingangsvideosignal vier Bits aufweist, wird das Signal in den beiden Zeilenadressen 0 und 1 geschrieben. Wenn das Eingangsvideosignal zwei Bits aufweist, wird das Signal lediglich in die Zeilenadresse 0 geschrieben.

Wenn das Eingangssignal eine Bitfolge von zwei Bits ist, werden die ersten Daten (zwei Bits) in dem Speicherzellenpaar 20 an der Adresse (0 (Zeile), 0 (Spalte)) während eines Zyklus gespeichert und die zweiten Daten (zwei Bits) werden in dem Speicherzellenpaar 22 bei (0, 1) während des folgenden Zyklus gespeichert. Zu diesem Zeitpunkt sind Daten in allen Speicherzellenpaaren in der Zeilenadresse 1 in dem Bereich I1 gespeichert und die Daten werden zu dem Speicherbus ausgelesen, um das Schreiben der Daten in den Einzelport-Speicher 6 zu beginnen.

Da der Speicherbus vier Bits aufweist, werden die Daten, die in dem Speicherzellenpaar 20 gespeichert sind, und die Daten, die in der Speicherzelle 22 gespeichert sind, über das festverdrahtete ODER-Gatter 28 bzw. das festverdrahtete ODER-Gatter 32 ausgelesen, um 4-Bit-Daten zu bilden und an die Flipflops 38 bis 41 auszugeben.

Wenn der Einzelport-Speicher 6 vier Bits pro Wort aufweist, wird ein Taktsignal, das die gleiche Frequenz besitzt wie die Frequenz, mit der Daten in den Einzelport-Speicher 6 geschrieben werden, in die Flipflops 38 bis 41 eingegeben. Wenn das Auswahlsignal auf einen Tiefpegel geschaltet wird, gibt die Wähleinrichtung 43 das Signal von dem Flipflop 38 an den Einzelport-Speicher 6 aus und die Wähleinrichtung 44 gibt das Signal von dem Flipflop 39 an den Einzelport-Speicher 6 aus. In ähnlicher Weise gibt der Dreistufen-Puffer 45 das Signal von dem Flipflop 40 an den Einzelport-Speicher 6 aus und der Dreistufen-Puffer 46 gibt das Signal von dem Flipflop 41 an den Einzelport-Speicher 6 aus. Auf diese Weise weisen die Daten, die von dem Eingangspuffer 1c ausgegeben werden, vier Bits auf und somit kann der Eingangspuffer 1c mit einem Einzelport-Speicher verbunden werden, der eine Bitbreite von vier Bits aufweist.

Wenn der Einzelport-Speicher 6 zwei Bits pro Wort aufweist, wird ein Taktsignal, das eine Frequenz besitzt, die die Hälfte der Frequenz ist, mit der Daten in den Einzelport-Speicher 6 geschrieben werden, in die Flipflops 38 bis 41 eingegeben. Der Multiplexer 42 empfängt Eingänge von den Flipflops 38 bis 41. Eines der Flipflops 38 und 41 wird als erster Ausgang des Multiplexers 42 ausgewählt. Die Daten von dem Flipflop 38 werden ausgegeben, wenn das Taktsignal auf dem Hochpegel ist, und die Daten von dem Flipflop 40 werden ausgegeben, wenn das Taktsignal auf dem Tiefpegel ist. In ähnlicher Weise wird eines der Flipflops 39 und 41 als zweiter Ausgang des Multiplexers 42 ausgewählt. Die Daten von dem Flipflop 39 werden ausgegeben, wenn das Taktsignal auf dem Hochpegel ist, und die Daten von dem Flipflop 41 werden ausgegeben, wenn das Taktsignal auf dem Tiefpegel ist. Deswegen gibt der Multiplexer 42 Daten bei einer Datenrate aus, die das Zweifache der Taktsignalrate ist.

In Reaktion darauf, dass das Auswahlsignal auf dem Hochpegel ist, gibt die Wähleinrichtung 43 den ersten Ausgang des Multiplexers 42 an den Einzelport-Speicher 6 aus und die Wähleinrichtung 44 gibt den zweiten Ausgang des Multiplexers 42 an den Einzelport-Speicher 6 aus. Die Ausgangsimpedanz der Dreistufen-Puffer 45 und 46 wird hochohmig. Deswegen weisen Daten, die von dem Eingangspuffer 1c ausgegeben werden, zwei Bits auf und der Eingangspuffer 1c kann mit einem Einzelport-Puffer verbunden werden, der eine Bitbreite von zwei Bits aufweist.

Die Datenausgabe zu dem Einzelport-Speicher 6 wird im Wesentlichen in der gleichen Weise ausgeführt, auch wenn Daten in beiden Speicherzellenpaaren (24 und 26) in dem Bereich I2 gespeichert sind.

Wenn das Eingangssignal eine Datenfolge von vier Bits ist, werden die ersten Daten (vier Bits) in den Speicherzellenpaaren 20 und 21 gespeichert und die zweiten Daten (vier Bits) werden in den Speicherzellenpaaren 22 und 23 gespeichert. Zu diesem Zeitpunkt werden Daten in allen Speicherzellenpaaren in dem Bereich I1 gespeichert und die Daten werden zu dem Speicherbus ausgelesen, um das Schreiben der Daten in den Einzelport-Speicher 6 zu beginnen.

Da der Speicherbus vier Bits aufweist, werden die Daten, die in dem Speicherzellenpaar 20 gespeichert sind, und die Daten, die in dem Speicherzellenpaar 21 gespeichert, zuerst über das festverdrahtete ODER-Gatter 28 bzw. das festverdrahtete ODER-Gatter 29 ausgelesen, um 4-Bit-Daten zu bilden. Anschließend werden die Daten, die in dem Speicherzellenpaar 22 gespeichert sind, und die Daten, die in den Speicherzellenpaar 23 gespeichert sind, über das festverdrahtete ODER-Gatter 30 bzw. das festverdrahtete ODER-Gatter 31 ausgelesen, um 4-Bit-Daten zu bilden und an die Flipflops 38 bis 41 auszugeben.

Auf diese Weise können entweder 2-Bit-Eingangsdaten oder 4-Bit-Daten in den Einzelport-Speicher 6 geschrieben werden, der entweder zwei Bits pro Wort oder vier Bits pro Wort aufweist. Dies kann außerdem für den Fall gelten, wenn die Eingangsdaten n-Bit-Daten sind (wobei n eine natürliche Zahl ist) und der Einzelport-Speicher 6 pro Wort m Bits aufweist (wobei m eine natürliche Zahl ist). Darüber hinaus kann die Struktur der Speicherzellenanordnung 10 außerdem für den Ausgangspufferabschnitt 2 verwendet werden. Ferner ist die Reihenfolge, in der die Daten zu den mehreren Bereichen (z. B. I1 und I2) und von diesen übertragen werden, nicht auf die Reihenfolge des vorliegenden Beispiels beschränkt, wobei jede andere Reihenfolge verwendet werden kann, solange alle gepufferten Daten übertragen werden können.

11 veranschaulicht den Schreibsteuerabschnitt 9. In 11 enthält der Schreibsteuerabschnitt 9 eine Differentialschaltung 50, UND-Gatter 51 bis 55 und Flipflops 57 bis 60. Die Differentialschaltung 50 empfängt ein Rücksetzsignal und gibt ein Signal aus, das eine Breite besitzt, die im Wesentlichen gleich einem Takt ist. Während der Ausgang der Differentialschaltung 50 auf dem Hochpegel ist, ist das Flipflop 57 auf den Hochpegel gesetzt und die anderen Flipflops 58 bis 60 sind jeweils auf den Tiefpegel zurückgesetzt. Dies ist der Ausgangszustand des Schreibsteuerabschnitts 9.

Wenn anschließend ein Freigabesignal zum Hochpegel geht, wird ein Taktsignal in jedes der Flipflops 57 bis 60 eingegeben, wodurch die entsprechenden Werte in den Flipflops 57 bis 60 nach rechts verschoben werden. Dadurch ist an diesem Punkt der Ausgang des Flipflops 58 auf dem Hochpegel und die Ausgänge der anderen Flipflops 57, 59 und 60 sind auf dem Tiefpegel. Gleichzeitig ist der Ausgang des UND-Gatters 53 auf dem Hochpegel und die Ausgänge der anderen UND-Gatter 52, 54 und 55 sind auf dem Tiefpegel. Durch die Bereitstellung dieser Signale an die Wortleitungen zum Schreiben von Daten in die Speicherzellen in der Speicherzellenanordnung 10 werden die Eingangssignale nacheinander gespeichert.

12 zeigt die Zeitablaufpläne, die eine Operation des Schreibsteuerabschnitts 9veranschaulichen. Die Ausgangssignale der Flipflops 58 und 60 werden durch Zeigerausgänge 1 und 2 dargestellt. Der Ausgang des Zeigers 1, der zum Hochpegel geht, gibt an, dass der Bereich I1 des Eingangspuffers 1c mit Daten gefüllt ist, und der Ausgang des Zeigers 2, der zum Hochpegel geht, gibt an, dass der Bereich I2 des Eingangspuffers 1c mit Daten gefüllt ist. Der Zeigerausgang wird an den Steuerabschnitt 3 als eine Anforderung zum Schreiben von Daten von dem Eingangspuffer 1c in den Einzelport-Speicher 6 ausgegeben.

Der im Wesentlichen gleiche Aufbau kann für den Ausgangssignal-Lesesteuerabschnitt 12 des Ausgangspuffers 2c mit folgender Ausnahme verwendet werden. Die Zeigerausgänge 1 und 2 werden jeweils verwendet, um anzugeben, dass der Ausgangspuffer 2c leer geworden ist, so dass eine Anforderung an den Steuerabschnitt 3 zum Auslesen von Daten aus dem Einzelport-Speicher 6 ausgegeben wird.

13 veranschaulicht den Eingangsdaten-Lesesteuerabschnitt 11. In 13 enthält der Lesesteuerabschnitt 11 UND-Gatter 70 bis 73. Jedes der UND-Gatter 70 bis 73 decodiert ein Steuersignal (Adresse), das von dem Steuerabschnitt 3 ausgegeben wird, um ein Signal auszugeben, das die Spaltenadresse des entsprechenden Bereichs in der Speicherzellenanordnung 10 angibt. Der Aufbau des Ausgangsdaten-Schreibsteuerabschnitts 13 kann im Wesentlichen der gleiche Aufbau sein, der oben beschrieben wurde.

14 veranschaulicht den Steuerabschnitt 3. In 14 enthält der Steuerabschnitt 3 einen Puffersteuerabschnitt 4 (einschließlich eines Taktgenerators 80 und eines Adressengenerators 81) und einen Speichersteuerabschnitt 5 (einschließlich eines weiteren Taktgenerators 82 und eines weiteren Adressengenerators 83).

15a veranschaulicht den Taktgenerator 80. In 15a enthält der Taktgenerator 80 Zähler 84 und 87, Register 85 und 88, RS-Flipflops 86 und 89 und ein UND-Gatter 90. In Reaktion auf ein eingegebenes Vertikal-Synchronisationssignal wird ein Wert des Registers 85 in den Zähler 84 geladen. Der Zähler 84 beginnt vom nächsten Zyklus an zu zählen und gibt ein Ausführungssignal aus, wenn der Zähler 84 bis n gezählt hat. Das Ausführungssignal ist ein Rücksetzsignal für die Differentialschaltung 50 des Schreibsteuerabschnitts 9 (11) und ein "Setz"-Signal für das RS-Flipflop 86. In Reaktion auf ein eingegebenes Horizontal-Synchronisationssignal wird ein Wert des Registers 88 in den Zähler 87 geladen und das RS-Flipflop 89 wird zurückgesetzt. Der Zähler 87 beginnt ab dem nächsten Zyklus zu zählen und gibt ein Ausführungssignal aus, wenn der Zähler 87 bis m gezählt hat. Das Ausführungssignal ist ein "Setz"-Signal für das RS-Flipflop 89. Ein Freigabesignal, das von dem UND-Gatter 90 ausgegeben wird, ist auf einem Hochpegel, während die Ausgänge der RS-Flipflops 86 und 89 auf einem Hochpegel sind.

15B veranschaulicht den Adressengenerator 81. In 15B enthält der Adressengenerator 81 einen Zähler 91. In Reaktion auf ein Zeigersignal, das von dem Eingangssignal-Schreibsteuerabschnitt 9 ausgegeben wird, wird der Zähler 91 zurückgesetzt. Der Zähler 91 beginnt ab dem nächsten Zyklus zu zählen und der Zählerstand des Zählers 91 wird als eine Adresse an den Eingangsdaten-Lesesteuerabschnitt 11 ausgegeben. Der Aufbau des Taktgenerators 82 und der Aufbau des Adressengenerators 83 können im Wesentlichen gleich dem Aufbau des Taktgenerators 80 bzw. dem Aufbau des Adressengenerators 81 sein.

In dem vorliegenden Beispiel stellt der Schreibsteuerabschnitt 9 die beiden Zeigerausgänge 1 und 2 bereit, da der Puffer in zwei Bereiche unterteilt ist. Wenn ein Puffer in mehr Bereiche unterteilt ist, wird dementsprechend eine größere Anzahl Zeigerausgänge bereitgestellt. Wenn ein Puffer in L Bereiche unterteilt ist (wobei L eine natürliche Zahl größer oder gleich 2 ist), werden dementsprechend L Zeiger bereitgestellt. In der Speicherzellenanordnung 10, die in 10 veranschaulicht ist, können die Bereiche I1 und I2 des Weiteren in vier Bereiche I1, I2, I3 und 14 unterteilt sein, die jeweils Spaltenadressen 0 bis 4 aufweisen. In diesem Fall sind die Ausgänge der Flipflops 57 bis 60 die Zeiger 1 bis 4.

21 veranschaulicht einen Schreibsteuerabschnitt 9' gemäß einer Variation des vorliegenden Beispiels. Der Schreibsteuerabschnitt 9' ist dem Schreibsteuerabschnitt 9 ähnlich, besitzt jedoch vier Zeiger 1 bis 4. In 21 enthält der Schreibsteuerabschnitt 9' die Differentialschaltung 50, die UND-Gatter 50 bis 55, zusätzliche UND-Gatter 130 und 131 und die Flipflops 57 bis 60. Ein Betriebsartauswahlsignal wird an den Schreibsteuerabschnitt 9' bereitgestellt, das auf einen Tiefpegel ist, wenn der Puffer in zwei Bereiche unterteilt ist, und auf einem Hochpegel ist, wenn der Puffer in vier Bereiche unterteilt ist.

Bei der Variation des vorliegenden Beispiels, die in 21 dargestellt ist, ist der Ausgang des UND-Gatters 130 der Zeiger 1, der Ausgangs des Flipflops 58 ist der Zeiger 2, der Ausgang des UND-Gatters 131 ist der Zeiger 3 und der Ausgang des Flipflops 60 ist der Zeiger 4. Wenn der Puffer in zwei Bereiche I1 und I2 unterteilt ist, gibt der Zeiger 2 an, dass der Bereich I1 voll ist, und der Zeiger 4 gibt an, dass der Bereich I2 voll ist. Wenn der Puffer in vier Bereiche I1 bis I4 unterteilt ist, geben die Zeiger 1 bis 4 jeweils an, ob die Bereiche I1 bis I4 voll sind.

In dem Schreibsteuerabschnitt 9', der in 21 dargestellt ist, werden das Betriebsartauswahlsignal und die zusätzlichen UND-Gatter 130 und 131 bereitgestellt. Deswegen ist dann, wenn der Puffer in zwei Bereiche I1 und I2 unterteilt ist, das Betriebsartauswahlsignal auf dem Tiefpegel. Dann sind die Zeigerausgänge 1 und 3 immer auf dem Tiefpegel, wodurch keine Schreiboperationen in einen Speicher begonnen wird. Die Schreiboperation in den Speicher wird ausgelöst, wenn der Zeigerausgang 2 oder 4 zum Hochpegel geht. Wenn der Puffer in zwei Bereiche I1 bis I2 unterteilt ist, ist das Betriebsartauswahlsignal auf dem Hochpegel. Dann löst einer der Zeigerausgänge 1 bis 4, der zum Hochpegel geht, eine Schreiboperation in den Speicher aus. Auf diese Weise ist es möglich, einen Abschnitt zur selektiven Steuerung einer Schreiboperation in den Einzelport-Speicher 6 auf der Grundlage der Größe des Pufferbereichs zu schaffen.

Die 16A und 16B veranschaulichen jeweils eine Speicherabbildung des Einzelport-Speichers 6, wenn der in 11 veranschaulichte Schreibsteuerabschnitt 9 verwendet wird. 16A veranschaulicht den Ausgangszustand. 16B veranschaulicht den Einzelport-Speicher 6, wenn Daten in den Bereich I1 geschrieben wurden. Wenn unter Verwendung des Puffers auf den Speicher zugegriffen wird, hängt somit die minimale Zugriffseinheit des Einzelport-Speichers 6 von der Größe des Pufferbereichs ab.

Die 17A bis 17D veranschaulichen jeweils eine Speicherabbildung des Einzelport-Speichers 6, wenn der Puffer weiter in vier Bereiche I1 bis I4 unterteilt ist. 17A veranschaulicht den Ausgangszustand. 17B veranschaulicht den Einzelport-Speicher 6, wenn Daten in den Bereich I1 geschrieben wurden. Die 17C und 17D veranschaulichen jeweils den Einzelport-Speicher 6, wenn Daten in den Bereich I2 geschrieben wurden. Es ist somit möglich, Daten in die gleiche Speicheradresse zu schreiben wie in dem Fall, wenn der Puffer in zwei Bereiche I1 und I2 unterteilt ist (16B), wie in 17C veranschaulicht ist. Es ist außerdem möglich, Daten in eine andere Speicheradresse zu schreiben, wie in 17D veranschaulicht ist.

Wenn die Speicherschnittstellenvorrichtung mit einem Puffer versehen ist, hängt die minimale Einheit, durch die die Speicheradresse gesteuert werden kann, von der Größe jedes Pufferbereichs ab, wie oben beschrieben wurde. Deswegen kann durch Bereitstellen eines Abschnitts zur selektiven Steuerung der Größe des Pufferbereichs eine Speicheradressensteuerung mit einer "feinen" oder hohen Auflösung ausgeführt werden.

Ein Verfahren zum Verarbeiten von mehreren Videosignalen, die unterschiedliche Videosignalraten oder unterschiedliche Horizontalfrequenzen aufweisen, wird im Folgenden beschrieben.

18 veranschaulicht eine Arbitrierungsschaltung zum Arbitrieren von Anforderungen zum Schreiben von Daten in den Einzelport-Speicher 6 und von Anforderungen zum Lesen von Daten aus dem Einzelport-Speicher 6. Die Arbitrierungs schaltung kann in dem Steuerabschnitt 3 enthalten sein. In 18 enthält die Arbitrierungsschaltung Register 94 bis 97 für Benutzereinstellungen, UND-Gatter 98 bis 101 und eine Arbitrierungseinrichtung 102.

In dem vorliegenden Beispiel werden Zeigerausgänge A bis D bereitgestellt. Der Zeigerausgang A gibt an, ob ein Eingangssignal 1 in dem Eingangspuffer 1c gespeichert ist, wodurch der Eingangspuffer 1c gefüllt ist. Der Zeigerausgang B gibt an, ob ein Eingangssignal 2 in dem Eingangspuffer 1c gespeichert ist, wodurch der Eingangspuffer 1c gefüllt ist. Der Zeigerausgang C gibt an, ob ein Ausgangssignal 1 von dem Ausgangspuffer 2c ausgegeben wird, wodurch der Ausgangspuffer 2c geleert wird. Der Zeigerausgang D gibt an, ob ein Ausgangssignal 1 aus dem Ausgangspuffer 2c ausgegeben wird, wodurch der Ausgangspuffer 2c geleert wird.

Die Anforderungen zum Schreiben und Lesen von Daten in den Einzelport-Speicher 6 bzw. aus diesem werden mit Prioritäten versehen und die Priorität jeder Anforderung wird durch den 2-Bit-Wert repräsentiert, der in dem Register gesetzt ist. Der 2-Bit-Wert "11" gibt die erste (höchste) Priorität an, "10" gibt die zweite Priorität an, "01" gibt die dritte (niedrigste) Priorität an und "00" gibt "keine Anforderung" an. Die Priorität kann in Abhängigkeit von der bestimmten Anwendung, in der die Speicherschnittstellenvorrichtung verwendet wird, durch eine beliebige geeignete Anzahl von Bits angegeben werden.

Wenn das Eingangssignal 1 den ersten Bereich I1 des Eingangspuffers 1c füllt, geht der Zeigerausgang A zum Hochpegel und der Wert, der in dem Register 94 gesetzt ist, wird über das UND-Gatter 98 als ein Schreibanforderungssignal Write REQA in die Arbitrierungseinrichtung 102 eingegeben. Gleichfalls wird dann, wenn das Eingangssignal 2 den zweiten Bereich I2 des Eingangspuffers 1c füllt, der Wert, der in dem Register 95 gesetzt ist, als ein Schreibanforderungssignal Write REQB in die Arbitrierungseinrichtung 102 eingegeben. Wenn das Ausgangssignal 1 den ersten Bereich I1 des Ausgangspuffers 2c leert, wird der Wert, der in dem Register 96 gesetzt ist, als ein Leseanforderungssignal Read REQA in die Arbitrierungseinrichtung 102 eingegeben. Wenn das Ausgangssignal 2 den zweiten Bereich I2 des Ausgangspuffers 2c leert, wird der Wert, der in dem Register 97 gesetzt ist, als ein Leseanforderungssignal Read REQB in die Arbitrierungseinrichtung 102 eingegeben.

Die Arbitrierungseinrichtung 102 besitzt eine im Voraus eingestellte Prioritätsfolge, die in der Hardware der bestimmten Arbitrierungseinrichtung 102 enthalten ist. Deswegen werden dann, wenn mehr als eine Schreibanforderung oder Leseanforderung ausgegeben wird, die Anforderungen gemäß der Prioritätsfolge verarbeitet. In dem vorliegenden Beispiel besitzt das Signal Write REQA die erste (höchste) Priorität, das Signal Write REQB besitzt die zweite Priorität, das Read REQA besitzt die dritte Priorität und das Signal Read REQB besitzt die vierte (niedrigste) Priorität. Jede andere Prioritätsfolge kann durch den Benutzer der Speicherschnittstellenvorrichtung angewendet werden, indem geeignete Werte in den Registern 94 bis 97 gesetzt werden. Zum Beispiel kann "11" in dem Register 97 gesetzt werden, um dem Signal Read REQB die höchste Priorität zu geben.

19 ist ein Diagramm, das verschiedene Werte veranschaulicht, die von der Arbitrierungseinrichtung 102 für verschiedene Registereinstellungen ausgegeben werden.

In 19 repräsentiert die erste Zeile (Zeile Nr. 1) einen Fall, bei dem "11" in dem Register 94 gesetzt ist und der Zeigerausgang A demzufolge auf dem Hochpegel ist. In diesem Fall ist, wie unter "Betriebsartausgang" auf der rechten Seite des Diagramms gezeigt ist, ein Signal Write Mode A des Einzelport-Speichers 6 immer auf dem Hochpegel, unabhängig davon, ob andere Schreib- und Leseanforderungen ausgegeben werden oder unabhängig von den Registereinstellungen. Dadurch verarbeitet die Arbitrierungseinrichtung 102 die Anforderung von dem Zeigerausgang A mit der höchsten Priorität.

Wenn die Speicherzellenanordnung des Eingangspuffers 1c so angeordnet ist, wie in 10 veranschaulicht ist, und das Eingangssignal 1 in der Zeilenadresse 0 gespeichert ist, verarbeitet der Lesesteuerabschnitt 11 des Eingangspuffers 1c die Anforderung zum Auslesen von Daten aus dem Einzelport-Speicher 6 durch das Auslesen von Daten aus den Adressen (0,0) und (0,1), wenn das Signal Write Mode A zum Hochpegel geht. Anschließend kehrt der Zeigerausgang A zum Tiefpegel zurück.

Die zweite Zeile (Zeile Nr. 2) von 19 repräsentiert einen Fall, bei dem "10" oder ein niedrigerer Prioritätswert in dem Register 94 gesetzt ist, während "11" in dem Register 95 gesetzt ist. In diesem Fall ist ein Signal Write Mode B des Einzelport-Speichers 6 immer auf dem Hochpegel, unabhängig davon, ob andere Schreib- und Leseanforderungen ausgegeben werden oder unabhängig von den Registereinstellungen. Dadurch verarbeitet die Arbitrierungseinrichtung 102 die Anforderung von dem Zeigerausgang B in der Weise, dass er die höchste Priorität besitzt. In diesem Fall ist die Priorität des Zeigerausgangs A so gesetzt, dass sie die "zweite" Priorität ist, indem in dem Register 94 "10" gesetzt ist, während die Priorität des Zeigerausgangs B so gesetzt ist, dass sie die "erste" Priorität ist, indem "11" in dem Register 94 gesetzt ist. Die anderen Zeilen (die Zeilen-Nr. 3 bis 12) der 19 zeigen das gleiche Verarbeitungsprinzip für unterschiedliche Einstellungen.

Beispiel 2

Ein Verfahren zum Ausgeben eines Eingangssignals mit einer Verzögerung unter Verwendung des Eingangspuffers 1c und des Ausgangspuffers 2c gemäß dem Beispiel 2 der vorliegenden Erfindung wird im Folgenden beschrieben.

20 veranschaulicht eine Speicherzellenanordnung 121 des Eingangspufferabschnitts 1, einen Schreibbus zu dem Einzelport-Speicher 6, eine Speicherzellenanordnung 122 des Ausgangspufferabschnitts 2 und einen Lesebus von dem Einzelport-Speicher 6. In 20 bezeichnen die Bezugszeichen 20 bis 27 und 104bis 111 jeweils ein Paar Speicherzellen. Die Bezugszeichen 28 bis 36 und 112 bis 120 bezeichnen jeweils ein Paar festverdrahteter ODER-Gatter. In dem vorliegenden Beispiel wird angenommen, dass jedes Wort des Einzelport-Speichers 6 vier Bits aufweist.

Wenn die Speicherzellenanordnung 121 des Eingangspufferabschnitts 1 mit Daten gefüllt ist, werden die Daten normalerweise über die festverdrahteten ODER-Gatter 28 bis 36 an den Einzelport-Speicher 6 ausgegeben. Da eine Schreibbitleitung des Schreibspeicherbusses und eine Lesebitleitung des Lesespeicherbusses miteinander verbunden sind, ist es möglich, Daten, die in der Speicherzellenanordnung 121 des Eingangspufferabschnitts 1 vorhanden sind, direkt in die Speicherzellenanordnung 122 des Ausgangspufferabschnitts 2 zu schreiben. Wenn z. B. Daten in dem Speicherzellenpaar 20 über das festverdrahtete ODER-Gatter 28 ausgelesen werden, können dann, wenn das festverdrahtete ODER-Gatter 112 eingeschaltet ist, die Daten in das Speicherzellenpaar 104 geschrieben werden.

Auf diese Weise kann ein Eingangssignal unter Verwendung des Eingangspuffers 1c und des Ausgangspuffers 2c mit einer Verzögerung ausgegeben werden. In dem dargestellten Beispiel wird ein Eingangssignal um vier bis acht Takte verzögert.

Die Anzahl von Bits bzw. die Anzahl von Wörtern des Puffers der vorliegenden Erfindung sind nicht auf die oben beschriebenen Anzahlen beschränkt.


Anspruch[de]
Digitales Signalverarbeitungssystem zum Umsetzen eines Echtzeitsignalformats in ein weiteres Format und/oder zum Synthetisieren von zwei oder mehr nicht synchronen Echtzeitsignalen, wobei das System einen Einzelport-Speicher und

eine Speicherschnittstellenvorrichtung (200) enthält, die umfasst:

einen Eingangspuffer (1) mit mehreren Eingangsbereichen;

einen Ausgangspuffer (2) mit mehreren Ausgangsbereichen; und

einen Steuerabschnitt (3) zum Steuern des Eingangspuffers, des Ausgangspuffers und eines Einzelport-Speichers (6),

wobei

der Steuerabschnitt den Eingangspuffer (1) und den Einzelport-Speicher (6) so steuert, dass ein in einem der Eingangsbereiche des Eingangspuffer gespeichertes Signal an den Einzelport-Speicher (6) übertragen wird, während ein Eingangssignal in einem weiteren der Eingangsbereiche des Eingangspuffers (1) gespeichert wird; und

der Steuerabschnitt den Ausgangspuffer (2) und den Einzelport-Speicher (6) in der Weise steuert, dass ein in einem der Ausgangsbereiche des Ausgangspuffers (2) gespeichertes Signal als ein Ausgangssignal ausgegeben wird, während ein in dem Einzelport-Speicher (6) gespeichertes Signal an einen weiteren der Ausgangsbereiche des Ausgangspuffers (2) übertragen wird.
Digitales Signalverarbeitungssystem nach Anspruch 1, das ferner eine Busbreitenumsetzungsschaltung umfasst, um eine Ausgangsbusbreite des Eingangspuffers (1) in eine Eingangsbusbreite des Einzelport-Speichers (2) umzusetzen und um eine Ausgangsbusbreite des Einzelport-Speichers (6) in eine Eingangsbusbreite des Ausgangspuffers (2) umzusetzen. Digitales Signalverarbeitungssystem nach Anspruch 1, bei dem der Eingangspuffer (1) längs einer Bitleitungsrichtung und längs einer Wortleitungsrichtung des Eingangspuffers (1) in mehrere Eingangsbereiche unterteilt ist und der Ausgangspuffer (2) längs einer Bitleitungsrichtung und längs einer Wortleitungsrichtung des Ausgangspuffers (2) in mehrere Ausgangsbereiche unterteilt ist. Digitales Signalverarbeitungssystem nach Anspruch 1, bei dem:

sowohl der Eingangspuffer (1) als auch der Ausgangspuffer (2) an den Steuerabschnitt ein Anforderungssignal zum Zugreifen auf den Einzelport-Speicher (6) ausgibt; und

der Steuerabschnitt (3) eine Arbitrierungsschaltung (102) besitzt, um Zugriffsanforderungssignale anhand einer vorgegebenen Prioritätsfolge mit Prioritäten zu versehen.
Digitales Signalverarbeitungssystem nach Anspruch 1, das ferner eine Schaltung zum Schreiben eines Signals von dem Eingangspuffer (1) direkt in den Ausgangspuffer (2) umfasst.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com