DE3842517A1 - Pipeline-datenverarbeitungssystem - Google Patents
Pipeline-datenverarbeitungssystemInfo
- Publication number
- DE3842517A1 DE3842517A1 DE3842517A DE3842517A DE3842517A1 DE 3842517 A1 DE3842517 A1 DE 3842517A1 DE 3842517 A DE3842517 A DE 3842517A DE 3842517 A DE3842517 A DE 3842517A DE 3842517 A1 DE3842517 A1 DE 3842517A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- signal
- buffer memory
- state
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000012545 processing Methods 0.000 title claims description 73
- 230000015654 memory Effects 0.000 claims description 274
- 238000003860 storage Methods 0.000 claims description 123
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims 1
- 230000007704 transition Effects 0.000 description 61
- 238000010586 diagram Methods 0.000 description 24
- 230000002159 abnormal effect Effects 0.000 description 13
- 230000003111 delayed effect Effects 0.000 description 10
- 239000003550 marker Substances 0.000 description 8
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000012432 intermediate storage Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000007562 laser obscuration time method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
Die Erfindung betrifft ein Pipeline-Datenverarbeitungssystem
zum Verarbeiten von in einem separaten Speichergerät
gespeicherten und eine vorgegebene Verarbeitungsfolge aufweisenden
Daten im Data-drive-Betrieb.
Das in Fig. 12 veranschaulichte herkömmliche Pipeline-Datenverarbeitungssystem
umfaßt Speichergeräte 1201, 1202 und
einen Verarbeitungs-Geräteteil 1203. Beim Betrieb dieses Systems
werden Datenadressen für die Speichergeräte konzentriert
von einem zu dem Verarbeitungs-Geräteteil gehörenden Steuerteil
nach der zentralisierten Neumann-Verarbeitungsweise verwaltet.
Daher besteht eine Schwierigkeit darin, daß mit Zunahme
der Menge an gleichzeitig parallel zu verarbeitenden Daten
der Adressen-Verwaltungsmechanismus umfangreich wird, was in
der Praxis die Unterbringung in Baugruppen erschwert. Eine
Möglichkeit zur Lösung dieser Schwierigkeit ist in JP-A-61-2 01 338
und JP-A-61-2 02 227 angegeben. Bei diesem Stand der
Technik erfolgt die Adressenverwaltung für das Speichergerät
dadurch, daß eine Datenfolge, die einen als Adressen-Token bezeichneten
Befehl enthält, auf eine Sammelleitung gegeben und
an das Speichergerät gesendet wird. Um eine gleichzeitige Verarbeitung
mehrerer Daten zu erreichen, ist in einem Verarbeitungsteil
ferner ein Warteschlangenmechnismus zur vorübergehenden
Speicherung der Daten vorgesehen.
Das in Fig. 12 gezeigte System nach dem Stand der Technik
ist jedoch mit einer weiteren Schwierigkeit behaftet. Insbesondere
kann dann, wenn die Datengeschwindigkeit einer
Ein/Ausgabe-Sammelleitung 1204 für ein Peripheriegerät von der
Verarbeitungsgeschwindigkeit der Ein/Ausgabe-Sammelleitungen
1205, 1206 für den Pipeline-Verarbeitungsteil abweicht, ein
Speichergerät nicht gleichzeitig für zwei Zwecke, d. h. zur
Ein/Ausgabe-Verarbeitung und zur Pipeline-Verarbeitung, benutzt
werden. Das in den obigen japanischen Offenlegungsschriften
dargelegte System gestattet es zwar, Schwierigkeiten
bei der praktischen Unterbringung in Baugruppen zu vermeiden,
wenn es erforderlich ist, mehrere Operandendaten gleichzeitig
zu verarbeiten. Die Steuerung ist jedoch kompliziert, da die
Speichergeräte ein Adressen-Token von einem Daten-Token unterschneiden
müssen, und der Anteil der Periode, innerhalb der die
Sammelleitung effektive Daten führt (Ausnutzungsfaktor der
Sammelleitung), wird nicht verbessert.
Der Erfindung liegt die grundsätzliche Aufgabe zugrunde,
die genannte Schwierigkeit zu lösen und ein Pipeline-Datenverarbeitungssystem
hoher Leistungsfähigkeit anzugeben. Insbesondere
besteht eine Aufgabe der Erfindung darin, ein zur
Pipeline-Datenverarbeitung geeignetes Speichergerät zu vermitteln,
das eine hohe Leistungsfähigkeit aufweist.
Die erfindungsgemäße Lösung dieser Aufgabe ist im Patentanspruch
1 gekennzeichnet.
Im einzelnen weist die vorliegende Erfindung folgende
Eigenschaften auf.
Bei der Erfindung wird eine Technik angewandt, bei der
mehrere Operandendaten unterschiedlichen Speichergeräten zugeordnet
und darin gespeichert sowie in den Speichergeräten
vorher bestimmte Adressen automatisch erzeugt werden. Da bei
dieser Technik kein Verarbeitungsrechner (host computer) die
Adressen in den Speichergeräten verwaltet, ist es nicht möglich,
entsprechend Betriebstaktsignalen eines Prozessors
gleichzeitig mehrere Operandendaten auszulesen und eine ordnungsgemäße
Datenverarbeitung durchzuführen. Die Speichergeräte
weisen daher eine Gruppe von mehreren Eingangsspeichergeräten,
die die zu verarbeitenden Daten dem Prozessor zuführen,
und eine weitere Gruppe von mehreren Ausgangsspeichergeräten
auf, die das vom Prozessor bereitgestellte Ergebnis der verarbeitenden
Daten speichern, wobei in jedem Speichergerät ein
Pufferspeicher vorhanden ist, um einen Versatz in der Verarbeitungs-Zeitabfolge
zwischen den Speichergeräten aufzufangen.
Die beiden (ersten und zweiten) Signale, die in Abhängigkeit
von der Menge der in dem Pufferspeicher enthaltenen Daten
Speicherzustände (voll und leer) angeben, werden mit einem ersten
Arbeitstaktsignal (MCLK) synchronisiert, das die grundlegende
Zeitsteuerung des Datenverarbeitungssystems steuert, woraufhin
die besagten ersten und zweiten Signale aus den Pufferspeichern
einer verdrahteten ODER-Verknüpfung unterworfen
und auf separaten Allgemeinsignal-Leitungen ausgegeben werden.
Da der Zeitpunkt, zu dem Daten den Pufferspeicher durchlaufen,
unbestimmt ist, überwacht eine Steuerplatte die obigen beiden
Speicherzustände, so daß der Prozessor die aus den Speichergeräten
ausgelesenen und von ihm zu verarbeitenden Daten erkennen
kann. Werden die die beiden Speicherzustände angebenden
Signale eingegeben, so erzeugt die Steuerplatte ein Markierungssignal,
das den Zeitpunkt angibt, zu dem die zu verarbeitenden
Daten dem Prozessor zugeführt werden. Andererseits
führt der Prozessor die Datenverarbeitung gemäß dem Markierungssignal
aus und verzögert dann das von dem jeweils vorhergehenden
Prozessor eingegebene Markierungssignal beispielsweise
über eine Verzögerungsstufe um eine Verarbeitungszeitspanne,
um die Ausgabe der beiden verarbeiteten Daten und des Markierungssignals
in Synchronisation zu halten, woraufhin die
verarbeitenden Daten und das verzögerte Markierungssignal an
den nachfolgenden Prozessor ausgegeben werden. Ferner sind der
oder die zum Schreiben der verarbeiteten Daten bestimmten Ausgangsspeichergeräte
so ausgelegt, daß sie die verarbeiteten
Daten entsprechend dem vom Prozessor ausgegebenen Markierungssignal
in ihren internen Pufferspeicher einschreiben.
Fällt die Menge an im Pufferspeicher irgendeines Eingabespeichergerätes
gespeicherten Daten aus irgendeinem Grund unter
einen bestimmten unteren Grenzwert (Leerzustand), so können
nicht alle zur Verarbeitung in dem Prozessor erforderlichen
Operandendaten gemeinsam bereitgestellt werden. In diesem
Fall schaltet das betreffende Speichergerät das Ausgangssignal
des ersten Zustands (GOR) aus, während die Steuerplatte bewirkt,
daß ein zweites Arbeitstaktsignal (PCLK) nicht mehr dem
Prozessor zugeführt wird und gleichzeitig bei Erfassen des Abschaltens
des Ausgangssignals des ersten Zustands (GOR)
zwangsläufig auch das Ausgangssignal des zweiten Zustands
(GIR) ausgeschaltet wird. Die Ausgangsspeichergeräte sind jeweils
so ausgelegt, daß sie keine Daten in den internen Pufferspeicher
geben, wenn das Ausgangssignal des zweiten Zustands
(GIR) ausgeschaltet ist. Dadurch läßt sich verhindern,
daß die gleichen verarbeiteten Daten irrtümlich auf der Seite
des Ausgangsspeichergerätes eingeschrieben werden.
Falls ferner das Einschreiben in einen Hauptspeicher
nicht mit dem Auslesen aus dem Pufferspeicher irgendeines Ausgangsspeichergeräts
Schritt halten kann, nähert sich die Menge
an in dem Pufferspeicher enthaltenen Daten dessen Kapazitätsgrenze
(Vollzustand). Daher schaltet wie im Fall eines Leerzustands
der Datenmenge das betreffende Ausgangsspeichergerät
das Ausgangssignal des zweiten Zustands (GIR) ab, während die
Steuerplatte das Ausgangssignal des ersten Zustands (GOR)
zwangsläufig abschaltet und bewirkt, daß bei Erfassen der Abschaltung
des Ausgangssignals des zweiten Zustands (GIR) das
zweite Arbeitstaktsignal (PLCK) dem Prozessor nicht mehr zugeführt
wird.
Ferner sind die einzelnen Speichergeräte so ausgelegt,
daß sie keine Daten aus dem Pufferspeicher lesen, wenn das
Ausgangssignal des ersten Zustands (GOR) ausgeschaltet ist.
Dadurch läßt sich verhindern, daß die redundanten Daten aus
dem Pufferspeicher ausgelesen werden, selbst wenn der Prozessor
in seinem Betrieb angehalten worden ist, weil das Einschreiben
in den Hauptspeicher mit dem Auslesen aus dem Pufferspeicher
nicht Schritt halten kann.
Bevorzugte Ausführungsbeispiele der Erfindung werden
nachstehend anhand der Zeichnungen näher erläutert. In den
Zeichnungen zeigt
Fig. 1 ein allgemeines Aufbauschema eines Pipeline-Datenverarbeitungssystems
gemäß einem Ausführungsbeispiel der Erfindung,
Fig. 2 ein Blockdiagramm zur Veranschaulichung des inneren
Aufbaus einer in Fig. 1 gezeigten Speicherplatte,
Fig. 3 eine schematische Darstellung des Aufbaus einer in
Fig. 2 gezeigten Verknüpfungsstufe,
Fig. 4 eine schematische Darstellung des Aufbaus einer
Folgesteuerung einer in Fig. 1 gezeigten Steuerplatte,
Fig. 5 (a) ein Zustands-Übergangsdiagramm der Folgesteuerung
in der Steuerplatte zur Steuerung des in Fig. 1 gezeigten
Datenverarbeitungssystems,
Fig. 5 (b) ein Impulsdiagramm der typischen Steuersignale
und Datensammelleitungen,
Fig. 6 eine schematische Darstellung des Aufbaus des
Pipeline-Verarbeitungssystems bei Verwendung zur Ausführung
eines einfachen Wiedergewinnungs- oder Suchvorgangs,
Fig. 7A ein Blockschaltbild zur Veranschaulichung des
Aufbaus der Speicherplatte im Falle der Verwendung dynamischer
Speicherelemente als Hauptspeicher des Speicherplatte nach
Fig. 1,
Fig. 7B, 7C und 7D Blockschaltbilder unterschiedlicher
Teile einer Zeitsignal-Generatorschaltung nach Fig. 7A mit
einem Basiszeitsignal-Generatorteil für die Folgesteuerung,
einer Zeitsteuerschaltung für die Steuersignalerzeugung für
einen Hauptspeicher-Chipmodul und eine Logikstufe bzw. einer
Schaltung zur Erzeugung eines Datenein-/-ausgangs-Steuersignals
für einen Pufferspeicher,
Fig. 8 ein Zustands-Übergangsdiagramm der Folgesteuerung
in der Speicherplatte,
Fig. 9 ein detailliertes Blockschaltbild der Logikschaltung
nach Fig. 7A,
Fig. 10 ein Impulsdiagramm der Basiszeitsteuersignale zur
Verwendung in der Zeitsteuergeneratorschaltung,
Fig. 11A und 11B Blockschaltbilder von peripheren Schaltungen
des Pufferspeichers nach Fig. 7A und
Fig. 12 eine schematische Darstellung zur Erläuterung des
oben abgehandelten Standes der Technik.
Bei einem im folgenden beschriebenen ersten Ausführungsbeispiel
der Erfindung zeigt Fig. 1 ein Blockschaltbild eines
Datenverarbeitungssystems mit sieben Speicherplatten, vier
pipelineartig zusammengeschalteten Prozessorplatten und einer
Steuerplatte zur Steuerung des Pipelinebetriebs.
Bei 101 bis 103 ist eine Gruppe von Eingangsspeicherplatten
zur Speicherung von Daten und Zuführung der Daten an die
Pipeline-Prozessoren dargestellt.
Mit 104 bis 107 ist eine Gruppe von Ausgangsspeicherplatten
zur Aufnahme von Daten von den Pipeline-Prozessoren und
Speicherung dieser Daten bezeichnet.
Bei 110 ist eine Steuerplatte zur Verwaltung der Arbeitsfolge
dargestellt, mit der die Pipeline-Prozessoren die Datenverarbeitung
ordnungsgemäß ausführen.
111 bis 114 sind pipelineartig zusammengeschaltete Prozessoren. Jede der Eingangsspeicherplatten und die Steuerplatte sind an drei externe Eingangs-Datensammelleitungen 121 bis 123 angeschlossen, während die Ausgangsspeicherplatten und die Pipeline-Prozessorplatten jeweils mit vier Ausgangssammelleitungen 131 bis 134 verbunden sind. Die Steuerplatte 110 erzeugt zum richtigen Zeitpunkt in synchroner Beziehung zu effektiven Daten auf den externen Eingangsdatensammelleitungen 121 bis 123, wobei diese Daten aus der Gruppe von Eingangsspeicherplatten synchron damit ausgelesen werden, ein Markierungssignal 143, fügt dieses Markierungssignal den Daten hinzu, wobei es in die "Token"-Datenform gebracht wird, und sendet es an eine der Pipeline-Prozessorplatten der nächsten Stufe. Jede der Pipeline-Prozessorplatten empfängt die von dem vorhergehenden Prozessor oder der Steuerplatte ausgegebenen Daten sowie auch das Markierungssignal, führt sowohl eine vorgegebene Datenverarbeitung als auch eine Verzögerung des Markierungssignals durch und überträgt die verarbeiteten Daten und das verzögerte Markierungssignal über die vier Ausgangssammelleitungen 131 und 134 als "externe Ausgangs-Token-Sammelleitungen" ordnungsgemäß auf die einzelnen Ausgangsspeicherplatten. Jede der Ausgangsspeicherplatten wählt die vorher eingestellte Ausgangsdatenleitung aus und empfängt die verarbeiteten Daten unter Bezugnahme auf das Markierungssignal. Im folgenden werden die Sammelleitungen zur Verbindung der Ausgangssammelleitungen, die das verzögerte Markierungssignal und die verarbeiteten Daten führen, und die Speicherausgangsplatten als externe Ausgangs-Token-Sammelleitungen bezeichnet.
111 bis 114 sind pipelineartig zusammengeschaltete Prozessoren. Jede der Eingangsspeicherplatten und die Steuerplatte sind an drei externe Eingangs-Datensammelleitungen 121 bis 123 angeschlossen, während die Ausgangsspeicherplatten und die Pipeline-Prozessorplatten jeweils mit vier Ausgangssammelleitungen 131 bis 134 verbunden sind. Die Steuerplatte 110 erzeugt zum richtigen Zeitpunkt in synchroner Beziehung zu effektiven Daten auf den externen Eingangsdatensammelleitungen 121 bis 123, wobei diese Daten aus der Gruppe von Eingangsspeicherplatten synchron damit ausgelesen werden, ein Markierungssignal 143, fügt dieses Markierungssignal den Daten hinzu, wobei es in die "Token"-Datenform gebracht wird, und sendet es an eine der Pipeline-Prozessorplatten der nächsten Stufe. Jede der Pipeline-Prozessorplatten empfängt die von dem vorhergehenden Prozessor oder der Steuerplatte ausgegebenen Daten sowie auch das Markierungssignal, führt sowohl eine vorgegebene Datenverarbeitung als auch eine Verzögerung des Markierungssignals durch und überträgt die verarbeiteten Daten und das verzögerte Markierungssignal über die vier Ausgangssammelleitungen 131 und 134 als "externe Ausgangs-Token-Sammelleitungen" ordnungsgemäß auf die einzelnen Ausgangsspeicherplatten. Jede der Ausgangsspeicherplatten wählt die vorher eingestellte Ausgangsdatenleitung aus und empfängt die verarbeiteten Daten unter Bezugnahme auf das Markierungssignal. Im folgenden werden die Sammelleitungen zur Verbindung der Ausgangssammelleitungen, die das verzögerte Markierungssignal und die verarbeiteten Daten führen, und die Speicherausgangsplatten als externe Ausgangs-Token-Sammelleitungen bezeichnet.
141 ist ein GOR-Signal (Group Output Ready = Gruppenausgabe
bereit), das angibt, daß sämtliche Eingangsspeicherplatten
bereit sind, Daten auszugeben, wenn es den Wert "1" annimmt.
142 ist ein GIR-Signal (Group Input Ready = Gruppeneingabe
bereit), das angibt, daß sämtliche Ausgangsspeicherplatten
bereit sind, Daten aufzunehmen, wenn es den Wert "1" annimmt.
144 ist ein Arbeitstaktsignal MCLK (Memory Clock), das
sämtlichen Speicherplatten von der Steuerplatte 110 zugeführt
wird.
145 ist ein Arbeitstaktsignal PCLK (Processor Clock), das
sämtlichen Pipeline-Prozessorplatten von der Steuerplatte 110
zugeführt wird.
Das MCLK-Signal weist den gleichen Zyklus und die gleiche
Phase auf wie das PCLK-Signal, unterscheidet sich jedoch von
diesem darin, daß es nach Beginn des Lesebetriebs für die Eingangsspeicherplatten
ständig oszilliert, während das letztere
nur während der Zeit oszilliert, während der die Pipeline-Verarbeitung
durchgeführt wird.
Das in Fig. 2 gezeigte Ausführungsbeispiel ist in der Lage,
eine Datenverarbeitung in Pipeline-Manier derart durchzuführen,
daß es gleichzeitig maximal drei Operandendaten von
den Eingangsspeicherplatten (d. h. den die Hauptspeicher bildenden
Geräten, deren interne Betriebsfrequenzen voneinander
verschieden sein können) zur Verarbeitung durch die Pipeline-Prozessorplatten
liest und asynchron die von maximal vier Prozessorplatten
ausgegebenen Daten in die Mehrzahl von Ausgangsspeicherplatten
einschreibt (d. h. in Hauptspeicher bildende Geräte,
deren interne Arbeitsfrequenzen voneinander verschieden
sein können).
In dem in Fig. 2 gezeigten, den inneren Aufbau jeder
Speicherplatte nach Fig. 1 zeigenden Blockschaltbild bezeichnet
201 einen Hauptspeicher, der beispielsweise von einem
Magnetplatten- oder Halbleiterspeicher gebildet wird.
202 ist ein Pufferspeicher, für den beispielsweise ein
von der Firma MMI Co., Ltd. unter der Bezeichnung "67413" hergestellter
FIFO-Speicher verwendet werden kann. Zwischen dem
Pufferspeicher 202 und einer externen Datensammelleitung 212
liegt ein Register 204 zur Anpassung der zeitlichen Beziehung
zwischen dem internen Betrieb der Speicherplatte und dem externen
Betrieb der Sammelleitung. Als eine der externen Datensammelleitungen
121 bis 123 nach Fig. 1 ist in Fig. 2 die Leitung
213 eingezeichnet.
Mit 203 ist eine Verknüpfungsstufe zur Steuerung des
Ein/Ausgabebetriebs von Daten zwischen dem Pufferspeicher 202
und den externen Datensammelleitungen bezeichnet. Die Daten
auf der externen Ausgangsdatensammelleitung 202 werden beim
Anstieg eines MCLK-Signals 144 einmal in dem Register 204 zwischengespeichert
und sodann bei Auftreten eines Einschiebesignals
209 in den Pufferspeicher 202 eingeschrieben. Die externe
Datensammelleitung 212 stellt eine der Ausgangssammelleitungen
131 bis 134 nach Fig. 1 dar. Andererseits werden die
vom Hauptspeicher in den Pufferspeicher 202 eingelesenen Daten
beim Auftreten eines Ausbringsignals 212 ausgelesen und nach
zeitlicher Anpassung durch das Register 204 auf die externe
Eingangsdatensammelleitung 212 ausgegeben. Der Pufferspeicher
202 weist zur Angabe seines internen Zustandes die folgenden
vier Signalarten auf.
205 ist ein IR-Signal (Input Ready = eingabebereit), das
angibt, daß eine Eingangsstufe des Pufferspeichers 202 noch
Platz zur Aufnahme von Daten hat, wenn es den Wert "1" aufweist.
206 ist ein VOLL-Signal, das anzeigt, daß die in dem Pufferspeicher
202 eingegebene Datenmenge eine bestimmte obere
Grenze überschreitet, wenn es den Wert "1" annimmt.
207 ist ein OR-Signal (Output Ready = ausgabebereit), das
angibt, daß in einer Ausgangsstufe des Pufferspeichers 202 effektive
Daten vorliegen, wenn es den Wert "1" annimmt.
208 ist ein LEER-Signal, das angibt, daß die in den Pufferspeicher
202 eingegebene Datenmenge einen bestimmten unteren
Grenzwert unterschreitet, wenn es den Wert "1" annimmt.
Die Datenübertragung zwischen dem Hauptspeicher 201 und
dem Pufferspeicher 202 wird durch eine Folgesteuerung 223 gesteuert.
Beim Lesevorgang liest die Folgesteuerung 223 in der
Eingangsspeicherplatte blockweise den Inhalt des Hauptspeichers
201 aus und schreibt diesen in den Pufferspeicher 202.
Je nach der in den Pufferspeicher 202 eingegebenen Datenmenge
entscheidet die Folgesteuerung 223, ob der jeweils nächste
Block ausgelesen wird oder nicht. Mit anderen Worten wird
dann, wenn die in den Pufferspeicher 202 eingegebene Datenmenge
einen gewissen oberen Grenzwert überschreitet, das VOLL-Signal
206 auf den Wert "1" gesetzt, woraufhin die Folgesteuerung
223 in der Speicherplatte bestimmt, daß der nächste Block
nicht mehr ausgelesen wird.
Beim Schreibvorgang liest die Folgesteuerung 223 in der
Ausgangsspeicherplatte den Inhalt des Pufferspeichers 202
blockweise aus und schreibt ihn in den Hauptspeicher 201. Ähnlich
wie bei dem obigen Lesevorgang entscheidet die Folgesteuerung
223 je nach der im Pufferspeicher 202 enthaltenen
Datenmenge, ob ein nächster Block eingeschrieben wird oder
nicht. Unterschreitet die im Pufferspeicher 202 enthaltene Datenmenge
eine vorgegebene untere Grenze, so wird das LEER-Signal
208 auf den Wert "1" gesetzt, woraufhin die Folgesteuerung
223 in der Speicherplatte verfügt, daß der nächste Block
nicht mehr geschrieben wird.
221 ist ein Adressengenerator, der die Adresse in Abhängigkeit
von einem von der Folgesteuerung 223 ausgegebenen Adressentaktsignal
224 weiterschaltet und außerdem eine Adresse
dem Hauptspeicher zuführt. Mit 222 ist ein Ursprungs-Oszillator
bezeichnet, der die Zeitsteuerung angibt, mit der Daten
aus dem Hauptspeicher ausgelesen und in ihn eingeschrieben
werden. 217 ist ein von der Prozessorplatte ausgegebenes Markierungssignal.
Das Blockschaltbild nach Fig. 3 zeigt Einzelheiten des
Aufbaus der Verknüpfungsstufe 203.
Im Ausgangszustand haben zunächst sowohl das LEER-Signal
208 als auch das IR-Signal 205 den Wert "1", während das VOLL-Signal
206 und das OR-Signal 207 den Wert "0" aufweisen, so
daß die Pufferspeicher 202 sämtlicher Speicherplatten leer sind.
Bei einem START-Signal 312 handelt es sich um ein Signal,
das so gesteuert wird, daß es auf den Wert "1" steigt, wenn
die Steuerplatte 110 die Eingangsspeicherplatte veranlaßt, mit
dem Lesen von Daten zu beginnen, wobei die so ausgelesenen Daten
in geeigneter Menge in den Pufferspeicher 202 der Eingangsspeicherplatte
eingegeben werden.
Nehmen sowohl das OR-Signal 207 als auch die Inversion
des LEER-Signals 208 als auch das START-Signal 312 am Eingang
eines UND-Gliedes 301 den Wert "1" an, so wird der Q-Ausgang
eines Flip-Flops 305 beim Auftreten des MCLK-Signals 144 auf
"1" gelegt, und das so erhaltene Q-Ausgangssignal des Flip-Flops
305 sowie ein den Lesevorgang (Eingabemodus) anzeigendes
Ausgangssignal werden in einem NAND-Glied 310 mit einem offenen
Kollektor- oder offenen Drain-Ausgang verknüpft, um das
GOR-Signal 141 als positives Logik-Signal auf "1" zu bringen.
Dieses GOR-Signal liegt an sämtlichen Speicherplatten nach Art
einer verdrahteten ODER-Verknüpfung. Daher wird, falls auch
nur eine Eingangsspeicherplatte nicht bereit ist, Daten auszugeben
und das GOR-Signal 141 nicht auf "1" setzt,
der Wert des GOR-Signals 141 im Ergebnis zu "0", was angibt,
daß die zur Bearbeitung in der Prozessorplatte erforderlichen
Operandendaten noch nicht vollständig bereitstehen.
Dabei überwacht die Steuerplatte 110 den Wert des GOR-Signals
141 und setzt das Markierungssignal 143 auf "0", so
daß die Prozessorplatte nicht irrtümlicherweise mit der Verarbeitung
von Daten beginnt, und führt ferner eine Steuerung
durch, die ein Oszillieren des PCLK-Signals 145 verhindert.
Die Eingangsspeicherplatte ist ferner so ausgelegt, daß
sie anhand des Wertes des GOR-Signals 141 entscheidet, ob Daten
auf die externe Eingangs-Datensammelleitung 213 ausgelesen
werden sollen oder nicht. Ändert sich der Wert des GOR-Signals
schließlich auf "1", was anzeigt, daß die zur Bearbeitung in
der Prozessorplatte erforderlichen Operandendaten alle bereitgestellt
sind, so setzt die Steuerplatte 110 beim Anstieg des
ersten PCLK-Signals 145 das Markierungssignal 143 auf "1", wodurch
die Prozessorplatte davon informiert wird, daß die Datenverarbeitung
beginnen kann. Anzumerken ist, daß in der
zeitlichen Steuerung keine Instabilitäten auftreten, weil das
Flip-Flop in der Speicherplatte den Abfall und Anstieg des
GOR-Signals 141 stets synchron mit dem Anstieg des MCLK-Signals
144 steuert.
Mit 309 ist eine Synchrondifferenzierstufe bezeichnet,
die durch synchrones Differenzieren des MCLK-Signals 144 mit
einem OCLK-Signal 315 (Original Clock = Originaltakt) als internem
Bezugstakt ein abgeleitetes Taktsignal 314 ausgibt, das
jeweils einen Impuls pro Zykluszeit des MCLK-Signals 144 aufweist.
Das Vorhandensein der Stufe 309 ermöglicht mit Sicherheit
das Auslesen von Daten synchron mit dem MCLK-Signal 144
selbst dann, wenn die Frequenzen und Phasen der jeweiligen
OCLK-Signale 315 der einzelnen Speicherplatten untereinander
verschieden sind. Genaugenommen wird dabei das abgeleitete
Taktsignal 314 maximal um eine Zykluszeit gegenüber dem OCLK-Signal
315 versetzt. Dadurch jedoch, daß die Zykluszeit des
MCLK-Signals 144 ausreichend länger gewählt wird als die des
OCLK-Signals 315, läßt sich der zeitliche Versatz vom Register
204 mühelos aufnehmen.
Im folgenden soll eine konkrete Schaltung zur Erzeugung
des Ausbringsignals 210, das den Zeitpunkt bestimmt, zu dem
Daten aus dem Pufferspeicher 202 ausgelesen werden sollen, und
des Einschiebesignals 209, das zum Einschreiben von Daten in
den Pufferspeicher 202 dient, beschrieben werden. Zunächst sei
dabei der Datenlesebetrieb aus dem Pufferspeicher 202 erläutert.
Haben sowohl der Q-Ausgang des Flip-Flops 305 als auch
das OR-Signal 207 als auch das abgeleitete Taktsignal 314 am
Eingang des NAND-Gliedes 303′ den Wert "1", so steigt der
Q-Ausgang des Flip-Flops 307 asynchron mit dem als Takteingang
dem Flip-Flop 307 zugeführten OCLK-Signal 315 auf "1". Ein
NAND-Glied 303 erzeugt das Ausbringsignal 210, das zu dem Zeitpunkt,
zu dem das GOR-Signal 141 den Wert "1" und das abgeleitete
Taktsignal 314 den Wert "0" annimmt, abfällt. Dadurch
wird der Wert des Ausbringsignals 210 auf "1" gehalten, sooft
das GOR-Signal 141 den Wert "0" annimmt, was zu einem Ruhezustand
führt, in dem die als nächstes auszulesenden Daten aus
dem Pufferspeicher 202 ausgelesen werden können. Dies gestattet
eine ordnungsgemäße Ausgabe von Daten selbst dann, wenn
das GOR-Signal 141 auf "1" zurückgekehrt ist.
Die Steuerplatte 110 bewirkt eine derartige zeitliche
Justierung, daß sowohl die aus der Eingangs-Speicherplatte
ausgelesenen effektiven Daten als auch das den Wert "1" annehmende
Markierungssignal 143 an die Seite der Prozessorplatte
ausgegeben werden, so daß sie in der nächsten Stufe an eine
der Pipeline-Prozessorplatten abgegeben werden. Jede dieser
Pipeline-Prozessorplatten verarbeitet die Eingangsdaten und
verzögert das Markierungssignal um eine zur Erzeugung der Daten erforderliche
Zeitspanne, woraufhin das Markierungssignal 217
auf die mit der nächsten Pipeline-Prozessorplatte oder der
Ausgangs-Speicherplatte verbundene externe Ausgangs-Token-Sammelleitung
übertragen wird.
Nachstehend soll der Betrieb beim Dateneinschreiben in
den Pufferspeicher 202 erläutert werden.
Haben sowohl ein Q-Ausgangssignal eines Flip-Flops 306,
das GIR-Signal 142, ein weiteres Signal, das durch Zwischenspeichern
des Markierungssignals 217 in einem Flip-Flop 316
mit dem als Takteingang zugeführten MCLK-Signal 144 gewonnen
wird, sowie das abgeleitete Taktsignal am Eingang eines NAND-Gliedes
304′ sämtlich den Wert "1", so steigt ein Q-Ausgangssignal
des Flip-Flops 308 asynchron mit dem diesem Flip-Flop
als Eingangstaktsignal zugeführten OCLK-Signal 315 auf "1".
Ein NAND-Signal 304 erzeugt das Einbringsignal 209, das zu dem
Zeitpunkt abfällt, zu dem das IR-Signal 205 den Wert "1" und
das abgeleitete Taktsignal 314 den Wert "0" annimmt. Dadurch
wird der Wert des Einbringsignals 209 auf "0" gehalten, sooft
das IR-Signal 205 den Wert "0" annimmt, was zu einem Ruhezustand
führt, in dem die als nächste einzuschreibenden Daten
nicht in die Eingangsstufe des Pufferspeichers 202 eingeschrieben
werden können, selbst wenn das IR-Signal 205 den
Wert "1" annimmt. Infolgedessen ist es möglich, kontinuierlich
die richtigen Daten einzuschreiben, selbst nachdem das GIR-Signal
142 auf "1" zurückgekehrt ist.
Weisen sowohl das IR-Signal 205 und die Inversion des
VOLL-Signals 206 am Eingang eines UND-Gliedes 302 den Wert "1"
auf, so wird der Q-Ausgang eines Flip-Flops 306 bei Auftreten
des als Eingangstakt dienenden MCLK-Signals 144 auf "1" gelegt;
das resultierende Q-Ausgangssignal des Flip-Flops 306
und ein den Schreibzustand (Ausgabemodus) angebendes Ausgangssignal
werden in einem NAND-Glied 311 mit offenem Kollektor-
oder offenem Drain-Ausgang verknüpft, um das GIR-Signal 142
als positives Logik-Signal auf "1" zu setzen. In ähnlicher
Weise setzen die übrigen Ausgangsspeicherplatten ihre GIR-Signale
142 auf "1". Daher kann, falls auch nur eine Ausgangsspeicherplatte
bei der Dateneingabe versagt und das GIR-Signal
142 nicht auf "1" setzt, die Pipelineverarbeitung nicht erfolgen.
Somit ist die Ausgangsspeicherplatte so aufgebaut, daß
sie anhand des Wertes des GIR-Signals 142 Daten von der externen
Ausgangs-Token-Sammelleitung 212 annimmt, wenn der Wert
des GIR-Signals 142 auf "1" liegt.
Die Ausgangssignale der UND-Glieder 301, 302 werden an
ODER-Gliedern 301′ bzw. 302′ mit einem ENDE-Signal 313 verknüpft,
das angibt, daß die von einem Verarbeitungsrechner
(host computer) für die Eingangsspeicherplatte bestimmte Datenverarbeitung
beendet ist, so daß das GOR-Signal 141 oder
das GIR-Signal 142 mit Sicherheit auf "1" gesetzt wird, sooft
der interne Betrieb der Eingangsspeicherplatte beendet ist.
Dadurch wird nach Beendigung des Lesens aller Daten die Steuerung
so durchgeführt, daß das PCLK-Signal 145 oszillieren und
die richtige Verarbeitung selbst in einer Periode durchgeführt
werden kann, in der die Pipelineverarbeitung aufgrund einer
Verzögerung auf der Pipeline noch nicht beendet worden ist.
Durch die obigen Schaltungsmittel können, obwohl die
Pipelineverarbeitung gelegentlich gestört sein mag, Lesen und
Schreiben der richtigen Daten durchgeführt werden, wenn die
Verarbeitung nach Ablauf einer bestimmten Zeitspanne wieder
aufgenommen wird.
In dem in Fig. 4 gezeigten internen Blockschaltbild der
Steuerplatte 110 sind mit 401 bis 403 Zeitsteuerregister bezeichnet,
durch die drei aus den Eingangsspeicherplatten
synchron mit dem MCLK-Signal 144 ausgelesene, separate Daten
gespeichert und bei Auftreten des PCLK-Signals 145 als Eingangstakt
an die nächste Prozessorplatte gesendet werden.
404 ist ein Flip-Flop zur Erzeugung des PCLK-Signals 145
als Arbeitstaktsignal für die Prozessorplatten in Abhängigkeit
von einem als Taktsignal dienenden MCLK × 2-Signal 415, dessen
Frequenz doppelt so hoch ist wie die des MCLK-Signals 144. Sooft
der Q-Ausgang des Flip-Flops 406 oder des Flip-Flops 407
(die beide später beschrieben werden) den Wert "0" annimmt,
wird ein Q-Ausgang des Flip-Flops 404 in Zusammenarbeit mit
dem UND/ODER-Glied 408 auf "0" zurückgeführt, wodurch der Betrieb
der Prozessorplatten unterbrochen gehalten wird. In anderen
Fällen oszilliert das Flip-Flop 404 mit gleichem Zyklus
und gleicher Phase wie das MCLK-Signal.
414 ist ein UND-Glied, das nur dann, wenn der Q-Ausgang
(QGOR) des Flip-Flops 406 und der Q-Ausgang (QGIR) des Flip-Flops
407 beide den Wert "1" annehmen, bewirkt, daß das PCLK-Signal
145 oszilliert und das Markierungssignal 143 auf "1"
setzt.
405 ist ein Flip-Flop zur Speicherung eines Ausgangssignals
des UND-Gliedes 414 und zur Erzeugung des Markierungssignals
143 bei Auftreten des PCLK-Signals 145 als Taktsignal.
Nehmen sowohl das QGOR-Signal 431 als auch das QGIR-Signal 432
zum ersten Mal den Wert "1" an, so gelangt beim Anstieg des
ersten PCLK-Signals 145 das Markierungssignal 143 auf den Wert
"1".
406 ist ein Flip-Flop, das bei Auftreten des MCLK-Signals
144 als Eingangstakt und in Zusammenarbeit mit einem UND/ODER-Glied
410 bewirkt, daß das QGOR-Signal 431 rückgekoppelt wird,
um seinen Wert zu halten, wenn sowohl das GOR-Signal 141 als
auch das GIR-Signal 142 den Wert "0" annehmen, bzw. der Wert
des GOR-Signals 141 mit einer Verzögerung von einem Takt gespeichert
wird, wenn das GIR-Signal 142 auf "1" oder das QGOR-Signal
431 auf "1" gelangt.
407 ist ein Flip-Flop, das bei Auftreten des MCLK-Signals
144 als Eingangstakt und in Zusammenarbeit mit einem UND/ODER-Glied
411 bewirkt, daß das QGIR-Signal 432 rückgekoppelt wird,
um seinen Wert zu halten, wenn sowohl das GOR-Signal 141 als
auch das GIR-Signal 142 den Wert "0" annehmen, bzw. der Wert
des GIR-Signals 142 mit einer Verzögerung von einem Takt gespeichert
wird, wenn das GOR-Signal 141 den Wert "1" oder wenn
das QGIR-Signal 432 den Wert "0" annimmt.
416 ist ein NAND-Glied mit zwei Eingängen, das eine "0"
als speziellen Status ausgibt, wenn sowohl das QGOR-Signal 431
als auch das QGIR-Signal 432 den Wert "0" annehmen. In allen
anderen Fällen hat es den Wert "1".
Auf diese Weise wird der Wert des GOR-Signals 141 oder
des GIR-Signals 142, das zu einem früheren Zeitpunkt den Wert
"0" angenommen hat, in dem entsprechenden einen Flip-Flop gespeichert,
während der Q-Ausgang des anderen Flip-Flops beibehalten
wird. Weisen ferner das GOR-Signal 141 und das GIR-Signal
142 gleichzeitig den Wert "0" auf, so speichern beide
Flip-Flops die jeweils entsprechenden externen Signale.
412 ist ein NAND-Glied mit einem offenen Kollektor- oder
offenen Drain-Ausgang, das dazu dient, das GIR-Signal 142
zwangsläufig "0" zu setzen, wenn das QGOR-Signal 431 den Wert
"0" annimmt und das NAND-Glied 416 den Ausgang "1" liefert.
413 ist ein NAND-Glied mit offenem Kollektor- oder offenem
Drain-Ausgang, das dazu dient, das GOR-Signal 141 zwangsläufig
auf "0" zu setzen, wenn das QGIR-Signal 432 den Wert
"0" annimmt und das NAND-Glied 416 den Ausgang "1" liefert.
Während einer Zeitspanne, in der entweder das GOR-Signal
141 oder das GIR-Signal 142 auf dem Wert "0" gehalten wird,
wird somit auch das andere Signal zwangsläufig auf "0" gestellt,
so daß sowohl der Lesevorgang von der Speicherplatte
auf die externe Eingangsdatensammelleitung als auch der
Schreibvorgang von der externen Ausgangs-Token-Sammelleitung
in die Speicherplatte angehalten werden. Ferner wird auch das
PCLK-Signal 145 angehalten und der Betrieb der Prozessorplatte
unterbrochen, wobei das Markierungssignal 143 kontinuierlich
auf dem Wert "1" gehalten wird.
Dadurch, daß die Folgesteuerung in der Speicherplatte so
gebaut ist, daß das GOR-Signal 141 oder das GIR-Signal 142,
das zu einem früheren Zeitpunkt auf "0" gesetzt worden ist,
nach Ablauf einer bestimmten Zeitspanne wieder auf "1" zurückkehrt,
wird also auch die Steuerplatte ihre Arbeit mit Sicherheit
nach Ablauf einer bestimmten Zeitspanne wieder aufnehmen.
Fig. 5 (a) zeigt ein Zustandsübergangsdiagramm des Datenverarbeitungssystems
auf der Annahme der oben erläuterten
Hardware-Konfiguration. Eine Eingabe ist durch zwei Bits des
GOR-Signals 141 und des GIR-Signals 142 gegeben, und der interne
Zustand wird durch sieben, in Abhängigkeit von den Werten
des QGOR-Signals 431, des QGIR-Signals 432 und des Markierungssignals
143 bestimmten Zuständen wiedergegeben. In
Fig. 5 (a) gibt die in Klammern stehende Ziffer, die jedem den
Zustand bezeichnenden Symbol zugeordnet ist, den Wert des Markierungssignals
143 wieder, während die rechts hinter jedem
Symbol tiefgestellte Ziffer den Wert von (QGOR, QGIR) in
Binär-Schreibweise angibt. Dabei wird eine Übergangs-Eingabe
durch (GOR, GIR) angegeben.
Mit 501 ist ein Ausgangszustand S₀ (0) vor Beginn der
Datenverarbeitung bezeichnet. Vor diesem Verarbeitungsbeginn
werden die Flip-Flops 405, 406 und 407 auf der Steuerplatte
und die Flip-Flops 305, 306, 307 und 308 auf sämtlichen Speicherplatten
durch das Rückstellsignal 417 zurückgesetzt. Ferner
werden auch die Pufferspeicher 202 auf sämtlichen Speicherplatten
in einen Leerzustand zurückgestellt.
Wenn der zentrale Verarbeitungsrechner in diesem Ausgangszustand
einen Befehl zum Beginn der Datenverarbeitung
ausgibt, beginnt das MCLK-Signal 144 zu oszillieren. Gleichzeitig
gehen das GOR-Signal 141 auf "0" und das GIR-Signal 142
auf "1", da die Pufferspeicher 202 auf sämtlichen Speicherplatten
im Ausgangszustand in den Leerzustand zurückgesetzt
sind. Dies führt sofort einen bei 502 angegebenen Zustand
S₁(0) herbei. In diesem Zustand nimmt das QGOR-Signal 431
den Wert "0" und das QGIR-Signal 432 den Wert "1" an, wodurch
das GIR-Signal 142 durch das NAND-Glied 412 in der Steuerplatte
101 zwangsläufig auf "0" gebracht wird.
Zu dem Zeitpunkt, zu dem sämtliche Eingangsspeicherplatten
nach Ablauf einer bestimmten Zeit zur Datenausgabe bereit
geworden sind, geht das GOR-Signal 141 auf "1", wodurch ein
bei 503 bezeichneter Zustand S₃(0) erreicht wird. Da der
Wert des GIR-Signals 142 im Zustand S₁(0) zwangsläufig auf
"0" gebracht ist, kann ein Übergang aus diesem Zustand S₁(0)
nur auf einen der beiden Zustände S₁(0) und S₃(0) erfolgen.
Im Zustand S₁(0) bleibt der Wert des Markierungssignals
143 noch auf "0", und das PLCK-Signal 145 wird noch
nicht erzeugt. Geht das GOR-Signal 141 im Zustand S₃(0) infolge
fehlender anfänglicher Steuerung des Pufferspeichers 202
in irgendeiner Speicherplatte auf "0", so erfolgt eine Rückkehr
zum Zustand S₁(0). Hat das GOR-Signal 141 immer noch
den Wert "1", so geht die Folgesteuerung in einen bei 504 bezeichneten
Zustand S₃(1) über. Zu beachten ist, daß im Zustand
S₃(0) das Markierungssignal 143 den Wert "0" hat und
das PLCK-Signal 145 nicht oszilliert, so daß der Betrieb der
Ausgangsspeicherplatten unterbrochen bleibt. Daher behält das
GIR-Signal 142 auf jeden Fall seinen Wert "1" bei. Ein Übergang
aus dem Zustand S₃(0) kann daher nur auf einen der beiden
Zustände S₁(0) und S₃(1) erfolgen.
Im Zustand S₃(1) geht das Markierungssignal 143 auf
"1", und die Pipeline-Prozessorplatten führen entsprechend dem
PLCK-Signal 145 Datenverarbeitungen durch. Geht im Zustand
S₃(1) das GIR-Signal 142 mindestens einer Ausgangsspeicherplatte
auf "0", so erfolgt ein Übergang auf einen bei 505 gezeigten
Zustand S₂(1). Da in diesem Zustand das QGOR-Signal
431 den Wert "1" und das QGIR-Signal 432 den Wert "0" annimmt,
wird der Wert des GOR-Signals 141 durch die Steuerplatte 110
zwangsläufig auf "0" gebracht, wodurch das Auslesen von Daten
aus den Eingangsspeicherplatten verhindert wird. Kehrt das
GIR-Signal 142 nach Ablauf einer bestimmten Zeit auf "1" zurück,
so wird der Zustand vor dem Übergang, d. h. der Zustand
S₃(1), wiederhergestellt. Dabei ist zu beachten, daß ein
Übergang aus dem Zustand S₂(1) nur auf einen der beiden Zustände
S₂(1) und S₃(1) möglich ist, da im Zustand S₂(1)
das GOR-Signal 141 zwangsläufig auf "0" gebracht ist.
Nimmt im Zustand S₃(1) der Wert des GOR-Signals 141
mindestens einer Eingangsspeicherplatte den Wert "0" an, so
erfolgt ein Übergang auf einen bei 506 gezeigten Zustand
S₁(1). Da in diesem Zustand das QGOR-Signal 431 den Wert "0"
und das QGIR-Signal 432 den Wert "1" annimmt, wird das GIR-Signal
142 durch die Steuerplatte 110 zwangsläufig auf "0" gebracht,
wodurch das Schreiben von Daten in die Ausgangsspeicherplatten
verhindert wird. Kehrt das GOR-Signal 141 nach Ablauf
einer bestimmten Zeit auf "1" zurück, so wird der Zustand
vor dem Übergang, d. h. der Zustand S₃(1), wiederhergestellt.
Da im Zustand S₁(1) das GOR-Signal 141 zwangsläufig auf "0"
eingestellt ist, kann ein Übergang aus dem Zustand S₁(1) nur
auf einen der beiden Zustände S₁(1) und S₃(1) erfolgen.
Gehen im Zustand S₃(1) sowohl das GOR-Signal 141 als
auch das GIR-Signal 142 auf "0", so erfolgt ein Übergang auf
einen bei 507 dargestellten Zustand S₀(1). Während in diesem
Zustand sowohl das QGOR-Signal 431 aus auch das QGIR-Signal
432 den Wert "0" haben, werden die Werte des GOR-Signals 141
und des GIR-Signals 142 durch das NAND-Glied 416 der Steuerplatte
110 nicht auf "0" gebracht. Sobald das GOR-Signal 141
auf "1" geht, nimmt das QGOR-Signal 431 den Wert "1" an, was
in einem Übergang auf den Zustand S₂(1) resultiert. Geht andererseits
das GIR-Signal 142 zuerst auf "1", so nimmt das
QGIR-Signal 432 den Wert "1" an, was in einem Übergang auf den
Zustand S₁(1) resultiert. Gehen sowohl das GOR-Signal 141
als auch das GIR-Signal 142 auf "1", so kehrt die Folgesteuerung
zum Zustand S₃(1) zurück.
In der obigen Erläuterung ist dargelegt worden, daß die
Pipeline-Verarbeitung der Prozessorplatten ausgeführt werden
kann, ohne daß ein Zustand gegenseitiger Blockierung auftritt,
indem die Folgesteuerung in der Steuerplatte mit dem 2-Bit-Eingangssignal
angesteuert wird, das durch den Wert des den
Zustand der Eingangsspeicherplatten angebenden GOR-Signals
141 und den Wert des den Zustand der Ausgangsspeicherplatten
angebenden GIR-Signals 142 gegeben ist, so daß die Datenverarbeitungsfolge
Übergänge zwischen den erwähnten sieben Zuständen
ausführt.
Wird die Zeitspanne, in der sich die Datenverarbeitungsfolge
im Zustand S₃(1) befindet, verlängert, so nähert sich
die Sammelleitungs-Belegungsrate dem Wert 100%, was einem
System entspricht, das als hochleistungsfähiges Datenverarbeitungssystem
betrachtet werden kann. Wichtige Gesichtspunkte
zur Erzielung eines derartigen Systems sind die Kapazität des
Pufferspeichers 202 jeder Speicherplatte und der Aufbau der
Folgesteuerung, die den Pufferspeicher steuert.
Fig. 5 (b) zeigt ein Impulsdiagramm für typische Steuersignale
und Daten zur Veranschaulichung der Arbeitsweise nach
Fig. 5 (a) entsprechend der Folgesteuerung der Fig. 4. Beim
Übergang vom Zustand S₃(1) auf den Zustand S₁(1) ist das
PCLK-Signal 145 aktiv, so daß die Prozessorplatten selbst unmittelbar
nach dem Übergang auf den Zustand S₁(1) arbeiten.
Die während dieser Zeitspanne ausgelesenen Daten werden in den
Registern 401 bis 403 gespeichert. Außerdem werden die beim
Übergang auf den Zustand S₁(1) in den Ausgangsstufen der
Prozessorplatten gespeicherten Daten beim Übergang vom Zustand
S₁(1) in den Zustand S₃(1) in die Speicherplatten eingeschrieben.
Somit tritt keine Unterbrechung im Datenfluß auf.
Fig. 6 zeigt den Aufbau des Pipeline-Verarbeitungssystems
bei Verwendung zur Durchführung eines einfachen Wiedergewinnungs-
bzw. Suchvorgangs (retrieval) als Beispiel einer Datenverarbeitung.
Mit 601 ist eine Datenbank in Form einer fünf Felder (A)
bis (E) enthaltenden Tabelle angegeben.
602 ist ein Eingangsspeichergerät, das nur diejenigen
Daten speichert, die in dem Feld (A) enthalten sind und der
Speicherplatte 101 in Fig. 1 entsprechen. 603 ist ein Eingangsspeichergerät,
das nur die in dem Feld (B) enthaltenen
und der Speicherplatte 102 in Fig. 1 entsprechenden Daten
speichert. 604 ist ein Eingangsspeichergerät zur Speicherung
nur derjenigen Daten, die in dem Feld (E) enthalten sind und
der Speicherplatte 103 nach Fig. 1 entsprechen. Im vorliegenden
Ausführungsbeispiel erfolgt die Erläuterung auf der Annahme,
daß eine Wortlänge jedes Speichergerätes größer ist als
eine Satzlänge jedes Feldes. Ferner ist angenommen, daß dann,
wenn eine Wortlänge kleiner ist als eine Satzlänge, der Satz
über mehrere Speichergeräte gespeichert wird.
Es sei nun angenommen, daß der Suchvorgang unter der Bedingung
ausgeführt wird, daß diejenigen Satzdaten im Feld (E)
gesucht werden, die den Satzdaten "1" im Feld (A) und den
Satzdaten "A" im Feld (E) entsprechen, wobei außerdem die Anzahl
dieser Satzdaten bestimmt wird.
Mit 610, 620 und 630 sind Prozessoren bezeichnet, die den
Prozessorplatten #1, #2 bzw. #3 in Fig. 1 entsprechen. Die in
den Speichergeräten 602 bis 604 gespeicherten Daten werden vom
Kopfsatz an sequentiell ausgelesen und dann auf die A-, B-
bzw. C-Sammelleitungen ausgegeben.
Ein in dem Prozessor 610 der ersten Stufe vorgesehener
Komparator 611 vergleicht die Daten auf der A-Sammelleitung
mit "1". Je nach vorhandener oder fehlender Übereinstimmung
gibt der Komparator 611 eine "1" bzw. "0" auf die A-Sammelleitung
des nächsten Prozessors 620. Die Daten auf den B-, C- und
F-Sammelleitungen werden über Verzögerungsstufen 612, 613 und
614, die jeweils Verzögerungszeiten entsprechend den für die
obigen Vergleichsvorgänge erforderlichen Zeitspannen aufweisen,
auf die B-, C- und F-Sammelleitungen des nächsten Prozessors
gegeben.
Ein in dem nächsten Prozessor 620 enthaltener Komparator
621 vergleicht die Daten auf der B-Sammelleitung mit "A". Je
nach vorhandener oder fehlender Übereinstimmung gibt der Komparator
621 eine "1" bzw. "0" aus. Dieses Ausgangssignal wird
in einem UND-Glied 625 mit einem Signal verknüpft, das aus
einer Verzögerung der Daten auf der A-Sammelleitung über ein
Verzögerungsglied 626 stammt, wobei dieses Verzögerungsglied
eine Verzögerungszeit aufweist, die der für den Vergleichsvorgang
erforderlichen Zeitspanne entspricht, und das sich ergebende
logische Produkt wird auf die A-Sammelleitung des nächsten
Prozessors ausgegeben. Die Daten auf den B-, C- und
F-Leitungen werden über Verzögerungslieder 622, 623 bzw. 624
auf B-, C- und F-Leitungen des nächsten Prozessors gegeben,
wobei diese Verzögerungsglieder Verzögerungszeiten aufweisen,
die den für die obigen Vergleichsvorgänge jeweils erforderlichen
Zeitspannen entsprechen.
Nimmt das Markierungssignal auf der F-Leitung den Wert
"1" an, so wird eine Zählerschaltung 631 im nächsten Prozessor
630 eingeschaltet und zählt bei Auftreten des PCLK-Signals 145
aufwärts, wenn die Daten auf der A-Leitung den Wert "1" annehmen.
Im Ergebnis werden die gesuchten oder wiedergewonnenen
Daten sequentiell in ein Ausgangsspeichergerät 605 eingeschrieben,
und die Menge der wiedergewonnenen Daten wird in
der Zählerschaltung 631 verzeichnet.
In dem obigen Ausführungsbeispiel kann es sich bei dem
Hauptspeicher um einen Primärspeicher, etwa einen Halbleiterspeicher,
oder einen Sekundärspeicher, etwa eine Magnetplatte,
handeln. Im Falle eines Halbleiterspeichers ist die Blocklänge
durch die Anzahl der Datenbänke eines Speicherchips gegeben,
die zum parallelen Lesen und Schreiben von Daten verwendet
werden können. Im Falle einer Magnetplatte ist die Blocklänge
durch die Anzahl der in einem Sektor oder einer Spur enthaltenen
Sätze vorgegeben.
Im folgenden soll ein Ausführungsbeispiel des Speichergeräts
beschrieben werden, das mit dynamischen Speicherelementen
als Hauptspeicher arbeitet. Bei dynamischen Speicherelementen
ist innerhalb einer vorgegebenen Zeitspanne ein ein- oder
mehrmaliger sicherer Zugriff zu sämtlichen unterschiedlichen
Speicheradressen als Auffrischvorgang erforderlich. Im vorliegenden
Ausführungsbeispiel wird ein solcher Auffrischvorgang
für das externe System nicht sichtbar. Anders ausgedrückt, erfolgt
der Zugriff, ohne daß der Auffrischvorgang für das externe
System wahrnehmbar wird. In der nachstehenden Beschreibung
ist als Beispiel eine Bildverarbeitung angenommen.
Bei dem in dem Blockschaltbild nach Fig. 7 gezeigten Aufbau
des Speichergeräts ist mit 702-705 ein Hauptspeicher-Chipmodul
aus P (im gezeigten Beispiel 4) Bänken bezeichnet,
die aus dynamischen Speicherelementen zur Speicherung von
Bilddaten bestehen. Sämtliche Bilddaten werden in den Hauptspeicher-Chipmodul
in einer in Pixel-Einheiten unterteilten
Form gespeichert.
Die aus dem Hauptspeicher-Chipmodul 702-705 parallel
ausgelesenen Pixeldaten werden von einer Logikschaltung 706
parallel/seriell umgesetzt und dann als (serielles) Signal 712
zum Einschreiben in einen Pufferspeicher 707 ausgegeben. Die
Logikschaltung 706 dient ferner dazu, die aus dem Pufferspeicher
707 in Form eines (seriellen) Signals 713 ausgelesenen
Daten anzunehmen und dieses Signal seriell/parallel umzusetzen,
so daß es in Form eines Signals 901 parallel in den Speicher-Chipmodul
702-705 eingeschrieben werden kann.
Bei dem Pufferspeicher 707 handelt es sich um einen FIFO-Pufferspeicher,
der beim Auslesen der Pixeldaten auf eine externe
Ausgangsleitung 710 diese Pixeldaten von der Logikschaltung
706 in Form des Signals 712 annimmt und beim Schreiben
von rastergetasteten Daten von einer externen Eingangsleitung
711 die Pixeldaten an die Logikschaltung 706 in Form des
Signals 713 mit der Zeitsteuerung des Hauptspeicher-Chipmoduls
ausgibt. Als Pufferspeicher 707 kann beispielsweise ein von
der Firma MMI Co., Ltd. unter der Bezeichnung "67413" bezeichneter
FIFO-Speicher verwendet werden.
Damit die Daten unabhängig vom Auffrischvorgang des
Hauptspeicher-Chipmoduls kontinuierlich gelesen bzw. geschrieben
werden können, selbst wenn die Übertragungsgeschwindigkeiten
auf den externen Leitungen 710, 711 sich in einem Bereich
unter einem vorgegebenen oberen Grenzwert ändern, bewirkt die
Folgesteuerung, daß der Hauptspeicher-Chipmodul 702-705 je
nach dem Zustand des Pufferspeichers 707 und der An- oder Abwesenheit
eines Auffrischvorgangs dem Zustandsübergang unterworfen
ist.
Die Folgesteuerung nach Fig. 7A weist eine Zeitsignalgeneratorstufe
701 und eine Leitungsinterfacesteuerstufe 708
auf. Die Stufe 701 erzeugt ein zur Folgesteuerung des gesamten
Speichergeräts verwendetes Zeitsteuersignal. Die Stufe 708
steuert den Pufferspeicher 707 und die externe Ausgangsleitung
710 so, daß Daten vom Pufferspeicher 707 ausgegeben werden,
und überwacht das Signal von der externen Eingangsleitung 711
und steuert damit den Pufferspeicher 707 so, daß Daten in den
Pufferspeicher 707 eingegeben werden.
Als nächstes sollen vier Zustände des Hauptspeicher-Chipmoduls
702-705 sowie die Übergänge zwischen diesen Zuständen
anhand von Fig. 8 erläutert werden, die ein Zustandsübergangsdiagramm
bezüglich der internen Zustände der Folgesteuerung
zeigt.
Der interne Zustand der Folgesteuerung ist in vier Zustände
unterteilt (nämlich einen Ausgangszustand, einen normalen
Speicherzugriffszustand, einen Auffrischzustand und einen
Speicherwartezustand), und zwar abhängig von der An- oder Abwesenheit
eines normalen Speicherzugriffs und eines Auffrischvorgangs
bezüglich des Hauptspeicher-Chipmoduls 702-705. Um
die Standardbedingungen für die Zugriffszeitsteuerung der dynamischen
Speicherelemente zu erfüllen, erfolgt der Zustandsübergang
am Speicherzugriffswendepunkt.
Im folgenden sollen die jeweiligen Zustände im einzelnen
beschrieben werden.
Der Ausgangszustand 801 stellt denjenigen Zustand dar, in
dem kein Speichergerät durch das externe Bildverarbeitungssystem
aktiviert ist und kein Auffrischvorgang durchgeführt
wird. Wird in diesem Zustand ein Auffrischtriggersignal eingegeben
(falls das Leitungstaktsignal auf "0" liegt), so erfolgt
ein Übergang in den Auffrischzustand 804. Ferner tritt
bei Eingabe eines Speicherzugriffsanforderungssignals und
Fehlen eines Auffrischtriggersignals (falls das Leitungs-Takt-1-Signal
auf "1" liegt) ein Übergang in einen normalen
Speicherzugriffszustand 802 auf.
Der normale Speicherzugriffszustand 802 stellt denjenigen
Zustand dar, in dem das Speichergerät durch das externe Bild
verarbeitungssystem aktiviert worden ist und ein Bilddaten-Lese/Schreibvorgang
durchgeführt wird. Wird in diesem Zustand
ein Auffrischtriggersignal eingegeben (falls das Leitungstaktsignal
auf "0" liegt), so erfolgt ein Übergang in den Auffrischzustand
804. Ferner tritt bei Eingabe eines Speicherwarteanforderungssignals
und Fehlen eines Auffrischtriggersignals
(falls das Leitungs-Takt-1-Signal auf "1" und das Leitungs-Takt-2-Signal
auf "0" liegt) ein Übergang in den Speicher-Wartezustand
803 auf.
Der Speicherwartezustand 803 stellt denjenigen Zustand
dar, in dem das Speichergerät durch das externe Bildverarbeitungssystem
aktiviert, ein normaler Speicherzugriff jedoch
verhindert ist. In diesem Zustand erfolgt kein Auffrischvorgang.
Wird in diesem Zustand ein Auffrischtriggersignal eingegeben
(falls das Leitungstaktsignal auf "0" liegt), so erfolgt
ein Übergang in den Auffrischzustand 804. Ferner tritt
bei Eingabe eines Speicherzugriffsanforderungssignals und
Fehlen eines Auffrischtriggersignals (falls das Leitungs-Takt-2-Signal
auf "1" liegt) ein Übergang in den normalen
Speicherzugriffszustand 802 auf.
Der Auffrischzustand 804 stellt denjenigen Zustand dar,
in dem das Speichergerät einen Auffrischvorgang durchführt.
Unabhängig davon, in welchem Zustand sich der Hauptspeicher-Chipmodul
befindet, erfolgt bei Eingabe des Auffrischtriggersignals
(falls das Leitungstaktsignal auf "0" liegt)
ein vorrangiger Übergang in den Auffrischzustand 804, so daß
ein Auffrischvorgang durchgeführt und eine Zerstörung des
Speicherinhalts verhindert wird. Wird das Auffrischtriggersignal
nach Beendigung der Auffrischung gelöscht, kehrt die
Steuerfolge in den Zustand vor dem Übergang auf den Auffrischzustand
804 zurück.
Die Folgesteuerung mit den obigen vier internen Zuständen
hat folgende Funktionen:
- (1) Sie führt dem Hauptspeicher-Chipmodul 702-705 im Auffrischzustand als Auffrischtriggersignal ein Signal mit einem Wiederholungszyklus zu, der sich nach der für die dynamischen Speicherelemente erforderlichen Auffrischzeit richtet.
- (2) Während des Einlesens im normalen Speicherzugriffszustand stellt sie fest, wenn sich der Pufferspeicher 707 einem Vollzustand nähert, und erzeugt dann das Speicherwarteanforderungssignal.
- (3) Beim Schreiben im normalen Speicherzugriffszustand stellt sie fest, wenn sich der Pufferspeicher 707 einem Leerzustand nähert, und erzeugt dann das Speicherwarteanforderungssignal.
Diejenigen Signale, die für die von der Folgesteuerung
ausgeführte Steuerung erforderlich sind, sollen im folgenden
anhand von Fig. 10 näher erläutert werden, die ein Impulsdiagramm
der zur Steuerung der Speichergeräte nach der vorliegenden
Erfindung verwendeten grundsätzlichen Zeitsteuersignale
zeigt.
In Fig. 10 ist mit 1001 ein Originaltaktsignal bezeichnet.
Sämtliche Signale zur Steuerung der Speichergeräte werden
aufgrund dieses Originaltaktsignals erzeugt.
1002 ist ein Grundtaktsignal zur Spezifizierung des
Ein/Ausgabevorgangs für ein Datenelement zwischen dem Pufferspeicher
707 und der Logikschaltung 706. Weist der Hauptspeicher-Chipmodul
P Bänke auf, so sind P Grundtaktsignale vorhanden.
Mit einen 1003 ist ein Speichertaktsignal bezeichnet,
dessen Impulsbreite den P Grundtaktsignalen 1002 entspricht.
Innerhalb einer Zykluszeit des Speichertaktsignals 1003 findet
Zugriff zu P Pixeln im Hauptspeicher-Chipmodul parallel statt.
Im folgenden wird eine Zykluszeit des Speichertaktsignals 1003
als Maschinenzyklus bezeichnet.
1004 ist ein Leitungstaktsignal, dessen Impulsbreite M
Zyklen des Speichertaktsignals 1003 entspricht. Im folgenden
wird eine Zykluszeit des Leitungstaktsignals 1004 als Leitungszyklus
bezeichnet. In der Praxis erfolgt ein normaler
Speicherzugriff zum Lesen bzw. Schreiben von Daten für R Maschinenzyklen
innerhalb der M Maschinenzyklen (wobei R ≦ M-1).
Ferner erfolgt der Auffrischvorgang über einen Maschinenzyklus
innerhalb des Leitungszyklus (was durch den kreuz-schraffierten
Teil bezeichnet ist).
In Fig. 10 ist angenommen, daß der Auffrischvorgang zu
jeder beliebigen Zeit (in Fig. 10 schraffiert) innerhalb eines
nächsten Maschinenzyklus, unmittelbar nachdem das Leitungstaktsignal
1004 auf "0" gegangen ist, durchgeführt wird. Ferner
sei das Auffrischtriggersignal durch "0" (als Wert des
Leitungstaktsignals 1004) gegeben. Praktisch verringert der
Auffrischvorgang die effektive Übertragungsgeschwindigkeit des
Speichergerätes. Um den Auffrischvorgang nur oft genug auszuführen,
ist daher die Zykluszahl des Wiederauffrischvorgangs
auf einen Wert gesetzt, der das K-fache des Leitungszyklus beträgt
(wobei K eine positive ganze Zahl ist). Im vorliegenden
Fall ist der Wert von K so gewählt, daß die Zeitspanne entsprechend
den K × M Maschinenzyklen den Standardbedingungen
für die Mindestzeit für das Auffrischintervall der verwendeten
Speicherelemente genügt.
Mit 1005 ist in Fig. 10 ein Signal bezeichnet, das angibt,
ob im anschließenden Maschinenzyklus ein normaler Speicherzugriff
bezüglich des Hauptspeicher-Chipmoduls 702-705
auszuführen ist oder nicht. In der vorliegenden Beschreibung
wird dieses Signal als Leitungs-Takt-1-Signal bezeichnet. Bei
1006 ist ein Speicherzugriffsanforderungssignal gezeigt, das
hier als Leitungs-Takt-2-Signal bezeichnet wird. 1007 ist
schließlich ein Speicher-Warteanforderungssignal, das als Warte-1-Signal
bezeichnet wird.
In dem in Fig. 10 gezeigten Ausführungsbeispiel ist
M = 4, R = 3 und K = 4.
Im folgenden soll die Beziehung zwischen dem Statusübergang
(vgl. Fig. 8) in der Folgesteuerung der Speichergeräte
und den verschiedenen Zeitsteuersignalen (vgl. Fig. 10) im
einzelnen erläutert werden.
Eine Änderung des Wertes des Leitungstaktsignals 1004 auf
"0" bringt einen Übergang in den Auffrischzustand 804 mit
sich. Ändert sich der Wert des Leitungs-Takt-1-Signals 1005
auf "1", so erfolgt ein Übergang zum normalen Speicherzugriffszustand
802.
Ändert sich das Warte-1-Signal 1007 auf den Wert "0" und
das Leitungs-Takt-2-Signal 1006 auf den Wert "1", so bleibt
die Steuerfolge im normalen Speicherzugriffszustand 802. Ändert
sich das Leitungstaktsignal 1004 auf den Wert "0", so erfolgt
ein Übergang in den Auffrischzustand 804. Geht das Warte-1-Signal
1007 auf "1", das Leitungs-Takt-1-Signal 1005 auf
"1" und das Leitungs-Takt-2-Signal 1006 auf "0", so erfolgt
ein Übergang in den Speicherwartezustand 803.
Geht das Warte-1-Signal 1007 auf "1", das Leitungs-Takt-1-Signal
1005 auf "1" und das Leitungs-Takt-2-Signal 1006 auf
"0", so bleibt die Steuerfolge im Speicherwartezustand 803.
Geht das Leitungs-Takt-2-Signal 1006 auf "1", so erfolgt ein
Übergang in den normalen Speicherzugriffszustand 802. Geht das
Leitungstaktsignal 1004 auf "0", so erfolgt ein Übergang in
den Auffrischzustand 804.
Geht das Warte-1-Signal 1007 auf "0" und das Leitungs-Takt-2-Signal
1006 auf "1", so geht die Steuerfolge in den
normalen Speicherzugriffszustand 802 über. Nimmt das Leitungs-Takt-1-Signal
1005 den Wert "1" und das Leitungs-Takt-2-Signal
1006 den Wert "0" an, so erfolgt ein Übergang in den Speicherwartezustand
803. Geht das Leitungstaktsignal 1004 auf "1", so
kehrt die Steuerung in den Zustand zurück, der vor dem Übergang
in den Auffrischzustand 804 herrschte.
Anschließend soll erläutert werden, wie die vier Zustände
innerhalb eines praktischen Ein/Ausgabevorgangs gesteuert werden.
Zu Beginn sei die Arbeitsweise des Speichergeräts in dem
Fall beschrieben, daß von ihm Daten der externen Leitung 710
zugeführt werden.
Aufgrund von Faktoren, die einen Übergang zwischen zwei
Zuständen der Folgesteuerung (d. h. zwischen dem Speicherzugriffszustand
802 und dem Speicherwartezustand 803) bewirken,
werden zwei Zustände des Pufferspeichers, nämlich ein normaler
und ein abnormer Zustand, definiert. Der abnorme Zustand bezeichnet
einen nahezu vollen Zustand, bei dem die Menge an in
den Pufferspeicher 707 eingegebenen Daten beim Auslesen des
Speichergeräts über das (1-1/N)-fache der Gesamtkapazität
gelangt, bzw. einen nahezu leeren Zustand, bei dem während des
Schreibens in das Speichergerät die Datenmenge unter das
1/N-fache der Gesamtkapazität fällt. Andere als diese abnormen
Zustände sind als normaler Zustand definiert.
Im folgenden wird erklärt, aus welchem Grund der abnorme
Zustand berücksichtigt werden sollte.
Wie oben erwähnt, erfolgt ein Zustandsübergang in der
Folgesteuerung am Speicherzugriffswendepunkt. Daher wird
selbst bei Feststellung des abnormen Zustands maximal eine
Speicherzugriffszeit benötigt, bis der Ein/Ausgabevorgang des
Pufferspeichers 707 tatsächlich unterbrochen werden kann. Daher
soll die Notwendigkeit einer sofortigen Unterbrechung des
Ein/Ausgabevorgangs bezüglich des Pufferspeichers 707 vermieden
werden, auch wenn der Pufferspeicher in den abnormen Zustand
gebracht ist. Im Hinblick auf dieses Erfordernis ist der
Pufferspeicher 707 so ausgelegt, daß er den vollständig leeren
oder vollständig vollen Zustand nicht erreicht. Aus diesem
Grund werden der fast leere und der fast volle Zustand als abnorme
Zustände erfaßt.
Konkret ausgedrückt geht dann, wenn die im Pufferspeicher
707 gespeicherte Datenmenge den fast vollen Zustand (abnormen
Zustand) erreicht, das Warte-1-Signal 1007 auf "1", was einen
Übergang in den Speicherwartezustand 803 auslöst. Da in diesem
Speicherwartezustand 803 keine Daten in den Pufferspeicher 707
gelangen, verringert sich die in ihm vorhandene Datenmenge
allmählich. Daher gelangt nach Ablauf einer gewissen Zeit der
Pufferspeicher 707 aus dem fast vollen Zustand und kehrt in
den normalen Zustand zurück. Dabei wird der Wartezustand am
Wendepunkt des nächsten Maschinenzyklus gelöscht.
Die vorstehende Beschreibung bezieht sich zwar auf die
Pufferspeicherseite; es ist jedoch auch erforderlich, das
Speichergerät so zu steuern, daß es nicht in einen Zustand gerät,
in dem es im Speicherwartezustand 803 keine Daten senden
kann (d. h. in einen entgegengesetzten abnormen Zustand), um
mit Sicherheit kontinuierlich Daten auf die externe Leitung
abzugeben.
Im Hinblick darauf ist das Volumen L des Pufferspeichers
707 folgendermaßen eingestellt.
Erstens wird die folgende Beziehung erfüllt:
L < N · P (1)
(wegen des Erfordernisses, daß die Menge P an pro Zeit in den
Hauptspeicher-Chipmodul 702-705 einschreibbaren Daten kleiner
sein soll als der Grenzwert L/N für den abnormen Zustand).
Zweitens wird im Hinblick auf das Erfordernis, daß die
Geschwindigkeit der Verarbeitung von effektiven Daten in dem
Speichergerät höher sein soll als die Geschwindigkeit der Datenverarbeitung
des externen Bildverarbeitungssystems, die
folgende Gleichung erfüllt:
(1/Tb) · (R/M) < 1/Tp (2)
wobei Tb eine Zykluszeit des Grundtaktsignals 1002 und Tp eine
Zykluszeit des Taktsignals 1104 für das externe Bildverarbeitungssystem
ist.
Drittens soll die Zeitperiode, innerhalb der das Speichergerät
im Speicherwartezustand 803 gehalten wird, kürzer
sein als die Zeitspanne, die das Speichergerät benötigt, um in
den entgegengesetzten abnormen Zustand zu geraten.
Diese drei Erfordernisse werden im folgenden näher erläutert.
Als Möglichkeit zur Löschung des Speicherwartezustands
werden die folgenden beiden Fälle verwendet.
Kehrt der Pufferspeicher 707 in den normalen Zustand zurück,
so wird der Speicherwartezustand 803 sofort gelöscht.
Kehrt der Pufferspeicher in den Normalzustand und der Maschinenzustand
in den unmittelbar vor Übergang in den Speicherwartezustand
vorhandenen Zustand zurück, so wird der Speicherwartezustand
803 gelöscht.
Der obige Fall 1 benötigt mindestens zwei Maschinenzyklen
als Zeitspanne, die zum Übergang in den Speicherwartezustand
und zu dessen Löschung erforderlich ist, da im schlimmsten
Fall ein Auffrischvorgang eingefügt ist. Daher soll als
dritte Bedingung folgende Beziehung erfüllt sein:
(1-(1/N) - (1/N) · L ·Tp < P · Tb · 2 (3)
Der obige Fall 2 erfordert mindestens M Maschinenzyklen
als Zeitspanne, die zum Übergang in den Speicherwartezustand
zu dessen Löschung erforderlich ist. Daher soll als dritte Bedingung
folgende Beziehung erfüllt sein:
(1-(1/N) - (1/N) · L ·Tp < P · Tb · M (3′)
Die obigen Darlegungen dienen zur Erläuterung des dritten Erfordernisses.
Faßt man die vorstehenden Ergebnisse zusammen, so wird
bei dem Steuerverfahren des Falls 1 eine obere Grenze des Minimalwerts
Lmin von L für ein Bildverarbeitungssystem mit beliebiger
Arbeitsfrequenz aufgrund der Gleichungen (1), (2) und
(3) folgendermaßen vorgegeben:
Lmin = Max ((P · R · 2 · N)/(M · (N-2)), P · N) (4)
wobei Max (,) bedeutet, daß der größere der beiden Werte angenommen
wird.
In ähnlicher Weise wird in dem Steuerverfahren des Falls
2 eine obere Grenze für den Minimalwert Lmin von L für ein
Bildverarbeitungssystem mit einer beliebigen Arbeitsfrequenz
aufgrund der Gleichungen (1), (2) und (3′) folgendermaßen vorgegeben:
Lmin = Max ((P · R · N)/(N-2), P · N) (4′)
Im folgenden soll ein praktisches Beispiel für die Gleichungen
(4) und (4′) angegeben werden.
Für N = 8, P = 4, M = 4 und R = 3 kann der Minimalwert
von L aus dem zweiten Ausdruck der Gleichungen (4) und (4′) in
beiden Fällen 1 und 2 auf 32 Worte gesetzt werden. Mit anderen
Worten gestattet der Minimalwert von 32 Worten ein kontinuierliches
Lesen von Daten für ein Datenverarbeitungssystem mit
beliebiger Arbeitsfrequenz. Ist eine Zykluszeit Tb des Grundtaktsignals
annähernd gleich einer Zykluszeit Tp des externen
Systems, so muß R aus Gleichung (2) größer gewählt werden, da
M und R jeweils positive ganze Zahlen sind. Für den Fall 2
wird daher der erste Ausdruck (links vom Komma) auf der rechten
Seite der Gleichung (4′) größer als der zweite Ausdruck
(rechts vom Komma), und der Wert von Lmin braucht nur entsprechend
erhöht zu werden.
Die vorstehende Erläuterung betrifft ein spezielles Beispiel
der Folgesteuerung für den Fall, daß Daten aus dem Speichergerät
auf die externe Leitung ausgegeben werden.
Im folgenden soll der Statusübergang der Folgesteuerung
im einzelnen beschrieben werden, der stattfindet, wenn Daten
von der externen Leitung 111 dem Speichergerät zugeführt werden,
d. h. im Falle eines Schreibvorgangs.
In diesem Zustand ist ein abnormer Zustand als ein solcher
definiert, bei dem die Menge der im Pufferspeicher 707
gespeicherten Daten einen fast leeren Zustand erreicht hat,
d. h. unter das 1/N-fache der Gesamtkapazität des Pufferspeichers
707 abgesunken ist.
Erreicht die im Puffer 707 gespeicherte Datenmenge zu irgendeinem
Zeitpunkt diesen fast leeren Zustand, so erfolgt am
Wendepunkt des nächsten Maschinenzyklus ein Übergang in den
Speicherwartezustand 803. Da im Speicherwartezustand 803 keine
Daten aus dem Pufferspeicher 707 ausgelesen werden, steigt die
im Pufferspeicher 707 enthaltene Datenmenge allmählich an. Infolgedessen
gelangt nach Ablauf einer gewissen Zeit der Pufferspeicher
707 wieder aus dem fast leeren Zustand heraus und
kehrt am Wendepunkt des nächsten Maschinenzyklus in den normalen
Zustand zurück. Wie im Falle des Lesens gibt es die folgenden
beiden Methoden, den Wartezustand zu löschen.
Kehrt der Pufferspeicher 707 in den normalen Zustand zurück,
so wird der Speicherwartezustand 803 sofort gelöscht.
Anders als im Falle des Lesens besteht jedoch bei dieser
Methode für den Übergang in den Speicherwartezustand eine beschränkende
Bedingung. Diese Bedingung soll weiter unten beschrieben
werden.
Kehrt der Pufferspeicher 707 in den normalen Zustand und
der Maschinenzustand in denjenigen Zustand zurück, der vor
Übergang in den Speicherwartezustand vorlag, so wird der Speicherwartezustand
803 gelöscht. In dieser Methode ist es wie im
Falle des Lesens erforderlich, den Maschinenzustand unmittelbar
vor Übergang in den Speicherwartezustand 803 zu speichern.
Um zu vermeiden, daß der Maschinenzustand in den entgegengesetzten
abnormen Zustand, d. h. in den fast vollen Zustand,
gerät, ist es in beiden Fällen 1 und 2 erforderlich,
daß L die Bedingung der obigen Gleichung (4) für den Fall 1
bzw. diejenige der obigen Gleichung (4′) für den Fall 2 -
ebenso wie im Falle des Lesens - erfüllt.
Die obige Beschreibung erläutert den Zustandsübergang in
dem Fall, daß Daten von der externen Leitung dem Speichergerät
zugeführt werden.
Im Vorhergehenden ist im einzelnen die Art und Weise des
Zustandsübergangs in der Folgesteuerung für die kontinuierliche
Datenein- und -ausgabe in bzw. von dem externen Datenverarbeitungssystem
für die beiden Fälle des Lese- und des
Schreibvorgangs erläutert worden.
Im folgenden soll nun eine Zeitsignalgeneratorschaltung
zum Betreiben der Folgesteuerschaltung im einzelnen beschrieben
werden.
Fig. 7B zeigt dabei ein Blockschaltbild der Zeitsignalgeneratorschaltung
nach Fig. 7A, während Fig. 7C und 7D Blockschaltbilder
von Zeitsteuerschaltungen in der Zeitsignalgeneratorschaltung
zur Erzeugung von Steuersignalen für den Hauptspeicher-Chipmodul
und die Logikschaltung zeigen. Die Fig. 7C
und 7D sollen später erläutert werden.
Gemäß Fig. 7B umfaßt die Zeitsignalgeneratorschaltung
701 einen Originaltaktoszillator 720, eine Wartesteuerschaltung
728, einen Komparator 727, Registerstufen 724, 725, 726
und 749, eine Auswahlstufe 730, einen durch 3 teilenden
Schaltkreis 721, durch 4 teilende Schaltkreise 722 und 723
sowie UND-Glieder 729 und 731.
Das Grundtaktsignal 1002 wird über den durch 3 teilenden
Schaltkreis 721 gewonnen, der die Frequenz des Originaltaktsignals
1001 durch 3 teilt. Das Speichertaktsignal 1003 wird
durch den durch 4 teilenden Schaltkreis 722 gewonnen, der das
Ausgangsbit einer P-Bit-Zählerstufe (hier P = 4) mit dem als
Takteingang zugeführten Grundtaktsignal 1002 decodiert. Das
Leitungstaktsignal 1004 wird durch den durch 4 teilenden
Schaltkreis 723 gewonnen, der ein Ausgangsbit einer M-Bit-Zählerstufe
(hier M = 4) mit dem als Takteingang zugeführten
Speichertaktsignal 1002 decodiert.
Das Leitungs-Takt-1-Signal 1005 wird über das UND-Glied
729 gewonnen, indem das Leitungstaktsignal 1004 und ein Trigger-4-Signal
1024 einer UND-Verknüpfung unterworfen werden.
Das Leitungs-Takt-2-Signal 1006 wird über das UND-Glied 731
gewonnen, indem das Leitungs-Takt-1-Signal 1005 und eine Inversion
des Wartungssignals 1007 einer UND-Verknüpfung unterworfen
werden.
Bei dem Trigger-1-Signal 1021 handelt es sich um ein
Signal mit positiver Logik, das das Auslesen von Daten aus dem
Hauptspeicher-Chipmodul 702-705 an das externe Datenverarbeitungssystem
angibt.
Das Trigger-2-Signal 1022 wird über das Flip-Flop 724 als
ein Signal gewonnen, das durch Halten des Trigger-1-Signals
1021 bei Anstieg des Speichertaktsignals 1003 vorgegeben ist.
Ein Trigger-3-Signal 1023 wird über ein Flip-Flop 725 als
ein Signal gewonnen, das durch Halten eines positiven Logiksignals
1113, das anzeigt, daß die in den Pufferspeicher 707
eingegebene Datenmenge P Pixel überschreitet, beim Anstieg
des Speichertaktsignals 1003 vorgegeben ist. Das Signal 1113
kann durch eine Inversion des Leersignals 1111 ersetzt werden,
was aus der obigen Gleichung (1) hervorgeht.
Ein Trigger-4-Signal 1024 wird über die Auswahlstufe 730
gewonnen, die im Falle des Lesens von Daten aus dem Hauptspeicher-Chipmodul
702-705 des Trigger-2-Signal 1022 und im Falle
des Schreibens von Daten in den Hauptspeicher-Chipmodul
702-705 ein Signal auswählt, das aus der Verzögerung des
Trigger-3-Signals 1023 durch die zur zeitlichen Justierung
dienende Verzögerungsstufe 749 um einen Maschinenzyklus resultiert.
Die Registerstufe 726 speichert das Leitungstaktsignal
1004 sequentiell mit einer Verzögerung um einen Maschinenzyklus,
wenn das Warte-1-Signal 1007 auf "0" geht, und behält
seinen Inhalt bei, wenn das Warte-1-Signal 1007 den Wert "1"
annimmt.
Ein Entsprechungssignal 1025 geht auf "1", wenn der Wert
des Taktspeichersignals 1004 dem Wert der Registerstufe 726 in
dem Komparator 727 entspricht, bzw. auf "0", wenn keine Übereinstimmung
vorliegt.
Das Warte-1-Signal 1007 wird durch das Wartesteuersignal
728 gewonnen, das beim Anstieg des Speichertaktsignals 1003,
nachdem das Trigger-4-Signal 1024 auf "1" gegangen ist, ein
Vollsignal 1111 erfaßt, das angibt, daß die in den Pufferspeicher
707 eingegebene Datenmenge das (1 - (1/N))-fache der Gesamtkapazität
des Pufferspeichers erreicht hat, oder ein Leersignal
1112, das angibt, daß die Datenmenge unter das
(1/N)-fache der Gesamtkapazität abgesunken ist, oder das Entsprechungssignal
1025 oder ein Austrag-Datenfenstersignal
1012 als Grenzbedingung für den Fall 2 beim Schreiben.
In dem in Fig. 9 gezeigten Blockschaltbild der Logikschaltung
nach Fig. 7A hat die Logikstufe 706 die Funktion,
Daten zwischen dem Hauptspeicher-Chipmodul 702-705 und dem
Pufferspeicher 707 ein- und auszugeben.
Zunächst soll der Lesevorgang zur Zuführung von Daten an
die externe Leitung 710 erläutert werden. Dabei soll zunächst
die Arbeitsweise der Logikstufe 706 bei der seriellen Eingabe
von P Pixeldaten, die aus dem Hauptspeicher-Chipmodul
702-705 parallel ausgelesen worden sind, in den Pufferspeicher
707 beschrieben werden. Die parallel ausgelesenen P Pixeldaten
901 werden beim Abfallen eines Zwischenspeicher-1-Signals
1013 nach einem Maschinenzyklus in eine transparente
Zwischenspeicherstufe 902 eingegeben. Bei der transparenten
Stufe handelt es sich um einen Schaltkreis, der Eingangsdaten
in Abhängigkeit vom Gleichbleiben bzw. Abfallen eines Zwischenspeichersignals
zwischenspeichert. Außer der Zwischenspeicherstufe
902 handelt es sich auch bei der Zwischenspeicherstufe
908 um eine transparente Stufe. Diese Zwischenspeicherstufen
unterscheiden sich in der Arbeitsweise von einer
Zwischenspeicherstufe des D-Typs (die Eingangsdaten beim Anstieg
eines Zwischenspeichersignals speichert), wie es etwa
die Zwischenspeicherstufen 909, 1101, 1102, 1103 usw. in Fig. 11A
und 11B sind.
Nach Zwischenspeicherung in den transparenten Zwischenspeicherstufen
902 werden die P Pixeldaten 901 beim Anstieg
eines Lade-1-Signals 1014 parallel in ein Schieberegister 903
eingeschrieben. Die Schieberegister 903, 904 führen dann mit
dem als Takteingang zugeführten Grundtaktsignal 1002 einen
Schiebevorgang durch, so daß alle vorher ausgelesenen Pixeldaten
nach einem Maschinenzyklus in das Schieberegister 904 eingeschoben
sind. Ein Multiplexer 906 wählt die ersten P Pixeldaten,
die beim Ansteigen des nächsten Grundtaktsignals
1002 in ein Register 909 unmittelbar oberhalb des Pufferspeichers
707 eingegeben werden.
Die Fig. 11A und 11B sind Blockschaltbilder von peripheren
Schaltungen des Pufferspeichers nach Fig. 7A. Die in
dem Register 909 nach Fig. 9 gespeicherten Daten 712 werden
beim Auftreten eines in Fig. 11A gezeigten Einschiebesignals
1018 jeweils in einzelnen Dateneinheiten in den Pufferspeicher
707 eingeschrieben.
Um nur die von den Auffrischdaten unterschiedlichen effektiven
Daten ordnungsgemäß in den Pufferspeicher 707 einzuschreiben,
ist ein Datenfenstersignal erforderlich, das für
die in dem Register 909 gespeicherten Daten 712 eine Schreibsteuerperiode
spezifiziert. Zu diesem Zweck ist eine derartige
Steuerung erforderlich, daß die während des Auffrischvorgangs
ausgelesenen Daten 901 in die Schieberegister 903, 904 eingegeben
werden, das Datenfenstersignal jedoch zu dem Zeitpunkt,
zu dem die besagten Daten das Register 909 erreichen, auf "0"
gesetzt wird, wodurch verhindert wird, daß diese Daten in den
Pufferspeicher 707 eingeschrieben werden.
Im Speicherwartezustand 803 ist es ferner erforderlich,
den Betrieb der Schieberegister 903, 904 und den Einschiebevorgang
für den Pufferspeicher 707 anzuhalten. Daher werden
sowohl ein Schiebe-1-Signal 1016 und Schiebe-2-Signal 1017 zur
Unterbrechung des Betriebs der Schieberegister 903, 904 auf
"0" gesetzt. Damit wird auch das Einschieben von Daten in den
Pufferspeicher 707 unterbrochen.
Im übrigen wird in dem Maschinenzyklus nach Übergang in
den Speicherwartezustand 803 der normale Speicherzyklus oder
ein Auffrischvorgang ausgeführt. Die dabei ausgelesenen Speicherdaten
901 werden bei Abfall des Zwischenspeicher-1-Signals
1013 in die transparente Zwischenspeicherstufe 902 eingegeben.
Ferner werden unmittelbar nach Übergang in den Speicherwartezustand
803 die im Register 909 gespeicherten Daten 712 in den
Pufferspeicher 707 eingegeben.
Geht nach Ablauf einer gewissen Zeit nach Übergang in den
Speicherwartezustand 803 das Voll-Signal 1112 auf "0", so
kehrt der Pufferspeicher 707 in den Normalzustand zurück, und
der Speicherwartezustand wird am Wendepunkt des nächsten Maschinenzyklus
gelöscht.
Da im Fall 1 die ausgelesenen Daten bereits in die transparente
Zwischenspeicherstufe 902 und die Schieberegister 903,
904 eingegeben sind, ist es erforderlich, das Einschiebedatenfenstersignal
1011 durch das Warte-1-Signal 1007 beizubehalten
(vgl. Fig. 7B und 7C).
Im Fall 2 ist es anders als im Fall 1 nicht erforderlich,
das Einschiebedatenfenstersignal 1111 (vgl. Fig. 7C) nur während
der Zeit, während der das Warte-1-Signal 1007 auf "1"
liegt, beizubehalten. Nötig ist es aber, den Maschinenzustand
unmittelbar vor dem Übergang in den Speicherwartezustand in
der Registerstufe 726 abzuspeichern.
Nach Löschen des Speicherwartezustands 803 gehen das
Schiebe-1-Signal 1016 und Schiebe-2-Signal 1017 auf "1", so
daß die Schieberegister 903, 904 mit dem Anstieg des nächsten
Grundtaktsignals 1002 ihre Arbeit wieder aufnehmen und der
Vorgang des Einschiebens von Daten für den Pufferspeicher 707
nach einer Grundtaktzeit fortgesetzt wird.
Obwohl der Maschinenzyklus unmittelbar nach Löschen des
Speicherwartezustands 803 nicht ausgeführt wird, werden die
Daten, die beim Übergang in den Speicherwartezustand 803 in
die transparente Zwischenspeicherstufe 902 eingegeben worden
sind, beim Anstieg des Lade-1-Signals 1014 nach einem Maschinenzyklus
in das Schieberegister 903 eingeschrieben.
Ferner werden bei Erfassen eines Signals 1113, das angibt,
daß eine Datenmenge von nicht weniger als P Pixeln in
den Pufferspeicher 707 eingegeben ist, die Daten beim Auftreten
des Austragssignals synchron mit einem Taktsignal 1104 des
externen Datenverarbeitungssystems ausgelesen, sodann beim Abfallen
eines Zwischenspeicher-3-Signals 1019 in eine transparente
Zwischenspeicherstufe 1101 eingegeben und dann beim Anstieg
des Taktsignals 1104 in einem Register 1102 gespeichert,
um auf die externe Leitung 710 ausgegeben zu werden. Selbst
wenn während des Zyklus, der auf denjenigen vorhergehenden
Zyklus folgt, in dem die ersten P Pixeldaten eingegeben worden
sind, keine Daten mehr eingegeben werden, läßt sich wegen der
Koinzidenz der Periode, in der das Einschiebe-Datenfenstersignal
1011 im schlimmsten Fall auf "0" geht, vermeiden, daß der
Pufferspeicher 707 vorübergehend in den völlig leeren Zustand
gelangt, so daß ein kontinuierlicher Datenverlesevorgang möglich
wird.
Im folgenden soll der Schreibbetrieb zur Aufnahme von Daten
von der externen Leitung 711 im einzelnen erläutert werden.
Gemäß Fig. 11B werden die Daten auf der externen Leitung
711 beim Anstieg des Taktsignals 1104 in ein Register 1103
eingegeben. Sodann werden bei Auftreten des Einschiebesignals
synchron mit dem Taktsignal 1104 nur die effektiven Daten ausgewählt
und in den Pufferspeicher 707 eingeschrieben. Erreicht
nach Ablauf einer gewis 14317 00070 552 001000280000000200012000285911420600040 0002003842517 00004 14198sen Zeit das erste eingeschriebene Datenelement
die Ausgangsstufe des Pufferspeichers 707, so geht
asynchron ein Ausgabe-Bereit-Signal 1115, das angibt, daß Daten
ausgegeben werden können, auf "1". Daraufhin nimmt zu
einem geeigneten Zeitpunkt das Trigger-3-Signal 1023 den Wert
"1" an, und beim Auftreten des Austragssignals 1019 werden die
Daten 713 pixelweise aus dem Pufferspeicher 707 ausgelesen, um
beim Abfall des Zwischenspeicher-2-Signals 1019 in die transparente
Zwischenspeicherstufe 908 eingegeben zu werden.
Im folgenden soll die Arbeitsweise der Logikstufe 706 zum
parallelen Einschreiben der Daten 713, die seriell aus dem
Pufferspeicher 707 ausgelesen worden sind, in den Hauptspeicher
702-705 im einzelnen beschrieben werden.
Nachdem ein in Fig. 9 gezeigter Demultiplexer 907 einen
Registerbereich des Schieberegisters 904 ausgewählt hat, in
den die Daten 713 eingeschrieben werden sollen, werden beim
Ansteigen des nächsten Grundtaktsignals 1002 die Daten 713 in
diesen Registerbereich eingeschrieben. Dabei tritt in den anderen
nicht ausgewählten Registerbereichen ein Verschiebevorgang
ein. Sind die P Pixeldaten nach einem Maschinenzyklus zum
Schieberegister 903 bewegt worden, so wird der P Pixel-Inhalt
des Schieberegisters 903 beim Anstieg des Lade-2-Signals 1015
parallel in das Register 905 eingespeichert. Während des nächsten
Maschinenzyklus wird dann der P Pixelinhalt des Registers
905 parallel in den Hauptspeicher-Chipmodul 702-705
eingeschrieben.
Wie beim Lesen wird ein Datenfenstersignal benötigt, um
den Zeitpunkt anzugeben, zu dem die Daten 713 aus dem Pufferspeicher
707 in die transparente Zwischenspeicherstufe 908
eingelesen werden können. Dieser Zeitpunkt sollte die folgenden
drei Bedingungen erfüllen.
Erstens sollen die Daten zu einem solchen Zeitpunkt gelesen
werden, daß ein Auffrischvorgang umgangen wird. Bei dem
obigen Lesevorgang ist es daher erforderlich, daß die effektiven
Daten zu einem derartigen Zeitpunkt gelesen werden, daß
der Maschinenzyklus, der auf denjenigen folgt, zu dem diese
Daten in das Register 905 eingespeichert worden sind, nicht
mit dem Auffrischzyklus zusammenfällt.
Zweitens sollen die P Pixeldaten, zu denen während eines
Maschinenzyklus paralleler Zugriff möglich ist, zu einem derartigen
Zeitpunkt gelesen werden, daß diese Daten gleichzeitig
in den Hauptspeicher-Chipmodul 702-705 geschrieben werden
können. Zu diesem Zweck ist, soweit die P Pixeldaten, zu denen
paralleler Zugriff während eines Maschinenzyklus möglich ist,
sich in fester Position auf dem Schirm befinden, eine Maßnahme
vorgesehen, um die Pixeln aus einer etwas versetzten Position
parallel zu schreiben. Genauer gesagt wird also nicht der
Zeitpunkt, zu dem die effektiven Daten aus dem Pufferspeicher
707 gelesen werden, verschoben, sondern der Demultiplexer 907
so angesteuert, daß er die Dateneingabestelle verschiebt, wodurch
es möglich wird, Daten zu einem vorgegebenen Zeitpunkt
von jeder beliebigen Position der Daten konstant zu lesen.
Drittens ist es erforderlich, beim Beginn des Lesens von
Daten aus dem Pufferspeicher selbst einen vorübergehenden
Leerzustand des Pufferspeichers 707 zu vermeiden, da der Arbeitszyklus
Tb des Hauptspeicher-Chipmoduls 702-705 länger
ist als der Arbeitszyklus Tp des externen Systems. Mit dem Lesen
soll daher begonnen werden, nachdem das Signal 1113, das
angibt, daß Daten von mindestens P Pixeln in den Pufferspeicher
707 eingegeben sind, auf "1" gegangen ist.
Zu diesem Zweck wählt die Auswahlstufe 730 in Fig. 7B das
Trigger-4-Signal 1024, das durch Verzögerung des Trigger-3-Signals
1023 um einen Maschinenzyklus gewonnen wird.
Die oben erwähnte Bestimmung des Zeitpunktes, zu dem Daten
aus dem Pufferspeicher 707 gelesen werden, besteht darin,
daß ein zukünftiges Ereignis erwartet wird, und läßt sich daher
nicht generell in Form einer Schaltung ausführen. Da jedoch
eine Leitungszykluszeit um ein ganzzahliges Vielfaches
länger eingestellt ist als eine Maschinenzykluszeit, ist die
Erwartung des zukünftigen Ereignisses praktisch äquivalent
einer Verzögerung des vergangenen Ereignisses und läßt sich
daher unter Verwendung einer Schaltung realisieren.
Anders als bei dem obigen Lesevorgang sollen beim Schreiben
der Schreib- und Schiebevorgang am Schieberegister 904
verhindert werden, wenn das in Fig. 9 gezeigte Austrag-Datenfenstersignal
1012 auf "0" geht.
Ferner sollen auch im Speicherwartezustand 803 die Arbeit
der Schieberegister 903, 904 und der Austragvorgang für den
Pufferspeicher 707 angehalten werden.
Daher erfolgt die Steuerung so, daß das Schiebe-1-Signal
1016 und das Schiebe-2-Signal 1017 und ebenso das Warte-2-Signal
1008 auf "0" gehen.
Da ferner der Austragvorgang unmittelbar nach Übergang in
den Speicherwartezustand 803 erfolgt, werden die aus Pufferspeicher
707 ausgelesenen Daten 713 gemäß Fig. 11B beim Abfallen
des Zwischenspeicher-2-Signals 1019 in die in Fig. 9 gezeigte
transparente Zwischenspeicherstufe 908 eingegeben.
Geht das Leer-Signal 1111 nach Ablauf einer gewissen Zeit
nach Übergang in den Speicherwartezustand 803 auf "0", so
kehrt der Pufferspeicher in den normalen Zustand zurück.
In beiden Fällen 1 und 2 nehmen, wenn der Speicherwartezustand
803 gelöscht ist, die Schieberegister 903, 904 mit dem
Ansteigen des nächsten Grundtaktsignals 1002 ihre Arbeit wieder
auf, und das Auslesen von Daten aus dem Pufferspeicher 707
wird nach einer Grundtaktzeit fortgesetzt.
Obwohl der Maschinenzyklus unmittelbar nach Löschen des
Speicherwartezustands 803 nicht ausgeführt wird, werden die
Daten, die beim Übergang in den Speicherwartezustand 803 in
die transparenten Zwischenspeicherstufe 908 eingegeben worden
sind, nach einem Maschinenzyklus in einen Registerbreich des
Schieberegisters 904 eingeschrieben.
Zu diesem Zeitpunkt ist es beim Fall 1 erforderlich, daß
der Speicherwartezustand unter der Bedingung gelöscht wird,
daß der Pufferspeicher 707 in einen normalen Zustand zurückkehrt
und der Maschinenzustand das gleiche Attribut aufweist
wie zum Zeitpunkt des Übergangs in den Speicherwartezustand
803.
Das besagte Attribut wird dabei durch den Wert "0" oder
"1" des Austragdatenfenstersignals 1012 zu dem Zeitpunkt, zu
dem das Speichertaktsignal 1003 ansteigt, eindeutig bestimmt.
Der Grund für das zusätzliche Vorsehen dieser beschränkenden
Bedingung besteht darin, daß dann, wenn die Maschinenzustände
beim Beginn und beim Löschen des Speicherwartezustands
803 unterschiedliche Attribute aufweisen, nach dem Löschen
des Speicherwartezustands 803 Diskontinuitäten in den
Daten beim Lesevorgang des Zwischenspeichers 707 und beim
Schiebevorgang der Zwischenspeicher 903, 904 verursacht würden.
Dies wiederum würde zu der Gefahr führen, daß die gleichen
Daten nacheinander verschoben werden oder Daten verloren
gehen.
Die obige beschränkende Bedingung bedeutet, daß ein Zustandsübergang
nicht erfolgen soll, wenn der Maschinenzustand
mit dem gleichen Attribut mindestens nach einem Durchlauf des
Leitungszyklus erreicht wird. Am Wendepunkt des Maschinenzyklus
geht in diesem Maschinenzustand das Austragdatenfenstersignal
1012 auf "0", so daß kein Zugriff zum Pufferspeicher
707 stattfindet.
Infolgedessen tritt selbst unter der obigen beschränkenden
Bedingung kaum das Problem auf, daß der Pufferspeicher 707
in den vollständig leeren Zustand gelangt. Beim Schreiben ist
jedoch das Steuerverfahren des Falls 1 nicht vollkommen.
Abschließend sollen die Schaltungen zur Erzeugung von Lese/Schreib-Steuersignalen
anhand der Fig. 7C und 7D beschrieben
werden, die Schaltdiagramme zur Erzeugung dieser zur
ordnungsgemäßen Ausführung von Lese/Schreib-Vorgängen erforderlichen
Signale zeigen.
In Fig. 7C bildet ein Datenzugriffsfenstersignal 1009
ein Signal, das angibt, daß der normale Speicherzugriffszustand
802 vorliegt. Dieses Signal wird über ein Flip-Flop 732,
dem als Takteingang das Grundtaktsignal 1002 zugeführt wird,
in Form eines Pegelsignals gewonnen, das den Wert "1" nur für
die nächste eine Maschinenzykluszeit nach Anstieg des Speichertaktsignals
1003 aufweist, wenn das Leitungs-Takt-2-Signal
1006 auf "1" liegt.
Bei dem Adressentaktsignal 1010 handelt es sich um ein
Signal, das dazu dient, die Adresse des Hauptspeicher-Chipmoduls
auf neuesten Sand zu bringen. Dieses Signal wird über
ein Flip-Flop 733, dem als Takteingang das Grundtaktsignal
1002 zugeführt wird, in Form eines Impulssignals gewonnen, das
den Wert "1" nur für eine Grundtaktzeit nach Anstieg des Speichertaktsignals
1003 hält, wenn das Leitungs-Takt-2-Signal
1006 auf "1" liegt. Somit erfolgt während des normalen Speicherzugriffs
außerhalb des Auffrischvorgangs ein paralleler
Zugriff von P Pixeln zum Hauptspeicher-Chipmodul, so daß die
Adresse auf neuesten Stand gebracht wird.
Das Zwischenspeicher-1-Signal 1013 wird über ein Flip-Flop
740, dem als Takteingang das Grundtaktsignal 1002 zugeführt
wird, in Form eines Impulssignals gewonnen, das beim Anstieg
des Speichertaktsignals 1003 abfällt, wenn das Datenzugriffsfenstersignal
1009 auf "1" liegt.
Das Zwischenspeicher-2-Signal 1019 ist mit dem Austragsignal
1019 identisch.
Das Lade-1-Signal 1014 wird über ein Flip-Flop 739, dem
als Takteingang das Grundtaktsignal 1002 zugeführt wird, in
Form eines Impulssignals gewonnen, das beim Anstieg des Speichertaktsignals
1003 ansteigt, wenn das Warte-1-Signal 1007
auf "0" liegt.
Das Lade-2-Signal 1015 wird über ein Flip-Flop 740, dem
als Takteingang das Grundtaktsignal 1002 zugeführt wird, in
Form eines Impulssignals gewonnen, das beim Anstieg des Speichertaktsignals
1003 ansteigt, wenn das Warte-1-Signal 1007
auf "0" liegt.
Das Warte-2-Signal 1008 wird über eine Verzögerungsstufe
738, der als Takteingang das Originaltaktsignal 1001 zugeführt
wird, in Form eines Signals gewonnen, das aus einer Verzögerung
des Warte-1-Signals 1007 um eine Grundtaktzeit resultiert.
Das Einschiebedatenfenstersignal 1011 wird über eine
Verzögerungsstufe 734, der als Takteingang das Speichertaktsignal
1003 zugeführt wird, in Form eines Signals gewonnen,
das aus einer Verzögerung des Leitungstaktsignals 1003 um drei
Maschinenzyklen (Verzögerungszeit von einem Maschinenzyklus +
Verschiebezeit eines Maschinenzyklus gemäß dem Leitungstaktsignal
1004) resultiert.
Gemäß Fig. 7D wird das Einschiebesignal 1018 dadurch gewonnen,
daß das Einschiebedatenfenstersignal 1011 mittels
einer Verzögerungsstufe 735, der als Takteingang das Originaltaktsignal
1001 zugeführt wird, um eine Grundtaktzeit verzögert
wird, dieses verzögerte Signal zusammen mit einer Inversion
des Warte-2-Signals 1008 und einem Eingabe-Bereit-Signal
1114, das anzeigt, daß der Pufferspeicher 707 zur Dateneingabe
bereit ist, einer UND-Verknüpfung unterworfen wird und dann
über ein Flip-Flop 755, dem als Takteingang das Originaltaktsignal
1001 zugeführt wird, ein Impulssignal erzeugt wird, das
den Wert "1" nur für eine Originaltaktzeit nach Abfall des
Grundtaktsignals 1002 annimmt, wenn das obige, durch die UND-Verknüpfung
gebildete Signal auf "1" liegt.
Das Austragdatenfenstersignal 1012 wird als ein Signal
gewonnen, das daraus resultiert, daß das Leitungs-Takt-1-Signal
1005 über eine Verzögerungsstufe 736, der als Takteingang
das Speichertaktsignal 1003 zugeführt wird, um (M-1) Maschinenzyklen
verzögert und dieses verzögerte Signal durch eine
Verzögerungsstufe 737, der als Takteingang das Grundtaktsignal
1002 zugeführt wird, um eine Grundtaktzeit weiter verzögert
wird.
Ferner wird gemäß Fig. 7D das Austragsignal 1019 dadurch
gewonnen, daß das Austragdatenfenstersignal 1012 über eine
Verzögerungsstufe 738, der als Takteingang das Originaltaktsignal
1001 zugeführt wird, um eine Grundtaktzeit verzögert
wird, dieses verzögerte Signal sowie eine Inversion des Warte-2-Signals
1008 und das Ausgabe-Bereit-Signal 1115 einer UND-Verknüpfung
unterworfen werden und über ein Flip-Flop 756,
dem als Takteingang das Originaltaktsignal 1001 zugeführt
wird, ein Impulssignal erzeugt wird, das den Wert "1" nur für
eine Originaltaktzeit nach Abfall des Grundtaktsignals 1002
annimmt, wenn das obige, durch UND-Verknüpfung gebildete
Signal auf "1" liegt.
Claims (14)
1. Pipeline-Datenverarbeitungssystem mit einer Vielzahl von
pipelineartig miteinander verbundenen Prozessoren (111 . . .
114), einer Vielzahl von Speichergeräten (101 . . . 107), die
mit jedem der Prozessoren über Datenausgangsleitungen zur Zuführung
von Daten an die Prozessoren oder Speicherung von Daten
von den Prozessoren verbunden sind, und einer mit den
Speichergeräten über Dateneingangsleitungen (121 . . . 123) verbundenen
Steuerplatte (110) zur Verwaltung der Arbeitsfolgen
der Prozessoren und Speichergeräte, dadurch gekennzeichnet,
daß jedes der Speichergeräte (101 . . . 107) einen Hauptspeicher (201) zur Speicherung der von den jeweiligen Prozessoren (111 . . . 114) zu verarbeitenden oder verarbeiteten Daten, einen Pufferspeicher (202) zur vorübergehenden Datenspeicherung, eine erste Steuereinrichtung (223) zur zeitlichen Steuerung der Datenein-/-ausgabe zwischen dem Hauptspeicher und dem Pufferspeicher sowie eine zweite Steuereinrichtung (203) zur zeitlichen Steuerung der Datenein-/-ausgabe zwischen dem Pufferspeicher und den Ein/Ausgangsleitungen umfaßt,
daß die Steuerplatte (110) von der zweiten Steuereinrichtung (203) jedes Speichergeräts (101 . . . 107) ausgegebene erste und zweite Signale (141, 142) empfängt, die den Speicherzustand des Pufferspeichers (202) angeben, und Signale (145) zur Steuerung des Zeitpunktes, zu dem die von jedem Speichergerät ausgegebenen und von den Prozessoren (111 . . . 114) zu verarbeitenden Daten den Prozessoren zugeführt werden, bzw. des Zeitpunktes, zu dem die von den Prozessoren verarbeiteten und abgegebenen Daten in die nachfolgenden Prozessoren oder den oder die betreffenden Speichergeräte eingeschrieben werden, abgibt, und
daß jeder der Prozessoren (111 . . . 114) entsprechend den von der Steuerplatte (110) ausgegebenen Zeitsteuersignalen vorgegebene Datenverarbeitungen ausführt und das Verarbeitungsergebnis dem nachfolgenden Prozessor zuführt oder an das oder die betreffenden Speichergeräte (101 . . . 107) ein Zeitsteuersignal zum Einschreiben des Verarbeitungsergebnisses in dieses bzw. diese Speichergeräte ausgibt.
daß jedes der Speichergeräte (101 . . . 107) einen Hauptspeicher (201) zur Speicherung der von den jeweiligen Prozessoren (111 . . . 114) zu verarbeitenden oder verarbeiteten Daten, einen Pufferspeicher (202) zur vorübergehenden Datenspeicherung, eine erste Steuereinrichtung (223) zur zeitlichen Steuerung der Datenein-/-ausgabe zwischen dem Hauptspeicher und dem Pufferspeicher sowie eine zweite Steuereinrichtung (203) zur zeitlichen Steuerung der Datenein-/-ausgabe zwischen dem Pufferspeicher und den Ein/Ausgangsleitungen umfaßt,
daß die Steuerplatte (110) von der zweiten Steuereinrichtung (203) jedes Speichergeräts (101 . . . 107) ausgegebene erste und zweite Signale (141, 142) empfängt, die den Speicherzustand des Pufferspeichers (202) angeben, und Signale (145) zur Steuerung des Zeitpunktes, zu dem die von jedem Speichergerät ausgegebenen und von den Prozessoren (111 . . . 114) zu verarbeitenden Daten den Prozessoren zugeführt werden, bzw. des Zeitpunktes, zu dem die von den Prozessoren verarbeiteten und abgegebenen Daten in die nachfolgenden Prozessoren oder den oder die betreffenden Speichergeräte eingeschrieben werden, abgibt, und
daß jeder der Prozessoren (111 . . . 114) entsprechend den von der Steuerplatte (110) ausgegebenen Zeitsteuersignalen vorgegebene Datenverarbeitungen ausführt und das Verarbeitungsergebnis dem nachfolgenden Prozessor zuführt oder an das oder die betreffenden Speichergeräte (101 . . . 107) ein Zeitsteuersignal zum Einschreiben des Verarbeitungsergebnisses in dieses bzw. diese Speichergeräte ausgibt.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß die
Speichergeräte (101 . . . 107) in eine Gruppe von Eingangsspeichergeräten
zur Zuführung der zu verarbeitenden Daten an die
Prozessoren (111 . . . 114) und eine weitere Gruppe von Ausgangsspeichergeräten
zur Aufnahme der von den Prozessoren verarbeiteten
Daten unterteilt sind.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß die
von der zweiten Steuereinrichtung (203) jedes Speichergeräts
(101 . . . 107) ausgegebenen, den Speicherzustand des Pufferspeichers
(202) angebenden ersten und zweiten Signale (141, 142)
von einem Signal, das angibt, daß das betreffende Speichergerät
zur Datenausgabe bereit ist, oder einem Signal, das
angibt, daß das betreffende Speichergerät zur Dateneingabe bereit
ist, gebildet sind, wobei die von jedem Speichergerät
ausgegebenen Signale separat in verdrahteter ODER-Verknüpfung
geschaltet sind.
4. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß die zweite Steuereinrichtung (203) jedes Speichergeräts
(101 . . . 107) eine Verknüpfungsschaltung enthält,
die die den Speicherzustand des Pufferspeichers (202) angebenden
Signale (141, 142) anhand eines Signals (205), das angibt,
daß noch Platz zur Aufnahme von dem Pufferspeicher zugeführten
Daten vorhanden ist, eines Signals (206), das angibt, daß die
gespeicherte Datenmenge eine bestimmte obere Grenze überschreitet,
eines Signals (207), das angibt, daß effektive Daten
vorhanden sind, oder eines Signals (208) erzeugt, das angibt,
daß die gespeicherte Datenmenge eine bestimmte untere
Grenze unterschreitet.
5. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß die erste Steuereinrichtung jedes Speichergeräts
(101 . . . 107) eine Folgesteuerung (223) und einen Adressengenerator
(221) aufweist, anhand eines Signals (205), das angibt,
daß noch Platz zur Eingabe von dem Pufferspeicher (202)
zugeführten Daten vorhanden ist, eines Signals (206), das angibt
daß die gespeicherte Datenmenge eine obere Grenze überschreitet,
eines Signals (207), das angibt, daß effektive Daten
vorliegen, oder eines Signals (208), das angibt, daß die
gespeicherte Datenmenge eine bestimmte untere Grenze unterschreitet,
entscheidet, ob Daten aus dem Hauptspeicher (201)
in den Pufferspeicher (202) gelesen oder aus dem Pufferspeicher
in den Hauptspeicher geschrieben werden sollen, und dann
eine entsprechende Adresse erzeugt.
6. System nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,
daß die Steuerplatte (101) ein jedem Prozessor (111 . . . 114)
zugeführtes Arbeitstaktsignal (145) unterbricht, wenn
eines der ersten und zweiten Zustandssignale (141, 142) abgeschaltet
ist, und das jeweils andere dieser beiden Zustandssignale
abschaltet.
7. System nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,
daß bei der Ausgabe des Verarbeitungsergebnisses
nach Ausführung der vorgegebenen Datenverarbeitung jeder Prozessor
(111 . . . 114) ein Signal (143) abgibt, das durch Verzögerung
eines von dem vorhergehenden Prozessor zugeführten
Zeitsteuersignals um eine Verarbeitungszeitspanne gewonnen
wird.
8. Pipeline-Datenverarbeitungssystem mit einer Vielzahl von
pipelineartig miteinander verbundenen Prozessoren (111 . . . 114),
einer Vielzahl von Speichergeräten (101 . . . 107), die
mit jedem der Prozessoren über Datenausgangsleitungen zur Zuführung
von Daten an die Prozessoren oder Speicherung von Daten
von den Prozessoren verbunden sind, und einer mit den
Speichergeräten über Dateneingangsleitungen (121 . . . 123) verbundenen
Steuerplatte (110) zur Verwaltung der Arbeitsfolgen
der Prozessoren und Speichergeräte,
dadurch gekennzeichnet, daß jedes der Speichergeräte (101 . . . 107)
einen Hauptspeicher-Chipmodul (702 . . . 705) zur Speicherung
der von den jeweiligen Prozessoren (111 . . . 114) zu
verarbeitenden oder verarbeiteten Daten, einen zwischen dem
Hauptspeicher-Chipmodul und den Ein/Ausgangsdatenleitungen
(710, 711) angeordneten FIFO-Pufferspeicher (707) zur Ausgabe
von Zustandssignalen, die angeben, daß die Daten in einem fast
leeren Zustand gespeichert werden, in dem die Menge weniger
als das 1/N-fache der Gesamtkapazität beträgt, bzw. daß die
Daten in einem fast vollen Zustand gespeichert werden, indem
die Menge das (1-(1/N))-fache der Gesamtkapazität überschreitet,
sowie eine Folgesteuerung (701, 708) umfaßt, die
die besagten Zustandssignale und ein Auffrisch-Anforderungssignal
aufnimmt, um die einzelnen Komponenten so zu steuern,
daß der Lese/Schreibvorgang des Hauptspeicher-Chipmoduls nach
einer vorgegebenen Abfolge und unabhängig von einem Auffrischvorgang
des Hauptspeicher-Chipmoduls sowie unabhängig von Unterschieden
der Ein/Ausgabegeschwindigkeit gegenüber dem externen
System erfolgen kann.
9. System nach Anspruch 8, dadurch gekennzeichnet, daß bei
einer Gesamtkapazität des Pufferspeichers (707) von L und
einer in den Hauptspeicher-Chipmodul (702 . . . 705) einzuschreibenden
oder aus ihm auszulesenden Datenmenge von P (positive
ganze Zahl) für den Pufferspeicher ein Wert N von 2
oder einer größeren ganzen Zahl gilt, die die Beziehung
L/N < P erfüllt.
10. System nach Anspruch 8 oder 9, dadurch gekennzeichnet,
daß bei einer Zykluszeit eines Grundtaktsignals von Tb und
einer Zykluszeit eines Taktsignals des externen Systems von Tp
der Hauptspeicher-Chipmodul (702 . . . 705) das parallele
Lesen/Schreiben von P Daten während einer Maschinenzyklusperiode
(Tb · P), das Lesen/Schreiben von effektiven Daten während
R Maschinenzyklen innerhalb maximal M Maschinenzyklen
(mit R < M und R und M positiven ganzen Zahlen) und einen
Auffrischvorgang während eines Maschinenzyklus pro K × M Maschinenzyklen
(wobei K = positive ganze Zahl) im Time-Sharing-Betrieb
mit dem Lesen/Schreiben von effektiven Daten durchführt,
wobei die obigen Vorgänge zyklisch ausgeführt werden,
um ein ordnungsgemäßes Schreiben/Lesen von Daten für jedes beliebige
externe System zu ermöglichen, dessen Zyklus Tp die
Bedingung (1/Tb) · (R/M) < (1/Tp) erfüllt.
11. System nach Anspruch 8, wobei der Pufferspeicher (707)
eine gesamte Datenkapazität aufweist, die über einem durch Max
(P · R · N/(N-1), P · N) definierten Minimalwert liegt, so daß
ein ordnungsgemäßes Lesen/Schreiben von Daten für jedes beliebige
externe System ermöglicht wird, dessen Zyklus Tp die Bedingung
(1/Tb) · (R/M) < (1/Tb) erfüllt.
12. System nach Anspruch 8, dadurch gekennzeichnet, daß die
Folgesteuerung (701, 708) unter Verwendung eines Fenstersignals
arbeitet, um beim Lesen nicht die während eines Auffrischvorgangs
ausgelesenen ungültigen Daten in den Pufferspeicher
zu schreiben und nicht die aus dem Hauptspeicher ausgelesenen
Daten in den Pufferspeicher zu schreiben, wenn sich
der Pufferspeicher in einem fast vollen Zustand befindet, und
um beim Schreiben nicht irgendwelche Daten aus dem Pufferspeicher
während des Auffrischvorgangs zu lesen und nicht irgendwelche
Daten aus dem Pufferspeicher zu lesen, wenn sich dieser
in einem fast leeren Zustand befindet, so daß das Schreiben/Lesen
von Daten zwischen dem Hauptspeicher-Chipmodul und dem
Pufferspeicher erfolgen kann, ohne das externe System zu stören,
und unabhängig vom Zustand des Pufferspeichers und unabhängig
von der An- oder Abwesenheit eines Auffrischvorgangs.
13. System nach Anspruch 8, dadurch gekennzeichnet, daß die
Folgesteuerung (701, 708) während des Lesens/Schreibens auf
bzw. von den Ein/Ausgangsdatenleitungen (710, 711) feststellt,
daß die in den Pufferspeicher (707) eingegebene Datenmenge
nicht kleiner ist als P, während des Lesens von Daten aus dem
Hauptspeicher-Chipmodul (702 . . . 705) feststellt, daß die besagte
Datenmenge nicht kleiner ist als P und dann mit dem Lesen
aus dem Pufferspeicher (707) an das externe System beginnt,
und in ähnlicher Weise während des Schreibens von Daten
in den Hauptspeicher-Chipmodul die Datenmenge feststellt und
dann mit dem Lesen aus dem Pufferspeicher in den Hauptspeicher-Chipmodul
beginnt.
14. System nach Anspruch 8, dadurch gekennzeichnet, daß die
Folgesteuerung (701, 708) beim Auslesen von Daten an das externe
System mit dem Lesen von einem Zeitpunkt an beginnt, zu
dem sich der Pufferspeicher (707) weder in einem fast leeren
noch in einem fast vollen Zustand befindet, und beim Einschreiben
von Daten aus dem externen System mit dem Lesen aus
dem Pufferspeicher in den Hauptspeicher-Chipmodul (702 . . . 705)
von einem Zeitpunkt an beginnt, zu dem sich der Pufferspeicher
weder in einem fast leeren noch in einem fast vollen
Zustand befindet, um zu verhindern, daß der Pufferspeicher zu
dem Zeitpunkt, zu dem der Vorgang beginnt, vorübergehend in
einen vollen Zustand gelangt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62320852A JPH01161454A (ja) | 1987-12-17 | 1987-12-17 | ダイナミック型記憶素子を用いたメモリ装置 |
JP62327148A JP2723893B2 (ja) | 1987-12-25 | 1987-12-25 | パイプライン型データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3842517A1 true DE3842517A1 (de) | 1989-06-29 |
Family
ID=26570231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3842517A Ceased DE3842517A1 (de) | 1987-12-17 | 1988-12-16 | Pipeline-datenverarbeitungssystem |
Country Status (2)
Country | Link |
---|---|
US (1) | US5043883A (de) |
DE (1) | DE3842517A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19534637A1 (de) * | 1995-09-19 | 1997-03-20 | Winfried Gehrke | Verfahren zur verbesserten assoziativen Steuerung von Parallelprozessoren |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5228129A (en) * | 1987-04-01 | 1993-07-13 | Digital Equipment Corporation | Synchronous communication interface for reducing the effect of data processor latency |
EP0389175A3 (de) * | 1989-03-15 | 1992-11-19 | Fujitsu Limited | Datenvorausladesystem |
US5680574A (en) * | 1990-02-26 | 1997-10-21 | Hitachi, Ltd. | Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units |
US6728832B2 (en) * | 1990-02-26 | 2004-04-27 | Hitachi, Ltd. | Distribution of I/O requests across multiple disk units |
US5220650A (en) * | 1991-01-22 | 1993-06-15 | Hewlett-Packard Company | High speed method for rendering antialiased vectors |
US5353343A (en) * | 1992-04-30 | 1994-10-04 | Rockwell International Corporation | Telephonic switching system with a user controlled data memory access system and method |
US5404464A (en) * | 1993-02-11 | 1995-04-04 | Ast Research, Inc. | Bus control system and method that selectively generate an early address strobe |
US5564027A (en) * | 1995-04-20 | 1996-10-08 | International Business Machines Corporation | Low latency cadence selectable interface for data transfers between busses of differing frequencies |
JP4084428B2 (ja) * | 1996-02-02 | 2008-04-30 | 富士通株式会社 | 半導体記憶装置 |
US6279077B1 (en) * | 1996-03-22 | 2001-08-21 | Texas Instruments Incorporated | Bus interface buffer control in a microprocessor |
US7669027B2 (en) * | 2004-08-19 | 2010-02-23 | Micron Technology, Inc. | Memory command delay balancing in a daisy-chained memory topology |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309691A (en) * | 1978-02-17 | 1982-01-05 | California Institute Of Technology | Step-oriented pipeline data processing system |
US4344132A (en) * | 1979-12-14 | 1982-08-10 | International Business Machines Corporation | Serial storage interface apparatus for coupling a serial storage mechanism to a data processor input/output bus |
US4398176A (en) * | 1980-08-15 | 1983-08-09 | Environmental Research Institute Of Michigan | Image analyzer with common data/instruction bus |
US4395698A (en) * | 1980-08-15 | 1983-07-26 | Environmental Research Institute Of Michigan | Neighborhood transformation logic circuitry for an image analyzer system |
US4395700A (en) * | 1980-08-15 | 1983-07-26 | Environmental Research Institute Of Michigan | Image analyzer with variable line storage |
US4785415A (en) * | 1986-08-29 | 1988-11-15 | Hewlett-Packard Company | Digital data buffer and variable shift register |
US4876644A (en) * | 1987-10-30 | 1989-10-24 | International Business Machines Corp. | Parallel pipelined processor |
-
1988
- 1988-12-16 DE DE3842517A patent/DE3842517A1/de not_active Ceased
- 1988-12-16 US US07/285,752 patent/US5043883A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
US-Buch: K.Hwang, F.A. Briggs, Computer Architec- ture and parallel Procersing, Mc Gravo Hill Book Company, 1984, S. 193-196, S. 517-525 und S. 732-755 * |
US-Z.: "Computer-Design", 1. Sept. 1985, S. 83-86 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19534637A1 (de) * | 1995-09-19 | 1997-03-20 | Winfried Gehrke | Verfahren zur verbesserten assoziativen Steuerung von Parallelprozessoren |
Also Published As
Publication number | Publication date |
---|---|
US5043883A (en) | 1991-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19882418B4 (de) | System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren | |
DE69826863T2 (de) | Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet | |
DE2855673C2 (de) | ||
DE3204905C2 (de) | ||
DE3914265C2 (de) | ||
DE3110196A1 (de) | Datenverarbeitungssystem | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
DE3834227A1 (de) | Mikrocomputer | |
DE3842517A1 (de) | Pipeline-datenverarbeitungssystem | |
DE1915818B2 (de) | Steuerschaltung für ein elektronisches Datenverarbeitungssystem | |
CH626484A5 (de) | ||
DE3732798A1 (de) | Datenverarbeitungssystem mit ueberlappendem zugriff auf einen globalen speicher durch eine quelle mit hoher prioritaet | |
DE2912073C2 (de) | ||
DE2933474A1 (de) | Anordnung fuer den informationsaustausch zwischen den speichern einer datenverarbeitungsanlage und den diese bildenden verarbeitungseinrichtungen | |
DE2750344C2 (de) | Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE3911721C2 (de) | ||
DE19900251B4 (de) | Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals | |
DE4005042A1 (de) | Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit | |
EP0104490A2 (de) | Verfahren und Vorrichtung zur Synchronisation von Datenverarbeitungsanlagen | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE69432693T2 (de) | Schnitstelle zwischen unsynchronisierten Geräten | |
DE2609698C2 (de) | Elektronischer Rechner | |
DE1916970A1 (de) | Schaltungsanordnung zur Steuerung des Datenflusses zwischen einer schnellen Datenverarbeitungseinheit und langsamen Speicher- oder Ein- und Ausgabeeinheiten | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE |
|
8131 | Rejection |