-
HINTERGRUND
DER ERFINDUNG
-
Die Erfindung betrifft ein Datenverarbeitungssystem
speziell zur Bildbearbeitung auf dem Gebiet eines Informationsterminals
wie eines PC oder einer Workstation zum Verarbeiten der in einem Speicher
zugeordneten Bilddaten, und spezieller betrifft sie eine Technik,
die dann effektiv ist, wenn sie bei einem Hochgeschwindigkeits-Bildverarbeitungssystem
zum Zugreifen auf einen Speicher mit hoher Geschwindigkeit synchron
zu einem Taktsignal angewandt wird.
-
Bei einem Bildverarbeitungssystem
führt ein Zeichnungsanzeigeprozessor
eine Zeichnungsverarbeitung für
einen Rahmenpuffer entsprechend Zeichnungsbefehlen oder -parametern,
wie sie von einer CPU übertragen
werden, aus. Dieser Zeichnungsanzeigeprozessor kann die Zeichnungsverarbeitung entsprechend
den Zeichnungsbefehlen oder -parametern, wie sie vorab im Rahmenpuffer
oder einem lokalen Spezialspeicher untergebracht werden, ausführen. Darüber hinaus
liest der Zeichnungsanzeigeprozessor die erforderlichen Anzeigedaten
entsprechend Horizontal- und Vertikalsynchronisier-Zeitpunkten und
der Punkterate des Monitors aus dem Rahmenpuffer aus und zeigt sie über einen
Punkteschieber auf dem Monitor an. Der Taktsignalgenerator erzeugt
ein Grund-Taktsignal und ein Punkte-Taktsignal auf Grundlage der
Bezugsfrequenz eines Quarzoszillators, und er liefert diese an den Zeichnungsanzeigeprozessor
und den Punkteschieber. Als Rahmenpuffer eines derartigen Bildverarbeitungssystems
kann ein DRAM (d. h. Dynamic Random Access Memory) oder ein Mehrport-DRAM
verwendet werden, der eine so große Speicherkapazität erhält, wie
sie für
die Bitkartenanordnung der Anzeigedaten benötigt wird.
-
Beim Bildverarbeitungssystem, wie
es in einem bekannten Faxgerät,
einem Drucker oder einer Grafikvorrichtung verwendet wird, werden
andererseits ein Hochgeschwindigkeits-SRAM (d. h. Static Random
Access Memory) für
die lokale Verarbeitung unter Bezugnahme auf Peripheriepixel, wie
in der japanischen Patentoffenlegung Nr. 261969/1986 offenbart,
und ein DRAM als Speicher großer
Kapazität zum
Speichern von Codedaten und Zeichensatzdaten verwendet.
-
Entsprechend den Trends auf dem Gebiet von
Informationsterminals in den letzten Jahren, wie PCs oder Workstations
zu Geschäftszwecken
haben die hohe Qualität,
die Betriebsgeschwindigkeit und die Funktionsfähigkeit Fortschritte erfahren,
wobei die Datenbusbreite erhöht
wurde, wenn der Rahmenpuffer aus einem Standard-DRAM besteht. Wenn eine
andere Konstruktion verwendet wird, wird die Zeichnungsverarbeitungseffizienz
dadurch verbessert, dass der Rahmenpuffer aus einem Multiport-DRAM
aufgebaut wird. Dementsprechend tritt ein Problem dahingehend auf,
dass die Systemkosten erhöht
sind.
-
Andererseits wurden Synchron-DRAMs
als Speicher großer
Kapazität
angegeben. Ein Synchron-DRAM kann Daten, Adressen und Steuersignale
synchron mit Taktsignalen, im Unterschied zum bekannten DRAM, aufnehmen/ausgeben,
so dass ein Speicher großer
Kapazität,
entsprechend einem DRAM, mit der hohen Geschwindigkeit eines SRAM realisiert
werden kann. So können
mit einem Synchron-DRAM Zugriffe höherer Geschwindigkeit und größere Kapazität, über den
Werten eines bekannten DRAM, zu vernünftigen Kosten erzielt werden.
Dieser Synchron-DRAM kann spezifizieren, auf wieviele Daten für eine ausgewählte Wortleitung
zuzugreifen sind, z. B. ausgedrückt
als Burstlänge.
Wenn die Burstlänge
N betrifft, kann die Anzahl N von Daten sequenziell dadurch gelesen
oder geschrieben werden, dass die Auswählzustände von Spaltenleitungen durch
einen internen Spaltenadressenzähler
geschaltet werden. Übrigens
ist die Anwendung eines Synchron-DRAM als Hauptspeicher oder für Grafikanwendungen
z. B. in für
Electronic Technology, S. 24 bis 28 (1993), "Applications to Main Memory or Graphics
of High-Speed DRAM" offenbart.
-
Wir haben ein Bildverarbeitungssystem
untersucht, das billig dadurch auf einen Speicher großer Kapazität mit hoher
Geschwindigkeit zugreifen kann, dass ein Speicher für hohe Verarbeitungsgeschwindigkeit
und ein Speicher großer
Kapazität
integriert werden. Genauer gesagt, haben wir den Fall untersucht,
bei dem ein System unter Verwendung eines Synchron-DRAM als Speicher
mit einer Funktion zum Einspeichern von Adressen, Daten und Steuersignalen
synchron mit Taktsignalen konstruiert wird, und wir haben die nachfolgend
angegebenen Punkte aufgefunden.
-
Erstens müssen, um Hochgeschwindigkeitszugriff
unter Aufrechterhaltung der Zuverlässigkeit einer Zugriffsoperation
zu realisieren, die zeitversetzte zwischen den von den Schaltungsmodulen
ausgegebenen Daten, Adressen- und Steuersignalen und den Taktsignalen
aufgrund der Eigenschaften des Synchron-DRAM einen kleinen Wert
aufweisen, um die Daten-, Adressen- und Steuersignale synchron mit den
Taktsignalen einzugeben/auszugeben.
-
Zweitens sind beim Zeichnen einer
geraden Linie in einer beliebigen Richtung die Speicheradressen
nicht mit derselben Zeilenadresse zusammenhängend, so dass die Burstlänge wünschenswerterweise
den Wert 1 aufweisen soll. Bei einer Rechteck-Füllzeichnung zum Löschen des
Speichers sind andererseits die Speicheradressen mit derselben Zeilenadresse
zusammenhängend,
so dass die Burstlänge
wünschenswerterweise
einen Wert N (N > 1)
aufweist. So ist es erwünscht,
dass die Verarbeitung einer Änderung
der Burstlänge
entsprechend dem Zeichnungsverarbeitungsinhalt seitens des Anzeigesteuersystems
ausgeführt
wird.
-
Drittens wurde ferner der Fall untersucht,
gemäß dem ein
Synchron-DRAM dazu verwendet wird, das System aufzubauen. Dank der
Verwendung des Synchron-DRAM
kann ein Taktsignal-Timing z. B. zum Ausgeben der gelesenen Daten
konzipiert werden, nachdem eine Adresse, auf die zugegriffen werden
soll, ausgegeben wurde, so dass die nächste Adresse ausgegeben werden
kann, bevor die Leseverarbeitung abgeschlossen ist. Wenn die Adressen aufeinanderfolgend
auszugeben sind, besteht eine Beschränkung dahingehend, dass sie
zur selben Zeilenadresse gehören.
Um auf verschiedene Zeilenadressen in derselben Bank zuzugreifen,
ist daher eine Fehltreffer-Verarbeitung wie eine Vorablade-Verarbeitung
erforderlich.
-
EP-A-0 300 007 offenbart einen wiederbeschreibbaren
Speicher mit einem Modusregister für den Zugriff über einen
externen Prozessor. Die Steuerbits im Modusregister bestimmen, ob
Zugriffe aufeinanderfolgende Spaltenadressen bei derselben Zeilenadresse
des Speichers unter Steuerung durch einen internen Spaltenadressenzähler auszuführen sind,
und wieviele.
-
US-4,847,809 offenbart einen Bildspeicher zur
Verwendung als Puffer für
ein Videosignal zum Kompensieren von Geschwindigkeitsvariationen
einer Videoquelle (z. B. eines Videobandrecorders). Von der Videoquelle
herrührende
Bilddaten werden primär
in aufeinanderfolgende Zeilenadressen, bei derselben Spaltenadresse,
des Speichers eingeschrieben. Der Speicher erlaubt auch den Zugriff
auf individuelle, nicht aufeinanderfolgende Adressen.
-
Zusammenfassung
der Erfindung
-
Es ist eine Aufgabe der Erfindung,
ein Datenverarbeitungssystem für
effizientes Zeichnen von Bildern zu schaffen.
-
Diese Aufgabe ist durch das im Anspruch
1 dargelegte Datenverarbeitungssystem gelöst. Die Unteransprüche sind
auf bevorzugte Ausführungsformen
der Erfindung gerichtet.
-
Eine Ausführungsform der Erfindung ändert die
Burstlänge
entsprechend einem Verarbeitungsinhalt, wodurch ein Problem gelöst wird,
wenn ein System mit integriertem Speicher einen Synchron-DRAM verwendet.
Eine andere Ausführungsform
verbessert den Busdurchsatz des Speichers bei niedrigen Kosten entsprechend
der Burstlänge.
Eine weitere Ausführungsform
realisiert die Fehltrefferverarbeitung zu geringen Kosten und mit
hoher Geschwindigkeit. Eine weitere Ausführungsform ist ein Datenprozessor,
der zum Steuern des Zugriffs eines Taktsignal-synchronisierten Speichers
wie eines Synchron DRAM mit Hochgeschwindigkeitsbetrieb und großer Kapazität optimiert
ist.
-
Die vorstehenden und andere Aufgaben
sowie neuartige Merkmale der Erfindung werden aus der folgenden
Beschreibung erkennbar, die unter Bezugnahme auf die beigefügten Zeichnungen
erfolgt.
-
Ausführungsformen der Erfindung,
wie sie hier offenbart werden, werden nachfolgend kurz beschrieben.
Spezielle Merkmale der Ausführungsformen
sind grob in die Zuführung
von Taktsignalen zu einem Speicher wie einem Synchron-DRAM, die
Einstellung eines Modusregisters zum Spezifizieren der Betriebsmodi
und die Verarbeitung eines Fehltreffers unterteilt.
-
«Zuführung von Taktsignalen»
-
Ein Datenprozessor weist Folgendes
auf: eine Bussteuereinrichtung (14), die mit einem Speicher
(22) wie einem Synchron-DRAM eine Schnittstelle zum Eingeben
von Adressen, Eingeben/Ausgeben von Daten und Eingeben von Steuersignalen synchron
mit einem von außen
zugeführten
Taktsignal (CLK) bildet; mehrere Datenverarbeitungsmodule (12, 13),
die mit der Bussteuereinrichtung verbunden sind, um individuell
Daten und Adressen für
den Zugriff auf den Speicher zu erzeugen; und eine Taktsignal-Zuführeinrichtung
zum Versorgen der Datenverarbeitungsmodule mit individuellen, charakteristischen
Betriebs-Taktsignalen und zum Liefern der Taktsignale für den Zugriff
auf den Speicher nach außen
synchron mit den Operationen der Datenverarbeitungsmodule, die durch
ein zugeführtes
charakteristisches Betriebs-Taktsignal betrieben werden.
-
Damit der Datenprozessor leicht dann
angewandt werden kann, wenn mehrere Datenverarbeitungsmodule über verschiedene
Betriebsgeschwindigkeiten verfügen,
weist die Taktsignal-Zuführeinrichtung
Folgendes auf: mehrere Taktsignal-Treiber (16c, 16s),
die für
die einzelnen Betriebsgeschwindigkeiten der mehreren Datenverarbeitungsmodule vorhanden
sind; und einem Taktsignal-Selektor (25) zum Auswählen desjenigen
der Ausgangssignale der Taktsignaltreiber, das dem als Zugriffsobjekt
wirkenden Datenverarbeitungsmodul entspricht, um das ausgewählte Ausgangssignal
nach außen
zu liefern.
-
Um einen Wettbewerb des Taktsignals
dann zu vermeiden, wenn mehrere Datenprozessoren den Speicher gemeinsam
haben, verfügt
der Datenprozessor ferner über
einen Taktsignalpuffer (160), der so ausgebildet ist, dass
er das Taktsignal von der Taktsignal-Zuführeinrichtung nach außen ausgibt und
eine Stufe mit hoher Ausgangsimpedanz selektiv steuerbar macht.
-
Um einen ROM (d. h. einen Read Only
Memory), in dem Parameter für
die Datenverarbeitung gespeichert sind, gemeinsam nutzbar anzuschließen und
ihn zu verwenden, beinhaltet die Bussteuereinrichtung eine Einrichtung
zum Erkennen aus einer ausgegebenen Adresse, wenn auf einen zweiten Speicher
mit einer kleineren Zugriffsgeschwindigkeit als der des mit ihr
verbundenen Speichers zuzugreifen ist, dass der Zugriff auf diesen
zweiten Speicher auszuführen
ist, um dadurch den Speicherzyklus für den Zugriff auf diesen zweiten
Speicher länger
als den für
den genannten. Speicher zu machen.
-
Diese Bussteuereinrichtung verfügt über eine
Einrichtung (143, 144 und 1495c) zum
Ausgeben, als Steuersignalen, von Befehlen zum Bestimmen der Betriebsmodi
des Speichers auf eine Anweisung für den Zugriff auf den Speicher
von den Datenverarbeitungsmodulen hin.
-
Die Bussteuereinrichtung, die Datenverarbeitungsmodule
und die Taktsignal-Zuführeinrichtung sind
auf einem Halbleitersubstrat ausgebildet. Darüber hinaus weist der Datenprozessor
ferner Folgendes auf: einen Speicher, der so ausgebildet ist, dass er
ein Adresseneingangssignal, ein Daten-Eingabe/Ausgabe-Signal und
ein Steuersignal synchron mit dem Taktsignal empfängt, und
der mit der Bussteuereinrichtung verbunden ist; und eine Taktsignal-Erzeugungseinrichtung,
die mit der Taktsignal-Zuführeinrichtung
verbunden ist.
-
«Modusregistereinstellung»
-
Ein Datenverarbeitungssystem weist
Folgendes auf: einen wiederbeschreibbaren Speicher, der so ausgebildet
ist, dass er ein Adresseneingangssignal, ein Daten-Eingabe/Ausgabe-Signal
und ein Steuersignal synchron mit einem Taktsignal empfängt und
die Adresse, wie sie in einem internen Adressenzähler (207) voreingestellt
ist, zu Zeitpunkten aktualisiert, deren Anzahl der Eintragszahl
eines Modusregisters (30) entspricht, um die Daten sequenziell
zu lesen/zu schreiben; und einen Datenprozessor (11) zum
Erzeugen von Daten und Adressen zum Zugreifen auf den Speicher und
zum Nutzen des Speichers in zumindest einem Rahmenpuffer zum Verarbeiten
von Bilddaten, wobei der Datenprozessor eine Einrichtung zum Ausgeben
eines Befehls und eines Registereinstellwerts zum Einstellen des Modusregisters
entsprechend dem Zustand zum Datenverarbeitungszeitpunkt aufweist.
-
Das Datenverarbeitungssystem verfügt ferner über einen
Eingangsanschluss zum Empfangen eines externen Signals (135)
zum Einstellen des Zeitpunkts zum Ausgeben eines Befehls zum Einstellen des
Modusregisters. Darüber
hinaus verfügt
der Datenprozessor ferner über
eine Anweisungssteuereinrichtung (51 bis 57) zum
Ausführen
der Anweisung, die der Ausgabe des Befehls zum Einstellen des Modusregisters
zugeordnet ist. Darüber
hinaus weist der Datenprozessor ferner Folgendes auf: einen Adressendecodierer
(1481) zum Erkennen eines internen Zugriffs auf die Adresse,
die der Ausgabe des Befehls zum Einstellen des Modusregisters zugeordnet
ist; und eine Ablaufsteuerung (143) zum Ausgeben des Modusregister-Einstellbefehls
entsprechend dem Erkennungsergebnis durch den Adressendecodierer
und zum Ausgeben der dem internen Zugriff zu unterziehenden Daten
als Eintragewert für
ein Befehlsregister nach außen.
-
Ein Datenverarbeitungssystem zum
Verbessern des Durchsatzes einer Datenverarbeitung einhergehend
mit einem Speicherzugriff weist Folgendes auf: einen Speicher (22)
und einen Datenprozessor (11) zum Zugreifen auf den Speicher
zum Verarbeiten von Bilddaten, wobei der Speicher über mehrere
Speicherbänke
(200A, 200B) verfügt und er dazu in der Lage
ist, ein Adresseneingangssignal, ein Daten-Eingabe/Ausgabe-Signal
und ein Steuersignal synchron mit einem Taktsignal (CLK) zu empfangen, wobei
der Speicher über
einen Burstmodus verfügt, in
dem auf ihn zugegriffen wird, während
eine in einem internen Adressenzähler
(207) voreingestellte Adresse aktualisiert wird, so dass er
einen Adressenaktivierungsbefehl zum Eintragen der Zugriffsadresse
in einer anderen Speicherbank parallel zum Betrieb einer im Burstmodus
betriebenen Speicherbank empfangen kann, und wobei der Datenprozessor
Folgendes aufweist: Datenverarbeitungsmodule (12, 13) zum
Erzeugen von Daten und Adressen zum Zugreifen auf den Speicher und
zum Verarbeiten der Bilddaten unter Verwendung des Speichers in
mindestens einem Rahmenpuffer; und eine Bussteuereinrichtung (14)
zum Ausgeben des aktiven Adressenbefehls auf die Anweisung für einen
Zugriff vom Datenverarbeitungsmodul für eine andere Speicherbank
als diejenige, auf die im Burstmodus zugegriffen wird, hin, um es
zu ermöglichen,
die Zugriffsadresse vorab einzutragen.
-
«Fehltrefferverarbeitung 1»
-
Ein Datenverarbeitungssystem zum
Verhindern einer Störung
der Pipeline, die durch paralleles Lesen/Schreiben mehrerer Speicher
realisiert wird, weist Folgendes auf: einen ersten und einen zweiten Speicher
(82a, 82b) zum Einspeichern von Zeilenadressen
zum Aktivieren derselben Zeilenadresse als eine solche, die einmal
eingespeichert wurde, um für sequenziellen
Zugriff durch Aktualisieren einer Spaltenadresse genutzt zu werden,
und zum Empfangen eines Adresseneingangssignals, eines Daten-Eingabe/Ausgabe-Signals
und eines Steuersignals synchron mit einem Taktsignal, einen ersten
und einen zweiten Speicherbus (821a, 822a, 821b, 822b),
die dem ersten bzw. zweiten Speicher zugeordnet sind; eine erste
und eine zweite Bussteuereinrichtung (74a, 74b),
die dem ersten bzw. zweiten Speicherbus zugeordnet sind; ein Datenverarbeitungsmodul
(71), das mit der ersten und der zweiten Bussteuereinrichtung
verbunden ist, um Daten und Adressen für den Zugriff auf den ersten
und den zweiten Speicher zu erzeugen, um die aus dem ersten Speicher
ausgelesenen Daten zu verarbeiten und um die Zugriffsadressen für den ersten
und den ersten und den zweiten Speicher parallel zu erzeugen und
auszugeben, um das Ergebnis der Datenverarbeitung im zweiten Speicher
abzuspeichern; eine Verzögerungseinrichtung
(731, 732) zum Übertragen der Zugriffsadresse für den zweiten
Speicher, wie sie vom Datenverarbeitungsmodul ausgegeben wird, an
den zweiten Speicher mit einer Verzögerungszeitperiode entsprechend
der Zeitperiode für
die Datenverarbeitung; eine erste Fehltreffer-Erkennungseinrichtung
(72b) zum Erkennen, ob die vom Datenverarbeitungsmodul
zum ersten Speicher ausgegebene Zeilenadresse mit der zugeführten vorigen
Zeilenadresse übereinstimmt
oder nicht; eine zweite Fehltreffer-Erkennungseinrichtung (62a)
zum Erkennen, ob die vom Datenverarbeitungsmodul an den zweiten
Speicher ausgegebene Zeilenadresse mit der zugeführten vorigen Zeilenadresse übereinstimmt
oder nicht, so dass der zugehörige
Er kennungszeitpunkt im Wesentlichen mit dem durch die erste Fehltreffer-Erkennungseinrichtung übereinstimmt;
und eine Einrichtung (76) zum Unterbrechen des Betriebs
des Datenverarbeitungsmoduls während
die Zeilenadresse betreffend den Fehltreffer aktualisiert wird,
wenn entweder die erste oder die zweite Fehltreffer-Erkennungseinrichtung
die fehlende Übereinstimmung
erkennt.
-
Ein Datenverarbeitungssystem zum
Verbessern der Zuverlässigkeit
einer Verarbeitung zum Zeitpunkt eines Fehltreffers einhergehend
mit einer Änderung
eines Speicherzugriffsobjekts weist Folgendes auf: einen Speicher
(182a) zum Einspeichern einer Zeilenadresse, um dieselbe
Adresse wie die, die einmal eingespeichert wurde, zu aktivieren,
für sequenziellen
Zugriff durch Aktualisieren einer Spaltenadresse und zum Empfangen
eines Adresseneingangssignals, eines Daten-Eingangs/Ausgangs-Signals
und eines Steuersignals synchron mit einem Taktsignal; mehrere Datenverarbeitungsmodule
(71, 75) zum Erzeugen von Daten und Adressen für Zugriff
auf den Speicher; eine Fehltreffer-Erkennungseinrichtung (72a)
zum Erkennen, ob die von den Daten verarbeitungsmodulen zum Speicher
ausgegebene Zeilenadresse mit der vorige zugeführten Zeilenadresse übereinstimmt
oder nicht; eine Erkennungseinrichtung (725) zum Erkennen
einer Änderung
in den Datenverarbeitungsmodulen für Zugriff auf den Speicher;
und eine Bussteuereinrichtung (74a) zum Anweisen des Speichers
zum Aktualisieren der Zeilenadresse für den Zugriff auf entweder
die Erkennung einer Fehlübereinstimmung
durch die Fehltreffer-Erkennungseinrichtung oder die Erkennung einer Änderung
im Zugriffsobjekt durch die Erkennungseinrichtung hin.
-
« Fehltrefferverarbeitung 2»
-
Ein Datenverarbeitungssystem zur
Verarbeitung von Daten auf Pipelineweise, während mehrere Speicher parallel
gelesen/geschrieben werden, weist Folgendes auf: einen ersten und
einen zweiten Speicher (82a, 82b) zum Einspeichern
einer Zeilenadresse, um es zu ermöglichen, auf dieselbe Zeilenadresse,
die einmal eingespeichert wurde, sequenziell durch Aktualisieren
einer Spaltenadresse zuzugreifen, und um ein Adresseneingangssignal,
ein Daten-Eingabe/Ausgabe-Signal
und ein Steuersignal synchron mit einem Taktsignal zu empfangen; Speicherbusse
(821a, 821b, 822b), die dem ersten bzw.
zweiten Speicher zugeordnet sind; Bussteuereinrichtungen (74a, 74b),
die jeweils den Speicherbussen zugeordnet sind; ein Datenverarbeitungsmodul
(71), das mit den einzelnen Bussteuereinrichtungen verbunden
ist, um Daten und Adressen für
den Zugriff auf den ersten und den zweiten Speicher zu erzeugen,
um dadurch die aus dem ersten Speicher ausgelesenen Daten zu verarbeiten,
und um die Zugriffsadressen für
den ersten und den zweiten Speicher parallel zu erzeugen, um die
Ergebnisse der Datenverarbeitung in den zweiten Speicher einzuspeichern;
und eine Verzögerungseinrichtung
(731, 732) zum Übertragen der Adresse für den zweiten
Speicher, wie sie vom Datenverarbeitungsmodul ausgegeben wird, an
den zweiten Speicher mit einer Verzögerungszeitperiode, die derjenigen
für die
Datenverarbeitung entspricht. Kurz gesagt, wird dafür gesorgt, dass
der erste und der zweite Speicher die Information parallel über die
einzelnen Speicherbusse übertragen,
so dass die Zugriffsadressen für
die zwei Speicher durch das Datenverarbeitungsmodul parallel ausgegeben
werden und das Timing für
die zwei parallel ausgegebenen und in die entsprechenden Speicher
einzugebenden Zugriffsadressen durch die Verzögerungseinrichtung eindeutig
bestimmt wird.
-
Um eine Störung der Pipeline-Datenverarbeitung
zu verhindern, weist das Datenverarbeitungssystem ferner Folgendes
auf: eine Fehltreffereinrichtung zum Erkennen zu im Wesentlichen
demselben Zeitpunkt, ob die von der Datenverarbeitungsmodul parallel
an den ersten und den zweiten Speicher ausgegebenen Zeilenadressen
der individuellen Zugriffsadressen mit der zuvor zuge führten Zeilenadresse übereinstimmen
oder nicht; und eine Einrichtung zum Unterbrechen des Betriebs des
Datenverarbeitungsmoduls während
die Zeilenadresse betreffend den Fehltreffer aktualisiert wird,
wenn von der Fehltreffer-Erkennungseinrichtung ein Nichtübereinstimmen
der Zeilenadressen erkannt wird. Genauer gesagt, weist ein Datenverarbeitungssystem
zum Verhindern einer Störung
der Pipeline, wie durch paralleles Lesen/Schreiben mehrerer Speicher
realisiert, Folgendes auf: einen ersten und einen zweiten Speicher
(82a, 82b) zum Einspeichern von Zeilenadressen,
um es zu ermöglichen,
auf dieselbe Zeilenadresse, wie sie einmal eingespeichert wurde,
sequenziell durch Aktualisieren einer Spaltenadresse zuzugreifen,
und um ein Adresseneingangssignal, ein Daten-Eingabe/Ausgabe-Signal
und ein Steuersignal synchron mit einem Taktsignal zu empfangen; einen
ersten und einen zweiten Speicherbus (821a, 822a, 821b, 822b),
die dem ersten bzw. zweiten Speicher zugeordnet sind; eine erste
und eine zweite Bussteuereinrichtung (74a, 74b),
die dem ersten bzw. zweiten Speicherbus zugeordnet sind; ein Datenverarbeitungsmodul
(71), das mit der ersten und der zweiten Bussteuereinrichtung
verbunden, um Daten und Adressen für den Zugriff auf den ersten und
den zweiten Speicher zu erzeugen, um dadurch die aus dem ersten
Speicher ausgelesenen Daten zu verarbeiten und um die Zugriffsadressen
für den
ersten und den zweiten Speicher parallel zu erzeugen und auszugeben,
um das Ergebnis der Datenverarbeitung im zweiten Speicher abzuspeichern;
eine Ver zögerungseinrichtung
(731, 732) zum Übertragen der Zugriffsadresse
für den
zweiten Speicher, wie sie vom Datenverarbeitungsmodul ausgegeben
wird, mit einer Verzögerungszeitperiode
entsprechend der Zeitperiode für
die Datenverarbeitung an dem zweiten Speicher; eine erste Fehltreffer-Erkennungseinrichtung
(72b) zum Erkennen, ob die vom Datenverarbeitungsmodul
zum ersten Speicher ausgegebene Zeilenadresse mit der zuvor zugeführten Zeilenadresse übereinstimmt
oder nicht; eine zweite Fehltreffer-Erkennungseinrichtung (72b)
zum Erkennen, ob die vom Datenverarbeitungsmodul zum zweiten Speicher
ausgegebene Zeilenadresse mit der zuvor zugeführten Zeilenadresse übereinstimmt,
so dass der Erkennungszeitpunkt im Wesentlichen gleichzeitig mit
dem durch die erste Fehltreffer-Erkennungseinrichtung liegt; und
eine Einrichtung (76) zum Unterbrechen des Betriebs des
Datenverarbeitungsmoduls während
die Zeilenadresse betreffend den Fehltreffer aktualisiert wird,
wenn entweder die erste oder die zweite Fehltreffer-Erkennungseinrichtung
die Nichtübereinstimmung
erkennt.
-
Gemäß den oben spezifizierten Maßnahmen muss
der oben genannte Speicher wie ein Synchron-DRAM, Daten, Adressen
und Steuersignale synchron mit einem Taktsignal eingeben/ausgeben, und
demgemäß muss er
mit demselben Taktsignal, multiplizierten Taktsignal oder geteilten
Taktsignal wie ein Datenprozessor versorgt werden, um auf diesen
Synchron-DRAM zuzugreifen. Wenn jedoch das Ausgangssignal eines
Taktsignalgenerators parallel an den Datenprozessor und den Synchron-DRAM geliefert
wird, können
wegen des Zeitversatzes zwischen dem Taktsignal und der internen
Verzögerung der
Prozessors die Toleranz betreffend die Daten und die Adressen für das Taktsignal
und die Aufbau- und Haltezeit für
die Steuersignale nicht erzielt werden. Um dieses Problem zu lösen, wird
vom Datenprozessor ein synchronisierendes Taktsignal an den Synchron-DRAM
geliefert. Im Ergebnis kann das an den Synchron-DRAM zu liefernde
Taktsignal an die Verzögerung
der Daten-, Adress- und
Steuersignale angepasst werden, um ein Design mit Toleranz zu ermöglichen.
-
Wenn im oben genannten Datenprozessor ein
mit verschiedenen Frequenzen vorhandenes Datenverarbeitungsmodul
vorhanden ist, wird eine Konstruktion verwendet, bei der das Taktsignal
des als Busmaster arbeitenden Datenverarbeitungsmoduls im Datenprozessor
ausgewählt
wird und an den Synchron-DRAM geliefert wird. Im Ergebnis können das an
den Synchron-DRAM zu liefernde Taktsignal und die Verzögerung betreffend
die Daten-, Adress- und Steuersignale mit der Einheit des als Busmaster
wirkenden Datenverarbeitungsmoduls aufeinander eingestellt werden,
um dadurch ein Design mit Toleranz zu ermöglichen.
-
Bei einem Verfahren zum Öffnen des
Synchron-DRAM für
ein externes System werden die Daten-, Adress- und Steuersignale
an den Synchron-DRAM des Datenprozessors und die Taktsignalanschlüsse auf
hohe Impedanz gesteuert. Im Ergebnis kann das Design mit Toleranz
erstellt werden, wenn ein externes System direkt auf einen Synchron-DRAM
zugreift.
-
Das Modusregister im Synchron-DRAM
ist ein Register zum Spezifizieren des Betriebsmodus des Synchron-DRAM.
Eine optimale Einstellung des Modusregisters kann dadurch erfolgen,
dass ein Verfahren zum Einstellen des Modusregisters entsprechend
der internen Architektur und dem Verarbeitungsinhalt des Prozessors
verwendet wird. Beim Zeichnen einer geraden Linie mit beliebiger
Richtung sind z. B. die Speicheradressen nicht in derselben Zeilenadresse
zusammenhängend,
so dass die im Modusregister einzutragende Burstlänge wünschenswerterweise
den Wert 1 aufweist. Bei einer Rechteck-Füllzeichnung zum Löschen des
Speichers sind andererseits die Speicheradressen in derselben Zeilenadresse
zusammenhängend,
so dass die Burstlänge
wünschenswerterweise
einen Wert N (N > 1)
aufweist. So ist eine Verarbeitung zum Ändern der Burstlänge entsprechend
dem Inhalt der Zeichnungsverarbeitung erforderlich. Bei der Erfindung wird
daher das Modusregister dynamisch entsprechend den verschiedenen
Verarbeitungsinhalten geändert.
Der Busdurchsatz des Speichers kann in Übereinstimmung mit der Burstlänge auf
billige Weise verbessert werden.
-
Die Bedingung für Hochgeschwindigkeitsübertragung
ist auf dieselbe gemeinsame Zeilenadresse beschränkt, und es ist erforderlich,
einen Vorabladebefehl und einen Zeilenadresse-Aktivierbefehl auszugeben,
wenn sich die Übertragung
bis auf eine andere Zeilenadresse erstreckt. Bei der Erfindung werden
daher physikalische Speicheradressen und logische Koordinaten so
abgebildet, dass z. B. benachbarte Adressen mit derselben Zeilenadresse
in der X-Richtung sicher immer an verschiedenen Bankadressen angeordnet
werden. Wenn die Burstlänge
auf N (N > 1) eingestellt
ist, können
der Vorabladebefehl und der Aktivierbefehl, während aktuell auf die Daten
des Synchron-DRAM
zugegriffen wird, für
eine andere Bank als die, auf die gerade zugegriffen wird, erzeugt
werden, so dass der Busdurchsatz verbessert werden kann. Das Zeichnungsverarbeitungsmodul,
das Anzeigeverarbeitungsmodul oder die Bussteuereinheit ist mit
einer Einrichtung versehen, die die Adresse einer arithmetischen
Operation unterzieht und mit einer Einrichtung zum Festlegen des
Umschaltens der Zeilenadresse. Wenn eine Änderung der Zeilen adresse erkannt
wird, gibt die Ablaufsteuerung in der Bussteuereinheit den Vorabladebefehl
und den Zeilenadresse-Aktivierbefehl und dann eine Spaltenadresse
aus. So werden Lese/Schreib-Operationen beschleunigt.
-
Wenn das Ergebnis einer Bildverarbeitung mit
Schnellbezugnahme auf den Adressenbereich des als Zeilenspeicher
verwendeten Synchron-DRAM in den Adressenbereich des als Seitenpuffer
verwendeten Synchron-DRAM einzuschreiben ist, bricht die Pipeline
in der Bildverarbeitungseinheit zusammen, wodurch die Verarbeitung
unterbrochen wird, wenn bei den Lese/Schreib-Operationen unabhängig ein
Fehltreffer auftritt. Wenn der Fehltreffer sowohl bei der Lese-
als auch der Schreiboperation auftritt, werden die Speicher-Lese/Schreib-Operationen
in der Pipeline dadurch synchronisiert, dass das gleichzeitige Auftreten
von Fehltreffern gehandhabt wird. So wird eine Schreibadressen-Fehltreffer-Erkennungseinrichtung
zum Erkennen eines Fehltreffers auf der Schreibseite zu im Wesentlichen
demselben Zeitpunkt wie ein Fehltreffer auf der Leseseite verwendet.
-
Da beim Ändern der Adressenobjekte für den Speicher
demgemäß zwangsweise
ein Fehltreffer verursacht wird, kann demgemäß die Unbestimmtheit einer
Fehltrefferentscheidung beim Wiedereröffnung des Betriebs des Datenverarbeitungsmoduls, dessen
Betrieb bei Änderung
der Speicherzugriffsobjekte unterbrochen wurde, beseitigt werden,
wodurch die Zuverlässigkeit
der Verarbeitung bei einem Fehltreffer verbessert wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das ein Bildverarbeitungssystem gemäß einer
Ausführungsform der
Erfindung zeigt;
-
2 ist
ein Blockdiagramm, das ein Beispiel eines Synchron-DRAM zeigt;
-
3 ist
ein Blockdiagramm, das ein Beispiel einer Bussteuereinheit zeigt;
-
4 ist
ein erläuterndes
Diagramm zum Veranschaulichen eines Zustandsübergangs einer Ablaufsteuerung
der Bussteuereinheit;
-
5 ist
ein zeitbezogenes Diagramm zum Veranschaulichen eines Beispiels
eines Vorgangs zum Lesen eines Punkts und zum modifizierten Schreibens
bei einem Zeichnungsprozess;
-
6 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der vorderen Hälfte eines
Interruptprozesses eines Anzeigeverarbeitungsmoduls;
-
7 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der hinteren Hälfte, folgend
auf das der 6;
-
8 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der vorderen Hälfte eines
Burstlesevorgangs für
Anzeigedaten;
-
9 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der hinteren Hälfte, folgend
auf das der 8;
-
10 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der vorderen Hälfte einer
Bitblockübertragung
in einem Zeichnungsprozess;
-
11 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der hinteren Hälfte, folgend
auf das der 10;
-
12 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der vorderen Hälfte einer
Zugriffsoperation vom Typ mit Verschachtelung des Anzeige- und des
Zeichnungsprozesses;
-
13 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der hinteren Hälfte, folgend
auf das der 12;
-
14 ist
ein Blockdiagramm, das eine Ausführungsform
der Erfindung für
Zeichnungssteuervorgänge
durch Bitblockübertragung
zeigt;
-
15 ist
ein Abbildungsdiagramm, das ein Beispiel physikalischer Speicheradressen
und logischer Koordinaten im System der vorliegenden Ausführungsform
zeigt;
-
16 ist
ein Abbildungsdiagramm, das ein anderes Beispiel der physikalischen
Speicheradressen und logischer Koordinaten im System der vorliegenden
Ausführungsform
zeigt;
-
17 ist
ein Abbildungsdiagramm, das noch ein anderes Beispiel der physikalischen
Speicheradressen und logischen Koordinaten im System der vorliegenden
Ausführungsform
zeigt;
-
18 ist
ein Blockdiagramm, das eine Ausführungsform
zum Hochliefern der Adressen-, Daten-, Steuersignale und Taktsignalanschlüsse an einen
Synchron-DRAM zeigt;
-
19 ist
ein Blockdiagramm, das ein anderes Beispiel zum Hochliefern der
Adressen-, Daten-, Steuersignale und Taktsignalanschlüsse an einen Synchron-DRAM
zeigt;
-
20 ist
ein Blockdiagramm, das ein Bildverarbeitungssystem zeigt, bei dem
ein ROM mit einem Datenbus verbunden ist, der gemeinsam mit dem
Synchron-DRAM verwendet wird;
-
21 ist
ein Blockdiagramm, das ein Bildverarbeitungssystem zeigt, bei dem
Taktsignale mehrerer Frequenzen direkt von Zeichnungs- und Anzeigeprozessoren
an den Synchron-DRAM geliefert werden;
-
22 ist
ein Blockdiagramm, das ein Bildverarbeitungssystem zeigt, bei dem
Taktsignale mehrerer Frequenzen von außen an den Synchron-DRAM geliefert
werden;
-
23 ist
ein Blockdiagramm, das eine Ausführungsform
eines Bildverarbeitungssystems zeigt, das so aufgebaut ist, dass
es ein einzelnes Modul enthält,
wie dann, wenn die Zeichnungs- und Anzeigeprozessoren kein Zeichnungsverarbeitungsmodul enthalten;
-
24 ist
ein Blockdiagramm, das eine Ausführungsform
eines Bildverarbeitungssystems mit einem Taktsignalselektor zum
Auswählen
von Taktsignalen mehrerer Frequenzen durch ein einzelnes Modul zeigt;
-
25 ist
ein Blockdiagramm, das eine Ausführungsform
für den
Fall zeigt, dass ein Adressenbus oder ein Datenbus zwischen Modulen
und einer Bussteuereinheit als Spezialbus verwendet wird;
-
26 zeigt
eine Ausführungsform
zum Ausgeben eines Modusregister-Einstellbefehls an einen Speicher
zu einem von einem externen Anschluss eingegebenen Zeitpunkt;
-
27 ist
ein Flussdiagramm zum Veranschaulichen einer Ausführungsabfolge
auf eine Spezialanweisung zum Ausgeben des Modusregister-Einstellbefehls hin;
-
28(A) und 28(B) sind erläuternde
Diagramme zum Veranschaulichen der Formate der Spezialanweisung
zum Ausgeben des Modusregister-Einstellbefehls;
-
29 ist
ein Blockdiagramm, das eine Ausführungsform
zeigt, bei der der Einstellwert für ein Modusregister für den Synchron-DRAM
direkt durch einen internen Datenbus spezifiziert werden kann;
-
30 ist
ein Blockdiagramm, das eine Ausführungsform
zum Ausgeben eines Einstellbefehls für das Modusregister des Synchron-DRAM
synchron mit dem Wiederbeschreiben eines internen Registers zeigt,
mit spezieller Abbildung durch einen Adressendecodierer;
-
31 ist
ein Blockdiagramm, das eine Ausführungsform
zum Ausgeben eines Einstellbefehls für das Modusregister des SDRAM
durch eine Mikroprogrammsteuerung zeigt;
-
32 ist
ein Blockdiagramm, das ein Beispiel des Systems zeigt, bei dem mehrere
Zeichnungsanzeigeprozessoren einen einzelnen Synchron-DRAM gemeinsam
nutzen;
-
33 ist
ein Blockdiagramm, das ein Beispiel eines Bildverarbeitungssystems
zeigt, das mit einem Datenprozessor gemäß einer anderen Ausführungsform
der Erfindung versehen ist;
-
34 ist
ein Blockdiagramm, das eine Ausführungsform
für den
Fall zeigt, dass eine Bildverarbeitung durch Lese-/Schreibvorgänge eines
Synchron-DRAM auf Zeitmultiplexweise ausgeführt wird;
-
35 ist
ein Betriebstimingdiagramm zum Veranschaulichen eines Beispiels
des Falls, bei dem im Verlauf einer Pipelineverarbeitung im System
der 33 zu einem Lesezeitpunkt
ein Fehltreffer auftritt;
-
36 ist
ein Betriebstimingdiagramm zum Veranschaulichen eines Beispiels
des Falls, bei dem im System der 33 zu
einem Schreibzeitpunkt ein Fehltreffer auftritt;
-
37 ist
ein Betriebstimingdiagramm zum Veranschaulichen eines Beispiels des
Falls, bei dem im System der 34 zu
einem Lesezeitpunkt ein Fehltreffer auftritt;
-
38 ist
ein Betriebstimingdiagramm zum Veranschaulichen eines Beispiels
des Falls, bei dem im System der 34 zu
einem Schreibzeitpunkt ein Fehltreffer auftritt;
-
39 ist
ein Blockdiagramm, das ein Beispiel mit einem Bildprozessor im Datenprozessor
der 33 zeigt;
-
40 zeigt
ein Beispiel eines Taktsignaltreibers im Datenprozessor der 33;
-
41 zeigt
ein Beispiel einer Bussteuereinheit im Datenprozessor der 33;
-
42 zeigt
ein Beispiel einer Bussteuereinheit im Datenprozessor der 34;
-
43 ist
ein Blockdiagramm des Falls, bei dem der Bildprozessor für ein Faxgerät ausgebildet ist;
-
44(a) und 44(b) sind Diagramme zum Erläutern eines
Betriebsvorgangs für
den Fall, dass der Synchron-DRAM auf Zeitschlitzweise verwendet wird;
-
45 ist
ein Blockdiagramm, das ein Beispiel für den Fall zeigt, bei dem der
Bildprozessor bei Grafikverarbeitung angewandt wird; und
-
46 ist
ein Blockdiagramm, das ein Beispiel für den Fall zeigt, bei dem der
Bildprozessor bei einem Drucker angewandt wird.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
«Synchron-DRAM»
-
Die 2 ist
ein Blockdiagramm, das ein Beispiel eines Synchron-DRAM zeigt. Der
Synchron-DRAM, der in der 2 mit 22 gekennzeichnet ist,
wird durch die gut bekannte Herstelltechnik für integrierte Halbleiterschaltkreise
auf einem Halbleitersubstrat aus einkristallinem Silicium hergestellt,
wobei jedoch keine spezielle Beschränkung hierauf besteht. Dieser Synchron-DRAM 22 ist
so aufgebaut, dass er Folgendes enthält: ein Speicherarray 200A, das
eine Speicherbank A (BANK A) bildet; und ein Speicherarray 200B,
das eine Speicherbank B (BANK B) bildet. Jedes der Speicherarrays 200A und 200B besteht
aus dynamischen Speicherzellen, die mit Matrixform angeordnet sind.
Gemäß der 2 sind die Auswählanschlüsse der
in derselben Spalte angeordneten Speicherzellen mit der jeder Spalte entsprechenden
(nicht dargestellten) Wortleitung verbunden, und die Daten-Eingangs/Ausgangs-Anschlüsse der
in derselben Zeilenreihe angeordneten Speicherzellen sind mit der
jeder Zeile entsprechenden komplementären (nicht dargestellten) Datenleitung
verbunden.
-
Eine der nicht dargestellten Wortleitungen des
oben genannten Speicherarrays 200A wird durch einen Zeilendecodierer 201A entsprechend dem
Decodierungsergebnis eines Zeilenadressensignals auf einen Auswählpegel
angesteuert. Die nicht dargestellten komplementären Datenleitungen des Speicherarrays 200A sind
mit einem Leseverstärker & Spaltenselektor 202A verbunden.
Der Leseverstärker
dieses Leseverstärkers & Spaltenselektors 202A ist
eine Verstärkungsschaltung
zum Erfassen und Verstärken
einer Mikropotenzialdifferenz, wobei durch Auslesen der Daten aus
den Speicherzellen dafür
gesorgt wird, dass diese auf jeder komplementären Datenleitung auftritt.
Die restlichen Spaltenschaltstufe ist eine Schaltstufe zum Auswählen und
Verbinden der komplementären
Datenleitungen auf individuelle Weise mit einer komplementären gemeinsamen
Datenleitung 204. Die Spaltenschaltstufe wird entsprechend
dem Decodierungsergebnis eines Spalten-Adresssignals durch einen
Spaltendecodierer 203A ausgewählt. Seitens des Speicherarrays 200B sind
in ähnlicher
Weise ein Zeilendecodierer 201B, ein Leseverstärker & Spaltenselektor 202B und
ein Spaltendecodierer 203B vorhanden. Die oben genannte
komplementäre
gemeinsame Datenleitung 204 ist mit dem Ausgangsanschluss
eines Eingangspuffers 210 und dein Eingangsanschluss eines
Ausgangspuffers 211 verbunden. Der Eingangsanschluss des
Eingangspuffers 210 und der Ausgangsanschluss des Ausgangspuffers 211 sind
mit Daten-Eingangs/Ausgangs-Anschlüssen I/00
bis I/015 von 16 Bits verbunden. Übrigens ist ein vorbestimmtes
Bit des Zeilen-Adresssignals ein Signal zum Auswählen entweder der Speicherbank 200A oder 200B.
-
Die Zeilen-Adresssignale und die
Spalten-Adresssignale, die von Adresseneingangsanschlüssen A0
bis A9 zuzuführen
sind, werden durch einen Spaltenadresspuffer 205 und einen
Zeilenadresspuffer 206 in einem Adressenmultiplexformat eingelesen.
Die so zugeführten
Adresssignale werden durch die individuellen Puffer gespeichert.
Im Auffrischmodus liest der Zeilenadress puffer 206 das von
einem Auffrischzähler 208 auszugebende
Auffrisch-Adresssignal als Zeilen-Adresssignal ein. Das Ausgangssignal
des Spaltenadresspuffers 205 wird als Voreinstell-Datenwert
eines Spaltenadresszählers 207 zugeführt, der
entweder das Spalten-Adresssignal als oben genannter Voreinstell-Datenwert
oder den Wert, der ausgehend vom Spalten-Adresssignal sequenziell
inkrementiert wurde, entsprechend dem Betriebsmodus, wie er durch
einen später
beschriebenen Befehl spezifiziert wird, an die Spaltendecodierer 203A und 203B ausgibt.
-
Eine Steuerung 212 wird
mit sowohl den externen Steuersignal einschließlich eines Taktsignals CLK,
eines Taktaktiviersignal CKE, eines Chipauswählsignals CS* (das Symbol "*" zeigt an, dass ein es tragendes Signal
ein auf niedrigem Pegel aktives Signal ist), eines Spaltenadressen-Strobesignals CAS*,
eines Zeilenadressen-Strobesignals RAS* und eines Schreibaktiviersignals
WE*, wobei jedoch keine spezielle Beschränkung hierauf besteht, als auch
den von den Adresseneingangsanschlüssen A0 bis A9 herkommenden
Steuerdaten versorgt, und sie erzeugt interne Timingsignale zum
Steuern des Betriebsmodus des Synchron-DRAM sowie der Operationen
der oben genannten Schaltungsblöcke
auf Grundlage der Pegel und der Änderungszeitpunkte dieser
Signale. Für
diese Operationen ist die Steuerung 212 mit einer (nicht
dargestellten) Steuerlogik und einem Modusregister 30 versehen.
-
Das Taktsignal CLK wird als Haupt-Taktsignal
des Synchron-DRAM verwendet, wohingegen die restlichen externen
Eingangssignale auf ein Ansteigen des Taktsignals CLK hin signifikant
werden. Das Chipauswählsignal
CS* weist mit seinem niedrigen Pegel den Start des Befehlseingabezyklus
an. Wenn sich das Chipauswählsignal
CS* auf dem hohen Pegel befindet (d. h. im Nicht-Auswählzustand
des Chips), haben die restlichen Eingangssignale keine Bedeutung.
Jedoch werden interne Operationen wie der Auswählzustand einer später beschriebenen Speicherbank
oder die Burstoperation durch die Änderung auf den Zustand mit
nicht ausgewähltem
Chip beeinflusst. Die einzelnen Signale RAS*, CAS* und WE* haben
andere Funktionen als diejenigen zu den entsprechenden Signalen
bei einem normalen DRAM, und sie sind dann signifikant, wenn der
später beschriebene
Befehlszyklus zu definieren ist.
-
Das Taktaktiviersignal CKE ist ein
solches zum Spezifizieren der Gültigkeit
des nächsten
Taktsignals, und die ansteigende Flanke des nächsten Taktsignals wird dann
gültig
gemacht, wenn sich das Signal CKE auf dem hohen Pegel befindet,
und sie wird ungültig
gemacht, wenn es sich auf dem niedrigen Pegel befindet. Obwohl es
nicht dargestellt ist, wird das externe Steuer signal zum Steuern
der Ausgabeaktivierung des Ausgangspuffers 211 im Lesemodus
darüber
hinaus auch der Steuerung 30 zugeführt, und der Ausgangspuffer 211 wird
dann in einen Zustand mit hoher Ausgangsimpedanz gebracht, wenn
sich dieses Signal z. B. auf dem hohen Pegel befindet.
-
Das oben genannte Zeilen-Adresssignal
wird durch die Pegel der Adresseneingangsanschlüsse A0 bis A8 im später beschriebenen
Zeilenadressstrobe-Bankaktivierungsbefehl-Zyklus, synchronisiert
mit der ansteigenden Flanke des Taktsignals CLK, definiert.
-
Das Eingangssignal vom Adresseneingangsanschluss
A9 wird im oben genannten Zeilenadressstrobe- und Bankaktivierbefehl-Zyklus
als Speicherbank-Auswählsignal
angesehen. Genauer gesagt, wird die Speicherbank 200A dann
ausgewählt,
wenn sich das Eingangssignal am Anschluss A9 auf dem niedrigen Pegel
befindet, und die Speicherbank 200B wird dann ausgewählt, wenn
es sich auf dem hohen Pegel befindet. Die Auswählsteuerung für die Speicherbank
kann durch Verarbeitungsvorgänge
wie die Aktivierung nur des Zeilendecodierers auf der Seite der
ausgewählten
Speicherbank, keine Auswahl der Spaltenschaltstufen auf der Seite
der nicht ausgewählten
Speicherbank, oder eine Verbindung nur der Seite der ausgewählten Speicherbank
mit dem Eingangspuffer 210 und dem Ausgangspuffer 211 ausgeführt werden,
wobei jedoch keine spezielle Beschränkung hierauf besteht.
-
Das Eingangssignal am Anschluss A8
im später
beschriebenen Vorablade-Befehlszyklus spezifiziert den Modus der
Vorabladeoperation für
die komplementären
Datenleitungen, und sein hoher Pegel weist an, dass beide Speicherbänke 200A und 200B vorab
geladen werden, wohingegen sein niedriger Pegel anweist, dass eine
Speicherbank vorabgeladen wird, die durch den Anschluss A9 spezifiziert wird.
-
Die oben genannten Spalten-Adresssignale werden
durch die Pegel an den Anschlüssen
A0 bis A7 im Lese- oder Schreibbefehls(d. h. der später beschriebene
Spaltenadresse-Lesebefehl oder Spaltenadresse-Schreibbefehl)zyklus
synchron mit der ansteigenden Flanke des Taktsignals CLK definiert. Außerdem wird
die so definierte Spaltenadresse als Startadresse für den Burstzugriff
verwendet.
-
Nun werden die Hauptbetriebsmodi
des Synchron-DRAM beschrieben, wie sie durch die Befehle anzuweisen
sind.
-
(1) Modusregister-Einstellbefehl
(Mo)
-
Dies ist ein Befehl zum Einstellen
des oben genannten Modusregisters 30. Dieser Befehl wird durch
CS*, RAS*, CAS* und WE* = niedriger Pegel spezifiziert, und die
einzutragenden Daten (d. h. die Registereintragsdaten) werden über die
Anschlüsse A0
bis A9 zugeführt.
Die Registereintragsdaten betreffen die Burstlänge, die CAS-Verzugszeit und
den Schreibmodus, wobei jedoch keine spezielle Beschränkung hierauf
besteht. Die einzutragende Burstlänge beträgt 1, 2, 4, 8 und vollständige (256) Seiten;
die einzutragendeCAS-Verzugszeit beträgt 1, 2 und 3; und der einzutragende
Schreibmodus ist das Burstschreiben oder das Einzelschreiben.
-
Die oben genannte CAS-Verzugszeit
wird dazu verwendet, zu spezifizieren, welche Zyklen des Taktsignals
CLK ab dem Abfallen des Signals CAS* bis zur Ausgabeoperation des
Ausgangspuffers 211 bei der Leseoperation zu nutzen sind,
wie sie durch den später
beschriebenen Spaltenadressier- und Lesebefehl angewiesen wird.
Die CAS-Verzugszeit stellt die interne Betriebszeit, wie sie zum
Lesen der Daten, bis die Lesedaten fixiert sind, entsprechend der
benutzten Frequenz des Taktsignals CLK ein. Anders gesagt, wird
die CAS-Verzugszeit auf einen höheren
Wert eingestellt, wenn das verwendete Taktsignal CLK eine hohe Frequenz
aufweist, und auf einen niedrigeren Pegel, wenn das verwendete Taktsignal
CLK eine niedrige Frequenz aufweist.
-
(2) Zeilenadressstrobe-Bankaktivierbefehl
(Ac)
-
Dies ist ein Befehl zum Gültigmachen
der Anweisung des Zeilenadressstrobe und der Auswahl der Speicherbank
durch den Anschluss A9. Dieser Befehl wird durch CS* und RAS* =
niedriger Pegel sowie CAS* und WE* = hoher Pegel spezifiziert, und die
an die Anschlüsse
A0 bis A8 zu liefernden Adressen werden als Zeilen-Adresssignal
abgerufen, wohingegen das an den Anschluss A9 zu liefernde Signal
als Auswählsignal
für die
Speicherbank abgerufen wird. Diese Abrufoperationen werden synchron mit
der ansteigenden Flanke des Taktsignals CLK ausgeführt, wie
oben beschrieben. Wenn der genannte Befehl spezifiziert wird, wird
z. B. die Wortleitung in der spezifizierten Speicherbank ausgewählt, so
dass die mit den ausgewählten
Wortleitungen verbundenen Speicherzellen leitend mit den einzelnen entsprechenden
komplementären
Datenleitungen verbunden werden.
-
(3) Spaltenadresse-Lesebefehl
(Re)
-
Dies ist ein Befehl, wie er zum Starten
der Burstleseoperation erforderlich ist, und ein Befehl zum Anweisen
des Spaltenadresse-Strobesignals. Dieser Befehl ist durch CL* und
CAS* = niedriger Pegel sowie RAS* und WE* = hoher Pegel spezifiziert, und
die den Anschlüssen
A0 bis A7 zuzuführenden Adressen
werden als Spalten-Adresssignal eingelesen. Das so eingelesene Spalten-Adresssignal wird als
Burststartadresse an den Spaltenadresszähler 207 geliefert.
Bei der so angewiesenen Burstleseoperation werden die Speicherbank
und ihre Wortleitungen vorab im Zeilenadressstrobe-Bankaktivierbefehl-Zyklus
ausgewählt,
so dass die Speicherzellen der ausgewählten Wortleitung sequenziell
ausgewählt
und kontinuierlich entsprechend dem Adresssignal ausgelesen werden,
das vom Spaltenadresszähler 207 synchron
mit dem Taktsignal CLK ausgegeben wird. Die Anzahl der kontinuierlich
zu lesenden Daten wird durch die oben genannte Burstlänge spezifiziert.
Andererseits wird das Lesen von Daten aus dem Ausgangspuffer 211 dadurch
gestartet, dass die durch die oben genannte CAS-Verzugszeit spezifizierte
Zyklenzahl des Taktsignals CLK abgewartet wird.
-
(4) Spaltenadresse-Schreibbefehl
(Wr)
-
Dies ist ein Befehl, wie er zum Starten
der Burstschreiboperation erforderlich ist, wenn diese Operation
als Modus der Schreiboperation in das Modusregister 30 eingetragen
ist, und es ist ein Befehl, der zum Starten der Einzelschreiboperation
erforderlich ist, wenn diese Operation als Modus der Schreiboperation
in das Modusregister 30 eingetragen ist. Darüber hinaus
weist der Befehl das Spaltenadress-Strobesignal beim Einzelschreiben
und beim Burstschreiben an. Der Befehl wird durch CS*, CAS* und
WE* = niedriger Pegel sowie RAS* = hoher Pegel spezifiziert und
die an die Anschlüsse
A0 bis A7 zu liefernde Adresse wird als Spalten-Adresssignal eingelesen.
Das so eingelesene Spalten-Adresssignal wird als Burststartadresse
beim Burstschreibvorgang an den Spaltenadresszähler 207 geliefert.
Die Prozedur der so angewiesenen Burstschreiboperation wird wie
die Burstleseoperation ausgeführt.
Jedoch besteht bei der Schreiboperation keine CAS-Verzugszeit, so
dass das Einlesen der Schreibdaten ausgehend vom Spaltenadress-Schreibbefehl-Zyklus
gestartet wird.
-
(5) Vorabladebefehl (Pr)
-
Dies ist ein Befehl zum Starten der
Vorabladeoperation für
die durch die Anschlüsse
A8 und A9 ausgewählte
Speicherbank, und sie wird durch CS*, RAS* und WE* = niedriger Pegel
sowie CAS* = hoher Pegel spezifiziert.
-
(6) Autoauffrischbefehl
-
Dies ist ein Befehl, wie er zum Starten
des automatischen Auffrischens erforderlich ist, und er wird durch
CS*, RAS* und CAS* = niedriger Pegel sowie WE* und CKE = hoher Pegel
spezifiziert.
-
(7) Burststopp-bei-Vollseite-Befehl
-
Dies ist ein Befehl, der zum Stoppen
der Burstoperationen für
volle Seiten für
alle Speicherbänke erforderlich
ist, und er wird für
andere Burstoperationen als für
volle Seiten ignoriert. Dieser Befehl wird durch CAS* und WE* =
niedriger Pegel sowie RAS* und CAS* = hoher Pegel spezifiziert.
-
(8) Keine-Operation-Befehl
(Nop)
-
Dies ist ein Befehl zum Anweisen
keiner wesentlichen Operation, und er ist durch CS* = niedriger Pegel
sowie RAS*, CAS* und WE* = hoher Pegel spezifiziert.
-
Im Synchron-DRAM wird, während die
Burstoperation in einer Speicherbank ausgeführt wird, die andere Speicherbank
dahingehend spezifiziert, dass sie den Zeilenadressstrobe-Bankaktivier-Befehl
liefert, und es wird die Operation in der anderen Zeilenadresslinie
in der anderen Speicherbank aktiviert, während kein Einfluss auf die
in der einen Speicherbank ausgeführte
Operation ausgeübt
wird. Z. B. ist der Synchron-DRAM mit einer Einrichtung zum Einspeichern
der Daten-, Adress- und Steuersignale, wie sie von außen zugeführt werden,
versehen. Diese Einrichtung speichert die Adress- und Steuersignale
für die
einzelnen Speicherbänke
ein, wobei jedoch keine spezielle Beschränkung hierauf besteht. Alternativ
werden die Daten einer Wortleitung in der durch den Zeilenadressstrobe-Bankaktivier-Befehlszyklus
ausgewählten
Speicherblock durch die nicht dargestellte Latchschaltung eingespeichert,
so dass sie vor der Spaltenoperation ausgelesen werden können. Im
Ergebnis kann, solange die Daten nicht mit den Daten-Eingangs/Ausgangs-Anschlüssen I/00 bis
I/015 in Konflikt stehen, die interne Operation vorab dadurch gestartet
werden, dass der Vorabladebefehl und der Zeilenadressstrobe-Bankaktivier-Befehl an
diejenige Speicherbank ausgegeben werden, die von der verschieden
ist, die durch den gerade ausgeführten
Befehl verarbei tet wird, während
der unverarbeitete Befehl ausgeführt
wird.
-
Wie es aus der bisherigen Beschreibung
ersichtlich ist, kann der Synchron-DRAM einen Speicher, der so groß wie der
eines DRAM ist, mit einer Geschwindigkeit betreiben, die so hoch
wie die eines SRAM ist, da er die Eingabe/Ausgabe der Daten-, der Adress-
und der Steuersignale synchron mit dem Taktsignal CLK ausführen kann.
Darüber
hinaus wird der Synchron-DRAM dazu aktiviert, kontinuierlich mehrere
Daten zu lesen oder zu schreiben, was durch Spezifizierung dahingehend
erfolgt, auf wieviele Daten für
eine ausgewählte
Wortleitung zuzugreifen ist, was mittels der Burstlänge erfolgt,
um die Auswählzustände der
Spaltenleitung sequenziell durch den internen Spaltenadresszähler 207 zu schalten.
-
«Zeichnungsanzeigeprozessor»
-
Die 1 ist
ein Blockdiagramm, das einen Zeichnungsanzeigeprozessor 11 gemäß einer
Ausführungsform
der Erfindung sowie ein Bildverarbeitungssystem zeigt, bei dem dieser
angewandt ist. Das Bildverarbeitungssystem ist, wie dargestellt,
so aufgebaut, dass es Folgendes aufweist: eine CPU (d. h. eine zentrale
Verarbeitungseinheit) 15 zum Bestimmen der Gesamtsteuerung;
einen Systemspeicher 151, der für einen Arbeitsbereich der
CPU 15 und für
einen Zwischenspeicherbereich von Daten zu verwenden ist; einen
Zeichnungsanzeigeprozessor (oder Datenprozessor) 11; einen
Taktsignalgenerator 18; wobei der Zugriff auf den oben
genannten Synchron-DRAM durch den Zeichnungsanzeigeprozessor 11 gesteuert
wird; und einen Monitor 20, dessen Anzeigevorgang durch
den Zeichnungsanzeigeprozessor 11 gesteuert wird.
-
Beim System der 1 wird der Synchron-DRAM (der kurz als "SDRAM" bezeichnet wird) 22 als
Bereich zum Speichern von Befehlen und Parametern für ein Zeichnungsverarbeitungsmodul 12 und
ein Anzeigeverarbeitungsmodul 13 verwendet, wobei jedoch
keine spezielle Beschränkung
hierauf besteht. Diese Befehle und Parameter werden vorab von der
CPU 15 übertragen.
Der Synchron-DRAM 22 wird
auch als Zwischenspeicherbereich oder Arbeitsbereich für den Rahmenpuffer
oder die Zeichnungsverarbeitungsdaten verwendet.
-
Das Zeichnungsverarbeitungsmodul 12 im oben
genannten Zeichnungsanzeigeprozessor 11 liest die oben
genannten Befehle und Parameter über eine
Bussteuereinheit 14 aus dem Synchron-DRAM 22 aus,
und es führt
die Zeichnungsverarbeitung im Synchron-DRAM 22 gemäß den Anweisungen
der Befehle aus. Das Anzeigeverarbeitungsmodul 13 im Zeichnungsanzeigeprozessor 11 aktualisiert seine
internen Horizontal- und Vertikaladresszähler entsprechend den Horizontal-
und Vertikalsynchronisier-Zeitpunkten des Monitors 20,
und es liest die erforderlichen Anzeigedaten über die Bussteuereinheit 14 aus dem
Synchron-DRAM 22 aus und gibt sie entsprechend der Anzeigerate,
d. h. der Punktrate des Monitors 20 aus. Dieser Monitor 20 zeigt
die oben genannten, vom Anzeigeverarbeitungsmodul 13 ausgegebenen
Anzeigedaten synchron mit den einzelnen Vertikal- und Horizontalsynchronisiersignalen
an.
-
Der Taktsignaltreiber 16 empfängt vom
Taktsignalgenerator 18 ein Grund-Taktsignal 181, und er liefert
es an das Zeichnungsverarbeitungsmodul 12, das Anzeigeverarbeitungsmodul 13 und
die Bussteuereinheit 14, sowie das Taktsignal an den externen Synchron-DRAM 22.
Das vom Taktsignaltreiber 16 an den Synchron-DRAM 22 zu
liefernde Taktsignal ist dasjenige Taktsignal CLK, das unter Bezugnahme auf
die 2 beschrieben wurde.
-
Der Zeichnungsanzeigeprozessor 11 der vorliegenden
Ausführungsform
ist am Punkt der Zugriffskontrolle des Synchron-DRAM 22 aufgebaut, während (1)
die Zuführung
von Taktsignalen (2) das Einstellen des Modusregisters,
(3) die Pipelineverarbeitung beim Datenzugriff und (4)
die Gegenmaßnahme
betreffend den Buswettbewerb von mehreren Modulen berücksichtigt
sind.
-
«Taktsignalzuführung zum
Synchron-DRAM»
-
Der Zeichnungsanzeigeprozessor 11 muss die
Daten-, die Adress- und die Steuersignale zu Zeitpunkten synchron
mit dem Taktsignal CLK an den Synchron-DRAM 22, der durch
dieses synchronisiert wird, eingeben/ausgeben, wenn auf diesen Synchron-DRAM 22 zuzugreifen
ist. Demgemäß muss dasselbe
Taktsignal, ein multipliziertes Taktsignal oder ein frequenzgeteiltes
Taktsignal bezogen auf das des Zeichnungsanzeigeprozessors 11 für Zugriffssteuerung
des Synchron-DRAM 22 an diesen geliefert werden. Dabei
können
dann, wenn das durch den Taktsignalgenerator 18 unter Verwendung eines
Oszillators wie eines Quarzoszillators 17 erzeugte Taktsignal 181 parallel
an den Zeichnungsanzeigeprozessor 11 und den Synchron-DRAM 22 auf der
Leiterplatte geliefert wird, die erforderliche Betriebstoleranz,
wie die Einstell- oder Haltezeit der Daten-, Adress- und Steuersignale
für den
Zyklus des Taktsignals nicht gewährleistet
werden, wenn durch die Last an der Taktsignalleitung oder eine Abweichung
der Verzögerungskomponente
oder dann, wenn im Prozessor 11 eine Betriebsverzögerung auftritt,
ein Taktsignalverzug hervorgerufen wird. Um dieses Problem zu lösen, ist
die Konstruktion dergestalt, dass der Zeichnungsanzeigeprozessor 11 oder das
Zugriffs objekt für
den Synchron-DRAM 22 demselben das Taktsignal zuführt. Im
Ergebnis können die
Verzögerungen
im an den Synchron-DRAM 22 zu liefernden Taktsignal CLK
und in den Daten-, Adress- und Steuersignalen im Stadium des Konzipierens des
Zeichnungsanzeigeprozessors eingestellt werden, um die Kosten zu
senken und die Toleranz besser ausreichend als dann zu machen, wenn
eine PLL-Schaltung als Gegenmaßnahme
verwendet wird.
-
Wie es in der 21 dargestellt ist, ist darüber hinaus
dann, wenn in einem Zeichnungsanzeigeprozessor 11c Module
mit verschiedenen Frequenzen vorhanden sind, wie ein Zeichnungsverarbeitungsmodul 12c und
ein Anzeigeverarbeitungsmodul 13c, dafür gesorgt, dass die Taktsignale
der Busmaster, d. h. der Module 12c und 13c, so
spezifisch sind, dass das Taktsignal an den Synchron-DRAM 22 mittels
eines Taktsignalselektors 25 durch eine Bussteuereinheit 14c des
Zeichnungsanzeigeprozessors 11c entsprechend dem Zugriffsobjekt
ausgewählt
werden kann, um den Betrieb des Zugriffsobjekts und denjenigen des
Synchron-DRAM 22 vollständig
synchron zu machen, wie oben beschrieben. Im Ergebnis kann die Verzögerung zwischen
dem an den Synchron-DRAM 22 zu
liefernden Taktsignal und den Daten-, Adress- und Steuersignalen
mit der Einheit des Moduls des Busmasters eingestellt werden, um
in diesem Fall leicht eine ausreichende Betriebstoleranz aufrecht
zu erhalten.
-
Nun wird die Konstruktion der 21 weiter beschrieben, die
Folgendes aufweist: Taktsignalgenerator 18c und 18s mit
mehreren Frequenzen; Taktsignaltreiber 16c und 16s;
mehrere Module 12c und 13c, die so ausgebildet
sind, dass sie auf die oben genannten Frequenzen hin arbeiten; eine
Bussteuereinheit 14c zum Einstellen des Zugriffs auf den
oben genannten Speicher von den mehreren Modulen her; und einen
Taktsignalselektor 25 zum Auswählen des Taktsignals an den
Speicher entsprechend einem Einstellsignal 251. Das so
aufgebaute Bildverarbeitungssystem liefert das Taktsignal CLK mit
mehreren Frequenzen direkt vom Zeichnungsanzeigeprozessor 11 an
den Synchron-DRAM 22. Übrigens
ist aus der 21 die CPU-Schnittstelle
weggelassen. Wenn z. B. eine vorbestimmte Anzeige wiederholt wird,
wird der Zeichnungsanzeigeprozessor 11c im selbstständigen Betrieb
betrieben, und er benötigt keine
CPU-Schnittstelle. Die Konstruktion kann selbstverständlich so
modifiziert werden, dass sie die CPU-Schnittstelle, wie in der 1, enthält.
-
Die in der 22 dargestellte Konstruktion unterscheidet
sich von der in der 21 dargestellten
dahingehend, dass ein Taktsignalselektor 25d für den Synchron-DRAM 22 außerhalb
eines Zeichnungsanzeigeprozessors 11d ange bracht ist. Genauer
gesagt, werden die Taktsignale von Taktsignalgeneratoren 18d und 18t getrennt
vom an den Zeichnungsanzeigeprozessor 11d gelieferten Taktsignal an
den Taktsignalselektor 25d geliefert, und eine Bussteuereinheit 14d sorgt
dafür,
dass der Taktsignalselektor 25d die ausgegebenen Taktsignalfrequenzen
abhängig
davon auswählt,
ob das Zugriffsobjekt des Synchron-DRAM 22 ein Zeichnungsverarbeitungsmodul 12d oder
ein Anzeigeverarbeitungsmodul 13d ist. Das Steuersignal
für diese
Operation ist mit 252 gekennzeichnet. Die Bezugszahlen 16d und 16t kennzeichnen
Taktsignaltreiber, und die Zahl 25t kennzeichnet einen
Taktsignalselektor.
-
Übrigens
kann selbst dann, wenn das Modul in einem Prozessor 11i ein
Einzelmodul 13i ist (d. h. ein Anzeigeverarbeitungsmodul),
wie es in der 23 dargestellt
ist, eine Konstruktion vorliegen, die dafür sorgt, dass das Taktsignal
CLK vom Prozessor 11i an den Synchron-DRAM 22 geliefert
wird. In der 23 kennzeichnet
die Bezugszahl 14i eine Bussteuereinheit; die Zahl 16i einen
Taktsignaltreiber und die Zahl 18i einen Taktsignalgenerator.
Wie es in der 24 dargestellt
ist, kann darüber
hinaus selbst ein Prozessor 11k vom Typ, bei dem ein Taktsignalselektor 25k zum
Auswählen
der Taktsignale mehrerer Frequenzen durch ein einzelnes Modul (d.
h. ein Anzeigeverarbeitungsmodul) 13k auf der Platine vorhanden
ist, die Taktsignale direkt an den Synchron-DRAM 22 liefern.
Die Bezugszahlen 18k und 18L spezifizieren Taktsignalgeneratoren;
die Zahl 16k einen Taktsignaltreiber und die Zahl 14k eine Bussteuereinheit.
-
« Buswettbewerbs-Gegenmaßnahmen
von Modulen »
-
Die 32 zeigt
ein System zum Veranschaulichen des Falls, bei dem mehrere, z. B.
zwei Zeichnungsanzeigeprozessoren 11-1 und 11-2,
den Synchron-DRAM 22 gemeinsam nutzen. Bei diesem System
verfügt,
um das Taktsignal CLK an den Synchron-DRAM 22 zu liefern,
der in jeden Zeichnungsanzeigeprozessor eingebaute Taktsignaltreiber 16 über einen
verdrahteten oder Verbindungsausgang über einen Taktsignalpuffer 160 zum
Taktsignal-Eingangsanschluss des Synchron-DRAM 22. Dabei werden,
damit einer der Zeichnungsanzeigeprozessoren den Synchron-DRAM 22 für den anderen
Prozessor freigeben kann, die Anschlüsse zum Zuführen nicht nur der Daten-,
Adress- und Steuersignale sondern auch des Taktsignals CLK an den
Synchron-DRAM 22 auf hohe Impedanz gesteuert. Gemäß der vorliegenden
Ausführungsform
wird das Ausgangssignal des Taktsignalstreibers 16, d.
h. des Taktsignalspuffers 160, auf den Zustand hoher Impedanz
gesteuert. Im Ergebnis kann selbst dann, wenn der andere Zeichnungsanzeigeprozessor
direkt auf den Synchron-DRAM 22 zugreift, der andere Zeichnungsanzeigeprozessor
den Zugriff auf den Synchron-DRAM 22 steuern, während eine
ausreichende Betriebstoleranz aufrecht erhalten bleibt, d. h. gemäß der Betriebsgeschwindigkeit
des anderen Zeichnungsanzeigeprozessors.
-
Die 18 und 19 zeigen eine Schaltung zum
Veranschaulichen von Gegenmaßnahmen
gegen Buswettbewerb von den mehreren der oben genannten Module.
Das in der 18 dargestellte
Beispiel ist im internen Register des Zeichnungsanzeigeprozessors 11 mit
einem dreistufigen Steuerbit 149 versehen, dessen Wert
z. B. von der CPU 15 eingestellt wird. Das Ausgangssignal 1491 dieses
Steuerbits 149 mit drei Zuständen setzt die Buspuffer 1495A, 1495D und 1495C für die Adress-,
Daten- und Steuersignale in der Bussteuereinheit 14 sowie den
Taktsignalanschluss auf hohe Impedanz. Diese hohe Impedanz des Taktsignalanschlusses
wird im Taktsignaltreiber 160 realisiert. Beim in der 19 dargestellten Beispiel
werden die Taktsignalanschlüsse
der Buspuffer 1495A, 1495D und 1495C für die Adress-,
Daten- und Steuersignale sowie der Taktsignaltreiber 16 (d.
h. der Ausgangsanschluss des Taktsignalpuffers 160) entweder
auf den Pegel oder den Änderungszeitpunkt
eines vom externen Anschluss des Zeichnungsanzeigeprozessors 11 zu liefernden
Steuersignals 105 auf hohe Impedanz gesetzt.
-
«Einstellen des Modusregisters»
-
Das Modusregister 30 im
Synchron-DRAM 22 ist ein Register zum Spezifizieren des
Betriebsmodus des Synchron-DRAM 22. Der existierende Standardspeicher
verfügt über kein
Register zum Spezifizieren des statischen Operationsmodus, abweichend vom
Modusregister 30, und das entsprechende Zugriffsobjekt
muss keinerlei speziellen anderen Befehl als den für die Zugriffszyklen
des Lesens, Schreibens und Auffrischens des Speichers ausgeben.
Bei der Erfindung stellt der Zeichnungsanzeigeprozessor 11 das
Modusregister 30 entsprechend seiner internen Architektur
und seinem Verarbeitungsinhalt ein. Für das System zum Einstellen
des Modusregisters kann geeigneterweise eine Anzahl von Arten verwendet werden,
die nachfolgend beschrieben werden.
-
Die 3 ist
ein Blockdiagramm, das ein Beispiel der oben genannten Bussteuereinheit 14 zeigt.
Ein Prioritätszuteiler 141 akzeptiert
ein Busanforderungssignal 1411, das von den einzelnen Modulen 12 und 13 als
Ergebnis der Befehlsausführung
in den Modulen an den Synchron-DRAM 22 ausgegeben wird,
um eine Prioritätszuteilung
betreffend die Busrechte auszuführen
und um den Betrieb eines Moduls durch ein Busbestätigungssignal 1412 zu
erlau ben. Gleichzeitig damit liefert der Prioritätszuteiler 141 ein
Modusauswählsignal 1413 an
einen Selektor 142. Der Selektor 142 wählt die
von jedem Modul herrührende
Steuerinformation auf das oben genannte Auswählsignal 1413 aus
und liefert die Information an eine Ablaufsteuerung 143.
Die Steuerinformation 1421 für den Synchron-DRAM 22 ist
beispielsweise ein Steuercode zum Anweisen des Lesens, Schreibens
und Auffrischens von Daten und des Einstellens des Modusregisters 30.
Dieser Steuercode wird als Ergebnis dessen ausgegeben, dass das
Modul den von außen
eingelesen Befehl ausführt.
Ein Fehltrefferdetektor 147 vergleicht, ob die Zeilenadresse
eines Adressbusses 148 mit der aktuell aktiven Adresse
identisch ist oder nicht, und er liefert Fehltrefferinformation 1471 an
die Ablaufsteuerung 143. Die Ablaufsteuerung 143 versorgt
einen Decodierer 144 mit einer Reihe von Informationen zum
Ausführen
der durch die Steuerinformation 1421 spezifizierten Bussteuerverarbeitung
entsprechend der Steuerinformation 1421 und der Fehltrefferinformation 1471 auf
Grundlage des Zustandsübergangsdiagramms
der 4. Der Decodierer 144 decodiert eine
Anzahl von von der Ablaufsteuerung 143 zugeführten Informationen,
und er gibt einen Befehl 1441 an den Synchron-DRAM 22,
ein Steuersignal 1442 des Buspuffers 1495D, ein
Steuersignal 1443 an den Prioritätszuteiler 141 usw.
aus. Wenn der an den Synchron-DRAM 22 auszugebende Befehl 1441 ein solcher
(z. B. der Modusregister-Einstellbefehl
Mo) zum Einstellen des oben genannten Modusregisters 30 ist,
wird der in das Modusregister 30 einzutragende Wert ausgewählt, und
durch einen Schreibwertgenerator 146 entsprechend dem Ausgangssignal 1445 des
Decodierers 144 ausgegeben, wobei jedoch keine spezielle
Beschränkung
hierauf besteht. Da der Befehlsregisterwert des Synchron-DRAM 22 über den
Adressbus geliefert wird, wählt
der Adressenselektor 145 das Ausgangssignal des Schreibwertgenerators 146 auf
ein durch den Decodierer 144 ausgegebenes Steuersignal 1444 aus,
so dass der Eintragswert für
das Befehlsregister 30 vom Buspuffer 1495A über den
Adressenbus an den Synchron-DRAM 22 geliefert wird. Übrigens
kann der Schreibwertgenerator 146 als Logikschaltung oder Speicherschaltung
zum Ausgeben eines vorbestimmten Werts entsprechend dem Ausgangssignal 1445 des
Decodierers 144 aufgebaut sein.
-
Der Ausgabezeitpunkt des Modusregister-Einstellbefehls
Mo kann mit einem externen Signal synchronisiert werden. Wie es
in der 26 dargestellt
ist, wird beispielsweise die Anzeige-Austastinformation 135 vom
externen anschluss eingegeben. Diese Anzeige-Austastinformation
ist z. B. eine Vertikalrücklaufperiode
im Vertikalsynchronisiersignal, und das Anzeigeverarbeitungsmodul 13 wird zeitlich
so gesteuert, dass es den Modusregister-Einstellbefehl aus der Bussteuereinheit 14 ausgibt,
um z. B. die Burstlänge
zu ändern,
um die nächsten
Anzeigedaten aus dem Synchron-DRAM 22 abzurufen.
-
Der Einstellwert für das Modusregister 30 kann
im Befehl selbst enthalten sein, oder es kann der Parameter des
Befehls sein. Dieser Befehl ist ein solcher, der durch die oben
genannten verschiedenen Module, d. h. das Zeichnungsverarbeitungsmodul 12 und
das Anzeigeverarbeitungsmodul 13 auszuführen ist. In der 27 ist schematisch ein Befehlsausführungsablauf
durch derartige Verarbeitungsmodule dargestellt. Genauer gesagt,
gilt: der Befehl wird eingelesen (bei M1); der Befehl wird interpretiert
(bei M2); es wird entschieden (bei M3), ob das Interpretationsergebnis
der Einstellbefehl für
das Modusregister 30 ist oder nicht; der Befehl wird ausgeführt (bei
M5), wenn er der Modusregistereinstellbefehl ist; andernfalls wird
eine durch den Befehl angewiesene Verarbeitung ausgeführt (bei
M4); es wird ein nächster
Befehl eingelesen (bei M6); und die vorstehend genannte Routine
wird wiederholt. Der Schritt M5 in der 27 entspricht dem Schritt M1 im nächsten Befehlseinlesezyklus.
Die 28 veranschaulicht
die Formate derartiger verschiedener Befehle. Die 28(A) veranschaulicht den Fall eines Befehlsformats,
bei dem ein Befehl aus einem Befehlsspezifizierfeld COMC und einem
Attributcodefeld COMD besteht. In diesem Fall ist der Einstellwert für das Modusregister 30 im
Modusregister-Einstellbefehl im Attributcodefeld COMD angeordnet.
Die 28(B) veranschaulicht
ein Format, bei dem ein Befehl aus dem Befehlsspezifizierfeld COMC
besteht und in dem verschiedene Attribute im folgenden Parameter
PAR enthalten sind. In diesem Fall kann der Einstellwert für das Modusregister 30 im
Modusregister-Einstellbefehl im Parameter PAR angeordnet sein.
-
Die in der 29 dargestellte Konstruktion veranschaulicht
die Konstruktion einer Bussteuereinheit für den Fall, dass dafür gesorgt
ist, dass ein Einstellwert für
das Modusregister 30 die Befehle begleitet, die durch die
Module 12 und 13 auszuführen sind. Diese Konstruktion
ist dadurch verschieden, dass der Schreibwertgenerator 146 der 3 ersetzt ist, um den Wert
des Datenbusses an einen Eingang des Adressenselektors 145 zu
koppeln. Es ist zu beachten, dass die Auswahlsteuerung durch den
Adressenselektor 135 ähnlich
wie die in der 3 ist.
Da der Datenbus als Eingangswert des Adressenselektors 145 ausgewählt werden
kann, kann der Einstellwert für
das Modusregister 30, der an den Adresseneingangsanschluss
des Synchron-DRAM 22 zu liefern ist, direkt vom internen
Datenbus spezifiziert werden, von dem er entweder an das Zeichnungsverarbeitungsmodul 12 oder
das Anzeigeverarbeitungsmodul 13 geliefert wird. Z. B.
liefert das Zeichnungsverarbeitungsmodul 12 oder das Anzeigeverarbeitungsmodul 13,
wenn es die Einstellverar beitung des Modusregisters 30 hinsichtlich
des Befehls mit dem in der 28 dargestellten
Format erkennt, die Steuerinformation 1421 für die Verarbeitung
an die Bussteuereinheit 14, und es gibt den Einstellwert
für das Modusregister 30 an
den oben genannten internen Bus aus. Im Ergebnis wird das Modusregister
für den Synchron-DRAM 22 eingestellt.
-
Darüber hinaus kann die Einstellverarbeitung
des Modusregisters 30 auch durch das I/O-Abbildungsverfahren
realisiert werden. In der 30, die
ein Beispiel zeigt, wird ein spezielles Register 1442 im
I/O-Raum, auf den das Zeichnungsverarbeitungsmodul 12 und
das Anzeigeverarbeitungsmodul 13 zugreifen können, abgebildet.
Genauer gesagt, erfasst ein Adressendecodierer 1441 den
Zugriff des Registers 1442 aus der internen Adressenbusinformation
und er informiert das Register 1442 und die Ablaufsteuerung 143 durch
ein Steuersignal 1483 darüber. Im Ergebnis speichert
das Register 1482 den dann an den Datenbus gelieferten
Modusregistereinstellwert ein, und die Ablaufsteuerung 143 erkennt
diese Notiz als Anweisung zum Einstellen des Befehlsregisters. Die
Ablaufsteuerung 143 gibt den Modusregister-Einstellbefehl über den
Buspuffer 1495C an den Synchron-DRAM 22 aus, und
sie liefert den im Register 1442 eingespeicherten Einstellwert
vom Buspuffer 1495A dadurch an den Synchron-DRAM 22,
dass sie ihn durch den Adressenselektor 145 auswählt. Obwohl
es nicht speziell dargestellt ist, kann darüber hinaus das physikalische
Register aus dem I/O-Abbildungssystem weggelassen werden, und dieses
System kann so aufgebaut werden, dass es den Zugriff auf die oben
genannte spezielle Adresse durch den Decodierer 1481 erkennt, während es
diese Adresse aufrecht erhält.
-
Die 31 ist
ein Blockdiagramm, das ein Steuersystem für den Fall zeigt, bei dem das
interne Modul 13, wie das Anzeigeverarbeitungsmodul, eine Mikroprogrammsteuerung
verwendet. Ein vorbestimmtes Mikroprogramm ist in einem Makro-ROM 51 beschrieben.
Daher wird die Zugriffsadresse durch ein Mikroadressenregister 56 eingespeichert, und
die aus dem Mikro-ROM ausgelesene Mikroanweisung wird in einem Makroanweisungsregister 52 eingespeichert,
dessen Ausgangssignal durch einen Mikroanweisungsdecodierer 54 decodiert
wird, so dass das Steuersignal zum Ausführen der Mikroanweisung an
eine Ausführungseinheit 58 geliefert wird.
Die Mikroanweisung beinhaltet die nächste Adresseninformation,
und sie wird an eine Mikroadressensteuerung 55 geliefert,
so dass der Wert des Mikroadressenregisters 56 sequenziell
aktualisiert wird. Die führende
Mikroadresse der Mikroanweisungsreihe wird als Befehl geliefert,
der durch ein Mikroregister 57 eingelesen wird. Der so
eingelesene Befehl bestimmt im Wesentlichen die Operationen des
Zeich nungsverarbeitungsmoduls 12 und des Anzeigeverarbeitungsmoduls 13.
Die Mikroadressensteuerung 55 steuert auch die Mikroadresse
für die Mikroverzweigung.
Wenn der Befehl zum Einstellen des Modusregisters 30 durch
das Mikroregister 57 eingelesen wird, speichert das Mikroanweisungsregister 52 z.
B. die Mikroanweisung ein, die beispielsweise die Speichersteuerinformation 53 repräsentiert.
Wenn diese Mikroanweisung decodiert wird, werden die Steueroperationen
zum Einstellen des Modusregisters 30 in den Modi der 3, 26, 29 und 30 gestartet.
-
«Dynamische Einstellung des
Modusregisters»
-
Der Zeichnungsanzeigeprozessor 11 der vorliegenden
Ausführungsform
kann das Modusregister 30, das durch die oben genannten
verschiedenen Verfahren gesetzt werden kann, dynamisch entsprechend
dem zu verarbeitenden Inhalt einstellen. Beim geradlinigen Zeichnen
in einer beliebigen Richtung sind z. B. die Speicheradressen in
derselben Zeilenadresse nicht zusammenhängend, so dass die im Modusregister 30 einzutragende
Burstlänge
wünschenswerterweise
1 ist. Bei einer Rechteck-Füllzeichnung
zur Speicherlöschung
sind dagegen die Speicheradressen in derselben Zeilenadresse zusammenhängend, so
dass die Burstlänge
wünschenswerterweise
N (N > 1) beträgt, wobei
sie entsprechend dem Zeichnungsverarbeitungsinhalt geändert werden
muss. Bei der Erfindung kann daher das Modusregister 30 entsprechend
den verschiedenen Verarbeitungsinhalten dynamisch geändert werden,
um den Busdurchsatz des Synchron-DRAM 22 zu geringen Kosten
abhängig
von der Burstlänge
zu verbessern.
-
Die 4 zeigt
den Zustandsübergang
der Ablaufsteuerung 143 der Bussteuereinheit 14 der 3. Wenn Spannung angelegt
wird, werden ausgehend von einem Leerlauf zustand S1 ein Vorabladen
S3, eine Modusregistereinstellung, S7 und eine NOP (d. h. Nicht-OPeration)-Operation
S2 ausgeführt,
um den Synchron-DRAM 22 zu initialisieren, und zusätzlich wird
zweimal als Blindzyklus eine Auffrischsequenz S8 wiederholt. Der
Auffrischschritt besteht aus den Schritten vom Leerlaufbetrieb S1
bis zum Vorabladen S3, dem Auffrischen S8 und der NOP-Operation
S2. Das Lesen von Daten dann, wenn die Burstlänge den Wert 1 hat,
wie beim geradlinigen Zeichnen, wird durch die Schritte vom Leerlaufbetrieb 51 bis
zum Vorabladen 53, eine Zeilenadressaktivierung (wie durch
den Zeilenadressstrobe-Bankaktivier-Befehl angewiesen) und eine
Leseoperation (wie durch den Spaltenadresse-Lesebefehl angewiesen)
S6 ausgeführt.
Anschließend
werden die Daten sequenziell ausgelesen (in der Burstleseoperation),
wenn die Zeilenadresse identisch ist, was durch kontinuierliches
Ausführen
des Leseschritts S6 erfolgt. Das Schreiben von Daten er folgt durch
die Schritte vom Leerlaufbetrieb S1 bis zum Vorabladen 53,
die Zeilenadressaktiverung S4 und eine Schreiboperation (wie durch
den Spaltenadresse-Schreibbefehl angewiesen) S5. Anschließend werden
die Daten sequenziell eingeschrieben (in der Burstschreiboperation),
wenn die Zeilenadresse identisch ist, was durch kontinuierliches
Ausführen
des Schreibschritts S5 erfolgt. Wenn sich die Zeilenadresse während der
kontinuierlichen Lese- oder Schreiboperation ändert, werden
die Zustände
der NOP-Operation S2, des Vorabladens S3 und der Zeilenadressaktivierung
S4 vor der neuen Lese- oder Schreiboperation durchlaufen. Ein Lesen-Modifizieren-Schreiben
kann dann ausgeführt
werden, wenn die CAS-Verzugszeit 1 beträgt, was dadurch erfolgt, dass
die Schritte des oben genannten Lesens S6, der NOP-Operation S2
und des Schreibens S5 als ein Zyklus angesehen werden. Wenn vom
Anzeigeverarbeitungsmodul 13 eine Busanforderung für den Prioritätszuteiler 141 erfolgt,
liefert dieses Modul 13 die Steuerinformation zum Einstellen
des Modusregister 30 an die Ablaufsteuerung 143,
wenn das Busbestätigungssignal 1421 rückgeliefert
wird, so dass das Vorabladen 53, das Einstellen des Modusregisters (wie
durch den Modusregister-Einstellbefehl angewiesen) S7 und die NOP-Operation
S2 ausgeführt werden,
um die Burstlänge
auf 8 einzustellen. Danach wird der Lesevorgang 56 für jeweils
acht Wörter ausgeführt. Während dieser
Zeitperiode kann das Vorabladen S3 für die Bank, auf die aktuell
nicht zugegriffen wird, ausgeführt
werden, und es kann die Zeilenadressaktivierung S4 für die benachbarte, nächste Zeile,
wie vorab bestimmt, ausgeführt
werden. Das Anzeigeverarbeitungsmodul 13 liefert die Einstellanweisung
für das
Modusregister 30 an die Ablaufsteuerung 143, wenn
die erforderlichen Anzeigedaten ausgelesen werden, so dass das Vorabladen
S3, die Einstellung S7 des Modusregisters und die NOP-Operation
S2 so ausgeführt
werden, dass die Burstlänge 1 eingestellt
wird. Danach wird das Busanforderungssignal negiert, um den Bus
zu öffnen.
-
Die 5 bis 13 zeigen Beispiele für Zugriffszeitpunkte
betreffend das Display sowie Zeichnungszyklen für den Synchron-DRAM 22.
Hierbei werden die gelesenen Daten nach dem Verstreichen einer vorbestimmten
Taktanzahl (oder Verzugszeit) an den Datenbus ausgegeben. Diese
Verzugszeit ist variabel und die Daten zum Bestimmen des Werts werden
in das Modusregister 30 des Synchron-DRAM 22 eingetragen.
Bei den Beispielen der 5 bis 13 sind alle Verzögerungszeiten
auf 1 eingestellt, wobei jedoch keine spezielle Beschränkung hierauf
besteht.
-
Die 5 zeigt
ein Beispiel für
das modifizierende Schreiben für
einen Punkt bei der Zeichnungsverarbeitung. Dieses Beispiel gibt
den Fall an, bei dem Zufallspixel Punkt für Punkt gezeichnet werden. Zu
T1 wird die Burstlänge
im Modusregister 30 auf 1 eingestellt (Mo). Zu T3 gibt
das Zeichnungsverarbeitungsmodul 12 die Steuerinformation 1421 für das Lesen
eines Punkts mit modifiziertem Schreiben aus. Der Fehltrefferdetektor 147 erkennt,
dass die Zugriffsadresse zu diesem Zeitpunkt nicht an derselben Position
wie die vorige Zeilenadresse liegt. Im Ergebnis versorgt die Ablaufsteuerung 143 den
Synchron-DRAM 22 mit den Befehlen zum Vorabladen S3 (d.
h. Pr-ab zu T3), zur Zeilenadressaktivierung S4 (d. h. Ac-a zu T4),
zum Lesen S6 (d. h. Re-a zu T5), für die NOP-Operation S2 (d.
h. NOP zu T6) und zum Schreiben S5 (d. h. Wr-a zu T7), synchron
mit dem Taktsignal CLK. Da die CAS-Verzugszeit für den Lesefall auf 1 eingestellt
ist, werden die zu T6 gelesenen Daten zu T7 geschrieben. Zu T8 wird
daher die Steuerinformation 1421 ausgegeben, und es werden
die einzelnen Befehle zum Vorabladen S3 (d. h. Pr-b zu T8), zur
Zeilenadressaktivierung S4 (d. h. Ac-b zu T9), zum Lesen S6 (d.
h. Re-b zu T10), für die
NOP-Operation S2 (d. h. NOP zu T11) und zum Schreiben S5 (d. h.
Wr-b zu T12) synchron mit dem Taktsignal CLK an den Synchron-DRAM 22 geliefert.
-
Die 6 und 7 sind Zeitablaufdiagramme zum
Veranschaulichen einer Unterbrechung durch das Anzeigeverarbeitungsmodul 13.
In den 6 und 7 ist der Synchron-DRAM 22 ein
Objekt für
einen Zeichenvorgang für
die Zeitperiode bis T10, da das Lesen eines Punkts und das Schreiben
eines Punkts für
Zufalls-Spaltenadressen ausgeführt
werden. Dabei ist angenommen, dass die Busanforderung durch das
Anzeigeverarbeitungsmodul 13 unterbrochen wird. Die 7 zeigt ein Beispiel, bei
dem 16 Wörter auf
einmal als Anzeigedaten auf eine derartige Busanforderung gelesen
werdenn. Wenn die Busanforderung vom Anzeigeverarbeitungsmodul 13 erfolgt,
führt der
Prioritätszuteiler 141 die
Buszuteilung aus, um die Busse für
das Anzeigeverarbeitungsmodul 13 zu öffnen. Das Anzeigeverarbeitungsmodul 13 liefert
die Steuerinformation 1421 für einen derartigen 16-Wort-Lesevorgang
an die Ablaufsteuerung 143. Im Ergebnis wird die Burstlänge des
Modusregisters 30 auf 8 eingestellt (d. h. Mo zu T11).
Der Lesebefehl wird für
jeweils acht Wörter
ausgegeben (d. h. Re-a zu T15 und Re-b zu T23). Bevor der Lesebefehl
zu T15 ausgegeben wird, werden die einzelnen Befehle für das Vorabladen
S3 (d. h. Pr-ab zu T13) und die Zeilenadressaktivierung S4 (d. h.
Ac-a zu T14) an den Synchron-DRAM 22 ausgegeben.
Das Lesen des ersten einen Worts wird synchron zu T16 gestartet.
Für diese
Zeitperiode werden die Befehle zum Vorabladen S3 (d. h. Pr-b zu
T21) und zur Adressaktivierung Sb für die vorbestimmte benachbarte
nächste
Zeile (d. h. Ac-b zu T22) an den Synchron-DRAM 22 ausgegeben,
so dass die zugehörigen
Verarbeitungsvorgänge
seitens der Speicherbank B(b) ausgeführt werden. Im Ergebnis können die
Daten auf Pipelineweise verarbeitet werden, um den Busdurchsatz
zu verbessern. Anders gesagt, können
die Daten selbst bei einem Wechsel der Speicherbänke, auf die zuzugreifen ist,
ohne jede Unterbrechung ausgelesen werden. Das Anzeigeverarbeitungmodul 13 weist
die Einstellung des Modusregisters 30 an, wenn es die erforderliche
Anzeigedaten ausliest, und es führt
das Vorabladen S3 (d. h. Pr-ab zu T32), die Modusregistereinstellung
S7 (d. h. Mo zu T33) und die NOP-Operation S2 (d. h. NOP zu T34)
aus, um die Burstlänge
auf 1 einzustellen. Dann negiert das Anzeigeverarbeitungsmodul 13 das Busanforderungssignal,
um die Busse zu öffnen.
-
Die 8 und 9 zeigen ein Beispiel für die Burstleseoperation
der Anzeigedaten. Um das Verhältnis
der Anzeigezugriffszyklen des Synchron-DRAM 22 zu verkleinern,
ist es ratsam, so viele Anzeigedaten wie möglich zusammenhängend auszulesen.
Daher ist es wünschenswert,
die Daten dadurch zusammenhängend
auszulesen, dass die Burstlänge
auf die volle Seite eingestellt wird. Jedoch muss das Anzeigeverarbeitungsmodul 13 vorab
mit einem FIFO oder RAM versehen werden, um die vorab ausgelesenen
Anzeigedaten einmal einzuspeichern. Die Anzahl der zusammenhängend auszulesenden
Wörter
wird im Verhältnis
zur Speicherkapazität,
wie der des FIFO, bestimmt. Der Erzeugungszeitpunkt des Burststoppbefehls
(Stopp) kann durch Übereinstimmung
hinsichtlich der Vergleichsergebnisse zum Zählerausgangswert der gelesenen
Wortzahl im Anzeigeverarbeitungsmodul 13 und der Anzahl
auszulesender Datenwörter
kontrolliert werden. In der 8 wird
das Befehlsregister 30 zu T1 gesetzt (Mo), um die Burstlänge auf
die volle Seite zu setzen, und zu T3, T4 und T5 werden die einzelnen Befehle
für das
Vorabladen (Pr-ab), die Zeilenadressaktivierung (Ac-a) bzw. das
Lesen (Re-a) ausgegeben, so dass die Daten sequenziell synchron
zu T6 ausgelesen werden.
-
Die 10 und 11 zeigen ein Beispiel für die BitBLT-Operation
(d. h. Bit BLock Transfer) bei der Zeichnungsverarbeitung. Auch
in diesem Fall werden die Daten dadurch kontinuierlich gelesen und
geschrieben, dass die Burstlänge
auf die volle Seite gesetzt wird. Die Zugriffsadressen gehören dabei
zur selben Zeilenadresse. Gemäß diesem
Beispiel werden die Zahlen der Lese- und Schreibdaten individuell auf 12
gesetzt, und das Burstlesen und das Burstschreiben enden auf den
Burststoppbefehl hin (d. h. Stopp zu T17 und T30). Das Anzeigeverarbeitungsmodul 13 ist
mit einer Einrichtung zum Einspeichern der gelesenen Daten oder
der Übertragungsquelle-Daten
bei der BitBLT-Operation versehen.
-
Die 12 und 13 zeigen ein Beispiel für Operationen
dann, wenn das Anzeigeverarbeitungsmodul 13 über keine
Einrichtung zum zeitweiligen Einspeichern der vom Synchron-DRAM 22 herrührenden
Anzeigedaten verfügt.
Dabei wird ein Verfahren verwendet, bei dem die Anzeigeverarbeitung
und die Zeichnungsverarbeitung verschachtelt werden. In diesem Fall
müssen
die Anzeigedaten im Zyklus ausgelesen werden, der in Übereinstimmung
mit der Punktrate bestimmt wird, und sie werden einzeln für die vier
Zyklen des Taktsignals CLK gelesen. Damit die Daten einmal für die vier
Zyklen des Taktsignals CLK ausgelesen werden, sind die Speicherbänke des
Anzeigebereichs und der Zeichnungsbereich so unterteilt, dass die
Speicherbänke
des Anzeigebereichs und der Zeichnungsbereich mit dem Umschalttiming
der Rahmen des Monitors 20 umgeschaltet werden, und das
Vorabladen S3 und die Adressaktivierung S4 für die nächste Zeile werden vorzugsweise
durch die Zeichnungsverarbeitung zum Zeitpunkt des Umschaltens der
Anzeigezeilenadresse ausgeführt.
Beim Beispiel der 12 und 13 wird die Bank A(a) als
Anzeigebereich verwendet, wohingegen die Speicherbank B(b) als Zeichnungsbereich
verwendet wird. Das Vorabladen für
die Speicherbank A(a) wird zu T3 ausgeführt (Pr-ab), und die Zeilenadresse
wird zu T4 spezifiziert (Ac-a). Die Leseoperation zur Anzeige wird,
wie dargestellt, für
dieselbe Zeilenadresse, wie sie zu T4 spezifiziert wurde, ausgeführt. Dabei
wird der Zeichnungsvorgang betreffend die Speicherbank B(b) dadurch
zufallsweise ausgeführt,
dass die zu T14 (Pr-b) und T15 (Ac-b) ausgewählten Zeilenadressen zu T24
(Pr-b) und T26 (Ac-b) geändert
werden.
-
Die 14 zeigt
eine Ausführungsform
des BitBLC(d. h. Bit Block Transfer)-Zeichnungsverarbeitungssystems. Das
Zeichnungsverarbeitungsmodul 12 besteht aus einem Block
für arithmetische
Operation betreffend die Anzahl der zu übertragenden Wörter von
Adressen oder Daten gemäß dem Zeichnungsalgorithmus,
und einem Block für
arithmetische Operation betreffend die Farbe eines Punkts, wobei jedoch
keine spezielle Beschränkung
hierauf besteht. Die Zeichnungsverarbeitung der BitBLT (Bit Block
Transfer)-Operation kann dadurch realisiert werden, dass die arithmetische
Operationen betreffend eine Linie der X-Richtung in der Y-Richtung
wiederholt werden. Bei den arithmetischen Operation betreffend eine
Linie in der X-Richtung wird der Adressenzähler 141 zunächst zurückgesetzt,
um die Anzahl der Übertragungswörter der Übertragungsquelle
in ein Übertragungswortanzahl-Register 122 einzutragen.
Die Burstlänge
wird auf die volle Seite eingestellt, und das Zeichnungsverarbeitungsmodul 12 gibt
eine Übertragungsquelle-Startadresse
an die Bussteuereinheit 14 aus, um den Vorgang für zusammenhängendes
Lesen zu starten. Auf das Bestätigungssignal 1412 von
der Bussteuereinheit 14 hin wird ein Adressenzähler 121 inkrementiert,
um die Daten der Übertragungsquelle
einmal in einen Quellen-RAM 124 einzuspeichern. Der Wert
des Adressenzählers 121 und
der Wert des Übertragungswortanzahl-Registers 122 werden
durch einen Komparator 123 verglichen, der, wenn diese
Werte übereinstimmen,
die Steuerinformation des Burststopps aus dem Zeichnungsverarbeitungsmodul 12 auf
das Interruptsignal 1231 hin an die Bussteuereinheit 14 ausgibt.
Wenn die arithmetische Operation mit den zugrundeliegenden Daten
für die
Zeichnungsverarbeitung der BitBLT(d. h. Bit BLock Transfer)-Operation
erforderlich ist, werden die zugrundeliegenden Daten, wie die Übertragungsquelle-Daten,
einmal vorab in einen Ziel-RAM 126 eingespeichert. Zuletzt werden
die Übertragungsquelle-Daten
durch ein Schieberegister 125 an ihrer Position registriert,
und sie werden einer arithmetischen Operation mit den zugrundeliegenden
Daten durch eine Arithmetik- und Logikeinheit 127 unterzogen,
so dass die sich ergebenden Daten erneut kontinuierlich in den Synchron-DRAM 22 eingeschrieben
werden.
-
«Umschalten auf ROM-Zugriff»
-
Wie es in den 20 und 25 dargestellt
ist, kann eine Bussteuereinheit 14a einen ROM (d. h. Festwertspeicher) 26 als
Speicher geringerer Geschwindigkeit, gemeinsam mit dem Synchron-DRAM 22,
bilden. Gemäß der 20 ist der ROM 26 gemeinsam
mit dem Synchron-DRAM 22 mit dem Bus verbunden. Der Adressenraum
des ROM 26 wird in den Rahmenpuffer-Adressenraum abgebildet,
d. h., dass der Adressendecodierer zum Erzeugen eines Signals zum
Auswählen
des Adressenraums zum Zeichnungsanzeigeprozessor 11 gehört. Wenn
das Zeichnungsverarbeitungsmodul 12 über einen Adressendecodierer
verfügt,
wird der Zugriff auf den Adressenraum des ROM 26 durch
die Steuerinformation 1421 an die Bussteuereinheit 14 mitgeteilt. Die
Ablaufsteuerung 143 führt
nicht nur das Lesen S6 ab dem Leerlaufvorgang S1 aus, sondern auch
die NOP-Operation S2, bis die Daten vom ROM 26 festgelegt
sind. Die Anzahl der Ausführungen
der NOP-Operation S2 kann auf einen Wert festgelegt werden, der
entsprechend der Betriebsgeschwindigkeit des ROM 26 vorab
bestimmt wird, jedoch wird sie wünschenswerterweise
durch das Spezialregister spezifiziert, und zwar im Hinblick auf
eine Erweiterung des Raums zum Auswählen des verwendbaren ROM 26.
Wenn andererseits der Adressendecodierer in der Bussteuereinheit 14 angeordnet
ist, wie der Adressendecodierer 1481 der 30, wird das Ausgangssignal des Decodierers
direkt in die Ablaufsteuerung 143 eingegeben, damit der
Zugriff des ROM 26 gesteuert wird. Die Anzahl dabei eingefügter NOP-Operationen
S2 kann durch das oben genannte Spezialregister spezifiziert werden.
-
Das Beispiel der 25 unterscheidet sich von dem der 20 dadurch, dass die Module 12 und 13 und
die Bussteuereinheit 14 unter Verwendung von Spezialbussen
verbunden sind. Die Verbindungen durch derartige Spezialbusse können auch bei
der Ausführungsform
ohne ROM 26 verwendet werden.
-
« Pipeline betreffend den Datenzugriff»
-
Unter Verwendung des Synchron-DRAM 22 kann
nicht immer eine Hochgeschwindigkeitsübertragung realisiert werden,
die der bei einem bekannten SRAM entspricht. Genauer gesagt, ist
die Bedingung für
Hochgeschwindigkeitsübertragung
auf dieselbe Zeilenadresse beschränkt, und im (Fehltreffer) Fall der
Verschiebung auf eine andere Zeilenadresse ist eine Fehltrefferverarbeitung
erforderlich, um den Vorabladebefehl oder den Zeilenadresse-Aktivierbefehl (oder
den Zeilenadressstrobe-Bankaktivier-Befehl) auszugeben. Für die Abbildung
der physikalischen Speicheradressen der logischen Pixelkoordinaten des
Rahmenpuffers wird daher eine Anordnung verwendet, bei der eine
andere Zeilenadresse, die in einen anderen Bereich angrenzend an
den Bereich derselben Zeilenadresse abgebildet wird, immer sicher
eine Zeilenadresse einer anderen Speicherbank bildet. In diesem
Fall wird daher die Burstlänge
auf N (N > 1) eingestellt,
und der Vorabladebefehl und der Zeilenadressstrobe-Bankaktivier-Befehl
kann an eine andere Speicherbank als diejenige, auf die zugegriffen
wird, ausgegeben werden, während
die aktuellen Daten aus dem Synchron-DRAM 22 abgerufen
werden, wie es aus der vorigen Beschreibung der Zeitablaufdiagramme
der 7–13 ersichtlich ist, so dass der
Busdurchsatz verbessert werden kann. Das Zeichnungsverarbeitungsmodul 12,
das Anzeigeverarbeitungsmodul 13 oder die Bussteuereinheit 14 ist mit
einer Einrichtung für
eine vorab erfolgende arithmetische Operation an den Adressen sowie
einer Einrichtung (d. h. den Fehltrefferdetektor 147) zum Festlegen
des Umschaltens der Zeilenadressen versehen, so dass der Vorabladebefehl
und der Zeilenadresse-Aktivierbefehl und dann die Zeilenadressen durch
die Ablaufsteuerung 143 in der Bussteuereinheit 14 ausgegeben
werden, wenn eine Änderung der
Zeilenadressen erkannt wird. Im Ergebnis ist es möglich, die
Daten maximal alle 10 ns zu lesen und zu schreiben.
-
Die 15 bis 17 veranschaulichen Beispiele
der Abbildung (auf den Anzeigerahmen) der physikalischen Speicheradressen
und der logischen Koordinaten des Synchron-DRAM 22 im System
der vorliegenden Ausführungsform.
Anders gesagt, ist die Datenanordnung der einzelnen Zeilenadressen
in Bitkarte-Koordinatenbereichen
des Rahmenpuffers veranschaulicht. Bei der vorliegen den Ausführungsform
entspricht dieselbe Zeilenadresse im Synchron-DRAM 22 den
Pixeldaten von 256 Bits. In den einzelnen Figuren sind der Bereich
mit einer Länge von
16 Punkten und einer Breite von 16 Punkten sowie der Bereich mit
einer Länge
von 1 Punkt und einer Breite von 256 Punkten Bereiche von Pixeldaten, die
einer Zeilenadresse entsprechen. Die 15 veranschaulicht
eine Abbildung, bei der in der Breitenrichtung benachbarte Rechteckbereiche
von 16 Punkten × 16
Punkten derselben Zeilenadresse über verschiedene
Speicherbänke
verfügen.
Die 16 veranschaulicht
eine Abbildung, bei der die in der Längsrichtung benachbarten Rechteckbereiche
von 1 Punkt × 256
Punkten derselben Zeilenadresse über verschiedene
Speicherbänke
verfügen.
Die 17 veranschaulicht
eine Abbildung, bei der die in der Längsund der Breitenrichtung
benachbarten Rechteckbereiche von 16 Bits × 16 Bits derselben Zeilenadresse über verschiedene
Speicherbänke
verfügen. Bei
der Abbildung der 15 können die
Speicherbänke,
auf die zuzugreifen ist, selbst bei einer Zeichnungsverarbeitung
abwechselnd umgeschaltet werden, die hinsichtlich der Bitkartenkoordinaten
in der Breitenrichtung und schräg
abläuft,
so dass der Verarbeitungsdurchsatz dadurch verbessert werden kann,
dass die Verarbeitung wie das Vorabladen einer Speicherbank, während für die andere
Speicherbank ein Lese- oder Schreibvorgang abläuft, ausgeführt wird. Der Abbildungsvorgang
der 17 bildet die optimale
Abbildung dann, wenn sich die Zugriffe auf den Rahmenpuffer in der
Längs-
und der Querrichtung konzentrieren. Beim Abbildungsvorgang der 16 werden die Speicherbänke, auf
die zuzugreifen ist, bei einer Verarbeitung, bei der der Zeichnungs-
oder Anzeigevorgang in den Bitkartenkoordinaten in der Querrichtung
abläuft,
abwechselnd umgeschaltet. Im Ergebnis kann der Durchsatz der Verarbeitung
dadurch verbessert werden, dass eine Verarbeitung wie das Vorabladen
einer Speicherbank ausgeführt
wird, während
für die
andere Speicherbank der Lese- oder Schreibvorgang abläuft. Der
Abbildungsvorgang der 16 entspricht
dem Fall, bei dem ein Nachteil dadurch beseitigt ist, dass die Scanadressen
in einer Richtung geändert
werden, wie durch Löschen
der Rechteckbereiche.
-
Bei den Abbildungsvorgängen der 15 und 17 ist z. B. dann, wenn der Speicherzugriff
in der Übertragungsrichtung
der Rahmenpufferanordnung ausgeführt
wird, der Zugriffsmodus an der Grenze zwischen den Speicherbänken A und
B derjenige zu T24 in der 7.
In der 16 entspricht
andererseits der Modus der Speicherzugriffe von 256 Punkten in der
Querrichtung den Zugriffszeitpunkten gemäß den 8 und 9.
-
«Verhinderung von Störungen der
Pipeline einhergehend mit der Fehltrefferverarbeitung »
-
Nun wird die Fehltrefferverarbeitung
zur weiteren Verbesserung des Durchsatzes des beim Zugreifen auf
den Synchron-DRAM auszuführenden Datenverarbeitung
unter Bezugnahme auf eine andere Ausführungsform beschrieben. In
der folgenden Beschreibung werden die Ausführungsformen in Zusammenhang
mit einem Datenprozessor gemäß einer
anderen Ausführungsform
der Erfindung und in Zusammenhang mit einem Fax-Bildverarbeitungssystem,
bei dem der Datenprozessor angewandt ist, beschrieben.
-
Die 33 ist
ein Blockdiagramm, das ein Beispiel eines Bildverarbeitungssystems
zeigt, das mit einem Datenprozessor 70 gemäß einer
anderen Ausführungsform
der Erfindung versehen ist. In der 33 liest
ein Sensor 80 optische Dichteinformation eines Dokuments
aus, und er gibt die fotoelektrisch gewandelte Information als Bilddaten
aus. Der Sensor 80 ist bei aktuellen Faxgeräten häufig beispielsweise
ein CCD-Zeilensensor, jedoch wird damit begonnen, einen Kontaktsensor
zu verwenden, und es wird ein Flächensensor
verwendet werden. Ein Bildprozessor 71 beseitigt nicht
nur eine in den Bilddaten enthaltene Verzerrung, sondern er verbessert auch
die Bildqualität
und führt
die Codierung aus. Bei der vorliegenden Ausführungsform sind zwei Synchron-DRAMs 82a und 82b vorhanden.
Diese Synchron-DRAMs 82a und 82b werden als Zeilenspeicher
zum Lesen und Schreiben der Daten mit hoher Geschwindigkeit sowie
als Codeseitenpuffer zum Speichern der bildverarbeiteten und codierten
Daten, so dass sie über
einen Kommunikationsprozessor 79 geschickt werden können, verwendet.
Die zwei Synchron-DRAMs 82a und 82b sind über individuelle Schnittstellen
mit spezifischen Bussteuereinheiten 74a und 74b verbunden,
so dass parallel auf sie zugegriffen werden kann. Eine CPU 75 verwaltet
die Steuerungsvorgänge
für das
Gesamtsystem, und sie speichert die bildverarbeiteten und codierten
Daten in den oben genannten Seitenpufferbereichen der Synchron-DRAMs 82a und 82b,
um sie über
den Kommunikationsprozessor 79 zu schicken und zu kontrollieren.
Der Kommunikationsprozessor 79 führt die Verbindung zwischen
dem empfangsseitigen Faxgerät
und der Prozedur des Kommunikationsprotokolls aus, und er wandelt
die Daten von der CPU 75, um sie über den Kanal zu übertragen.
Ein Taktsignalgenerator 78 erzeugt ein Grund-Taktsignal 781 auf
Grundlage der der Standardfrequenz eines Quarzoszillators 77,
und er liefert es an den Bildprozessor 71, die CPU 75 und
den Kommunikationsprozessor 79. Die Empfangsvorgänge folgen
einem Verlauf umgekehrt zu dem bei Sendevorgängen, d. h. über den Kommunikationsprozessor 79,
die CPU 75 und den Bildprozessor
71, so dass die
Daten in einer Aufzeichnungseinrichtung 81 aufgezeichnet
werden. Diese Aufzeichnungseinrichtung 81 ist beispielsweise
ein Thermokopf- oder Tintenstrahl- oder Laserdrucker unter Verwendung
der Elektrofotografietechnik.
-
Die Synchron-DRAMs 82a und 82b sind Speicher,
die Daten-, Adress- und Steuersignale synchron mit dem Taktsignal
eingeben/ausgeben können,
abweichend vom bekannten DRAM, so dass sie für eine Hochgeschwindigkeitsübertragung
entsprechend der eines bekannten SRAM mit höherer Kapazität als der
des bekannten DRAM zu geringen Kosten realisieren können. Kurz
gesagt, kann unter Verwendung der Synchron-DRAM die Busgeschwindigkeit
des Speichers verbessert werden, um den Bildverarbeitungs-SRAM und
den Seitenpuffer-DRAM zu integrieren. Es ist zu beachten, dass hierbei
die Synchron-DRAMs 82a und 82b über eine
Schaltungskonstruktion ähnlich
derjenigen verfügen,
die unter Bezugnahme auf die 2 beschrieben
wurde. Darüber
hinaus wird das Taktsignal CLK für
die Synchron-DRAMs 82a und 82b wie bei der vorigen
Ausführungsform
vom Datenprozessor 70 ausgegeben.
-
In der 33 führt der
Bildprozessor 71 die Verzerrungskorrektur, die Bildqualitätsverbesserung und
die Codierungsverarbeitung für
die vom Sensor 80 gelesenen Bilddaten aus. Diese Verarbeitungsvorgänge werden
so realisiert, dass dafür
gesorgt wird, dass die Bussteuereinheit 74a den Synchron-DRAM 82a unter
Verwendung einer Leseadresse RDADR zum Ausgeben von Daten 821a liest, so
dass die sich ergebenden Daten 751a vom Bildprozessor 71 eingelesen
werden, und dass der Bildprozessor 71 die eingelesenen
Daten 751a grafisch verarbeitet, um die verarbeiteten Daten 751b unter Verwendung
der Schreibadresse WRADR in den Synchron-DRAM 82b einzuschreiben.
-
Hierbei werden die Verarbeitungsvorgänge des
Lesens der Daten aus dem oben genannten Synchron-DRAM 82a,
des Korrigierens der gelesenen Daten im Bildprozessor 71 und
das Einschreiben des Ergebnisses in den Synchron-DRAM 82b für die gesamten
Anzeigedaten synchron zum Betriebs-Taktsignal des Bildprozessors 71 sequenziell
mit der Einheit mehrerer Verarbeitungsschritte wiederholt. Die Bildverarbeitungspipeline
ist ein Verarbeitungsverfahren, bei dem mehrere Einheitsbildverarbeitungsvorgänge derartiger
Verarbeitungsschritte parallel und mit einem Versatz der Verarbeitungsschritte
ausgeführt
werden, so dass eine Einheit der Bildverarbeitungsvorgänge scheinbar
innerhalb einer Zykluszeit eines Verarbeitungsschritts ausgeführt werden kann.
Gemäß der vorliegenden
Ausführungsform
gibt der Bildprozessor 71 diese Leseadresse RDADR für einige
Daten und die Schreibadresse WRADR der aus den gelesenen Daten verarbeiteten
Daten parallel aus. Dabei wird die Datenverarbeitungszeitperiode,
bis die verarbeiteten, gelesenen Daten geschrieben werden können, durch
die Adressübertragungs-Verzögerungszeit,
zu der es durch zweistufige Latchstufen 731 und 732 in
der 33 kommt, aufrecht
erhalten. Demgemäß werden,
wenn die Leseadresse RADR und die Schreibadresse WRADR parallel
vom Bildprozessor 71 ausgegeben werden, die aus der Leseadresse
RDADR ausgelesenen Daten nicht verarbeitet und geschrieben, bevor
nicht das Adresssignal WRADR 3 nach der Verzögerungszeit für die Schreibadresse
WRADR, für
Durchlauf durch die Latchschaltungen 731 und 732, wirksam
geworden ist.
-
Wenn der Bildprozessor 71 so
aufgebaut ist, dass er eine Pipelineverarbeitung ermöglicht,
ist eine Warteschlangenbildung erforderlich, um das Taktsignal teilweise
zu unterbrechen, solange nicht die Zeitperiode nach dem Einlesen
der gelesenen Daten und nach dem Einschreiben der verarbeiteten
Daten konstant ist, und die Warteschlangenverarbeitung erfordert
eine komplizierte Verarbeitung im Zeitablauf. Wenn die Bildverarbeitungspipeline
dadurch realisiert wird, dass die Daten sequenziell aus dem Synchron-DRAM 82a gelesen
und die verarbeiteten Datenergebnisse sequenziell in den Synchron-DRAM 82b eingeschrieben
werden, bricht die Pipeline zusammen, wodurch die Daten teilweise
unterbrochen werden, wenn entweder bei der Lese- oder der Schreiboperation
des Synchron-DRAM ein Fehltreffer auftritt. Demgemäß müssen, wenn
ein Fehltreffer auftritt, die Daten dadurch eingespeichert werden, dass
die Bildverarbeitungsoperation zeitweilig unterbrochen wird, um
die Daten in der Pipeline aufrecht zu erhalten. Da darüber hinaus
diese Unterbrechung unabhängig
davon erforderlich ist, ob der Fehltreffer auf der Lese- oder der
Schreibseite auftritt, werden die Fehltrefferentscheidungen gleichzeitig
sowohl auf der Schreib- als auch der Leseseite ausgeführt. Gemäß der vorliegenden
Ausführungsform
werden, wenn der Fehltreffer der Zeilenadresse nicht vor dem Datenschreiben
der abschließenden
Stufe in einer Reihe von Verarbeitungsabläufen zum Ausgeben einer Leseadresse
an den Synchron-DRAM 82a, zum Lesen der Daten, zum Verarbeiten
der Daten, zum Ausgeben der Schreibadresse an den Synchron-DRAM 82b und
zum Einschreiben der Daten in den Synchron-DRAM 82b aufgefunden
ist, die anschließend
zu verarbeitenden Daten bereits sequenziell ausgelesen. Wenn die
Schreib-Fehltrefferverarbeitung in diesem Stadium eingefügt wird,
wird die Pipeline gestört,
so dass ihre Reparatur eine komplizierte Verarbeitung erfordert.
-
Bei der vorliegenden Ausführungsform
der 33 werden daher
die Leseadresse RDADR und die Schreibadresse WRADR einer Fehltreffererkennung
un terzogen. Der Fehltrefferdetektor 72b für die Leseadresse
RDADR ist in der Bussteuereinheit 74a untergebracht, jedoch
ist der Fehltrefferdetektor 72a für die Schreibadresse WRADR
in der Frontstufe der Latchschaltung 731 untergebracht,
so dass bei der Ausgabe der Leseadresse RDADR erfasst wird, ob für die Schreibadresse
WRADR3 ein Fehltreffer existiert oder nicht. Genauer gesagt, wird
die Schreibadresse WRADR durch den Fehltrefferdetektor 72a und
die Latchschaltungen 731 und 732 in die interne Adresse
WRADR3 gewandelt, die an die Bussteuereinheit 74b geliefert
wird. Die Latchschaltungen 731 und 732 gewährleisten
die Verarbeitungsverzögerungszeitperiode,
bis die Schreibdaten durch die Verarbeitung und Behandlung der aus
der Leseadresse RADR ausgelesenen Daten erstellt sind. Die Bussteuereinheiten 74a und 74b sind
einzeln über
die unabhängigen
Adressbusse, Datenbusse und Steuerbusse mit den Synchron-DRAMs 82a und 82b verbunden.
Bei der vorliegenden Ausführungsform
wird die durch die Schreibadresse erzeugte Fehltrefferinformation
dadurch widergespiegelt, dass zum Fehltrefferbehandlungszeitpunkt
der Leseadresse vorab auf sie Bezug genommen wird. Anders gesagt,
wird der Fehltrefferzustand betreffend die Schreibadresse WRADR 3 mit
der Schreibadresse WRADR zum Ausgabezeitpunkt der Leseadresse RDADR
erkannt, so dass ein Fehltreffer hinsichtlich der Schreibadresse WRADR3
so behandelt wird, als würde
die Leseadresse RDADR einen Fehltreffer verursachen. Gemäß der vorliegenden
Ausführungsform
wird ein durch den Fehltrefferdetektor 72a erfasstes Fehltreffersignal
WRMHT an die Bussteuereinheit 74a geliefert, die ein Fehltreffersignal
RDMHT an einen Taktsignaltreiber 76 liefert, um die Zuführung eines
Taktsignals 760 zum Bildprozessor 71 für eine vorbestimmte
Zeitperiode zu unterbrechen. Diese Unterbrechungszeitperiode wird
bereitgestellt, um ein Vorabladen und eine Zeilenadressaktivierung
für den
Synchron-DRAM in Reaktion auf den Fehltreffer auszuführen. Wenn
der Fehltreffer für
die Leseadresse RDADR erkannt wird, wird das Fehltreffersignal RDMHT
für ähnliche
Operationen direkt an den Taktsignaltreiber 76 geliefert.
Durch diese Synchronisation von Fehltreffern können die Verarbeitungsvorgänge ungültiger Daten
einhergehend mit Fehltreffern vereinheitlicht werden, um die Bildverarbeitungspipeline
zu vereinfachen. Kurz gesagt, können
Störungen der
Bildverarbeitungspipeline minimiert werden. Übrigens werden, wie dargestellt,
der Einfachheit halber alle Taktsignale 760 vom Taktsignaltreiber 76 an
den Bildprozessor 71 vollständig unterbrochen. Jedoch kann
die Unterbrechung auf die Pipelinebelegung durch den Bildprozessor 71 oder
auf eine gewisse Phase begrenzt werden, wenn das Taktsignalsystem nicht überlappende,
mehrphasige Taktsignale verwendet.
-
Die 35 ist
ein zeitbezogenes Diagramm zum Veranschaulichen eines Bei spiels
des Falls, bei dem ein Fehltreffer zum Lesezeitpunkt während der Pipelineverarbeitung
des Systems der 33 auftritt.
Die zu T1 vom Bildprozessor 71 ausgegebene Leseadresse
RDADR wird an die Bussteuereinheit 74a geliefert, die den
Status RDBST der in ihr enthaltenen Ablaufsteuerung zu T2 auf einen
ersten Datenlesewert R1 ändert.
Im Ergebnis werden zu T3 vom Synchron-DRAM 82a Daten DR1
ausgegeben. Die Daten DR werden durch den Bildprozessor 71 in Schreibdaten
DW1 verarbeitet. Die Schreibadresse WRADR wird durch die Latchschaltungen 731 und 732,
die als Verzögerungseinrichtungen
wirken, in die interne Schreibadresse WRADR3 verzögert, und der
Status WRBST der Ablaufsteuerung der Bussteuereinheit 74b wird
zu T4 auf einen ersten Datenschreibwert W1 geändert, so dass der Datenwert DW1
in den Synchron-DRAM 82b eingeschrieben wird. Wenn sich
dabei die Zeilenadresse der Leseadresse RDADR, die anschließend zu
lesen ist, von der Zeilenadresse zu R1 unterscheidet, ist die Fehltrefferverarbeitung
erforderlich, bei der die Zeilenadresse vorab geladen und erneut
aktiviert wird. Wenn die Zeilenadresse R2 zu T2 vom Bildprozessor 71 als Leseadresse
RDADR ausgegeben wird, wird sie im Fehltrefferdetektor 72b der
Bussteuereinheit 74a mit der Zeilenadresse R1 verglichen.
Wenn erkannt wird, dass die zwei Zeilenadressen verschieden sind,
wird ein Fehltreffersignal RDMHT ausgegeben. Im Ergebnis unterbricht
der Taktsignaltreiber 76 die Zuführung des Taktsignals 760,
die Operation des Bildprozessors 71 und die Aktualisierungsvorgänge für die Adressen
RDADR, WRADR3 und WRADR für
die Zeitperiode von T4 bis T6, so dass die Adressen vor der Unterbrechung
für die
Zeitperiode T4 bis T6 aufrecht erhalten werden. Indessen behandelt
die Bussteuereinheit 74a die Fehltreffer durch Ausgeben
der individuellen Befehle für
das Vorabladen (Pre) und die Zeilenadressaktivierung (Act) entsprechend
R2 an den Synchron-DRAM 82a. Während die Fehltrefferverarbeitungen
ausgeführt
werden, werden keine Daten ausgelesen, und es entsteht entsprechend
ein Mangel an effektiven Schreibdaten, so dass die Schreib-Bussteuereinheit 74b für die Zeitperiode
von T5 bis T7 auf das Fehltreffersignal RDMHT hin im Leerlaufbetrieb
gehalten wird.
-
Die 36 ist
ein zeitbezogenes Diagramm zum Veranschaulichen eines Beispiels
des Falls, bei dem ein Fehltreffer zur Schreibzeit auftritt. Hierbei
ist der Fall angenommen, bei dem die zu T2 vom Bildprozessor 71 ausgegebene
Schreibadresse WRADR zu einem Fehltreffer führt. Wenn der Fehltreffer betreffend
die Schreibadresse WRADR3 in der Bussteuereinheit 74b erkannt
wird, wird dies im Zustand T4 aufgefunden. Selbst wenn das Aktualisieren
der Adresse im Zustand T5 unterbrochen wird, wurde bereits die Daten-
oder Schreibadresse entsprechend einer anderen Leseadresse vor dieser
Unterbre chung ausgegeben, so dass die Information während der
Fehltrefferverarbeitung verschwindet. Bei der vorliegenden Ausführungsform
wird dafür
gesorgt, dass die Fehltreffererkennung betreffend die Schreibadresse
WRADR zum selben Zeitpunkt wie die für die Leseadresse RDADR erfolgt.
Wenn ein Schreibfehltreffer erkannt wird, kann verhindert werden,
dass die Daten oder Adressen während
der Zeitperiode der Behandlung des Fehltreffers verschwinden, und
zwar dadurch, dass die Bildverarbeitung und die Adressenaktualisierung
ab dem Lesezeitpunkt im Leerlaufbetrieb arbeiten.
-
Der Pipelineablauf für den Fall,
dass ein Fehltreffer für
die Schreibadresse W2 in der 36 auftritt,
und der Pipelineablauf für
den Fall, dass ein Fehltreffer für
die Leseadresse R2 in der 35 auftritt,
werden einander gleich gemacht. Im Zustand T1 bis zum Zustand T10,
wie repräsentativ
in den 35 und 36 dargestellt, können, genauer
gesagt, die Ausgabezustände
der vom Bildprozessor 71 ausgegebenen Leseadresse RDADR
und der Schreibadresse WRADR nicht gestört werden, um eine vorbestimmte
Abfolge einzuhalten, selbst wenn indessen ein Schreib- oder ein
Lesefehltreffer auftritt. Anders gesagt, kann selbst dann, wenn
zwischen dem Lese- und dem Schreibzeitpunkt betreffend die Synchron-DRAMs 82a und 82b eine,
Fehltrefferverarbeitung eingefügt
ist, eine Störung
der Pipeline der Bildverarbeitung in 1 Zustand und 1 Zyklus vollständig verhindert
werden.
-
«Wettbewerb zwischen Fehltrefferverarbeitung
und Unterbrechung»
-
Auf die Synchron-DRAMs 82a und 82b kann nicht
nur durch den Bildprozessor 71 sondern auch durch die CPU 75 zugegriffen
werden. Dies; da die Synchron-DRAMs 82a und 82b so
ausgebildet sind, dass sie nicht nur die Befehle und Parameter des Bildprozessors 71 speichern.
Wenn die CPU 75 auf die Synchron-DRAMs 82a und 82b zugreift,
unterbricht sie die Verarbeitung des Bildprozessor 71 wie im
Fall eines Fehltreffers, und sie führt die Fehltrefferverarbeitung
aus, so dass sie ein Interruptanforderungssignal SDCACK an den Taktsignal-Treiberbus 76 und
die Bussteuereinheit 74a ausgibt. Es wird davon ausgegangen,
dass das Interruptanforderungssignal SDCACK für die Interruptperiode auf
einem aktiven Pegel, wie dem niedrigen Pegel, gehalten wird, wobei
jedoch keine spezielle Beschränkung
hierauf besteht. Auf das Interruptanforderungssignal SDCACK hin
unterbricht der Taktsignaltreiber 76 die Zuführung des
Taktsignals 760 zum Bildprozessor 71. Die dabei zugeführte Interruptperiode
des Taktsignals 760 kann auf eine wahlfreie Periode eingestellt werden,
bis das Interruptanforderungssignal SDCACK auf einen Inaktivitätspegel,
wie den hohen Pegel, negiert wird. Darüber hinaus wird die Fehltrefferverarbeitung
zum Interruptzeitpunkt ausschließlich durch Ändern des
Zugriffsobjekts für
die Synchron-DRAMs 82a und 82b auf die CPU 75 bewerkstelligt,
und auf das Ausgangssignal einer Schaltung zum Erkennen einer Pegeländerung
auf den aktiven Pegel des Interruptanforderungssignals SDCACK hin wird
zwangsweise ein Fehltreffer ausgegeben, um einen einmaligen Impuls
zu erzeugen. Wenn die Unterbrechung der CPU 75 beendet
ist, eröffnet
der Bildprozessor 71 erneut seinen Betrieb, jedoch kann
das im Fehltrefferdetektor 72a erfasste Fehltreffersignal nicht
den korrekten Betrieb gewährleisten,
während der
Bildprozessor 71 unterbrochen ist. Im Ergebnis wird, wenn
der Bildprozessor 71 nach dem Ende der Unterbrechung der
CPU 75 erneut betrieben wird, der Fehltreffer auf das Ausgangssignal
der Schaltung zum Erkennen der Pegeländerung auf den inaktiven Pegel
des Interruptanforderungssignal SDCACK hin zwangsweise erzeugt,
um den einmaligen Impuls, wie oben beschrieben, zu erzeugen.
-
« Detailliertes Beispiel der
internen Schaltung »
-
Die 39 ist
ein Blockdiagramm, das ein Beispiel des Bildprozessors 71 zeigt.
Ein Grafikpipelinemanager GPM liest Befehle vom Synchron-DRAM 82a und
trägt Parameter
in einen Leseadressengenerator 301, einen Schreibadressengenerator 302 und
einen Datengenerator 303 ein, um sie zu starten. Der Leseadressengenerator 301,
der Schreibadressengenerator 302 und der Datengenerator 303 sind
mit Ablaufsteuerung SEQ versehen, um die Leseadresse RDADR, die
Schreibadresse WRADR bzw. die Daten GDAT zu erzeugen. Die Eingangsdaten 751a werden
mit den im Datengenerator 303 erzeugten Daten GDAT durch
eine Arithmetik- und Logikeinheit 308 synthetisiert, und
sie werden mittels einer Zeiteinstell-Latchstufe 309 zu
Ausgangsdaten 751b verarbeitet. Das vom Taktsignaltreiber 76 zugeführte Taktsignal 760 wird
durch einen Taktsignaltreiber 311 auf die einzelnen Abschnitte der
internen Schaltung verteilt, so dass die einzelnen internen Schaltungen
mit den verteilten Taktsignalen synchronisiert werden. Im Ergebnis
werden die Betriebsabläufe
des Bildprozessors 71 unterbrochen, wenn die Zuführung des
Taktsignals 760 unterbrochen wird.
-
Die 40 zeigt
ein Beispiel des Taktsignaltreibers 76. Ein vom Taktsignalgenerator 78 eingegebenes
Taktsignal 781 steuert einen Treiber (DRV) 761 an,
und es wird in Treiber (DRV) 762, 763 und 764 verteilt.
Das Ausgangssignal des Treibers 762 ist das Taktsignal
CLK an die Synchron-DRAMs 82a und 82b. Ein Logiksummengatter
(ODER) 767 gibt ein ODER-Signal MHT für das oben genannte Unterbrechungssignal
SDCACK und das Fehltreffersignal RDMHT, d. h. die einzelnen Freigabesignale,
aus. Ein Logikproduktgatter (UND) 766 empfängt das
Ausgangs-Taktsignal des oben genannten Treibers 761 sowie
das Ausgangssignal des ODER-Gatters 767, und es liefert
sein UND-Signal an einen Treiber (DRAV) 765, um das oben
genannte Taktsignal 760 zu erzeugen. Im Ergebnis wird das
Ausgangssignal des UND-Gatters 766 durch einen Fehltreffer
oder eine CPU-Unterbrechung auf den niedrigen Pegel fixiert, um
die Zuführung
des Taktsignals 760 an den Bildprozessor 71 zu
unterbrechen. Taktsignale Cb und CC sind die Operations-Standardtaktsignale,
die an die Bussteuereinheiten 74a und 74b zu liefern sind.
-
Die 41 ist
ein Blockdiagramm, das ein Beispiel der Bussteuereinheit 74a zeigt.
Die Leseadresse RDADR vom Bildprozessor 71 und eine Adresse 752 von
der CPU 75 werden durch einen Selektor 900 ausgewählt und
an den Fehltrefferdetektor 72b und den Multiplexer 903 geliefert.
Im Fehltrefferdetektor 72b wird die Zeilenadresse durch
einen Separator 722 entnommen. Welches Bit des Adressenbusses
der Zeilenadresse entspricht, wird durch die von der CPU 75 zugeführte Modusspezifizierinformation 749 bestimmt,
da dies vom aktuellen Modus abhängt.
Die entnommene Zeilenadresse wird in eine Latchstufe 721 eingespeichert,
und die Zeilenadresse (d. h. das Ausgangssignal des Separators 722),
auf die aktuell zuzugreifen ist, und die Zeilenadresse (d. h. das
Ausgangssignal der Latchstufe 721), auf die zum vorigen
Zeitpunkt zugegriffen wurde, werden durch einen Komparator 723 verglichen.
Das Übereinstimmungs-Ausgangssignal
des Vergleichsergebnisses wird auf den hohen Pegel gesetzt, wobei
jedoch keine spezielle Beschränkung hierauf
besteht. Der Ausgang des Komparators 723 ist mit einem
der Eingänge
eines ODER-Gatters 724 mit zwei Eingängen verbunden. Der andere
Eingang wird mit dem Ausgangssignal eines monostabilen Impulsgenerators 725 versorgt.
Der monostabile Impulsgenerator 725 erfasst sowohl die
Pegeländerung vom
aktiven auf den inaktiven Pegel des Interruptsiqnals SDCACK als
auch die umgekehrte Änderung, um
einen einzelnen Impuls mit hohem Pegel für eine vorbestimmte Zeitperiode
auszugeben. Im Ergebnis wird ein Zustand ähnlich dem einer Fehltreffererkennung
zwangsweise in solchen Fällen
errichtet, in denen eine Interruptanforderung erfolgt und ausgegeben
wird. Das Ausgangssignal 908 des ODER-Gatters 724 wird
an ein Logiksummengatter (ODER) 907 und eine Ablaufsteuerung 905 geliefert.
Der andere Eingang des ODER-Gatters 907 wird mit dem Fehltreffersignal
WRMHT vom Fehltrefferdetektor 72a versorgt. Im Ergebnis
wird, wenn in einem der Fehltrefferdetektoren 72a und 72b ein
Fehltreffer erkannt wird, das vom ODER-Gatter 907 ausgegebene
Fehltreffersignal RDMHT aktiviert. Die Ablaufsteuerung 905 führt die
Fehltrefferverar beitung aus, wenn sie durch das interne Signal 908 über die
Nichtübereinstimmung
gemäß dem Vergleichsergebnis
informiert wird. Der Ausgang der Ablaufsteuerung 144 ist über ein
Latchstufe 906 nicht nur mit dem Auswählanschluss des Multiplexers 903 zum
Auswählen
der Adressen für
den Synchron-DRAM 82a verbunden, sondern
auch mit dem Eingang einer Latchstufe 904, so dass er den
aktuellen Zustand über
diese an die Ablaufsteuerung 905 liefern kann. Der Multiplexer 903 wählt aus,
welches der ihm zugeführten
Adressenbits an den Synchron-DRAM zu liefern ist, was entsprechend
dem Ausgangssignal der Latchstufe 906 erfolgt. Der Ausgang
des Multiplexers 903 ist mit dem Adressenbus zum Synchron-DRAM 82a verbunden.
Der Datenbus 751 der CPU 75 sowie der Datenbus 751a des
Bildprozessors 71 können
durch den Selektor 905 ausgewählt werden, und sie sind über einen
Buspuffer 902 mit dem Datenbus des Synchron-DRAM 82a verbunden.
Die Selektoren 900 und 901 werden durch ein Anweisungssignal
SEL gesteuert. Dieses Anweisungssignal SEL wird von der Verzögerungsschaltung 902 ausgegeben.
Diese Verzögerungsschaltung 902 gibt
das Anweisungssignal SEL (d. h. das Verzögerungsignal zum Unterbrechungssignal
SDCACK) aus, das sich zum Zeitpunkt ändert, der sich im Taktsignal 760 des
Taktsignaltreibers 76 widerspiegelt, wenn sich das Interruptsignal SDCACK ändert. Wenn
sich das Anweisungssignal SEL auf dem niedrigen Pegel befindet,
d. h., wenn die CPU-Unterbrechung aktiv ist, wählen die Selektoren 900 und 901 die
Verbindung zur CPU 75 aus. Der Buspuffer 902 wird
durch das Ausgangssignal der Ablaufsteuerung 905 gesteuert. Übrigens
ist zu beachten, dass die Bussteuereinheit 74b gegenüber der
Bussteuereinheit 74a der 41 durch
Weglassen der Schaltungskonstruktion zur Fehltreffererkennung vereinfacht
ist. Es ist auch zu beachten, dass der Fehltrefferdetektor 72a mit
einer Konstruktion ähnlich
der des Fehltrefferdetektors 72b der 41 versehen ist, mit der Ausnahme, dass
ihre Eingangs/Ausgangs-Signale verschieden sind.
-
«Bildverarbeitungssystem mit
gemeinsamer Nutzung der Lese-/ Schreibzeit »
-
Die 34 zeigt
eine Ausführungsform
für den
Fall, bei dem die oben genannte Bildverarbeitung durch Lesen/Schreiben
eines Synchron-DRAM 82 auf Zeitmultiplexweise ausgeführt wird.
Die Verzerrungskorrektur, die Bildqualitätsverbesserung und die Codierungsverarbeitung
werden im Bildprozessor 71 zum Lesen der Bilddaten vom Sensor 80 ausgeführt. Diese
Verarbeitungsvorgänge
werden durch Eingeben der Leseadresse RDADR in die Bussteuereinheit 74,
durch Auslesen der Daten aus dem SD-RAM 82 über den
Bus 751 und durch Einschreiben der bildverarbeiteten Daten
an der Schreibadresse WRADR über
denselben Bus 751 realisiert. Die Bezugszahlen 821 und 822 kennzeichnen
einen Datenbus und einen Adressbus zum Anschließen des SD-RAM 82 und
der Bussteuereinheit 74.
-
Die 42 ist
ein Blockdiagramm, das ein Beispiel der Bussteuereinheit 74 zeigt.
Diese Bussteuereinheit 74 ist konstruktionsmäßig dahingehend von
der der 41 verschieden,
dass die CPU 75 und der Bildprozessor 71 über die
gemeinsam genutzten Busse 752 und 751 verbunden
sind und dass das Fehltreffersignal 908 durch den Fehltrefferdetektor 72b in
der Bussteuereinheit 74 erzeugt wird. Eine detaillierte
Beschreibung der Schaltungselemente mit denselben Funktionen wie
denen in der 41 wird
dadurch weggelassen, dass sie mit gemeinsamen Bezugszahlen gekennzeichnet
werden. Übrigens
ist der Taktsignaltreiber 76c dieser Ausführungsform
mit einer ähnlichen
Konstruktion wie der Taktsignaltreiber 76 der 40 versehen, was jedoch
nicht dargestellt ist. Im Ergebnis wird, wenn bei den vorstehenden
Ausführungsformen
ein Fehltreffer auftritt, die Zuführung des Taktsignals 760 zum
Bildprozessor 71 unterbrochen. Diese Zufuhr des Taktsignals 760 zum
Bildprozessor 71 wird auch in Reaktion auf eine Unterbrechung
der CPU 75 zwangsweise unterbrochen, und zuerst und auch
zum Unterbrechungs-Freigabezeitpunkt erfolgt zwangsweise ein Fehltreffer.
-
Die 37 und 38 sind zeitbezogene Diagramme
im System der 34, wobei
der einzelne Speicher in Zeitmultiplexweise gelesen/geschrieben wird.
Es wird dafür
gesorgt, dass mit der zu T1 ausgegebenen Leseadresse R1 der Datenwert
DR1 mittels der Bussteuereinheit 74 aus dem SD-RAM 82 gelesen
wird. Der durch den Bildprozessor 71 verarbeitete Datenwert
DW1 wird an der Schreibadresse W1 eingeschrieben. Die gelesenen
Daten benötigen einen
Raum von nur einem Zyklus für
den Übergang vom
Lesen zum Schreiben, wenn die CAS-Verzugszeit zu 1 angenommen
wird (wohingegen die Verzugszeit für die Schreibdaten 0 beträgt). Dies
wird als NOP-Operation des Status T3 des Busstatus RWBST verwendet.
Die 37 veranschaulicht
die Zeitabläufe
für die
Fehltrefferverarbeitung zur Lesezeit, und die 38 veranschaulicht die Zeitabläufe für die Fehltrefferverarbeitung
zur Schreibzeit. Da die Lese- und
Schreiboperationen auf Zeitmultiplexweise ausgeführt werden, werden die Adressenaktualisierung
und die Bildverarbeitung dann unterbrochen, wenn bei einer der Lese-/Schreiboperationen
ein Fehltreffer auftritt. Wenn die Lese-/Schreiboperationen auf Zeitmultiplexweise
ausgeführt
werden, kann eine Störung
des Bildverarbeitungsablaufs verhindert werden.
-
«Anwendungsbeispiel für den Bildprozessor»
-
Die 43 ist
ein Blockdiagramm für
den Fall, dass der Bildprozessor 71 bei einem Faxgerät angewandt
ist. Eine Datensteuereinheit 1110 trennt die Signale, die
vom SD-RAM 82 seriell eingelesen werden, in Daten für die einzelnen
Leitungen. Ein Kantenhervorheber 112 hebt den Dichtegradienten zwischen
einem markierten Punkt und den Umfangspixeln unter Bezugnahme auf
diese mit den Daten vom Sensor 80 und dem Ausgangssignal
von der Steuereinheit 1110 an. Latchstufen 1121 bis 1129 sind
Register zum Einspeichern der Werte des markierten Punkts und der
Umfangspixel. Die Ausgangssignale dieser Register werden einer arithmetischen Operation
unterzogen, um ein Ausgangssignal 1130 mit Kantenhervorhebung
zu erzeugen. Eine Fehlerverteileinheit 113 verteilt die
Fehlerdaten für
ein markiertes Pixel 1135 auf die Umfangspixel 1131 bis 1134,
so dass die mehrwertigen Daten mit hoher Qualität quantisiert werden können. Die
Fehlerdaten für
die nächste
Linie werden über
einen Selektor 115 an einen Speicherbus 752 geliefert,
und die Fehlerdaten der aktuellen Linie werden von der Datensteuereinheit 1110 geliefert.
Das Ausgangssignal der Fehlerverteileinheit 113 wird, da
es binär
ist, durch eine Packungseinheit 114 gepackt und über den
Selektor 115 an den Speicherbus 751 geliefert,
bis es in den SD-RAM 82 eingeschrieben ist. Der Selektor 115 kann
die eingegebenen Daten so auswählen,
dass sie als solche für
die Verarbeitung der nächsten
Linie eingeschrieben werden.
-
Andererseits werden die Lese-/Schreibadressen
durch einen Lesezähler 116 und
einen Schreibzähler 117 erzeugt. Übrigens
werden diese Zähler
durch das Ausgangssignal 761 des Taktsignaltreibers 76 so
gesteuert, dass sie durch einen Fehltreffer oder die CPU 75 unterbrochen
werden können.
Wenn das Taktsignal 761 vom Taktsignaltreiber 76 gestoppt
wird, werden die Operationen der internen Latchstufen oder Register
unterbrochen, so dass die Verarbeitungsvorgänge nicht mehr ablaufen können.
-
Die 44(a) veranschaulicht
ein Beispiel, bei dem der SD-RAM 82 gemäß dem Zeitschlitzverfahren
genutzt wird. Genauer gesagt, ist ein Beispiel für einen Datenbus unter Verwendung
sequenzieller Verarbeitung angegeben, da der einzelne Datenbus für den SD-RAM 82 und
den Datenprozessor 70a in Zeitmultiplexweise arbeiten muss.
Bei diesem Beispiel wird auf den SD-RAM 82 in der Abfolge
eines Lesewerts L1R für
die vorige Zeile, eines Lesewerts L2R für zwei Zeilen zuvor, eines
Fehlerdaten-Lesewerts LER für
die aktuelle Zeile, eines Fehltreffer-Vorabladewerts PRE, einer
Zeilenadressaktivierung ACT, eines Datenschreibwerts LOW für die aktuelle
Zeile, eines Fehlerdaten schreibwerts LEW für die aktuelle Zeile und eines
gepackten, binären
Ergebnisdaten-Schreibwerts LKW zugegriffen.
-
Die 44(b) veranschaulicht
ein Beispiel der Adressenabbildungskarte. Buchstaben L0 kennzeichnen
eine aktuelle Zeile; Buchstaben L1 eine vorige Zeile; Buchstaben
L2 eine Zeile um zwei Zeilen zuvor; Buchstaben LE ein Fehlerdatengebiet
und Buchstaben LK ein Ergebnisdatengebiet. Es handelt sich um Gebiete
für die
Zeilenspeicher im SD-RAM 82, und diese werden auf dieselben
Speicheradressen wie die Seitenpufferbereiche des SD-RAM 82 abgebildet.
-
Die 45 ist
ein Blockdiagramm, die den Fall zeigt, bei dem der Bildprozessor
bei einer Grafikverarbeitung angewandt ist. Im Vergleich mit der
Anwendung bei einem Faxgerät
sind der oben genannte Kantenhervorheber und die Fehlerverteileinheit durch
einen Synthesedatengenerator 118 ersetzt, durch den die
Quellendaten und andere Werte 1186 synthetisiert werden,
um die Ausgangsdaten zu erzeugen, und das Ergebnis wird durch Verzögerungselemente 1183, 1184 und 1185 verzögert und
hinsichtlich der Phase geklärt
und an den Bus 752 ausgegeben.
-
Die 46 ist
ein Blockdiagramm, das ein Beispiel für den Fall zeigt, bei dem der
Bildprozessor bei einem Drucker angewandt ist. Die aus dem SD-RAM 82 ausgelesenen
Daten werden an eine Koordinatenoperationseinheit 1191 geliefert,
in der sie einer arithmetischen Operation unterzogen werden, und
die sich ergebenden Daten werden ferner durch einen Gerade-Linie-Generator 1192 einer
arithmetische Operation unterzogen, bis sie einer Vektoroperation
durch eine Vektorzeichnungseinheit 1193 unterzogen werden.
Die Ergebnisse dieser Operationen werden über den Bus 752 in
den SD-RAM 82 eingeschrieben. Die Grundoperationen sind
denen im Fall der Anwendung beim Faxgerät ähnlich.
-
Obwohl die Erfindung in Verbindung
mit ihren Ausführungsformen
speziell beschrieben wurde, soll sie nicht hierauf beschränkt sein,
sondern sie kann selbstverständlich
auf verschiedene Arten modifiziert werden, ohne dass von ihrem Grundgedanken
abgewichen wird.
-
Z. B. soll für die Bilddaten keine Beschränkung auf
solche bestehen, die auf einem Monitor anzuzeigen sind, sondern
es können
solche sein, die durch einen Seitendrucker auszudrucken sind. Darüber hinaus
kann die Erfindung selbstverständlich nicht
nur zur Bildanzeige sondern auch bei verschiedenen Datenverarbeitungssystemen
zur Verarbeitung von Massendaten unter Verwendung eines Speichers
angewandt werden.
-
Nachfolgend werden kurz die Effekte
beschrieben, wie sie von einer Repräsentation der hier offenbarten
Erfindung erzielt werden.
-
Genauer gesagt, können durch Zuführen der Taktsignale
zum Speicher von der Verarbeitungseinrichtung die Zeitversätze zwischen
den Taktsignalen und den Adress-, Daten- und Steuersignalen minimiert
werden, um dafür
zu sorgen, dass die Befehle (oder Steuersignale) vom Datenprozessor
unbedingt durch den Speicher wie den SD-RAM ausgeführt werden,
d. h., um zu gewährleisten,
dass synchron mit den Taktsignalen auf den SD-RAM 82 zugegriffen wird.
-
Wenn von mehreren Datenverarbeitungsmodulen
mit verschiedenen Operationsfrequenzen ein gemeinsamer Zugriff auszuführen ist,
können
die Zeitversätze
zwischen den Taktsignalen und den Daten oder Adressen minimiert
werden, um dafür
zu sorgen, dass die Befehle vom Datenverarbeitungsmodul auf jeden
Fall ausgeführt
werden, was durch Bereitstellen einer Einrichtung zum Auswählen desjenigen
Taktsignals erfolgt, das eine Frequenz aufweist, die derjenigen
des Datenverarbeitungsmoduls entspricht, das die Berechtigung für den Buszugriff hat.
-
Durch Bereitstellen einer Einrichtung
zum Einstellen nicht nur der Adress-, Daten- und Steuersignale für den Speicher
sondern auch des Taktsignalanschlusses auf hohe Impedanz, kann das
für einen
Speicher wie den SD-RAM eines anderen Datenprozessors optimale Taktsignal
von diesem anderen Datenprozessor dann zugeführt werden, wenn der Speicher
für den
externen Bus offen ist. Im Ergebnis können selbst dann, wenn der
Speicher wie der Synchron-DRAM von mehreren Datenprozessoren gemeinsam
genutzt wird, die Zeitversätze
der Adress-, Daten- und Steuersignale entsprechend den Betriebsgeschwindigkeiten
der einzelnen Datenprozessoren minimiert werden, um den Zugriff
auf diesen Speicher zu ermöglichen.
-
Ein Speicherzugriff hoher Effizienz
kann dadurch realisiert werden, dass eine Verarbeitungseinrichtung
zum Ausgeben von Modusregister-Einstellbefehlen an einen Speicher
entsprechend dem Datenverarbeitungszustand bereitgestellt wird,
um eine für
den Bilddaten-Verarbeitungsinhalt optimale Burstlänge einzustellen.
-
Der Bus des Speichers kann in der
Pipeline dazu verwendet werden, den Durchsatz des Speicherzugriff
dadurch zu verbessern, dass eine Bussteuereinheit zum Erzeugen eines
Vorabladebefehls und eines Aktivierungsbefehls für eine Speicherbank, die verschieden
von derjenigen ist, auf die gerade zugegriffen wird, während für die aktuellen
Daten auf den Speicher zugegriffen wird, bereitgestellt wird.
-
Ob ein Fehltreffer auftrat oder nicht,
kann dadurch erkannt werden, dass die vorige und die aktuelle Zeilenadresse
verglichen werden, und auf eine gewünschte Adresse kann dadurch
zugegriffen werden, dass das Vorabladen und die Zeilenadressaktivierung
ausgeführt
werden.
-
Die Daten in der Bildverarbeitungspipeline können ohne
Zerstörung
dadurch aufrecht erhalten werden, dass eine Einrichtung zum Unterbrechen
der Bildverarbeitungsoperation für
eine vorbestimmte Zeitperiode durch Erkennen eines Fehltreffers
hinsichtlich der Schreib-/Leseadressen bereitgestellt wird.
-
Durch Erkennen eines Fehltreffers
betreffend die Schreibadresse zu einem Zeitpunkt, der im Wesentlichen
mit dem betreffend die Erkennung eines Fehltreffers betreffend die
Leseadresse übereinstimmt,
kann der Fehltreffer zum Schreibzeitpunkt an den Fehltreffer zum
Lesezeitpunkt rückgeführt werden,
so dass eine Störung
der Pipeline durch den Fehltreffer verhindert werden kann, ohne
dass irgendeine komplizierte Verarbeitung erforderlich wäre, wie
sie andernfalls dazu benötigt
würde,
zu verhindern, dass Daten bei einem Schreibfehltreffer überlaufen.
-
Wenn mehrere Zugriffsobjekte für einen Speicher
wie den Synchron-DRAM existieren, wird ein Fehltreffer eindeutig
hervorgerufen, wenn die Zugriffsobjekte zu ändern sind. Dann ist es selbst
dann, wenn das Datenverarbeitungsmodul mit der Einrichtung zum Erkennen
eines Schreibfehltreffers gestartet wird, nachdem ein anderes Datenverarbeitungsmodul
auf den Synchron-DRAM zugegriffen hat (in diesem Verlauf ist die
Operation der Einrichtung zum Erkennen eines Schreibfehltreffers
unbestimmt), anstelle der Operationen des Datenverarbeitungsmoduls
mit der Schreibfehltreffer-Erkennungseinrichtung, möglich, einen
Fehler der Fehltrefferverarbeitung zuverlässig zu verhindern, wie er
andernfalls auftreten könnte,
wenn es erforderlich wäre,
sich auf die Operationen der Schreibfehltreffer-Erkennungseinrichtung
zu stützen.
Anders gesagt, wird, durch zwangsweises Hervorrufen eines Fehltreffers,
wenn sich die Zugriffsobjekte für
den Speicher ändern,
die Unbestimmtheit der Fehltrefferentscheidung zum Zeitpunkt des
Wiedereröffnens der
Operationen des Datenverarbeitungsmoduls, die entsprechend der Änderung
der Speicherzugriffsobjekte unterbrochen wurden, verhindert, um
die Zuverlässigkeit
der Verarbeitung bei einem Fehltreffer zu verbessern.
-
Dank der oben beschriebenen Effekte
kann die Fehltrefferverarbeitung, wie sie sich beim Anwenden des
Synchron-DRAM bei einem Bildverarbeitungssystem anbietet, billig
realisiert werden, so dass die Speicher integriert werden können, um
für ein System
hohen Funktionsvermögens
zu vernünftigen Kosten
zu sorgen.
-
1) Beschriftung von nach
Bezugszeichen geordnetem Beschriftungstext
-
- 11-1,
11-2
- Zeichnungsanzeigeprozessor
- 116
- Leseadressenzähler
- 117
- Schreibadressenzähler
- 118
- Synthesedatengenerator
- 1191
- Koordinatenoperationseinheit
- 1192
- Gerade-Linie-Generator
- 1193
- Vektorzeichnungseinheit
- 12,
12c, 12d
- Zeichnungsverarbeitungsmodul
- 13,
13c, 13d, 13i, 13k
- Anzeigeverarbeitungsmodul
- 14,
14c, 14d, 14i
- Bussteuereinheit
- 16,
16c, 16d, 16i, 16k, 16s, 16t
- Taktsignaltreiber
- 160
- Taktsignalpuffer
- 18,
18c, 18d, 18i, 18k, 18s, 18t
- Taktsignalgenerator
- 19,
19a
- CPU-Schnittstelle
- 22
- Synchron-DRAM
- 25,
25t
- Taktsignalselektor
- 30
- Modusregister
- 121
- Adressenzähler
- 122
- Übertragungswortnummer-Register
- 123
- Komparator
- 124
- Quellen-RAM
- 125
- Schieberegister
- 126
- Ziel-RAM
- 127
- Arithmetik-
und Logikeinheit
- 141
- Prioritätszuteiler
- 142
- Selektor
- 143
- Ablaufsteuerung
- 144
- Decodierer
- 145
- Adressenselektor
- 146
- Schreibdatengenerator
- 147
- Fehltrefferdetektor
- 1481
- Adressdecodierer
- 149
- Steuerbit
mit drei Zuständen
- 1495A(C,
D)
- Buspuffer
- 151
- Systemspeicher
- 200A(B)
- Speicherbereich (Speicherbank
A (B))
- 201A(B)
- Zeilendecodierer
- 202A(B)
- Leseverstärker & Spaltenselektor
- 203A(B)
- Spaltendecodierer
- 205
- Spaltenadresspuffer
- 206
- Zeilenadresspuffer
- 207
- Spaltenadresszähler
- 208
- Auffrischzähler
- 210
- Eingangspuffer
- 211
- Ausgangspuffer
- 212
- Steuerung
- 301
- Leseadressengenerator
- 302
- Schreibadressengenerator
- 303
- Datengenerator
- 311
- Taktsignaltreiber
- 51
- Mikro-ROM
- 52
- Mikroanweisungsregister
- 53
- Speichersteuerinformation
- 54
- Mikroanweisungsdecodierer
- 55
- Mikroadressensteuerung
- 56
- Mikroadressregister
- 57
- Mikroregister
- 58
- Ausführungseinheit
- 71
- Bildprozessor
- 72a,
72b
- Fehltrefferdetektor
- 721
- Latchstufe
- 723
- Komparator
- 724
- ODER
- 74,
74b
- Bussteuereinheit
- 76,
76c
- Taktsignaltreiber
- 766
- UND
- 767
- ODER
- 78
- Taktsignalgenerator
- 79
- Kommunikationsprozessor
- 81
- Aufzeichnungseinrichtung
- 82,
82a, 82b
- Synchron-DRAM
- 902
- (Bus
Buffer) Buspuffer
- 902
- (Delay
Circuit) Verzögerungsschaltung
- 904
- Latchstufe
- 905
- Ablaufsteuerung
- 906
- Latchstufe
- AC-a(b)
- Aktivierungsbefehl
für die Bank
A(B) (Zeilenadressstrobe-Bankaktivier-Befehl
- L0
- aktuelle
Zeile
- L1
- vorige
Zeile
- L2
- zwei
Zeilen zuvor
- LE
- Fehlerverteilzeile
- LK
- Binärergebniszeile
- Mo
- Modusregisterbefehl
(Modusregisterbefehl)
- NOP
- Keine
Operation (keine Operation)
- Pr-ab
- Vorabladebefehl
(Vorabladebefehl)
- Pr-b
- Vorabladebefehl
für die Bank
B (Vorabladebefehl)
- Re-a(b)
- Lesebefehl
für die
Bank A(B) (Spaltenadresse-Lesebefehl)
- Wr-a(b)
- Schreibbefehl
für die Bank
A(B) (Spaltenadresse-Schreibbefehl)
-
2) Übersetzung von nach Verfahrensschritten
geordnetem Beschriftungstext
-
- M1
- Befehl
einlesen
- M2
- Befehl
interpretieren
- M3
- Modusregister-Einstellbefehl?
- M4
- Normal
ausführen
- M5
- Modusregister-Einstellbefehl
ausführen
- M6
- Befehl
einlesen
- S3
- Vorabladen
- S4
- Zeilenadressaktivierung
- S5
- Schreiben
- S6
- Lesen
- S7
- Moduseinstellung
- S8
- Auffrischen
- S9
- Burststopp
-
3) Übersetzung von alphabetisch
geordnetem Beschriftungstext
-
- 1 Dot Drawing (1 Dot Read Modify Write) // Zeichnen eines
Punkts (Lesen eines Punkts mit modifizierendem Schreiben
- 1 Dot Write // Schreiben eines Punkts
- Address // Adresse
- Address Bus // Adressbus
- Address Signal // Adresssignal
- Attribute Code Field // Attributcode-Feld
- Burst Length // Burstlänge
- Burst Read/Burst Write // Burstlesen/Burstschreiben
- CAS-Latency // CAS-Verzugszeit
- Command // Befehl
- Command Kind Specifying Field // Befehlsart-Spezifizierfeld
- Command On Instruction Of Display Processing Module 13 //
Anweisungsbefehl des Anzeigeverarbeitungsmoduls 13
- Control // Steuerung
- Control Bus // Steuerbus
- Control Signal // Steuersignal
- Data // Daten
- Data Bus // Datenbus
- Display Burst Read (256 Dot Read) // Anzeige-Burstlesen (Lesen
von 256 Punkten)
- Display/Drawing Interleave // Verschachtelung von Anzeigen/
Zeichnen
- Display Read (8 Dot Read) // Anzeige lesen (Lesen von acht Punkten)
- Dot // Punkt
- Dots // Punkte
- Drawing Write (1 Dot Write) // Zeichnungsschreiben (Schreiben
von einem Punkt)
- Memory Bank // Speicherbank
- Mishit // Fehltreffer
- No // nein
- OR // ODER
- Page Buffer Area // Seitenpuffergebiet
- RDDAT // Lesedaten vom Synchron-DRAM 82a
- Read Data // Lesedaten
- Single Bus RD Mishit // Einzelbus-Lesefehltreffer
- Single Bus WR Mishit // Einzelbus-Schreibfehltreffer
- Status Number // Statuszahl
- WRDAT // Schreibdaten an den Synchron-DRAM 82b
- Write Data // Schreibdaten
- Yes // ja