DE68927241T2 - Pipelineschaltung für Zeitablaufregelung - Google Patents

Pipelineschaltung für Zeitablaufregelung

Info

Publication number
DE68927241T2
DE68927241T2 DE68927241T DE68927241T DE68927241T2 DE 68927241 T2 DE68927241 T2 DE 68927241T2 DE 68927241 T DE68927241 T DE 68927241T DE 68927241 T DE68927241 T DE 68927241T DE 68927241 T2 DE68927241 T2 DE 68927241T2
Authority
DE
Germany
Prior art keywords
data
input
signal
selection signal
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68927241T
Other languages
English (en)
Other versions
DE68927241D1 (de
Inventor
Yoshifumi C O Nec Cor Fujiwara
Toshiyuki C O Nec Corpor Furui
Akira Ishizuka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP12354888A external-priority patent/JPH01292533A/ja
Priority claimed from JP12354988A external-priority patent/JPH0673106B2/ja
Priority claimed from JP12355088A external-priority patent/JPH0673107B2/ja
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE68927241D1 publication Critical patent/DE68927241D1/de
Application granted granted Critical
Publication of DE68927241T2 publication Critical patent/DE68927241T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

  • Die Erfindung betrifft eine Pipelineschaltung zum Einstellen der Datentaktung in einem Datenverarbeitungssystem.
  • Gewöhnlich wird eine die Taktung einstellende Pipelineschaltung zum Einstellen der Taktung von Datenübertragungen zwischen Verarbeitungseinheiten verwendet, insbesondere zum Einstellen der Taktung von Datenübertragungen zu einer verschachtelten Verarbeitungseinheit von einer weiteren Verarbeitungseinheit.
  • In diesem Zusammenhang ist eine verschachtelte Verarbeitungseinheit typischerweise eine Speichereinheit, die aus mehreren Bänken besteht, die zeitgestaffelt verwendet werden. Ein weiteres Beispiel für eine verschachtelte Verarbeitungseinheit ist ein Arithmetiksystem mit mehreren langsamen Arithmetikeinheiten, die zeitgestaffelt verwendet werden, um das Gesamtsystem einen schnellen Arithmetikbetrieb erreichen zu lassen.
  • In einem realen Datenverarbeitungssystem ist eine gewisse Taktungseinstellung erforderlich, damit in einen Speicher einzuschreibende Daten ihre verschachtelte Taktung als Eingabedaten einer verschachtelten Verarbeitungseinheit anpassen.
  • Ein denkbares Verfahren zur Taktungseinstellung ist die Einstellung der Auslösetaktung eines Datenverarbeitungsbefehls, so daß die verarbeiteten Daten die Eingabekreuzschiene bei der vorgenannten verschachtelten Taktung erreichen. Dieses Verfahren benötigt keinen speziellen Taktungseinsteller. Es bringt jedoch eine komplexe Steuerung der Befehlsauslösetaktung mit sich, beeinflußt dadurch die Verarbeitungsstartzeiten anderer Verarbeitungseinheiten als des Speichers und kann die Gesamtleistung des Datenverarbeitungssystems beeinträchtigen.
  • Daher sollte eine die Taktung einstellende Schaltung unmittelbar vor der Eingabekreuzschiene vorgesehen sein.
  • Bei Eingabe einer Datenfolge A = (a&sub1;, a&sub2;, ..., am) wird die Ausgabetaktung des ersten Datenelements bzw. Datums a&sub1; mit einem Auswahlsignal S eingestellt, und die der nachfolgenden Daten a&sub2;, a&sub3;, ... als Eingaben zur verschachtelten Verarbeitungseinheit werden so gesteuert, daß sie mit der verschachtelten Taktung identisch sind, indem das Auswahlsignal S zur Zeit der Ausgabe des Datums a&sub1; beibehalten wird. Diese Schaltung kann jedoch nicht verwendet werden, wenn z. B. die Eingabetaktungen unterschiedlicher Daten unregelmäßig sind, was bei den Ausgabedaten einer Verarbeitungseinheit der Fall ist, deren Verarbeitungszeit sich je nach Wert jedes Datums unterscheidet, oder wenn die Folge von Daten ungültige aufweist, die mit einer verschachtelten Verarbeitungseinheit nicht verarbeitet werden können, z. B. Daten für eine maskierte Vektorverarbeitung.
  • Die WO-86/03608 offenbart ein Warteschlangen-Verwaltungssystem, das Gültigkeitsprüfungen an gespeicherten Ausführungsanforderungen durchführt.
  • Eine Aufgabe der Erfindung besteht darin, eine Pipelineschaltung zur Taktungseinstellung vorzusehen, die so gestaltet ist, daß sie bei richtigen Taktungen solche Daten aussenden kann, die für nachfolgende Verarbeitungen auch dann effektiv sind, wenn die Eingabetaktungen unterschiedlicher Daten unregelmäßig sind oder die Eingabedaten ungültige aufweisen. Diese Aufgabe wird mit den Merkmalen der Ansprüche gelöst.
  • Gemäß einer ersten Ausführungsform wird die Auswahlsignal-Erzeugungsschaltung zum Erzeugen von Auswahlsignalen, um die Datenhaltedauer durch die Datenhalteschaltung zu bestimmen, mit Eingabeanzeigesignalen T&sub1;, T&sub2;, ..., Tj, ..., Tm gesteuert, die die Gültigkeit oder Ungültigkeit der Eingabedaten A&sub1;, A&sub2;, ..., Aj, ..., Am anzeigen. Zeigen die Eingabeanzeigesignale T&sub1;, T&sub2;, ..., Tj, ..., Tm fortlaufend Gültigkeit an, behält das Auswahlsignal seinen Wert für das erste Eingabedatum bei, wird jedoch ein Eingabeanzeigesignal Tj, das Ungültigkeit anzeigt, zwischendurch eingegeben, ändert sich das Auswahlsignal auf seinen nächsten Wert. Auch wenn die Eingabetaktungen unterschiedlicher Daten unregelmäßig sind oder die Eingabedaten sowohl gültige als auch ungültige aufweisen, ermöglicht es dieser Betrieb, bei richtigen Taktungen nur effektive Daten für nachfolgende Verarbeitungen auszusenden, indem ihnen angepaßte Eingabeanzeigesignale T&sub1;, T&sub2;, ..., Tj, ..., Tm bereitgestellt werden.
  • Auch wenn die Eingabetaktungen unterschiedlicher Daten unregelmäßig sind oder die Eingabedaten sowohl gültige als auch ungültige aufweisen, sendet die Datenhalteschaltung bei richtigen Taktungen nur effektive Daten für nachfolgende Verarbeitungen aus, indem sie die Datenhaltedauer und die Gültigkeit oder Ungültigkeit der Eingabedaten Aj in Übereinstimmung mit den durch die Auswahlsignal-Erzeugungsschaltung erzeugten Auswahlsignalen und den Eingabeanzeigesignalen steuert.
  • Gemäß einer zweiten Ausführungsform wird die Auswahlsignal-Erzeugungsschaltung zum Erzeugen von Auswahlsignalen, um die Datenhaltedauer durch die Datenhalteschaltung zu bestimmen, mit Eingabeanzeigesignalen T&sub1;, T&sub2;, ..., Tj, ..., Tm gesteuert, die die Gültigkeit oder Ungültigkeit der Eingabedaten A&sub1;, A&sub2;, ..., Aj, ..., Am anzeigen. Zeigen die Eingabeanzeigesignale T&sub1;, T&sub2;, ..., Tj, ..., Tm fortlaufend Gültigkeit an, behält das Auswahlsignal seinen Wert für das erste Eingabedatum bei, wird jedoch ein Eingabeanzeigesignal Tj, das Ungültigkeit anzeigt, zwischendurch eingegeben, ändert sich das Auswahlsignal auf seinen nächsten Wert. Ferner wird das Ausgabeanzeigesignal Vj, das anzeigt, ob die Eingabe in die n-te Datenhalteeinrichtung Rn der Datenhalteschaltung gültig oder ungültig zu erklären ist, durch die Anzeigesignal-Halteschaltung auf der Grundlage des Eingabeanzeigesignals Tj und des Auswahlsignals Sj erzeugt. Auch wenn die Eingabetaktungen unterschiedlicher Daten unregelmäßig sind oder die Eingabedaten sowohl gültige als auch ungültige aufweisen, sendet die Datenhalteschaltung bei richtigen Taktungen nur effektive Daten für nachfolgende Verarbeitungen aus, indem sie die Datenhaltedauer und die Gültigkeit oder Ungültigkeit der Eingabedaten Aj in Übereinstimmung mit den durch die Auswahlsignal-Erzeugungsschaltung erzeugten Auswahlsignalen und den durch die Anzeigesignal-Halteschaltung erzeugten Ausgabeanzeigesignalen steuert.
  • Merkmale und Vorteile der Erfindung werden anhand der nachfolgenden näheren Beschreibung im Zusammenhang mit den beigefügten Zeichnungen deutlicher. Es zeigen:
  • Fig. 1 ein Blockschaltbild einer ersten bevorzugten Ausführungsform der Erfindung;
  • Fig. 2 ein Zeitdiagramm zur Veranschaulichung des Betriebs in der Pipelineschaltung, die die erste bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 3 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für ein Verfahren zum Staffeln der Betriebstaktungen der Pipelineschaltung von Fig. 1;
  • Fig. 4 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für den Betrieb einer Eingabekreuzschiene, die eine Ausgabe von der Pipelineschaltung verwendet, die die erste bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 5 ein Blockschaltbild einer zweiten bevorzugten Ausführungsform der Erfindung;
  • Fig. 6 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für den Betrieb einer Eingabekreuzschiene, die eine Ausgabe von der Pipelineschaltung verwendet, die die zweite Ausführungsform der Erfindung ist;
  • Fig. 7 ein Blockschaltbild eines Beispiels für die Konfiguration speicherperipherer Schaltungen, auf die die Pipelineschaltung angewendet ist, die die zweite Ausführungsform ist;
  • Fig. 8 ein Blockschaltbild eines Beispiels für die Konfiguration einer Datenverarbeitungsvorrichtung mit einem Speicher, der vier Bänke aufweist;
  • Fig. 9 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für den Betrieb der Eingabekreuzschiene 903 von Fig. 8;
  • Fig. 10 ein Blockschaltbild einer dritten bevorzugten Ausführungsform der Erfindung;
  • Fig. 11 ein Zeitdiagramm zur Veranschaulichung des Betriebs in der Pipelineschaltung, die die dritte bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 12 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für ein Verfahren zum Staffeln der Betriebstaktungen der Pipelineschaltung von Fig. 10;
  • Fig. 13 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für den Betrieb einer Eingabekreuzschiene, die eine Ausgabe von der Pipelineschaltung verwendet, die die dritte bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 14 ein Blockschaltbild einer vierten bevorzugten Ausführungsform der Erfindung;
  • Fig. 15 ein Blockschaltbild einer fünften bevorzugten Ausführungsform der Erfindung;
  • Fig. 16 ein Blockschaltbild einer sechsten bevorzugten Ausführungsform der Erfindung;
  • Fig. 17 ein Zeitdiagramm zur Veranschaulichung des Betriebs in der Pipelineschaltung, die die sechste bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 18 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für ein Verfahren zum Staffeln der Betriebstaktungen der Pipelineschaltung von Fig. 16;
  • Fig. 19 ein Zeitdiagramm zur Veranschaulichung eines Beispiels für den Betrieb einer Eingabekreuzschiene, die eine Ausgabe von der Pipelineschaltung verwendet, die die sechste bevorzugte Ausführungsform der Erfindung ist;
  • Fig. 20 ein Blockschaltbild einer siebenten bevorzugten Ausführungsform der Erfindung; und
  • Fig. 21 ein Blockschaltbild einer achten bevorzugten Ausführungsform der Erfindung;
  • In den Figuren bezeichnen gleiche Bezugszahlen jeweils gleiche Bauelemente.
  • Fig. 8 ist ein typisches Blockschaltbild speicherperipherer Schaltungen einer Datenverarbeitungsvorrichtung, die eine Datenfolge A = (a&sub1;, a&sub2;, ..., am) und weitere Datenfolge B = (b&sub1;, b&sub2;, ..., bm) in einen Speicher 904 mit vier Bänken BANK1, BANK2, BANK3 und BANK4 einschreiben kann. Fig. 9 ist ein Zeitdiagramm zur Veranschaulichung des Betriebs einer Eingabekreuzschiene 903 von Fig. 8.
  • Gemäß Fig. 8 und 9 benötigen die Bänke BANK1 bis BANK4 des Speichers 904 jeweils zwei Taktungszeitzyklen, um die Daten einzuschreiben. Einem Eingaberegister RIA, dessen Eingabe die Datenfolge A = (a&sub1;, a&sub2;, .., am) ist, ist ein Bezugstaktungszyklus 1 der Kreuzschienensteuerung zugewiesen, und einem Eingaberegister RIB, dessen Eingabe die Datenfolge B = (b&sub1;, b&sub2;, ..., bm) ist, ist ein Bezugstaktungszyklus 3 derselben zugewiesen.
  • Ein Ausgaberegister ROR1 hat einen Decodierer D1 zum Decodieren eines Auswahlsignals SL1 sowie eine Auswahlschaltung SE1 zum Auswählen und Ausgeben einer Eingabe entsprechend der Ausgabe des Decodierers D1 und wählt die Ausgabedaten vom Eingaberegisters RIA aus und speichert sie, wenn der Bezugstaktungszyklus 1 ist, wählt die Ausgabedaten vom Eingaberegister RIB aus und speichert sie, wenn der Bezugstaktungszyklus 3 ist, und hält die vorgenannten Daten, wenn der Bezugstaktungszyklus 2 oder 4 ist.
  • Ausgaberegister ROR2, ROR3 und ROR4 haben Decodierer D2, D3 bzw. D4 zum Decodieren von Auswahlsignalen SL2, SL3 und SL4 sowie Auswahlschaltungen SE2, SE3 und SE4 zum Auswählen und Ausgeben ihrer Eingaben entsprechend den Ausgaben der Decodierer D2, D3 und D4 und arbeiten auf die gleiche Weise wie das Ausgaberegister ROR1 als Reaktion auf die Auswahlsignale SL2, SL3 bzw. SL4.
  • Gemäß Fig. 9 wählt das Ausgaberegister ROR1 das Ausgabedatum al vom Eingaberegister RIA bei der Taktung t1 als Reaktion auf den Wert "1" des Auswahlsignals SL1 aus, speichert es bei der Taktung t2 und hält es bis zur Taktung t3. Wählt es das Ausgabedatum b&sub1; vom Eingaberegister RIB als Reaktion auf den Wert "3" des Auswahlsignals SL1 aus, wird das Datum b&sub1; bei der Taktung t4 gespeichert und bis zur Taktung t5 gehalten. Auf diese Weise werden die 4xk+1-ten (k ist eine natürliche Zahl) Daten a&sub1;, b&sub1;, a&sub5;, b&sub5;, a&sub9;, b&sub9;, ... der beiden Datenfolgen A und B nacheinander im Ausgaberegister ROR1 gespeichert und werden zu Eingabedaten für die Bank BANK1 des Speichers 904.
  • Gleichermaßen werden die 4xk+2-ten Daten a&sub2;, b&sub2;, a&sub6;, b&sub6;, a&sub1;&sub0;, b&sub1;&sub0;, ... der beiden Datenfolgen A und B nacheinander in der Bank BANK2 über das Ausgaberegister ROR2 gespeichert, die 4xk+3-ten Daten a&sub3;, b&sub3;, a&sub7;, b&sub7;, a&sub1;&sub1;, b&sub1;&sub1;, ... der beiden Datenfolgen A und B werden nacheinander in der Bank BANK3 gespeichert, und die 4xk+4-ten Daten a&sub4;, b&sub4;, a&sub8;, b&sub8;, a&sub1;&sub2;, b&sub1;&sub2;, ... der beiden Datenfolgen A und B werden nacheinander in der Bank BANK4 gespeichert.
  • Die anhand von Fig. 9 beschriebenen Abläufe setzen voraus, daß die 4xk+1-ten Daten a&sub1;, a&sub5;, a&sub9;, ... der Datenfolge A in das Eingaberegister RIA und die 4xk+3-ten Daten b&sub3;, b&sub7;, b&sub1;&sub1;, ... der Datenfolge B in das Eingaberegister RIB eingegeben werden, wenn der Bezugstaktungszyklus der Eingabekreuzschiene 903 "1" ist, die 4xk+2-ten Daten a&sub2;, a&sub6;, a&sub1;&sub0;, ... der Datenfolge A und die 4xk+4-ten Daten b&sub4;, b&sub8;, b&sub1;&sub2;, ... der Datenfolge B in die Eingaberegister RIA bzw. RIB eingegeben werden, wenn der Bezugstaktungszyklus "2" ist, die 4xk+3-ten Daten a&sub3;, a&sub7;, a&sub1;&sub1;, ... der Datenfolge A und die 4xk+1-ten Daten b&sub1;, b&sub5;, b&sub9;, ... der Datenfolge B in die Eingaberegister RIA bzw. RIB eingegeben werden, wenn der Bezugstaktungszyklus "3" ist, und die 4xk+4-ten Daten a&sub4;, a&sub8;, a&sub1;&sub2;, ... der Datenfolge A und die 4xk+2-ten Daten b&sub2;, b&sub6;, b&sub1;&sub0;, ... der Datenfolge B in die Eingaberegister RIA bzw. RIB eingegeben werden, wenn der Bezugstaktungszyklus "4" ist.
  • Im folgenden wird eine Datenform, auf die sich die Erfindung bezieht, sowie die Art der Beschreibung der Datenform erläutert.
  • Eine der Datenarten, auf die sich die Erfindung bezieht, ist eine Folge X von Daten x&sub1;, x&sub2;, ..., xm, worin die Intervalle zwischen den Datenelementen x&sub1;, x&sub2;, ... unregelmäßig sind.
  • Ein Beispiel für diese Art sind Ausgabedaten von einer Verarbeitungseinheit, deren Verarbeitungszeit sich je nach Wert des jeweiligen Datums o. ä. unterscheidet. Daten R = (r&sub1;, r&sub2;, ..., rm), die von einer Arithmetikeinheit oder einem Prozessor ausgegeben werden, in der (dem) Arithmetikoperationen, die sich je nach einem dem Datum entsprechenden Steuersignal V = (v&sub1;, v&sub2;, ..., vm) unterscheiden, zwischen einer Folge Y von Operandendaten y&sub1;, y&sub2;, ..., ym und einer weiteren Folge W von Operandendaten w&sub1;, w&sub2;, ..., wm stattfinden, und sich die Verarbeitungszeit je nach Art der Operation unterscheidet, sind ein Beispiel für die vorgenannten unregelmäßigen Intervalle zwischen Datenelementen. Ist bei erfolgreicher Ausgabe von Daten in unregelmäßigen Intervallen - erscheint z. B. das zweite Datum r&sub2; fünf Taktungszyklen nach dem ersten Datum r&sub1; und das dritte r&sub3; drei Taktungszyklen danach - die Arithmetikeinheit von einer Art, die ein Datum hält, bis das nächste Datum ausgegeben wird, lautet eine Beschreibung gleicher Intervalle auf der Zeitachse (d. h., bei jedem Taktungszyklus) D = (r&sub1;, r&sub1;, r&sub1;, r&sub1;, r&sub1;, r&sub1;, r&sub2;, r&sub2;, r&sub2;, r&sub3;, ..., rm), und ein Fall, in dem ungültige Daten zwischen gültigen Daten erscheinen, wird z. B. durch E = (r&sub1;, -, -, -, -, r&sub2;, - , -, r&sub3;, ..., rm) dargestellt. Ausgaben einer solchen Arithmetikeinheit erfordern Signale als Anzeige der Taktungen gültiger Daten zur Gewährleistung der Datenentsprechung. Bei Darstellung der Gültigkeit durch "1" und der Ungültigkeit durch "0" lautet ein Signal F als Anzeige eines gültigen Datums und der vorgenannten Daten D oder E wie folgt: F = < 1, 0, 0, 0, 0, 1, 0, 0, 1, ..., 1) und entspricht Daten G = (g&sub1;, g&sub2;, ..., gt), die D und E darstellen. In den vorgenannten Beispielen gilt g&sub1; = r&sub1;, g&sub6; = r&sub2;, g&sub9; = r&sub3;, ... gt = rm, und alle anderen Datenelemente g&sub2;, g&sub3;, g&sub4;, g&sub5;, g&sub7;, g&sub8;, ... sind ungültige Daten, deren Werte hier irrelevant sind.
  • Ein weiteres Beispiel für unregelmäßige Intervalle zwischen Datenelementen einer Datenfolge findet sich bei Daten, die aus einem Speicher ausgelesen werden, dessen Zugriffszeit sich je nach Adresse ändert. Sollen ferner Daten aus einem Verarbeitungssystem, dessen Datenübertragungsrate sich je nach Verwendungsmodus oder Hardwarestatus ändert (z. B. wo normalerweise drei Verarbeitungseinheiten verwendet werden und zwei davon die Verarbeitung bei Störung einer Einheit fortsetzen, die Anzahl von in Betrieb befindlichen Verarbeitungseinheiten zu einem bestimmten Zeitpunkt), der gleichen Steuerung unabhängig von Verwendungsmodus oder Hardwarestatus unterworfen werden, wird gemäß der vorstehenden Beschreibung die Kombination aus einer Datenfolge mit sowohl gültigen als auch ungültigen Daten und entsprechend diesen Daten ein Signal als Anzeige der Gültigkeit oder Ungültigkeit jedes Datenelements erforderlich, und die Daten sowie das Anzeigesignal lassen sich wie die vorgenannten Daten G bzw. das Anzeigesignal F darstellen.
  • Bei noch einer weiteren Datenart, auf die sich die Erfindung bezieht, wird die Gültigkeit oder Ungültigkeit von Einzeldaten durch eine weitere Datenmenge angezeigt. Beispielsweise wird in einer Vektordatenverarbeitungsvorrichtung das Maskenbitkonzept zur Unterscheidung zwischen gültigen und ungültigen Datenelementen von Vektordaten verwendet. Ein Maskenbit zeigt gültige Daten von Operandenvektordaten an, so daß allein gültige Daten einer Arithmetikoperation zugeführt werden können oder die Operation für alle Daten ausgeführt und die Gültigkeit oder Ungültigkeit der sich aus der Operation ergebenden Daten mit einem Maskenbit angezeigt wird. Diese Operationsweisen sind als maskierte Operationen bekannt. Wie die Daten der vorstehend beschriebenen ersten Art lassen sich die Vektordaten durch H = (h&sub1;, h&sub2;, ..., ht) und die Maskendaten durch J = (j&sub1;, j&sub2;, ..., jt) darstellen.
  • In der nachfolgenden Beschreibung werden nunmehr die erste und zweite Art durch eine Eingabedatenfolge A = (a&sub1;, a&sub2;, ..., am) und Anzeigesignale T = (1, 0, ..., 1) als Anzeige der Gültigkeit oder Ungültigkeit der Daten dargestellt. Dies bedeutet, daß bei aufeinanderfolgender Eingabe von Datenelementen a&sub1;, a&sub2;, ..., am in jedem Taktungszyklus a1 ein gültiges Datenelement ist, a&sub2; ein ungültiges Datenelement ist und ..., am gültige Datenelemente sind.
  • Gemäß Fig. 1 empfängt eine Pipelineschaltung 1000 in der ersten bevorzugten Ausführungsform der Erfindung ein Eingabeanzeigesignal T und eine Datenfolge A = (a&sub1;, a&sub2;, ..., am) als Eingaben und gibt eine Datenfolge Y = (y&sub1;, y&sub2;, ..., Ym) aus.
  • Ein Auswahlsignal S von einer Auswahlsignal-Erzeugungsschaltung 101 wird in eine Datenhalteschaltung 102 eingegeben und durch einen Decodierer DCD decodiert, um Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Datenhalteeinrichtungen R1, R2, R3 bzw. R4 zu erzeugen, von denen in der einen oder anderen die Eingabedaten A gespeichert werden. Ist das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig (logisch "1") werden die Daten A in der Datenhalteeinrichtung R3 gespeichert. Die in der Datenhalteeinrichtung R3 gespeicherten Daten werden einen Taktungszyklus später in der Datenhalteeinrichtung R4 gespeichert und als die Ausgabedaten der Datenhalteschaltung 102, d. h., die Ausgabedaten Y der Pipelineschaltung 1000, ausgegeben.
  • Realisieren läßt sich die Datenhalteeinrichtung R2 darstellungsgemäß z. B. mit einem Register RG2, das eine Auswahlschaltung SE12 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe der ersten Datenhalteeinrichtung R1 bzw. die Eingabedaten A geführt werden, und einem Gatter G12, das das invertierte Signal des Auswahlsignals S2 zur ersten Stufe der Auswahlschaltung SE12 und gleichzeitig das nicht invertierte Auswahlsignal S&sub2; zur zweiten Stufe der Auswahlschaltung SE12 führt. Ausgewählt und gespeichert werden durch diese Datenhalteeinrichtung R2 die Daten A, wenn das Auswahlsignal S&sub2; gültig ist, oder die Ausgabedaten der Datenhalteeinrichtung R1, wenn das Auswahlsignal S&sub2; ungültig ist (logisch "0").
  • Wie die Datenhalteeinrichtung R2 lassen sich die Datenhalteeinrichtungen R3 bzw. R4 realisieren mit Registern RG3 und RG4, die Auswahlschaltungen SE13 und SE14 mit zwei Eingängen und einem Ausgang haben, zu deren Eingängen der ersten und zweiten Stufen die Ausgaben der vorhergehenden Datenhalteeinrichtung R2 und R3 bzw. die Eingabedaten A geführt werden, sowie Gattern G13 und G14, die die invertierten Signale der Auswahlsignale S&sub3; und S&sub4; zu den ersten Stufen der Auswahlschaltungen SE13 und SE14 und gleichzeitig die nicht invertierten Signale S&sub3; und S&sub4; zu den zweiten Stufen der Auswahlschaltungen SE13 und SE14 führen. Die Datenhalteeinrichtung R1 kann mit einem Register RG1 realisiert sein, das eine Auswahlschaltung SE11 hat, die die Daten A ausgibt, wenn das Auswahlsignal S&sub1; gültig ist, und die Daten A über diese Auswahlschaltung SE11 speichert.
  • Zeigt das entsprechend den Daten A eingegebene Eingabeanzeigesignal Ungültigkeit an (logisch "0"), wird durch die Auswahlsignal-Erzeugungsschaltung 101 ein Auswahlsignal S, das den nächsten Wert gegenüber dem durch das vorhergehende Auswahlsignal S angezeigten Wert anzeigt, aus vier periodischen Werten 1, 2, 3, 4, 1 und 2, ... erzeugt und ausgegeben. Wird beispielsweise ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "1" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "2" an. Auf ähnliche Weise zeigt bei Eingabe eines Eingabeanzeigesignals T = 0, wenn das Auswahlsignal S "2" anzeigt, das Auswahlsignal S bei der nächsten Taktung "3" an, bei Eingabe eines Eingabeanzeigesignals T = 0, wenn das Auswahlsignal S "3" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "4" an, und bei Eingabe eines Eingabeanzeigesignals T = 0, wenn das Auswahlsignal S "4" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "1" an.
  • Zeigt umgekehrt das Eingabeanzeigesignal T Gültigkeit an (logisch "1"), so hält die Auswahlsignal-Erzeugungsschaltung 101 den durch das vorhergehende Auswahlsignal S angezeigten Wert. Beispielsweise zeigt bei Eingabe eines Eingabeanzeigesignals T = 1, wenn das Auswahlsignal S "1" anzeigt, das Auswahlsignal auch bei der nächsten Taktung "1" an.
  • Realisieren läßt sich die vorgenannte Auswahlsignal-Erzeugungsschaltung 101 darstellungsgemäß mit einem Zykluszähler CNT, der eine Auswahlschaltung SE21 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe einer +1-Schaltung AD bzw. der aktuelle Wert des Auswahlsignals S geführt werden, und einem Gatter G21, das das invertierte Signal des Eingabeanzeigesignals T zur ersten Stufe der Auswahlschaltung SE21 und gleichzeitig das nicht invertierte Signal T zu ihrer zweiten Stufe führt. Dieser Zykluszähler CNT ändert den Wert des Auswahlsignals synchron zum Taktungszyklus durch Auswählen des Werts "S+1", der die Ausgabe der +1-Schaltung AD ist, wenn das Eingabeanzeigesignal T "0" ist, oder des Werts "S", wenn T "1" ist. Dieses Auswahlsignal S kann einen von vier Werten 1, 2, 3 und 4 anzeigen.
  • Im folgenden wird der Betrieb der Pipelineschaltung 1000 anhand des Zeitdiagramms von Fig. 2 beschrieben, worin die Register RG1 bis RG4 in den Datenhalteeinrichtungen R1, R2, R3 und R4 durch ein erstes, zweites, drittes bzw. viertes Register dargestellt sind, und ein Register, das als Eingabe die Ausgabedaten Y der Pipelineschaltung 1000 empfängt, speichert und sie als Daten Z ausgibt, durch ein Z-Register 103 dargestellt ist.
  • In Fig. 2 wird angenommen, daß Eingabeanzeigesignale T, die der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) entsprechen, (0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 und 0, ...) sind. Somit sind a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0; und a&sub1;&sub3;, ... gültige Daten, während umgekehrt a&sub1;, a&sub3;, a&sub4;, a&sub7;, a&sub8;, a&sub9;, a&sub1;&sub1;, a&sub1;&sub2;, a&sub1;&sub4;, a&sub1;&sub5;, a&sub1;&sub6;, a&sub1;&sub7; und a&sub1;&sub8;, ... ungültige Daten sind.
  • Ferner wird angenommen, daß die Taktung, bei der das erste Datenelement a&sub1; der Eingabedatenfolge A eingegeben wird, t1 ist, und daß das Auswahlsignal S zu dieser Zeit "2" anzeigt. Vor der Eingabe des Datums a&sub1;, d. h., vor der Taktung t1, ändert sich das Auswahlsignal S periodisch, um den einen oder anderen von vier wiederkehrenden Werten 1, 2, 3, 4, 1, 2, 3, 4 und 1, ... anzuzeigen, bis es bei der Taktung t1 "2" anzeigt.
  • Gemäß Fig. 2 wird das bei der Taktung t1 eingegebene Datum a&sub1; in das zweite Register RG2 als Reaktion auf das Auswahlsignal S (=2) zu dieser Zeit eingegeben und bei der nächsten Taktung t2 gespeichert. Das Auswahlsignal S bei der Taktung t2 zeigt "3" an, den nächsten Wert gegenüber dem des Auswahlsignals S (=2) der Taktung t1, als Reaktion auf das Eingabeanzeigesignal T (= 0) bei der vorhergehenden Taktung t1.
  • Anschließend wird das bei der Taktung t2 eingegebene Datum a&sub2; in das dritte Register RG3 als Reaktion auf das Auswahlsignal S (= 3) zu dieser Zeit eingegeben und bei der nächsten Taktung t3 gespeichert. Das im zweiten Register RG2 gespeicherte Datum a&sub1; wird bei der Taktung t3 nicht im dritten Register RG3 gespeichert und anstelle dessen ungültig erklärt. Das Auswahlsignal S bei der Taktung t3 wird als Reaktion auf das Eingabeanzeigesignal T (= 1) bei der vorhergehenden Taktung t2 bei den Taktungen t4, t5, t9, t10, t11, t12, t16 und t17, ... gespeichert, um ein Datenelement der Ausgabedatenfolge Y der Pipelineschaltung 1000 zu werden, und im Z-Register 103 bei den jeweiligen nächsten Taktungen t5, t6, t10, t11, t12, t13, t17 und t18, ... gespeichert.
  • Die Intervalle der Ausgabetaktungen der gültigen Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... von den Datenelementen der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) betragen 4xk+1 Taktungszyklen (k ist eine Ganzzahl), z. B. 5 (= 4 x 1 + 1) Taktungszyklen zwischen den Daten a&sub2; und a&sub5;, 1 (= 4 x 0 + 1) Taktungszyklus zwischen den Daten a&sub5; und a&sub6;, 1 Taktungszyklus zwischen den Daten a&sub6; und a&sub1;&sub0;, 5 Taktungszyklen zwischen den Daten a&sub1;&sub0; und a&sub1;&sub3;, ... .
  • Bei Verwendung der Pipelineschaltung 1000 als Pipelineschaltungen 901 und 902 in Fig. 8 entspricht das Z-Register 103 den Eingaberegistern RIA und RIB. Anhand des Zeitdiagramms von Fig. 3 wird nunmehr ein Beispiel für den Betrieb der Pipelineschaltung 902 beschrieben, wenn ein Bezugstaktungszyklus "1" der Eingabekreuzschiene 903 dem Eingaberegister RIA zugewiesen ist, ein weiterer Bezugstaktungszyklus "3" von ihr dem Eingaberegister RIB und die Taktung t5 von Fig. 2 (die Taktung, bei der das Datum a&sub2; im Z-Register 103 gespeichert wird, d. h., im Eingaberegister RIA) mit der Kreuzschienenbezugstaktung "1" zusammenfällt (also der Betrieb von Fig. 2 der der Pipelineschaltung 901 ist).
  • Es ist nicht davon auszugehen, daß jeder hier gezeigte Bezugstaktungszyklus auf Hardwarepositionen beruht, z. B. einem Zykluszähler, sondern es handelt sich dabei um einen virtuellen Taktungszyklus zum Entwerfen oder Überprüfen einer Schaltung zum Steuern von Datenübertragungen, so daß nichts weiteres gefordert ist, als daß die Taktungen unterschiedlicher Teile in der Datenverarbeitungsvorrichtung zueinander passend sind.
  • Gemäß Fig. 3 ändert sich bei Taktungen vor der Taktung t0 ein Auswahlsignal SB mit einem Vorsprung von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung. Wird also das erste gültige Datum (begleitet vom Eingabeanzeigesignal T (= 1)) in diesem Zustand eingegeben, wird das gültige Datum im Z-Register 103 (d. h., im Eingaberegister RIB) gespeichert, wenn die Kreuzschienenbezugstaktung "1" ist. Da die Kreuzschienenbezugstaktung von "3" dem Eingaberegister RIB zugewiesen ist, dessen Eingaben die zuvor genannte Datenfolge B sind, muß die Betriebstaktung verschoben werden.
  • Wird z. B. ein Pseudo-Eingabeanzeigesignal T = 1 zweimal bei Taktungen eingegeben, die der Eingabe des ersten gültigen Datums vorausgehen, kann die Pipelineschaltung 902 das erste effektive Datum im Eingaberegister RIB speichern, wenn die Kreuzschienenbezugstaktung "3" ist. Gemäß Fig. 3 ist also durch Eingeben des Pseudo-Eingabeanzeigesignals T = 1 bei den Taktungen t2 und t3 die Pipelineschaltung 902 bei der Taktung t4 in einem Zustand in Bereitschaft, der einen Rückstand von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung hat.
  • Werden in diesem Zustand die Eingabedatenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) und die Eingabeanzeigesignale T (= 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, ...) entsprechend den Daten von der Taktung t5 an eingegeben, arbeitet die Pipelineschaltung 902 auf die gleiche Weise wie die anhand von Fig. 2 beschriebene Pipelineschaltung, und Daten b&sub1;, b&sub3;, b&sub4;, b&sub5;, b&sub7;, ... werden im vierten Register, das auch ein Ausgaberegister der Pipelineschaltung 902 ist, bei den jeweiligen Taktungen t6, t10, t11, t12, t13, ... sowie im Z-Register, d. h., dem Eingaberegister RIB, bei den jeweiligen nächsten Taktungen t7, t11, t12, t13, t14, ... gespeichert.
  • Die in die Eingaberegister RIA und RIB durch die Abläufe gemäß Fig. 2 und 3 eingegebenen Daten werden ferner in die Bänke BANK1, BANK2, BANK3 und BANK4 des Speichers 904 durch den im Zeitdiagramm von Fig. 4 gezeigten Ablauf eingegeben.
  • Wie zuvor dargestellt wurde, ist ein Bezugstaktungszyklus von "1" dem Eingaberegister RIA und einer von "3" dem Eingaberegisters RIB zugewiesen. Vom Ausgaberegister ROR1 wird ein Ausgabedatum des Eingaberegisters RIA ausgewählt und eingegeben, wenn der Bezugstaktungszyklus "1" ist, es speichert es, wenn der Zyklus "2" ist, wählt ein Ausgabedatum des Eingaberegisters RIB aus und gibt es ein, während es das vorherige Datum hält, wenn der Bezugstaktungszyklus "3" ist, speichert es, wenn der Zyklus "4" ist, wählt ein weiteres Ausgabedatum des Eingaberegisters RIA aus und gibt es ein, während es das vorherige Datum hält, wenn der Zyklus wiederum "1" ist, speichert es, wenn der Zyklus wiederum "2" ist usw. und wiederholt diese gleichen Abläufe in den vier Taktungszyklen. Wie zuvor ebenfalls beschrieben wurde, arbeitet das Ausgaberegister ROR2 auf die gleiche Weise wie das Ausgaberegister ROR1 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen Taktungszyklus nacheilt. Folglich wiederholt es in vier Taktungszyklen die Abläufe des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIA, seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "2" ist, des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIB und seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "4" ist Das Ausgaberegister ROR3 arbeitet auf die gleiche Weise wie das Ausgaberegister ROR2 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen weiteren Taktungszyklus nacheilt, und dies gilt entsprechend für das Ausgaberegister ROR4.
  • Ist gemäß Fig. 4 als Ergebnis dieser Abläufe der Bezugstaktungszyklus "1", wird das im Eingaberegister RIA bei der Taktung t5 gespeicherte Datum a&sub2; im Ausgaberegister ROR1 bei der Taktung t6 gespeichert und das im Eingaberegister RIA bei der Taktung t6 gespeicherte Datum a&sub4; wird im Ausgaberegister ROR2 bei der Taktung t7 gespeichert, und ist der Bezugstaktungszyklus "3", wird das bei der Taktung t7 im Eingaberegister RIB gespeicherte Datum b&sub1; im Ausgaberegister ROR1 bei der Taktung t8 gespeichert. Danach werden ähnliche Abläufe wiederholt, und die Daten a&sub2;, b&sub1;, b&sub3;, a&sub1;&sub1;, b&sub8;, a&sub1;&sub3;, ... werden in die Bank BANK1 des Speichers über das Ausgaberegister ROR1 eingegeben, die Daten a&sub4;, a&sub5;, b&sub4;, b&sub1;&sub0;, a&sub1;&sub6;, ... werden in die Bank BANK2 des Speichers über das Ausgaberegister ROR2 eingegeben, die Daten a&sub6;, b&sub5;, ... werden in die Bank BANK3 des Speichers über das Ausgaberegister ROR3 eingegeben, und die Daten a&sub1;&sub0;, b&sub7;, ... werden in die Bank BANK4 des Speichers über das Ausgaberegister ROR4 eingegeben.
  • Unter Berücksichtigung einer Datenfolge D (= d&sub1;, d&sub2;, d&sub3;, d&sub4;, d&sub5;, ... = a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ...) mit nur gültigen Daten aus der Datenfolge A (= a&sub1;, a&sub2;, a&sub3;, ...) und einer Datenfolge F (= f&sub1;, f&sub2;, f&sub3;, f&sub4;, f&sub5;, ... = b&sub3;, b&sub4;, b&sub5;, b&sub7;, b&sub8;, ...) mit nur gültigen Daten aus der Datenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) wird deutlich, daß die 4xk+1-ten (k ist eine Ganzzahl) Daten d&sub1; (= a&sub1;), f&sub1; (= b&sub3;), d&sub5; (= a&sub1;&sub3;), f&sub5; (= b&sub8;), ... der Datenfolgen D und F in die Bank BANK1 des Speichers eingegeben werden, die 4xk+2-ten (k ist eine Ganzzahl) Daten d&sub2; (= a&sub5;), f&sub2; (= b&sub4;), ... der Datenfolgen D und F in die Bank BANK2 des Speichers, die 4xk+3-ten Daten d&sub3; (= a&sub6;), f&sub3; (= b&sub5;), ... der Datenfolgen D und F in die Bank BANK3 des Speichers und die 4xk+4-ten Daten d&sub4; (= a&sub1;&sub0;), f&sub4; (= b&sub7;), ... der Datenfolgen D und F in die Bank BANK4 des Speichers.
  • Somit wird deutlich, daß die erfindungsgemäße Pipelineschaltung zur Taktungseinstellung wirksam ist, um Daten zu einer verschachtelten Verarbeitungsvorrichtung in einer Folge für ausschließlich gültige Daten zu führen, auch wenn die Eingabedaten ungültige Daten aufweisen.
  • Fig. 5 ist ein Blockschaltbild einer zweiten bevorzugten Ausführungsform der Erfindung, in der der Vorteil der erfindungsgemäßen Pipelineschaltung dadurch vergrößert wird, daß nicht nur die Eingabedatenfolge A, sondern auch die in der ersten Ausführungsform von Fig. 1 erwähnten Eingabeanzeigesignale T in eine Datenhalteschaltung 502 eingegeben werden.
  • Gemäß Fig. 5 empfängt eine Pipelineschaltung 5000 Eingabeanzeigesignale T und eine Datenfolge A (= a&sub1;, a&sub2;, ..., am) und liefert Ausgabeanzeigesignale H und eine Datenfolge Y.
  • Die Datenhalteschaltung 502 empfängt ein Auswahlsignal S von einer Auswahlsignal-Erzeugungsschaltung 501, decodiert es mit einem Decodierer DCD in Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Datenhalteeinrichtungen R1, R2, R3 bzw. R4 und speichert Daten P, die jeweils aus einem Paar aus einem der Daten A und einem Eingabeanzeigesignal T entsprechend dem Datum bestehen, in einer der vierstufig vorgesehenen Datenhalteeinrichtungen R1, R2, R3 und R4. Ist z. B. das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, werden die Daten P in der Datenhalteeinrichtung R3 gespeichert. Die in der Datenhalteeinrichtung R3 gespeicherten Daten P werden in der Datenhalteeinrichtung R4 einen Taktungszyklus später gespeichert, um die Ausgabedaten der Datenhalteeinrichtung 502, d. h., der Pipelineschaltung 5000, zu werden. Vorgesehen sind ein Z-Register 503 und ein E-Register 504 zum Speichern von Ausgabedaten Y, die den Eingabedaten A der Ausgabedaten der Datenhalteschaltung 502 entsprechen, bzw. von Daten H entsprechend ihren Eingabeanzeigesignalen T und zu ihrem Ausgeben als Daten Z und E.
  • Auf eine Beschreibung anderer Teile der Pipelineschaltung 5000 wird verzichtet, da sie mit denen der Pipelineschaltung 1000 von Fig. 1 identisch sind.
  • Bei Verwendung der Pipelineschaltung 5000 als die Pipelineschaltungen 901 und 902 in Fig. 8 entspricht ein das E- Register und Z-Register kombinierendes Register den Eingaberegistern RIA und RIB der Eingabekreuzschiene 903, wobei hier jedoch zur besseren Beschreibung Teuregister entsprechend dem E-Register als EIA und EIB und solche entsprechend dem Z- Register als RIA und RIB bezeichnet werden. Die Register RIA und EIA arbeiten auf die gleiche Weise, was auch für die Register RIB und EIB gilt. Auf ähnliche Weise sind Teuregister EOR1 bis EOR4 gemäß Fig. 7 ebenfalls als Ausgaberegister zugefügt, und es wird davon ausgegangen, daß die Register ROR1 und EOR1 auf die gleiche Weise arbeiten, was auch für das Paar von Registern ROR2 und EOR2, das von Registern ROR3 und EOR3 und das von Registern ROR4 und EOR4 gilt. Ein Beispiel für den Betrieb in der Eingabekreuzschiene 903 bei Verwendung der Pipelineschaltung 5000 als die Pipelineschaltungen 901 und 902 in Fig. 7 wird nachstehend anhand des Blockschaltbilds von Fig. 7 und des Zeitdiagramms von Fig. 6 beschrieben.
  • Eingabeanzeigesignale entsprechend der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) zur Pipelineschaltung 901 sind durch TA (= 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, ...) dargestellt, und jene entsprechend der Eingabedatenfolge B = (b&sub1;, b&sub2;, b&sub3;, ...) zur Pipelineschaltung 902 sind durch TB (= 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, ...) dargestellt, und diese Daten werden in die Eingaberegister RIA, EIA, RIB und EIB der Kreuzschiene 903 gemäß Fig. 6 auf die gleiche Weise wie in der anhand von Fig. 1 bis 4 beschriebenen ersten Ausführungsform eingegeben.
  • Ist gemäß Fig. 6 der Bezugstaktungszyklus "1", werden das bei der Taktung t5 in den Eingaberegistern RIA und EIA gespeicherte Datum a&sub2; bzw. das Anzeigesignal "1" für das Datum a&sub2; bei der Taktung t6 in den Ausgaberegistern ROR1 und EOR1 gespeichert, und das bei der Taktung t6 in den Eingaberegistern RIA und EIA gespeicherte Datum a&sub4; bzw. das Anzeigesignal "0" für das Datum a&sub4; werden bei der Taktung t7 in den Ausgaberegistern ROR2 und EOR2 gespeichert, und ist der Bezugstaktungszyklus "3", werden das bei der Taktung t7 in den Eingaberegistern RIB und EIB gespeicherte Datum b&sub1; bzw. das Anzeigesignal "0" für das Datum b&sub1; bei der Taktung t8 in den Ausgaberegistern ROR1 und EOR1 gespeichert. Ähnliche Abläufe werden anschließend wiederholt, so daß die Daten a&sub2;, b&sub1;, b&sub3;, a&sub1;&sub1;, ... im Ausgaberegister ROR1 gespeichert werden, ihnen jeweils entsprechende Anzeigesignale 1, 0, 1, 0, ... werden im Ausgaberegister EOR1 gespeichert, die Daten a&sub4;, a&sub5;, b&sub4;, werden im Ausgaberegister ROR2 gespeichert, ihnen jeweils entsprechende Anzeigesignale 0, 1, 1, ... werden im Ausgaberegister EOR2 gespeichert, die Daten a&sub6;, b&sub5;, .. werden im Ausgaberegister ROR3 gespeichert, ihnen jeweils entsprechende Anzeigesignale 1, 1, ... werden im Ausgaberegister EOR3 gespeichert, und die Daten a&sub1;&sub0;, b&sub7;, ... werden im Ausgaberegister ROR4 gespeichert, und ihnen jeweils entsprechende Anzeigesignale 1, 1, ... werden im Ausgaberegister EOR4 gespeichert.
  • Das Datum a&sub2; und das Anzeigesignal "1" dafür, die in den Ausgaberegistern ROR1 und EOR1 bei der Taktung t6 gespeichert wurden, werden in die Bank BANK1 des Speichers eingegeben, und da das Anzeigesignal "1" ist, wird das Datum a&sub2; in der Bank BANK1 des Speichers bei der Taktung t7 gespeichert.
  • Das Datum a&sub4; und das Anzeigesignal "0" dafür, die in den Ausgaberegistern ROR2 und EOR2 bei der Taktung t7 gespeichert wurden, werden in die Bank BANK2 des Speichers eingegeben, da aber das Anzeigesignal "0" ist, wird das Datum a&sub4; nicht darin gespeichert.
  • Anschließend werden durch ähnliche Abläufe die Daten a&sub2;, b&sub3;, ... in der Bank BANK1 gespeichert, die Daten a&sub5;, b&sub4;, ... in der Bank BANK2, die Daten a&sub6;, b&sub5;, ... in der Bank BANK3 und die Daten a&sub1;&sub0;, b&sub7;, ... in der Bank BANK4 des Speichers.
  • Durch die bisher beschriebenen Abläufe werden die in die Pipelineschaltung eingegebenen gültigen Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... aus der Eingabedatenfolge A (= a&sub1;, a&sub2;, a&sub3;, ...) und die gültigen Daten b&sub3;, b&sub4;, b&sub5;, b&sub7;, b&sub8;, ... aus der Eingabedatenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) im Speicher allein in der Reihenfolge der gültigen Daten gespeichert.
  • Somit bietet die Pipelineschaltung 5000 von Fig. 5 zusätzlich zu den Funktionen der Pipelineschaltung 1000 von Fig. 1 eine weitere Funktion zur Übertragung der Anzeige der Gültigkeit oder Ungültigkeit der Ausgabedaten an eine weitere nachgeschaltete Schaltung.
  • Gemäß Fig. 10 empfängt eine Pipelineschaltung 3000 in einer dritten bevorzugten Ausführungsform der Erfindung Eingabeanzeigesignale T und eine Datenfolge A (= a&sub1;, a&sub2;, ..., am) als ihre Eingaben und gibt eine Datenfolge Y (= y&sub1;, y&sub2;, ..., yt) aus.
  • Eine Datenhalteschaltung 302 empfängt die Eingabe eines Auswahlsignals S von einer Auswahlsignal-Erzeugungsschaltung 101, erzeugt Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Datenhalteeinrichtungen R1', R2', R3' bzw. R4' durch Decodieren des Auswahlsignals S und speichert die Eingabedaten A in einer der vierstufig vorgesehenen Datenhalteeinrichtungen R1', R2', R3' und R4'. Ist z. B. das Auswahlsignal S3 aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig (z. B. logisch "1"), werden die Daten A in der Datenhalteeinrichtung R3' gespeichert. Ist jedoch das Eingabeanzeigesignal ungültig (z. B. logisch "0"), werden die Daten A ungültig erklärt und nicht in der Datenhalteeinrichtung R3' gespeichert. Die in der Datenhalteeinrichtung R3' bei Gültigkeit des Eingabeanzeigesignals T gespeicherten Daten A werden in der Datenhalteeinrichtung R4' einen Taktungszyklus später gespeichert und als die Ausgabedaten der Datenhalteschaltung 302, d. h., als die Ausgabedaten Y der Pipelineschaltung 3000, herausgeführt.
  • Realisiert sein kann die Datenhalteeinrichtung R2' darstellungsgemäß z. B. mit einem Register RG2, das eine Auswahlschaltung SE12 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe der ersten Datenhalteeinrichtung R1' geführt wird, einem Gatter G12, das das invertierte Signal des Auswahlsignals S&sub2; zur ersten Stufe der Auswahlschaltung SE12 führt und gleichzeitig das nicht invertierte Auswahlsignal S&sub2; ausgibt, und einem Gatter G16, das das logische Produkt aus dem Eingabeanzeigesignal T und dem Auswahlsignal S&sub2; zur zweiten Stufe der Auswahlschaltung SE12 führt. Sie wählt die Daten A aus und speichert sie, wenn sowohl das Eingabeanzeigesignal T als auch das Auswahlsignal S&sub2; gültig sind, oder die Ausgabedaten der Datenhalteeinrichtung R1', wenn das Auswahlsignal S&sub2; ungültig ist.
  • Realisiert sein können die Datenhalteeinrichtungen R3' bzw. R4' wie die Datenhalteeinrichtung R2' mit Registern RG3 und RG4, die Auswahlschaltungen SE13 und SE14 mit zwei Eingängen und einem Ausgang haben, zu deren Eingängen der ersten und zweiten Stufe die Ausgaben der Datenhalteeinrichtungen R2' und R3' bzw. die Eingabedaten A geführt werden, und Gattern G15 und G17, die die invertierten Signale der Auswahlsignale S&sub3; und S&sub4; zu den ersten Stufen der Auswahlschaltungen SE13 und SE14 und gleichzeitig die nicht invertierten Auswahlsignale S&sub3; und S&sub4; zu den zweiten Stufen der Auswahlschaltungen SE13 und SE14 führen. Die Datenhalteeinrichtung R1' kann mit einem Register RG1 realisiert sein, das eine Auswahlschaltung SE11 hat, die die Daten A ausgibt, wenn die Ausgabe eines das logische Produkt aus dem Auswahlsignal S&sub1; und dem Eingabeanzeigesignals T bildenden Gatters G1 gültig ist, und die Daten A über diese Auswahlschaltung SE11 speichert.
  • Zeigt das entsprechend den Daten A eingegebene Eingabeanzeigesignal T Ungültigkeit an (logisch "0"), wird durch die Auswahlsignal-Erzeugungsschaltung 101 ein Auswahlsignal S, das den nächsten gegenüber dem durch das vorherige Auswahlsignal S angezeigten Wert anzeigt, aus vier periodischen Werten 1, 2, 3, 4, 1 und 2, ... erzeugt und ausgegeben. Wird z. B. ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "1" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "2" an. Wird auf ähnliche Weise ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "2" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "3" an, wird ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "3" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "4" an, und wird ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "4" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "1" an.
  • Zeigt umgekehrt das Eingabeanzeigesignal T Gültigkeit an (logisch "1"), hält die Auswahlsignal-Erzeugungsschaltung 101 den durch das vorherige Auswahlsignal S angezeigten Wert. Wird z. B. ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal "1" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung ebenfalls "1" an.
  • Realisiert sein kann die vorstehend beschriebene Auswahlsignal-Erzeugungsschaltung 101 darstellungsgemäß mit einem Zykluszähler CNT, der eine Auswahlschaltung SE21 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe einer +1-Schaltung AD bzw. der aktuelle Wert des Auswahlsignals S geführt werden, und einem Gatter G21, das das invertierte Signal des Eingabeanzeigesignals T zur ersten Stufe der Auswahlschaltung SE21 und gleichzeitig das nicht invertierte Signal T zu ihrer zweiten Stufe führt. Dieser Zykluszähler CNT ändert den Wert des Auswahlsignals synchron zum Taktungszyklus durch Auswählen des Werts "S+1", der die Ausgabe der +1-Schaltung AD ist, wenn das Eingabeanzeigesignal T "0" ist, oder des Werts "S", wenn das Eingabeanzeigesignal T "1" ist. Dieses Auswahlsignal S kann einen von vier Werten 1, 2, 3 und 4 anzeigen.
  • Im folgenden wird der Betrieb der Pipelineschaltung 3000 anhand des Zeitdiagramms von Fig. 11 beschrieben, worin die Register RG1 bis RG4 in den Datenhalteeinrichtungen R1', R2', R3' und R4' durch ein erstes, zweites, drittes bzw. viertes Register dargestellt sind und ein Register, das als Eingabe die Ausgabedaten Y der Pipelineschaltung 3000 aufnimmt, speichert und sie als Daten Z ausgibt, durch ein Z-Register 103 dargestellt ist.
  • In Fig. 11 wird angenommen, daß Eingabeanzeigesignale T, die der Eingabedatenfolge A (a&sub1;, a&sub2;, a&sub3;, ...) entsprechen, (0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, und 0, ...) sind. Somit sind a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0; und a&sub1;&sub3;, ... gültige Daten, während umgekehrt a&sub1;, a&sub3;, a&sub4;, a&sub7;, a&sub8;, a&sub9;, a&sub1;&sub1;, a&sub1;&sub2;, a&sub1;&sub4;, a&sub1;&sub5;, a&sub1;&sub6; und a&sub1;&sub7;, ... ungültige Daten sind.
  • Ferner wird angenommen, daß die Taktung, bei der das erste Datenelement a&sub1; der Eingabedatenfolge A eingegeben wird, t1 ist, und daß das Auswahlsignal S zu dieser Zeit "2" anzeigt. Vor der Eingabe des Datums a&sub1;, d. h., vor der Taktung t1, ändert sich das Auswahlsignal S periodisch, um den einen oder anderen von vier wiederkehrenden Werten 1, 2, 3, 4, 1, 2, 3, 4 und 1, ... anzuzeigen, bis es bei der Taktung t1 "2" anzeigt.
  • Gemäß Fig. 11 wird das bei der Taktung t1 eingegebene Datum a&sub1; nicht in das zweite Register RG2 eingegeben und anstelle dessen ungültig erklärt, obwohl zu dieser Zeit das Auswahlsignal S "2" ist, weil das Eingabeanzeigesignal ungültig ist (logisch "0"). Das Auswahlsignal S bei der Taktung t2 zeigt "3" an, den nächsten Wert gegenüber dem des Auswahlsignals S (=2) der Taktung t1, als Reaktion auf das Eingabeanzeigesignal T (=0) bei der vorhergehenden Taktung t1.
  • Anschließend wird das bei der Taktung t2 eingegebene Datum a&sub2; in das dritte Register RG3 als Reaktion auf das Auswahlsignal S (=3) zu dieser Zeit eingegeben, da das Eingabeanzeigesignal T gültig ist (logisch "1"), und bei der nächsten Taktung t3 gespeichert. Das Auswahlsignal S bei der Taktung t3 hält das Auswahlsignal S (=3) der Taktung t2 als Reaktion auf das Eingabeanzeigesignal T (= 1) bei der vorherigen Taktung t2.
  • Als Reaktion auf das Auswahlsignal S (=3) der Taktung t3 wird das Ausgabedatum a&sub2; des dritten Registers RG3 in das vierte Register RG4 eingegeben und bei der nächsten Taktung t4 gespeichert.
  • Ferner wird das bei der Taktung t3 eingegebene Datum a&sub3; nicht in das dritte Register RG3 bei der Taktung t3 eingegeben und anstelle dessen ungültig erklärt, obwohl das Auswahlsignal S zu dieser Zeit "3" anzeigt, da das Eingabeanzeigesignal T "0" anzeigt. Als Reaktion auf das Eingabeanzeigesignal T (= 0) der Taktung t3 und das Auswahlsignal "3" zeigt das Auswahlsignal S bei der Taktung t4 den nächsten Wert "4" an.
  • Das bei der Taktung t4 eingegebene Datum a&sub4; wird nicht in das vierte Register RG4 eingegeben und anstelle dessen ungültig erklärt, da das Auswahlsignal S und das Eingabeanzeigesignal T zu dieser Zeit "4" bzw. "0" sind. Als Reaktion auf das Eingabeanzeigesignal T (= 0) und das Auswahlsignal "4" bei der Taktung t4 zeigt das Auswahlsignal S bei der Taktung t5 den nächsten Wert "1" an.
  • Ähnliche Abläufe werden bei und nach der Taktung t5 wiederholt, und im vierten Register RG4, das auch das Ausgaberegister der Pipelineschaltung 3000 ist, werden die Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... bei den jeweiligen Taktungen t4, t9, t10, t11, 16 ... gespeichert, um jeweils ein Datenelement der Ausgabedatenfolge Y der Pipelineschaltung 3000 zu werden, und im Z-Reglster 103 bei den jeweiligen nächsten Taktungen t5, t10, t11, t12, t17 ... gespeichert.
  • Hierbei betragen die Intervalle der Ausgabetaktungen der gültigen Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... von den Datenelementen der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) 4xk+1 Taktungszyklen (k ist eine Ganzzahl), z. B. 5 (= 4 x 1 + 1) Taktungszyklen zwischen den Daten a&sub2; und a&sub5;, 1 (= 4 x 0 + 1) Taktungszyklus zwischen den Daten a&sub5; und a&sub6;, 1 Taktungszyklus zwischen den Daten a&sub6; und a&sub1;&sub0;, 5 Taktungszyklen zwischen den Daten a&sub1;&sub0; und a&sub1;&sub3; ... .
  • Bei Verwendung der Pipelineschaltung 3000 als die Pipelineschaltungen 901 und 902 in Fig. 8 entspricht das Z-Register 103 den Eingaberegistern RIA und RIB. Anhand des Zeitdiagramms von Fig. 12 wird nunmehr ein Beispiel für den Betrieb der Pipelineschaltung 902 beschrieben, wenn ein Bezugstaktungszyklus "1" der Eingabekreuzschiene 903 dem Eingaberegister RIA zugewiesen ist, ein weiterer Bezugstaktungszyklus "3" derselben dem Eingaberegister RIB und die Taktung t5 von Fig. 11 (die Taktung, bei der das Datum a&sub2; im Z-Register 103 gespeichert wird, d. h., im Eingaberegister RIA) mit der Bezugstaktung "1" der Kreuzschiene zusammenfällt (also der Betrieb von Fig. 11 der der Pipelineschaltung 901 ist).
  • Gemäß Fig. 12 ändert sich bei Taktungen vor der Taktung t0 ein Auswahlsignal SB mit einem Vorsprung von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung. Wird also das erste gültige Datum (begleitet vom Eingabeanzeigesignal T (= 1)) in diesem Zustand eingegeben, wird das gültige Datum im Z-Register 103 (d. h., im Eingaberegister RIB) gespeichert, wenn die Kreuzschienenbezugstaktung "1" ist. Da die Kreuzschienenbezugstaktung "3" dem Eingaberegister RIB zugewiesen ist, dessen Eingaben die zuvor genannte Datenfolge B sind, muß die Betriebstaktung verschoben werden.
  • Wird z. B. ein Pseudo-Eingabeanzeigesignal T = 1 zweimal bei Taktungen eingegeben, die der Eingabe des ersten gültigen Datums vorausgehen, kann die Pipelineschaltung 902 das erste gültige Datum im Eingaberegister RIB speichern, wenn die Kreuzschienenbezugstaktung "3" ist. Gemäß Fig. 12 ist also durch Eingeben des Pseudo-Eingabeanzeigesignals T = 1 bei den Taktungen t2 und t3 die Pipelineschaltung 902 bei der Taktung t4 in einem Zustand in Bereitschaft, der einen Rückstand von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung hat.
  • Werden in diesem Zustand die Eingabedatenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) und die Eingabeanzeigesignale T (= 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, ...) entsprechend den Daten von der Taktung t5 an eingegeben, arbeitet die Pipelineschaltung 902 auf die gleiche Weise wie die anhand von Fig. 2 beschriebene Pipelineschaltung, und Daten b&sub3;, b&sub4;, b&sub5;, b&sub7;, b&sub8; ... werden im vierten Register, das auch ein Ausgaberegister der Pipelineschaltung 902 ist, bei den jeweiligen Taktungen t10, t11, t12, t13, t14 ..., und im Z-Register, d. h., dem Eingaberegister RIB, bei den jeweiligen nächsten Taktungen t11, t12, t13, t14, t15 ... gespeichert.
  • Die in die Eingaberegister RIA und RIB durch die Abläufe gemäß Fig. 11 und 12 eingegebenen Daten werden ferner in die Bänke BANK1, BANK2, BANK3 und BANK4 des Speichers 904 durch den im Zeitdiagramm von Fig. 4 gezeigten Ablauf eingegeben.
  • Wie zuvor dargestellt wurde, ist ein Bezugstaktungszyklus von "1" dem Eingaberegister RIA und einer von "3" dem Eingaberegisters RIB zugewiesen. Das Ausgaberegister ROR1 wählt ein Ausgabedatum des Eingaberegisters RIA aus und gibt es ein, wenn der Bezugstaktungszyklus "1" ist, speichert es, wenn der Zyklus "2" ist, wählt ein Ausgabedatum des Eingaberegisters RIB aus und gibt es ein, während es das vorherige Datum hält, wenn der Zyklus "3" ist, speichert es, wenn der Zyklus "4" ist, whlt ein weiteres Ausgabedatum des Eingaberegisters RIA aus und gibt es ein, während es das vorherige Datum hält, wenn der Zyklus wiederum "1" ist, speichert es, wenn der Zyklus wiederum "2" ist usw. und wiederholt diese gleichen Abläufe in den vier Taktungszyklen. Wie zuvor ebenfalls beschrieben wurde, arbeitet das Ausgaberegister ROR2 auf die gleiche Weise wie das Ausgaberegister ROR1 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen Taktungszyklus nacheilt. Folglich wiederholt es in vier Taktungszyklen die Abläufe des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIA, seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "2" ist, des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIB und seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "4" ist. Das Ausgaberegisters ROR3 arbeitet auf die gleiche Weise wie das Ausgaberegister ROR2 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen weiteren Taktungszyklus nacheilt, und dies gilt entsprechend für das Ausgaberegister ROR4.
  • Gemäß Fig. 13 wird als Ergebnis dieser Abläufe das im Eingaberegister RIA bei der Taktung t5 gespeicherte Datum a&sub2; im Ausgaberegister ROR1 bei der Taktung t6 gespeichert, wenn der Bezugstaktungszyklus "1" ist, das im Eingaberegister RIA bei der Taktung t10 gespeicherte Datum a&sub5; wird im Ausgaberegister ROR2 bei der Taktung tu gespeichert, wenn der Bezugstaktungszyklus "2" ist, und die bei der Taktung t11 in den Eingaberegistern RIA und RIB gespeicherten Daten a&sub2; und b&sub3; werden in den Ausgaberegistern ROR3 bzw. RORT bei der Taktung t12 gespeichert, wenn der Bezugstaktungszyklus "3" ist. Danach werden ähnliche Abläufe wiederholt, und die Daten a&sub2;, b&sub3;, b&sub8;, a&sub1;&sub3;, . .. werden in die Bank BANK1 des Speichers über das Ausgaberegister ROR1 eingegeben, die Daten a&sub5;, b&sub4;, ... werden in die Bank BANK2 des Speichers über das Ausgaberegister ROR2 eingegeben, die Daten a&sub6;, b&sub5;, ... werden in die Bank BANK3 des Speichers über das Ausgaberegister ROR3 eingegeben, und die Daten a&sub1;&sub0;, b&sub7;, ... werden in die Bank BANK4 des Speichers über das Ausgaberegister ROR4 eingegeben.
  • Unter Berücksichtigung einer Datenfolge D (= d&sub1;, d&sub2;, d&sub3;, d&sub4;, d&sub5;, ... = a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ...) mit nur gültigen Daten aus der Datenfolge A (= a&sub1;, a&sub2;, a&sub3;, ...) und einer Datenfolge F (= f&sub1;, f&sub2;, f&sub3;, f&sub4;, f&sub5;, ... = b&sub3;, b&sub4;, b&sub5;, b&sub7;, b&sub8;, ...) mit nur gültigen Daten aus der Datenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) wird deutlich, daß die 4xk+1-ten (k ist eine Ganzzahl) Daten d&sub1; (= a&sub1;), f&sub1; (= b&sub3;), d&sub5; (= a&sub1;&sub3;), f&sub5; (= b&sub8;), ... der Datenfolgen D und F in die Bank BANK1 des Speichers eingegeben werden, die 4xk+2-ten (k ist eine Ganzzahl) Daten d&sub2; (= a&sub5;), f&sub2; (= b&sub4;), ... der Datenfolgen D und F in die Bank BANK2 des Speichers, die 4xk+3-ten Daten d&sub3; (= a&sub6;), f&sub3; (= b&sub5;), ... der Datenfolgen D und F in die Bank BANK3 des Speichers und die 4xk+4-ten Daten d&sub4; (= a&sub1;&sub0;), f&sub4; (= b&sub7;), ... der Datenfolgen D und F in die Bank BANK4 des Speichers.
  • Somit wird deutlich, daß die erfindungsgemäße Pipelineschaltung zur Taktungseinstellung wirksam ist, um Daten zu einer verschachtelten Verarbeitungsvorrichtung in einer Folge für ausschließlich gültige Daten zu führen, auch wenn die Eingabedaten ungültige Daten aufweisen.
  • Fig. 14 ist ein Blockschaltbild einer vierten bevorzugten Ausführungsform der Erfindung, in der der Vorteil der erfindungsgemäßen Pipelineschaltung dadurch vergrößert wird, daß nicht nur die Eingabedatenfolge A, sondern auch die in der dritten Ausführungsform von Fig. 10 erwähnten Eingabeanzeigesignale T in eine Datenhalteschaltung eingegeben werden. In Fig. 14 bezeichnen die gleichen Bezugszahlen wie in Fig. 10 jeweils die gleichen Bauelemente.
  • Gemäß Fig. 14 empfängt eine Pipelineschaltung 6000 Eingabeanzeigesignale T und eine Datenfolge A (= a&sub1;, a&sub2;, ..., am) und liefert Ausgabeanzeigesignale H und eine Datenfolge Y.
  • Eine Datenhalteschaltung 602 empfängt die Eingabe eines Auswahlsignals S von einer Auswahlsignal-Erzeugungsschaltung 101, decodiert es mit einem Decodierer DCD in Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Datenhalteeinrichtungen R1", R2", R3" bzw. R4" und speichert Daten P, die jeweils aus einem Paar aus einem der Daten A und einem Eingabeanzeigesignal T entsprechend dem Datum bestehen, in einer der vierstufig vorgesehenen Datenhalteeinrichtungen R1", R2", R3" und R4". Ist z. B. das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, werden die Daten P in der Datenhalteeinrichtung R3" gespeichert, während jedoch die Daten P ungültig erklärt und nicht in der Datenhalteeinrichtung R3" gespeichert werden, wenn das Eingabeanzeigesignal Ungültigkeit anzeigt (z. B. logisch "0"). Die Daten P, die in der Datenhalteeinrichtung R3" gespeichert werden, wenn das Eingabeanzeigesignal T Gültigkeit anzeigt (z. B. logisch "1"), werden in der Datenhalteeinrichtung R4" einen Taktungszyklus später gespeichert, um die Ausgabedaten der Datenhalteschaltung 602, d. h., der Pipelineschaltung 6000, zu werden. Vorgesehen sind ein Z-Register 603 und ein E-Register 604 zum Speichern von Ausgabedaten Y, die den Eingabedaten A der Ausgabedaten der Datenhalteschaltung 602 entsprechen, bzw. von Daten H entsprechend ihren Eingabeanzeigesignalen T sowie zu ihrem Ausgeben als Daten Z und E.
  • Da die Daten Y, die von der Datenhalteschaltung 602 bei den Taktungen ausgegeben werden, bei denen die Ausgabedaten H, also die Ausgabedaten E des E-Registers 604, Gültigkeit anzeigen, d. h., die Ausgabedaten Z des Z-Registers 603 stets gültig sind, können die Daten H als Steuersignale für die Daten Y (z. B. als Schreibfreigabesignale o. ä.) in einer weiteren nachgeschalteten Schaltung verwendet werden.
  • Andere Teile der Pipelineschaltung 6000 sind mit denen der Pipelineschaltung 3000 von Fig. 10 identisch.
  • Fig. 15 ist ein Blockschaltbild einer fünften bevorzugten Ausführungsform der Erfindung, in der der Vorteil der erfindungsgemäßen Pipelineschaltung dadurch vergrößert wird, daß nicht nur die Eingabedatenfolge A und die Eingabeanzeige- Signale T wie in der dritten Ausführungsform von Fig. 10 eingegeben werden, sondern auch ein Auswahlsignal-Anfangswert S0 und ein Anfangswerteinstellungs-Anzeigesignal ST. Identische Bauelemente wie in Fig. 10 sind jeweils mit den gleichen Bezugs zahlen bezeichnet.
  • Gemäß Fig. 15 gibt eine Auswahlsignal-Erzeugungsschaltung 303, die den Auswahlsignal-Anfangswert S0, das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T als Eingaben empfängt, den Auswahlsignal-Anfangswert S0 als das Auswahlsignal S der nächsten Taktung aus, wenn das Anfangswerteinstellungs-Anzeigesignal ST Gültigkeit anzeigt, erzeugt das Auswahlsignal als Anzeige des nächsten Wertes gegenüber dem, der durch das vorherige Auswahlsignal S angezeigt wurde, aus den vier periodischen Werten 1, 2, 3, 4, 1, 2, ... und gibt es aus, wenn sowohl das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T Ungültigkeit anzeigen, und hält den durch das vorherige Auswahlsi gnal S angezeigten Wert, wenn das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T Ungültigkeit bzw. Gültigkeit anzeigen.
  • Realisiert sein kann die vorgenannte Auswahlsignal-Erzeugungsschaltung 303 darstellungsgemäß mit einem Zykluszähler CNT2, der eine Auswahlschaltung SE31 mit drei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten, zweiten und dritten Stufe der Auswahlsignal-Anfangswert S0, die Ausgabe einer +1-schaltung AD bzw. der aktuelle Wert des Auswahlsignals S geführt werden, einem Gatter G31, das das Anfangswerteinstellungs-Anzeigesignal ST zur ersten Stufe der Auswahlschaltung SE31 führt und gleichzeitig sein invertiertes Signal erzeugt, einem Gatter G32, das das Eingabeanzeigesignal T und sein invertiertes Signal ausgibt, einem Gatter G33, das das logische Produkt aus dem invertierten Signal des Anfangswerteinstellungs-Anzeigesignals ST und dem des Eingabeanzeigesignals T zur zweiten Stufe der Auswahlschaltung SE31 führt, und einem Gatter G34, das das logische Produkt aus dem invertierten Signal des Anfangswerteinstellungs-Anzeigesignals ST und dem Eingabeanzeigesignal T zur dritten Stufe der Auswahlschaltung SE31 führt. Dieser Zykluszähler CNT2 ändert den Wert des Auswahlsignals synchron zum Taktungszyklus durch Auswählen des Werts des Auswahlsignal-Anfangswerts S0, wenn das Anfangswerteinstellungs-Anzeigesignal ST "1" anzeigt, des Werts "S+1", wenn sowohl das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T "0" anzeigen, oder des Werts "S", wenn das Anfangswerteinstellungs-Anzeigesignal ST "0" anzeigt und das Eingabeanzeigesignal T "1" anzeigt. Dieses Auswahlsignal S kann einen von vier Werten 1, 2, 3 und 4 anzeigen.
  • Andere Teile der Pipelineschaltung 7000 sind mit denen der Pipelineschaltung 3000 von Fig. 10 identisch.
  • Bei Verwendung als die anhand von Fig. 12 und 8 beschriebene Pipelineschaltung 902 kann die vorstehend beschriebene Pipelineschaltung 7000 die Taktung des Auswahlsignals S so einstellen, daß das erste gültige Datum im Eingaberegister RIB gespeichert werden kann, wenn die Kreuzschienenbezugstaktung "3" ist, indem ein Wert einen Taktungszyklus nach der Kreuzschienenbezugstaktung als der Auswahlsignal-Anfangswert S0 zusammen mit dem Anfangswerteinstellungs-Anzeigesignal ST eingegeben wird.
  • Gemäß Fig. 16 empfängt eine Pipelineschaltung 2000 Eingabeanzeigesignale T und eine Datenfolge A (= a&sub1;, a&sub2;, ..., am) und gibt eine Datenfolge Y aus.
  • Eine Datenhalteschaltung 202 empfängt die Eingabe eines Auswahlsignals S von einer Auswahlsignal-Erzeugungsschaltung 101, decodiert es mit einem Decodierer DCDI in Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Datenhalteeinrichtungen R1, R2, R3 bzw. R4 und speichert Eingabedaten A in einer der vierstufig vorgesehenen Datenhalteeinrichtungen R1, R2, R3 und R4. Ist z. B. das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig (z. B. logisch "1"), werden die Daten A in der Datenhalteeinrichtung R3 gespeichert. Wird jedoch das Auswahlsignal S&sub4; ungültig erklärt, wenn das Ausgabeanzeigesignal von einer Anzeigesignal-Halteschaltung 203 ungültig ist (z. B. logisch "0"), werden die Daten A nicht in der Datenhalteeinrichtung R4 gespeichert und statt dessen ungültig erklärt. Die in der Datenhalteeinrichtung R3 gespeicherten Daten werden einen Taktungszyklus später in der Datenhalteeinrichtung R4 gespeichert, um als die Ausgabedaten der Datenhalteschaltung 202, d. h., die Ausgabedaten Y der Pipelineschaltung 2000, herausgeführt zu werden. Zeigt jedoch das Ausgabeanzeigesignal V einen Taktungszyklus nach der Taktung, bei der die Daten A in der Datenhalteeinrichtung R3 gespeichert wurden, Ungültigkeit an, werden die Ausgabedaten der Datenhalteeinrichtung R3 nicht in der Datenhalteeinrichtung R4 gespeichert und anstelle dessen ungültig erklärt.
  • Realisiert sein kann die Datenhalteeinrichtung R2 darstellungsgemaß mit einem Register RG2, das eine Auswahlschaltung SE12 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe der ersten Datenhalteeinrichtung R1 bzw. die Eingabedaten A geführt werden, und einem Gatter G12, das das invertierte Signal des Auswahlsignals S&sub2; zur ersten Stufe der Auswahlschaltung SE12 und gleichzeitig das nicht invertierte Auswahlsignal S&sub2; zur zweiten Stufe der Auswahlschaltung SE12 führt. Sie wählt die Daten A aus und speichert sie, wenn das Auswahlsignal S&sub2; gültig ist, oder die Ausgabedaten der Datenhalteeinrichtung R1, wenn das Auswahlsignal S&sub2; ungültig ist (logisch "0").
  • Wie die Datenhalteeinrichtung R2 kann die Datenhalteeinrichtung R3 realisiert sein mit einem Register R3, das eine Auswahlschaltung SE13 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgaben der Datenhalteeinrichtung R2 der vorherigen Stufe bzw. die Eingabedaten A geführt werden, und einem Gatter 13, das das invertierte Signal des Auswahlsignals S3 zur ersten Stufe der Auswahlschaltung SE13 und gleichzeitig das nicht invertierte Auswahlsignal S&sub3; zur zweiten Stufe der Auswahlschaltung SE13 führt. Die Datenhalteeinrichtung R1 kann mit einem Register RG1 realisiert sein, das eine Auswahlschaltung SE11 hat, die die Daten A ausgibt, wenn das Auswahlsignal S&sub1; gültig ist, und die Daten A über diese Auswahlschaltung SE11 speichert.
  • Realisiert sein kann die Datenhalteeinrichtung R4 mit einem Register RG4, das eine Auswahlschaltung SE14 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgaben der Datenhalteeinrichtung R3 der vorherigen Stufe bzw. die Eingabedaten A geführt werden, einem Gatter G14, das das Auswahlsignal S&sub4; und seine invertierte Ausgabe liefert, einem Gatter G19, das das logische Produkt aus dem Ausgabeanzeigesignal V und der invertierten Ausgabe des Auswahlsignals bildet und die Ausgabe zur ersten Stufe der Auswahlschaltung SE14 führt, und einem Gatter G18, das das logische Produkt aus dem Auswahlsignal S&sub4; und dem Ausgabeanzeigesignal V bildet und die Ausgabe zur zweiten Stufe der Auswahlschaltung SE14 führt. Ist das Auswahlsignal S&sub4; gültig (logisch "1") und ist auch das Ausgabeanzeigesignal V gültig (logisch "1"), wird die Ausgabe des Gatters G18 gültig erklärt und die zweite Stufe der Auswahlschaltung SE14 ausgewählt, so daß die Daten A im Register RG4 gespeichert werden; ist das Auswahlsignal S&sub4; ungültig (logisch "0") und das Ausgabeanzeigesignal V gültig, wird die Ausgabe des Gatters G19 gültig erklärt und die erste Stufe der Auswahlschaltung SE14 ausgewählt, so daß die Ausgabedaten der Datenhalteeinrichtung R3 im Register RG4 gespeichert werden; ist andernfalls das Ausgabeanzeigesignal V ungültig, wird nichts gespeichert, und die Eingabedaten werden ungültig erklärt (z. B. alle Bits sind "0").
  • Zeigt das eingegebene Eingabeanzeigesignal T entsprechend den Daten A Ungültigkeit an (logisch "0"), erzeugt die Auswahlsignal-Erzeugungsschaltung 101 ein Auswahlsignal S als Anzeige des nächsten Wertes gegenüber dem, der durch das vorherige Auswahlsignal S angezeigt wurde, aus den vier periodischen Werten 1, 2, 3, 4, 1 und 2, ... und gibt es aus. Wird z. B. ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "1" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "2" an. Wird auf ähnliche Weise ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "2" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "3" an, wird ein Eingabeanzeigesignal T = 0 eingegeben wenn das Auswahlsignal S "3" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "4" an, und wird ein Eingabeanzeigesignal T = 0 eingegeben, wenn das Auswahlsignal S "4" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung "1" an.
  • Zeigt umgekehrt das Eingabeanzeigesignal T Gültigkeit an (logisch "1"), hält die Auswahlsignal-Erzeugungsschaltung 101 den durch das vorherige Auswahlsignal S angezeigten Wert. Wird z. B. ein Eingabeanzeigesignal T = 1 eingegeben, wenn das Auswahlsignal "1" anzeigt, zeigt das Auswahlsignal S bei der nächsten Taktung ebenfalls "1" an.
  • Realisiert sein kann die vorstehend beschriebene Auswahlsignal-Erzeugungsschaltung 101 darstellungsgemäß mit einem Zykluszähler CNT1, der eine Auswahlschaltung SE21 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe einer +1-Schaltung AD und der aktuelle Wert des Auswahlsignals S geführt werden, und einem Gatter G21, das das invertierte Signal des Eingabeanzeigesignals T zur ersten Stufe der Auswahlschaltung SE21 und gleichzeitig das nicht invertierte Eingabeanzeigesignal zur zweiten Stufe der Auswahlschaltung SE21 führt. Dieser Zykluszähler CNT1 ändert den Wert des Auswahlsignals synchron zum Taktungszyklus durch Auswählen des Werts "S+1", der die Ausgabe der +1-Schaltung AD ist, wenn das Eingabeanzeigesignal T "0" anzeigt, oder des Werts "S", wenn das Eingabeanzeigesignal T "1" anzeigt. Dieses Auswahlsignal S kann einen von vier Werten 1, 2, 3 und 4 anzeigen.
  • Die Anzeigesignal-Halteschaltung 203 empfängt die Eingabe des Auswahlsignals S, aus der sie mit einem Decodierer DCD2 Auswahlsignale S&sub1;, S&sub2; und S&sub3; für drei Stufen von Anzeigesignal-Halteeinrichtungen F1, F2 bzw. F3 und ein Auswahlsignal S4 für eine Auswahlschaltung SE34 zum Zuführen des Ausgabeanzeigesignals V erzeugt und entscheidet, ob das Eingabeanzeigesignal T in einer der dreistufig vorgesehenen Anzeigesignal-Halteeinrichtungen F1, F2 und F3 gespeichert oder als Ausgabeanzeigesignal V herausgeführt wird. Ist z. B. das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, wird das Eingabeanzeigesignal T in der Anzeigesignal- Halteeinrichtung F3 gespeichert. Das in der Anzeigesignal- Halteeinrichtung F3 gespeicherte Eingabeanzeigesignal T wird einen Taktungszyklus spiter von der Auswahlschaltung SE34 als das Ausgabeanzeigesignal V geliefert. Ist das Auswahlsignal S&sub4; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, wird das Eingabeanzeigesignal T direkt als das Ausgabeanzeigesignal V von der Auswahlschaltung SE34 geliefert.
  • Realisiert sein kann die Anzeigesignal-Halteeinrichtung F2 z. B. darstellungsgemäß mit einem Register RG12, das eine Auswahlschaltung SE32 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe der Anzeigesignal-Halteeinrichtung F1 der vorherigen Stufe bzw. das Eingabeanzeigesignal T geführt werden, einem Gatter G31, das das invertierte Signal des Auswahlsignals S&sub2; zur ersten Stufe der Auswahlschaltung SE32 und gleichzeitig das nicht invertierte Auswahlsignal S&sub2; zur zweiten Stufe der Auswahlschaltung SE32 führt. Sie wählt das Eingabeanzeigesignal T aus und speichert es, wenn das Auswahlsignal S&sub2; gültig ist (logisch "1"), oder die Ausgabedaten der Anzeigesignal- Halteeinrichtung F1, wenn das Auswahlsignal S&sub2; ungültig ist (logisch "0").
  • Wie die Anzeigesignal-Halteeinrichtung F2 kann die Anzeigesignal-Halteeinrichtung F3 realisiert sein mit einem Register RG13, das eine Auswahlschaltung SE 33 mit zwei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten und zweiten Stufe die Ausgabe der Anzeigesignal-Halteeinrichtung F2 der vorherigen Stufe bzw. das Eingabeanzeigesignal T geführt werden, und einem Gatter G32, das das invertierte Signal des Auswahlsignals S&sub3; zur ersten Stufe der Auswahlschaltung SE33 und gleichzeitig das nicht invertierte Auswahlsignal S&sub3; zu ihrer zweiten Stufe führt. Die Anzeigesignal-Halteeinrichtung F1 kann mit einem Register RG11 realisiert sein, das eine Auswahlschaltung SE31 hat, die das Eingabeanzeigesignal T ausgibt, wenn das Auswahlsignal S&sub1; gültig ist, und das Eingabeanzeigesignal T über diese Auswahlschaltung SE31 speichert. Ferner liefert ein Gatter G33 das invertierte Signal des Auswahlsignals S&sub4; zur ersten Stufe einer Auswahlschaltung SE34 und gleichzeitig das nicht invertierte Signal S&sub4; zu ihrer zweiten Stufe. Die Auswahlschaltung SE34 liefert die Ausgabe der Anzeigesignal-Halteeinrichtung F3 als das Ausgabeanzeigesignal V, wenn die erste Stufe durch das Gatter G33 ausgewählt wird, oder das Eingabeanzeigesignal T als das Ausgabeanzeigesignal V, wenn die zweite Stufe ausgewählt wird.
  • Im folgenden wird der Betrieb der Pipelineschaltung 2000 anhand des Zeitdiagramms von Fig. 17 beschrieben, worin die Register RG1 bis RG4 in den Datenhalteeinrichtungen R1, R2, R3 und R4 durch ein erstes, zweites, drittes bzw. viertes Register dargestellt sind, und ein Register, das als Eingabe die Ausgabedaten Y der Pipelineschaltung 2000 empfängt, speichert und sie als Daten Z ausgibt, durch ein Z-Register 103 dargestellt ist.
  • In Fig. 17 wird angenommen, daß Eingabeanzeigesignale T, die der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) entsprechen, (0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, und 0, ...) sind. Somit sind a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0; und a&sub1;&sub3;, ... gültige Daten, während umgekehrt a&sub1;, a&sub3;, a&sub4;, a&sub7;, a&sub8;, a&sub9;, a&sub1;&sub1;, a&sub1;&sub2;, a&sub1;&sub4;, a&sub1;&sub5;, a&sub1;&sub6;, a&sub1;&sub7;, ... ungültige Daten sind.
  • Ferner wird angenommen, daß die Taktung, bei der das erste Datenelement a&sub1; der Eingabedatenfolge A eingegeben wird, t1 ist, und daß das Auswahlsignal S zu dieser Zeit "2" anzeigt. Vor der Eingabe des Datums a&sub1;, d. h., vor der Taktung t1, ändert sich das Auswahlsignal S periodisch, um den einen oder anderen von vier wiederkehrenden Werten 1, 2, 3, 4, 1, 2, 3, 4 und 1, ... anzuzeigen, bis es bei der Taktung t1 "2" anzeigt.
  • Gemäß Fig. 17 wird das bei der Taktung t1 eingegebene Datum a&sub1; in das zweite Register RG2 eingegeben und bei der nächsten Taktung t2 gespeichert. Das Auswahlsignal S bei der Taktung t2 zeigt "3" an, den nächsten Wert gegenüber dem des Auswahlsignals S (=2) der Taktung t1, als Reaktion auf das Eingabeanzeigesignal T (=0) bei der vorherigen Taktung t1.
  • Anschließend wird das bei der Taktung t2 eingegebene Datum a&sub2; in das dritte Register RG3 als Reaktion auf das Auswahlsignal S (= 3) zu dieser Zeit eingegeben und bei der nächsten Taktung t3 gespeichert. Das im zweiten Register RG2 bei der Taktung t2 gespeicherte Datum a&sub1; wird bei der Taktung t3 nicht im dritten Register RG3 gespeichert und anstelle dessen ungültig erklärt. Als Reaktion auf das Eingabeanzeigesignal T (=1) bei der vorigen Taktung t2 hält das Auswahlsignal S bei der Taktung t3 das Auswahlsignal S (=3).
  • Außerdem wird das Eingabeanzeigesignal T (= 1) der Taktung t2 in das Register RG13 als Reaktion auf das Auswahlsignal S (= 3) zu dieser Zeit eingegeben und bei der nächsten Taktung t3 gespeichert. Da die Auswahlschaltung SE34 die Ausgabe des Registers RG13 als Reaktion auf das Auswahlsignal S (=3 &ne; 4) bei der Taktung t3 auswählt, wird das Ausgabeanzeigesignal V gültig erklärt (logisch "1").
  • Als Reaktion auf das Auswahlsignal S (= 3) der Taktung t3 wird das Ausgabedatum a&sub2; des dritten Registers RG3 in das vierte Register RG4 eingegeben und bei der nächsten Taktung t4 gespeichert.
  • Ferner wird das bei der Taktung t3 eingegebene Datum a&sub3; in das dritte Register RG3 als Reaktion auf das Auswahlsignal S (= 3) zu dieser Zeit eingegeben und bei der nächsten Taktung t4 gespeichert. Als Reaktion auf das Eingabeanzeigesignal T (= 0) der Taktung t3 und das Auswahlsignal "3" zeigt das Auswahlsignal S bei der Taktung t4 den nächsten Wert "4" an.
  • Das bei der Taktung t4 eingegebene Datum a&sub4; wird nicht in das vierte Register RG4 eingegeben und anstelle dessen ungültig erklärt, da das Auswahlsignal S und das Eingabeanzeigesignal T zu dieser Zeit "4" bzw. "0" sind. Als Reaktion auf das Eingabeanzeigesignal T (= 0) und das Auswahlsignal (= 4) der Taktung t4 zeigt das Auswahlsignal S bei der Taktung t5 den nächsten Wert "1" an.
  • Ähnliche Abläufe werden bei und nach der Taktung t5 wiederholt, und im vierten Register RG4, das auch das Ausgaberegister der Pipelineschaltung 2000 ist, werden die Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... bei den jeweiligen Taktungen t4, t9, t10, t11, 16 ... gespeichert, um jeweils ein Datenelement der Ausgabedatenfolge Y der Pipelineschaltung 2000 zu werden, und im Z-Register 103 bei den jeweiligen nächsten Taktungen t5, t10, t11, t12, t17 ... gespeichert.
  • Hierbei betragen die Intervalle der Ausgabetaktungen der gültigen Daten a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ... von den Datenelementen der Eingabedatenfolge A = (a&sub1;, a&sub2;, a&sub3;, ...) 4xk+1 Taktungszyklen (k ist eine Ganzzahl), z. B. 5 (= 4 x 1 + 1) Taktungszyklen zwischen den Daten a&sub2; und a&sub5;, 1 (= 4 x 0 + 1) Taktungszyklus zwischen den Daten a&sub5; und a&sub6;, 1 Taktungszyklus zwischen den Daten a&sub6; und a&sub1;&sub0;, 5 Taktungszyklen zwischen den Daten a&sub1;&sub0; und a&sub1;&sub3;, ... .
  • Bei Verwendung der Pipelineschaltung 2000 als die Pipelineschaltungen 901 und 902 in Fig. 8 entspricht das Z-Register 103 den Eingaberegistern RIA und RIB. Anhand des Zeitdiagramms von Fig. 18 wird nunmehr ein Beispiel für den Betrieb der Pipelineschaltung 902 beschrieben, wenn ein Bezugstaktungszyklus "1" der Eingabekreuzschiene 903 dem Eingaberegister RIA zugewiesen ist, ein weiterer Bezugstaktungszyklus "3" von ihr dem Eingaberegister RIB und die Taktung t5 von Fig. 17 (die Taktung, bei der das Datum a&sub2; im Z-Register 103 gespeichert wird, d. h., im Eingaberegister RIA) mit der Bezugstaktung "1" der Kreuzschiene zusammenfällt (also der Betrieb von Fig. 17 der der Pipelineschaltung 901 ist).
  • Gemäß Fig. 18 ändert sich bei Taktungen vor der Taktung t0 ein Auswahlsignal SB mit einem Vorsprung von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung. Wird also das erste gültige Datum (begleitet vom Eingabeanzeigesignal T (= 1)) in diesem Zustand eingegeben, wird das gültige Datum im Z-Register 103 (d. h., im Eingaberegister RIB) gespeichert, wenn die Kreuzschienenbezugstaktung "1" ist. Da die Kreuzschienenbezugstaktung "3" dem Eingaberegister RIB zugewiesen ist, dessen Eingaben die zuvor genannte Datenfolge B sind, muß die Betriebstaktung verschoben werden.
  • Wird z. B. ein Pseudo-Eingabeanzeigesignal T (= 1) zweimal bei Taktungen eingegeben, die der Eingabe des ersten gültigen Datums vorausgehen, kann die Pipelineschaltung 902 das erste gültige Datum im Eingaberegister RIB speichern, wenn die Kreuzschienenbezugstaktung "3" ist. Gemäß Fig. 18 ist also durch Eingeben des Pseudo-Eingabeanzeigesignals T (= 1) bei den Taktungen t2 und t3 die Pipelineschaltung 902 bei der Taktung t4 in einem Zustand in Bereitschaft, der einen Rückstand von einem Taktungszyklus gegenüber der Kreuzschienenbezugstaktung hat.
  • Werden in diesem Zustand die Eingabedatenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) und die Eingabeanzeigesignale T (= 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0 und 1, ...) entsprechend den Daten von der Taktung t5 an eingegeben, arbeitet die Pipelineschaltung 902 auf die gleiche Weise wie die anhand von Fig. 17 beschriebene Pipelineschaltung, und Daten b&sub3;, b&sub4;, b&sub5;, b&sub7; und b&sub8;, ... werden im vierten Register, das auch ein Ausgaberegister der Pipelineschaltung 902 ist, bei den jeweiligen Taktungen t10, t11, t12, t13 und t14 ... und im Z-Register, d. h., dem Eingaberegister RIB, bei den jeweiligen nächsten Taktungen t11, t12, t13, t14 und t15 ... gespeichert.
  • Die in die Eingaberegister RIA und RIB durch die Abläufe gemäß Fig. 17 und 18 eingegebenen Daten werden ferner in die Bänke BANK1, BANK2, BANK3 und BANK4 des Speichers 904 durch den im Zeitdiagramm von Fig. 19 gezeigten Ablauf eingegeben.
  • Wie zuvor dargestellt wurde, ist ein Bezugstaktungszyklus von "1" dem Eingaberegister RIA und einer von "3" dem Eingaberegisters RIB zugewiesen. Das Ausgaberegister ROR1 wählt ein Ausgabedatum des Eingaberegisters RIA aus und gibt es ein, wenn der Bezugstaktungszyklus "1" ist, speichert es, wenn der Zyklus "2" ist, wählt ein Ausgabedatum des Eingaberegisters RIB aus und gibt es ein, während es das vorherige Datum hält, wenn der Zyklus "3" ist, speichert es, wenn der Zyklus "4" ist, wählt ein weiteres Ausgabedatum des Eingaberegisters RIA aus und gibt es ein, während es das vorherige Datum hält, wenn der Zyklus wiederum "1" ist, speichert es, wenn der Zyklus wiederum "2" ist usw. und wiederholt diese gleichen Abläufe in den vier Taktungszyklen. Wie zuvor ebenfalls beschrieben wurde, arbeitet das Ausgaberegister ROR2 auf die gleiche Weise wie das Ausgaberegister ROR1 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen Taktungszyklus nacheilt. Folglich wiederholt es in vier Taktungszyklen die Abläufe des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIA, seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "2" ist, des Auswählens und Eingebens eines Ausgabedatums des Eingaberegisters RIB und seines Speicherns bei der nächsten Taktung, wenn der Bezugstaktungszyklus "4" ist. Das Ausgaberegisters ROR3 arbeitet auf die gleiche Weise wie das Ausgaberegister ROR2 mit der Ausnahme, daß das erstgenannte dem letztgenannten um einen weiteren Taktungszyklus nacheilt, und dies gilt entsprechend für das Ausgaberegister ROR4.
  • Gemäß Fig. 19 wird als Ergebnis dieser Abläufe das im Eingaberegister RIA bei der Taktung t5 gespeicherte Datum a&sub2; im Ausgaberegister ROR1 bei der Taktung t6 gespeichert, wenn der Bezugstaktungszyklus "1" ist, das im Eingaberegister RIA bei der Taktung t10 gespeicherte Datum a&sub5; wird im Ausgaberegister ROR2 bei der Taktung t11 gespeichert, wenn der Bezugstaktungszyklus "2" ist, und die bei der Taktung t11 in den Eingaberegistern RIA und RIB gespeicherten Daten a&sub2; und b&sub3; werden in den Ausgaberegistern ROR3 bzw. ROR1 bei der Taktung t12 gespeichert, wenn der Bezugstaktungszyklus "3" ist. Danach werden ähnliche Abläufe wiederholt, und die Daten a&sub2;, b&sub3;, b&sub8;, a&sub1;&sub3;, ... werden in die Bank BANK1 des Speichers über das Ausgaberegister ROR1 eingegeben, die Daten a&sub5;, b&sub4;, ... werden in die Bank BANK2 des Speichers über das Ausgaberegister ROR2 eingegeben, die Daten a&sub6;, b&sub5;, ... werden in die Bank BANK3 des Speichers über das Ausgaberegister ROR3 eingegeben, und die Daten a&sub1;&sub0;, b&sub7;, ... werden in die Bank BANK4 des Speichers über das Ausgaberegister ROR4 eingegeben.
  • Unter Berücksichtigung einer Datenfolge D (= d&sub1;, d&sub2;, d&sub3;, d&sub4;, d&sub5;, ... = a&sub2;, a&sub5;, a&sub6;, a&sub1;&sub0;, a&sub1;&sub3;, ...) mit nur gültigen Daten aus der Datenfolge A (= a&sub1;, a&sub2;, a&sub3;, ...) und einer Datenfolge F (= f&sub1;, f&sub2;, f&sub3;, f&sub4;, f&sub5;, ... = b&sub3;, b&sub4;, b&sub5;, b&sub7;, b&sub8;, ...) mit nur gültigen aus der Datenfolge B (= b&sub1;, b&sub2;, b&sub3;, ...) wird deutlich, daß die 4xk+1-ten (k ist eine Ganzzahl) Daten d&sub1; (= a&sub1;), f&sub1; (= b&sub3;), d&sub5; (= a&sub1;&sub3;), f&sub5; (= b&sub8;), ... der Datenfolgen D und F in die Bank BANK1 des Speichers eingegeben werden, die 4xk+2-ten (k ist eine Ganzzahl) Daten d&sub2; (= a&sub5;), f&sub2; (= b&sub4;), ... der Datenfolgen D und F in die Bank BANK2 des Speichers, die 4xk+3-ten Daten d&sub3; (= a&sub6;), f&sub3; (= b&sub5;), ... der Datenfolgen D und F in die Bank BANK3 des Speichers und die 4xk+4-ten Daten d&sub4; (= a&sub1;&sub0;), f&sub4; (= b&sub7;), ... der Datenfolgen D und F in die Bank BANK4 des Speichers.
  • Somit wird deutlich, daß die erfindungsgemäße Pipelineschaltung zur Taktungseinstellung wirksam ist, um Daten zu einer verschachtelten Verarbeitungsvorrichtung in einer Folge für ausschließlich gültige Daten zu führen, auch wenn die Eingabedaten ungültige Daten aufweisen.
  • Fig. 20 ist ein Blockschaltbild einer siebenten bevorzugten Ausführungsform der Erfindung, worin der Vorteil der erfindungsgemäßen Pipelineschaltung vergrößert wird, indem das Ausgabeanzeigesignal H neben den in der sechsten Ausführungsform von Fig. 16 genannten Ausgabedaten Y herausgeführt wird. In Fig. 20 bezeichnen die gleichen Bezugszahlen wie in Fig. 16 jeweils die gleichen Bauelemente.
  • Gemäß Fig. 20 empfängt eine Anzeigesignal-Halteschaltung 205 die Eingabe des Auswahlsignals S von einer Auswahlsignal- Erzeugungsschaltung 101, erzeugt aus ihr mit einem Decodierer DCD2 Auswahlsignale S&sub1;, S&sub2;, S&sub3; und S&sub4; für vier Stufen von Anzeigesignal-Halteeinrichtungen F1, F2, F3 bzw. F4 und speichert das Eingabeanzeigesignal T in einer der vier Anzeigesignal-Halteeinrichtungen F1, F2, F3 und F4. Ist z. B. das Auswahlsignal S&sub3; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, wird das Eingabeanzeigesignal T in der Anzeigesignal- Halteeinrichtung F3 gespeichert. Das in der Anzeigesignal- Halteeinrichtung F3 gespeicherte Eingabeanzeigesignal T wird einen Taktungszyklus danach als das Ausgabeanzeigesignal V herausgeführt, gleichzeitig in die Anzeigesignal-Halteeinrichtung F4 eingegeben und einen weiteren Taktungszyklus danach gespeichert und ausgegeben.
  • Ist das Auswahlsignal S&sub4; aus den Auswahlsignalen S&sub1;, S&sub2;, S&sub3; und S&sub4; gültig, wird das Eingabeanzeigesignal T direkt als das Ausgabeanzeigesignal V von einer Auswahlschaltung SE34 geliefert, in die Anzeigesignal-Halteeinrichtung F4 eingegeben und einen Taktungszyklus später gespeichert und ausgegeben.
  • Die Ausgabe der Anzeigesignal-Halteeinrichtung F4 wird als die Ausgabedaten H der Pipelineschaltung 4000 herausgeführt, in einem E-Register 207 gespeichert und zusammen mit der Ausgabe Z eines Z-Registers 103 einer nachfolgenden Schaltung übergeben. Da die Daten Y, die von der Datenhalteschaltung 202 bei einer Taktung ausgegeben werden, bei der die Ausgabedaten H gültig sind (z. B. logisch "1"), stets gültig sind, können die Daten H, d. h., die Ausgabe E des E- Registers 207, als Steuersignal (z. B. als Schreibfreigabesignale o. ä.) für die Ausgabe Z des Z-Registers 103 in einer nachgeschalteten Schaltung verwendet werden.
  • Andere Teile der Pipelineschaltung 4000 sind mit denen der Pipelineschaltung 2000 von Fig. 16 identisch.
  • Fig. 21 ist ein Blockschaltbild einer achten bevorzugten Ausführungsform der Erfindung, in der der Vorteil der erfindungsgemaßen Pipelineschaltung dadurch vergrößert wird, daß nicht nur die Eingabedatenfolge A und die Eingabeanzeigesignale T wie in der sechsten Ausführungsform von Fig. 16 eingegeben werden, sondern auch ein Auswahlsignal-Anfangswert S0 und ein Anfangswerteinstellungs-Anzeigesignal ST. Gleichwertige Bauelemente wie in Fig. 16 sind jeweils mit den gleichen Bezugszahlen bezeichnet.
  • Gemäß Fig. 21 gibt eine Auswahlsignal-Erzeugungsschaltung 208, die den Auswahlsignal-Anfangswert S0, das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T als Eingaben empfängt, den Auswahlsignal-Anfangswert S0 als das Auswahlsignal S der nächsten Taktung aus, wenn das Anfangswerteinstellungs-Anzeigesignal ST Gültigkeit anzeigt, erzeugt das Auswahlsignal als Anzeige des nächsten Wertes gegenüber dem, der durch das vorherige Auswahlsignal S angezeigt wurde, aus den vier periodischen Werten 1, 2, 3, 4, 1 und 2, ... und gibt es aus, wenn sowohl das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T Ungültigkeit anzeigen, und hält den durch das vorherige Auswahlsignal S angezeigten Wert, wenn das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T Ungültigkeit bzw. Gültigkeit anzeigen.
  • Realisiert sein kann die vorgenannte Auswahlsignal-Erzeugungsschaltung 208 darstellungsgemäß mit einem Zykluszähler CNT2, der eine Auswahlschaltung SE41 mit drei Eingängen und einem Ausgang hat, zu deren Eingängen der ersten, zweiten und dritten Stufe der Auswahlsignal-Anfangswert S0, die Ausgabe einer +1-Schaltung AD bzw. der aktuelle Wert des Auswahlsignals S geführt werden, einem Gatter G41, das das Anfangswerteinstellungs-Anzeigesignal ST zur ersten Stufe der Auswahlschaltung SE41 führt und gleichzeitig sein invertiertes Signal erzeugt, einem Gatter G42, das das Eingabeanzeigesignal T und sein invertiertes Signal ausgibt, einem Gatter G43, das das logische Produkt aus dem invertierten Signal des Anfangswerteinstellungs-Anzeigesignals ST und dem des Eingabeanzeigesignals T zur zweiten Stufe der Auswahlschaltung SE41 führt, und einem Gatter G44, das das logische Produkt aus dem invertierten Signal des Anfangswerteinstellungs-Anzeigesignals ST und dem Eingabeanzeigesignal T zur dritten Stufe der Auswahlschaltung SE41 führt. Dieser Zykluszähler CNT2 ändert den Wert des Auswahlsignals synchron zum Taktungszyklus durch Auswählen des Werts des Auswahlsignal-Anfangswerts S0, wenn das Anfangswerteinstellungs-Anzeigesignal ST "1" anzeigt, des Werts "S+1", wenn sowohl das Anfangswerteinstellungs-Anzeigesignal ST und das Eingabeanzeigesignal T "0" anzeigen, oder des Werts "S", wenn das Anfangswerteinstellungs-Anzeigesignal ST "0" anzeigt und das Eingabeanzeigesignal T "1" anzeigt. Dieses Auswahlsignal S kann einen von vier Werten 1, 2, 3 und 4 anzeigen.
  • Andere Teile der Pipelineschaltung 6000 sind mit denen der Pipelineschaltung 2000 von Fig. 16 identisch.
  • Die vorstehend beschriebene Pipelineschaltung 6000 kann bei Verwendung z. B. als die anhand von Fig. 18 und 8 beschriebene Pipelineschaltung 902 die Taktung des Auswahlsignals S so einstellen, daß das erste gültige Datum im Eingaberegister RIB gespeichert werden kann, wenn die Kreuzschienenbezugstaktung "3" ist, indem ein Wert einen Taktungszyklus nach der Kreuzschienenbezugstaktung als der Auswahlsignal-Anfangswert S0 zusammen mit dem Anfangswerteinstellungs-Anzeigesignal ST eingegeben wird.
  • Wie bisher beschrieben wurde, bietet die erfindungsgemäße Pipelineschaltung die Vorteile, daß auch bei unregelmäßigen Dateneingabetaktungen oder Daten, die sowohl gültige und ungültige aufweisen, allein gültige Daten bei richtigen Taktungen ausgesendet werden können, indem die Erzeugung von Auswahlsignalen zur Bestimmung der Datenhaltedauer in der Pipelineschaltung unter Verwendung eines die Gültigkeit oder Ungültigkeit von Eingabedaten anzeigenden Signals gesteuert wird, und daß die Schaltung für diese Steuerung mit einfacher und kleiner Hardware realisierbar ist.

Claims (4)

1. Pipelineschaltung mit:
einer Auswahlsignal-Erzeugungsschaltung (101, 501, 303) zum Ausgeben, wenn ein entsprechend einem Datum Aj-1 aus einer Folge von m Eingabedaten A&sub1;, A&sub2;, ..., Am eingegebenes Eingabeanzeigesignal Tj-1 Ungültigkeit anzeigt, eines Auswahlsignals Sj, das den nächsten Wert gegenüber dem durch das vorhergehende Auswahlsignal Sj-1 angezeigten anzeigt, aus n periodischen Werten 1, 2, ..., n, 1, 2, ..., und, wenn das Eingabeanzeigesignal Tj-1 Gültigkeit anzeigt, eines Auswahlsignals Sj, das den gleichen Wert wie den durch das Auswahlsignal Sj-1 angezeigten anzeigt, und
einer Datenhalteschaltung (102, 502, 302, 602), die auf das durch die Auswahlsignal-Erzeugungsschaltung entsprechend dem Datum Aj erzeugte Auswahlsignal Sj reagiert, zum Eingeben, wenn der durch das Auswahlsignal Sj angezeigte Wert i ist, des Datums Aj in eine Datenhalteeinrichtung Ri, die i-te von n Stufen von Datenhalteeinrichtungen R&sub1;, R&sub2;, ..., Rn, und Ausgeben des Datums Aj über n-i Stufen von Datenhalteeinrichtungen Ri+1, Ri+2, ..., Rn (n-i) + 1 Taktungszyklen später als die Eingabe des Datums Aj; worin
die m Daten A&sub1;, A&sub2;, ..., Aj, ..., Am und die m Eingabeanzeigesignale T&sub1;, T&sub2;, ., Tj, ..., Tm eingegeben werden und gültige Daten von den m Daten nacheinander bei n x k + 1 (k ist eine Ganzzahl) Taktungszyklen ausgegeben werden.
2. Pipelineschaltung nach Anspruch 1, wobei die gleichen Informationseinheiten wie die m Eingabeanzeigesignale T&sub1;, T&sub2;, ..., Tm in die Datenhalteschaltung als Teil der m Eingabedaten A&sub1;, A&sub2;, ..., Am eingegeben werden.
3. Pipelineschaltung nach Anspruch 1 oder 2, wobei die Datenhalteschaltung auf das Datum Aj und das Eingabeanzeigesignal Tj reagiert, zum Eingeben, wenn der durch das Auswahlsignal Sj angezeigte Wert i ist, des Eingabeanzeigesignals Tj in die Datenhalteeinrichtung Ri, die i-te von n Stufen von Datenhalteeinrichtungen R&sub1;, R&sub2;, ..., Rn, sowie Ausgeben des Datums Aj über n-i Stufen von Datenhalteeinrichtungen Ri+1, Ri+2, ..., Rn (n-i) + 1 Taktungszyklen später als die Eingabe des Datums Aj, wenn das Eingabeanzeigesignal Tj Gültigkeit anzeigt, und Ungültigmachen des Datums Aj, wenn das Eingabeanzeigesignal Tj Ungültigkeit anzeigt.
4. Pipelineschaltung mit:
einer Auswahlsignal-Erzeugungsschaltung (101, 208) zum Ausgeben, wenn ein entsprechend einem Datum Aj-1 aus einer Folge von m Eingabedaten A&sub1;, A&sub2;, ..., Am eingegebenes Eingabeanzeigesignal Tj-1 Ungültigkeit anzeigt, eines Auswahlsignals Sj, das den nächsten Wert gegenüber dem durch das vorhergehende Auswahlsignal Sj-1 angezeigten anzeigt, aus n periodischen Werten 1, 2, ..., n, 1, 2, ... und, wenn das Eingabeanzeigesignal Tj-1 Gültigkeit anzeigt, eines Auswahlsignals Sj, das den gleichen Wert wie den durch das Auswahlsignal Sj-1 angezeigten anzeigt, und
einer Anzeigesignal-Halteschaltung (203, 205) zum Ausgeben eines Ausgabeanzeigesignals Vj = Tj, wenn der durch das Auswahlsignal Sj entsprechend der Eingabe des Eingabeanzeigesignals Tj und des Auswahlsignals Sj angezeigte Wert n ist, oder, wenn der durch das Auswahlsignal Sj angezeigte Wert i (i < n) ist, Eingeben des Eingabeanzeigesignals Tj in eine Anzeigesignal-Halteeinrichtung Fi, die i-te von n-1 Stufen von Anzeigesignal-Halteeinrichtungen F&sub1;, F&sub2;, ..., Fn-1, und Ausgeben desselben über n-i-1 Stufen von Anzeigesignal-Halteeinrichtungen Fi+1, Fi+2, ..., Fn-1 als das Ausgabeanzeigesignal Vj n-i Taktungszyklen später als die Eingabe des Eingabeanzeigesignals Tj,
einer Datenhalteschaltung (202) zum Eingeben, wenn der durch das Auswahlsignal Sj für die Eingabe des Datums Aj, des Auswahlsignals Sj entsprechend dem Datum Aj und des Ausgabeanzeigesignals Vj angezeigte Wert i (i < n) ist, des Datums Aj in eine Datenhalteeinrichtung Ri, die i-te von n Stufen von Datenhalteeinrichtungen R&sub1;, R&sub2;, ..., Rn, übertragen desselben als ein Datum P über n-i-1 Stufen von Datenhalteeinrichtungen Ri+1, Ri+2, ..., Rn n-i Taktungszyklen später als die Eingabe des Datums oder, wenn der durch das Auswahlsignal Sj angezeigte Wert n ist, Übertragen des Datums Aj als das Datum P zu der n-ten Datenhalteeinrichtung Rn und, wenn das Ausgabeanzeigesignal Vj Ungültigkeit anzeigt, Ungültigmachen der Eingabe in die n-te Datenhalteeinrichtung Rn oder, wenn das Ausgabeanzeigesignal Vj Gültigkeit anzeigt, Übertragen des Datums P zu der n-ten Datenhalteeinrichtung Rn und Ausgeben des Datums P 1 Taktungszyklus später; worin
die m Daten A&sub1;, A&sub2;, ..., Aj, ..., Am und die jeweils den Daten entsprechenden m Eingabeanzeigesignale T&sub1;, T&sub2;, ..., Tj, .., Tm eingegeben werden und gültige Daten von den m Daten nacheinander bei n x k + 1 (k ist eine Ganzzahl) Taktungszyklen ausgegeben werden.
DE68927241T 1988-05-20 1989-05-18 Pipelineschaltung für Zeitablaufregelung Expired - Fee Related DE68927241T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12354888A JPH01292533A (ja) 1988-05-20 1988-05-20 パイプライン回路
JP12354988A JPH0673106B2 (ja) 1988-05-20 1988-05-20 パイプライン回路
JP12355088A JPH0673107B2 (ja) 1988-05-20 1988-05-20 パイプライン回路

Publications (2)

Publication Number Publication Date
DE68927241D1 DE68927241D1 (de) 1996-10-31
DE68927241T2 true DE68927241T2 (de) 1997-03-06

Family

ID=27314740

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927241T Expired - Fee Related DE68927241T2 (de) 1988-05-20 1989-05-18 Pipelineschaltung für Zeitablaufregelung

Country Status (3)

Country Link
US (1) US5142685A (de)
EP (1) EP0342674B1 (de)
DE (1) DE68927241T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572714A (en) * 1992-10-23 1996-11-05 Matsushita Electric Industrial Co., Ltd. Integrated circuit for pipeline data processing
US5896552A (en) * 1995-06-07 1999-04-20 National Instruments Corporation Bus analyzer for capturing bus signals at a predetermined rate and upon assertion of a data valid signal
US6101621A (en) * 1995-10-20 2000-08-08 Kabushiki Kaisha Toshiba Logic circuit and method for designing the same
US5886658A (en) * 1997-05-15 1999-03-23 Crystal Semiconductor Corporation Serial port interface system and method for an analog-to-digital converter
US6484027B1 (en) * 1998-06-15 2002-11-19 Sbc Technology Resources, Inc. Enhanced wireless handset, including direct handset-to-handset communication mode

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5255446A (en) * 1975-10-31 1977-05-06 Toshiba Corp Information transfer control system
US4371927A (en) * 1977-11-22 1983-02-01 Honeywell Information Systems Inc. Data processing system programmable pre-read capability
US4189767A (en) * 1978-06-05 1980-02-19 Bell Telephone Laboratories, Incorporated Accessing arrangement for interleaved modular memories
FR2465269B1 (fr) * 1979-09-12 1985-12-27 Cii Honeywell Bull Selecteur de demandes asynchrones dans un systeme de traitement de l'information
US4574345A (en) * 1981-04-01 1986-03-04 Advanced Parallel Systems, Inc. Multiprocessor computer system utilizing a tapped delay line instruction bus
US4553203A (en) * 1982-09-28 1985-11-12 Trw Inc. Easily schedulable horizontal computer
JPH0652530B2 (ja) * 1982-10-25 1994-07-06 株式会社日立製作所 ベクトル・プロセッサ
US4802120A (en) * 1984-10-30 1989-01-31 Tandy Corporation Multistage timing circuit for system bus control
US4682284A (en) * 1984-12-06 1987-07-21 American Telephone & Telegraph Co., At&T Bell Lab. Queue administration method and apparatus
JPH0766329B2 (ja) * 1985-06-14 1995-07-19 株式会社日立製作所 情報処理装置
JPS6226580A (ja) * 1985-07-29 1987-02-04 Hitachi Ltd 障害処理方式
JPS62250748A (ja) * 1986-04-24 1987-10-31 Matsushita Electric Ind Co Ltd 符号変換装置

Also Published As

Publication number Publication date
EP0342674B1 (de) 1996-09-25
DE68927241D1 (de) 1996-10-31
US5142685A (en) 1992-08-25
EP0342674A3 (de) 1991-03-20
EP0342674A2 (de) 1989-11-23

Similar Documents

Publication Publication Date Title
DE69029479T2 (de) Hochleistungsspeichersystem
DE68928727T2 (de) Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage
DE69129569T2 (de) Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE3650413T2 (de) Verfahren und Vorrichtung zur Annulierung eines Befehls.
DE19882363B4 (de) Prozessor mit einem Umgehungsnetzwerk und mehreren Ports
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE102004013676A1 (de) Schleifenbetrieb mit null Overhead in einem Mikroprozessor mit Anweisungspuffer
DE2714805A1 (de) Datenverarbeitungssystem
DE69624159T2 (de) Verfahren und Vorrichtung zur Befehlsausgabe
DE10253137A1 (de) Verfahren zur Auswertung von skalierbaren, symmetrischen Kohärenz-Protokollen und Algorithmen eines Mehrprozessor-Cache-Speichers
DE3752280T2 (de) Mustergenerator
DE112005002370T5 (de) Ausführung von Kontrollbefehlen in redundanten Multithreadingumgebungen
DE2725396C3 (de)
DE69410660T2 (de) Instruktionsspeichersystem für RISC-Mikroprozessor, fähig zu relativen Progammzahleradressierung
DE3855605T2 (de) Datenverarbeitungsvorrichtung
DE19824289C2 (de) Pipelineverarbeitungsmaschine
DE68927241T2 (de) Pipelineschaltung für Zeitablaufregelung
DE4434529A1 (de) Verfahren zum Verarbeiten eines Befehls mit Einsatzbedingung und Vorrichtung dazu
DE68924883T2 (de) Mikroprozessor mit Befehlspipeline.
DE60015720T2 (de) Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem
DE3919802C2 (de) Speichersteuersystem für ein Multiprozessorsystem
DE3314139C2 (de)

Legal Events

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