DE68927202T2 - Paralleler Prozessor - Google Patents

Paralleler Prozessor

Info

Publication number
DE68927202T2
DE68927202T2 DE68927202T DE68927202T DE68927202T2 DE 68927202 T2 DE68927202 T2 DE 68927202T2 DE 68927202 T DE68927202 T DE 68927202T DE 68927202 T DE68927202 T DE 68927202T DE 68927202 T2 DE68927202 T2 DE 68927202T2
Authority
DE
Germany
Prior art keywords
bus
processing units
data
input
cpu
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
DE68927202T
Other languages
English (en)
Other versions
DE68927202D1 (de
Inventor
Koyo Katsura
Hiromichi Yamada
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.)
Hitachi Ltd
Original Assignee
Hitachi 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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE68927202D1 publication Critical patent/DE68927202D1/de
Publication of DE68927202T2 publication Critical patent/DE68927202T2/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/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung betrifft einen Parallelprozessor gemäß dem Oberbegriff des Anspruchs 1 und insbesondere einen Parallelprozessor, der für Grafikverarbeitung geeignet ist.
  • Bei einem Verarbeitungssystem gemäß dem Stand der Technik weisen mehrere Prozessoren beispielsweise eine Zentraleinheit (CPU) und einen lokalen Speicher auf, die mit einem gemeinsamen Bus verbunden sind, wobei eine Zentraleinheit in einem bestimmten Prozessor das Schreiben und Lesen im lokalen Speicher eines anderen Prozessors über den gemeinsamen Bus ausführt.
  • Ein weiteres bekanntes System weist mehrere gemeinsame Busse auf, und die Übertragung von Daten zwischen den Prozessoren erfolgt individuell. Ein weiteres bekanntes System ist derart aufgebaut, daß mehrere Prozessoren ringförmig, in Form eines Gitters oder in Form einer Verzweigung verbunden sind. Zudem ist ein System bekannt, das derart aufgebaut ist, daß die Kommunikation zwischen vertikal und seitlich verbundenen Prozessoren erfolgt, so daß ein sogenannter "CAP" (Cellular Array Processor = Prozessor mit Zellenanordnung) gebildet wird.
  • In der EP-A-225 022 wird ein Datenverarbeitungssystem mit mehreren Knoten mit einem zentralen Schalter oder Sternkoppler gezeigt, der durch getrennte Pfade mit jedem Knoten verbunden ist, um eine verbesserte Methode zur Verbindung der Knoten untereinander zu schaffen, bei der nicht der Nachteil einer Fehlfunktion des gesamten Systems gegeben ist, wenn eine Fehlfunktion des zentralen Schalters bzw. des Sternkopplers auftritt. Die Knoten sind mit Schalteinheiten ausgestattet, die derart ausgewählt werden können, daß jede der Schalteinheiten als Sternkoppler zum Empfangen von Nachrichten von jedem der Knoten und zum Senden jeder Nachricht an sämtliche Knoten wirken kann.
  • Bei jedem der vorstehend beschriebenen Prozessorsysteme ist jedoch die zwischen den Prozessoren hergestellte Verbindung fest. Daher tritt, obwohl bestimmte Verarbeitungen mit hoher Geschwindigkeit ausgeführt werden können, das Problem auf, daß eine Entsprechung der Systeme bei einer Anderung des Algorithmus schwierig ist, wodurch ihre Verwendung eingeschränkt ist.
  • Es ist Aufgabe der vorliegenden Erfindung, einen Parallelprozessor zu schaffen, bei dem die Verbindungen zwischen mehreren Prozessoren entsprechend dem Verarbeitungsalgorithmus um strukturiert und mittels einer parallelen Operation verschiedene Verarbeitungen mit hoher Geschwindigkeit ausgeführt werden können.
  • Die Aufgabe wird gemäß den.Merkmalen des Anspruchs 1 gelöst. Die abhängigen Ansprüche zeigen weitere Ausführungsformen und vorteilhafte Weiterentwicklungen der Erfindung.
  • Der erfindungsgemäße Parallelprozessor weist mehrere über Eingangs - Ausgangsanschlüsse miteinander verbundene Verarbeitungseinheiten auf. Jede der mehreren Verarbeitungseinheiten umfaßt einen Speicher zum Speichern von Programmen und Daten, einen lokalen Bus zum Eingeben/Ausgeben des Programms und der Daten in den bzw. aus dem Speicher, der aus einer Adressensignalleitung, einer Datensignalleitung und einer Steuersignalleitung besteht, eine Zentraleinheit (CPU) zum Lesen des Programms über den lokalen Bus aus dem Speicher zum Verarbeiten des Programms, zum Lesen von zur Ausführung der Verarbeitung erforderlichen Daten über den lokalen Bus aus dem Speicher und zum Veranlassen einer erneuten Speicherung von Daten, die aufgrund der Verarbeitung aktualisiert wurden, über den lokalen Bus im Speicher, mehrere Eingangs-/Ausgangsanschlüsse, die in der Lage sind, den lokalen Bus mit mehreren außerhalb gelegenen Bussen zu verbinden, und von der CPU zur Eingabe/Ausgabe von Daten in einen bzw. aus einem anderem als dem jeweiligen&sub1; außerhalb gelegenen Speicher oder von einer außerhalb gelegenen CPU zur Eingabe/Ausgabe von Daten in den und aus dem Speicher benötigt werden, und Busschalter zum Verbinden von zweien der außerhalb gelegenen Busse zum Zwecke des Ermöglichens der Ausführung einer Datenübertragung zwischen der CPU und dem Speicher, die auf einzelnen Bussen angeordnet sind, wobei eine Haupt-CPU zum Einstellen eines Programms und von Daten in den miteinander verbundenen Verarbeitungseinheiten und zur Wiederherstellung von Daten vorgesehen ist und wobei die miteinander verbundenen Verarbeitungseinheiten über mindestens einen Eingangs-/Ausgangsanschluß der Verarbeitungseinheit miteinander verbunden sind.
  • Durch die vorstehend beschriebene Anordnung der Verarbeitungseinheiten kann eine Spezifikation des Zustands der Busschalter der Prozessoreinheiten aufgrund der derart gebildeten Anordnung und der Verbindungen der Verarbeitungseinheiten erreicht werden. Überdies können diese Verbindungen entsprechend dem Verarbeitungsalgorithmus aufgebaut sein. Daher können durch eine parallele Operation verschiedene Verarbeitungen mit hoher Geschwindigkeit ausgeführt werden.
  • Die Erfindung wird im folgenden unter Bezugnahme auf die beiliegenden Zeichnungen anhand von Beispielen beschrieben. Es zeigen:
  • Fig. 1 ein Blockdiagramm, das eine Ausführungsform eines erfindungsgemäßen Parallelprozessors darstellt;
  • Fig. 2 eine Ansicht, die einen internen Block eines Verarbeitungselements mit mehreren Anschlüssen (MPPE) und einen Zugriff auf einen lokalen Speicher von einem außerhalb gelegenen MPPE darstellt;
  • Fig. 3 eine Ablaufübersicht zur Verwendung in einem Fall, in dem bei einem Zugriff auf den lokalen Speicher jeweils auf ein Wort zugegriffen wird;
  • Fig. 4 eine Ablaufübersicht zur Verwendung in einem Fall, in dem bei einem Zugriff auf den lokalen Speicher jeweils auf zwei Worte zugegriffen wird;
  • Fig. 5 ein Blockdiagramm zur Verwendung in einem Fall, in dem von einem außerhalb gelegenen MPPE ein Zugriff auf den lokalen Speicher ausgeführt wird;
  • Fig. 6 eine Aufbauansicht, die eine Ausführungsform des lokalen Speichers darstellt, bei dem pro Zugriff auf zwei Worte zugegriffen werden kann; und
  • die Figuren 7 bis 11 sind Blockdiagramme, die die weiteren Ausführungsformen der vorliegenden Erfindung darstellen.
  • Fig. 1 ist eine Ansicht, die ein Beispiel eines erfindungs- gemäßen Parallelprozessors darstellt. Gemäß dieser Zeichnung sind eine CPU 10, eine DMAC (Direct Memory Access Controller = Steuereinheit für den direkten Speicherzugriff) 11 und ein Systemspeicher 12 jeweils mit einer gemeinsamen Busleitung 100 verbunden. Vier in Reihe geschaltete Verarbeitungselemente 13 mit mehreren Anschlüssen (die im folgenden als MPPEs bezeichnet werden) sind mit dieser Busleitung 100 verbunden. Ein Rahmenpuffer 15 ist mit einem MPPE 13 verbunden, das in der Anordnung der vier MPPEs 13 am weitesten hinten angeordnet ist. Eine optische Anzeige oder CRT-Anzeige 16 ist mit einem Ende des Rahmenpuffers 15 verbunden, wogegen eine Anzeigesteuereinheit 14 mit einem weiteren Ende desselben verbunden ist. Das vorstehend beschriebene MPPE 13 weist zwei Eingangs-/Ausgangsanschlüsse auf, wobei es derart verwendet wird, daß seine Anschlüsse mit entsprechenden Anschlüssen eines weiteren MPPE 13 der gleichen Art verbunden sind. Obwohl erfindungsgemäß vier MPPEs 13 verwendet werden, ist die Anzahl der MPPEs nicht begrenzt. Obwohl die Anzahl der Eingangs-/Ausgangsanschlüsse des MPPE 13 gemäß der Zeichnung derart festgelegt ist, daß sie zwei beträgt, kann auch die Anzahl der Eingangs-/Ausgangsanschlüsse beliebig festgelegt werden. Bei dem in Fig. 1 dargestellten MPPE 13 sind eine CPU 130 und ein lokaler Speicher 131 mit dem gemeinsamen Bus verbunden, und Eingangs-/Ausgangsanschlüsse sind jeweils an Positionen außerhalb der entsprechenden Schnittpunkte der CPU 130 und des lokalen Speichers 131 mit dem gemeinsamen Bus verbunden. Zudem ist in der MPPE 13 ein Busschalter 133 enthalten, der eine Verbindung der außerhalb gelegenen Abschnitte der Eingangs/Ausgangsanschlüsse 132 miteinander ermöglicht. Die vorstehend aufgeführte CPU 130 führt entsprechend einem in dem lokalen Speicher 131 gespeicherten Programm eine vorgegebene Verarbeitung aus. Verarbeitete Daten werden in dem lokalen Speicher 131 gespeichert. Wenn es für ein einzelnes MPPE 13 unmöglich ist, die Verarbeitung abzuschließen, wird über den Eingangs/Ausgangsanschluß 132 auf ein anderes MPPE 13 zugegriffen. Der Aufbau ist derart angeordnet, daß Adressen, Daten und Steuersignale zwischen den Anschlüssen der MPPEs 13 übertragen werden können. Dies bedeutet, daß das MPPE 13 auf den lokalen Speicher 131 zugreifen oder die Verarbeitung an die andere CPU 130 des anderen MPPE 13 delegieren kann. Wie vorstehend beschrieben sind die Busschalter 133 der MPPEs 13 zum Zwecke der Steuerung der Verbindungen zwischen den Eingangs-/Ausgangsanschlüssen 132 vorgesehen. Es ist vorgesehen, daß die Tatsache, ob der Schalter 133 geöffnet oder geschlossen ist, auf der Grundlage eines Werts des Registers in dem Busschalter 133 bestimmt wird. Dieser Wert wird durch die von der CPU 130 auf der Grundlage des von der CPU 10 zu bestimmendenund von dem MPPE 13 zu verarbeitenden Programms ausgeführte Zuweisung der Registernummer bestimmt. Wenn von außen auf das MPPE 13 zugegriffen wird und der Busschalter 133 geschlossen ist, werden von dem Eingangs-/Ausgangsanschluß 132 erhaltene Informationen von dem anderen Eingangs/Ausgangsanschluß über den Busschalter 133 dem anderen MPPE 13 zugeführt. Dies zeigt hinsichtlich des Systems die Tatsache, daß die relativen Verbindungen zwischen den CPUs 130 des MPPE- Systems durch Verändern des Status der Busschalter der MPPEs 13 verändert werden können. Von dem MPPE 13 verarbeitete Bildelementdaten werden in einem Rahmenpuffer 15 gespeichert. Die in dem Rahmenpuffer 15 gespeicherten Daten werden von der Anzeigesteuereinheit 14 gelesen, so daß auf der vorstehend beschriebenen optischen Anzeige 16 ein Bild angezeigt wird.
  • Fig. 2 ist eine Ansicht, die einen Zugriff auf den lokalen Speicher des vorstehend beschriebenen MPPE 13 von außen darstellt. Die Steuerinformation, die Adresse und die Daten werden über einen Eingangs-/Ausgangsanschluß 132A eingegeben. Wenn der Busschalter 133 derart eingestellt ist, daß er geschlossen ist, wird die vorstehend genannte Information über den Eingangs/Ausgangsanschluß 132B unmittelbar an das mit einem weiteren Eingangs-/Ausgangsanschluß 132B verbundene andere MPPE 13 übertragen. Der Eingangs-/Ausgangsanschluß 132A decodiert die Steuerinformation und die Adresse, die in den Eingangs/Ausgangsanschluß 134A eingegeben wurden. Wenn die derart eingegebene Steuerinformation und die Adressdaten der Zugriff auf den lokalen Speicher 131 des MPPE 13 sind, gibt der Eingangs/Ausgangsanschluß 132A eine Anforderung zum Öffnen des Busses an die CPU 130 aus. Die CPU 130 öffnet den Bus und bestätigt ebenso dem Eingangs-/Ausgangsanschluß 132A die Tatsache, daß der Bus geöffnet wurde. Der Eingangs-/Ausgangsanschluß 132A überträgt die Steuerinformation, die Adresse und die Daten, die über den Eingangs-/Ausgangsanschluß 134 eingegeben werden sollen, an den lokalen Speicher 131. Wenn dagegen ein Zugriff über den Eingangs-/Ausgangsanschluß 134B erfolgt, fordert der Eingangs/Ausgangsanschluß 132B die CPU 130 auf, den Bus zu öffnen, so daß die Steuerinformation, die Adresse und die Daten, die über den Eingangs-/Ausgangsanschluß 134B eingegeben werden sollen, an den lokalen Speicher 131 übertragen werden.
  • Fig. 3 ist eine Ansicht, die eine Ablaufübersicht bei der Ausführung eines Zugriffs auf dem lokalen Speicher 131 des MPPE 13 darstellt, wobei aus zum Ausführen des Zugriffs erforderlichen Signalen drei Arten von Steuersignalen und zwei Arten von Daten für die Angabe ausgewählt werden. Die Steuersignale und Daten werden über den in Fig. 2 dargestellten Eingangs/Ausgangsanschluß 134A oder 134B eingegeben und über den Eingangs-/Ausgangsanschluß 132A oder 132B an den lokalen Speicher 131 übertragen. Gemäß Fig. 3 wirkt ein Steuersignal CS derart, daß während einer Periode, in der dem lokalen Speicher 131 Daten und Adressdaten zugeführt werden, ein niedriges Niveau realisiert wird. Ein Steuersignal R/W ist ein Signal, das zur Unterscheidung dient, ob Daten aus dem lokalen Speicher gelesen werden oder ob Daten in diesen geschrieben werden, wobei ein "hohes" Niveau Lesen bedeutet, während ein niedriges Niveau Schreiben bedeutet. Ein Steuersignal BT realisiert ein niedriges" Niveau, wenn von zwei Arten von Bussen, BUS 1 und BUS 2, gleichzeitig Daten an den lokalen Speicher 131 übertragen werden. Im allgemeinen wird der BUS 1 zur Adressenübertragung verwendet, wogegen der Bus 2 zur Datenübertragung verwendet wird. Wenn auf Daten aus dem Programmdatenbereich des lokalen Speichers 131 zugegriffen wird, wird jedesmal eine dem Zugriff entsprechende Adresse zugewiesen. Wenn ein Zugriff aus dem Nachrichtenbereich ausgeführt wird, werden Daten bezüglich mehrerer Worte an aufeinanderfolgende Adressen im lokalen Speicher 131 übertragen, wobei der "Nachrichtenbereich" einen Speicherbereich repräsentiert, der sich durch eine Adresse von dem Programmdatenbereich unterscheidet und als Einrichtung zum Speichern einer Adresse dient, in die die von dem anderen MPPE 13 übertragene Nachricht geschrieben wird, und in dem die Anzahl der Nachrichten gespeichert wird. Es wird ein derartiger Aufbau gebildet, daß als Reaktion auf einen Zugriff vom Nachrichtenbereich die Adresse des dem ersten Wort entsprechenden Zugriffs zugewiesen wird. Ein Bus, der für eine allgemeine Adressenübertragung verwendet wird, kann bei der Datenübertragung für das zweite Wort und die folgenden Worte verwendet werden.
  • Fig. 4 ist eine Ablaufübersicht, die einen Modus darstellt, bei dem zwei Worte derart zwischen zwei einzelnen MPPEs 13 übertragen werden, daß bei der Übertragung des ersten Worts eine Adresse zugewiesen wird und der Adressenbus auch für die Datenübertragung für das zweite Wort und die folgenden Worte verwendet wird, wenn die CPU 10 Daten von mehreren Worten an den Nachrichtenbereich des lokalen Speichers 131 überträgt. Beim ersten Zugriff wird die Adresse in dem lokalen Speicher 131 in einem bestimmten MPPE 13 über den BUS 1 übertragen, und beim zweiten und den folgenden Zugriffen werden sowohl der BUS 1 als auch der BUS 2 zur gleichzeitigen Übertragung von Daten für zwei Worte verwendet. In dieser Zeitspanne muß das Niveau des Steuersignals BT auf das niedrige Niveau eingestellt sein. Zudem müssen nach dem Abschluß der Übertragung sowohl das Steuersignal CS als auch das Steuersignal BT auf das hohe Niveau eingestellt werden.
  • Fig. 5 ist eine Ansicht, die den Vorgang des Schreibens in den lokalen Speicher der CPU unter einzelnen, direkt miteinander verbundenen MPPEs darstellt.
  • Die Zeichnung stellt einen Fall dar, in dem die CPU 130 in dem MPPE 13A ein Schreiben in den lokalen Speicher 131 im MPPE 13C ausführt. Die Busschalter 133 in den entsprechenden MPPEs 13A, 13B und 13C werden jeweils in der aufeinanderfolgenden Reihenfolge OFFEN, GESCHLOSSEN und OFFEN programmiert. Das Steuersignal, die Adresse (für die BUS 1 verwendet wird) und die Daten (für die BUS 2 verwendet wird), die durch das MPPE 13A übertragen werden, werden über die Eingangs-/Ausgangsanschlüsse 132A und 132B des MPPE 13A an die mit dem MPPE 13A zu verbindenden MPPEs 13B und 13Z übertragen. Im MPPE 13B ist der Busschalter 133 auf GESCHLOSSEN eingestellt, so daß das Steuersignal, die Adresse und die Daten, die von dem Eingangs-/Ausgangsanschluß 132B des MPPE 13A übertragen werden, unverzüglich an das MPPE 13B übertragen werden. Die Beschreibung des Vorgangs in dem MPPE 13Z erfolgt hier nicht. Der Eingangs-/Ausgangsanschluß 132A des MPPE 13B bestimmt unter Verwendung einer in ihm enthaltenen Adressendecodiereinrichtung, ob der Objektzugriff ein Zugriff auf den lokalen Speicher 131 ist oder nicht. Die Adresse umfaßt sowohl die Prozessoradresse als auch die Adresse des lokalen Speichers, und die Prozessoradresse wird decodiert. Hierbei kann, da es sich nicht um den Zugriff auf den lokalen Speicher 131 (im MPPE 138) handelt, die CPU 130 im MPPE 13B auf den lokalen Speicher 131 zugreifen. Andererseits stellt der Eingangs/Ausgangsanschluß 132A im MPPE 13C unter Verwendung der darin vorgesehenen Adressendecodiereinrichtung die Tatsache fest, daß ein Zugriff auf den lokalen Speicher 131 (des MPPE 13C) erfolgt, und bei dieser Feststellung gibt der Eingangs-/Ausgangsanschluß 132A des MPPE 13C eine Anforderung für einen Bus an die CPU 130 des MPPE 13C aus. Diese CPU 130 gibt bei der Realisierung des Zustands, in dem der Bus geöffnet werden kann, eine Genehmigung der Verwendung des Busses an den Eingangs-/Ausgangsanschluß 132A (des MPPE 13C) aus. Der Eingangs-/Ausgangsanschluß 132A überträgt das Steuersignal, die Adresse und die Daten an den lokalen Speicher 131 (des MPPE 13C).
  • Fig. 6 ist eine Ansicht, die den Aufbau des lokalen Speichers darstellt, der das Schreiben und Lesen der Daten für zwei Worte durch einen einzigen Zugriff ermöglicht. Speichervorrichtungen RAM I 617 und RAM II 618 führen das Schreiben und Lesen eines einzigen Worts (mit der gleichen Bitgröße wie der des BUS 1 und des BUS 20) durch einen einzigen Zugriff aus. Der RAM I 617 entspricht geradzahligen Adressen (das niedrigste Bit der Adresse ist 0), wogegen der RAM II 618 den ungeradzahligen Adressen (das niedrigste Bit der Adresse ist 1) entspricht. Wenn der Objektzugriff ein Zugriff auf den Programmdatenbereich ist, wird die Adresse auf dem BUS 1 durch einen selbsthaltenden Schalter 610 gehalten und durch Multiplexer 614 und 615 für die Zufuhr zum RAM I 617 und zum RAM II 618 ausgewählt. Die Erfassung des Zugriffs auf den Programm- und Datenbereich wird durch eine Vergleichseinrichtung 612 ausgeführt. In diesem Fall wird der Adressenraum im Nachrichtenbereich im Register 611 gespeichert. Es wird auf ein Wort im Programm- und Datenbereich auf einmal zugegriffen, und eine Chipauswahlschaltung 616 wählt entsprechend dem niedrigsten Bit der Adresse entweder den RAM I 617 oder den RAM II 618 aus. Die Daten werden dem RAM I 617 und dem RAM II 618 über Multiplexer 619 und 620 von dem BUS 2 zugeführt. Beim Zugriff auf den Nachrichtenbereich steuert ein Nachrichtenadressengenerator 613 die Adresse. Daher sind Informationen zur Identifikation von einem unter mehreren lokalen Speichern und eine Nachricht ausdrückende Informationen unter den von dem außerhalb gelegenen MPPE erzeugten Adressen wesentlich. Die Nachrichten werden nacheinander einzeln in dem lokalen Speicher gespeichert, wobei mit der vordersten Adresse begonnen wird. Der Nachrichtenadressengenerator 613 enthält ein Register zum Speichern einer bei der Ausführung des Schreibens einer Nachricht durch das außerhalb liegende MPPE zuzuführenden Adresse und ein Register zum Speichern der Adresse der ältesten Nachricht, die von der CPU noch nicht gelesen wurde. Ein Modus, bei dem Daten für zwei Worte durch einen Zugriff übertragen werden, wird als "Blockübertragungsmodus" bezeichnet. Dieser Modus unterscheidet sich von einem Zugriff auf ein Wort bei einem Zugriff durch das Einstellen des Steuersignals BT auf ein NIEDRIGES Niveau. Im Blockübertragungsmodus wird bei der aufeinanderfolgenden Übertragung von zwei Worten von einer geradzahligen Adresse dem RAM I 617 und dem RAM II 618 über die Multiplexer 614 und 615 die gleiche Adresse zugeführt. Dem RAM I 617 werden von dem BUS 2 und dem RAM II 618 von dem BUS 1 Daten zugeführt. Wenn von einer ungeradzahligen Adresse auf zwei Worte nacheinander zugegriffen wird, wird dem RAM I 617 für die geradzahligen Adressen von dem RAM II 618 für die ungeradzahligen Adressen eine Adresse zugeführt, zu der eins addiert wird. Hierbei werden dem RAM II 618 von dem BUS 2 und dem RAM I 617 von dem BUS 1 Daten zugeführt.
  • Im folgenden wird ein Verfahren zum Erzielen der Wirkung der vorliegenden Erfindung unter Verwendung des vorstehend beschriebenen MPPE beschrieben. Fig. 7 ist eine Ansicht, die eine Ausführungsform darstellt, bei der neun MPPEs kombiniert sind. Gemäß der Zeichnung können die Busschalter 133 der entsprechenden MPPEs 13 ihren geöffneten oder geschlossenen Zustand entsprechend einem Programm bestimmen. Gemäß dieser Ausführungsform sind alle auf GEÖFFNET eingestellt. Daten und ihre Steuerinformation werden von dem Eingangs-/Ausgangsanschluß 700 über den Eingangs-/Ausgangsanschluß 132A eingegeben. Die Datensätze werden nicht an das folgende MPPE 13 übertragen, da der Busschalter 133 geöffnet ist. Wenn die CPU 130 eine Verarbeitung dieser Daten ausführt und dafür sorgt, daß das folgende MPPE 13 die nächste Verarbeitung ausführt, werden über den Eingangs/Ausgangsanschluß 132A Daten übertragen. Durch Übertragen von neu erzeugten Daten an den nächsten Schritt nach dem Ausführen einer Verarbeitung durch das MPPE 13 an diesen von dem vorhergehenden Schritt empfangenen Daten wird der Dateneingang über den Eingangs-/Ausgangsanschluß 700 einer Verarbeitung mittels des MPPE, d.h. einer neunstufigen Durchlaufverarbeitung, unterzogen und von einem Eingangs-/Ausgangsanschluß 710 ausgegeben.
  • Daher wird die gesamte Verarbeitung von Daten gleichmäßig in neun Teile unterteilt, und jedes MPPE empfängt Daten, führt eine Verarbeitung in der Größenordnung von einem Neuntel aus und führt sie dem nächsten MPPE zu. Dadurch können von dem letzten MPPE Daten ausgegeben werden, wobei lediglich ein Neuntel der Zeit verstreicht.
  • Fig. 8 ist eine Ansicht, die eine weitere Ausführungsform darstellt, bei der ebenfalls neun MPPEs kombiniert sind. Gemäß der Zeichnung weisen die MPPEs 13A, 13B und 13C einen gemeinsamen Anschluß 800 auf, der derart angeordnet ist, daß seine beiden Eingangs-/Ausgangsanschlüsse miteinander verbunden sind. Das MPPE 13A ist durch einen Eingangs-/Ausgangsanschluß mit einem MPPE 13D verbunden und kann durch Einstellen eines Busschalters 133D des MPPE 130 auf einen geschlossenen Zustand auch mit einem MPPE 13G verbunden werden. Ähnlich sind die MPPEs 13E und 13H mit dem MPPE 13C verbunden, wogegen die MPPEs 13F und 13I mit dem MPPE 13C verbunden sind.
  • Hierbei sind zwei MPPEs jeweils abhängig mit den MPPEs 13A, 13B und 13C verbunden. Dadurch ist ein derartiger Aufbau bei einer hierarchisch verteilten Datenübertragung wirkungsvoll.
  • Fig. 9 ist eine Ansicht, die eine Ausführungsform darstellt, bei der vier MPPEs kombiniert sind, die jeweils vier Eingangs-/Ausgangsanschlüsse aufweisen. Die CPU 10, der DMAC 11 und der Systemspeicher 12 sind mit der gemeinsamen Busleitung 100 verbunden, das MPPE 13 ist mit der Busleitung 100 verbunden, ein Rahmenpuffer 15 ist mit dem MPPE 13 verbunden, und die Anzeigevorrichtung 14 und die CRT-Anzeige 16 sind mit dem Rahmenpuffer 15 verbunden. Die MPPEs sind über Anschlüsse mit den (gemäß Fig. 9) oberen, unteren, rechten und linken MPPEs verbunden. Das MPPE umfaßt die CPU 130 und den lokalen Speicher 131, die mit dem gemeinsamen Bus verbunden sind, zwei Eingangs/Ausgangsanschlüsse 132, die jeweils an einer Position außerhalb des Schnittpunkts des lokalen Speichers 131 und der CPU 130 mit dem gemeinsamen Bus verbunden sind, und die Busschalter 133, die die Verbindungen zwischen den Anschlüssen ermöglichen. Durch eine jeweilige Programmierung des Öffnens und Schließens der Busschalter für die entsprechenden MPPEs, die derart angeordnet sind, daß sie ein zweidimensionales Gitter bilden, können die CPUs 130 und die lokalen Speicher 131 der MPPEs mit den oberen, unteren, rechten und linken MPPEs sowie mit den CPUs 130 und den lokalen Speichern 131 der benachbarten MPPEs verbunden werden. Durch eine Programmierung der Verbindungen der Busschalter können die Verbindungen zwischen den CPUs selbst dann verändert werden, wenn der gleiche Systemaufbau verwendet wird.
  • Fig. 10 ist eine Ansicht, die eine Ausführungsform darstellt, bei der die Anschlüsse von 16 MPPEs in der Form eines 4 4-Gitters verbunden sind. Sämtliche Busschalter der MPPEs werden auf einen geöffneten Zustand eingestellt, und die gleichen Daten werden in der aufeinanderfolgenden Reihenfolge 1, 5, 9, 13, 14, 10, 6, 7, 11, 15, 16, 12, 8, 4, 3 und 2 verarbeitet. Die in dem MPPE 2 verarbeiteten Daten werden an das MPPE 1 zurückgeleitet.
  • Die Wirkung einer Verkürzung der Verarbeitungszeit, die der gemäß der in Fig. 7 dargestellten Ausführungsform ähnlich ist, kann erzielt werden.
  • Fig. 11 ist eine Ansicht, die eine Ausführungsform darstellt, bei der ein weiteres Programm derart an den Busschalter gemäß der in Fig. 10 dargestellten Ausführungsform ausgegeben wird, daß die Prozessoren zu einer vierschichtigen binären Verzweigung verbunden werden.
  • Gemäß der vorstehend beschriebenen Ausführungsform werden mehrere MPPEs über ihre Anschlüsse derart miteinander verbunden, daß einem der MPPEs von der Haupt-CPU Daten und ein den Status des Öffnens und Schließens des Busschalters der MPPEs 13 ausdrückendes Signal zugeführt werden. Daher sind die Anschlüsse der MPPEs 13 derart aufgebaut, daß sie eine Einrichtung zum Öffnen und Schließen der vorstehend beschriebenen Busschalter als Reaktion auf das Eingangssignal (das den Status des Öffnens und Schließens des Busschalters ausdrückende Signal) aufweisen.
  • Das Öffnen und Schließen der Busschalter der MPPEs 13 kann derart vorgesehen sein, daß es als Reaktion auf ein Signal ausgeführt wird, das eine direkt (ohne ein Passieren der Anschlüsse) von der Haupt-CPU zugeführte Anweisung zum Öffnen/Schließen der Busschalter repräsentiert. Hierbei kann das Öffnen und Schließen der Busschalter bei einem Vergleich zwischen der Information, die in einem im Busschalter vorgesehenen Register oder ähnlichem gespeichert ist, und einer Information bestimmt werden, die das Signal betrifft, das eine unter Verwendung des Registers oder ähnlichem von der Haupt-CPU zugeführte Anweisung zum Öffnen/Schließen der Busschalter repräsentiert.
  • Wie vorstehend beschrieben, kann die Anzahl der für das MPPE 13 vorgesehenen Anschlüsse derart vorgesehen sein, daß sie zwei oder mehr beträgt. Ein Aufbau mit vier Anschlüssen weist beispielsweise eine erste und eine zweite Datenübertragungsleitung auf, deren Anschlüsse derart beschaffen sind, daß sie die beiden Enden der Signalleitungen, wie der Busleitung und ähnlichem, sind. Zudem sind ein Speicher zum Speichern eines Programms und von Daten und eine CPU zum Lesen und Verarbeiten der vorstehend aufgeführten, entsprechend dem in dem Speicher gespeicherten Programm über die erste und die zweite Übertragungsleitung in dem vorstehend aufgeführten Speicher zu speichernden Daten vorgesehen. Ferner sind ein zwischen einem Anschluß der ersten Datenübertragungsleitung und jedem Anschluß der zweiten Datenübertragungsleitung und zwischen einem weiteren Anschluß der ersten Datenübertragungsleitung und jedem Anschluß der zweiten Datenübertragungsleitung angeordneter Busschalter und ein an jedem Endabschnitt der ersten und der zweiten Datenübertragungsleitung angeordneter Eingangs-/Ausgangsanschluß vorgesehen. Hierbei weisen der vorstehend aufgeführte Busschalter und der Eingangs-/Ausgangsanschluß den gleichen Aufbau und die gleiche Funktion wie die vorstehend beschriebenen auf.
  • Wie vorstehend beschrieben, können die Verbindungen der Prozessoren entsprechend dem Verarbeitungsalgorithmus umstrukturiert werden, und verschiedene Verarbeitungen können mittels einer parallelen Operation mit hoher Geschwindigkeit ausgeführt werden.

Claims (6)

1. Parallelprozessor mit mehreren Verarbeitungseinheiten (13) und einer Haupt-CPU (10), die mit zumindest einer der Verarbeitunseinheiten (13) für eine Steuerung derselben verbunden ist, wobei die Verarbeitungseinheit (13) folgendes enthalten:
- eine CPU (130),
- einen Lokalspeicher (131) zum Speichern von Daten und von der CPU (130) auszuführenden Programmen,
- einen Lokalbus, der mit der CPU (130) und dem Sdeicher (131) verbunden ist und
- mehrere Eingabe/Ausgabe-Anschlüsse (132), die mit dem Lokalbus verbunden sind,
und angeordnet sind zum Bilden einer Reihenanordnung oder eines Netzwerks durch eine Verbindung von irgendeiner der Verarbeitunseinheiten (13) mit einer an die eine Verarbeitungseinheit (13) angrenzenden anderen Verarbeitungseinheit (13) über einen außen liegenden Anschluß der Eingabe/Ausgabe-Anschlüsse (132) mit einem dedizierten außerhalb liegenden Bus, dadurch gekennzeichnet, daß die Verarbeitungseinheiten (13) einen Busschalter (133) enthalten, der zwischen zwei Eingabe/Ausgabe- Anschlüssen (132) der entsprechenden Verarbeitungseinheit (13) angeordnet ist, der Busschalter (31) derart vorgesehen ist, daß er im geschlossenen Zustand die CPU (113), den Lokaispeicher (131) und den Lokalbus der entsprechenden Verarbeitungseinheit (13) derartig umgeht, daß direkt zumindest zwei Verarbeitungseinheiten (13) verbunden sind, mit Ausnahme der Verarbeitungseinheiten (13) an den Enden des Netzwerks, und die Haupt-CPU (10) mit Mitteln zum Modifizieren einer Zwischenbeziehung der Verbindungen zwischen den Verarbeitungseinheiten (13) vorgesehen ist, durch ein gleichzeitiges Öffnen und Schließen der Busschalter (133) der Verarbeitungseinheiten (13) gemäß einem Algorythmus der Programme, die durch die Verarbeitungseinheiten (13) parallel ausgeführt werden.
2. Parallelprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Verarbeitungseinheiten (13) mit zumindest vier Eingabe/Ausgabe-Anschlüssen (132) und zumindest vier Busschaltern (l33) versehen sind und die Verarbeitungseinheiten (13) zur Bildung des Netzwerks angeordnet sind.
3. Parallelprozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Busschalter (133) mit einem Register (611) versehen ist, das Anweisungen zum Öffnen und Schließen des Busschalters (133) enthalten kann, wobei der Busschalter (133) gemäß den Anweisungen betätigt wird.
4. Parallelprozessor nach zumindest einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die in dem Register (611) gespeicherten Anweisungen durch die Haupt-CPU (10) wieder beschrieben werden.
5. Parallelprozessor nach zumindest einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Lokalspeicher (131) von jeder der Verarbeitungseinheiten (13) mit einem Nachrichtenbereich versehen ist, der von einem Bereich zum Speichern des Programms und der Daten gemäß einer Adresse unterschiedlich ist, zum temporären Speichern einer von außerhalb der Verarbeitungseinheiten (13) zugeführten Nachricht in den Nachrichtenbereichen und im Fall der Übertragung von mehreren Daten, die die Nachricht bilden von einer der Verarbeitungseinheiten (13) zu dem Nachrichtenbereich einer anderen der Verarbeitungseinheiten (13), wobei die CPU (113) jeder Verarbeitungseinheit (13) einen Datenbus und einen Adreßbus enthält und eine Datenadresse nach der zweiten Datenadresse unbeachtet läßt und nacheinander die mehreren Daten überträgt.
6. Verarbeitungseinheit für einen Parallelprozessor nach zumindest einem der Ansprüche 1 - 5.
DE68927202T 1988-06-23 1989-06-23 Paralleler Prozessor Expired - Fee Related DE68927202T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63155200A JPH01320564A (ja) 1988-06-23 1988-06-23 並列処理装置

Publications (2)

Publication Number Publication Date
DE68927202D1 DE68927202D1 (de) 1996-10-24
DE68927202T2 true DE68927202T2 (de) 1997-04-10

Family

ID=15600688

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927202T Expired - Fee Related DE68927202T2 (de) 1988-06-23 1989-06-23 Paralleler Prozessor

Country Status (5)

Country Link
US (1) US5388230A (de)
EP (1) EP0347929B1 (de)
JP (1) JPH01320564A (de)
KR (1) KR0141489B1 (de)
DE (1) DE68927202T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3118266B2 (ja) * 1990-03-06 2000-12-18 ゼロックス コーポレイション 同期セグメントバスとバス通信方法
JPH04233063A (ja) * 1990-12-28 1992-08-21 Matsushita Electric Ind Co Ltd ニューロプロセッサ
JPH05181816A (ja) * 1992-01-07 1993-07-23 Hitachi Ltd 並列データ処理装置及びマイクロプロセッサ
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
JP2924643B2 (ja) * 1994-05-19 1999-07-26 ヤマハ株式会社 ディジタル信号処理方法及び装置
JP3661235B2 (ja) * 1995-08-28 2005-06-15 株式会社日立製作所 共有メモリシステム、並列型処理装置並びにメモリlsi
US5673272A (en) * 1996-02-13 1997-09-30 Teradyne, Inc. Apparatus and method for performing digital signal processing in an electronic circuit tester
KR980004067A (ko) * 1996-06-25 1998-03-30 김광호 멀티프로세서 시스템의 데이터 송수신장치 및 방법
DE19716197A1 (de) * 1997-04-18 1998-10-22 Itt Mfg Enterprises Inc Mikroprozessorsystem für sicherheitskritische Regelungen
KR100309124B1 (ko) * 1999-06-29 2001-09-28 박종섭 폐슬러리 처리 방법
US7827386B2 (en) * 2003-06-30 2010-11-02 Intel Corporation Controlling memory access devices in a data driven architecture mesh array
JP2005250683A (ja) * 2004-03-02 2005-09-15 Renesas Technology Corp マイクロコンピュータ
US7765250B2 (en) * 2004-11-15 2010-07-27 Renesas Technology Corp. Data processor with internal memory structure for processing stream data
WO2007029053A1 (en) * 2005-09-09 2007-03-15 Freescale Semiconductor, Inc. Interconnect and a method for designing an interconnect
JP4646840B2 (ja) 2006-03-22 2011-03-09 富士通セミコンダクター株式会社 回路構成を動的に切り替える並列処理装置
US10528505B2 (en) 2016-10-11 2020-01-07 International Business Machines Corporation HDMI devices and methods with stacking support

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
JPS5248440A (en) * 1975-10-15 1977-04-18 Toshiba Corp Memory access control system
JPS53132231A (en) * 1977-04-25 1978-11-17 Hitachi Ltd Control unit for data write-in
AT361726B (de) * 1979-02-19 1981-03-25 Philips Nv Datenverarbeitungsanlage mit mindestens zwei mikrocomputern
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4381543A (en) * 1981-02-02 1983-04-26 International Business Machines Corporation Controller port switch arrangement for sharing stored data among different systems
US4574345A (en) * 1981-04-01 1986-03-04 Advanced Parallel Systems, Inc. Multiprocessor computer system utilizing a tapped delay line instruction bus
JPS58184628A (ja) * 1982-04-23 1983-10-28 Hitachi Ltd バス切換装置
JPS59144933A (ja) * 1983-02-08 1984-08-20 Mitsubishi Electric Corp デ−タ転送装置
JPS60107169A (ja) * 1983-11-16 1985-06-12 Fujitsu Ltd プロセッサ間通信方式
US4633388A (en) * 1984-01-18 1986-12-30 Siemens Corporate Research & Support, Inc. On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes
KR900002438B1 (ko) * 1984-02-29 1990-04-14 가부시끼가이샤 도오시바 프로세서간 결합방식
JPS6125229A (ja) * 1984-07-13 1986-02-04 Sony Corp Ic装置
JPS6194433A (ja) * 1984-10-15 1986-05-13 Mitsubishi Electric Corp シリアルバスの制御方式
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
GB8528892D0 (en) * 1985-11-23 1986-01-02 Int Computers Ltd Multi-node data processing system
JPS62180456A (ja) * 1986-02-03 1987-08-07 Nippon Telegr & Teleph Corp <Ntt> 並列計算機の信号バイパス方式
JPS62241045A (ja) * 1986-04-11 1987-10-21 Mitsubishi Electric Corp 記憶装置
DE3685114D1 (de) * 1986-10-30 1992-06-04 Ibm "daisy-chain"-konfiguration fuer buszugriff.
DE3684155D1 (de) * 1986-12-16 1992-04-09 Ibm Umgehungsmechanismus fuer in "daisy-chain" geschalteten einheiten.
JPS63155200A (ja) * 1986-12-19 1988-06-28 富士通株式会社 ピツチ検出法
US4933838A (en) * 1987-06-03 1990-06-12 The Boeing Company Segmentable parallel bus for multiprocessor computer systems

Also Published As

Publication number Publication date
EP0347929A2 (de) 1989-12-27
EP0347929A3 (de) 1990-12-27
KR0141489B1 (ko) 1998-07-01
EP0347929B1 (de) 1996-09-18
DE68927202D1 (de) 1996-10-24
US5388230A (en) 1995-02-07
KR900000771A (ko) 1990-01-31
JPH01320564A (ja) 1989-12-26

Similar Documents

Publication Publication Date Title
DE68927202T2 (de) Paralleler Prozessor
DE68928530T2 (de) Modulare Kreuzschienenzwischenverbindungen in einem digitalen Rechner
DE3338345C2 (de)
DE2829668A1 (de) Kanaldatenpufferspeicher
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE2844357A1 (de) Speichererweiterung
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2646163B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE19822776A1 (de) Datenverarbeitungsvorrichtung
DE2036729A1 (de) Digital Datenverarbeiter
DE2912287B2 (de) Datenverarbeitungsanlage
DE3788617T2 (de) Vektordatenverarbeitungssystem mit einer E/A-Steuerung für jeden Vektordatenprozessor und einer anderen E/A-Steuerung für mindestens einen anderen Vektordatenprozessor.
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE602005001900T2 (de) Rekonfigurierbarer Prozessor und Halbleiterbaustein
EP0185260A2 (de) Schnittstelle für direkten Nachrichtenaustausch
DE1922304A1 (de) Datenspeichersteuergeraet
DE3885294T2 (de) Parallele pipeline-bildverarbeitungseinheit mit einem 2x2-fenster.
DE3121046C2 (de)
DE2739525A1 (de) Prozessor
DE3214230A1 (de) Speicheranordnung mit mehrfach-zugriffsleitungen
DE69025782T2 (de) Registerbankschaltung
DE2121490A1 (de) Orthogonaler Datenspeicher
DE69213413T2 (de) Zwischenprozessor-Kommunikationsystem und Verfahren für Mehrprozessorschaltkreis
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