DE69025650T2 - Multiprozessorsystem mit Vektorpipelinen - Google Patents
Multiprozessorsystem mit VektorpipelinenInfo
- Publication number
- DE69025650T2 DE69025650T2 DE69025650T DE69025650T DE69025650T2 DE 69025650 T2 DE69025650 T2 DE 69025650T2 DE 69025650 T DE69025650 T DE 69025650T DE 69025650 T DE69025650 T DE 69025650T DE 69025650 T2 DE69025650 T2 DE 69025650T2
- Authority
- DE
- Germany
- Prior art keywords
- processors
- vector
- memory
- processor
- request
- 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
Links
- 230000005540 biological transmission Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8092—Array of vector units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung betrifft ein Multiprozessorsystem, das Informationen mit hoher Geschwindigkeit verarbeiten kann.
- Seit der Herstellung eines "Supercomputers" durch die Firma Cray Research Inc., Minnesota, USA und dessen Vermarktung unter der Bezeichnung Cray-1 seit 1978 besteht ein starker Bedarf an der Durchführung wissenschaftlicher Berechnungen mit hoher Geschwindigkeit.
- Angesichts dessen wird in letzter Zeit ein Computersystem gefordert, das nicht nur eine große Anzahl von Vektorelementen mit hoher Geschwindigkeit, sondern auch eine große Anzahl von Aufträgen verarbeiten kann.
- Zur Erfüllung dieser Forderung wurde ein Computersystem vorgeschlagen, das mehrere Vektorrecheneinheiten speziell für eine Vektorberechnung sowie eine Befehlssteuereinheit zum Steuern der Vektorrecheneinheiten aufweist. Das Computersystem kann zweifelsohne die Vektorberechnung mit hoher Geschwindigkeit unter Verwendung der mehreren Vektorrecheneinheiten durchführen und verarbeitet die große Anzahl der Vektorelemente mit hoher Geschwindigkeit überaus wirksam. Nicht immer ist das genannte Computersystem jedoch zur Verarbeitung einer großen Anzahl von Aufträgen geeignet, da solche Aufträge nicht allein auf die Vektorberechnung beschränkt sind und während der Vektorberechnung keine andere Verarbeitung erfolgen kann.
- Andererseits wurden vielfältige Computersysteme vorgeschlagen, die jeweils mehrere Prozessoren aufweisen und gemeinsam als Multiprozessorsysteme bezeichnet werden können. Solche Multiprozessorsysteme können eine große Anzahl von Aufträgen schnell verarbeiten und damit den Durchsatz verbessern. Dabei hat jeder Prozessor in einem solchen Multiprozessorsystem gewöhnlich einen ähnlichen Aufbau und Betrieb wie die anderen und weist eine einzelne Vektorrecheneinheit zusätzlich zu einer Verarbeitungseinheit für eine Skalarberechnung und eine Adreßberechnung auf. Dies zeigt, daß jeder Prozessor selbst nicht in der Lage ist, eine große Anzahl von Vektorelementen mit hoher Geschwindigkeit zu verarbeiten und daher zwangsläufig eine lange Zeit zur Vektorberechnung benötigt. Somit ist jeder Prozessor nicht zur Durchführung der Vektorberechnung einer großen Anzahl von Vektorelementen geeignet. Dies bedeutet, daß die herkömmlichen Multiprozessorsysteme nicht in der Lage sind, die Aufträge flexibel den mehreren Prozessoren zuzuweisen.
- In jedem Fall können alle genannten herkömmlichen Computersysteme die in letzter Zeit erhobene Forderung nicht vollständig erfüllen, da in den herkömmlichen Systemen eine große Anzahl von Vektorelementen und eine große Anzahl von Aufträgen nicht flexibel verarbeitet werden können.
- Die US-A-4685076 beschreibt einen Vektorprozessor mit mehreren Vektorregistern, mehreren Vektorrechenwerken sowie Datenübertragungsschaltungen.
- Eine Aufgabe der Erfindung besteht darin, ein Multiprozessorsystem vorzusehen&sub1; das eine große Anzahl von Vektorelementen und eine große Anzahl von Aufträgen mit hoher Geschwindigkeit verarbeiten sowie Aufträge flexibel den Prozessoren zuweisen kann. Diese Aufgabe wird mit den Merkmalen der Ansprüche gelöst.
- Ein Multiprozessorsystem, auf das die Erfindung anwendbar ist, weist mehrere Prozessoren und einen gemeinsamen Hauptspeicher für die mehreren Prozessoren auf. Jeder der Prozessoren weist auf: mindestens eine Vektorrecheneinheit speziell für eine Vektorberechnung und eine jeweils mit den Vektorrecheneinheiten in den Prozessoren sowie dem Hauptspeicher gekoppelte Zugriffssteuereinrichtung zum einzelnen Steuern der Vektorrecheneinheiten in den Prozessoren, um die Vektorrecheneinheiten unabhängig zu veranlassen, auf den Hauptspeicher zuzugreifen.
- Fig. 1 ist ein Blockschaltbild eines Multiprozessor-Computersystems gemäß einer bevorzugten Ausführungsform der Erfindung;
- Fig. 2 ist ein Blockschaltbild eines Prozessors zur Verwendung im Multiprozessor-Computersystem von Fig. 1;
- Fig. 3 ist ein Blockschaltbild einer Speicherzugriffssteuerung zur Verwendung im Multiprozessorsystem von Fig. 1; und
- Fig. 4 ist ein Blockschaltbild eines weiteren Prozessors, der auf das Multiprozessorsystem von Fig. 1 anwendbar ist.
- Gemäß Fig. 1 weist ein Multiprozessorsystem in einer bevorzugten Ausführungsform der Erfindung auf: ein Paar Prozessoren 11 und 12, die als erster bzw. zweiter Prozessor bezeichnet werden können&sub1; eine gemeinsame Speicherzugriffssteuerung 13 für den ersten und zweiten Prozessor 11 und 12 und einen mit der Speicherzugriffssteuerung 13 verbundenen Hauptspeicher 14. Zu beachten ist, daß der erste und zweite Prozessor 11 und 12 möglicherweise nicht immer identisch sind, obwohl die Beschreibung von der Annahme einer Identität zwischen dem ersten und zweiten Prozessor 11 und 12 ausgeht.
- In Fig. 1 ist der erste Prozessor 11 mit der Speicherzugriffssteuerung 13 über einen ersten Anforderungspfad 111, einen ersten Speicherdatenpfad 112 und einen ersten Ladedatenpfad 113 verbunden. Gleichermaßen ist der zweite Prozessor 12 mit der Speicherzugriffssteuerung 13 über einen zweiten Anforderungspfad 121, einen zweiten Speicherdatenpfad 122 und einen zweiten Ladedatenpfad 123 verbunden.
- Der erste und zweite Anforderungspfad 111 und 121 dienen zum übertragen von Anforderungsinformationssignalen vom ersten und zweiten Prozessor 11 und 12 zur Speicherzugriffssteuerung 13 oder von der Speicherzugriffssteuerung 13 zum ersten und zweiten Prozessor 11 und 12. Der erste und zweite Speicherdatenpfad 112 und 122 dienen zum übertragen von Speicherdatensignalen vom ersten und zweiten Prozessor 11 und 12 zur Speicherzugriffssteuerung 13. Ferner dienen der erste und zweite Ladedatenpfad 113 und 123 zum übertragen von Lade- oder Auslesedatensignalen von der Speicherzugriffssteuerung 13 zum ersten und zweiten Prozessor 11 und 12.
- Andererseits ist die Speicherzugriffssteuerung 13 mit dem Hauptspeicher 14 über einen Steuerungsanforderungspfad 131, einen Steuerungsspeicherdatenpfad 132 und einen Steuerungsladedatenpfad 133 verbunden. Der Steuerungsanforderungspfad 131 dient zum übertragen eines Anforderungsinformationssignals zwischen der Speicherzugriffssteuerung 13 und dem Hauptspeicher 14, während der Steuerungsspeicherdatenpfad 132 und der Steuerungsladedatenpfad 133 zum übertragen der Speicherdatensignale von der Speicherzugriffssteuerung 13 zum Hauptspeicher 14 bzw. zum übertragen der Ladedatensignale vom Hauptspeicher 14 zur Speicherzugriffssteuerung 13 dienen.
- Gemäß Fig. 2 zusätzlich zu Fig 1 kann ein in Fig. 2 gezeigter Prozessor der erste Prozessor 11 oder der zweite Prozessor 12 sein, wobei angenommen wird, daß er zunächst als der erste Prozessor 11 verwendet wird. Im veranschaulichten Beispiel weist der Prozessor eine Befehlssteuereinheit 16 und vier Vektorrecheneinheiten 21, 22, 23 und 24 auf, die als erste, zweite, dritte bzw. vierte Vektorrecheneinheit bezeichnet werden und speziell zur Vektorberechnungen dienen. Außerdem weist die gezeigte Befehlssteuereinheit 16 eine Verarbeitungseinheit 26 auf, die eine Skalarberechnung und andere Berechnungen als die Vektorberechnungen durchführt. Die anderen Berechnungen können z. B. Adreßberechnungen sein.
- Die erste bis vierte Vektorrecheneinheit 21 bis 24 sind mit der Speicherzugriffssteuerung 13 über eine erste bis vierte Speicherleitung 112-1 bis 112-4 sowie über eine erste bis vierte Ladeleitung 113-1 bis 113-4 verbunden. Die erste bis vierte Speicherleitung 112-1 bis 112-4 bilden gemeinsam den ersten Speicherpfad 112, während die erste bis vierte Ladeleitung 113-1 bis 113-4 gemeinsam den ersten Ladepfad 113 bilden. Andererseits ist die erste Befehlssteuereinheit 16 mit der Speicherzugriffssteuerung 13 über eine Anforderungssendeleitung 111-1 und eine Anforderungsempfangsleitung 111-2 verbunden, die beide gemeinsam als der erste Anforderungspfad 111 bezeichnet werden können.
- Im veranschaulichten Beispiel wird, wie vorstehend erläutert wurde, von einer Identität des zweiten Prozessors 12 mit dem ersten Prozessor 11 ausgegangen. Bei Verwendung des dargestellten Prozessors als zweiter Prozessor 12 können die erste bis vierte Speicherleitung des zweiten Speicherdatenpfads 122 in 122-1, 122-2, 122-3 bzw. 122-4 des zweiten Speicherdatenpfads 122 umbenannt werden, was in Klammern angegeben ist. Gleichermaßen werden die erste bis vierte Ladeleitung des zweiten Ladedatenpfads 123 in 123-1, 123-2, 123-3 bzw. 123-4 umbenannt, während die Anforderungssendeleitung und die Anforderungseinpfangsleitung des zweiten Anforderungspfads 121 mit 121-1 bzw. 121-2 dargestellt sind.
- Ferner weist jede Befehlssteuereinheit 16 des ersten und zweiten Prozessors 11 und 12 ein Register 31 zum überwachen von Zuständen der Vektorrecheneinheiten 21 bis 24 im jeweiligen ersten und zweiten Prozessor 11 und 12 auf. Insbesondere wird das Register 31 über eine (nicht gezeigte) Suchpfadleitung gesetzt, die z. B. bei der Diagnose eines Fehlers verwendet wird. In diesem Zusammenhang stellen Inhalte des Registers 31 die Anzahl der Vektorrecheneinheiten dar, die im jeweiligen ersten und zweiten Prozessor 11 und 12 verfügbar sind. Anders ausgedrückt stellen die Inhalte des Registers 31 eine Konfiguration der verfügbaren Vektorrecheneinheiten dar und werden als Konfigurationssignal erzeugt. Daher hat das Register 31 vier Bits, die jeweils von einem höchstwertigen Bit bis zu einem niederwertigsten Bit entsprechend der ersten bis vierten Vektorrecheneinheit 21 bis 24 angeordnet sind. Sind beispielsweise die erste bis vierte Vektorrecheneinheit 21 bis 24 verfügbar, wird das Register 31 auf "1111" gesetzt, wenn ein logischer Pegel "1" und ein logischer Pegel "0" einen verfügbaren Zustand jeder Vektorrecheneinheit bzw. einen nicht verfügbaren Zustand darstellen. Ist lediglich die erste Vektorrecheneinheit 21 verfügbar, während die anderen Vektorrecheneinheiten 22 bis 24 infolge von aufgetretenen Fehlern o. ä. nicht verfügbar sind, wird das erste Register 31 auf "1000" gesetzt. Folglich nehmen die Inhalte des ersten Registers 31 einen Zustand ein, der aus sieben Zuständen "1000", "1100", "0011", "1000", "0100", "0010" und "0001" ausgewählt wird.
- In Fig. 2 arbeiten die erste bis vierte Vektorrecheneinheit 21 bis 24 parallel, indem Pipelines für die Vektorberechnungen gebildet werden. Dazu weist jede der ersten bis vierten Vektorrecheneinheit 21 bis 24 eine Gruppe von Vektorregistern zum Halten von mehreren Vektorelementen und einen Satz Pipelines zum Berechnen von Additionen, Subtraktionen, Multiplikationen, Divisionen, logischen Operationen und Schiebeoperationen auf die bekannte Weise auf. Vektorelemente werden nacheinander jeder der ersten bis vierten Vektorrecheneinheit 21 bis 24 zugewiesen oder zugeordnet, die in einen verfügbaren Zustand in einer vorbestimmten Reihenfolge versetzt wird, z. B. in einer aufsteigenden Reihenfolge. Eine solche Zuordnung der Vektorelemente zur ersten bis vierten Vektorrecheneinheit 21 bis 24 erfolgt durch Dividieren von Anzahlen, die den jeweiligen Vektorelementen zugewiesen sind, durch die Anzahl der Vektorrecheneinheit 21 bis 24, um Reste zu erhalten, und aufeinanderfolgendes Zuweisen der durch die Reste spezifizierten Vektorelemente zu den Vektorrecheneinheiten 21 bis 24.
- Angenommen wird, daß der in Fig. 2 veranschaulichte Prozessor als der erste Prozessor 11 verwendet wird. Die Speicherdatensignale werden von der ersten bis vierten Vektorrecheneinheit 21 bis 24 zur Speicherzugriffssteuerung 13 über die erste bis vierte Speicherleitung 112-1 bis 112-4 gesendet, während die Ladedatensignale von der Speicherzugriffssteuerung 13 zur ersten bis vierten Vektorrecheneinheit 21 bis 24 über die erste bis vierte Ladeleitung 113-1 bis 113-4 gesendet werden. Außerdem dient die Befehlssteuereinheit 16 zur Steuerung des Decodierens und der Erzeugung jedes Befehls.
- Beim Decodieren eines Vektorrechenbefehls führt die erste Befehlssteuereinheit 16 (Fig. 2) einen Vektorrechenbefehl zur ersten bis vierten Vektorrecheneinheit 21 bis 24 über eine erste interne Befehlsleitung 36. In diesem Fall beliefert die erste Befehlssteuereinheit 16 die Speicherzugriffssteuerung 13 über die Anforderungssendeleitung 111-1 mit dem Anforderungsinformationssignal, das verschiedene später näher zu beschreibende Arten von Informationen aufweist. Ein ähnlicher Betrieb läuft im zweiten Prozessor ab. In diesem Fall wird das Anforderungsinformationssignal zur Speicherzugriffssteuerung 13 über die Anforderungssendeleitung 121-1 (in Fig. 2 in Klammern angedeutet) geführt.
- Beim Auslesen einer Folge von Vektorelementen aus dem Hauptspeicher 14 als die Lade- oder Auslesedatensignale nach Abschluß einer Speicherzugriffsoperation wird ein Antwortsignal von der Speicherzugriffssteuerung 13 zur Befehlssteuereinheit 16 über die Anforderungsempfangsleitung 111-2 oder 121-2 gesendet. Wird angenommen, daß das Antwortsignal zum ersten Prozessor 11 geführt wird, führt die Befehlssteuereinheit 16 einen Datenabrufbefehl zur ersten bis vierten Vektorrecheneinheit 21 bis 24 des ersten Prozessors über die erste interne Befehlsleitung 36. Als Ergebnis werden die Vektorelemente nacheinander der ersten bis vierten Vektorrecheneinheit 21 bis 24 entsprechend den Inhalten des Registers 31 auf die zuvor erwähnte Weise zugewiesen und als die Ladedatensignale abgerufen. Anschließend werden die erste bis vierte Vektorrecheneinheit 21 bis 24 parallel zueinander pipelineartig verarbeitet. Zu beachten ist, daß die Vektorelemente nur jenen Vektorrecheneinheiten zugewiesen werden, die verfügbar sind.
- Ein ähnlicher Betrieb läuft im zweiten Prozessor 12 ab, wenn die Vektorelemente aus dem Hauptspeicher 14 ausgelesen werden, um über die Speicherzugriffssteuerung 13 zum zweiten Prozessor 12 gesendet zu werden.
- Andererseits werden die Skalarberechnung und die Adreßberechnung in der Verarbeitungseinheit 26 des ersten bzw. zweiten Prozessors 11 und 12 durchgeführt.
- Mit dieser Struktur werden die Vektorelemente hauptsächlich unter Steuerung der Speicherzugriffssteuerung 13 dem ersten Prozessor 11 oder zweiten Prozessor 12 unter Berücksichtigung der Inhalte des Registers 31 zugewiesen und durch den ausgewählten ersten oder zweiten Prozessors 11 oder 12 verarbeitet, der mehrere Vektorrecheneinheiten 21 bis 24 aufweist. Daher können die Vektorelemente mit hoher Geschwindigkeit verarbeitet werden. Außerdem kann die Skalarberechnung während der Verarbeitung der Vektorelemente im ausgewählten Prozessor durch den verbleibenden Prozessor durchgeführt werden, was unabhängig vom ausgewählten Prozessor erfolgen kann. Folglich lassen sich im veranschaulichten Multiprozessorsystem viele Aufträge flexibel den Prozessoren zuweisen und außerdem mit hoher Geschwindigkeit verarbeiten.
- Gemäß Fig. 3 weist die Speicherzugriffssteuerung 13 auf: eine Anforderungssteuerung 51, einen Adreßrechner 52, einen Schaltkreis 53, eine erste Abgleichsteuerung 54, eine erste Abgleichschaltung 55, eine Verzögerungsschaltung 56, eine zweite Abgleichsteuerung 57 und eine zweite Abgleichschaltung 58. Die Anforderungssteuerung 51 ist an den Anforderungssendeleitungen 111-1 und 121-1 angeschlossen, die mit den Befehlssteuereinheiten 16 des ersten und zweiten Prozessors 11 und 12 verbunden sind, und steuert den Adreßrechner 52, den Schaltkreis 53 und die erste Abgleichsteuerung 54 über eine erste, zweite und dritte interne Verbindung 61, 62 bzw. 63. Außerdem steuert die Anforderungssteuerung 51 die Verzögerungsschaltung 56 über die dritte interne Verbindung 63. In jedem Fall dient die Anforderungssteuerung 51 zum Aufteilen der vom ersten und zweiten Prozessor 11 und 12 gesendeten Anforderungsinformationssignale auf eine später zu beschreibende Weise und kann als Aufteilungsschaltung bezeichnet werden.
- Der Schaltkreis 53 ist mit der ersten bis vierten Speicherleitung 112-1 bis 112-4 (Fig. 2) des ersten Speicherdatenpfads 112 verbunden, der von der ersten zur vierten Vektorrecheneinheit 21 bis 24 verläuft, und er ist mit der ersten bis vierten Speicherleitung 122-1 bis 122-4 des zweiten Speicherdatenpfads 122 verbunden. Der Schaltkreis 53 dient zum Umschalten zwischen dem ersten Speicherdatenpfad 112 und dem zweiten Speicherdatenpfad 122 unter Steuerung der Anforderungssteuerung 51. Folglich werden die Speicherdatensignale auf dem ersten Speicherdatenpfad 112 und dem zweiten Speicherdatenpfad 122 selektiv vom Schaltkreis 53 erzeugt.
- Die durch den Schaltkreis 53 ausgewählten Speicherdatensignale werden zur ersten Abgleichschaltung 55 über eine erste bis vierte Innenleitung 66-1 bis 66-4 gesendet, die gemeinsam mit 66 bezeichnet sind, wobei die Zuführung zur ersten Abgleichschaltung 55 unter Steuerung durch die erste Abgleichsteuerung 54 erfolgt, die mit der Anforderungssteuerung 51 über die dritte interne Verbindung 63 verbunden ist. Die erste Abgleichschaltung 55 weist die Speicherdatensignale dem Steuerungsspeicherpfad 132 unter Steuerung der ersten Abgleichsteuerung 54 zu. Der veranschaulichte Steuerungsspeicherpfad 132 ist durch eine erste bis vierte Steuerungsspeicherleitung 132-1 bis 132-4 gebildet, die mit Speicheranschlüssen des Hauptspeichers 14 verbunden sind.
- Der Adreßrechner 52 ist mit der Anforderungssteuerung 51 über die erste interne Verbindung 61 verbunden und kann gleichzeitig maximal vier Adreßsignale erzeugen. Die Adreßsignale werden zum Hauptspeicher 14 über den Steuerungsanforderungspfad 131 gesendet, der sich aus einer ersten bis vierten Steuerungsanforderungsleitung 131-1 bis 131-4 zusammensetzt. Außerdem steuert die Anforderungssteuerung 51 die zweite Abgleichsteuerung 57 über die Verzögerungsschaltung 56, die mit dem ersten und zweiten Prozessor 11 und 12 über die Anforderungsempfangsleitungen 111-2 bzw. 121-2 verbunden ist.
- Die zweite Abgleichschaltung 58 ist mit dem Hauptspeicher 14 über den Steuerungsladedatenpfad 133 verbunden, der sich aus einer ersten bis vierten Steuerungsladeleitung 133-1 bis 133-4 zusammensetzt, und ist mit dem ersten Ladedatenpfad 113 und dem zweiten Ladedatenpfad 123 verbunden, die vom ersten und zweiten Prozessor 11 und 12 verlaufen. Die zweite Abgleichschaltung 58 dient zum selektiven Zuführen der Ladedatensignale zum ersten und zweiten Prozessor 11 und 12 über den ersten und zweiten Ladedatenpfad 113 und 123 unter Steuerung der zweiten Abgleichsteuerung 57.
- Wie aus der vorstehenden Beschreibung leicht deutlich wird, dient eine Kombination aus dem Schaltkreis 53 sowie der ersten und zweiten Abgleichschaltung 55 und 58 zur Verbindung der Vektorrecheneinheiten mit dem Hauptspeicher 14.
- Im Betrieb soll angenommen werden, daß der erste Prozessor 11 das Anforderungsinformationssignal von der Befehlssteuerung 16 (Fig. 2) zur Speicherzugriffssteuerung 13 über die Anforderungssendeleitung 111-1 führt. In diesem Fall wird angenommen, daß das Anforderungsinformationssignal aufweist: eine Anforderung, eine führende Adresse der Vektorelemente, den Abstand zwischen zwei benachbarten Vektorelementen, die Anzahl der Vektorelemente, ein Kommando als Darstellung einer Zugriffsoperationsart sowie die Inhalte des ersten Registers 31, die in der Befehlssteuereinheit 16 gehalten werden und die Anzahl der Vektorrecheneinheiten darstellen, die im ersten Prozessor 11 verfügbar sind und als verfügbare Vektorrecheneinheiten bezeichnet werden können.
- Die Anforderungssteuerung 51 teilt die Anforderungen zwischen dem ersten und zweiten Prozessor 11 und 12 auf, um eine der Anforderungen als ausgewählte Anforderung auszuwählen. Anschließend bestimmt die Anforderungssteuerung 51 eine maximale Anzahl von Vektorelementen, die gleichzeitig durch die ausgewählte Anforderung zugänglich sind und die als gleichzeitig zugängliche Vektorelemente bezeichnet werden können. In diesem Fall richtet sich die maximale Anzahl der Vektorelemente nach der Anzahl der verfügbaren Vektorrecheneinheiten. Ist insbesondere die Anzahl der verfügbaren Vektorrecheneinheiten gleich vier, ist die maximale Anzahl der gleichzeitig zugänglichen Vektorelemente gleich vier. Ist gleichermaßen die Anzahl der verfügbaren Vektorrecheneinheiten gleich zwei und eins, ist die maximalen Anzahl der gleichzeitig zugänglichen Vektorelemente gleich zwei bzw. eins.
- Da die Anforderungsinformationssignale einzeln von den jeweiligen Prozessoren gesendet werden, berechnet die Anforderungssteuerung 51 die Anzahl der gleichzeitig zugänglichen Vektorelemente bei jeder Anforderung auch dann richtig, wenn sich die Anzahl der Vektorrecheneinheiten in den Prozessoren voneinander unterscheidet.
- Die Anforderungssteuerung 51 beliefert den Adreßrechner 52 über die erste interne Verbindung 61 mit der Anzahl der gleichzeitig zugänglichen Vektorelemente zusammen mit der führenden Adresse und dem Abstand zwischen zwei benachbarten Vektorelementen. Der Adreßrechner 52 berechnet Adressen der Vektorelemente auf der Grundlage der führenden Adresse, der Anzahl der gleichzeitig zugänglichen Vektorelemente und des Abstands. Die durch den Adreßrechner 52 berechneten Adressen haben die gleiche Anzahl wie die gleichzeitig zugänglichen Vektorelemente und werden zum Hauptspeicher 14 über die Steuerungsanforderungsleitungen 131-1 bis 131-4 zusammen mit der Anforderung gesendet.
- Hierbei wird angenommen, daß die Anforderung eine Speicheranforderung ist, die eine Speicherung von Datensignalen vom ersten Prozessor 11 zum Hauptspeicher 14 anfordert. Außerdem wird angenommen, daß ein erstes bis viertes der Speicherdatensignale von der ersten bis vierten Vektorrecheneinheit 21 bis 24 (Fig. 2) zum Schaltkreis 53 (Fig. 4) gesendet werden. Unter diesen Umständen wählt die Anforderungssteuerung 51 den ersten Prozessor 11 aus und beliefert den Schaltkreis 53 über die zweite interne Verbindung 62 mit einem Schaltsignal als Anzeige der Auswahl der ersten bis vierten Speicherdatenleitung 112-1 bis 112-4 des ersten Prozessors 11. Als Ergebnis werden das erste bis vierte Speicherdatensignal vom Schaltkreis 53 über die vier Innenleitungen 66 zur ersten Abgleichschaltung 55 gesendet, die durch die erste Abgleichsteuerung 54 gesteuert wird.
- Der ersten Abgleichsteuerung 54 werden von der Anforderungssteuerung 51 über die dritte interne Verbindung 63 die führende Adresse, der Abstand zwischen zwei benachbarten Vektorelementen und die Anzahl der verfügbaren Vektorrecheneinheiten zugeführt. Anders ausgedrückt kann die Anzahl der verfügbaren Vektorrecheneinheiten als Konfigurationssignal zur Darstellung einer Konfiguration der verfügbaren Vektorrecheneinheiten bezeichnet werden. Als Reaktion auf die führende Adresse, den Abstand und die Anzahl der verfügbaren Vektorrecheneinheiten führt die erste Abgleichsteuerung 54 ein Steuersignal zur ersten Abgleichschaltung 55. Das Steuersignal steuert die erste Abgleichschaltung 55 so, daß die Speicherdatensignale auf der ersten bis vierten Innenleitung 66-1 bis 66-4 der ersten bis vierten Steuerungsspeicherleitung 132-1 bis 132-4 zugewiesen werden, die durch die führende Adresse, den Abstand und die Anzahl der verfügbaren Vektorrecheneinheiten bestimmt sind. Eine solche Abgleichsteuerung 54 und eine erste Abgleichschaltung 55 können der Beschreibung in der EP-A-0189200 entsprechen und werden im folgenden daher nicht mehr erwähnt.
- Beispielsweise wird angenommen, daß die Inhalte des ersten Registers 31 gleich "1111" sind und daß die führende Adresse des führenden der Speicherdatensignale sowie die folgende Adresse des folgenden der Speicherdatensignale so sind, daß sie den Speicheranschlüssen des Hauptspeichers 14 entsprechen, die mit der ersten und zweiten Steuerungsspeicherleitung 132-1 bzw. 132-2 verbunden sind. Wird in diesem Fall auf die veranschaulichte Speicherzugriffssteuerung 13 durch den ersten Prozessor 11 zugegriffen, so wird das führende Speicherdatensignal über die erste Innenleitung 66-1 geführt und der ersten Steuerungsspeicherleitung 132-1 zugewiesen, um zum Hauptspeicher 14 geführt zu werden, während das folgende Speicherdatensignal über die zweite Innenleitung 66-2 geführt und der zweiten Steuerungsspeicherleitung 132-2 zugewiesen wird, um zum Hauptspeicher 14 gesendet zu werden.
- Greift andererseits der zweite Prozessor 12 auf den Hauptspeicher 14 mit dem Register 31 auf "0011" zu, werden die Speicherdatensignale über den Schaltkreis 53 zur ersten Abgleichschaltung 55 gesendet, um der dritten und vierten Steuerungsspeicherleitung 132-3 und 132-4 auf der Grundlage des Inhalts des Registers 31 (Fig. 2) zugewiesen zu werden. Somit weist die erste Abgleichschaltung 55 die Speicherdatensignale der dritten und vierten Steuerungsspeicherdatenleitung 132-3 und 132-4 entsprechend der Konfiguration der verfügbaren Vektorrecheneinheiten zu, die durch das Register 31 angezeigt ist.
- Im veranschaulichten Beispiel ist die Anforderungssteuerung 51 außerdem mit der Verzögerungsschaltung 56 über die dritte interne Verbindung 63 verbunden. Daraus wird deutlich, daß der Verzögerungsschaltung 56 das Anforderungsinformationssignal von der Anforderungssteuerung 51 zugeführt wird. Durch die Verzögerungsschaltung 56 wird das Anforderungsinformationssignal um ein Zeitintervall verzögert, das zum Zugreifen auf den Hauptspeicher 14 erforderlich ist. Nach Ablauf des Zeitintervalls wird ein Antwortsignal zum ersten und zweiten Prozessor 11 und 12 über die Anforderungsempfangsleitung 111-2 bzw. 121-2 zurückgesendet.
- Bei Ausgabe der Lade- oder Ausleseanforderung als das Anforderungsinformationssignal von jedem Prozessor werden die Lade- oder Auslesedatensignale aus dem Hauptspeicher 14 ausgelesen, um zur zweiten Abgleichschaltung 58 über den Steuerungsladedatenpfad 133 geführt zu werden, der sich aus der ersten bis vierten Steuerungsladeleitung 113-1 bis 113-4 zusammensetzt. Die zweite Abgleichschaltung 58 weist die Ladedatensignale dem ersten Ladedatenpfad 113 oder dem zweiten Ladedatenpfad 123 unter Steuerung der zweiten Abgleichsteuerung 57 zu, die mit der Verzögerungsschaltung 56 verbunden ist. In diesem Fall ähnelt die zweite Abgleichsteuerung 57 in Struktur und Betrieb der ersten Abgleichsteuerung 54 mit der Ausnahme, daß die führende Adresse, der Abstand und die Anzahl der verfügbaren Vektorrecheneinheiten durch die Verzögerungsschaltung 56 verzögert werden. Zusätzlich dient die zweite Abgleichschaltung 58 zum Zuführen der Ladedatensignale zu den zum ersten und zweiten Prozessor 11 und 12 gehörenden Vektorrecheneinheiten unter Steuerung der zweiten Abgleichsteuerung 57, die auf ähnliche Weise wie die erste Abgleichsteuerung 54 arbeitet. Daher steuert die zweite Abgleichsteuerung 57 die zweite Abgleichschaltung 58 so, daß die Ladedatensignale dem ersten Ladedatenpfad 113 oder zweiten Ladedatenpfad 123 richtig zugewiesen oder zu ihnen verteilt werden. Insbesondere wird die zweite Abgleichschaltung 58 so gesteuert, daß das aus der führenden Adresse des Hauptspeichers 14 ausgelesene führende Ladedatensignal zurück zu den Vektorrecheneinheiten geführt wird, die für das führende Ladedatensignal auf der Grundlage der Inhalte des Registers 31 jedes Prozessors festgelegt sind. Aus dieser Tatsache wird leicht deutlich, daß die Ladedatensignale auch dann richtig zum ersten und zweiten Prozessor 11 und 12 geführt werden, wenn sich die Vektorrecheneinheiten in Anzahl und Struktur voneinander unterscheiden.
- Somit weist das in Fig. 1 bis 4 veranschaulichte Multiprozessorsystem mehrere Prozessoren auf, von denen jeder mindestens eine Vektorrecheneinheit und ein Register zum Speichern eines Konfigurationssignals als Darstellung einer Konfiguration der Vektorrecheneinheit(en) aufweist. Ferner gibt jeder Prozessor eine Speicherzugriffsanforderung mit dem Konfigurationssignal aus. Daher können die Prozessoren auch dann in Betrieb genommen werden, wenn sich die Konfiguration der Vektorrecheneinheiten in jedem Prozessor voneinander unterscheidet. Somit weist das Multiprozessorsystems Aufträge flexibel den Prozessoren zu. Ferner läßt sich die Anzahl der Vektorrecheneinheiten im System minimieren. Grund dafür ist, daß jedes Register 31 des ersten und zweiten Prozessors 11 und 12 einzeln die Konfiguration der Vektorrecheneinheiten anzeigt.
- Obwohl die erste bis vierte Vektorrecheneinheit 21 bis 24 im jeweiligen ersten und zweiten Prozessor 11 und 12 gemäß Fig. 2 eingebaut sind, kann sich die Anzahl der Vektorrecheneinheiten im ersten und zweiten Prozessor 11 und 12 auch unterscheiden.
- Gemäß Fig. 4 weist der zweite Prozessor 12 (Fig. 1) eine einzelne Vektorrecheneinheit 21 auf, die in Struktur und Betrieb jenen von Fig. 2 ähnelt. Außerdem weist der zweite Prozessor 12 eine Befehlssteuereinheit 16' auf, zu der eine Verarbeitungseinheit 26' gehört, die in Struktur und Betrieb der Verarbeitungseinheit 26 von Fig. 2 ähnelt. Die einzelne Vektorrecheneinheit 21 ist mit der Speicherzugriffssteuerung 13 über den zweiten Speicherdatenpfad 122 und den zweiten Ladedatenpfad 123 wie in Fig. 1 verbunden, während die Befehlssteuereinheit 16' mit der Speicherzugriffssteuerung 13 über eine Anforderungssendeleitung 121-1 und eine Anforderungsempfangsleitung 121-2 verbunden ist, die den zweiten Anforderungspfad 121 bilden.
- Im veranschaulichten Beispiel kann das Register 31 im zweiten Prozessor 12 durch ein Einzelbitregister strukturiert sein und wird auf "1" oder "0" gesetzt.
- Der zweite Prozessor 12 von Fig. 4 arbeitet auf ähnliche Weise wie der in Fig. 2 gezeigte und wird daher nicht näher beschrieben.
- Die Erfindung wurde bisher zwar im Zusammenhang mit einer bevorzugten Ausführungsform beschrieben; dem Fachmann ist es jedoch leicht möglich, die Erfindung auf verschiedene andere Weisen praktisch zu realisieren. Beispielsweise können zwei oder mehr Prozessoren zum Multiprozessorsystem gehören. In diesem Fall kann jeder Prozessor mehrere Vektorrecheneinheiten aufweisen, die unabhängig voneinander durch die Speicherzugriffssteuerung gesteuert werden.
Claims (5)
1. Multiprozessorsystem mit mehreren Prozessoren (11, 12),
einem gemeinsamen Hauptspeicher (14) für die mehreren
Prozessoren und einer mit den mehreren Prozessoren und
dem Hauptspeicher gekoppelten Zugriffssteuereinrichtung
(13) zum einzelnen Steuern der Prozessoren, um die
mehreren Prozessoren unabhängig voneinander zu betreiben,
indem jeder Befehl einzeln zu einem ausgewählten der
Prozessoren geführt wird, dadurch gekennzeichnet, daß
jeder der Prozessoren (11, 12) selektiv eine
Vektorberechnung und eine Skalarberechnung unter Steuerung der
Zugriffssteuereinrichtung (13) durchführt, und daß
jeder der Prozessoren (11, 12) aufweist:
mehrere Vektorrecheneinheiten (21 bis 24), die mit der
Zugriffssteuereinrichtung gekoppelt sind und selektiv in
aktive Zustände unter Steuerung der
Zugriffssteuereinrichtung versetzt werden, um die Vektorberechnung
pipelineartig durchzuführen; und
eine mit der Zugriffssteuereinrichtung (13) gekoppelte
Befehlssteuereinheit (16) zum selektiven Versetzen der
mehreren Vektorrecheneinheiten (21 bis 24) in die
aktiven Zustände unter Steuerung der
Zugriffssteuereinrichtung (13), um die Vektorberechnung in jedem der
Prozessoren unabhängig voneinander durchzuführen.
2. Multiprozessorsystem nach Anspruch 1, wobei jeder der
Prozessoren (11, 12) eine Registereinrichtung (26, 31)
zum Speichern eines Konfigurationssignals als
Darstellung einer Konfiguration der mindestens einen
Vektorrecheneinheit in jedem der Prozessoren aufweist;
wobei die Zugriffssteuereinrichtung (13) aufweist:
eine mit den Prozessoren gekoppelte
Aufteilungseinrichtung zum Aufteilen eines Zugriffs auf den Hauptspeicher
auf der Grundlage der von den Prozessoren gesendeten
Konfigurationssignale, um ein Steuersignal als
Darstellung des Prozessors zu erzeugen, der auf den
Hauptspeicher zugreifen kann; und
eine mit den Vektorrecheneinheiten (21 bis 24) der
Prozessoren und mit der Aufteilungseinrichtung gekoppelte
Verbindungseinrichtung zum selektiven Verbinden der
Vektorrecheneinheiten des durch das Steuersignal
angezeigten Prozessors mit dem Hauptspeicher (14).
3. Multiprozessorsystem nach Anspruch 1 oder 2, wobei die
Prozessoren (11, 12) die Vektorrecheneinheiten (21 bis
24) aufweisen, die sich zahlenmäßig voneinander
unterscheiden.
4. Multiprozessorsystem nach Anspruch 3, wobei die
Registereinrichtung (26, 31) in jedem der Prozessoren die
Anzahl der in jedem der Prozessoren verfügbaren
Vektorrecheneinheiten anzeigt.
5. Multiprozessorsystem nach einem der Ansprüche 1 bis 4,
wobei jeder der Prozessoren eine andere Verarbeitung als
die Vektorberechnung durchführen kann und jeder der
Prozessoren eine Verarbeitungseinheit zum Durchführen der
Verarbeitung aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1148273A JP2658397B2 (ja) | 1989-06-13 | 1989-06-13 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69025650D1 DE69025650D1 (de) | 1996-04-11 |
DE69025650T2 true DE69025650T2 (de) | 1996-08-22 |
Family
ID=15449081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69025650T Expired - Fee Related DE69025650T2 (de) | 1989-06-13 | 1990-06-13 | Multiprozessorsystem mit Vektorpipelinen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5887182A (de) |
EP (1) | EP0402891B1 (de) |
JP (1) | JP2658397B2 (de) |
CA (1) | CA2018865C (de) |
DE (1) | DE69025650T2 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04336378A (ja) * | 1991-05-14 | 1992-11-24 | Nec Corp | 情報処理装置 |
RO105026B1 (en) * | 1991-10-10 | 1993-09-01 | Ion Minca | Network structure for parallel processing of calcullation programs |
CA2147314C (en) * | 1994-05-09 | 1999-09-07 | Hubert Rae Mclellan, Jr. | A configurable vector processor |
JP3344345B2 (ja) | 1998-12-15 | 2002-11-11 | 日本電気株式会社 | 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体 |
US6349378B1 (en) * | 1999-03-31 | 2002-02-19 | U.S. Philips Corporation | Data processing using various data processors |
EP1215574A1 (de) * | 2000-12-12 | 2002-06-19 | Sony International (Europe) GmbH | Verfahren zum Verarbeiten von Daten auf der Basis von einem iterativen Algorithmus und Vorrichtung dafür |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
US7299338B2 (en) * | 2002-12-04 | 2007-11-20 | Agere Systems Inc. | Vector indexed memory unit and method |
JP5085180B2 (ja) * | 2007-04-24 | 2012-11-28 | 株式会社東芝 | 情報処理装置およびアクセス制御方法 |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8095735B2 (en) | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
JPS6077265A (ja) * | 1983-10-05 | 1985-05-01 | Hitachi Ltd | ベクトル処理装置 |
JPS6353678A (ja) * | 1986-08-22 | 1988-03-07 | Hitachi Ltd | ベクトル処理装置 |
WO1988009016A1 (en) * | 1987-05-14 | 1988-11-17 | Fujitsu Limited | Vector processor for processing recurrent equations at a high speed |
JP2602240B2 (ja) * | 1987-08-28 | 1997-04-23 | 株式会社日立製作所 | マルチプロセツサシステム |
JP2941817B2 (ja) * | 1988-09-14 | 1999-08-30 | 株式会社日立製作所 | ベクトル処理装置 |
-
1989
- 1989-06-13 JP JP1148273A patent/JP2658397B2/ja not_active Expired - Lifetime
-
1990
- 1990-06-13 EP EP90111189A patent/EP0402891B1/de not_active Expired - Lifetime
- 1990-06-13 DE DE69025650T patent/DE69025650T2/de not_active Expired - Fee Related
- 1990-06-13 CA CA002018865A patent/CA2018865C/en not_active Expired - Fee Related
-
1993
- 1993-05-21 US US08/064,678 patent/US5887182A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2018865A1 (en) | 1990-12-13 |
EP0402891A2 (de) | 1990-12-19 |
EP0402891A3 (de) | 1991-04-24 |
US5887182A (en) | 1999-03-23 |
EP0402891B1 (de) | 1996-03-06 |
JPH0314063A (ja) | 1991-01-22 |
CA2018865C (en) | 1994-10-25 |
JP2658397B2 (ja) | 1997-09-30 |
DE69025650D1 (de) | 1996-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69025650T2 (de) | Multiprozessorsystem mit Vektorpipelinen | |
DE60313781T2 (de) | Gatterprozessor | |
DE2354521C2 (de) | Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln | |
DE69023018T2 (de) | Prozessor-Unterbrechungssteuerung. | |
DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE68928530T2 (de) | Modulare Kreuzschienenzwischenverbindungen in einem digitalen Rechner | |
DE3851554T2 (de) | Steuerungsanordnung für gemeinschaftlichen Speicher. | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE3606211A1 (de) | Multiprozessor-computersystem | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE69326236T2 (de) | Speicher mit variabeler Verschachtelungshöhe und verwandte Konfigurationseinheit | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE3788617T2 (de) | Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor. | |
DE3835297A1 (de) | Adressenbus-steuereinrichtung | |
DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE3851241T2 (de) | Speicheranordnung. | |
DE3013064C2 (de) | Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher | |
DE69029608T2 (de) | Digitale Signalprozessorvorrichtung | |
DE3538214C2 (de) | Multiprozessorsystem | |
DE3043012A1 (de) | Einrichtung zum unabhaengigen betrieb mehrerer untereinheiten in einem informationsverarbeitungssystem durch verschiedene benutzer | |
DE69523509T2 (de) | Dezentralisiertes System und Mehrrechnersystem | |
DE3105115A1 (de) | Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |