-
HINTERGRUND
DER ERFINDUNG
-
Die
Erfindung betrifft eine Speichervorrichtung mit Merkmalen, die beispielsweise
bei der digitalen Verarbeitung von Bewegtbildern von Nutzen sind.
-
Dieser
Typ von Verarbeitung wird gerade zunehmend dringender benötigt: Fernsehgeräte verwenden
digitale Bildverarbeitungsverfahren; Personal-Computer und Workstations
werden zur Anzeige von Videobildern verwendet; und Bewegtbilder
werden zwischen diesen unterschiedlichen Medien übertragen, wobei damit eine
Umwandlung zwischen unterschiedlichen Formaten verbunden ist.
-
Ein
Großteil
der digitalen Bildverarbeitung erfolgt mit rechteckigen Blöcken von
Bildelementen oder Pixeln. Räumliches
und zeitliches Filtern zur Rauschunterdrückung, Effektbearbeitung und
Formatumwandlung sind typische Beispiele. Eine Bewegungsabschätzung für eine Bildkompression
ist ein weiteres Beispiel. Wenn Bewegtbilder in Echtzeit verarbeitet
werden, ist demgemäß ein sehr
schnelles Auslesens von Pixelblöcken
erforderlich. Beispielsweise kann es beim Empfangen und Speichern
eines jeden neuen Pixels in einem Bewegtbild erforderlich sein,
einen Block von Pixeln, in dem das neue Pixel auftritt, sowie entsprechende
Pixelblöcke
aus mehreren vorhergehenden Vollbildern oder Halbbildern auszulesen,
und zwar alles in dem Zeitraum vor dem Empfangen des nächsten Pixels.
-
Ein
herkömmlicher
dynamischer Direktzugriffsspeicher (DRAM) ist viel zu langsam für diese Aufgabe,
da jedem Lese- und Schreibzugriff eine zeitaufwändige Eingabe einer neuen Adresse
vorangehen muss.
-
Ein
herkömmlicher
dynamischer Doppelport-Direktzugriffsspeicher, auch als Video-Direktzugriffsspeicher
(VRAM) bezeichnet, kann einen seriellen schnellen Lesezugriff auf
eine gesamte Pixelreihe liefern, z. B. auf alle Pixel in einer Horizon talabtastzeile
eines Bildschirms, jedoch ist dieses Merkmal nicht für einen
Zugriff auf rechteckige Pixelblöcke
von Nutzen.
-
Ein
synchroner dynamischer Direktzugriffsspeicher (SDRAM) und ein synchroner
grafischer Direktzugriffsspeicher (SGRAM) erlauben einen Burst-Zugriff
auf kleinere Pixelgruppen, erfordern jedoch eine separate Adresseingabe
für Lesezugriff und
Schreibzugriff, was unpassend ist, wenn bei der Ankunft eines jeden
neuen Pixels beide Zugriffstypen erforderlich sind. SDRAM und SGRAM
unterstützen außerdem einige
der beim digitalen Filtern am häufigsten
benötigten
Burstlängen
nicht.
-
Außerdem kann
keiner dieser Speicher ohne weiteres kaskadiert angeordnet werden,
um einen Zugriff auf Pixelblöcke
in mehreren Vollbildern oder Halbbildern bereitzustellen.
-
Durch
die schlechte Eignung bisher verfügbarer Typen von Direktzugriffsspeichern
waren Systementwickler häufig
gezwungen, einen FIFO-(First-In-First-Out)-Speicher zum Speichern von Halbbildern
und Vollbildern zu verwenden und eine anwendungsspezifische integrierte
Schaltung (ASIC) mit Zeilenspeichern für eine Verwendung zum Zugreifen
auf rechteckige Pixelblöcke
bereitzustellen. Ein ASIC mit einundzwanzig Zeilenspeichern, von
denen jeder ein statischer Direktzugriffsspeicher (SRAM) ist, der
eintausendvierundzwanzig Acht-Bit-Wörter speichern kann, wurde
beispielsweise bei digitalen Fernsehempfängern verwendet. SRAM-Speicherzellen sind
jedoch groß,
so dass die Zeilenspeicher viel Platz im ASIC einnehmen, was die
Größe der eigentlichen
Bildbearbeitungs-Schaltungsanordnung, die sich unterbringen lässt, einschränkt. Die
SRAM-Zeilenspeicher verbrauchen auch viel Strom, da sie als Schieberegister
betrieben werden, und ihr Vorhandensein erhöht die Kosten des ASIC.
-
Weitere
Details werden nachstehend erläutert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gegenstand
der Erfindung ist demgemäß eine Speichervorrichtung,
welche die Funktionen eines Halbbild- oder Vollbildspeichers und
einer Gruppe von Zeilenspeichern kombiniert.
-
Ein
weiteres Ziel der Erfindung besteht darin, eine Speichervorrichtung
bereitzustellen, bei welcher das Zuführen einer einzelnen Reihen-Spalten-Adresse
einen Burst-Lesezugriff kombiniert mit einem einzelnen Schreibzugriff
erzeugen kann.
-
Ein
weitere Ziel besteht darin, eine Speichervorrichtung bereitzustellen,
bei welcher eine Eingabe einer einzelnen Reihenadresse einen Burst-Lesezugriff
kombiniert mit einem einzelnen Schreibzugriff erzeugen kann, wobei
vorab eine Spaltenadresseneingabe verwendet wird.
-
Noch
ein weiteres Ziel besteht darin, eine für eine kaskadierende Anordnung
geeignete Speichervorrichtung bereitzustellen.
-
Noch
ein weiteres Ziel besteht darin, eine Speichervorrichtung bereitzustellen,
die Pixeldaten für
mehrere Halbbilder oder Vollbilder eines Bewegtbildes speichern
kann und die mehrere Pixeldaten von jedem der Halbbilder oder Vollbilder
in einem einzelnen kombinierten Burst ausgeben kann.
-
Gemäß einem
ersten Aspekt der Erfindung ist die Speichervorrichtung durch Anspruch
1 (und 41) definiert. Die Speichervorrichtung weist ein Hauptspeicherfeld
und ein Unterspeicherfeld auf, wobei beide Felder sich die gleichen
Wortleitungen, Reihendecoder und interne Datenbusse teilen. Das
Unterspeicherfeld weist weniger Spalten auf als das Hauptspeicherfeld.
Der Datenbus ist mit einer Dateneingabeeinheit und einer Datenausgabeeinheit
verbunden, welche externe Dateneingangs- und -ausgangsanschlüsse aufweisen.
-
Ein
Spaltenadressgenerator erzeugt eine Serie von Spaltenadressen aus
einer einzelnen Anfangs-Spaltenadresse, die durch ein externes Spaltenadresssignal
bezeichnet ist. Ein Hauptspaltendecoder decodiert die Spaltenadressen,
um eine Serie von Spalten im Hauptspeicherfeld auszuwählen. Ein Unterspaltendecoder
decodiert niederwertige Bits der Spaltenadressen, um eine Serie
von Spalten im Unterspeicherfeld auszuwählen.
-
Ein
Steuersignalgenerator erzeugt interne Steuersignale, die bewirken,
dass im Hauptspeicherfeld gespeicherte Daten über den internen Datenbus ausgegeben
werden, dass im Hauptspeicherfeld gespeicherte Daten über den
internen Datenbus an das Unterspeicherfeld übertragen werden, dass im Unterspeicherfeld
gespeicherte Daten über
den internen Datenbus ausgegeben werden und dass Eingabedaten über den
internen Datenbus an das Hauptspeicherfeld übertragen werden. Vorzugsweise
werden diese Operationen in einem einzelnen Burst durchgeführt, in
dem Daten von mehreren Spalten im Hauptspeicherfeld und mehreren
Spalten im Unterspeicherfeld ausgegeben werden, von einer einzigen Spalte
im Hauptspeicherfeld zu einer einzigen Spalte im Unterspeicherfeld übertragen
werden und derselben Spalte im Hauptspeicher zugeführt werden.
-
Die
Dateneingangsanschlüsse
und die Datenausgangsanschlüsse
können
separat sein, was der Dateneingabeeinheit erlaubt, während der
Ausgabe von Daten von der Datenausgabeeinheit Eingabedaten zu empfangen.
Die Eingabedaten und die Daten, die gleichzeitig mit den Eingabedaten
ausgegeben werden, haben vorzugsweise die gleiche Spaltenadresse
im Hauptspeicherfeld, um eine kaskadierende Anordnung von Speichervorrichtungen zu
erleichtern.
-
Um
die Übertragung
von Daten vom Hauptspeicherfeld zum Unterspeicherfeld zu erleichtern, kann
der interne Datenbus in ein mit dem Hauptspeicherfeld verbundenes
Hauptteilstück
und ein mit dem Unterspeicherfeld verbundenes Unterteilstück unterteilt
sein. Die beiden Teilstücke
können über einen Datenbusschalter
oder über
die Datenausgabeeinheit untereinander verbunden sein. Wenn ein Datenbusschalter
verwendet wird, ist vorzugsweise ein Schreib-Verstärker vorgesehen,
um Daten zu verstärken,
die vom Unterteilstück
des internen Datenbusses in das Unterspeicherfeld geschrieben werden.
-
Die
Spaltenadress-Signalleitungen, welche den Spaltenadressgenerator
mit dem Hauptspaltendecoder und dem Unterspaltendecoder verbinden, können in ähnlicher
Weise durch einen Adressbusschalter unterteilt sein oder es können separate
Signalleitungen vorgesehen sein.
-
Die
Speichervorrichtung weist vorzugsweise ein Adressregister auf, in
welchem die Anfangsadresse gespeichert werden kann, so dass der
Spaltenadressgenerator wiederholt die gleiche Serie von Spaltenadressen
erzeugen kann, ohne dass eine wiederholte externe Eingabe der gleichen
Anfangsadresse erforderlich ist.
-
Die
Speichervorrichtung weist vorzugsweise mindestens zwei Bänke auf,
von denen jede über
ihr eigenes Hauptspeicherfeld und Unterspeicherfeld verfügt. Ein
einziger Burst kann dann eine Ausgabe von Daten, die aus dem Hauptspeicherfeld
in einer ersten Bank, aus dem Hauptspeicherfeld in einer zweiten
Bank und aus dem Unterspeicherfeld in der ersten Bank ausgelesen
wurden, sowie eine Eingabe von Daten an das Hauptspeicherfeld in
der ersten Bank beinhalten. Das Schreiben von Eingabedaten in das
Hauptspeicherfeld in der ersten Bank und die Übertragung von Daten vom Hauptspeicherfeld
an das Unterspeicherfeld in der ersten Bank finden vorzugsweise
während
des Lesezugriffes auf die zweite Bank statt. Ein Transferregister
ist vorzugsweise vorgesehen, so dass Daten, die aus dem Hauptspeicherfeld
in der ersten Bank ausgelesen wurden, vorübergehend im Transferregister
gespeichert werden können
und dann zum Unterspeicherfeld in der ersten Bank übertragen
werden, während
ein Zugriff auf die zweite Bank erfolgt. Ein Eingabedatenregister kann
auch vorgesehen sein, um die Eingabedaten zu halten, bis sie in
das Hauptspeicherfeld in der ersten Bank geschrieben werden.
-
Gemäß einem
zweiten Aspekt der Erfindung ist die Speichervorrichtung definiert
durch Anspruch 30 (und 65). Die Speichervorrichtung weist ein Speicherfeld,
einen Reihendecoder, einen Spaltendecoder, einen Spaltenadressgenerator,
einen internen Datenbus, eine Dateneingabeeinheit und eine Datenausgabeeinheit
auf. Die Dateneingangsanschlüsse der
Dateneingabeeinheit sind separat von den Datenausgangsanschlüssen der
Datenausgabeeinheit. Die Datenausgabeeinheit ist mit dem internen
Datenbus über
einen Datenbusschalter verbunden.
-
Die
Speichervorrichtung weist auch einen Steuersignalgenerator auf,
der interne Steuersignale erzeugt, welche den Spaltenadressgenerator
veranlassen, eine Serie von Spaltenadressen aus einer Anfangsadresse
zu erzeugen, die durch ein externes Spaltenadresssignal bezeichnet
ist. Ein Burst wird aus den entsprechenden Spalten im Speicherfeld ausgelesen.
Am Ende des Burst werden Eingabedaten von der Dateneingabeeinheit
empfangen und zu einer einzigen Spalte im Speicherfeld übertragen.
-
Diese
einzige Spalte ist vorzugsweise die letzte Spalte, aus der Daten
ausgelesen wurden. Eine Pufferschaltung ist vorzugsweise zwischen
dem Datenbusschalter und die Datenausgabeeinheit eingefügt, was
erlaubt, dass die Eingabedaten von der Dateneingabeeinheit empfangen
werden und zum Speicherfeld übertragen
werden, während
die aus der letzten Spalte ausgelesenen Daten von der Datenausgabeeinheit
ausgegeben werden, um eine kaskadierende Anordnung von Speichervorrichtungen
zu erleichtern.
-
Eine
Datenbus-Initialisierungseinheit ist vorzugsweise vorgesehen, um
den internen Datenbus zu initialisieren, nachdem die aus der letzten
Spalte ausgelesenen Daten zur Pufferschaltung übertragen wurden, und zwar
als Vorbereitung für
die Übertragung
von Daten von der Dateneingabeeinheit zum Speicherfeld.
-
Wie
beim ersten Aspekt der Erfindung ist vorzugsweise ein Adressregister
vorgesehen.
-
Das
Speicherfeld kann in mehrere Blöcke unterteilt
sein, von denen jeder Daten für
ein einziges Halbbild oder Vollbild eines Bewegtbildes speichert. In
diesem Fall ist vorzugsweise eine Blockauswahleinheit vorgesehen,
um mindestens einen der Spal tenadressbits mitten im Burst zu modifizieren,
was bewirkt, dass der Burst von einem Block zum anderen springt,
wodurch Daten von mehreren Pixeln in unterschiedlichen Halbbildern
oder Vollbildern ausgelesen werden.
-
Das
Speicherfeld kann auch in mehrere Bänke unterteilt sein.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den Zeichnungen sind:
-
1 eine
Pixelgruppe;
-
2 Pixelgruppen
in mehreren aufeinanderfolgenden Halbbildern eines Bewegtbildes;
-
3 eine
größere Pixelgruppe
in aufeinanderfolgenden Halbbildern eines Bewegtbildes;
-
4 ein
herkömmliches
System, das einen Lesezugriff auf die Pixel von 3 gewährt;
-
5 ein
Fall eines Lese- und Schreibzugriffes;
-
6 ein
weiteren Fall eines Lese- und Schreibzugriffes;
-
7 der
Teil von 4, welcher der Zugriffoperation
in 5 entspricht;
-
8 der
Teil von 4, welcher der Zugriffsoperation
in 6 entspricht;
-
9 ein
Blockdiagramm, das eine erste Ausführungsform der Erfindung darstellt;
-
10 ein Schaltungsdiagramm, das die erste Ausführungsform
detaillierter darstellt;
-
11 ein Ablaufdiagramm, welches einen Lesezugriff
auf das Hauptspeicherfeld in der ersten Ausführungsform darstellt;
-
12 ein Ablaufdiagramm, welches einen Lesezugriff
auf das Unterspeicherfeld in der ersten Ausführungsform darstellt;
-
13 ein Schaltungsdiagramm, welches eine zweite
Ausführungsform
der Erfindung darstellt;
-
14 ein Schaltungsdiagramm, welches eine dritte
Ausführungsform
der Erfindung darstellt;
-
15 ein Schaltungsdiagramm, welches eine vierte
Ausführungsform
der Erfindung darstellt;
-
16 die Verwendung der Haupt- und Unterspeicherfelder
in den ersten vier Ausführungsformen;
-
17 ein Schaltungsdiagramm, welches eine fünfte Ausführungsform
der Erfindung darstellt;
-
18 ein Ablaufdiagramm, welches eine in der fünften Ausführungsform
durchgeführte Burst-Zugriffsoperation
darstellt;
-
19 der Teil von 4, welcher
der Zugriffsoperation in 18 entspricht;
-
20 ein Ablaufdiagramm, welches das Nachladen der
Abwärtszählschaltung
in der fünften Ausführungsform
darstellt;
-
21 ein Schaltungsdiagramm, welches eine sechste
Ausführungsform
der Erfindung darstellt;
-
22 ein Schaltungsdiagramm, welches eine siebte
Ausführungsform
der Erfindung darstellt;
-
23 ein Schaltungsdiagramm, welches eine achte
Ausführungsform
der Erfindung darstellt;
-
24 ein Blockdiagramm, welches eine neunte Ausführungsform
der Erfindung darstellt;
-
25 den Teil des Systems in 4, welcher
durch die neunte Ausführungsform
ersetzt werden kann;
-
26, 27, 28 und 29 ein Schema
für ein
Speichern und einen Zugriff auf Pixeldaten in der neunten Ausführungsform;
-
30 Pixeldaten, auf die in der neunten Ausführungsform
in einem einzigen Burst zugegriffen werden kann;
-
31 ein Ablaufdiagramm, welches einen Burst darstellt,
der auf die in 30 dargestellten Pixeldaten
in einer für
eine Kaskadenanordnung geeigneten Weise zugreift;
-
32 ein Ablaufdiagramm, welches einen weiteren
Burst darstellt, der auf die in 30 dargestellten
Pixeldaten zugreift;
-
33 weitere Pixeldaten, auf die in einem einzelnen
Burst in der neunten Ausführungsform
zugegriffen werden kann;
-
34 ein Ablaufdiagramm, welches einen Burst darstellt,
der auf die in 33 dargestellten Pixeldaten
in einer für
eine Kaskadenanordnung geeigneten Weise zugreift;
-
35 ein Ablaufdiagramm, welches einen weiteren
Burst darstellt, der auf die in 33 dargestellten
Pixeldaten zugreift;
-
36 noch weitere Pixeldaten, auf die in einem einzelnen
Burst in der neunten Ausführungsform
zugegriffen werden kann;
-
37 ein Ablaufdiagramm, welches einen Burst darstellt,
der auf die in 36 dargestellten Pixeldaten
zugreift;
-
38 ein Blockdiagramm, welches eine zehnte Ausführungsform
der Erfindung darstellt;
-
39 ein Blockdiagramm, welches eine elfte Ausführungsform
der Erfindung darstellt;
-
40 ein Blockdiagramm, welches eine zwölfte Ausführungsform
der Erfindung darstellt;
-
41 ein Blockdiagramm, welches eine dreizehnte
Ausführungsform
der Erfindung darstellt;
-
42 bis 47 die
Funktionsweise der dreizehnten Ausführungsform in einem nicht kaskadierten
Modus;
-
48 die Funktionsweise der dreizehnten Ausführungsform
in einem kaskadierten Modus, zu Beginn eines Burst;
-
49 ein Blockdiagramm, welches eine vierzehnte
Ausführungsform
der Erfindung darstellt;
-
50 ein Blockdiagramm, welches eine fünfzehnte
Ausführungsform
der Erfindung darstellt;
-
51 ein Blockdiagramm, welches eine sechzehnte
Ausführungsform
der Erfindung darstellt;
-
52 ein Blockdiagramm, welches eine siebzehnte
Ausführungsform
der Erfindung darstellt;
-
53 ein Blockdiagramm, welches eine achtzehnte
Ausführungsform
der Erfindung darstellt;
-
54 ein Blockdiagramm, welches eine neunzehnte
Ausführungsform
der Erfindung darstellt;
-
55 ein Blockdiagramm, welches eine zwanzigste
Ausführungsform
der Erfindung darstellt;
-
56 ein Blockdiagramm, welches eine einundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
57 ein Blockdiagramm, welches eine zweiundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
58 ein Blockdiagramm, welches eine dreiundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
59 ein Blockdiagramm, welches eine vierundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
60 ein Blockdiagramm, welches eine fünfundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
61 ein Blockdiagramm, welches eine sechsundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
62, 63 und 64 Pixeldaten,
auf die in einer mit aufeinanderfolgenden Halbbildern durchgeführten Filteroperation
zugegriffen wird, und zwar unter Verwendung unterschiedlicher Anzahlen von
Pixeln aus geradzahligen und ungeradzahligen Halbbildern;
-
65 ein Ablaufdiagramm, welches einen Burst-Zugriff
auf die Pixeldaten in 62 in der sechsundzwanzigsten
Ausführungsform
darstellt;
-
66 ein Ablaufdiagramm, welches einen Burst-Zugriff
auf die Pixeldaten in 64 in der sechsundzwanzigsten
Ausführungsform
darstellt;
-
67 eine Variation der vorhergehenden Ausführungsformen;
-
68 ein Blockdiagramm einer siebenundzwanzigsten
Ausführungsform
der Erfindung;
-
69 ein detaillierteres Blockdiagramm der Adresseingabeeinheit
in 68;
-
70 ein detaillierteres Blockdiagramm der Zugriffs-Zählschaltung
in 68;
-
71 ein Ablaufdiagramm, welches die Funktionsweise
der siebenundzwanzigsten Ausführungsform
darstellt, wobei dabei eine kaskadierte Eingabe und Ausgabe dargestellt
ist;
-
72 die Belegung des Speicherfeldes in der siebenundzwanzigsten
Ausführungsform
durch Halbbilddaten;
-
73 und 74 aufeinanderfolgende Burst-Zugriffe,
die von der siebenundzwanzigsten Ausfürungsform durchgeführt werden;
-
75 eine Schaltung zum Empfangen der von der siebenundzwanzigsten
Ausführungsform ausgegebenen
Daten;
-
76 die Kaskadenanordnung von Speichervorrichtungen
in der siebenundzwanzigsten Ausführungsform;
-
77 ein Blockdiagramm, welches eine achtundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
78 ein Ablaufdiagramm, welches die Funktionsweise
der achtundzwanzigsten Ausführungsform
illustriert;
-
79 ein Blockdiagramm, welches eine neunundzwanzigste
Ausführungsform
der Erfindung darstellt;
-
80 ein Blockdiagramm, welches eine dreißigste Ausführungsform
der Erfindung darstellt;
-
81 ein Blockdiagramm, welches eine einunddreißigste Ausführungsform
der Erfindung darstellt;
-
82 ein Ablaufdiagramm, welches die Funktionsweise
der einunddreißigsten
Ausführungsform
darstellt;
-
83 ein Blockdiagramm, welches eine zweiunddreißigste Ausführungsform
der Erfindung darstellt;
-
84 ein Beispiel der internen Struktur von Adressregister,
Adressregisterausgangsschalter, Abwärtszählschaltung und Blockauswahleinheit
in der zweiunddreißigsten
Ausführungsform;
-
85 ein Beispiel von Daten, auf die in einem einzelnen
Burst in der zweiunddreißigsten
Ausführungsform
zugegriffen wird;
-
86 ein weiteres Beispiel von Daten, auf die in
einem einzigen Burst in der zweiunddreißigsten Ausführungsform
zugegriffen wird;
-
87 ein Blockdiagramm, welches eine dreiunddreißigste Ausführungsform
der Erfindung darstellt;
-
88 ein Blockdiagramm, welches eine vierunddreißigste Ausführungsform
der Erfindung darstellt;
-
89 ein Blockdiagramm, welches eine fünfunddreißigste Ausführungsform
der Erfindung darstellt;
-
90 ein Blockdiagramm, welches eine sechsunddreißigste Ausführungsform
der Erfindung darstellt;
-
91 ein Blockdiagramm, welches eine siebenunddreißigste Ausführungsform
der Erfindung darstellt;
-
92 ein Blockdiagramm, welches eine achtunddreißigste Ausführungsform
der Erfindung darstellt;
-
93 ein detaillierteres Blockdiagramm, welches
die achtunddreißigste
Ausführungsform
darstellt;
-
94 ein schematisches Diagramm des Speicherfeldes
in der achtunddreißigsten
Ausführungsform;
und
-
95 ein Ablaufdiagramm, welches die Funktionsweise
der achtunddreißigsten
Ausführungsform
darstellt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Ausführungsformen
der Erfindung werden nachfolgend mit Bezug auf die anliegenden erläuternden
Zeichnungen beschrieben, und zwar nach den folgenden allgemeinen
Informationen bezüglich der
Bewegtbild-Verarbeitung.
-
Ein
gebräuchlicher
Typ einer digitalen Bildverarbeitung ist ein Filterverfahren, mit
welchem ein Pixelwert gemäß den Werten
der umgebenden Pixel modifiziert wird. Bezugnehmend auf 1,
kann ein derartiges Filterverfahren den Wert des durch einen schraffierten
Kreis bezeichneten Pixels, das sich in der n-ten Abtastzeile befindet,
gemäß den benachbarten
nicht mit schraffierten Kreisen bezeichnet Pixeln modifizieren,
die sich in den Abtastzeilen n – 1, n
und n + 1 befinden.
-
Ein
derartiges Filtern kann sich in der zeitlichen Dimension erstrecken. 2 stellt
fünf aufeinanderfolgende
Halbbilder eines Bewegtbildes dar, welche die ungeradzahligen Halbbilder
Fm – 2,
Fm und Fm + 2 umfassen, die mit den geradzahligen Halbbildern Fm – 1 und
Fm + 1 im Zeilensprungverfahren verschachtelt sind. Das Symbol Δ t repräsentiert
das Halbbildintervall, z. B. eine Sechzigstel- oder Fünfzigstelsekunde.
Ein räumliches
und zeitliches Filterverfahren kann einen gefilterten Pixelwert
bei der durch Schraffur markierten Position im Halbbild Fm erzeugen,
und zwar gemäß den Werten
aller Pixel in den fünf
Gruppen von DTm – 2
bis DTm + 2.
-
3 verallgemeinert
dieses Verfahren zum Zugreifen auf 5 × 5-Pixelblöcke in fünf aufeinanderfolgenden Halbbildern
und zeigt, dass ein räumliches und
zeitliches Filtern einen schnellen Zugriff auf Pixel erfordert,
die durch drei Verzögerungstypen
getrennt sind: eine Bit-Verzögerung
(W), die dem Intervall zwischen aufeinanderfolgenden Pixeln in derselben
Zeile entspricht; eine Zeilen-Verzögerung (L), die dem Intervall
zwischen aufeinanderfolgenden Zeilen entspricht; und eine Halbbild-Verzögerung (t),
die dem Intervall zwischen Halbbildern entspricht.
-
Der
Begriff "Bit-Verzögerung" wird im Übrigen verwendet,
da auf alle einem einzigen Pixel zugehörige Datenbits für gewöhnlich gleichzeitig,
das heißt
parallel, zugegriffen wird. Dieser Begriff impliziert nicht, dass
ein Pixel durch ein einziges Bit repräsentiert ist. Ein typisches
Pixel umfasst normalerweise bei einem monochromen Bild acht Bits
und eine größere Bitanzahl
bei dem Farbbild.
-
4 zeigt
ein herkömmliches
System, das einen Zugriff auf die in 3 dargestellten
Pixelwerte liefert, wobei man von acht Bits pro Pixel ausgeht. Auf
der linken Seite befinden sich fünf
kaskadiert angeordnete FIFO-Halbbildspeicher F1, F2, ..., F5, die jeweils
eine Pixeldatenmenge speichern, die zu einem einzigen Halbbild äquivalent
ist. Diese Halbbildspeicher sind Dualport-Bausteine, wobei der Ausgangsport
des einen Speichers mit dem Eingangsport des nächsten Speichers verbunden
ist. Jedes Pixel verbleibt in jedem Halbbildspeicher für ein einziges
Halbbildintervall Δ t.
Die Eingabe und die Ausgabe finden gleichzeitig statt, und zwar
synchronisiert mit demselben Taktsignal (CLK). Der erste Halbbildspeicher
F1 empfängt
beispielsweise gleichzeitig ein neues Pixel Da5 und gibt das Pixel
Db5, das sich auf der gleichen Position im vorhergehenden Halbbild befindet,
an den zweiten Halbbildspeicher F2 weiter. Die Halbbildspeicher
liefern somit die in 3 angegebene Halbbild-Verzögerung (t).
-
Die
Zeilen-Verzögerung
(L) wird durch eine Mehrzahl von Zeilenspeichern L11, ..., L54 geliefert. Jedes
Pixel, das dem ersten Halbbildspeicher F1 zugeführt wird, wird auch dem ersten
Zeilenspeicher L11 zugeführt,
der mit den Zeilenspeichern L12, L13 und L14 kaskadiert angeordnet
ist. Das Pixel wird durch diese Kaskade wie durch ein Schieberegister hindurch
verschoben, wobei es für
eine Zeit, die einem einzigen Horizontalabtastintervall äquivalent
ist, in jedem Zeilenspeicher verbleibt, wodurch es vom Zeilenspeicher
L11 mit einer Ein-Zeilen-Verzögerung ausgegeben
wird, vom Zeilenspeicher L12 mit einer Zwei-Zeilen-Verzögerung usw.
Die anderen Zeilenspeicher liefern ähnliche Verzögerungen
für die
Eingänge
der Halbbildspeicher F2 bis F5.
-
Die
Bit-Verzögerung
(W) wird durch ein Feld von Flipflops vom D-Typ bereitgestellt,
die durch DFF in der Zeichnung bezeichnet sind. Jedes Pixel, das einem
der Halbbildspeicher zugeführt
wird oder von einem der Zeilenspeicher ausgegeben wird, wird einer
Kaskade von vier D-Typ-Flipflops zugeführt. Die Ausgänge dieser
Flipflops stellen gemeinsam mit den Eingängen und Ausgängen der
Halbbildspeicher und Zeilenspeicher einen gleichzeitigen Lesezugriff auf
alle in 3 dargestellten Pixel bereit,
die einen 5 × 5-Block
in jedem der fünf
aufeinanderfolgenden Halbbilder umfassen.
-
Die
Zeilenspeicher und die D-Typ-Flipflops in 4 werden
herkömmlicherweise
in einer ASIC-Baustein bereitgestellt, jedoch verwenden die Zeilenspeicher
SRAM-Schaltungen,
die, wie zuvor erwähnt,
im Hinblick auf Raumbedarf, Stromverbrauch und Bauteilkosten teuer
sind.
-
5 und 6 stellen
zwei Arten dar, auf welche ein Blockzugriff mit einer Pixeleingabe
synchronisiert werden kann. Beide Zeichnungen geben Pixel an, die
in einem einzigen Halbbildspeicher gespeichert sind. Schraffierte
Kreise bezeichnen neue Pixel, die zu dem Halbbild gehören, das
momentan empfangen wird, hingegen bezeichnen nicht schraffierte
Kreise Pixel, die zum vorhergehenden Halbbild gehören. Die
mit "Lesen" markierten Linien
bezeichnen die Stellen von 5 × 5-Pixelblöcken, die
beim Filtern verwendet werden. Die mit "Schreiben" markierten Pfeile bezeichnen die Stelle
(Dn) eines Pixels, der gerade empfangen wird.
-
In 5 wird,
während
ein neues Pixels an der Stelle Dn in den Halbbildspeicher geschrieben wird,
gerade ein 5 × 5-Pixelblock
im vorhergehenden Halbbild verarbei tet. Die Dn enthaltende Horizontalabtastzeile
ist die älteste
Abtastzeile in diesem Block. Die Pixeldaten werden durch kaskadiert
angeordnete D-Typ-Flipflops durchgeleitet, wie in 4 dargestellt,
so dass es ausreicht, die Daten von den fünf Stellen, die durch dunkle
Kreise Dn bis Dn + 4 bezeichnet sind, in die D-Typ-Flipflops zu laden,
bevor die neuen Pixels an der Stelle Dn geschrieben werden. Diese
Daten werden alle noch im Halbbildspeicher gehalten.
-
6 ist ähnlich,
abgesehen davon, dass nun die Dn enthaltende Horizontalabtastzeile
die neueste Abtastzeile in dem Block ist. Die Pixel Dn – 1 bis
Dn – 4
wurden bereits überschrieben
und Dn wird gerade überschrieben.
Zusätzliche
Einrichtungen müssen
vorgesehen sein, um die überschriebenen
Pixel zu speichern. Wenn an der Filteroperation sowohl das aktuelle
Halbbild als auch das vorhergehende Halbbild beteiligt sind, müssen Pixelwerte
von den Stellen Dn bis Dn – 4
in beiden Halbbildern ausgegeben werden.
-
7 und 8 zeigen
vergrößerte Ansichten
eines Teils von 4. Die gestrichelte Linie in 7 bezeichnet
den Halbbildspeicher F1 und die Zeilenspeicher L21 bis L24, die
einen Lesezugriff auf Pixel Dn bis Dn + 4 in 5 liefern.
Die gestrichelte Linie in 8 bezeichnet
den Halbbildspeicher F1 und die Zeilenspeicher L11 bis L24, die,
sowohl im aktuellen Halbbild als auch im vorhergehenden Halbbild,
einen Lesezugriff auf die Pixel Dn bis Dn – 4 in 6 liefern,
abgesehen von Pixel Da5.
-
Die
Erfindung stellt eine einzelne Speichervorrichtung bereit, welche
die Funktionen aller Teile, die in der gestrichelten Linie in 7 eingeschlossen sind,
oder aller Teile bereitstellen kann, die in der gestrichelten Linie
in 8 eingeschlossen sind. Die Speichervorrichtung
ist außerdem
gut geeignet für den
Typ des in den 4, 7 und 8 dargestellten
Halbbildspeicher-Kaskadierens.
-
Erste Ausführungsform
-
Die
im Blockdiagramm in 9 dargestellte erste Ausführungsform
ist eine Speichervorrichtung, welche die Funktionen des in der gestrichelten
Linie in 8 um schlossenen Teils bereitstellt.
Als beispielhafte Darstellung des ersten Aspekts der Erfindung weist
die Speichervorrichtung ein Hauptspeicherfeld 2, ein Unterspeicherfeld 4,
einen Zeilen-(X)-Decoder 6, einen Hauptspaltendecoder (MYD) 8,
einen Unterspaltendecoder (SYD) 10, einen Spalten-(Y)-Adressgenerator 12,
eine Dateneingabeeinheit (DI) 14 und eine Datenausgabeeinheit (DO) 16.
Die Dateneingabeeinheit 14 weist mindestens einen mit DIN
bezeichneten Dateneingangsanschluss auf. Die Datenausgabeeinheit 16 weist
mindestens einem mit DOUT bezeichneten Datenausgangsanschluss auf.
-
Die
Buchstaben X und Y werden im Folgenden verwendet, um Reihen bzw.
Spalten zu bezeichnen.
-
Der
Y-Adressgenerator 12 ist mit dem Haupt-Y-Decoder 8 über einen
höherwertigen Adressbus 18 und
mit dem Haupt-Y-Decoder 8 und dem Unter-Y-Decoder 10 über einen
niederwertigen Adressbus 20 verbunden, welcher durch einen Adressbusschalter 22 in
zwei Teile unterteilt ist. Der erste Teil des niederwertigen Adressbusses 20 ist
mit dem Haupt-Y-Decoder 8 verbunden. Der zweite Teil des
niederwertigen Adressbusses 20 ist mit dem Unter-Y-Decoder 10 verbunden
und kann vom Y-Adressgenerator 12 mittels des Adressbusschalters 22 getrennt
werden.
-
Die
Dateneingabeeinheit 14 und die Datenausgabeeinheit 16 sind
mit dem Hauptspeicherfeld 2 und dem Unterspeicherfeld 4 über einen
internen Datenbus 24 verbunden, der in ähnlicher Weise durch den Datenbusschalter 26 in
zwei Teile unterteilt ist und bei einem Schreibverstärker (WAMP) 28 endet. Die
zwei Teile des internen Datenbusses 24 werden als Hauptdatenbus
(MDB) und Unterdatenbus (SDB) bezeichnet.
-
Jeder
Kreis im Hauptspeicherfeld 2 und Unterspeicherfeld 4 repräsentiert
eine Gruppe von Speicherzellen mit einer gemeinsamen X-Y-Adresse
(Reihen-Spalten-Adresse).
In Bildverarbeitungsanwendungen speichert jede Gruppe von Speicherzellen Daten
für ein
einziges Pixel. Bei einem Bewegtbild, das in aufeinanderfolgenden
Horizontalabtastzeilen abgetastet wird, sind Pixel, welche die gleiche
Spal tenadresse (Y-Adresse) haben, in der gleichen Abtastzeile angeordnet.
Spalten verlaufen demgemäß in den
Zeichnungen in horizontaler Richtung, hingegen verlaufen Reihen
in vertikaler Richtung. Die Speicherzellen in jeder Reihe sind mit
einer Wortleitung (WL) verbunden, welche sich das Hauptspeicherfeld 2 und
das Unterspeicherfeld 4 gemeinsam teilen.
-
10 zeigt detaillierter die Struktur der ersten
Ausführungsform.
Der X-Decoder 6 ist mit einem X-Adressgenerator 29 verbunden,
der eine extern zugeführte
Reihenadresse XAD empfängt.
Der Y-Adressgenerator 12, der eine extern zugeführte Spaltenadresse
YAD empfängt,
weist eine Abwärtszählschaltung
(DC) 30 und eine Y-Adressausgabeschaltung (YADOUT) 32 auf.
Die Abwärtszählschaltung 30 arbeitet
als Spalten-Adresszählschaltung, welche
eine dekrementierende Serie von Spaltenadressen (Y-Adressen) erzeugt.
Die Dateneingabeeinheit 14 weist eine interne Latch-Schaltung
(LT) 34 zum Halten von Eingabedaten auf. Die Datenausgabeeinheit 16 weist
einen Ausgabeverstärker
(OMAP) 36 zum Verstärken
von Ausgabedaten auf. Die Haupt- und Unter-Y-Decoder MYD und SYD
weisen eine Mehrzahl von UND-Gattern 38 auf, die mit dem höherwertigen
Adressbus 18 und dem niederwertigen Adressbus 20 verbunden
sind. Adresshalte-Latch-Schaltungen (HLD) 40 sind für jede der Adresssignalleitungen
im niederwertigen Adressbus 20 vorgesehen.
-
Die
UND-Gatter 38 im Haupt-Y-Decoder sind als And1 bis Andn
bezeichnet; die UND-Gatter 38 im Unter-Y-Decoder sind als
Ad1 bis Ado bezeichnet. Die Buchstaben "n" und "o" bezeichnen die Anzahl der Spalten im
Hauptspeicherfeld 2 bzw. im Unterspeicherfeld 4.
Das Unterspeicherfeld 4 weist weniger Spalten auf als das
Hauptspeicherfeld 2 (o < n). Die
UND-Gatter 38 geben Spaltenwahlsignale aus, die als Y1
bis Yn im Haupt-Y-Decoder bezeichnet sind, und als Ys1 bis Yso im
Unter-Y-Decoder.
-
Jeder
Teil des Datenbusses weist ein Paar von komplementären Busleitungen
auf, die mit Dm und Dm/ im Hauptdatenbus und mit Ds und Ds/ im Unterdatenbus
bezeichnet sind. Die Busleitungen Dm und Ds sind wechselseitig über ein
Transfer gatter verbunden, welches ein Paar von Transistoren entgegengesetzter
Kanaltypen im Datenbusschalter 26 aufweist. Busleitungen
Dm/ und Ds/ sind in ähnlicher
Weise über
ein Transfergatter im Datenbusschalter 26 verbunden und
die niederwertigen Adresssignalleitungen werden durch ähnliche
Transfergatter im Adressbusschalter 22 geschaltet. Diese Transfergatter
werden durch ein Unterspeicher-Freigabe-(SME)-Signal
gesteuert, welches direkt den Negativ-Kanal-Transistoren in jedem
Transfergatter zugeführt
wird und durch einen Inverter 42 invertiert wird, um den
Positiv-Kanal-Transistoren in den Transfergattern zugeführt zu werden.
Das SME-Signal wird dann über
einen Inverter 44 zugeführt,
um die Adresshalte-Latch-Schaltungen 40 zu
steuern.
-
Das
Hauptspeicherfeld 2 weist Paare von komplementären Bitleitungen
BL1 und BL1/ bis BLn und BLn/ auf, die in Spaltenrichtung im rechten
Winkel zu den Wortleitungen WL1, ..., WLn verlaufen. Dynamische
Speicherzellen Nij, die jeweils einen Transistor und einen Kondensator
aufweisen, sind wie dargestellt mit den Wortleitungen und Bitleitungen
verbunden. Leseverstärker
(SA) sind mit jedem Paar von komplementären Bitleitungen verbunden. Jedes
Paar von komplementären
Bitleitungen im Hauptspeicherfeld 2 ist mit den komplementären Datenbusleitungen
Dm und Dm/ mittels eines Paares von Transfertransistoren 46 verbunden,
welche durch ein Spaltenwahlsignal von einem der UND-Gatter 38 im
Haupt-Y-Decoder
angesteuert werden.
-
Das
Unterspeicherfeld 4 weist ähnliche Paare komplementärer Bitleitungen
BLs1 und BLs1/ bis BLso und BLso/, Speicherzellen Nsij, Leseverstärker SA
und Transfertransistoren 46 auf. Die Leseverstärker, sowohl
im Hauptspeicherfeld 2 als auch im Unterspeicherfeld 4,
werden durch ein einzelnes Leseverstärker-Steuersignal PSA aktiviert.
-
Aus
Gründen
der Einfachheit zeigt 10 eine einzelne Speicherzelle,
die sich bei jeder X-Y-Adresse befindet. Im Allgemeinen befindet
sich wie zuvor erläutert
eine Gruppe von Speicherzellen bei jeder X-Y-Adresse. Der Datenbus
hat dann eine Mehrzahl komplementärer Paare von Busleitungen. In
jeder Spalte befindet sich eine gleiche Mehrzahl komplementärer Paare
von Bitleitungen und eine gleiche Mehrzahl von Leseverstärkern, und
die Dateneingabeeinheit 14 und die Datenausgabeeinheit 16 weisen
eine gleiche Mehrzahl von Eingangs- bzw. Ausgangsanschlüssen auf.
-
Ein
Element der ersten Ausführungsform, das
in den 9 und 10 weggelassen
wurde, ist ein Speichersteuersignalgenerator, der die in 10 dargestellten Steuersignale erzeugt. Zusätzlich zu den
bereits zuvor erwähnten
SME- und PSA-Steuersignalen
beinhalten diese Steuersignale ein Steuersignal PYE, das den UND-Gattern Ad1 bis Ado
im Unter-Y-Decoder zugeführt
wird, und ein Steuersignal R/W, das der Y-Adressausgabeschaltung 32 zugeführt wird.
Der Speichersteuersignalgenerator wird in den Zeichnungen nachfolgender
Ausführungsformen gezeigt.
-
Als
Nächstes
wird die Funktionsweise der ersten Ausführungsform beschrieben.
-
Der
Speichersteuersignalgenerator kann für verschiedene Operationsmodi
programmiert werden. Der nachfolgend beschriebene erste Modus ist
von Nutzen, um einen Zugriff auf Pixeldaten in der Weise von 6 zu
liefern.
-
Dieser
Modus wird zuerst mit Bezug auf 9 beschrieben.
Der Konvention von 6 folgend, stellen die schraffierten
Kreise in 9 Gruppen von Speicherzellen
dar, welche Pixeldaten für das
aktuelle Halbbild speichern, hingegen repräsentieren die nicht schraffierten
Kreise Gruppen von Speicherzellen, welche Daten für das vorhergehende Halbbild
speichern.
-
In
diesem Modus wird eine X-Adresse empfangen und durch den X-Decoder 6 decodiert,
welcher eine entsprechende Wortleitung WL aktiviert. Alle mit dieser
Wortleitung verbundenen Speicherzellen, sowohl im Hauptspeicherfeld 2 als
auch im Unterspeicherfeld 4, sind dadurch mit ihren jeweiligen Bitleitungen
verbunden, und die in diesen Speicherzellen gespeicherten Daten
werden durch die Leseverstärker
verstärkt.
-
Als
Nächstes
wird eine Anfangs-Y-Adresse durch den Y-Adressgenerator 12 erzeugt
und durch den Haupt-Y-Decoder decodiert, welcher eine entsprechende
Spalte im Hauptspeicherfeld vorauswählt. Die Speicherzellen, die
sich am Schnittpunkt dieser Spalte mit der Serie von Wortleitungen
WL befinden, sind mit dem Datenbus 24 verbunden, und die Daten
werden zur Datenausgabeeinheit 16 übertragen, wie durch die dunkle
Linie (A) bezeichnet.
-
Gleichzeitig
werden diese Daten vom Hauptspeicherfeld 2 zum Unterspeicherfeld 4 übertragen, wie
durch den Pfeil (B) angezeigt. Diese Übertragung findet über den
internen Datenbus 24 statt, wobei der Hauptdatenbus und
der Unterdatenbus über
den Datenbusschalter 26 verbunden sind. Die Daten werden durch
den Schreibverstärker 28 verstärkt. Sobald
der Schreibverstärker 28 die
Daten erfasst hat, wird der Datenbusschalter 26 geöffnet, wodurch
der Hauptdatenbus vom Unterdatenbus getrennt wird. Zu annähernd derselben
Zeit decodiert der Unter-Y-Decoder 10 die niederwertigen
Adressbits der Y-Adresse und wählt
eine entsprechende Spalte im Unterspeicherfeld 4 aus. Die
vom Schreibverstärker 28 verstärkten Daten
werden in die Speicherzellen geschrieben, die sich am Schnittpunkt
dieser Spalte des Unterspeicherfeldes 4 mit der Wortleitung
WL befinden.
-
Als
Nächstes
erzeugt die Abwärtszählschaltung 30 in
dem Y-Adressgenerator 12 aufeinanderfolgende abnehmende
Y-Adressen, was bewirkt, dass der Haupt-Y-Decoder 8 aufeinanderfolgende
Spalten im Hauptspeicherfeld 2 auswählt, wie durch den Pfeil (C)
angegeben. Die Daten, die sich in den Speicherzellen auf der Wortleitung
WL in diesen Spalten befinden, werden aufeinanderfolgend zur Datenausgabeeinheit 16 übertragen.
Die Datenausgabeeinheit 16 gibt die übertragenen Daten aus ihren
Datenausgangsanschlüssen
(DOUT) mit einer gewissen Latenzzeit aus.
-
Während der Übertragung
dieser Daten (C) bleibt der Datenbusschalter 26 offen,
so dass die Übertragungen
nicht das Unterspeicherfeld 4 beeinflussen. Der Adressbusschalter 22 ist
ebenfalls geöffnet,
so dass der Unter-Y-Decoder 10 nicht die nachfolgenden
Y-Adressen empfängt,
sondern weiter die erste Y-Adresse von den Ad resshalte-Latch-Schaltungen 40 empfängt. Die
Operation des Schreibens von Daten (B) in die gewählten Speicherzellen
im Unterspeicherfeld 4 kann somit während der Übertragung aufeinanderfolgenden
Daten (C) vom Hauptspeicherfeld 2 an die Datenausgabeeinheit 16 fortgesetzt
werden.
-
Bei
der in 9 dargestellten Operation endet
die Übertragung
von Daten vom Hauptspeicherfeld 2 an die Datenausgabeeinheit 16,
wenn auf drei Spalten zugegriffen wurde. Zu diesem Zeitpunkt ist die
Operation des Schreibens der ersten Daten, die in das Unterspeicherfeld 4 übertragen
wurden, ebenfalls beendet.
-
Als
Nächstes
werden der Adressbusschalter 22 und der Datenbusschalter 26 geschlossen
und der Y-Adressgenerator 12 erzeugt erneut die gleiche
Serie von drei Y-Adressen. Die Daten, die in den entsprechenden
Speicherzellen (D) auf der Wortleitung WL im Unterspeicherfeld 4 gespeichert
sind, werden über
den Datenbus 24 an die Datenausgabeeinheit 16 übertragen
und mit der zuvor erwähnten
Latenzzeit ausgegeben. Daten aus dem Hauptspeicherfeld 2 und
dem Unterspeicherfeld 4 werden somit in einem einzigen
kontinuierlichen seriellen Burst aufgegeben.
-
In
der Zwischenzeit wurden neue Eingabedaten bei den Dateneingangsanschlüssen (DIN) empfangen
und werden in der Latch-Schaltung 34 der Dateneingabeeinheit 14 gehalten.
Nachdem die Übertragung
von Daten (D) vom Unterspeicherfeld 4 an die Datenausgabeeinheit 16 abgeschlossen
ist, erzeugt der Y-Adressgenerator 12 erneut die Anfangs-Y-Adresse
und die neuen Eingabedaten werden übertragen (E), und zwar von
der Dateneingabeeinheit 14 zum Hauptspeicherfeld 2,
und in die gleichen Speicherzellen geschrieben, die am Anfang des Burst
gelesen wurden.
-
Ein
Grund dafür,
dass die neuen Daten am Ende des Burst geschrieben werden, liegt
darin, dass dies eine unterbrechungsfreie Fortsetzung des Lesezugriffs
ermöglicht.
Falls die neuen Daten an einem mittleren Punkt im Burst geschrieben
werden müssten,
wäre eine
zusätzliche
Steuerung erforderlich, um einen Lese-Schreib-Lese-Umschaltvorgang auszuführen; eine
schnellere Operation ist möglich,
wenn lediglich ein einziger Lese-Schreib-Umschaltvorgang erfolgen
muss.
-
Ein
weiterer Grund für
das Schreiben der neuen Daten am Ende des Burst liegt in der Latenzzeit
der Datenausgabeeinheit 16, welche ermöglicht, dass die neuen Daten über den
Datenbus 24 im Hintergrund übertragen werden, während die
Datenausgabeeinheit 16 immer noch ein Ausgeben von aus dem
Unterspeicherfeld 4 ausgelesenen Daten durchführt.
-
Die
zuvor beschriebene Operation wird nachfolgend mit Bezug auf 8 erläutert. Die
Operation (A) in 9 entspricht der Ausgabe von
Db5 vom Halbbildspeicher F1 an den Halbbildspeicher F2 in 8.
Die Operation (C) in 9 entspricht der Ausgabe von
Daten Da4 bis Da1 von den Zeilenspeichern L11 bis L14 in 8.
Die Operation (D) von 9 entspricht der Ausgabe von
Daten Db5 bis Db1 von dem Halbbildspeicher F1 und den Zeilenspeichern
L21 bis L24 in 8. Die Operation (E) in 9 entspricht
der Eingabe von neuen Daten Da5 in den Halbbildspeicher F1. Die
erste Ausführungsform
stellt somit die Funktionen des Halbbildspeichers F1 und der Zeilenspeicher
L11 bis L24 in 8 bereit.
-
Wenn
die Speichervorrichtung der ersten Ausführungsform für eine digitale
Verarbeitung von Bewegtbildern verwendet wird, können in der ASIC, welche die
Speichervorrichtung steuert, die acht Zeilenspeicher L11 bis L24,
welche Tausende von SRAM-Speicherzellen erforderten, durch ein kurzes (z.
B. neunstufiges) Schieberegister ersetzt werden, um den aus der
Speichervorrichtung ausgelesenen Datenburst zu speichern. Ein Beispiel
dieses Typs von Schieberegister wird später noch in 75 gezeigt. Größe, Kosten
und Stromverbrauch des ASIC können
auf diese Weise beträchtlich
verringert werden.
-
Im Übrigen erfolgt
eine Ausgabe von Daten Db5 in der zuvor beschriebenen Operation
zweimal, einmal vom Hauptspeicherfeld 2 am Anfang des Burst
und erneut vom Unterspeicherfeld 4 in der Mitte des Burst.
Diese doppelte Ausgabe kann vorteilhaft genutzt werden, wenn Speichervorrichtungen
kaskadiert angeordnet werden, wie später noch beschrieben wird.
-
Einige
Aspekte des zuvor beschriebenen Operationsmodus der ersten Ausführungsform
werden nachfolgend detaillierter beschrieben.
-
Die
Operation der ersten Ausführungsform ist
mit dem in 10 angegebenen Taktsignal (CLK) synchronisiert.
Außerdem
empfängt
die erste Ausführungsform
die folgenden externen Steuersignale: Chipauswahl (CS/), Reihenadress-Hinweissignal (RAS/),
Spaltenadress-Hinweissignal (CAS/) und Schreibfreigabe (WE/). Der
Schrägstrich
in den Signalbezeichnungen gibt an, dass die Signale Active-Low-Signale
sind. Die erste Ausführungsform weist
auch einen externen Adressbus (ADD) auf. Die Adresseingabe und alle
anderen Eingabe- und Ausgabesignale sind mit der ansteigenden Flanke
des Taktsignals (CLK) synchronisiert.
-
11 stellt Wellenformen der externen Steuersignale
und verschiedener interner Steuersignale während der Operationen des Lesens
von Daten vom Hauptspeicherfeld 2 und des Übertragens
von Daten vom Hauptspeicherfeld 2 an das Unterspeicherfeld 4 (Operationen
A, B und C in 9) dar. Die internen Steuersignale
werden aus den externen Steuersignalen vom zuvor erwähnten Signalgenerator
erzeugt, gemäß der in
den Steuersignalgenerator programmierten Operationsmodusinformation.
-
Zum
Zeitpunkt t1 sind CS/ und RAS/ auf dem Low-Pegel, hingegen sind
CAS/ und WE/ auf dem High-Pegel. Diese Kombination von Steuersignalen zeigt
an, dass die Adresse auf dem Adressbus (ADD) eine Reihenadresse
(Xi) ist, welche der X-Adressgenerator 29 dem
X-Decoder 6 zuführt.
Der X-Decoder 6 aktiviert die entsprechende Wortleitung
WLi (WL3 in 11), welche die Kondensatoren
in den Speicherzellen auf dieser Wortleitung mit den Bitleitungen BLj
und BLj/ im Hauptspeicherfeld 2 (j = 1 bis n) und den Bitleitungen
BLsj und BLsj/ im Unterspeicherfeld 4 (j = 1 bis o) verbindet.
Die in diesen Kondensatoren gespeicherten Daten erscheinen als kleine
Potentialunterschiede zwischen den Bitleitungen eines jeden komplementären Paars.
Als Nächstes
aktiviert das (nicht dargestellte) Leseverstärker-Steuersignal PSA die Leseverstärker, welche
die Potentialunterschiede auf den Bitleitungen in beiden Speicherfeldern,
wie dargestellt, auf die gesamte Versorgungsspannungsamplitude verstärken.
-
Zum
Zeitpunkt t2 sind CS/, CAS/ und WE/ auf dem Low-Pegel, hingegen
ist RAS/ auf High-Pegel. Diese Kombination von Steuersignalen zeigt
an, dass die Adresse auf dem Adressbus (ADD) eine Spaltenadresse
(Yj) ist, die in die Abwärtszählschaltung 30 im
Y-Adressgenerator 12 geladen ist. Diese Kombination von
Signalen zeigt auch das Vorhandensein von Eingabedaten an den Eingabedatenanschlüssen (DIN)
an. Die Eingabedaten werden in der Latch-Schaltung 34 der
Dateneingabeeinheit 14 gespeichert, werden jedoch nicht
unmittelbar in das Hauptspeicherfeld 2 geschrieben.
-
Es
sei angenommen, dass die vier niederwertigen Bits der Y-Adresse
Yj und somit die vier niederwertigen Bits YA3, YA2, YA1 und YA0
der von der Abwärtszählschaltung 30 ausgegebenen
Anfangsadresse, wie dargestellt, den Wert "0110" haben.
Die UND-Gatter 38 im Haupt-Y-Decoder 8 decodieren
die Anfangsadresse. Das (auch mit Yj bezeichnete) Spaltenwahlsignal,
das von lediglich einem dieser UND-Gatter 38 ausgegeben
wird, geht für
einen halben Taktzyklus, beginnend beim Zeitpunkt t2 auf den High-Pegel,
wodurch die Bitleitungen BLj und BLj/ für diesen halben Taktzyklus
mit dem Hauptdatenbusleitungen Dm und Dm/ verbunden sind. Die Potentiale auf
den Bitleitungen BLj und BLj/ werden dadurch als Daten D1 über die
Transfertransistoren 46 an die Datenbusleitungen Dm und
Dm/ übertragen,
wie angegeben.
-
Das
Freigabesignal SME ist zu diesem Zeitpunkt auf dem High-Pegel, so
dass die Hauptdatenbusleitungen Dm und Dm/ über den Datenbusschalter 26 mit
den Unterdatenbusleitungen Ds und Ds/ verbunden sind. Die Daten
D1 werden demgemäß auch zu
den Unterdatenbusleitungen Ds und Ds/ übertragen.
-
Das
R/W-Steuersignal ist während
der Leseoperation auf dem Low-Pegel, wie durch den Buchstaben L
angegeben.
-
Das
PYE-Freigabesignal ist während
des zum Zeitpunkt t2 beginnenden halben Taktzyklus auf dem Low-Pegel,
wodurch während
dieses Intervalls der Unter-Y-Decoder 10 deaktiviert
wird. Die von allen UND-Gattern 38 des Unter-Y-Decoders 10 ausgegebenen
Spaltenwahlsignale bleiben während
dieses Intervalls auf dem Low-Pegel. Dies gibt dem Schreibverstärker 28 Zeit,
die Potentiale (D1) auf den Unterdatenbusleitungen Ds und Ds/ zu
speichern und intern zu verstärken.
-
Der
Schreibverstärker 28 weist
ein Freigabesignal auf, das aus den Zeichnungen aus Gründen der
Einfachheit weggelassen wurde. Ebenfalls wurde ein Haupt-Y-Decoder-Freigabesignal
weggelassen, das in den in 11 dargestellten
Operationen auf dem High-Pegel ist, wodurch der Haupt-Y-Decoder 8 aktiviert
wird. Dieses Haupt-Y-Decoder-Freigabesignal kann den UND-Gattern 38 des
Haupt-Y-Decoders 8 in der gleichen Weise zugeführt werden,
in der PYE den UND-Gattern 38 im Unter-Y-Decoder 10 zugeführt wird;
alternativ kann das Haupt-Y-Decoder-Freigabesignal der Y-Adressausgabeschaltung 32 zugeführt werden
und dann durch die Y-Adressausgabeschaltung 32 den UND-Gattern 38 als
zusätzliches Adressbit
zugeführt
werden.
-
Einen
halben Taktzyklus nach dem Zeitpunkt t2 geht PYE auf den High-Pegel.
Der Unter-Y-Decoder 10 decodiert nun die niederwertigen
Adressbits und das Spaltenwahlsignal Ysj, das vom entsprechenden
UND-Gatter 38 des Unter-Y-Decoders ausgegeben wurde, geht
wie angegeben auf den High-Pegel, wodurch ein komplementäres Paar
von Bitleitungen BLsj und BLsj/ mit den Unterdatenbusleitungen Ds
und Ds/ verbunden werden, welche durch den Schreibverstärker 28 auf
den Potentialen der Daten D1 gehalten werden. Ungeachtet der vorhergehenden
Potentiale der Bitleitungen BLsj und BLsj/ steuert der Schreibverstärker 28 diese
Bitleitungen auf die Potentiale der Daten D1.
-
Einen
halben Taktzyklus nach dem Zeitpunkt t2 führt die Abwärtszählschaltung 30 ein
Herunterzählen
durch, und die niederwertigen Adressbits ändern sich von "0110" auf "0101" (gelesen in der
Reihenfolge von YA3 nach YA0), jedoch bleibt der Ausgang der Y-Adressausgabeschaltung 32 auf "0110" genau bis zum Zeitpunkt t3.
Der Ausgabeverstärker 36 in
der Datenausgabeeinheit 16 beginnt zu diesem Zeitpunkt
ebenfalls mit dem Ausgeben von Daten D1 aus den Ausgangsanschlüssen (DOUT).
-
Kurz
vor dem Zeitpunkt t3 geht das Freigabesignal SME auf den Low-Pegel,
wodurch die Unterdatenbusleitungen Ds und Ds/ von den Hauptdatenbusleitungen
Dm und Dm/ getrennt werden und ein weiteres Zuführen von niederwertigen Adressbits zum
Unter-Y-Decoder 10 blockiert wird. Die Adresshalte-Latch-Schaltungen 40 halten
weiterhin die niederwertigen Bitwerte der Anfangsadresse ("0110"), das Signal Ysj
bleibt auf dem High-Pegel, und die Daten D1 auf komplementären Bitleitungen
BLsj und BLsj/ werden in die entsprechenden Speicherzellen im Unterspeicherfeld 4 geschrieben.
Das Schreiben von Daten D1 kann für einen beliebig gewählten Zeitraum
fortgesetzt werden, während
andere Daten vom Hauptspeicherfeld 2 gelesen werden, was
dem Schreibverstärker 28 ausreichend
Zeit gibt, um die Kondensatoren in den Speicherzellen, in die geschrieben
wird, zu laden oder zu entladen.
-
Zum
Zeitpunkt t3 gibt die Adressausgabeschaltung 32 eine dekrementierte
Y-Adresse aus (endend
bei "0101"), welche der Haupt-Y-Decoder 8 decodiert,
und das Spaltenwahlsignal Yj-1, das vom UND-Gatter 38 in
der vorhergehenden Spalte ausgegeben wurde, geht auf den High-Pegel.
Daten D2 werden von den Bitleitungen in dieser Spalte auf die Hauptdatenbusleitungen
Dm und Dm/ ausgelesen. Die bereits zuvor ausgelesenen Daten D1 stehen
an den Ausgangsanschlüssen
DOUT zur Verfügung,
um durch eine externe Vorrichtung zum Zeitpunkt t3 ausgelesen zu
werden. Die Lese-Latenzzeit, von der Eingabe des Spaltenadresssignals
bis zur Ausgabe der ersten Daten im Burst, beträgt einen einzigen Taktzyklus.
-
Die
Burst-Operation setzt sich auf diese Weise fort. Zum Zeitpunkt t4
gibt die Y-Adressausgabeschaltung 32 eine
weitere dekrementierte Y-Adresse aus (endet bei "0100"),
und eine Übertragung
von Daten D3 vom Hauptspeicherfeld 2 zu den Hauptdatenbusleitungen
Dm und Dm/ beginnt, während
Daten D2 an den Aus gangsanschlüssen
DOUT zur Verfügung
stehen. Eine weitere Beschreibung dieses Teils des Burst entfällt.
-
Wenn
das Lesen der Daten aus dem Hauptspeicherfeld 2 abgeschlossen
ist, werden Daten aus dem Unterspeicherfeld 4 in im Wesentlichen
der gleichen Weise ausgelesen, wobei sich die Freigabesignale SME
und PYE beide im High-Zustand befinden und sich das (nicht dargestellte)
Haupt-Y-Decoder-Freigabesignal im Low-Zustand befindet. Die Abwärtszählschaltung 30 beginnt
von vorne, beginnend bei der Y-Adresse
Yj und endend bei "0110").
-
Die
Lese-Latenzzeit dieser Operationen ist nicht auf einen einzigen
Taktzyklus eingeschränkt. Die
Speichervorrichtung kann eine längere
Lese-Latenzzeit haben oder die Lese-Latenzzeit kann programmierbar
sein.
-
Eine
detaillierte Beschreibung des Schreibens von neuen Daten in das
Hauptspeicherfeld 2 entfällt hier. Beschreibungen folgen
in späteren
Ausführungsformen.
-
Als
Nächstes
wird ein zweiter Operationsmodus der ersten Ausführungsform beschrieben. In
diesem Modus folgt auf das Lesen von Daten aus dem Hauptspeicherfeld 2 nicht
automatisch das Lesen von Daten aus dem Unterspeicherfeld 4.
Stattdessen wird das Lesen von Daten aus dem Unterspeicherfeld 4 durch
einen externen Befehl eingeleitet. Dieser Modus ist von Nutzen,
wenn eine externe Vorrichtung Daten aus dem Hauptspeicherfeld 2 und
aus dem Unterspeicherfeld 4 zu unterschiedlichen Zeiten
benötigt,
oder Daten aus einer Reihe im Hauptspeicherfeld 2 und aus
einer anderen Reihe im Unterspeicherfeld 4 benötigt.
-
Die
Operationen des Auslesens von Daten aus dem Hauptspeicherfeld 4 und
des Übertragens von
Daten aus dem Hauptspeicherfeld 2 an das Unterspeicherfeld 4 werden
ausgeführt
wie dargestellt in 4 und wie zuvor beschrieben.
-
12 stellt das Auslesen der Daten aus dem Unterspeicherfeld 4 dar.
Im gesamten Verlauf dieser Operation bleibt das SME-Signal auf dem High-Pegel
und das R/W-Signal
verbleibt auf dem Low-Pegel, wie durch die Buchstaben H und L angegeben.
-
Vor
dieser Operation wird der Steuersignalgenerator durch einen (nicht
dargestellten) externen Befehl programmiert, der einen Zugriff auf
das Unterspeicherfeld 4 anweist. Demgemäß geht, wenn die X-Adresse
(Xi) zum Zeitpunkt t1 zugeführt
wird, das Freigabesignal PYE auf den High-Pegel.
-
Zum
Zeitpunkt t2 sind CS/ und CAS/ auf dem Low-Pegel, hingegen sind
RAS/ und WE/ auf dem High-Pegel. Demgemäß wird eine Y-Adresse (Yj) empfangen,
jedoch werden keine neuen Eingabedaten gespeichert. Diese Y-Adresse
(endend bei "0110") wird durch die
Abwärtszählschaltung 30 und die
Y-Adressausgabeschaltung 32 unmittelbar
ausgegeben. Da SME auf dem High-Pegel ist, werden die niederwertigen
Bits der Y-Adresse über
den Adressbusschalter 22 zum Unter-Y-Decoder 10 geleitet.
Da PYE auf dem High-Pegel ist, wird der Unter-Y-Decoder 10 aktiviert und
decodiert diese niederwertigen Bits. Das Spaltenwahlsignal Ysj,
das durch das entsprechende UND-Gatter 38 im Unter-Y-Decoder 10 ausgegeben
wurde, geht (für
einen halben Taktzyklus) auf den High-Pegel, und die Daten Ds1,
die in den Speicherzellen auf der Wortleitung WLi (WL3) in der entsprechenden
Spalte des Unterspeicherfeldes 4 gespeichert sind, werden
auf die Unterdatenbusleitungen Ds und Ds/ übertragen. Da SME auf dem High-Pegel
ist, werden diese Daten Ds1 wie dargestellt über den Datenbusschalter 26 auf
die Hauptdatenbusleitungen Dm und Dm/ übertragen und somit auf die
Datenausgabeeinheit 16.
-
Zum
Zeitpunkt t3 werden Daten Ds1, die vom Ausgabeverstärker 36 verstärkt wurden,
von den Ausgabedatenanschlüssen
DOUT ausgegeben. In der Zwischenzeit hat die Abwärtszählschaltung 30 auf
die nächstniedrigere
Adresse heruntergezählt (endend
bei "0101"), so dass der Unter-Y-Decoder 10 das
Spaltenwahlsignal Ysj-1 aktiviert, und Daten Ds2 werden von den
durch dieses Signal Ysj-1 gewählten Speicherzellen
zu den Datenbusleitungen übertragen.
-
Die
Ausleseoperation setzt sich auf diese Weise zu den Zeiten t4 und
t5 fort. Eine weitere Beschreibung entfällt.
-
Als
Variation kann die erste Ausführungsform so
ausgelegt sein, dass sie immer im zweiten Modus arbeitet, was eine
separate Adresseingabe für
jeden Burst-Zugriff auf das Unterspeicherfeld 4 erforderlich macht.
Eine separate Adresseingabe kann auch für einen Schreibzugriff auf
das Hauptspeicherfeld 2 verwendet werden. Verschiedene
andere Operationsmodi sind möglich.
Das wesentliche Merkmal der ersten Ausführungsform ist das Vorhandensein
eines Unterspeicherfeldes 4, das sich dieselben Wortleitungen
und niederwertigen Y-Adressbits gemeinsam mit dem Hauptspeicherfeld 2 teilt,
und zu dem Daten automatisch vom Hauptspeicherfeld 2 übertragen
werden, wenn auf das Hauptspeicherfeld 2 zugegriffen wird.
-
Als
weitere Variation kann die Eingabe von neuen Daten Da5 so zeitlich
gesteuert sein, dass sie mit der ersten Ausgabe der alten Daten
Db5 übereinstimmt.
Erneut bezugnehmend auf 11,
sollten in diesem Fall CS/ und CAS/ zum Zeitpunkt t2 auf dem Low-Pegel
sein, und CS/ und WE/ sollten zum Zeitpunkt t3 auf dem Low-Pegel sein, wobei
die neuen Daten zum Zeitpunkt t3 anstelle des Zeitpunkts t2 zu den
Eingangsanschlüssen
DIN gesendet werden. Alternativ kann die Speichervorrichtung programmiert sein,
um in einem Modus zu arbeiten, bei welchem die Dateneingabeeinheit 14 die
neuen Daten zum Zeitpunkt der Ausgabe der neuen Daten in jedem Burst
automatisch speichert, ohne dass eine separate Eingabe des WE/-Signals erforderlich
ist. Diese Variation ist praktisch, wenn die erste Ausführungsform
(F1) in Kaskade mit einer weiteren Speichervorrichtung (F2) geschaltet
ist, wie dargestellt in 8, da beide Speichervorrichtungen
F1 und F2 Eingabedaten gleichzeitig empfangen können.
-
Zweite Ausführungsform
-
Bezugnehmend
auf 13 ist die zweite Ausführungsform ähnlich der
ersten Ausführungsform,
abgesehen von der Datenbuskonfiguration. Alle Elemente der zweiten
Ausführungsform
waren auch in der ersten Ausführungsform
vorhanden und sind mit den gleichen Bezugszeichen bezeichnet. Die folgende
Beschreibung ist auf die Unterschiede gegenüber der ersten Ausführungsform
begrenzt.
-
In
der ersten Ausführungsform
waren die Haupt- und Unterdatenbusse über einen Datenbusschalter 26 verbunden,
jedoch sind sie in der zweiten Ausführungsform nicht untereinander
verbunden. Stattdessen sind sowohl die Hauptdatenbusleitungen Dm
und Dm/ als auch die Unterdatenbusleitungen Ds und Ds/ in unabhängiger Weise
mit dem Ausgabeverstärker 36 in
der Datenausgabeeinheit 16 verbunden. Der Ausgabeverstärker 36 nimmt
die Funktion des Datenbusschalters 26 an, indem er Daten
vom Hauptdatenbus an den Unterdatenbus überträgt. Der Ausgabeverstärker 36 nimmt
auch die Funktion des Schreibverstärkers 28 in der ersten
Ausführungsform an,
indem er die in das Unterspeicherfeld 4 geschriebenen Daten
verstärkt.
Dies ermöglicht,
dass bei der zweiten Ausführungsform
sowohl der Datenbusschalter 26 als auch der Schreibverstärker 28 weggelassen
werden können.
-
Die
Hauptdatenbusleitungen Dm und Dm/ sind mit der Latch-Schaltung 34 in
der Dateneingabeeinheit 14 verbunden. Die Unterdatenbusleitungen Ds
und Ds/ sind mit der Dateneingabeeinheit 14 nicht verbunden.
-
Die
zweite Ausführungsform
arbeitet in der gleichen Weise wie die erste Ausführungsform,
jedoch beseitigt das Eliminieren des Datenbusschalters 26 den
elektrischen Widerstand der Transistoren im Datenbusschalter 26,
was einen Zugriff mit höherer
Geschwindigkeit auf das Unterspeicherfeld 4 ermöglicht.
Außerdem
kann die elektrische Kapazität eines
jeden komplementären
Paars von Datenbusleitungen verringert werden, was ebenfalls einen
Zugriff mit höherer
Geschwindigkeit ermöglicht.
Die zweite Ausführungsform
kann somit mit einer höheren
Taktrate als die erste Ausführungsform
arbeiten.
-
Das
Eliminieren des Datenbusschalters 26 und Schreibverstärkers 28 vereinfacht
auch die Schaltungskonfiguration der zweiten Ausführungsform,
was ein weiterer Vorteil ist.
-
Dritte Ausführungsform
-
Nachfolgend
sei Bezug genommen auf 14.
Die dritte Ausführungsform
ist ähnlich
der ersten Ausführungsform,
abgesehen von der Spalten-(Y)-Adressbuskonfiguration.
Elemente der dritten Ausführungsform,
die in der ersten Ausführungsform vorhanden
waren, sind mit den gleichen Bezugszeichen bezeichnet. Die folgende
Beschreibung beschränkt
sich auf die Unterschiede gegenüber
der ersten Ausführungsform.
-
In
der ersten Ausführungsform
war der niederwertige Adressbus 20 direkt mit dem Haupt-Y-Decoder 8 verbunden
und war über
einen Adressbusschalter 22 mit dem Unter-Y-Decoder 10 verbunden. In
der dritten Ausführungsform
ist der niederwertige Adressbus 20 verdoppelt, wobei der
eine Satz der niederwertigen Adressleitungen 47 mit dem Haupt-Y-Decoder 8 verbunden
ist, und der Verdoppelungssatz der niederwertigen Adressleitungen 48 mit dem
Unter-Y-Decoder 10 verbunden ist. Der Adressbusschalter 22 und
die Adresshalte-Latch-Schaltungen 40 der ersten Ausführungsform
sind eliminiert.
-
Der
höherwertige
Adressbus 18 und die niederwertigen Adressleitungen 47 sind
kombiniert, um einen Hauptadressbus zu bilden, welcher sowohl die höherwertigen
Teile als auch die niederwertigen Teile der Y-Adresse vom Y-Adressgenerator 12 zum Haupt-Y-Decoder 8 transportiert.
Niederwertige Adressleitungen 48 bilden einen Unteradressbus, welcher
den niederwertigen Teil der Y-Adresse vom Y-Adressgenerator 12 zum Unter-Y-Decoder 10 transportiert.
-
Die
dritte Ausführungsform
arbeitet in gleicher Weise wie die erste Ausführungsform, jedoch beseitigt
ein Eliminieren des Adressbusschalters 22 auch den elektrischen
Widerstand der Transistoren des Adressbusschalters 22,
was einen Zugriff mit höherer
Geschwindigkeit auf das Unterspeicherfeld 4 erlaubt. Außerdem kann
die elektrische Kapazität
der niederwertigen Adressbusleitungen verringert werden, was ebenfalls
einen Zugriff mit höherer
Geschwindigkeit gestattet. Die dritte Aus führungsform kann auf diese Weise
mit einer höheren
Taktrate als die erste Ausführungsform
arbeiten.
-
Das
Eliminieren des Adressbusschalters 22 und der Halte-Latch-Schaltungen 40 vereinfacht auch
die Schaltungskonfiguration der dritten Ausführungsform, was einen weiteren
Vorteil darstellt.
-
Vierte Ausführungsform
-
Bezugnehmend
auf 15 sind in der vierten Ausführungsform
die Merkmale der zweiten und dritten Ausführungsform kombiniert. Die
Hauptdatenbusleitungen Dm und Dm/ und die Unterdatenbusleitungen
Ds und Ds/ sind mit dem Ausgabeverstärker 36 in der Datenausgabeeinheit 16 separat
verbunden, und separate niederwertige Adressbusleitungen 47 und 48 sind
für den
Haupt-Y-Decoder 8 und den Unter-Y-Decoder 10 vorgesehen. Der
Adressbusschalter 22, der Datenbusschalter 26,
der Schreibverstärker 28 und
die Adresshalte-Latch-Schaltungen 40 der ersten Ausführungsform
sind alle eliminiert.
-
Die
vierte Ausführungsform
liefert kombiniert die Vorteile der zweiten und dritten Ausführungsform im
Hinblick auf eine vereinfachte Schaltungsanordnung und einen Betrieb
mit höherer
Geschwindigkeit.
-
Die
Funktionsweise der ersten vier Ausführungsformen ist in 16 zusammengefasst, erneut unter Verwendung von
Da1 bis Da5, um Pixeldaten des aktuellen Halbbildes zu repräsentieren,
und Db1 bis Db5, um Pixeldaten des vorhergehenden Halbbildes zu
repräsentieren.
Wenn Daten Da5 für
ein neues Pixel empfangen werden, werden die Daten Db5 für das gleiche
Pixel des vorhergehenden Halbbildes aus dem Hauptfeldspeicher 2 zum
Unterfeldspeicher 4 übertragen,
die Daten Db5, Da4 bis Da1 und Db5 bis Db1 werden in der Art eines
Burst aus dem Hauptspeicherfeld 2 und dem Unterspeicherfeld 4 ausgegeben,
und die neuen Daten Da5 werden in das Hauptspeicherfeld 2 geschrieben.
Alle diese Daten haben in der Speichervorrichtung die gleiche Reihenadresse
(X-Adresse).
-
Wie
durch die elliptischen Pfeile angegeben, wird das Unterspeicherfeld
zyklisch verwendet. Bei der dritten und vierten Ausführungsform,
bei welcher der Haupt-Y-Decoder 8 und
der Unter-Y-Decoder 10 separate Adressbusleitungen haben,
ist es nicht zwingend erforderlich, dass die dem Unter-Y-Decoder 10 zugeführte Adresse
identisch zu den niederwertigen Bits der dem Haupt-Y-Decoder 8 zugeführten Adresse
ist, solange die zyklische Verwendung des Unterspeicherfeldes 4 beibehalten
wird. Die Anzahl von Spalten im Unterspeicherfeld 4 kann
dann eine Anzahl sein, die keine Zweierpotenz ist, beispielsweise
die Zahl 6, wie in 16 dargestellt.
-
In
den bisher gegebenen Beschreibungen wurden die Daten Db5 im gleichen
Burst zweimal ausgegeben, jedoch ist dies nicht immer erforderlich. Die
Speichervorrichtung kann beispielsweise konfiguriert werden, um
die neuen Daten Da5 von der Dateneingabeeinheit 14 zur
Datenausgabeeinheit 16 zu übertragen, und um Da5 anstelle
von Db5 zu Beginn des Burst auszugeben. Die alten Daten Db5 werden weiterhin
vom Hauptspeicherfeld 2 an das Unterspeicherfeld 4 übertragen.
Beispiele werden in den folgenden Ausführungsformen gezeigt.
-
Keine
Erwähnung
fanden bisher die Einrichtungen, durch welche die Burstlänge gesteuert
wird, und die Einrichtungen, durch welche die gleiche Y-Adresse
wiederholt in die Abwärtszählschaltung geladen
wird. Beispiele dieser Einrichtungen werden in den folgenden Ausführungsformen
dargestellt, jedoch sind die ersten vier Ausführungsformen nicht auf die
in den nachfolgenden Ausführungsformen dargestellten
Einrichtungen eingeschränkt.
Die ersten vier Ausführungsformen
können
ausgelegt sein, um beispielsweise mit einer wiederholten externen Eingabe
der gleichen Adresse zu arbeiten, wie bereits zuvor hervorgehoben
wurde. Die Steuerung der Burstlänge
kann auch extern erfolgen.
-
Fünfte Ausführungsform
-
Bezugnehmend
auf 17, sind in der fünften Ausführungsform
gleiche Elemente wie in der ersten Ausführungsform mit gleichen Bezugszeichen bezeichnet,
und drei zusätzliche
Elemente sind im Y-Adressgenerator 12 angeordnet. Die drei
zusätzlichen
Elemente sind eine Zugriffs-Zählschaltung
(AC) 50, ein Adressregister (ADR) 52 und ein Adressregisterausgangsschalter 54.
Die Zugriffs-Zählschaltung 50 empfängt das
Taktsignal CLK und ein Anhalte-Steuersignal PST und gibt ein Adresseingabe-Steuersignal
PAI an den Adressregisterausgangsschalter 54 aus. Das Adressregister 52 empfängt und
speichert die extern zugeführte
Y-Adresse YAD. Der Adressregisterausgangsschalter 54 verbindet
das Adressregister 52 mit der Abwärtszählschaltung 30.
-
Das
Steuersignal PST initialisiert die Zugriffs-Zählschaltung 50 auf
einen Wert, der die Burstlänge
steuert. Dieser Wert kann ein konstanter in der Zugriffs-Zählschaltung 50 voreingestellter
Wert sein, oder ein programmierbarer Wert, der im (nicht dargestellten)
Steuersignalgenerator gespeichert ist und zur Zugriffs-Zählschaltung 50 durch
das Steuersignal PST selbst transportiert wird. Diese Zugriffs-Zählschaltung 50 braucht
nur das Steuersignal PAI auszugeben, so dass die Zugriffs-Zählschaltung 50 als Ringzählschaltung
oder Schieberegister konfiguriert sein kann.
-
Auch
wenn dies nicht explizit in der Zeichnung angegeben ist, weist die
fünfte
Ausführungsform
auch Steuersignale auf, welche die in der Latch-Schaltung 34 der
Dateneingabeeinheit 14 gehaltenen Eingabedaten zum Ausgabeverstärker 36 in der
Datenausgabeeinheit 16 übertragen,
und zwar beispielsweise über
die Hauptdatenbusleitungen Dm und Dm/, oder über eine direkte Verbindung,
welche die Datenbusleitungen umgeht. Diese Übertragung ermöglicht,
dass die Eingabedaten von der Datenausgabeeinheit 16 ausgegeben
werden, ohne dass diese zuerst im Hauptspeicherfeld 2 gespeichert
werden.
-
Bezugnehmend
auf 18, empfängt die fünfte Ausführungsform die gleichen CS/,
RAS/, CAS/ und WE/-Steuersignale wie die vorhergehenden Ausführungsformen,
sowie ein zusätzliches Adressübertragungs-Steuersignal
ADX/. Die Speichervorrichtung verwendet dieses Steuersignal ADX/,
um ein X- oder Y-Adresssignal intern, ohne eine Eingabe auf dem
Adressbus ADD, zu erzeugen. Wenn RAS/ und ADX/ beide auf dem Low-Pegel
sind, erzeugt der X-Adressgenerator 29 eine neue X-Adresse
durch Inkrementieren der vorhergehenden X-Adresse. Wenn CAS/ und
ADX/ beide auf dem Low-Pegel sind, wird die im Adressregister 52 gehaltene
Y-Adresse über den
Adressregisterausgangsschalter 54 in die Abwärtszählschaltung 30 übertragen.
-
Bei
der in 18 dargestellten Operation
beträgt
die Lese-Latenzzeit zwei Taktzyklen, anstatt wie zuvor ein einziger
Taktzyklus. Auf die Eingabe einer neuen X-Adresse Xi und Y-Adresse Yj folgend
werden, zusammen mit neuen Daten Da5, die Eingabedaten Da5 von der
Dateneingabeeinheit 14 zur Datenausgabeeinheit 16 übertragen,
wie zuvor beschrieben. Die Eingabedaten Da5 werden ebenfalls in
der Dateneingabeeinheit 14 zurückgehalten. Die alten Daten
Db5, welche in den Speicherzellen gespeichert sind, in welche später die
neuen Daten Da5 geschrieben werden, werden vom Hauptspeicherfeld 2 ins
Unterspeicherfeld 4 übertragen,
ohne dass sie in der Datenausgabeeinheit 16 zu diesem Zeitpunkt gespeichert
werden. Dann werden Daten Da4 bis Da1 aus dem Hauptspeicherfeld 2 ausgelesen,
und Daten Db5 bis Db1 werden aus dem Unterspeicherfeld 4 ausgelesen,
wie bei den vorhergehenden Ausführungsformen.
-
Die
Abfolge der aus den Datenausgangsanschlüssen (DOUT) ausgegebenen Daten
ist demgemäß: zuerst
Da5, dann Da4 bis Da1, und dann Db5 bis Db1. Die fünfte Ausführungsform
liefert somit Daten für
fünf Pixel
des aktuellen Halbbildes und der entsprechenden fünf Pixel
des vorhergehenden Halbbildes.
-
Der
in 18 mit X markierte Pfeil bezeichnet das Nachladen
der Adresse Yj vom Adressregister 52 in die Abwärtszählschaltung 30.
Diese Operation wird durch die Zugriffs-Zählschaltung 50 wie
folgt gesteuert. In dem Taktzyklus, bei welchem das Spaltenadressen-Hinweissignal
CAS/ auf den Low-Pegel geht, initialisiert das interne Steuersignal
PST die Zugriffs-Zählschaltung 50 beispielsweise
auf dem Wert fünf.
Während
die Abwärtszählschaltung 30 fünf aufeinanderfolgende
Y-Adressen (Yj bis Yj-4) herunterzählt, zählt die Zugriffs-Zählschaltung 50 von
fünf auf null
herunter. Wenn der Zählwert
in der Zugriffs-Zählschaltung 50 null
erreicht, akti viert die Zugriffs-Zählschaltung 50 das
PAI-Steuersignal, und die im Adressregister 52 gehaltene
Adresse Yj wird erneut in die Abwärtszählschaltung 30 geladen.
Beim nächsten
Taktzyklus beginnt demgemäß das Adressregister 52 erneut
mit dem Herunterzählen
von Yj.
-
Auf
diese Weise kann die Abwärtszählschaltung 30 Y-Adressen
zum Auslesen von Daten sowohl aus dem Hauptspeicherfeld 2 als
auch aus dem Unterspeicherfeld 4 leicht erzeugen, ohne
eine zweite Adresseingabe zu benötigen.
Die Zugriffs-Zählschaltung 50 zählt während des
Auslesens von Daten aus dem Unterspeicherfeld 4 ebenfalls
von fünf
auf null herunter. Auf das Auslesen der Daten aus dem Unterspeicherfeld 4 folgend,
aktiviert die Zugriffs-Zählschaltung 50 erneut
das Steuersignal PAI, wodurch die Anfangsadresse (Yj) erneut in
die Abwärtszählschaltung 30 geladen
wird. Die neuen Eingabedaten Da5, die in der Latch-Schaltung 34 in
der Dateneingabeeinheit 14 gehalten werden, werden nun
zum Hauptspeicherfeld 2 übertragen und in die zuvor
von den Daten Db5 belegten Speicherzellen geschrieben.
-
Nach
diesem Burst-Zugriff wird das externe Steuersignal ADX/ zweimal
auf den Low-Pegel gesteuert, zuerst mit CS/ und RAS/, dann mit CS/,
CAS/ und WE/. Diese Befehle veranlassen den X-Adressgenerator 29,
die nächste
X-Adresse (Xi + 1) zu erzeugen, und veranlassen die Zugriffs-Zählschaltung 50,
die gleiche Y-Adresse (Yj) in die Abwärtszählschaltung 30 nachzuladen.
Der nächste
Burst gibt somit die Daten für
die fünf
Pixel aus, die sich eine Position rechts von Da5 bis Da1 und Db5
bis Db1 im aktuellen Halbbild und im vorhergehenden Halbbild befinden.
-
Weitere
Bursts können
auf die gleiche Weise ausgegeben werden, und zwar unter Verwendung des
Steuersignals ADX/ zur Erzeugung neuer Adressen. Pixeldaten für eine gesamte
Horizontalabtastzeile können
somit empfangen und in der Speichervorrichtung gespeichert werden,
begleitet von einer Burst-Ausgabe von für das Filtern benötigte Daten, wobei
lediglich eine X-Adresse und eine Y-Adresse am Anfang der Abtastzeile
vorgesehen sind.
-
18 illustriert auch einen der Vorteile der fünften Ausführungsform
gegenüber
einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher. Die Burstlänge in der
fünften
Ausführungsform
ist lediglich durch die Größe des Unterspeicherfeldes 4 (indirekt)
eingeschränkt,
hingegen ist die Burstlänge
bei einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher auf die spezifischen
Werte eins, zwei, vier und acht eingeschränkt. Nicht eingeschränkte Bursts
können
auch möglich sein,
aber dann ist eine externe Steuerung erforderlich, um den Burst
zu stoppen. Bei einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher wäre es schwierig, einen kontinuierlich
Burst aus zehn Daten, die aus fünf
aufeinanderfolgenden Adressen zweier jeweiliger Halbbildern ausgelesen werden,
zu erzielen.
-
Die
fünfte
Ausführungsform
stellt die Funktionen des Halbbildspeichers F1 und der Zeilenspeicher
L11 bis L24 bereit, die von der gestrichelten Linie in 9 umschlossen
sind. Der Funktionsumfang ist geringfügig größer als der durch die ersten
vier Ausführungsformen
gelieferte Funktionsumfang, insofern als eine Ausgabe von neuen
Daten Da5 ebenfalls eingeschlossen ist, jedoch ist diese Anordnung weniger
geeignet für
eine Kaskadenanordnung von Speichervorrichtungen. 19, in welcher nur die Speichervorrichtung F1
verwendet wird, sollte mit 8 verglichen
werden, bei welcher die Speichervorrichtung F1 in Kaskade mit der
Speichervorrichtung F2 angeordnet ist.
-
20 stellt den zeitlichen Verlauf des Steuersignals
PAI in der fünften
Ausführungsform
dar, unter der Voraussetzung, dass die Anfangs-Y-Adresse (Yj) in "0110" endet. Die Anzahl
von Spalten, auf die im Hauptspeicherfeld 2 zugegriffen
wird, ist nun als drei anstelle von fünf dargestellt. PAI ist bei
dem um den Zeitpunkt t2 zentrierten Taktzyklus auf dem High-Pegel,
um die Anfangsadresse Yj in die Abwärtszählschaltung 30 zu
laden, was bewirkt, dass "0110" auf den Adresssignalleitungen
YA3, YA2, YA1 und YA0 erscheint. Mit dem Abwärtszählen der Abwärtszählschaltung 30 ändern sich
die Adressausgabewerte auf Adressen, die zum Zeitpunkt t3 in "0101" enden und zum Zeitpunkt
t4 in "0100" enden. Bei dem auf
dem Zeitpunkt t5 zentrierten Taktzyklus steuert die Zugriffs-Zählschaltung 50 den
PAI erneut auf den High-Pegel, wodurch die gleiche Adresse (Yj) aus
dem Adressregister 52 in die Abwärtszählschaltung 30 geladen
wird, und der Wert "0110" erscheint erneut
auf den Adresssignalleitungen YA3, YA2, YA1 und YA0.
-
Die
fünfte
Ausführungsform
ist nicht auf den in 18 dargestellten Operationsmodus
eingeschränkt;
der Burst kann mit der Ausgabe der alten Daten Db5 anstelle der
neuen Daten Da5 beginnen, um eine Kaskadenanordnung von Speichervorrichtungen
zu erlauben. In diesem Fall ist die Eingabe der neuen Daten Da5
vorzugsweise so gesteuert, dass sie mit der ersten Ausgabe der alten
Daten Db5 übereinstimmt,
wie in der ersten Ausführungsform
erläutert.
-
Egal
ob der Burst mit der Ausgabe der neuen Daten Da5 oder der alten
Daten Db5 beginnt, ermöglicht
das Nachladen der Y-Adresse vom Adressregister 52 in die
Abwärtszählschaltung 30,
reagierend auf das ADX/-Steuersignal, dass die fünfte Ausführungsform eine gesamte Horizontalabtastzeile
von Pixeln empfängt
und speichert, und sie Bursts von zum Filtern erforderlichen Ausgabedaten
liefert, wobei dabei lediglich eine einzige Spaltenadresse eingegeben wird.
Dies ist ein Vorteil für
die Vorrichtung, die die fünfte
Ausführungsform
steuert, da die Steuervorrichtung die gleiche Spaltenadresse nicht
wiederholt zuführen
braucht.
-
Sechste Ausführungsform
-
Bezugnehmend
auf 21 ist die sechste Ausführungsform ähnlich der
fünften
Ausführungsform,
abgesehen von der Datenbuskonfiguration. Die Bauelemente der sechsten
Ausführungsform
sind mit den gleichen Bezugszeichen wie in der fünften Ausführungsform dargestellt. Die
folgende Beschreibung beschränkt
sich auf die Unterschiede gegenüber
der fünften
Ausführungsform.
-
In
der fünften
Ausführungsform
waren die Haupt- und Unterdatenbusse über einen Datenbusschalter 26 verbunden,
jedoch sind bei der sechsten Ausführungsform die Haupt- und Unterdatenbusse nicht
untereinander verbunden. Wie in der zweiten Ausführungsform sind sowohl die
Hauptdatenbusleitungen Dm und Dm/ als auch die Unterdatenbusleitungen
Ds und Ds/ unabhängig
mit dem Ausgabeverstärker 36 in
der Dateneusgabeeinheit 16 verbunden. Der Ausgabeverstärker 36 nimmt
somit die Funktion des Datenbusschalters 26 an, indem er
Daten vom Hauptdatenbus zum Unterdatenbus überträgt, und nimmt die Funktion
des Schreibverstärkers 28 an,
indem er die in das Unterspeicherfeld 4 geschriebenen Daten
verstärkt,
wie bei der zweiten Ausführungsform,
was ein Weglassen sowohl des Datenbusschalters 26 als auch
des Schreibverstärkers 28 ermöglicht.
-
Wie
in der zweiten Ausführungsform
sind die Hauptdatenbusleitungen Dm und Dm/ mit der Latch-Schaltung 34 in
der Dateneingabeeinheit 14 verbunden. Die Unterdatenbusleitungen
Ds und Ds/ sind nicht mit der Dateneingabeeinheit 14 verbunden.
-
Die
sechste Ausführungsform
arbeitet in der gleichen Weise wie die fünfte Ausführungsform, wobei durch das
Fehlen des Datenbusschalters 26 der elektrische Widerstand
der Transistoren im Datenbusschalter 26 verschwindet und
einen Zugriff auf das Unterspeicherfeld 4 mit höherer Geschwindigkeit ermöglicht wird.
Die elektrische Kapazität
eines jeden komplementären
Paares von Datenbusleitungen kann verringert werden, wie bei der
zweiten Ausführungsform.
Die sechste Ausführungsform
kann somit mit einer höheren
Taktrate als die fünfte
Ausführungsform
arbeiten, und das Eliminieren des Datenbusschalters 26 und
des Schreibverstärkers 28 vereinfacht
die Schaltungskonfiguration.
-
Siebte Ausführungsform
-
Bezugnehmend
auf 22 ist die siebte Ausführungsform ähnlich der
fünften
Ausführungsform,
abgesehen von der Spaltenadressbuskonfiguration. Elemente der siebten
Ausführungsform,
die in der fünften
Ausführungsform
vorhanden waren, sind mit den gleichen Bezugszeichen bezeichnet.
Die folgende Beschreibung beschränkt
sich auf die Unterschiede gegenüber
der fünften
Ausführungsform.
-
Bei
der fünften
Ausführungsform
war der niederwertige Adressbus 20 direkt mit dem Haupt-Y-Decoder 8 verbunden
und war über
einen Adressbusschalter 22 mit dem Unter-Y-Decoder 10 verbunden. In
der siebten Ausführungsform
ist der niederwertige Adressbus 20 verdoppelt, wobei ein
Satz der niederwertigen Adressleitungen 47 mit dem Haupt-Y-Decoder 8 verbunden
ist und ein Verdoppelungssatz der niederwertigen Adressleitungen 48 mit
dem Unter-Y-Decoder 10 verbunden ist. Der Adressbusschalter 22 und
die Adresshalte-Latch-Schaltungen 40 der fünften Ausführungsform
sind eliminiert.
-
Die
siebte Ausführungsform
arbeitet in der gleichen Weise wie die fünfte Ausführungsform, jedoch verschwindet
durch das Fehlen des Adressbusschalters 22 der elektrische
Widerstand der Transistoren im Adressbusschalter 22 und
erlaubt einen Zugriff mit höherer
Geschwindigkeit auf das Unterspeicherfeld 4. Zusätzlich kann
die elektrische Kapazität der
niederwertigen Adressbusleitungen verringert werden, was auch einen
Zugriff mit höherer
Geschwindigkeit ermöglicht.
Die siebte Ausführungsform
kann auf diese Weise mit einer höheren
Taktrate als die fünfte
Ausführungsform
arbeiten, und das Eliminieren des Adressbusschalters 22 und
der Adresshalte-Latch-Schaltungen 40 vereinfacht auch die Schaltungskonfiguration.
-
Achte Ausführungsform
-
Bezugnehmend
auf 23 verbindet die achte Ausführungsform
die Merkmale der sechsten und siebten Ausführungsform. Die Hauptdatenbusleitungen
Dm und Dm/ und die Unterdatenbusleitungen Ds und Ds/ sind separat
mit dem Ausgabeverstärker 36 in
der Datenausgabeeinheit 16 verbunden und separate niederwertige
Adressbusleitungen 47 und 48 sind für den Haupt-Y-Decoder 8 und
den Unter-Y-Decoder 10 vorgesehen.
Der Adressbusschalter 22, der Datenbusschalter 26,
der Schreibverstärker 28 und die
Adresshalte-Latch-Schaltungen 40 der fünften Ausführungsform sind alle eliminiert.
-
Die
achte Ausführungsform
stellt kombiniert die Vorteile der sechsten und der siebten Ausführungsform
bereit, hinsichtlich einer vereinfachten Schaltungskonfiguration
und einem Betrieb mit höherer
Geschwindigkeit.
-
Neunte Ausführungsform
-
Bezugnehmend
auf 24 ist die neunte Ausführungsform
eine Speichervorrichtung mit zwei Bänken, die als Bank A und Bank
B bezeichnet werden. Jede der zwei Bänke A und B hat eine ähnliche Konfiguration
wie die fünfte
Ausführungsform.
Es werden die gleichen Bezugszeichen wie in der fünften Ausführungsform
verwendet, wobei die Suffixe A und B die zwei Bänke unterschieden. Somit weist Bank
A ein Hauptspeicherfeld 2A, ein Unterspeicherfeld 4A,
einen X-Decoder 6A, einen Haupt-Y-Decoder 8A,
einen Unter-Y-Decoder 10A, einen Y-Adressgenerator 12A,
einen höherwertigen
Adressbus 18A, einen niederwertigen Adressbus 20A,
einen Adressbusschalter 22A, einen internen Datenbus 24A,
einen Datenbusschalter 26A, einen Schreibverstärker 28A und
eine Adresshalte-Latch-Schaltung 40A auf, hingegen weist
Bank B ein Hauptspeicherfeld 2B, ein Unterspeicherfeld 4B,
einen X-Decoder 6B, einen Haupt-Y-Decoder 8B,
einen Unter-Y-Decoder 10B, einen Y-Adressgenerator 12B, einen
höherwertigen Adressbus 18B,
einen niederwertigen Adressbus 20B, einen Adressbusschalter 22B,
einen internen Datenbus 24B, einen Datenbusschalter 26B,
einen Schreibverstärker 28B und
eine Adresshalte-Latch-Schaltung 40B auf.
Die zwei Datenbusse 24A und 24B sind beide über einen
Bankschalter 56 mit der Dateneingabeeinheit 14 und
der Datenausgabeeinheit 16 verbunden, die sich die beiden
Bänke A und
B gemeinsam teilen.
-
Die
detaillierte Schaltungskonfiguration einer jeden Bank ist in 17 dargestellt.
-
24 stellt ebenfalls einen Operationsmodus der
neunten Ausführungsform
dar. Die Hauptspeicherfelder der Bänke A und B halten gemeinsam eine
Menge an Pixeldaten, die äquivalent
ist zu einem einzigen Vollbild, das zwei aufeinanderfolgende Halbbilder
eines Bewegtbildes beinhaltet. Die Halbbilddaten werden zwischen
den beiden Bänken
auf einer Geradzahlig-/Ungeradzahlig-Basis aufgeteilt, die später noch
beschrieben wird. Die zwei Unterspeicherfelder halten Daten, die
um ein einziges Vollbild (zwei Halbbilder) bezüglich den Daten des Hauptspeicherfeldes
derselben Bank verzögert
sind.
-
In
diesem Operationsmodus ist ein Ausgabe-Burst in drei Teile unterteilt.
-
Zuerst
werden Daten aus dem Hauptspeicherfeld 2A ausgelesen, das
sich beispielsweise in Bank A befindet (Operation 1), während Daten
für ein einziges
Pixel zum Unterspeicherfeld 4A in Bank A übertragen
werden. Die zum Unterspeicherfeld 4A übertragenen Daten sind zwei
Halbbilder alt; die anderen Daten, die aus dem Hauptspeicherfeld 2A ausgelesen
wurden, gehören
zum aktuellen Halbbild.
-
Als
Nächstes
werden Pixeldaten, die ein einziges Halbbild als sind, aus dem Hauptspeicherfeld 2B in
Bank B ausgelesen (Operation 2a). Gleichzeitig werden Daten für ein einziges
neues Pixel des aktuellen Halbbildes in das Hauptspeicherfeld 2A in
Bank A geschrieben (Operation 2b), und zwar an der Stelle, aus der
Daten zum Unterspeicherfeld 4A in Operation übertragen
wurden.
-
Zum
Schluss werden Pixeldaten aus dem Unterspeicherfeld 4A in
Bank A ausgelesen (Operation 3). Diese Daten sind zwei Halbbilder
alt.
-
Das
erste im Burst ausgegebene Pixel kann entweder das an das Unterspeicherfeld 4a übertragene
alte Pixel sein oder das neue Pixel, das in das Hauptspeicherfeld 2a geschrieben
wurde, in Abhängigkeit
davon, ob die Speichervorrichtung in einer kaskadierten Konfiguration
verwendet wird oder nicht.
-
25 stellt einen Fall dar, bei welchem Daten für fünf Pixel
in jedem Teil des Burst ausgegeben werden. Zuerst werden Daten Da5
bis Da1, die zum neuesten Halbbild gehören, vom Hauptspeicherfeld 2A in
Bank A ausgegeben. (Daten Da5 werden tatsächlich durch eine direkte Übertragung
von der Dateneingabeeinheit 14 zur Datenausgabeeinheit 16 ausgegeben.)
Als Nächstes
werden Daten Db5 bis Db1, die zum direkt vorhergehenden Halbbild
gehören,
vom Hauptspeicherfeld 2B in Bank B ausgegeben. Zum Schluss
werden Daten Dc5 bis Dc1, die zum zweiten direkt vorhergehenden
Halbbild gehören,
vom Unterspeicherfeld 4A in Bank A ausgegeben. Wie 25 zeigt, ermöglicht
die neunte Ausführungsform,
dass eine einzige Speichervorrichtung die Funktionen von zwei Halbbildspeichern
(F1 und F2) und drei Sätzen
von Zeilenspeichern (L11 bis L34) ausführt, welche Daten von drei
aufeinanderfolgenden Halbbildern (Halbbilder a, b und c) bereitstellen.
-
Erneut
bezugnehmend auf 2, arbeitet ein digitales Filtern
für gewöhnlich mit
Pixeln in einer ungeraden Anzahl von Halbbildern, wobei dies das Halbbild,
in welchem ein gefilterter Pixelwert gerade erzeugt wird, und gerade
Anzahlen von vorhergehenden und darauffolgenden Halbbildern beinhaltet.
Die neunte Ausführungsform
ermöglicht
eine Filteroperation, welche ein gefiltertes Pixel im Halbbild Fm
erzeugt, und zwar durch Operationen mit Daten, die sich beispielsweise
in den drei Halbbildern Fm, Fm – 1
und Fm + 1 befinden, um mit einer einzigen Speichervorrichtung implementiert
zu werden, wobei die Halbbilder Fm + 1, Fm und Fm – 1 den
Halbbildern a, b und c in 25 entsprechen.
-
In
einer kaskadierten Konfiguration ermöglicht die neunte Ausführungsform
auch eine Filteroperation, die ein gefiltertes Pixel im Halbbild
Fm erzeugt, und zwar durch Operationen mit Daten in den fünf Halbbildern
Fm, Fm – 1,
Fm – 2,
Fm + 1 und Fm + 2, die mit lediglich zwei Speichervorrichtungen
zu implementieren sind. Eine erste Speichervorrichtung empfängt neue
Pixeldaten Da5 in 25 und gibt gleichzeitig alte
Pixeldaten Dc5 aus, begleitet von einem Burst von weiteren Pixeldaten
aus den Halbbildern a, b und c (die Pixeldaten Dc5 können doppelt ausgegeben
werden). Eine zweite Speichervorrichtung empfängt die Daten für ein Pixel
Dc5 von der ersten Speichervorrichtung und gibt einen Burst von Pixeldaten
von den Halbbildern c, d und e aus. Die Halbbilder a, b, c, d und
e entsprechen den Halbbildern Fm + 2, Fm + 1, Fm, Fm – 1 bzw.
Fm – 2.
In diesem Fall können
zwei Speichervorrichtungen vom erfindungsgemäßen Typ vier herkömmliche
Halbbildspeicher und fünf
herkömmliche
Sätze von
Zeilenspeichern ersetzen.
-
26 bis 29 stellen
ein bevorzugtes Schema zum Speichern von Halbbilddaten in der neunten
Ausführungsform
dar.
-
In 26 speichert Bank A Daten für Pixel mit ungeradzahligen
X-Adressen (Reihenadressen) im Halbbild a (dem neuesten Halbbild)
und Daten für Pixel
mit gerad zahligen X-Adressen im Halbbild b (dem vorhergehenden Halbbild).
Bank B speichert Daten für
Pixel mit geradzahligen X-Adressen im Halbbild a und ungeradzahlige
X-Adressen im Halbbild b. Die Unterspeicherfelder halten entsprechende Daten
für die
Halbbilder c und d. Die Ziffern 1, 2 und 3 bezeichnen die Operationen
eines Auslesens von Daten für
drei Pixel in einer Reihe mit einer ungeradzahligen X-Adresse im
Halbbild a (1), eines Auslesens von Daten für drei entsprechende Pixel
in der gleichen Reihe im Halbbild b (2), und eines Auslesens von
Daten für
drei entsprechende Pixel in der gleichen Reihe in Halbbild c (3).
Diese Operationen werden durchgeführt, wenn ein neues Pixel mit
einer ungeradzahligen X-Adresse empfangen wird und in Bank A an
der durch den dunklen Punkt bezeichneten Stelle gespeichert wird.
-
Das
nächste
neu zu empfangende Pixel hat eine geradzahlige Reihen-(X)-Adresse.
Dieses Pixel wird an der durch den dunklen Punkt in 27 bezeichneten Stelle gespeichert, während Daten
für drei
Pixel mit dieser geradzahligen X-Adresse aus Halbbild a (4), dann
aus Halbbild b (5) und dann aus Halbbild c (6) ausgelesen werden.
-
Diese
Operationen werden fortgeführt,
wobei neue Pixel abwechselnd in Bank A und Bank B gespeichert werden,
bis alle Pixel im Halbbild a empfangen wurden.
-
Bezugnehmend
auf 28, werden im nächsten Halbbild
(Halbbild z) Daten für
Pixel mit geradzahligen X-Adressen in Bank A gespeichert und Daten
für Pixel
mit ungeradzahligen X-Adressen werden in Bank B gespeichert, wobei
in beiden Fällen
die Daten des Halbbildes b überschrieben
werden, während
die Daten von Halbbild a intakt bleiben. Der dunkle Punkt bezeichnet
die Stelle, an welcher Daten für
einen neuen Pixel mit einer ungeradzahligen X-Adresse in Bank A
gespeichert werden. Die Ziffern 1, 2 und 3 bezeichnen die Operationen
eines Auslesens von Daten für
drei Pixel mit dieser geradzahligen X-Adresse im Halbbild z (1),
eines Auslesens von Daten für
drei entsprechende Pixel in der gleichen Reihe im Halbbild a (2),
und eines Auslesens von Daten für
drei entsprechende Pixel in der gleichen Reihe in Halbbild b (3).
-
In 29 bezeichnet der dunkle Punkt die Stelle, bei
welcher Daten für
das nächste
neue Pixel, das eine ungeradzahlige X-Adresse hat, in Bank B abgespeichert
werden.
-
Die
Ziffern 4, 5 und 6 bezeichnen die Operationen eines Auslesens von
Daten für
drei Pixel mit dieser ungeradzahligen X-Adresse im Halbbild z (4), eines
Auslesens von Daten für
drei entsprechende Pixel in der gleichen Reihe im Halbbild a (5),
und eines Auslesens von Daten für
drei entsprechende Pixel in der gleichen Reihe in Halbbild b (6).
-
In
den 26 bis 29 wurden
geradzahlige und ungeradzahlige Reihen aus Gründen einer besseren Sichtbarkeit
getrennt dargestellt, jedoch können
diese Reihen selbstverständlich
verschachtelt angeordnet sein.
-
Nachfolgend
werden einige Operationsmodi der neunten Ausführungsform beschrieben. In
den ersten zwei zu beschreibenden Modi wird das in den 26 bis 29 umrissene
Schema verwendet, um die Pixeldaten von drei aufeinanderfolgenden Halbbildern,
wie dargestellt in 30, in einem einzigen Burst
auszugeben.
-
31 stellt einen Operationsmodus dar, der sich
für eine
kaskadierte Speicherkonfiguration eignet.
-
Zum
Zeitpunkt t1, bei dem CS/ und RAS/ auf dem Low-Pegel sind, wird
eine ungeradzahlige X-Adresse (Xi) gespeichert und decodiert und
die entsprechende Wortleitung (WLi) in Bank A wird durch den X-Decoder 6A angesteuert.
Der Bankbusschalter 56 wird so eingestellt, dass er Bank
A mit der Ausgabeeinheit 16 verbindet.
-
Zum
Zeitpunkt t2, bei dem CS/ und CAS/ auf dem Low-Pegel sind, wird
eine Y-Adresse (Yj)
empfangen und in den Adressregistern 52 in den Y-Adressgeneratoren 12A und 12B in
beiden Bänken A
und B gespeichert. In Bank A wird eine Adresse Yj in die Abwärtszählschaltung 30 geladen,
die Haupt- und Unter-Y-Decoder 8A und 10A werden
ihrerseits aktiviert und der Adressbusschalter 22A wird
gesteuert, wie beschrieben in der ersten Ausführungsform, um alte Daten Dcj
vom Hauptspeicherfeld 2A an das Unterspeicherfeld 4A und
zur Datenausgabeeinheit 16 zu übertragen. In Bank B beginnt
bei diesem Punkt ein Vorladen der Wortleitungen und ein Initialisieren
(Vorladen und Ausgleichen) der Bitleitungen und Datenbusleitungen.
-
Zum
Zeitpunkt t3, bei dem sich CS/ und WE/ auf dem Low-Pegel befinden,
werden neue Daten Daj für
die Pixel mit der Reihenadresse Xi und der Spaltenadresse Yj empfangen
und in der Dateneingabeeinheit 14 gespeichert. Zur gleichen
Zeit gibt die Datenausgabeeinheit 16 die alten Daten Dcj
mit der gleichen Reihen-Spalten-Adresse
aus. In der Zwischenzeit führt
die Abwärtszählschaltung 30 im Y-Adressgenerator 12a ein
Dekrementieren durch, Daten Daj-1 und Daten Daj-2 werden vom Hauptspeicherfeld 2A in
Bank A zur Datenausgabeeinheit 16 übertragen und die Wortleitung
WLi wurde in Bank B aktiviert.
-
Wenn
die Übertragung
von Daten Daj-2 vom Hauptspeicherfeld 2A zur Datenausgabeeinheit 16 abgeschlossen
ist, wird der Bankbusschalter 56 umgeschaltet, um Bank
B mit der Ausgabeeinheit 16 und Bank A mit der Eingabeeinheit 14 zu
verbinden. Nun beginnt ein Übertragen
von Daten Dbj, Dbj-1 und Dbj-2 vom Hauptspeicherfeld 2b in
Bank B zur Datenausgabeeinheit 16, wobei die Abwärtszählschaltung 30 im
Y-Adressgenerator 12B die erforderlichen Spaltenadressen
erzeugt.
-
Eine
Burst-Ausgabe von Daten wird, wie dargestellt, vom Zeitpunkt t3
bis zum Zeitpunkt t4 fortgesetzt, wobei die Ausgabedaten zuerst
von Bank A (Halbbild a), dann von Bank B (Halbbild b) kommen. Während Daten
gerade vom Hauptspeicherfeld 2B in Bank B ausgelesen werden,
wird die Adresse Yj wieder in die Abwärtszählschaltung 30 im
Y-Adressgenerator 12a geladen und die neuen Daten Daj werden
in das Hauptspeicherfeld 2A in Bank A geschrieben. Sobald
die Übertragung
von Daten von Bank B zur Datenausgabeeinheit 16 abgeschlossen
ist, erfolgt erneut ein Vorladen und Initialisieren von Bank B.
Eine Übertragung
von Daten vom Unterspeicherfeld 4A in Bank A zur Datenausgabeeinheit 16 beginnt
auch während
dieses Intervalls, wobei der Bankbusschalter 56 nun erneut
Bank A mit der Ausgabeeinheit 16 verbindet und die Abwärtszählschaltung 30 den
Y-Adressgenerator 12 erneut
von Yj auf Yj-2 herunterzählt.
-
Zum
Zeitpunkt t4 wird die nächste
X-Adresse (Xi + 1) zugeführt.
Dies ist eine geradzahlige Reihenadresse, daher wird die entsprechende
Wortleitung (WLi + 1) in Bank B aktiviert. Gleichzeitig gibt die
Datenausgabeeinheit 16 Daten Dcj aus, während Daten Dcj-2 vom Unterspeicherfeld 4A in
Bank A zur Datenausgabeeinheit 16 übertragen werden.
-
Zum
Zeitpunkt t5 endet der erste Burst mit der Ausgabe von Daten Dcj-2
von der Datenausgabeeinheit 16. Gleichzeitig sind CS/,
CAS/ und ADX/ auf den Low-Pegel gesteuert, was bewirkt, dass die Spaltenadresse
Yj von den Adressregisters 52 wieder in die Abwärtszählschaltungen 30 in
den Y-Adressgeneratoren 12A und 12b in beiden
Banken geladen wird. Eine Initialisierung (Vorladen und Ausgleichen)
der Wortleitungen, Bitleitungen und Datenbusleitungen in Bank A
beginnt zu diesem Zeitpunkt.
-
Zum
Zeitpunkt t6 beginnt der zweite Burst mit der Ausgabe von Daten,
die vom Hauptspeicherfeld 2B in Bank B gelesen wurden,
und mit der Eingabe von neuen Daten, die in das Hauptspeicherfeld 2B in Bank
B geschrieben werden. Der zweite Burst wird in der gleichen Weise
wie der erste Burst ausgeführt, wobei
die Rollen der Bänke
A und B vertauscht sind.
-
Zum
Zeitpunkt t7 wird eine weitere neue X-Adresse (Xi + 2) empfangen
und der zweite Burst wird von einem dritten Burst gefolgt, welcher
in der gleichen Weise wie der erste Burst ausgeführt wird, und zwar unter Verwendung
des ADX/-Signals,
um die gleiche Spaltenadresse nachzuladen.
-
Wie 31 zeigt, erlaubt ein Verschachteln des Zugriffs
zwischen Bänken
A und B, dass ein Burst auf den anderen mit geringer Verzögerung folgt,
wobei das Vor laden der einen Bank hinter dem Auslesen von Daten
auf der anderen Bank verborgen wird. Das Schreiben von neuen Eingabedaten
in jede Bank wird ebenfalls hinter dem Auslesen von Daten auf der
anderen Bank verborgen, was eine äußerst effiziente Operation
ermöglicht.
-
Eine
gleichzeitige Eingabe und Ausgabe von Daten, welche die gleichen
X- und Y-Adressen
haben, impliziert, dass, wenn zwei Speichervorrichtungen in Kaskade
angeordnet werden, beide die gleichen Adresssignale und Steuersignale
(CS/, RAS/, CAS/, WE/ und ADX/) empfangen können und beide Ausgabedaten
mit dem gleichen Zeitverlauf liefern können. Dies vereinfacht stark
die Gestaltung eines kaskadierten Speichersystems.
-
Die
X-Adressen in 31 wurden alle extern erzeugt,
jedoch kann die neunte Ausführungsform auch
in dem in der fünften
Ausführungsform
beschriebenen Modus arbeiten, bei dem neue X-Adressen automatisch
reagierend auf CS/, RAS/ und ADX/ erzeugt wurden.
-
32 stellt eine ähnliche Serie von Bursts dar,
die sich zur Verwendung in einer nicht kaskadierten Speicherkonfiguration
eignen. Die Funktionsweise in diesem Modus ist fast die gleiche
wie in 31, abgesehen davon, dass die
Eingabe von neuen Daten (Daj) zwei Zyklen früher auftritt, was ermöglicht, dass
die neuen Daten von der Dateneingabeeinheit 14 zu Datenausgabeeinheit 16 übertragen
werden und als erste Daten des Burst ausgegeben werden. In diesem
Modus liefert die neunte Ausführungsform Daten
für drei
Pixel aus einem jeden von drei Halbbildern, wobei keine duplizierte
Ausgabe erfolgt. Eine detaillierte Beschreibung entfällt.
-
Die
vorhergehenden Operationsmodi der neunten Ausführungsform sind bei digitalen
Filteroperationen von Nutzen, bei denen eine Halbbild-Verzögerung benötigt wird,
jedoch kann die neunte Ausführungsform
auch vorteilhaft bei Operationen, wie beispielsweise einer Bewegungsabschätzung, verwendet
werden, bei welcher eine Vollbild-Verzögerung erforderlich ist. Bezugnehmend
auf 33 erfordern derartige Operationen
einen Burst von Daten von den Halbbildern a und c, ohne dass Daten
vom dazwischen liegenden Halbbild b erforderlich ist.
-
34 stellt die Ausgabe dieses Burst-Typs in einem
kaskadierten Modus dar. Im ersten Burst, der durch die Eingabe einer
X-Adresse zum Zeitpunkt t1 eingeleitet wird, werden Daten von Halbbildern
a und c ausgegeben, wobei Daten Dcj doppelt ausgegeben werden, das
erste Mal synchronisiert mit der Eingabe von neuen Daj. Lediglich
eine einzige Bank, z. B. Bank A, wird für diesen Burst verwendet. Die
andere Bank (Bank B) wird während
des ersten Burst, im Intervall zwischen den Zeitpunkten t3 und t4,
vorgeladen. Eine Eingabe von Befehlen und Daten für den zweiten
Burst, der Bank B verwendet, erfolgt zu den Zeitpunkten t4, t5 und
t6, was ermöglicht,
dass der zweite Burst auf dem ersten Burst ohne irgendeine Unterbrechung
folgt. Die Adressen für
den zweiten Burst werden durch das ADX/-Signal erzeugt, wie in der
fünften
Ausführungsform
erläutert. Während des
zweiten Burst werden die neuen Daten Daj in das Hauptspeicherfeld 2A in
Bank A als Hintergrundoperation geschrieben und dann wird Bank A vorgeladen.
-
35 stellt einen ähnlichen nicht kaskadierten
Operationsmodus der neunten Ausführungsform
dar. Der Zeitverlauf ist der gleiche wie in 34, abgesehen
davon, dass die Eingabe von neuen Daten (Daj) zwei Taktzyklen früher erfolgt,
was ermöglicht,
dass die neuen Eingabedaten der Dateneingabeeinheit 14 zur
Datenausgabeeinheit 16 übertragen werden
und als erste Daten des Burst ausgegeben werden. Jeder Burst umfasst
fünf Pixel
von jedem der zwei Halbbilder, wobei es zwischen den zwei Halbbildern
eine Verzögerung
um ein Vollbild gibt.
-
Bei
einigen Bildverarbeitungsoperationen werden unterschiedliche Datenmengen
aus unterschiedlichen Halbbildern benötigt. 36 zeigt
einen Fall, bei dem fünf
Pixel von Halbbild a, drei Pixel von Halbbild b und fünf von Halbbild
c benötigt
werden. Da die neunte Ausführungsform
separate Y-Adressgeneratoren 12A und 12B für die Banken
A und B aufweist, kann dieser Anforderung leicht genügt werden,
indem die Abwärtszählschaltungen
und Y-Adressdecoder in den Banken A und B auf unterschiedliche Arten
gesteuert werden.
-
37 stellt die Ausgabe dieses Typs von Burst in
einem nicht kaskadierten Modus dar. Der Burst umfasst Daten für fünf Pixel
(Daj bis Daj-4) von Halbbild a, drei Pixel (Dbj bis Dbj-2) von Halbbild
b und fünf
Pixel (Dcj bis Dcj-4) von Halbbild c. Bursts dieses Typs werden
bei Intervallen von 14 Taktzyklen wiederholt, wobei dies zu Intervallen
zwischen der Ankunft von neun Pixeln äquivalent ist, was durch den
Buchstaben T bezeichnet ist.
-
Weitere
Details dieses Operationstyps werden in späteren Ausführungsformen in Erscheinung treten.
-
Zehnte Ausführungsform
-
Bezugnehmend
auf 38, ist die zehnte Ausführungsform ähnlich zur
neunten Ausführungsform,
abgesehen davon, dass jede Bank separate Datenbusleitungen für die Haupt-
und Unterspeicherfelder aufweist, wie in der siebten Ausführungsform. Bank
A weist einen Hauptdatenbus 58A und einen Unterdatenbus 60A auf.
Bank B weist einen Hauptdatenbus 58B und einen Unterdatenbus 60B auf.
Die Hauptdatenbusse 58A und 58B sind über den
Bankbusschalter 56 mit der Dateneingabeeinheit 14 und der
Datenausgabeeinheit 16 verbunden. Die Unterdatenbusse 60A und 60B sind über den
Bankbusschalter 56 mit der Datenausgabeeinheit 16 verbunden.
-
Weitere
Elemente in 38 entsprechen denen in 24 und sind mit den gleichen Bezugszeichen bezeichnet.
-
Dadurch,
dass separate Haupt- und Unterdatenbusse vorhanden sind, wird ermöglicht,
dass die Datenbusschalter 26A und 26B und die
Schreibverstärker 28A und 28B der
neunten Ausführungsform
eliminiert werden, was die Schaltungskonfiguration vereinfacht.
Zusätzlich
können
der elektrische Widerstand und die Kapazität der Datenbusleitungen verringert
werden, wie in der sechsten Ausführungsform
beschrieben, was zu einem Betrieb mit höherer Geschwindigkeit führt.
-
Elfte Ausführungsform
-
Bezugnehmend
auf 39, ist die elfte Ausführungsform ähnlich zur
neunten Ausführungsform, abgesehen
davon, dass diese Bank separate Adressbusleitungen für die Haupt-
und Unterspeicherfelder aufweist, wie in der siebten Ausführungsform.
Bank A weist Haupt-Niederwert-Adressleitungen 47A und Unter-Niederwert-Adressleitungen 48A auf.
Bank B weist Haupt-Niederwert-Adressleitungen 47B und Unter-Niederwert-Adressleitungen 48B auf. Die übrigen Elemente
in 39 sind die gleichen wie in 34 und sind daher mit den gleichen Bezugszeichen
bezeichnet.
-
Das
Vorhandensein von Haupt- und Unteradressbussen ermöglicht,
dass die Adressbusschalter und Adresshalte-Latch-Schaltungen der
neuen Ausführungsform
eliminiert werden können,
was die Schaltungskonfiguration vereinfacht. Außerdem kann der elektrische
Widerstand und die Kapazität der
Adressbusleitungen verringert werden, wie in der siebten Ausführungsform
beschrieben, was zu einem Betrieb mit höherer Geschwindigkeit führt.
-
Zwölfte Ausführungsform
-
Bezugnehmend
auf 40 kombiniert die zwölfte Ausführungsform
die Merkmale der zehnten und elften Ausführungsform. Separate Hauptdatenbusse 58A und 58A und
Unterdatenbusse 60A und 60B sind vorgesehen, und
separate Haupt-Niederwert-Adressleitungen 47A und 47B und
Unter-Niederwert-Adressleitungen 48A und 48B sind
vorgesehen. Die Busschalter 22A, 22B, 26A und 26B,
die Schreibverstärker 28A und 28B und
die Adresshalte-Latch-Schaltungen 40A und 40B der
neunten Ausführungsform
sind alle eliminiert.
-
Die
zwölfte
Ausführungsform
liefert kombiniert die Vorteile der zehnten und elften Ausführungsform
im Hinblick auf eine vereinfachte Schaltungskonfiguration und einen
Betrieb mit höherer
Geschwindigkeit.
-
Dreizehnte
Ausführungsform
-
Bezugnehmend
auf 14 ist die dreizehnte Ausführungsform ähnlich zur
elften Ausführungsform,
jedoch sind die Datenbusse 24A und 24B nicht in
Haupt- und Unterteilstücke
unterteilt und weisen keine Schreibverstärker auf. Die Busschalter 26A und 26B und
die Schreibverstärker 28A und 28B in der
elften Ausführungsform
sind somit eliminiert.
-
Als
neues Element weist die dreizehnte Ausführungsform ein Transferregister 62 auf,
das mit dem Bankbusschalter 56 verbunden ist. Das Transferregister 62 speichert
vorübergehend
die Daten, welche vom Hauptspeicherfeld zum Unterspeicherfeld in
einer einzigen Bank übertragen
werden, so dass die Daten als Hintergrundoperation in das Unterspeicherfeld
geschrieben werden können,
während
ein Zugriff auf die andere Bank erfolgt.
-
Die übrigen Elemente,
wie dargestellt in 39, sind mit den gleichen Bezugszeichen
bezeichnet. Die Zusammenschaltung von Dateneingabeeinheit 14 und
Datenausgabeeinheit 16 ist explizit in 41 dargestellt.
-
Als
Nächstes
wird mit Bezug auf die 42 bis 47 die
Funktionsweise der dreizehnten Ausführungsform im nicht kaskadierten
Halbbild-Verzögerungsmodus
beschrieben. Die Zeitverlauf-Beziehungen der Eingabe- und Ausgabedaten
und der Steuersignale sind die gleichen wie beim entsprechenden
Modus der neunten Ausführungsform,
so dass in der Beschreibung ebenfalls Bezug genommen werden wird
auf die in 32 dargestellten Zeitverläufe und
Datenwerte.
-
Folgend
auf die Eingabe der X- und Y-Adressen Xi und Yj, wie dargestellt
in 32 (Zeitpunkte t1 und t2), werden die Wortleitungen
WLai und WLbi in 42 in den Bänken A und B aktiviert, und
zwar zu den in der neunten Ausführungsform
beschriebenen Zeitverläufen,
und der Bankbusschalter 56 wird so eingestellt, dass die
Datenausgabeeinheit 16 und das Transferregister 62 beide
mit dem Datenbus 24A der Bank A verbunden sind. Die alten
Daten Dcj, die bei dieser X-Y-Adresse (Xi – Yj) im Hauptspeicherfeld 2A der
Bank A gespeichert sind, werden über
den Datenbus 24A und den Bankbusschalter 56 in
das Transferregister 62 übertragen, wie mit Pfeilen
in 42 angegeben, und die neuen Eingabedaten Daj werden
von der Dateneingabeeinheit 14 zur Datenausgabeeinheit 16 übertragen.
Daten Daj werden von der Datenausgabeeinheit 16 mit einer
Lese-Latenzzeit von zwei Taktzyklen zu einem Zeitpunkt t3 in 32 ausgegeben.
-
Bezugnehmend
auf 43, werden, folgend auf die
Daten Dcj, die Daten Daj-1 und Daj-2 vom Hauptspeicherfeld 2A über den
Datenbus 24A und den Bankbusschalter 56 zur Datenausgabeeinheit 16 übertragen
und von der Datenausgabeeinheit 16 in den nächsten zwei
Taktzyklen nach dem Zeitpunkt t3 ausgegeben. Die Daten Daj und Dcj
verbleiben in der Dateneingabeeinheit 14 bzw. dem Transferregister 62.
-
Bezugnehmend
auf 44 wird, folgend auf die Übertragung
der Daten Daj-2 aus dem Hauptspeicherfeld 2A in Bank A
an die Datenausgabeeinheit 16, die Einstellung des Bankbusschalters 56 so
verändert,
dass die Dateneingabeeinheit 14 mit dem Datenbus 24A der
Bank A verbunden wird, während
die Datenausgabeeinheit 16 mit dem Datenbus 24B der Bank
B verbunden wird. Beide Y-Adressgeneratoren 12A und 12B erzeugen
nun eine Spaltenadresse Yj. Die neuen Eingabedaten Daj werden von
der Dateneingabeeinheit 14 über den Bankbusschalter 56 und den
Datenbus 24A an das Hauptspeicherfeld 2A in Bank
A übertragen
und in die Speicherzellen geschrieben, die zuvor von den Daten Dcj
belegt wurden. Zu im Wesentlichen der gleichen Zeit werden Daten
Dbj vom Hauptspeicherfeld 2B in der Bank B über den
Datenbus 24B und den Bankbusschalter 56 zur Datenausgabeeinheit 16 übertragen
und folgend auf die Daten Daj-2 ausgegeben.
-
Als
Nächstes
kann, bezugnehmend auf 45,
der Y-Adressgenerator 12A in Bank A eine beliebige passende
Spaltenadresse erzeugen, während
der Y-Adressgenerator 12B in
Bank B zu den Adressen Yj-1 und Yj-2 herunterzählt. In diesen Taktzyklen werden
die im Transferregister 62 gehaltenen Daten Dcj über den
Bankbusschalter 56 und den Datenbus 24A zum Unterspeicherfeld 4A in
Bank A übertragen
und in die Speicherzellen in die durch den Y-Adressgenerator 12A bezeichneten
Spalte geschrieben, während
Daten Dbj-1 und Dbj-2 vom Hauptspeicherfeld 2B in Bank
B über
den Datenbus 24B und den Bankbusschalter 56 zur
Datenausgabeeinheit 16 übertragen
werden. Diese Daten werden von der Datenausgabeeinheit 16 folgend
auf die Daten Dbj ausgegeben.
-
Bezugnehmend
auf 46 sind die nächsten Daten,
die zur Datenausgabeeinheit 16 übertragen und von dieser ausgegeben
werden sollen, die im Transferregister 62 gehaltenen Daten
Dcj. Die Daten Dcj werden von der Datenausgabeeinheit 16 zum Zeitpunkt
t4 in 32 ausgegeben.
-
Bezugnehmend
auf 47 wird der Bankbusschalter 56 nun
erneut umgeschaltet, um die Datenausgabeeinheit 16 mit
dem Datenbus 24A in Bank A zu verbinden, und der Y-Adressgenerator 12A erzeugt
zwei weitere Spaltenadressen. Die Daten Dcj-1 und Dcj-2 werden vom
Unterspeicherfeld 4A in Bank A über den Datenbus 24A und
den Bankbusschalter 56 zur Datenausgabeeinheit 16 übertragen
und folgend auf die Daten Dcj ausgegeben, wodurch der erste Burst
in 32 abgeschlossen wird.
-
Der
nächste
Burst wird auf die gleiche Weise durchgeführt, wobei die Rollen der Banken
A und B vertauscht sind.
-
Die
dreizehnte Ausführungsform
kann ebenfalls in einem kaskadierten Modus arbeiten, wie in 31 dargestellt. Interne Operationen sind in den 42 bis 47 beschrieben,
abgesehen davon, dass die neuen Daten Daj nicht von der Dateneingabeeinheit 14 zur
Datenausgabeeinheit 16 übertragen werden.
Stattdessen werden die alten Daten Dcj zur Datenausgabeeinheit 16 übertragen
und zu Beginn des Burst ausgegeben, wobei der zeitliche Ablauf der Eingabe
von neuen Daten Daj so festgelegt ist, dass er mit der Ausgabe der
alten Daten Dcj übereinstimmt,
wie in 48 dargestellt.
-
Auch
wenn die Eingabe- und Ausgabesequenzen sowie die Zeitverläufe der
externen Daten in der dreizehnten Ausführungsform die gleichen sind wie
bei der neunten Ausführungsform,
verringert das Transferregister 62 die Anforderungen für interne Operationen
auf mehrere Arten. Wie in 45 dargestellt,
erfolgt das Schreiben von Daten Dcj vom Transferregister 62 in
das Unterspeicherfeld 4A im Hintergrund während der Übertragung
von Daten Dbj-1 und Dbj-2 vom Hauptspeicherfeld 2B zur
Datenausgabeeinheit 16, wodurch ein zusätzlicher zeitlicher Spielraum
für die
Verstärkung
der Daten Dcj auf den Bitleitungen im Unterspeicherfeld 4A geliefert
wird. Da weiter die Daten Dcj aus dem Hauptspeicherfeld 2A in
das Unterspeicherfeld 4A in separaten Operationen übertragen
werden, braucht kein Nachladen der Abwärtszählschaltung 30 im
Y-Adressgenerator 12A stattzufinden, wenn der Zugriff auf
das Unterspeicherfeld 4A beginnt, sondern kann einfach damit
fortfahren, von seiner aktuellen Adresse weiter herunterzuzählen. Während des
gesamten Burst braucht die Abwärtszählschaltung 30 im
Y-Adressgenerator 12A lediglich einmal nachgeladen zu werden, bevor
das Schreiben von Daten Daj in das Hauptspeicherfeld 2A erfolgt,
anstatt zweimal, wie bei der neunten Ausführungsform.
-
In
der vorhergehenden Beschreibung fand das Schreiben von Daten Daj
in das Hauptspeicherfeld 2A vor dem Schreiben von Daten
Dcj in das Unterspeicherfeld 4A statt, jedoch kann die
Reihenfolge dieser zwei Operationen vertauscht werden.
-
Als
Variation der dreizehnten Ausführungsform
kann, da Daten bei beliebig gewählten
Adressen in den Unterspeicherfeldern 4A und 4B gespeichert werden
können
und da die Datenbusse 24A und 24B nicht in Haupt-
und Unterteilstücke
unterteilt sind, die Erfindung mit einem einzigen Speicherfeld,
einem einzigen Y-Decoder
und einem einzigen Y-Adressbus in jeder Bank ausgeführt sein,
wobei ein Teilstück des
einzelnen Speicherfeldes in jeder Bank zur Verwendung als Unterteilstück reserviert
ist, in welches Daten, bei denen gerade ein Überschreiben erfolgen soll,
vom anderen (Haupt)-Teilstück
desselben Feldes übertragen
werden.
-
Als
Nächstes
werden fünf
weitere Ausführungsformen
mit Bezug auf die dreizehnte Ausführungsform beschrieben, wobei
für äquivalente
Elemente die gleichen Bezugszeichen wie in 41 verwendet
werden.
-
Vierzehnte
Ausführungsform
-
Bezugnehmend
auf 49 weist die vierzehnte Ausführungsform
ein Eingabedatenregister 64 auf, das zwischen die Dateneingabeeinheit 14 und den
Bankbusschalter 56 geschaltet ist. Die Eingabedaten werden
von der Dateneingabeeinheit 14 zum Eingabedatenregister 64 übertragen
und dann im Eingabedatenregister 64 gehalten, während sie
darauf warten, in einen der Hauptspeicherfelder geschrieben zu werden.
-
Abgesehen
von diesem Unterschied arbeitet die vierzehnte Ausführungsform
in der gleichen Weise wie die dreizehnte Ausführungsform, so dass eine detaillierte
Beschreibung enthält.
-
Das
Eingabedatenregister 64 erlaubt einen zusätzlichen
Freiheitsgrad beim Zeitverlauf der internen Operationen der Speichervorrichtung.
Ein weiterer Vorteil liegt darin, dass die Eingabedaten näher an den
Speicherfeldern gespeichert werden können, da ein beträchtlicher
Abstand, in Bezug auf Signalleitungslänge und Signalausbreitungszeit,
zwischen der Dateneingabeeinheit 14 und dem Bankbusschalter 56 vorhanden
sein kann.
-
Fünfzehnte
Ausführungsform
-
Bezugnehmend
auf 50 ist die fünfzehnte Ausführungsform
identisch zur dreizehnten Ausführungsform,
abgesehen davon, dass anstelle eines einzelnen Transferregisters 62 separate
Transferregister 62A und 62B mit den Datenbussen 24A und 24B in
den Bänken
A und B verbunden sind. Diese Anordnung ermöglicht, dass Daten vom Hauptspeicherfeld
zum Transferregister in jeder Bank und vom Transferregister zum
Unterspeicher in jeder Bank übertragen
werden können,
ohne den Bankbusschalter 56 zu durchlaufen, so dass die Übertragung
nicht den elektrischen Widerstand des Bankbusschalters 56 zu überwinden
braucht.
-
Sechzehnte
Ausführungsform
-
Bezugnehmend
auf 51 kombiniert die sechzehnte
Ausführungsform
die Merkmale der vierzehnten und fünfzehnten Ausführungsform,
wobei sie ein Eingabedatenregister 64 wie bei der vierzehnten
Ausführungsform
und separate Transferregister 62A und 62B wie
bei der fünfzehnten
Ausführungsform
aufweist. Die Vorteile dieser Anordnung sind wie zuvor beschrieben.
-
Siebzehnte
Ausführungsform
-
Bezugnehmend
auf 52 verwendet die siebzehnte
Ausführungsform
einen einzigen Vollduplex-Datenbus 66 für beide Bänke A und B, wodurch der Bankbusschalter 56 der
dreizehnten Ausführungsform
eliminiert wird. Ein Vollduplex-Datenbus ist ein Datenbus, der Daten
in Lese- und Schreibrichtung gleichzeitig ohne Kollision befördern kann.
Der Datenbus 66 ist direkt mit der Dateneingabeeinheit 14,
der Datenausgabeeinheit 16 und dem Transferregister 62 verbunden.
-
Die übrigen Elemente
sind wie in der dreizehnten Ausführungsform
beschrieben und mit den gleichen Bezugszeichen bezeichnet.
-
Die
siebzehnte Ausführungsform
arbeitet in im Wesentlichen der gleichen Weise wie die dreizehnte
Ausführungsform,
ohne dass ein Datenbus-Schalten erfolgen braucht, sowie ohne den
elektrischen Widerstand des Bankbusschalters.
-
Achtzehnte
Ausführungsform
-
Bezugnehmend
auf 53 kombiniert die achtzehnte
Ausführungsform
die Merkmale der vierzehnten und sechzehnten Ausführungsform,
wobei sie einen Vollduplex-Datenbus 66 verwendet, der mit der
Datenausgabeeinheit 16, dem Transfer register 62 und
dem Eingabedatenregister 64 verbunden ist, wobei das Eingabedatenregister 64 mit
der Dateneingabeeinheit 14 verbunden ist. Die Vorteile
dieser Anordnung sind wie zuvor beschrieben.
-
Neunzehnte Ausführungsform
-
Bezugnehmend
auf 54 unterscheidet sich die neunzehnte
Ausführungsform
von der dreizehnten Ausführungsform
im Hinblick auf die Konfiguration der Y-Adressgeneratoren 12A und 12B.
In der dreizehnten Ausführungsform
beinhaltete jeder Y-Adressgenerator separat eine Zugriffs-Zählschaltung 50 zum
Steuern der Anzahl von Adressen, die durch die Abwärtszählschaltung 30 erzeugt
wurden. In der neunzehnten Ausführungsform
teilen sich beide Y-Adressgeneratoren 12A und 12B gemeinsam dieselbe
Zugriffs-Zählschaltung 50.
Die Gemeinschaftszugriffs-Zählschaltung 50 wird
durch den Speichersteuersignalgenerator (SG) 68 gesteuert, der
in vorhergehenden Zeichnungen aus Gründen der Einfachheit weggelassen
wurde. Ebenso ist in der neunzehnten Ausführungsform ein Zugriffs-Zählregister 70 vorgesehen,
das einen Anfangswert ADN für
die Zugriffs-Zählschaltung 50 speichert,
wobei dieser Wert von dem Speichersteuersignalgenerator 68 zugeführt wird.
-
Die übrigen Elemente
der neunzehnten Ausführungsform,
einschließlich
des Transferregisters 62, sind die gleichen wie bei der
dreizehnten Ausführungsform
und sind daher mit den gleichen Bezugszeichen bezeichnet.
-
Die
neunzehnte Ausführungsform
stellt eine effiziente Art der Steuerung der Y-Adressgeneratoren 12A und 12B bereit,
so dass jeder Y-Adressgenerator immer eine feste Anzahl aufeinanderfolgender Adressen
erzeugt. Der Speichersteuersignalgenerator 68 kann einfach
eine geeignete feste Anzahl ADN im Zugriffs-Zählregister 70 platzieren,
dann die Zugriffs-Zählschaltung 50 anweisen,
diese feste Anzahl ADN zu geeigneten Zeiten nachzuladen, und lässt dann
die Zugriffs-Zählschaltung 50 beide
Y-Adressgeneratoren 12A und 12B steuern.
-
Dieser
Steuermodus ist nützlich
bei Filteroperationen, welche die gleiche Anzahl von Pixeln für jedes
von drei Halbbildern erfordern, wie beispielsweise in den 31 und 32 dargestellt.
-
Zwanzigste
Ausführungsform
-
Bezugnehmend
auf 55 kombiniert die zwanzigste
Ausführungsform
die Merkmale der vierzehnten und neunzehnten Ausführungsform,
wobei sie ein Transferregister 62, ein Eingabedatenregister 64,
eine Gemeinschaftszugriffs-Zählschaltung 50, die
durch den Speichersteuersignalgenerator 68 gesteuert wird,
und ein Zugriffs-Zählregister 70 aufweist,
welches einen festen Wert ADN speichert, welchen die Zugriffs-Zählschaltung 50 verwendet,
um die Anzahl von aufeinanderfolgenden Adressen zu steuern, die
durch die Y-Adressgeneratoren 12A und 12B erzeugt
werden. Die Vorteile der zwanzigsten Ausführungsform sind wie zuvor beschrieben.
-
Einundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 56 kombiniert die einundzwanzigste
Ausführungsform
die Merkmale der fünfzehnten
und neunzehnten Ausführungsform, wobei
sie separate Transferregister 62A und 62B aufweist,
die mit den Datenbussen 24A und 24b in den Bänken A und
B verbunden sind, anstelle des einzelnen Transferregisters 62 der
neunzehnten Ausführungsform.
Die Vorteile der einundzwanzigsten Form sind wie zuvor beschrieben.
-
Zweiundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 57, kombiniert die zweiundzwanzigste
Ausführungsform
die Merkmale der siebzehnten und neunzehnten Ausführungsform, wobei
sie ein Eingabedatenregister 64, separate Transferregister 62A und 62B,
die mit den Datenbussen 24A und 24B in den Bänken A und
B verbunden sind, und weitere Ele mente wie dargestellt in der neunzehnten
Ausführungsform
aufweist. Die Vorteile der zweiundzwanzigsten Ausführungsform
sind wie zuvor beschrieben.
-
Dreiundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 58 kombiniert die dreiundzwanzigste
Ausführungsform
die Merkmale der siebzehnten und neunzehnten Ausführungsform, wobei
sie einen Vollduplex-Datenbus 66 aufweist, der mit der
Dateneingabeeinheit 14, der Datenausgabeeinheit 16 und
dem Transferregister 62 sowie weiteren Elemente, wie dargestellt
in der neunzehnten Ausführungsform,
verbunden ist. Die Vorteile der dreiundzwanzigsten Ausführungsform
sind wie zuvor beschrieben.
-
Vierundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 59 kombiniert die vierundzwanzigste
Ausführungsform
die Merkmale der achtzehnten und neunzehnten Ausführungsform, wobei
sie einen Vollduplex-Datenbus 66 aufweist, der mit der
Datenausgabeeinheit 16, dem Transferregister 62 und
dem Eingabedatenregister 64 sowie weiteren Elemente, wie
dargestellt in der neunzehnten Ausführungsform, verbunden ist.
Die Vorteile der vierundzwanzigsten Ausführungsform sind wie zuvor beschrieben.
-
Fünfundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 60 fügt die fünfundzwanzigste Ausführungsform
der Konfiguration der neunzehnten Ausführungsform zwei weitere Zugriffs-Zählregister 72 und 74 hinzu.
Das erste Zugriffs-Zählregister 70 hält einen
Wert ADN1, welcher der Anzahl von Pixeln entspricht, die vom ersten Halbbild,
auf das in einem Burst zugegriffen wird, benötigt werden. Die zweiten und
dritten Zugriffs-Zählregister 72 und 74 halten
Werte ADN2 und ADN3, welche der Anzahl von Pixeln entsprechen, die
von den zweiten und dritten Halbbildern benötigt werden. Alle drei Werte
ADN1, ADN2 und ADN3 werden durch den Speichersteuersignalgenerator 68 zugeführt.
-
Die
fünfundzwanzigste
Ausführungsform
ist nützlich
bei Filteroperationen, für
welche Daten für unterschiedliche
Anzahl von Pixeln in unterschiedlichen Halbbildern benötigt werden,
wie beispielsweise in den 36 und 37 dargestellt.
Für die
in den 36 und 37 dargestellte
Operation können
ADN1, ADN2 und ADN3 auf fünf,
drei bzw. fünf festgelegt
werden. ADN1 wird verwendet, um den ersten Teil eines Burst zu steuern,
bei welchem Daten beispielsweise aus dem Hauptspeicherfeld 2A in Bank
A ausgelesen werden. ADN2 wird verwendet, um den zweiten Teil des
Burst zu steuern, bei welchem Daten beispielsweise aus dem Hauptspeicherfeld 2B in
Bank B ausgelesen werden. ADN3 wird verwendet, um den dritten Teil
des Burst zu steuern, bei welchem Daten beispielsweise aus dem Unterspeicherfeld 4A in
Bank A ausgelesen werden.
-
Sechsundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 61 fügt die sechsundzwanzigste Ausführungsform
der Konfiguration der fünfundzwanzigsten
Ausführungsform
ein Paar von Adress-Nachrecheneinheiten
(RECALC) 76A und 76B hinzu. Die Adressnachrechnungsschaltung 76A,
die mit dem Y-Adressgenerator 12A in Bank A verbunden ist,
führt ein
Nachrechnen des Anfangs-Y-Adresswertes durch, der vom Y-Adressgenerator 12A verwendet
wird, reagierend auf ein Verschiebe-Steuersignal SFTa, das vom Speichersteuersignalgenerator 68 ausgegeben
wird. Eine Adressnachrechnungsschaltung 76B, die mit dem
Y-Adressgenerator 12B in Bank B verbunden ist, führt dasselbe
für den
vom Y-Adressgenerator 12B verwendeten Anfangs-Y-Adresswert
durch, reagierend auf ein Verschiebe-Steuersignal SFTb, das vom
Speichersteuersignalgenerator 68 ausgegeben wird.
-
Die
sechsundzwanzigste Ausführungsform ist
insbesondere nützlich
bei einem Typ des Filterns, der bei einem Umwandeln von einem Interlace-Abtastverfahren
zu einem progressiven Abtastverfahren verwendet wird. Dies wird
in den 62 bis 64 dargestellt,
welche vertikale Querschnitte durch mehrere entlang der X-Achse
verteilte aufeinanderfolgende Halbbilder darstellen.
-
Bezugnehmend
auf 62 sind bei einem Interlace-Abtastverfahren
Pixel in den geradzahligen Halbbildern (Halbbilder a und c) in den
Zwischenräumen
zwischen Pixeln der ungeradzahligen Halbbilder (Halbbilder b und
d) angeordnet. Um einen gefilterten Pixelwert bei der Position des
Pixels Dc3 zu erzeugen, erfordert ein typisches Filterverfahren
die Werte von fünf
Pixeln des geradzahligen Halbbildes c (Dc1 bis Dc5), vier Pixel
des vorhergehenden ungeradzahligen Halbbildes d (Dd2 bis Dd5) und
vier Pixel des folgenden ungeradzahligen Halbbildes b (Db2 bis Db5).
-
Diese
Daten können
durch die fünfundzwanzigste
Ausführungsform
in einem einzelnen Burst erzeugt werden, da Pixel Dd5, Dc5 und Db5
alle die gleiche Spaltenadresse haben, wenn sie in der Speichervorrichtung
gespeichert werden, wie durch die Pfeile angegeben. Das heißt, die
Anfangs-Spaltenadresse ist in allen drei Halbbildern b, c und d
die gleiche. Es ist lediglich erforderlich, den Wert vier an ADN1
und ADN3 und einen Wert fünf
an ADN2 zuzuweisen. Die X-Markierung auf dem Pixel Db5 zeigt an,
dass an dieser Stelle während
des Burst alte Pixeldaten von neuen Pixeldaten überschrieben werden.
-
Das
Umwandeln auf ein progressives Abtastverfahren macht auch die Erzeugung
eines neuen Pixels erforderlich, der in der Mitte zwischen den Pixeln
Dc2 und Dc3 in Halbbild c angeordnet ist, was jedoch die in 63 angegebenen Daten erforderlich macht: Pixel
Dd1 bis Dd5 in Halbbild d, Pixel Dc1 bis Dc4 in Halbbild c und Pixel
Db1 bis Db5 in Halbbild b. Diese Daten lassen sich nicht in passender Weise
durch die fünfundzwanzigste
Ausführungsform
erzeugen, da sich die Anfangsadresse in Halbbild c (die Spaltenadresse
von Dc4) von den Anfangsadressen in den Halbbildern b und d (den
Spaltenadressen von Dd5 und Db5) unterscheidet.
-
64 gibt die Pixeldaten an, die für ein Umwandeln
des Pixelwertes Db3 im ungeradzahligen Halbbild b erforderlich sind,
wobei es sich bei diesen Daten um Dc1 bis Dc4 vom Halbbild c, Db1
bis Db5 vom Halbbild b und Da1 bis Da4 vom Halbbild a handelt. In
diesem Fall unterscheidet sich nicht nur die Anfangs-Spaltenadresse im
Halbbild b von der Anfangs-Spaltenadresse in den Halbbildern a und
c, sondern die neu zugeführten
Pixeldaten Da5 sind nicht Teil des ausgegebenen Burst.
-
Die
sechsundzwanzigste Ausführungsform kommt
mit allen diesen Fällen
zurecht. Eine detaillierte Beschreibung der Operationen für die 62 und 64 wird
nachfolgend gegeben.
-
Für den Burst
in 62 setzt der Speichersteuersignalgenerator 68 ADN1
auf vier, ADN2 auf fünf,
ADN3 auf vier und SFTa und SFTb beide auf null. 65 zeigt die daraus resultierende Ausgabesequenz.
-
Nimmt
man an, dass die Ausgabe bei der Bank B beginnt, wird zuerst der
Wert ADN1 (vier) vom Zugriffs-Zählregister 70 in
die Adresszählschaltung 50 ausgelesen,
welche demgemäß dem Y-Adressgenerator 12B in
Bank B erlaubt, vier Y-Adressen
(Yj bis Yj-3) zu erzeugen. Daten Dd5 werden vom Hauptspeicherfeld 2B in
Bank B zum Transferregister 62 übertragen, neue Eingabedaten Db5
werden von der Dateneingabeeinheit 14 zur Datenausgabeeinheit 16 übertragen,
und Daten Db4 bis Db2 werden aus dem Hauptspeicherfeld 2B in
Bank B ausgelesen und durch die Datenausgabeeinheit 16 ausgegeben,
folgend auf die Daten Db5.
-
Als
Nächstes
wird der Wert ADN2 (fünf)
vom zweiten Zugriffs-Zählregister 72 in
die Zugriffs-Zählschaltung 50 eingelesen,
welche dem Y-Adressgenerator 12A erlaubt, fünf Y-Adressen
(Yj bis Yj-4) zu erzeugen, und Dc5 bis Dc1 werden aufeinanderfolgend vom
Hauptspeicherfeld 2A in Bank A ausgegeben. Während dieser
Zeit werden im Hintergrund Daten Dd5 vom Transferregister 62 in
das Unterspeicherfeld 4B in Bank B geschrieben und die
in der Dateneingabeeinheit 14 gehaltenen neuen Eingabedaten Db5
werden in das Hauptspeicherfeld 2B geschrieben.
-
Zum
Schluss wird der Wert ADN3 (vier) aus dem dritten Zugriffs-Zählregister 74 in
die Zugriffs-Zählschaltung 50 eingelesen,
der Y-Adressgenerator 12B erzeugt vier weitere Y-Adressen
und die Daten Dd5 bis Dd2 werden vom Unterspeicherfeld 4b in
Bank B ausgegeben.
-
Für den Burst
in 64 setzt unter der Annahme, dass die Ausgabe nun
bei Bank A beginnt, der Speichersteuersignalgenerator 68 ADN1
auf vier, ADN2 auf fünf,
ADN3 auf vier, SFTa auf eins und SFTb auf null. 66 stellt die resultierende Ausgabesequenz dar.
-
Zuerst
wird der Wert ADN1 (vier) aus dem Zugriffs-Zählregister 70 in die
Adresszählschaltung 50 eingelesen
und der Y-Adressgenerator 12A erzeugt vier Y-Adressen. Da SFTa
den Wert eins hat, rechnet die Adressnachrechnungsschaltung 76A die Anfangsadresse
als Yj-1 anstelle von Yj nach. Der Y-Adressgenerator 12A überspringt
die Adresse Yj und beginnt mit der Y-Adressausgabe bei Yj-1. Die Daten
Da4 bis Da1 werden vom Hauptspeicherfeld 2A in Bank A zur
Datenausgabeeinheit 16 übertragen und
von der Datenausgabeeinheit 16 im ersten Teil des Burst
ausgegeben.
-
Als
Nächstes
wird der Wert ADN2 (fünf)
aus dem zweiten Zugriffs-Zählregister 72 in
die Zugriffs-Zählschaltung 50 ausgelesen,
welche dem Y-Adressgenerator 12B erlaubt, fünf Y-Adressen
zu erzeugen. Da SFTb null ist, ändert
die Adressnachrechnungsschaltung 76B nicht die Anfangsadresse, welche
weiterhin Yj bleibt. Die Daten Db5 bis Db1 werden aufeinanderfolgend
aus dem Hauptspeicherfeld 2b in Bank B ausgelesen und von
der Datenausgabeeinheit 16 ausgegeben. Während dieser
Zeit erzeugt in Bank A der Y-Adressgenerator 12a im Hintergrund
die Adresse Yj, die zuvor übersprungen
wurde. Die Daten Dc5 werden vom Hauptspeicherfeld 2A zum
Transferregister 62 übertragen,
und dann werden die neuen Eingabedaten Da5 in das Hauptspeicherfeld 2A geschrieben,
und zwar bei der gleichen Adresse. Auf diese Schreiboperation folgend, erzeugt
der Y-Adressgenerator 12A die geeignete Adresse, und die
im Transferregister 62 gehaltenen Daten Dc5 werden in das
Unterspeicherfeld 4A in Bank A geschrieben.
-
Zum
Schluss wird der Wert ADN3 (vier) in der Zugriffs-Zählschaltung 50 eingestellt,
die Anfangsadresse im Y-Adressgenerator 12A wird durch die
Adressnachrechnungsschaltung 76A nachgerechnet, der Y-Adressgenerator 12A erzeugt
vier weitere Y-Adressen, beginnend von der nachgerechneten Anfangsadresse,
und die Daten Dc4 bis Dc1 werden vom Unterspeicherfeld 4A in
Bank A ausgegeben.
-
Für den Burst
in 63 setzt, falls der Burst bei Bank B beginnt,
der Speichersteuersignalgenerator 68 ADN1 auf fünf, ADN2
auf fünf,
ADN3 auf fünf, SFTa
auf den Wert eins und SFTb auf null. Eine detaillierte Beschreibung
entfällt.
-
Operationen,
wie die zuvor beschriebenen, bei denen unterschiedliche Anzahlen
von Pixeln aus unterschiedlichen Halbbildern verwendet werden, sind
nicht nur bei der Umwandlung von einem Interlace-Abtastverfahren
auf ein progressives Abtastverfahren, sondern auch bei einem Bildschirmfenster-Einblendungsverfahren,
einer Formatumwandlung, einer Rauschunterdrückung und verschiedenen weiteren
Operationen von Nutzen.
-
Als
Nächstes
wird eine Variation beschrieben, die sich auf alle der vorhergehenden
Ausführungsformen
anwenden lässt.
-
Bezugnehmend
auf 67, weisen bei dieser Variation
das Hauptspeicherfeld 2 und das Unterspeicherfeld 4 separate
X-Decoder und Wortleitungen auf. Das Unterspeicherfeld 4 verfügt über einen eigenen
X-Decoder 77. Falls zwei Bänke vorhanden sind, weist das
Unterspeicherfeld in jeder Bank einen separaten X-Decoder auf.
-
X-
und Y-Adressen werden durch einen X-Y-Adressgenerator 78 erzeugt,
welcher den X-Decodern 6 und 77 über einen
X-Adressbus 79 X-Adressen zuführt und dem höherwertigen Y-Adressbus 18 und
dem niederwertigen Y-Adressbus 20 Y-Adressen zuführt.
-
Der
interne Datenbus 24 ist durch einen Datenbusschalter 80 in
zwei Teile unterteilt. Der Datenbusschalter 80 kann wahlweise
den Hauptdatenbus (MDB) mit der Dateneingabeeinheit 14 und
der Datenausgabeeinheit 16 verbinden, und kann wahlweise
den Unterdatenbus (SDB) mit der Datenausgabeeinheit 16 verbinden sowie
auch wahlweise den Hauptdatenbus und den Unterdatenbus miteinander verbinden.
-
Wenn
eine X-Adresse (Xi) empfangen wird, aktivieren beide X-Decoder 6 und 77 gleichzeitig
die entsprechenden Wortleitungen WLi und WLi' in den Haupt- und Unterspeicherfeldern.
Da die zwei Wortleitungen WLi und WLi' gleichzeitig aktiviert werden, können sie
als unterschiedliche Abschnitte derselben Wortleitung betrachtet
werden. In ähnlicher
Weise arbeiten die X-Decoder 6 und 77 als wenn
sie ein einzelner X-Decoder wären,
der doppelte decodierte Ausgangsgrößen erzeugt.
-
Da
beide X-Decoder 6 und 77 die gleiche X-Adresse
empfangen, arbeitet diese Variation in im Wesentlichen der gleichen
Weise wie die erste Ausführungsform
und kann modifiziert werden, um die Operation einer beliebigen der
anderen vorhergehenden Ausführungsformen
zu duplizieren.
-
Durch
die vorhergehenden Ausführungsformen
wurden Arten zum Erzielen von Datenblöcken des in 6 dargestellten
Typs bereitgestellt, welche Daten aus der aktuellen Spalte und aus
den unmittelbar vorhergehenden Spalten beinhalten. Die folgenden
Ausführungsformen
zeigen ähnliche
Arten zum Erzielen von Datenblöcken
des in 5 dargestellten Typs, welche
Daten von der aktuellen Spalte und den unmittelbar folgenden Spalten
beinhalten.
-
In
dieser Situation lässt
sich durch Übertragen
der überschriebenen
Pixeldaten in ein Unterspeicherfeld nichts gewinnen, da ein Intervall
von annähernd
einem Halbbild verstreicht, bevor die überschriebenen Daten erneut
benötigt
werden, und während
dieses Intervalls würden
die Daten aus dem Unterspeicherfeld verschwinden. Vielmehr müssen die überschriebenen
Daten zu einem anderen Halbbildspeicher übertragen werden, was bedeutet,
dass Halbbildspeicher kaskadiert angeordnet werden müssen, wie
in 4 dargestellt.
-
Die
folgenden Ausführungsformen,
welche den zweiten Aspekt der Erfindung beispielhaft darstellen,
weisen demgemäß nicht
die Unterspeicherfelder der vorherge henden Ausführungsformen auf, sondern weisen
die Merkmale auf, die für
eine kaskadierende Anordnung in den vorhergehenden Ausführungsformen
verwendet wurden, einschließlich
separaten Dateneingangs- und Datenausgangsanschlüssen. Diese Ausführungsformen
stellen die Funktionen von zumindest dem Halbbildspeicher F1 und
den Zeilenspeichern L21 bis L24 bereit, die von der gestrichelten
Linie in 7 umschlossen sind.
-
Es
werden die gleichen Bezugszeichen wie bei den vorhergehenden Ausführungsformen
für identische
oder äquivalente
Teile verwendet.
-
Siebenundzwanzigste Ausführungsform
-
Bezugnehmend
auf 68 weist die siebenundzwanzigste
Ausführungsform
ein Speicherfeld 2, einen X-Decoder 6, einen Y-Decoder
(YD) 8, einen Y-Adressgenerator 12,
eine Dateneingabeeinheit 14, eine Datenausgabeeinheit 16,
einen internen Datenbus 24, einen Speichersteuersignalgenerator 68, eine
Adresseingabeeinheit (ADIN) 81 einen Datenbusschalter (SW) 82 und
eine Pufferschaltung (BUF) 83. Der Y-Adressgenerator 12 weist
eine Abwärtszählschaltung 30 und
eine Zugriffs-Zählschaltung 50 auf.
-
Wie
in den vorhergehenden Ausführungsformen
bezeichnet der Kreis Nij im Speicherfeld 2 eine Gruppe
von Speicherzellen, welche sich eine X-Adresse (Xi) und eine Y-Adresse
(Yj) gemeinsam teilen.
-
Die
Adresseingabeeinheit 81, die für eine einfache Darstellbarkeit
aus den Zeichnungen in den vorhergehenden Ausführungsformen weggelassen wurde,
empfängt
eine X-Adresse und eine Y-Adresse separat von den externen Adresseingangsanschlüssen (ADD)
und erzeugt interne Adresssignale XAD und YAD. Das Y-Adresssignal YAD
wird der Abwärtszählschaltung 30 zugeführt, welche
von YAD abwärts zählt, um
die Y-Adressen YADD zu erzeugen, die dem Y-Decoder 8 zugeführt werden.
Die Abwärtszählschaltung 30 und
die Zugriffs-Zählschaltung 50 arbeiten
beide synchronisiert mit einem internen Taktsignal (CLK'), das aus dem ex ternen
Taktsignal (CLK) erzeugt wird und das in der vorliegenden Ausführungsform
die gleiche Frequenz wie das externe Taktsignal hat. Die Zugriffs-Zählschaltung 50 empfängt ein
Burstlängen-Steuersignal
PA von der Adresseingabeeinheit 81 und erzeugt ein Steuersignal
PW, das die Abwärtszählschaltung 30 und
den Datenbusschalter 82 steuert.
-
Die
Dateneingabeeinheit 14, der Datenbusschalter 82,
die Pufferschaltung 83 und die Datenausgabeeinheit 16 werden
durch den Steuersignalgenerator 68 gesteuert. Die Dateneingabeeinheit 14 gibt
Eingabedaten von den externen Dateneingangsanschlüssen DIN
zum internen Datenbus 24 weiter. Der Datenbusschalter 82 gibt
Daten vom Datenbus 24 an die Pufferschaltung 83 weiter,
bei der die Daten gespeichert werden, wobei sie darauf warten, von
der Datenausgabeeinheit 16 aus den externen Datenausgangsanschlüssen DOUT
ausgegeben zu werden. Die Pufferschaltung 83, welche in
den Zeichnungen in den vorhergehenden Ausführungsformen ebenfalls nicht
dargestellt war, ist ein FIFO-Puffer, dessen Tiefe beispielsweise
der maximalen Lese-Latenzzeit der Speichervorrichtung entspricht.
-
Der
Speichersteuersignalgenerator 68 weist ein (nicht dargestelltes)
internes Modusregister auf, das programmiert werden kann, um die
Lese-Latenzzeit und verschiedene Zugriffsmodi zu bezeichnen. Das
Modusregister wird mittels Befehlen programmiert, die durch Kombinationen
der CS/, CAS/, RAS/ und WE/-Signale sowie auf den Adresseingabeleitungen
empfangene Werte gebildet werden, und zwar in einer im Wesentlichen ähnlichen
Weise wie die Programmierung von Modusregistern in bereits verfügbaren Speichervorrichtungen,
beispielsweise dem Oki MSM54V24632A.
-
Bezugnehmend
auf 69 weist die Adresseingabeeinheit 81 drei
interne Register R1, R2 und R3 auf, welche alle mit den Adresseingangsanschlüssen ADD
verbunden sind. Wenn der Speichersteuersignalgenerator 68 einen
Burstlängen-Programmierbefehl
empfängt,
wird der an den Adresseingangsanschlüssen empfangene Wert im Register
R1 gespeichert. Zu anderen Zeiten wird der an den Adresseingangsanschlüssen empfangene
Wert im Register R2 gespeichert, falls CS/ und CAS/ aktiv sind,
und im Register R3, falls CS/ und RAS/ aktiv sind. Die X-Adresse
XAD wird vom Register R3, die Y-Adresse YAD vom Register R2 und
das Burstlängen-Steuersignal
PA vom Register R1 ausgegeben.
-
Bezugnehmend
auf 70 weist die Zugriffs-Zählschaltung 50 eine
Zählschaltung 84 und eine
Steuerschaltung 86 auf. Die Zählschaltung 84 empfängt das
interne Taktsignal CLK' und
das Burstlängen-Steuersignal
PA. Die Steuerschaltung 86 empfängt das Steuersignal PA und
die Ausgangsgröße der Zählschaltung 84 und
erzeugt das PW-Steuersignal.
-
Das
PA-Signal ist ein Nicht-Null-Signal, das die Steuerschaltung 86 veranlasst,
das PW-Steuersignal zu aktivieren, während der Wert des PA-Signals in
die Zählschaltung 84 geladen
wird. Die Zählschaltung 84 zählt dann
ab dem PA-Wert synchronisiert mit dem CLK'-Signal herunter. Wenn die Ausgangsgröße der Zählschaltung 84 null
erreicht, deaktiviert die Steuerschaltung 86 das PW-Steuersignal.
-
Als
Nächstes
wird ein bevorzugter Operationsmodus der siebenundzwanzigsten Ausführungsform
beschrieben.
-
Wenn
die Burstlänge
programmiert ist, wird die Burstlänge von den Adresseingangsanschlüssen (ADD)
zugeführt
und im Register R1 in der Adresseingabeeinheit 81 gespeichert.
In einem Personal-Computer oder einer Workstation kann das Programmieren
mittels des BIOS (Basic Input-Output System) erfolgen. Im Gegensatz
zu früheren
Ausführungsformen,
bei welchem die Burstlänge
indirekt durch die Größe des Unterspeicherfeldes
begrenzt war, kann in der siebenundzwanzigsten Ausführungsform
eine beliebige Burstlänge
festgelegt werden. Die Burstlänge
in der nachfolgenden Beschreibung beträgt fünf.
-
Auf
dem Modusprogrammiervorgang folgend können Zugriffsoperationen ausgeführt werden,
wie dargestellt in 71.
-
Zum
Zeitpunkt t1 wird eine Reihenadresse (Xi) bei den Adresseingangsanschlüssen (ADD) empfangen,
wobei sich CS/ und RAS/ auf dem Low-Pegel befinden. Die Reihenadresse
wird im Register R3 bei der ansteigenden Flanke des internen Taktsignals
CLK' gespeichert,
welche im Wesentlichen gleichzeitig mit der ansteigenden Flanke
des externen Taktsignals CLK ist. Das erforderliche interne Latch-Signal wird durch
den Steuersignalgenerator 68 erzeugt, welcher auch den
X-Decoder 6 steuert,
um die X-Adresse zu decodieren und die entsprechende Wortleitung
im Speicherfeld 2 zu aktivieren. Alle mit dieser Wortleitung
verbundenen Speicherzellen platzieren ihre Daten auf den entsprechenden
Bitleitungen.
-
Zum
Zeitpunkt t2, bei dem sich CS/ und CAS/ auf dem Low-Pegel befinden,
wird eine Spaltenadresse (Yj) an den Adresseingangsanschlüssen empfangen
und in gleicher Weise gespeichert. Diese Spaltenadresse (Yj) wird
unmittelbar von der Adresseingabeeinheit 81 als Spaltenadresssignal
YAD der Abwärtszählschaltung 30 zugeführt und
von der Abwärtszählschaltung 30 als
Spaltenadresssignal YADD dem Y-Decoder 8 zugeführt. Der
Y-Decoder 8 gibt ein decodiertes Signal aus, das durch
die Wellenform Yj in 71 bezeichnet ist und das die Transfertransistoren
aktiviert, über
welche die komplementären
Bitleitungen in Spalte Yj mit dem internen Datenbus 24 verbunden
sind, wie in der ersten Ausführungsform
beschrieben. Die in den Speicherzellen Nij gehaltenen Daten Dbj
werden demgemäß auf dem
Datenbus 24 platziert.
-
Zum
Zeitpunkt t2 erzeugt die Adresseingabeeinheit 81 ein (nicht
dargestelltes) PA-Signal,
das die Zugriffs-Zählschaltung 50 veranlasst,
das PW-Steuersignal zu aktivieren. Dieses Signal schließt den Datenbusschalter 82,
so dass Daten Dbj zur Pufferschaltung 83 weitergeleitet
werden. Ein weiteres Steuersignal vom Speichersteuersignalgenerator 68 (nicht
dargestellt), das zu einem Zeitpunkt nicht später als t3 erzeugt wird, veranlasst
die Pufferschaltung 83, die Daten Dbj zu speichern.
-
Zum
Zeitpunkt t3 führt
die Abwärtszählschaltung 30 ein
Abwärtszählen von
Yj auf Yj-1 durch, was den Y-Decoder 8 veranlasst, die
komplementären Bitleitungen
in Spalte Yj vom Datenbus 24 zu trennen und stattdessen
die komplementären
Bitlei tungen in Spaltenzeile Yj-1 mit dem Datenbus 24 zu
verbinden. Dies wird durch den Übergang
vom High-Pegel auf den Low-Pegel der Wellenform Yj und den Übergang vom
Low-Pegel auf den High-Pegel der Wellenform Yj-1 direkt nach dem
Zeitpunkt t3 in 71 angezeigt. Das Steuersignal
PW bleibt auf dem High-Pegel, so dass der Datenbusschalter 82 geschlossen bleibt
und die in den Speicherzellen Nij-1 gehaltenen Daten Dbj-1 in der
Pufferschaltung 83 gespeichert werden. Die Zählschaltung 84 in
der Zugriffs-Zählschaltung 50 führt ein
Herunterzählen
von fünf
auf vier durch.
-
Zum
Zeitpunkt t4 führt
die Abwärtszählschaltung
ein Herunterzählen
von Yj-1 auf Yj-2 durch und die in den Speicherzellen Nij-2 gehaltenen
Daten Dbj-2 werden in ähnlicher
Weise über
den Datenbus 24 und den Datenbusschalter 82 zur
Pufferschaltung 83 übertragen.
Die Zählschaltung 84 führt ein
Herunterzählen
von vier auf drei durch.
-
Bis
hierher wurden keine Daten aus der Speichervorrichtung ausgegeben;
die Datenausgabeeinheit 16 befand sich in einem Zustand
hoher Impedanz. Bei der ansteigenden Flanke des Taktsignals CLK,
folgend auf den Zeitpunkt t4, weist jedoch der Speichersteuersignalgenerator 68 die
Datenausgabeeinheit 16 an, mit der Ausgabe der Daten Dbj
zu beginnen, die in der Pufferschaltung 83 folgend auf Zeitpunkt
t2 gespeichert waren. Diese Daten Dbj stehen an den Datenausgangsanschlüssen DOUT(A) an
der ansteigenden Flanke des externen Taktsignals CLK zum Zeitpunkt
t5 zur Verfügung
und können zu
diesem Zeitpunkt durch eine externe Vorrichtung gelesen werden.
Zum Zeitpunkt t5 führt
die Abwärtszählschaltung 30 ein
Herunterzählen
von Yj-2 auf Yj-3 durch und die in den Speicherzellen Nij-3 gehaltenen
Daten werden zur Pufferschaltung 83 übertragen, und die Zählschaltung 84 führt ein
Herunterzählen
von drei auf zwei durch.
-
In ähnlicher
Weise gibt zum Zeitpunkt t6 die Datenausgabeeinheit 16 Daten
Dbj-1 aus der Pufferschaltung 83 aus, die Abwärtszählschaltung 30 zählt auf
Yj-4 herunter, Daten Dbj-4 werden von den Speicherzellen Nij-4 zur
Pufferschaltung 83 übertragen und
die Zählschaltung 84 zählt von
zwei auf eins herunter.
-
Zum
Zeitpunkt t7 gibt die Datenausgabeeinheit 16 Daten Dbj-2
aus. Außerdem
zählt die
Zählschaltung 84 von
eins auf null herunter, was die Steuerschaltung 86 in der
Zugriffs-Zählschaltung 50 veranlasst,
das Steuersignal PW zu deaktivieren. Der inaktive Zustand des PW-Signals
hält die
Abwärtszählschaltung 30 an
und öffnet
den Datenbusschalter 82, so dass keine Daten mehr in die
Pufferschaltung 83 übertragen
werden. Die Y-Adresse YADD, die durch die Abwärtszählschaltung 30 ausgegeben
wurde, bleibt demgemäß auf Yj-4,
und der Y-Decoder 8 hält weiter
die komplementären
Bitleitungen in Spalte Yj-4 in mit dem Datenbus 24 verbundenem
Zustand.
-
Zum
Zeitpunkt t8 gibt die Datenausgabeeinheit 16 Daten Dbj-3
aus. Bei der abfallenden Flanke des externen Taktsignals CLK, folgend
auf den Zeitpunkt t8, gehen CS/ und WE/ auf den Low-Pegel und neue
Eingabedaten Daj-4, die im Speicherfeld 2 zu speichern
sind, werden an den Dateneingangsanschlüssen DIN(A) empfangen.
-
Zum
Zeitpunkt t9 gibt die Datenausgabeeinheit 16 Daten Dbj-4
aus, und die Dateneingabeeinheit 14 sendet die neu eingegebenen
Daten Daj-4 über
den Datenbus 24 an das Speicherfeld 2. Da die komplementären Bitleitungen
in Spaltenzeile Yj-4 immer noch mit dem Datenbus 24 verbunden
sind, werden Daten Daj-4 in den Speicherzellen Nij-4 gespeichert,
wobei sie die Daten Dbj-4 ersetzen, die gerade ausgegeben wurden.
-
Wenn
die Ausgangsanschlüsse
DOUT(A) der Speichervorrichtung mit den Eingangsanschlüssen DIN(B)
einer weiteren Speichervorrichtung vom gleichen Typ verbunden sind
und diese zweite Speichervorrichtung das gleiche Schreibfreigabesignal WE/
empfängt,
dann empfängt
zum Zeitpunkt t9, während
die erste Speichervorrichtung (A) neue Daten Daj-4 speichert, die
zweite Speichervorrichtung (B) die von der ersten Speichervorrichtung
(A) ausgegebenen Daten Dbj-4 und speichert diese, wie in 71 unten angegeben.
-
Die
zweite Speichervorrichtung (B) empfängt ebenfalls die von der ersten
Speichervorrichtung (A) ausgegebenen Daten Dbj-1 bis Dbj-3 vor dem
Zeitpunkt t9, da jedoch WE/ zu diesen davor liegenden Zeitpunkten
inaktiv ist, ignoriert die zweite Speichervorrichtung die Daten
Dbj-1 bis Dbj-3.
-
Zu
einem geeigneten Zeitpunkt nach t9 weist der Speichersteuersignalgenerator 68 den
Y-Decoder 8 an, alle Bitleitungen vom Datenbus zu trennen, und
weist den X-Decoder 6 an,
alle Wortleitungen zu deaktivieren. Das Yj-4-Signal in 71 geht zu diesem Zeitpunkt auf den Low-Pegel
und der Datenbus 24 wird zur Vorbereitung auf den nächsten Zugriff
initialisiert. In 71 ist dieser nächste Zugriff
ein weiterer ähnlicher
Burst, der bei der gleichen Spaltenadresse (Yj) und der nächsten Reihenadresse
(Xi + 1) beginnt.
-
72, in welcher die zuvor beschriebene Operation
in einem größeren Maßstab zu
sehen ist, zeigt den Teil des Speicherfeldes 2, der verwendet wird,
um ein einziges Halbbild oder Vollbild eines Bewegtbildes P zu speichern.
Die Pixeldaten werden in n Reihen und m Spalten gespeichert, wobei
n die Anzahl von Pixeln in einer Horizontalabtastzeile und m die
Anzahl von Horizontalabtastzeilen in einem einzigen Halbbild oder
Vollbild ist.
-
73 stellt dar, wie sich die Speicherinhalte ändern, wenn
die Pixeldaten für
die erste Horizontalabtastzeile empfangen werden, und gibt an, welche Pixeldaten
gelesen werden. Das Abtasten erfolgt von links nach rechts, wobei
die Reihenadressen oder X-Adressen bei null beginnen und jeweils
um eins erhöht
werden. Die Spaltenadressen (Y-Adressen) beginnen ebenfalls bei
null, wie angegeben. Der Buchstabe t repräsentiert die Zeit, hingegen
repräsentieren
P1, P2, ..., Pn die Änderungszustände der
Speicherinhalte. Schraffierte Punkte repräsentieren Pixeldaten, die bereits
im Speicherfeld 2 gespeichert wurden, weiße Punkte
repräsentieren
alte Pixeldaten für das
vorhergehende Halbbild, und mit x markierte weiße Punkte repräsentieren
alte Pixeldaten, bei denen ein Überschreiben
gerade bevorsteht.
-
Vor
ihrem Überschreiben
werden die mit x markierten alten Daten ausgelesen, gemeinsam mit den
alten Daten für
vier unmittelbar darunter liegende Pixel, wie durch die rechteckigen
Umrandungen angegeben. Im Zustand P4 werden beispielsweise die Pixeldaten
mit der Reihenadresse drei (Xi = 3) und den Spaltenadressen von
vier bis null (Yj = 4, Yj-4 = 0) in einem einzigen Burst ausgelesen,
bevor neue Daten über
die alten Daten in Spalte null geschrieben werden.
-
Die
Spaltenadresse Yj, welche der Speichervorrichtung für diese
Operation zugeführt
wurde, hat den Wert vier anstelle von null, so dass die zugeführten Daten
nicht in der Spalte gespeichert werden, die von der eingegebenen
Spaltenadresse bezeichnet wird. Dies ist kein Nachteil und kann
sogar praktisch sein, und zwar bei der Verarbeitung von Videobildern, bei
denen sich die ersten paar Abtastzeilen in einer Vertikalaustastlücke befinden
und keine zu speichernden Daten enthalten.
-
74 zeigt in ähnlicher
Weise die Änderungszustände (Pn
+ 1 bis P2n) der Speicherzustände,
wenn die Pixeldaten für
die zweite Horizontalabtastzeile empfangen werden. In diesem Fall
empfängt
die Speichervorrichtung die Spaltenadresse fünf (Yj = 5), führt einen
Burst von Pixeldaten aus den Spalten fünf bis eins zu und schreibt
neue Daten in Spalte eins. Die Daten in Spalte null (Yj = 0) werden bis
zu Beginn des nächsten
Halbbildes nicht erneut geschrieben. Wie bereits zuvor hervorgehoben,
ist dies der Grund dafür,
dass die Daten in Spalte null nicht in einem Unterspeicherfeld gespeichert
werden, das für
lediglich einen Bruchteil eines einzigen Halbbildes Daten aufbewahren
kann.
-
Im Übrigen trifft
die vorhergehende Beschreibung auch für ein progressives Abtastverfahren
zu, wobei "Halbbild" durch "Vollbild" zu ersetzen ist.
-
75 stellt eine Matrix von D-Typ-Flipflops 88 dar,
die verwendet werden können,
um von der siebenundzwanzigsten Ausführungsform ausgegebene Daten
zu empfangen. Der Speicher A führt
ein Empfangen und Ausgeben von Daten durch, wie dargestellt in 71, wobei die vom Speicher A ausgegebenen Daten
zum Speicher B und zum ersten Flipflop vom D-Typ 88 weitergeleitet
werden. Dieses Flipflop 88 und die vier direkt unterhalb
befindlichen Flipflops sind durch ein Burst-Taktsignal (BCLK) getaktet,
das mit dem Ausgeben von Daten aus dem Speicher A synchronisiert
ist. Das Burst-Taktsignal BCLK kann durch Auftasten des in 71 dargestellten Taktsignals (CLK) erzeugt werden,
so dass im ersten Burst BCLK beispielsweise fünf Taktzyklen vom Zeitpunkt
t5 bis zum Zeitpunkt t9 umfasst. Die durch BCLK getakteten fünf Flipflops
bilden ein Schieberegister, das die während des Burst ausgegebenen
Daten Db5 bis Db1 speichert.
-
Die übrigen Flipflops
in 75 sind durch ein Reihentaktsignal (RCLK) getaktet,
das vom RAS/ oder CAS/-Steuersignal erzeugt werden kann. RCLK pulsiert
einmal vor dem Beginn eines jeden Burst. Die vier Flipflops rechts
vom ersten Flipflop 88 halten demgemäß Daten Db11, Db21, Db31 und
Db41 für vier
Pixel links von Db1, wobei diese Daten vom Speicher A in vier vorhergehenden
Burst ausgegeben wurden.
-
76 stellt eine kaskadierende Anordnung von drei
Speichervorrichtungen A, B und C gemäß der siebenundzwanzigsten
Ausführungsform
dar. Jede Speichervorrichtung ist so dargestellt, dass sie acht
Dateneingangsanschlüsse
(DIN) und acht Ausgangsanschlüsse
(DOUT) aufweist, wobei die Eingabe- und Ausgabedaten somit acht
Bits pro Pixel aufweisen. Die Ausgangsanschlüsse DOUT(A) des Speichers A
sind mit den Eingangsanschlüssen DIN(B)
von Speicher B verbunden, und die Ausgangsanschlüsse DOUT(B) von Speicher B
sind mit den Eingangsanschlüssen
DIN(C) von Speicher C verbunden. Eine beliebige Anzahl von Speichervorrichtungen
kann auf diese Weise kaskadiert angeordnet sein.
-
Die
Ausgabedaten Db1 bis Db5, die auf der rechten Seite des Speichers
A dargestellt sind, repräsentieren
die Ausgabe eines einzigen Burst, wie er in den D-Typ-Flipflops 88,
die durch das BCLK-Signal in 75 getaktet
sind, gespeichert ist. Die D-Typ-Flipflops, die durch das RCLK-Signal
in 75 getaktet sind, sind durch Rechtecke repräsentiert,
die mit D-FF × 4
in 76 bezeichnet sind.
-
Verglichen
mit einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher weist die siebenundzwanzigste
Ausführungsform
verschiedene Vorteile in diesem Typ von kaskadierter Konfiguration
auf.
-
Ein
Vorteil besteht darin, dass eine Eingabe einer einzigen X-Y-Adresse
sowohl für
einen Burst-Lesezugriff als auch -Schreibzugriff ausreicht.
-
Ein
weiterer Vorteil besteht in der gleichzeitigen Eingabe und Ausgabe
von Daten mit den gleichen X- und Y-Adressen. Genau dieselben Adresssignale,
Schreibfreigabesignale und weitere Steuersignale können allen
kaskadierten Speichervorrichtungen zugeführt werden, und zwar mit dem
gleichen Zeitverlauf. Gleichzeitige Eingabe und Ausgabe bedeutet
auch, dass ein einen Lese- und Schreibzugriff kombinierender Burst
in einer kürzeren
Zeit vollendet werden kann als dies bei einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher der Fall wäre.
-
Ein
dritter Vorteil liegt darin, dass die Datenausgangsanschlüsse einer
jeden Speichervorrichtung direkt mit den Dateneingangsanschlüssen der nächsten Speichervorrichtung
kaskadiert verbunden sein können.
Ein herkömmlicher
synchroner dynamischer Direktzugriffsspeicher weist lediglich einen
einzigen Satz von Datenanschlüssen
auf, welche sowohl für
Eingabe als auch Ausgabe verwendet werden. Eine Verwendung eines
herkömmlichen
synchronen dynamischen Direktzugriffsspeichers in einer kaskadierten
Konfiguration würde
ein Zwischenschalten von Schaltern erfordern, um die Eingabedaten
separat von den Ausgabedaten zu halten, sowie zusätzliche
Steuersignale zur Steuerung der Schalter.
-
Bedingt
durch diese Vorteile kann, verglichen mit einem herkömmlichen
synchronen dynamischen Direktzugriffsspeicher, in einer kaskadierten Konfiguration
die siebenundzwanzigste Ausführungsform
einen Betrieb mit höherer
Geschwindigkeit und mit weniger Hardware bereitstellen.
-
Achtundzwanzigste Ausführungsform
-
Bezugnehmend
auf 77 fügt die achtundzwanzigste Ausführungsform
der Konfiguration der siebenundzwanzigsten Ausführungsform eine Datenbus-Initialisierungseinheit 90 hinzu.
Die Datenbus-Initialisierungseinheit 90 wird durch ein
von der Zugriffs-Zählschaltung 50 ausgegebenes
Rücksetzsignal
PR gesteuert. Die Funktion der Datenbus-Initialisierungseinheit
(INIT) 90 besteht darin, den internen Datenbus 24 zu
initialisieren, indem sie die zwei Busleitungen in jedem Paar von
komplementären
Datenbusleitungen auf gleiches Potential setzt, das zwischen Stromversorgungs-
und Erdpotential liegt. Dies kann dadurch erfolgen, dass die beiden
Busleitungen vorübergehend
verbunden werden, oder durch Vorladen der Busleitungen auf das gewünschte Zwischenpotential,
oder indem sowohl ein Ausgleichen als auch ein Vorladen durchgeführt wird.
Das Ergebnis ist, dass jedes Paar komplementärer Datenbusleitungen sich
auf einem Pegel befindet, der sich zwischen dem Binäreins-Pegel
und dem Binärnull-Pegel
befindet.
-
Die
Funktionsweise der achtundzwanzigsten Ausführungsform ist in 78 dargestellt. Die dargestellten Wellenformen
sind die gleichen wie die Wellenformen von 71,
wobei die PR-Wellenform hinzugefügt
wurde. Die folgende Beschreibung beschränkt sich auf die Datenbus-Initialisierungsoperation,
wobei die übrigen
Operationen die gleichen sind wie bei der siebenundzwanzigsten Ausführungsform.
-
Während der Übertragung
von Daten aus dem Speicherfeld 2 zur Pufferschaltung 83 über den Datenbus 24 vom
Zeitpunkt t2 bis zum Zeitpunkt t7 bleibt, während sich das PW-Steuersignal
auf dem High-Pegel befindet, das PR-Steuersignal auf dem Low-Pegel,
wodurch die Datenbus-Initialisierungseinheit 90 inaktiv
bleibt.
-
Nach
dem Zeitpunkt t7, wenn die Zugriffs-Zählschaltung 50 das
PW-Signal auf den Low-Zustand setzt, steuert die Zugriffs-Zählschaltung 50 gleichzeitig
das PR-Signal für einen
einzigen Taktzyklus, dessen Mittelpunkt der Zeitpunkt t8 ist, auf
den High-Pegel. Während
dieses Taktzyklus wird der Datenbus 24 durch die Datenbus-Initialisierungseinheit 90 initialisiert.
Die Bitleitungen in Spalte Yj-4, welche immer noch mit dem Datenbus 24 verbunden sind,
und die in der gleichen Spalte befindlichen Speicherzellen Nij-4
werden ebenfalls initialisiert. Die Datenbus- Initialisierungseinheit 90 wird
bei einem Zeitpunkt zwischen den Zeitpunkten t8 und t9 deaktiviert, wobei
der Datenbus 24 sowie diese Bitleitungen und Speicherzellen
im initialisierten Zustand bleiben.
-
Zum
Zeitpunkt t9 werden die neu zugeführten Daten Daj-4 empfangen
und von der Dateneingabeeinheit 14 an den Datenbus 24 übertragen.
Von ihrem Zwischenpotential können
die Datenbusleitungen und Bitleitungen schnell auf die Pegel gelangen, welche
entweder Binäreins
oder Binärnull
repräsentieren,
und die Kondensatoren in den Speicherzellen Nij-4 können schnell
geladen oder entladen werden, um die Daten zu speichern. Das Schreiben
von Daten kann somit in kurzer Zeit abgeschlossen werden, was erlaubt,
dass der nächste
Burst schnell beginnt.
-
Falls
der Datenbus 24 nicht initialisiert ist und falls sich
die neuen Eingabedaten Daj-4 von den alten Daten Dbj-4 unterscheiden,
müssen
die Datenbusleitungen und Bitleitungen eine volle Amplitude zwischen
Stromversorgungs- und Erdpotential absolvieren und die Kondensatoren
in den Speicherzellen müssen
vollständig
geladen oder entladen werden, so dass die Schreiboperation länger dauert
und größerer Zeitraum
zwischen den Bursts erforderlich ist.
-
Durch
Verkürzen
der Zeit zwischen den Bursts macht es die achtundzwanzigste Ausführungsform
der Speichervorrichtung möglich,
längere Bursts
auszugeben.
-
Neunundzwanzigste
Ausführungsform
-
Bezugnehmend
auf 79 fügt die neunundzwanzigste Ausführungsform
der Konfiguration der siebenundzwanzigsten Ausführungsform ein Adressregister 52 von
dem in der fünften
Ausführungsform
eingeführten
Typ hinzu. Das Adressregister 52 empfängt und speichert die von der
Adresseingabeeinheit 81 ausgegebene Y-Adresse YAD, so dass die Y-Adresse YAD
wiederholt in die Abwärtszählschaltung 30 geladen
werden kann. Das Nachladen der Y-Adresse YAD erfolgt reagierend
auf ein externes Steuersignal ADX/, wie in der fünften Ausführungsform erläutert.
-
Das
Speichern der Y-Adresse YAD im Adressregister 52 anstelle
der Adresseingabeeinheit 81 ermöglicht, dass die Y-Adresse
an einer Stelle gehalten werden kann, die in der Schaltungskonfiguration
nahe bei der Abwärtszählschaltung 30 liegt,
und ermöglicht,
dass die Adresseingabeeinheit 81 als Vorbereitung zum Empfang
der nächsten
Y-Adresse initialisiert wird.
-
Da
bei der Abwärtszählschaltung 30 kein Nachladen
in der Mitte eines Burst zu erfolgen braucht, ist zwischen Adressregister 52 und
Abwärtszählschaltung 30 nicht
zwingend ein Schalter erforderlich. Die Abwärtszählschaltung 30 kann
durch das PW-Steuersignal in flanken-sensitiver Weise gesteuert
werden, so dass bei jeder ansteigenden Flanke das PW-Steuersignal
die Abwärtszählschaltung 30 den
im Adressregister 52 gehaltenen Y-Adresswert lädt und mit
dem Herunterzählen
von diesem Wert aus beginnt. Adressregister 52 kann beispielsweise unter
Verwendung transparenter Latch-Schaltungen konfiguriert sein, so
dass von der Adresseingabeeinheit 81 empfangene neue Adresswerte
unmittelbar der Abwärtszählschaltung 30 zur
Verfügung
gestellt werden.
-
Die
Funktionsweise der neunundzwanzigsten Ausführungsform lässt sich
aus den Beschreibungen der fünften
und siebenundzwanzigsten Ausführungsform
entnehmen, so dass eine detaillierte Beschreibung hier entfällt, jedoch
werden diesbezüglich
Informationen bei der einunddreißigsten Ausführungsform
geliefert. Der Vorteil der neunundzwanzigsten Ausführungsform
besteht darin, dass eine wiederholte externe Eingabe der gleichen
Spaltenadresse nicht erforderlich ist.
-
Dreißigste Ausführungsform
-
Bezugnehmend
auf 80, kombiniert die dreißigste Ausführungsform
die Merkmale der achtundzwanzigsten und neunundzwanzigsten Ausführungsform,
wobei sie sowohl ein Adressregister 52 als auch eine Datenbus-Initialisierungseinheit 90 aufweist.
Eine detaillierte Beschreibung entfällt hier, da die Funktionsweise
der dreißigsten
Ausführungsform im
Wesentlichen so ist wie für
die nächste
Ausführungsform
beschrieben.
-
Einunddreißigste Ausführungsform
-
Bezugnehmend
auf 81 fügt die einunddreißigste Ausführungsform
der Konfiguration der dreißigsten
Ausführungsform
einen Adressregisterausgangsschalter 54 von dem in der
fünften
Ausführungsform
eingebrachten Typ hinzu, der zwischen Adressregister 52 und
Abwärtszählschaltung 30 geschaltet
ist und durch ein von der Zugriffs-Zählschaltung 50 ausgegebenes
Steuersignal PO gesteuert wird. Ebenso ist ein Steuersignal PM hinzugefügt, das
dem Adressregister 52 von der Zugriffs-Zählschaltung 50 zugeführt wird.
-
82 stellt die Funktionsweise der einunddreißigsten
Ausführungsform
dar. Die folgende Beschreibung beschränkt sich auf die Operation
des Nachladens der Abwärtszählschaltung 30.
Weitere Operationen sind wie in der achtunddreißigsten Ausführungsform
beschrieben.
-
Während des
in 82 dargestellten ersten Burst vom Zeitpunkt t1
bis zum Zeitpunkt t6 bleibt das PO-Steuersignal auf dem Low-Pegel,
wodurch verhindert wird, dass die Abwärtszählschaltung 30 vom Adressregister 52 geladen
wird. Stattdessen wird zum Zeitpunkt t2 die zugeführte Y-Adresse
(Yj), welche von der Adresseingabeeinheit 81 empfangen wurde, über eine
nicht in 81 dargestellte Signalleitung
direkt in die Abwärtszählschaltung 30 geladen.
Die Y-Adresse Yj wird ebenfalls im Adressregister 52 gespeichert,
und zwar bei einem beliebigen, passenden Zeitpunkt zwischen den
Zeitpunkten t2 und t6, reagierend auf ein Steuersignal PM (nicht
in 82 dargestellt).
-
Der
erste Burst wird wie erläutert
in der siebenundzwanzigsten und achtundzwanzigsten Ausführungsform
ausgeführt,
wobei der Datenbus 24 durch die Datenbus-Initialisierungseinheit 90 initialisiert
wird, wenn das PR-Steuersignal in der Nähe des Zeitpunktes t4 aktiviert
wird, als Vorbereitung auf das Schreiben der neuen Daten Daj-4 zum
Zeitpunkt t5.
-
Der
zweite Burst beginnt mit der Eingabe einer neuen X-Adresse (Xi +
1) zum Zeitpunkt t7. Zum Zeitpunkt t8 sind die CS/, CAS/ und ADX/-Signale
auf dem Low-Pegel,
was die Zugriffs-Zählschaltung 50 veranlasst,
das PO-Steuersignal auf den High-Pegel zu steuern, und zwar zur
gleichen Zeit wie das PW-Steuersignal auf den High-Pegel gesteuert
wird. Das PO-Steuersignal bleibt auf dem High-Pegel für einen
einzigen Taktzyklus, wobei während
dieser Zeit der Adressregisterausgangsschalter 54 geschlossen ist
und die gleiche Y-Adresse (Yj) wie zuvor wird vom Adressregister 52 in
die Abwärtszählschaltung 30 geladen.
Ein (nicht dargestelltes) Steuersignal PM bleibt während des
zweiten Burst inaktiv, so dass das Adressregister 52 den
gleichen Adresswert (Yj) beibehält.
Beim zweiten Burst erfolgt demgemäß ein Zugriff auf Daten in
den gleichen Spalten wie beim ersten Burst, jedoch in der nächsten Reihe
(Xi + 1).
-
Die
einunddreißigste
Ausführungsform
bietet die gleichen Verbesserungen bei der Arbeitsgeschwindigkeit
wie die achtunddreißigste
Ausführungsform,
bedingt durch die Initialisierung des Datenbusses 24, und
den gleichen Vorteil wie bei der neunundzwanzigsten und dreißigsten
Ausführungsform,
dass keine wiederholte Eingabe der Spaltenadresse erforderlich ist.
Im Vergleich zur neunundzwanzigsten und dreißigsten Ausführungsform
bietet die einunddreißigste
Ausführungsform
größere Freiheit
bei der Gestaltung des Adressregisters 52, da das Adressregister 52 neu
empfangene Adressdaten nicht unmittelbar zur Abwärtszählschaltung 30 weiterzuleiten
braucht, sowie bei der Gestaltung der Abwärtszählschaltung 30, da
der Adressregisterausgangsschalter 54 verhindert, dass
die Abwärtszählschaltung 30 zu
Zeiten, bei denen keine Adresseingabe benötigt wird, eine unerwünschte Adresseingabe
vom Adressregister 52 empfängt.
-
Zweiunddreißigste Ausführungsform
-
Bezugnehmend
auf 83 fügt die zweiunddreißigste Ausführungsform
der Konfiguration der einunddreißigsten Ausführungsform
eine Blockauswahleinheit 92 hinzu, um unterschiedliche
Datenblöcke
im Speicherfeld 2 auszuwählen.
-
Die
Adresseingabeeinheit 81 in dieser Ausführungsform unterteilt die empfangenen
Y-Adressbits in eine obere Gruppe PC und eine untere Gruppe PB auf.
Die untere Gruppe PB wird dem Adressregister 52 und der
Abwärtszählschaltung 30 zugeführt. Die
obere Gruppe PC wird der Blockauswahleinheit 92 zugeführt. Aus
den zugeführten
Adressbits erzeugt die Blockauswahleinheit 92 eine obere Y-Adresse
YUAD, welche unter Umgehen der Abwärtszählschaltung 30 direkt
dem Y-Decoder 8 zugeführt
wird. Der Y-Decoder 8 verwendet YUAD beispielsweise als
die höherwertigen
Bits der Y-Adresse.
-
Der
Speichersteuersignalgenerator 68 in der zweiunddreißigsten
Ausführungsform
führt der
Zugriffs-Zählschaltung 50 auch
ein Steuersignal NBL zu, das die Anzahl der Spalten bezeichnet,
auf die in demselben Burst in jedem Block zugegriffen werden soll.
Die Zugriffs-Zählschaltung 50 führt der
Blockauswahleinheit 92 ein Nachfolgeblock-Steuersignal PNBL
zu, welches die Blockauswahleinheit 92 veranlasst, die
obere Y-Adresse YUAD für
den nächsten Block
auszugeben.
-
84 zeigt ein Beispiel der internen Konfiguration
der Abwärtszählschaltung 30 des
Adressregisters 52, des Adressregisterausgangsschalters 54 und
der Blockauswahleinheit 92. Der Buchstabe "n" in dieser Zeichnung bezeichnet die
Gesamtanzahl von Y-Adressbits, einschließlich sowohl der oberen als
auch der unteren Adressbits.
-
Die
Abwärtszählschaltung 30 weist
eine Serie von Ein-Bit-Zählschaltungen
C0 bis Cn-3 auf, die untereinander verbunden sind und durch ein
Zählschaltungs-Taktsignal CCLK angesteuert
werden. Das Zählschaltungs-Taktsignal
CCLK wird durch Kombinieren des internen Taktsignals CLK' mit dem Steuersignal
PW in einem NAND-Gatter und einem Inverter wie dargestellt erhalten.
Jede Ein-Bit-Zählschaltung
Ci ist beispielsweise eine Schaltung, welche einen Ausgang hat,
der bei einem speziellen Übergang
des Signals, das durch die zur Linken benachbarte Ein-Bit-Zählschaltung
Ci-1 ausgegeben wird, umschaltet, wobei alle Ausgangsübergänge mit dem
Zählschaltungstakt
CCLK synchronisiert sind.
-
Das
Adressregister 52 weist Latch-Schaltungen E0 bis En-3 und
Transistoren Trdd0 bis Trddn-3 auf. Die Transistoren Trddn0 bis
Trddn-3, die durch das PM-Steuersignal
gesteuert werden, führen
die n – 2
unteren Y-Adressbits PB, die als Y0 bis Yn-3 bezeichnet sind, von
der Adresseingabeeinheit 81 den Latch-Schaltungen E0 bis
En-3 zu.
-
Die
Adressregister-Ausgabeschaltung 54 weist Transistoren Trd0
bis Trdn-3 auf, die durch das PO-Steuersignal gesteuert werden,
welches die Ausgangsgrößen der
Latch-Schaltungen E0 bis En-3 im Adressregister 52 den
entsprechenden Ein-Bit-Zählschaltungen
C0 bis Cn-3 in der Abwärtszählschaltung 30 zuführt.
-
Die
Blockauswahleinheit 92 weist auf: ein Paar von Ein-Bit-Zählschaltungen
F0 und F1, ein Paar von Ein-Bit-Latch-Schaltungen D0 und D1, ein Paar
von Transistoren Trddn-2 und Trddn-1 und ein weiteres Paar von Transistoren
Trdn-2 und Trdn-1. Die Transistoren Trddn-2 und Trddn-1, die durch
das PM-Steuersignal gesteuert werden, führen die zwei oberen Adressbits
Yn-2 und Yn-1 (PC) von der Adresseingabeeinheit 81 den
Ein-Bit-Zählschaltungen
F0 und F1 zu. Die Transistoren Trdn-2 und Trdn-1, die durch das
PO-Steuersignal gesteuert werden, führen die Ausgangsgrößen der Ein-Bit-Zählschaltungen
F0 und F1 den Latch-Schaltungen D0 und D1 zu. Die Ein-Bit-Zählschaltungen F0
und F1 werden durch das PNBL-Steuersignal
angesteuert und sind untereinander verbunden, um beispielsweise
als Aufwärtszählschaltung
oder Abwärtszählschaltung
zu fungieren.
-
Die
Ausgangsgrößen SY0
bis SYn-1 der Abwärtszählschaltung 30 und
der Blockauswahleinheit 92 bilden das vollständige Y-Adresssignal,
das dem Y-Decoder 8 zugeführt wird. Beim kombinierten
Wert der unteren Bits SY0 bis SYn-3 (YADD) erfolgt ein Abwärtszählen synchronisiert
mit dem Zählschaltungstakt
CCLK, hingegen erfolgt beim kombinierten Wert der oberen Bits SYn-2
und SYn-1 (YUAD) ein Aufwärts-
oder Abwärtszählen synchron
mit dem PNBL-Steuersignal.
-
Bezugnehmend
auf 85 unterteilen die von der
Blockauswahleinheit 92 ausgegebenen oberen Adressbits YUAD
das Speicherfeld 2 in eine Mehrzahl von Blö cken. Der
Einfachheit halber sind lediglich ein einziges oberes Adressbit
und zwei Blöcke
(Block a und Block b) in 85 dargestellt.
Der Wert des oberen Adressbits (YUAD) beträgt null in Block a und eins
in Block b.
-
Der
Speicher in 85 kann verwendet werden, um
Pixeldaten für
ein einziges Halbbild in jedem Block zu speichern, so dass das Speicherfeld 2 Pixeldaten
für zwei
Halbbilder oder ein einziges Vollbild hält. Beispielsweise können geradzahlige
Halbbilder in Block a und ungeradzahlige Halbbilder in Block b gespeichert
werden.
-
Ein
einziger Burst beinhaltet Daten von beiden Halbbildern. 85 stellt den Fall dar, bei dem Daten für ein geradzahliges
Halbbild im Moment empfangen werden und in Block a gespeichert werden.
Der Burst beginnt mit dem Auslesen von Daten für drei Pixel des vorhergehenden
ungeradzahligen Halbbildes (Yb3, Yb2 und Yb1) aus dem Block b, dann
erfolgt ein Auslesen von Daten für
drei Pixel vom vorhergehenden geradzahligen Halbbild (Yc3, Yc2 und
Yc1) aus dem Block a, gefolgt von einem Schreiben von neuen Eingabedaten
(Ya1, nicht dargestellt) über
die ältesten
gelesenen Daten (Yc1), wie durch den schraffierten Punkt angezeigt.
-
Dieser
Burst wird dadurch erzielt, dass die Blockauswahleinheit 92 und
ein Adressregisterausgangsschalter 54 mit den Steuersignalen
PNBL und PO so gesteuert wird, dass nach der Übertragung von Daten Yb1 sich
das obere Adressbit von eins auf null ändert und die unteren Adressbits
der Anfangsadresse ("10111") erneut vom Adressregister 52 in
die Abwärtszählschaltung 30 geladen
werden. Der Burst springt demgemäß von der
Spaltenadresse "110101" (Yb1) in Block b
auf die Spaltenadresse "010111" (Yc3) im Block a,
und zwar ohne Unterbrechung.
-
Nachdem
alle Daten für
das neue geradzahlige Halbbild im Block a gespeichert wurden, erfolgt während des
Empfangs von Daten für
das nächste Halbbild,
bei dem es sich um ein ungeradzahliges Halbbild handelt, ein Burst-Zugriff
wie dargestellt in 86. Jeder Burst beginnt nun
in Block a und endet in Block b, wobei neue Pixeldaten in Block
b gespeichert werden.
-
Falls
ein progressives Abtastverfahren verwendet wird, können unterschiedliche
Blöcke
Daten für
unterschiedliche Vollbilder anstelle von unterschiedlichen Halbbildern
speichern. Wenn unterschiedliche Blöcke Pixeldaten für unterschiedliche Vollbilder
speichern, repräsentieren
die Daten normalerweise Pixel in identischen Positionen in den unterschiedlichen
Vollbildern. Wenn unterschiedliche Blöcke Pixeldaten für unterschiedliche
Halbbilder speichern, repräsentieren
die Daten normalerweise Pixel in zueinander benachbart liegenden
Positionen in den unterschiedlichen Halbbildern, wie beispielsweise
aus 64 zu ersehen ist, wobei die
Daten DA1 und DB1 Pixel in zueinander benachbart liegenden Positionen
in den Halbbildern a und b repräsentieren.
-
Die
zweiunddreißigste
Ausführungsform
ermöglicht,
dass eine einzelne Speichervorrichtung Pixeldaten von mehreren Halbbildern
oder Vollbildern in einem einzigen Burst ausgibt. Die Anzahl der
Halbbilder oder Vollbilder war in den 85 und 86 als
zwei dargestellt, jedoch kann, in Abhängigkeit von der Anzahl der
oberen Adressbits, das Speicherfeld 2 in der zweiunddreißigsten
Ausführungsform
in eine beliebige Anzahl von Blöcken
unterteilt sein, von denen jeder ein unterschiedliches Halbbild
oder Vollbild speichert. Im Unterschied zur ersten bis sechsundzwanzigsten
Ausführungsform
ist bei der zweiunddreißigsten
Ausführungsform
kein Übertragen
von Daten von einem Block zum anderen erforderlich, so dass der
Betrieb einfacher ist als bei diesen zuvor erwähnten Ausführungsformen, auch wenn mehr
Daten gespeichert werden müssen.
-
Weitere
Details der Funktionsweise der zweiunddreißigsten Ausführungsform
werden nachstehend bei der achtunddreißigsten Ausführungsform gegeben.
-
Dreiunddreißigste Ausführungsform
-
Bezugnehmend
auf 87 ist die dreiunddreißigste Ausführungsform ähnlich der
siebenundzwanzigsten Ausführungsform,
jedoch weist sie zwei Speicherbänke
mit separaten Speicherfeldern 2A und 2B, separate
X-Decoder 6A und 6B und separate Y-Decoder 8A und 8B auf.
Beide Bänke
teilen sich gemeinsam den internen Datenbus 24 und die
Abwärtszählschaltung 30.
-
Die
eine der zwei Bänke
kann verwendet werden, um Pixeldaten mit geradzahligen X-Adressen
zu speichern, hingegen wird die andere Bank verwendet, um ungeradzahlige
X-Adressen in demselben Halbbild zu speichern, so dass die eine
Bank während
des Burst-Zugriffs auf die andere Bank vorgeladen werden kann.
-
Eine
detaillierte Beschreibung der Funktionsweise der dreiunddreißigsten
Ausführungsform
wird auf die achtunddreißigste
Ausführungsform
verlegt.
-
Vierunddreißigste Ausführungsform
-
Bezugnehmend
auf 88 kombiniert die fünfunddreißigste Ausführungsform
die Merkmale der achtundzwanzigsten und der dreiunddreißigsten Ausführungsform.
Das heißt,
die fünfunddreißigste Ausführungsform
fügt der
Zwei-Bank-Konfiguration der
dreiunddreißigsten
Ausführungsform
eine Datenbus-Initialisierungseinheit 90 hinzu.
Die vierunddreißigste
Ausführungsform
verfügt
ebenfalls über
die Vorteile der achtundzwanzigsten und dreiunddreißigsten
Ausführungsform.
-
Eine
detaillierte Beschreibung der Funktionsweise der vierunddreißigsten
Ausführungsform
erfolgt später
bei der achtunddreißigsten
Ausführungsform.
-
Fünfunddreißigste Ausführungsform
-
Bezugnehmend
auf 89, kombiniert die fünfunddreißigste Ausführungsform
die Merkmale der neunundzwanzigsten und dreiunddreißigsten Ausführungsform.
Das heißt,
die fünfunddreißigste Ausführungsform
fügt ein
Adressregister 52 zur Konfiguration der dreiunddreißigsten
Ausführungsform hinzu.
Die fünfunddreißigste Ausführungsform
verfügt
ebenfalls über
die Vorteile der neunundzwanzigsten und dreiunddreißigsten
Ausführungsform.
-
Eine
detaillierte Beschreibung der Funktionsweise der fünfunddreißigsten
Ausführungsform
erfolgt später
bei der achtunddreißigsten
Ausführungsform.
-
Sechsunddreißigste Ausführungsform
-
Bezugnehmend
auf 90, kombiniert die sechsunddreißigste Ausführungsform
die Merkmale der dreißigsten
und dreiunddreißigsten
Ausführungsform.
Das heißt,
die sechsunddreißigste
Ausführungsform
fügt sowohl
ein Adressregister 52 als auch eine Datenbus-Initialisierungseinheit 90 zur
Konfiguration der dreiunddreißigsten
Ausführungsform
hinzu. Die sechsunddreißigste
Ausführungsform
verfügt ebenfalls über die
Vorteile der dreißigsten
und dreiunddreißigsten
Ausführungsform.
-
Eine
detaillierte Beschreibung der Funktionsweise der sechsunddreißigsten
Ausführungsform
erfolgt später
bei der achtunddreißigsten
Ausführungsform.
-
Siebenunddreißigste Ausführungsform
-
Bezugnehmend
auf 91, kombiniert die siebenunddreißigste Ausführungsform
die Merkmale der einunddreißigsten
und dreiunddreißigsten
Ausführungsform.
Das heißt,
die siebenunddreißigste Ausführungsform
fügt einen
Adressregisterausgangsschalter 54 zur Konfiguration der
sechsunddreißigsten
Ausführungsform
hinzu. Die siebenunddreißigste
Ausführungsform
verfügt
ebenfalls über die
Vorteile der einunddreißigsten
und dreiunddreißigsten
Ausführungsform.
-
Eine
detaillierte Beschreibung der Funktionsweise der siebenunddreißigsten
Ausführungsform
erfolgt später
bei der achtunddreißigsten
Ausführungsform.
-
Achtunddreißigste Ausführungsform
-
Bezugnehmend
auf 92 kombiniert die achtunddreißigste Ausführungsform
die Merkmale der zweiunddreißigsten
und dreiunddreißigsten
Ausführungsform,
wobei sie eine Blockauswahleinheit 92 wie bei der zweiunddreißigsten
Ausführungsform
und zwei Speicherbänke
wie bei der dreiunddreißigsten Ausführungsform
aufweist, und wobei jede Speicherbank nun in mehrere Blöcke unterteilt
ist, gemäß den von
der Blockauswahleinheit 92 ausgegebenen oberen Adressbits
YUAD.
-
93 zeigt detaillierter die interne Struktur der
achtunddreißigsten
Ausführungsform.
-
Die
Adresseingabeeinheit 81 gibt das X-Adresssignal XAD und
drei weitere Steuer- und Adresssignale
aus: PA, PB und PC. PA wird der Zugriffs-Zählschaltung 50 zugeführt, um
die Burstlänge zu
steuern, wie in der siebenundzwanzigsten Ausführungsform erläutert. PB
beinhaltet die niedrigeren Bits der Y-Adresse und wird dem Adressregister 52 zugeführt. PC
beinhaltet die oberen Bits der Y-Adresse und wird der Blockauswahleinheit 92 zugeführt.
-
Die
Zugriffs-Zählschaltung 50 empfängt auch
das NBL-Steuersignal vom Speichersteuersignalgenerator 68.
Wie in der zweiunddreißigsten
Ausführungsform
beschrieben, ist NBL ein Steuersignal, welches die Anzahl der Bits
steuert, die aus jedem Block in einem Burst ausgelesen werden. Die
Zugriffs-Zählschaltung 50 gibt
das PO-Steuersignal aus, wie dargestellt in der einunddreißigsten
Ausführungsform,
gibt das PNBL-Signal aus, das die Blockauswahleinheit 92 steuert,
wie in der zweiunddreißigsten
Ausführungsform
erläutert,
und gibt ein Flag-Signal aus, welches normalerweise auf dem Low-Pegel
ist, jedoch auf den High-Pegel geht, um das Ende eines Burst anzuzeigen.
-
Das
Adressregister 52, der Adressregisterausgangsschalter 54 und
die Abwärtszählschaltung 30 haben
beispielsweise die in 84 dargestellte Struktur, abgesehen
davon, dass der Adressregisterausgangsschalter 54 ein NO-Steuersignal
vom Speichersteuersignalgenerator 68 empfängt, zusätzlich zum
PO-Steuersignal von der Zugriffs-Zählschaltung 50. Der
Adressregisterausgangsschalter 54 verbindet das Adressregister 52 mit
der Abwärtszählschaltung 30,
immer wenn entweder NO oder PO aktiv ist.
-
Der
Speichersteuersignalgenerator 68 gibt verschiedene Steuersignale
aus, zusätzlich
zu den in den folgenden Ausführungsformen
beschriebenen. Zwei von diesen Signalen, ein Ausgabe-Freigabesignal
POE und ein Lese-Zeitsteuersignal PTR, sind explizit angegeben;
die übrigen
Steuersignale sind allgemein durch einen großen Pfeil angegeben. Der Speicher
Steuersignalgenerator 68 empfängt das von der Zugriffs-Zählschaltung 50 ausgegebene Flag-Signal.
-
Die
Blockauswahleinheit 92 weist beispielsweise die in 84 dargestellte Struktur auf, welche Ein-Bit-Zählschaltungen
F0 und F1 beinhaltet, die das obere Y-Adresssignal YUAD erzeugen.
-
Der
interne Datenbus 24 weist Paare von komplementären Signalleitungen
Da und Da/ für Bank
A auf und ähnliche
Paare von komplementären Signalleitungen
Db und Db/ für
Bank B auf. Aus Gründen
der Einfachheit ist lediglich ein komplementäres Paar von Datenbusleitungen
in jeder Bank dargestellt. Der Datenbus 24 weist auch komplementäre Paare
von Lese-Datenbusleitungen RD und RD/, und RRDa und RRDa/ auf, welche
die Datenbusleitungen Da, Da/, Db und Db/ über (später noch beschriebene) Transistorschalter
mit der Pufferschaltung 83 verbinden, sowie komplementäre Paare
von Schreib-Datenbusleitungen WDa und WDa/, welche Datenbusleitungen
Da, Da/, Db und Db/ über
weitere (später noch
beschriebene) Transistorschalter mit der Dateneingabeeinheit 14 verbinden.
-
Die
Datenbus-Initialisierungseinheit 90 weist Transistoren
Tra1 und Trb1 auf, welche ein Ausgleichen der komplementären Paare
von Datenbusleitungen durchführen.
Diese Transistoren werden durch Rücksetz-Steuersignale PRa und
PRb angesteuert, welche auch zu den Steuersignalen gehören, die
vom Speichersteuersignalgenerator 68 ausgegeben werden.
-
Die
Datenbusleitungen Da und Da/, die von der Bank A kommen, sind mit
den Schreib-Datenbusleitungen WDa und WDa/ über Transistoren SWa verbunden,
welche durch ein internes Schreibfreigabe-Steuersignal PWEa für Bank A
angesteuert werden. In ähnlicher
Weise sind die Datenbusleitungen Db und Db/, die von der Bank B
kommen, mit den Schreib-Datenbusleitungen WDa und WDa/ über Transistoren
SWb verbunden, welche durch ein internes Schreibfreigabe-Steuersignal
PWEb für
Bank B angesteuert werden. Steuersignale PWEa und PWEb werden vom
Speichersteuersignalgenerator 68 ausgegeben. Die Schreib-Datenbusleitungen WDa
und WDa/ sind mit der Dateneingabeeinheit 14 verbunden.
-
Der
Datenbusschalter 82, über
welchen der Datenbus 24 mit der Pufferschaltung 83 verbunden ist,
weist Transistoren SRa1, SRb1 und SR2 auf. Die Transistoren SRa1,
welche die Datenbusleitungen Da und Da/ in Bank A mit den Lese-Datenbusleitungen
RD und RD/ verbinden, werden über
ein internes Lesefreigabe-Steuersignal
PREa für
Bank A angesteuert. Die Transistoren SRb1, welche die Datenbusleitungen
Db und Db/ in Bank B mit den Lese-Datenbusleitungen RD und RD/ verbinden,
werden durch ein internes Lesefreigabe-Steuersignal PREb für Bank B
angesteuert. Die Transistoren SR2, welche die Lese-Datenbusleitungen
RD und RD/ mit den Lese-Datenbusleitungen RRDa und RRDa/ verbinden,
werden durch ein Lesebereitschafts-Steuersignal PRR gesteuert, welches
vom Speichersteuersignalgenerator 68 ausgegeben wird. Die
Lese-Datenbusleitungen RRDa und RRDa/ sind mit der Pufferschaltung 83 verbunden.
Verstärker 96 sind
mit den Lese-Datenbusleitungen RD und RD/ verbunden, sowie mit den
Datenbusleitungen Db und Db/, die von den Transistoren SRb1 in das
Speicherfeld 2B führen,
um die Lesedaten zu verstärken.
-
Die
Lesefreigabe-Steuersignale PREa und PREb werden beispielsweise durch
eine UND- und ODER-Gatter beinhaltende Logikschaltung 98 erzeugt,
welche das PTR-Steuersignal
vom Speichersteuersignalgenerator 68 und das Flag-Signal
von der Zugriffs-Zählschaltung 50 empfängt. Die
Logikschaltung 98 empfängt
auch Steuersignale Pa und Pb, die vom Speichersteuersignalgenerator 68 ausgegeben
wurden, welche die Bänke
A bzw. B auswählen.
-
Die
Datenausgabeeinheit 16 wird durch das interne Ausgabe-Freigabesignal
POE vom Speichersteuersignalgenerator 68 gesteuert.
-
Die
Y-Decoder 8A und 8B weisen UND-Gatter auf, wie
dargestellt in 10. In 93 sind
diese UND-Gatter mit YDa1 bis YDan im Y-Decoder 8A und
mit YDb1 bis YDbn im Y-Decoder 8B bezeichnet.
-
94 zeigt die interne Struktur der Speicherfelder 2A und 2B.
Mit gewissen Notationsunterschieden ist diese Struktur identisch
zur Struktur des in 10 dargestellten Hauptspeicherfeldes 2.
Die folgende Beschreibung beschränkt
sich auf die Notations- oder Bezeichnungsunterschiede.
-
Die
Bezeichnung YDa1 (YDb1) bis YDan (YDbn) bezeichnet die UND-Gatter
der Y-Decoder 8A und 8B, wie in 93, welche äquivalent
zu den UND-Gattern 38 in 10 sind.
-
Die
Signale, die in 10 als Y1 bis Ym bezeichnet
waren, sind in 93 mit Ya1 (Yb1) bis Yan (Ybn)
bezeichnet, wobei die Buchstaben "a" und "b" Bank A bzw. Bank B bezeichnen.
-
Die
Transfertransistoren 46, welche die Bitleitungen mit den
Datenbusleitungen Da (Db) und Da/ (Db/) verbinden, sind als S1 und
Sn bezeichnet. Die Bitleitungen sind als BL1 und BL1/ bis BLn und BLn/
bezeichnet.
-
PSAA
und PSAB sind Signale, welche die Leseverstärker (SA) in den Bänken A bzw.
B aktivieren. T1 bis Tn bezeichnen Spalten 1 bis n. Der Buchstabe "m" bezeichnet die Anzahl von Reihen in
jeder Speicherbank. Der Buchstabe "n" bezeichnet
die Anzahl von Spalten in jeder Speicherbank.
-
Als
Nächstes
wird die Funktionsweise der achtunddreißigsten Ausführungsform
für den
Fall eines Burst beschrieben, bei welchem Daten für sechs Pixel
aus einer einzigen Bank ausgelesen werden, welche jeweils drei Pixel
aus zwei Halbbildern beinhalten, wobei die Daten in separaten Blöcken in
der Bank gespeichert werden.
-
Die
folgende Beschreibung hat auch Gültigkeit
für die
zweiunddreißigste
bis sechsunddreißigste Ausführungsform,
insofern als diese Ausführungsformen
gemeinsame Merkmale mit der achtunddreißigsten Ausführungsform
haben.
-
Bezugnehmend
auf 95 wird zum Zeitpunkt t1, bei
dem sich CS/ und RAS/ auf dem Low-Pegel befinden, eine X-Adresse
(Xi) an den Adresseingangsanschlüssen
ADD empfangen. Der Speichersteuersignalgenerator 68 wählt Bank
A oder B beispielsweise gemäß dem geringstwertigen X-Adressbus
aus und sendet die X-Adresse
an den entsprechenden X-Decoder 6A oder 6B, welcher
die entsprechende Wortleitung WLi ansteuert. In der folgenden Beschreibung
sei angenommen, dass Bank A ausgewählt ist. Somit befindet sich
das Steuersignal Pa auf dem High-Pegel und das Steuersignal Pb auf
dem Low-Pegel.
-
Folgend
auf den Zeitpunkt t1, steuert der Speichersteuersignalgenerator 68 das
Leseverstärker-Aktivierungssignal
(PSAA) in der ausgewählten Bank
A an und Daten beginnen auf den Bitleitungen (BL1 und BL1/ bis BLn
und BLn/) in Bank A zu erscheinen. Bank B bleibt inaktiv.
-
Zum
Zeitpunkt t2, bei dem CS/ und CAS/ auf dem Low-Pegel sind, wird
eine Y-Adresse Yj
an den Adresseingangsanschlüssen
ADD empfangen. Die Adresseingabeeinheit 81 sendet die niedrigeren Adressbits
(PB) an das Adressregister 92 und sendet die oberen Adressbits
(PC) an die Blockauswahleinheit 92. Die Adresseingabeeinheit 81 sendet
auch das PA-Steuersignal an die Zugriffs-Zählschaltung 50, wodurch
eine Burstlänge
von sechs Zyklen festgelegt wird. Das NBL-Steuersignal, das vom
Speichersteuersignalgenerator 68 an die Zugriffs-Zählschaltung 50 gesendet
wurde, gibt an, dass der Burst drei Zyklen für den Zugriff auf jeden Block
in der gewählten
Speicherbank aufwendet.
-
Die
Erfindung ist nicht auf dieses Verfahren einer Verwendung der PA-
und NBL-Steuersignale eingeschränkt. Als
alternatives Verfahren kann PA drei Zyklen bezeichnen und NBL kann
zwei Sätze von
jeweils drei Zyklen bezeichnen.
-
Bei
einem Zeitpunkt zwischen den Zeitpunkten t2 und t3 aktiviert der
Speichersteuersignalgenerator 68 das NO-Steuersignal, und
der Adressregisterausgangsschalter 54 antwortet, indem
er das Adressregister 52 mit der Abwärtszählschaltung 30 verbindet,
wodurch die unteren Y-Adressbits in die Abwärtszählschaltung 30 geladen
werden. Diese Bits kombinieren mit den oberen Adressbits YUAD, die von
der Blockauswahleinheit 92 ausgegeben wurden, so dass der
Y-Decoder 8A die gesamte zugeführte Y-Adresse Yj empfängt und
ein Signal Yaj aktiviert, das die Bitleitungen in der bezeichneten
Spalte Tj in Bank A mit dem Datenbus verbindet.
-
Im Übrigen bezeichnen
die Buchstaben "a" und "b" bei den Decoder-Ausgangswellenformen (Yaj, Yaj-1, ...,
Ybj-2) in 95 nicht Bänke A und B; alle Zugriffe
in diesem Burst erfolgen auf Bank A. Stattdessen bezeichnen "a" und "b" in
den Decoder-Ausgangswellenformen Blöcke a und bin Bank A, wie in 86.
-
Zum
Zeitpunkt t3 werden die Daten Daj (entsprechend den Daten Da3 in 86) von den Bitleitungen BLj und BLj/ übertragen
und beginnen, auf den Datenbusleitungen Da und Da/ in Bank A zu
erscheinen. Während
des nächsten
Taktzyklus wird das interne Lesefreigabe-Steuersignal PREa für einen
gewissen Zeitraum aktiviert, wobei während dieses Zeitraums Daten
Daj von den Datenbusleitungen Da und Da/ über die Transistoren SRa1 an
die Lese-Datenbusleitungen RDa und RDa/ übertragen werden, wie durch
die Wellenformen in 95 dargestellt. Das (nicht
dargestellte) PRR-Steuersignal ist ebenfalls aktiv, und daher werden
Daten Daj über
die Transistoren SR2 und die Lese-Datenbusleitungen RRDa und RRDa/
an die Pufferschaltung 83 weitergeleitet, in der Pufferschaltung 83 gespeichert
und an die Datenausgabeeinheit 16 weitergeleitet.
-
Das
PREa-Signal wird aus dem PTR-Lese-Zeitsteuersignal durch die in 93 gezeigte Logikschaltung 98 erzeugt.
Das von der Zugriffs-Zählschaltung 50 ausgegebene
Flag-Signal ist auf dem Low-Pegel und Pa auf dem High-Pegel, und
daher folgt PREa den High- und Low-Übergängen von PTR im Wesentlichen
wie durch die Wellenformen in 95 dargestellt
ist.
-
Kurz
nach dem Zeitpunkt t3 aktiviert der Speichersteuersignalgenerator 68 das
Ausgabe-Freigabesteuersignal POE, und im nächsten Taktzyklus sendet die
Datenausgabeeinheit 16 Daten Daj an die Ausgangsanschlüsse DOUT,
wie dargestellt.
-
Die
Operationen schreiten auf diese Weise fort, wobei die Abwärtszählschaltung 30 ein
Herunterzählen
durchführt,
so dass die Daten Daj-1 und Daj-2 vom Speicherfeld 2A an
die Pufferschaltung 83 übertragen
werden. Diese Übertragungsvorgänge erfolgen
zu den dem Zeitpunkt t4 vorhergehenden und den auf diesen folgenden
Taktzyklen.
-
Kurz
vor Zeitpunkt t5 bestimmt die Zugriffs-Zählschaltung 50 aus
der Information, die bereits zuvor in den PA- und NBL-Signalen zugeführt wurde,
dass genügend
Daten aus Block a ausgelesen wurden, und aktiviert das PO-Steuersignal,
was bewirkt, dass die Anfangs-Y-Adresse (niedrigere Bits) aus dem
Adressregister 52 in die Abwärtszählschaltung 30 nachgeladen
werden. Zum gleichen Zeitpunkt sendet, auch wenn dies nicht in 95 angegeben ist, die Zugriffs-Zählschaltung 50 ein
PNBL-Steuersignal an die Blockauswahleinheit 92, was bewirkt,
dass die Blockauswahleinheit 92 die oberen Adressbits YUAD ändert, um
den nächsten
Block (b) anzuzeigen. Somit erzeugt zum Zeitpunkt t5 der Y-Decoder 8A ein
Signal Ybj, welches eine Spalte in Block bin der Speicherbank A
auswählt,
und die Daten Dbj (entsprechend Yb3 in 86)
werden über die
Datenbusleitungen Da und Da/, Rda und RDa/ und RRDa und RRDa/ an
die Pufferschaltung 83 übertragen.
-
Auf
die Zeitpunkte t6 und t7 folgend, werden die nachfolgenden Daten
Dbj-1 und Dbj-2 (entsprechend Yb2 und Yb1 in 86)
vom Speicherfeld 2A über
die Datenbusleitungen Da und Da/, Rda und RDa/ und RRDa und RRDa/
an die Pufferschaltung 83 übertragen. Die Daten Dbj, Dbj-1
und Dbj-2 werden zu den Zeitpunkten t6, t7 bzw. t8 durch die Datenausgabeeinheit 16 ausgegeben.
-
Etwa
bei Zeitpunkt t8, wenn die Daten Dbj-2 zur Pufferschaltung 83 übertragen
wurden und gerade von der Datenausgabeeinheit 16 ausgegeben werden,
aktiviert der Speichersteuersignalgenerator 86 das Datenbusrücksetz-Steuersignal
PRa, wo durch die Datenbusleitungen Da und Da/ initialisiert werden.
Der Y-Decoder 8A fährt
damit fort, das Ybj-2-Spaltenauswahlsignal auszugeben, so dass die
durch dieses Signal ausgewählten
Bitleitungen ebenfalls initialisiert werden. Neue Eingabedaten,
die durch einen schraffierten Punkt bezeichnet sind, werden ebenfalls
zum Zeitpunkt t8 an den Dateneingangsanschlüssen DIN empfangen und auf
den Schreib-Datenbusleitungen WDa und WDa/ platziert.
-
Die
Zugriffs-Zählschaltung 50 aktiviert
zu diesem Zeitpunkt auch das Flag-Signal, um das Ende des Burst
anzuzeigen. Bei Empfang des Flag-Signals unterbricht der Speichersteuersignalgenerator 68 die Ausgabe
des Lese-Zeitsteuersignals PTR, so dass nach dem Zeitpunkt t8 keine
PTR-Impulse mehr erzeugt werden. Demgemäß werden nach dem Zeitpunkt
t8 keine PREa-Impulse mehr erzeugt.
-
Im Übrigen kann,
auch wenn die Logikschaltung 98, welche die Lese-Freigabesignale PREa
und PREb erzeugt, so dargestellt ist, dass sie das Flag-Signal in 93 empfängt,
PREa und PREb in korrekter Weise erzeugt werden, ohne dass in die
Logikschaltung 98 eine Eingabe eines Flag-Signals erfolgt,
und daher kann diese Eingabe entfallen, falls das bevorzugt wird.
-
Kurz
nach dem Zeitpunkt t8 aktiviert der Speichersteuersignalgenerator 68 das
interne Schreib-Freigabesignal PWEa, wodurch die Schreib-Datenbusleitungen
WDa und WDa/ mit den Datenbusleitungen Da und Da/ verbunden werden, welche
das Speicherfeld 2A bedienen. Zum Zeitpunkt t9 werden die
neuen Eingabedaten zu den Datenbusleitungen Da und Da/ übertragen.
Da der Y-Decoder 8a damit fortfährt, das Signal Ybj-2 auszugeben,
werden die Eingabedaten auch zu den ausgewählten Bitleitungen übertragen
und in die Speicherzellen im Block b geschrieben, die zuvor die
Daten Dbj-2 gehalten haben. Auch wenn diese Bitleitungen in 95 als BLj und BLj/ bezeichnet sind, sind sie nicht
die gleichen Bitleitungen BLj und BLj/, von denen die Anfangsdaten
Daj im Burst gelesen wurden, da die Daten Daj aus dem Block a ausgelesen
wurden.
-
Während dieses
Burst können
die Wortleitungen in Bank B als Vorbereitung auf den nächsten Burst,
bei dem auf Bank B zugegriffen wird, vorgeladen werden. Die Datenbusleitungen
und Bitleitungen in Bank B können
ebenfalls initialisiert werden.
-
Das
Flag-Signal ist in 95 so dargestellt, dass es
vom Zeitpunkt t8 bis zum Zeitpunkt t12 auf dem High-Pegel bleibt,
jedoch kann das Flag-Signal selbstverständlich schon früher auf
einen Low-Pegel gebracht werden, als Vorbereitung auf den nächsten Burst.
Weitere kleinere Zeitverlaufsänderungen
können
ebenfalls wie erforderlich vorgenommen werden. 95 soll vielmehr eine allgemeine Abfolge der Ereignisse
als genaue Zeitverlaufbeziehungen darstellen.
-
Ähnlich wie
die zweiunddreißigste
Ausführungsform
ermöglicht
die achtunddreißigste
Ausführungsform,
dass eine einzelne Speichervorrichtung Pixeldaten von mehreren Halbbildern
oder Vollbildern in einem einzigen Burst ausgeben kann. Außerdem kann
die achtunddreißigste
Ausführungsform die
Intervalle zwischen Bursts verkürzen,
und zwar dadurch, dass das Vorladen einer jeden Bank hinter einen
Burst-Zugriff auf eine andere Bank verborgen wird. Mit zwei Bänken besteht
eine bevorzugte Art der Verwendung der achtunddreißigsten
Ausführungsform
darin, die Daten für
ungeradzahlige Pixel in jeder Abtastzeile in der einen Bank zu speichern und
die Daten für
geradzahlige Pixel in jeder Abtastzeile in der anderen Bank zu speichern,
so dass der Zugriff zwischen den beiden Bänken abwechselt.
-
Variationen
-
In
den vorhergehenden Ausführungsformen wurde
ein Bank-Verschachtelungsschema beschrieben, mit dem in abwechselnden
Banken auf abwechselnde Reihen zugegriffen wird, jedoch ist auch
eine Spalten-Zugriffsverschachtelung zwischen den Bänken möglich.
-
Die
Anzahl der Banken ist nicht auf zwei eingeschränkt. Größere Anzahlen von Banken können vorgesehen
sein.
-
Die
Abwärtszählschaltung
im Y-Adressgenerator kann durch eine Aufwärtszählschaltung ersetzt werden.
Es liegt jedoch ein Vorteil in der Verwendung einer Abwärtszählschaltung,
insofern als die Abtastzeilen in ein Bewegtbild üblicherweise in aufsteigender
Reihenfolge von der Oberseite des Bildschirms zur Unterseite adressiert
und abgetastet werden. Dies macht eine Abwärtszählschaltung für Bursts
des zuvor beschriebenen Typs praktischer, bei denen Daten in der
umgekehrten Zeilenabtastreihenfolge ausgegeben werden.
-
Wenn
die erste bis sechsundzwanzigste Ausführungsform in einer nicht kaskadierten
Weise verwendet werden, wobei die Eingabe und die Ausgabe zu separaten
Zeitpunkten erfolgt, können
sich die Dateneingabeeinheit 14 und die Datenausgabeeinheit 16 die
gleichen externen Datenanschlüsse gemeinsam
teilen.
-
Die
Zugriffs-Zählregister
und die Adressnachrechnungsschaltungen der neunzehnten bis sechsundzwanzigsten
Ausführungsform
können
in Kombination mit verschiedenen weiteren Ausführungsformen verwendet werden.
-
Die
PM- und PO-Steuersignale in der einunddreißigsten Ausführungsform
können
durch den Speichersteuersignalgenerator 68 anstelle der
Zugriffs-Zählschaltung 50 erzeugt
werden.
-
Das
PA-Steuersignal in der siebenundzwanzigsten bis achtunddreißigsten
Ausführungsform kann
mittels des Speichersteuersignalgenerators 68 anstelle
der Adresseingabeeinheit 81 erzeugt werden.
-
Auch
wenn die Erfindung auf Probleme abzielt, die bei der digitalen Verarbeitung
von Bewegtbildern angetroffen werden, sind Anwendungen der Speichervorrichtungen
der Erfindung nicht auf die digitale Verarbeitung von Bewegtbildern
eingeschränkt.
-
Für Fachleute
ist klar, dass weitere Variationen innerhalb des in den nachfolgenden
Ansprüchen dargelegten
Schutzumfangs möglich
sind.