DE102011011682B4 - Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen - Google Patents

Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen Download PDF

Info

Publication number
DE102011011682B4
DE102011011682B4 DE102011011682.6A DE102011011682A DE102011011682B4 DE 102011011682 B4 DE102011011682 B4 DE 102011011682B4 DE 102011011682 A DE102011011682 A DE 102011011682A DE 102011011682 B4 DE102011011682 B4 DE 102011011682B4
Authority
DE
Germany
Prior art keywords
arithmetic units
units
arithmetic
programmable controller
mpu
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
DE102011011682.6A
Other languages
English (en)
Other versions
DE102011011682A1 (de
Inventor
Masuo Kokura
Yasushi Nomoto
Motoyoshi Miyachi
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102011011682A1 publication Critical patent/DE102011011682A1/de
Application granted granted Critical
Publication of DE102011011682B4 publication Critical patent/DE102011011682B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

Programmierbare Steuerung, die eine Vielzahl von unabhängigen Ablaufprogrammen parallel ausführt, wobei die programmierbare Steuerung umfasst: – eine Vielzahl von Rechenwerken ((1)...(n)), die dazu ausgebildet sind, vorgegebene erste Befehle in den Ablaufprogrammen durch die Hardware auszuführen; – eine Vielzahl von Mikroprozessoreinheiten (11, 12), die dazu ausgebildet sind, zweite Befehle in den unabhängigen Ablaufprogrammen aus der Vielzahl von unabhängigen, parallel ausgeführten Ablaufprogrammen, welche nicht von den Rechenwerken ausgeführt werden können, auszuführen; – erste Übertragungsmittel (31a, 32a), die dazu ausgebildet sind, Informationen betreffend zumindest einen der zweiten Befehle, die in den Rechenwerken ((1)...(n)) erzeugt wurden, zu den Mikroprozessoreinheiten in der Reihenfolge der Erzeugung der Befehle zu übertragen; und – zweite Übertragungsmittel (31b, 32b), die dazu ausgebildet sind, Informationen betreffend Ergebnisse der Ausführung der zweiten Befehle, die durch die Mikroprozessoreinheiten ausgeführt wurden, zu den Rechenwerken ((1)...(n)) zu übertragen, welche Quellen der Erzeugung der Information aus den zweiten Befehlen sind, wobei – die Vielzahl von Rechenwerken ((1)...(n)) in so viele Gruppen wie Mikroprozessoreinheiten (11, 12) aufgeteilt ist, wobei jede der Gruppen zumindest ein Rechenwerk umfasst, und – zumindest eine der Gruppen wenigstens zwei Rechenwerke umfasst, und die ersten und zweiten Übertragungsmittel (31a, 32a; 31b, 32b) und die Mikroprozessoreinheiten (11, 12) in Verbindung mit den Gruppen, welche die wenigstens zwei Rechenwerke umfassen, angeordnet sind, wobei die programmierbare Steuerung des Weiteren Auswahlmittel umfasst zum Auswählen, wenn die Rechenwerke ((1)...(n)) in eine Vielzahl von Gruppen unterteilt sind, von entsprechenden Gruppen, zu welchen ein individuelles Rechenwerk bestimmt worden ist, anzugehören; und wobei die Auswahlmittel ein Register (40) umfassen, das dazu ausgebildet ist, Daten zu speichern, welche die Gruppe spezifizieren, zu welcher jedes der Rechenwerke ((1)...(n)) bestimmt worden ist anzugehören, und eine Auswahlschaltung (51–59), welche jedes der Rechenwerke ((1)...(n)) mit den ersten und zweiten Übertragungsmitteln (31a, 32a; 31b, 32b) und der Mikroprozessoreinheit (11, 12) entsprechend der Gruppe, welcher das Rechenwerk ((1)...(n)) angehört, entsprechend den in dem Register gespeicherten Daten verbindet.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine programmierbare Steuerung, die dazu ausgebildet ist, eine Vielzahl von unabhängigen Ablaufprogrammen parallel auszuführen.
  • Beschreibung des Standes der Technik
  • Im Allgemeinen wird in einer programmierbaren Steuerung, die dazu ausgebildet ist eine Ablaufsteuerung durchzuführen, eine Ausführung von Ablaufprogrammen, d. h. eine arithmetische und logische Bearbeitungsdurchführung, durch eine Mikroprozessoreinheit (MPU) oder einen anwendungsspezifischen integrierten Schaltkreis (application-specific integrated circuit-ASIC) durchgeführt. Die MPU oder der ASIC werden alternativ für die Durchführung in Abhängigkeit der Befehle, die die Ablaufprogramme darstellen, verwendet. Die MPU basiert auf einem einzelnen LSI, der die Funktionen einer CPU kombiniert, während der ASIC eine integrierte Schaltung darstellt, die für eine bestimmte Verwendung maßgefertigt ist.
  • Die japanische Patentanmeldung JP 2009-116 445 A offenbart die folgenden Techniken (A) und (B), in welchen eine Vielzahl von unabhängigen Ablaufprogrammen mit einer solchen einzelnen programmierbaren Steuerung ausgeführt werden.
    • (A) Die Hardware umfasst eine einzelne MPU 10, einen einzelnen Speicher 20, und einen einzelnen ASIC 30, wie in 1 dargestellt. Eine Anzahl von N-Programmen (1) bis (n) werden auf einer Zeitmultiplexbasis durch ein einzelnes Rechenwerk in der ASIC 30 ausgeführt, wie in 2 gezeigt. In der auf diese Art ausgebildeten programmierbaren Steuerung, werden die individuellen Programme auf einer Zeitfolgenbasis durch das einzelne Rechenwerk bearbeitet, so dass die Bearbeitung aller Programme lange dauert, wie in 2 dargestellt.
    • (B) Die Hardware umfasst eine einzelne MPU 10, einen einzelnen Speicher 20, und einen einzelnen ASIC 30. Wie in 3 gezeigt, umfasst der ASIC 30 eine n-Zahl von Rechenwerken (1) bis (n) und eine einzelne Entscheidungsschaltung 38 (arbitration circuit) und kann eine n-Zahl von Programmen (1) bis (n) parallel ausführen. Wie in 4 gezeigt, entspricht die für die Bearbeitung der Programme (1) bis (n) benötigte Zeit einer Ausführungszeit t für das Programm (Programm (1) in dem in 4 gezeigten Beispiel), das die längste Bearbeitungszeit benötigt.
  • Gemäß Technik (A), wie in 2 gezeigt, ergibt sich ein Problem mit der langen Gesamtbearbeitungszeit.
  • Gemäß Technik (B), wie in 3 gezeigt, werden auf der anderen Seite eine Vielzahl von Ablaufprogrammen durch die Rechenwerke in der ASIC 30 und der einzelnen MPU 10 ausgeführt. Deshalb, wenn das Verhältnis der Befehle, die von der MPU ausgeführt werden, zu den Befehlen, die jedes Programm darstellen, hoch ist, steigt die Möglichkeit von einer Vielzahl von Programmen, die gleichzeitig die MPU beauftragen die Befehle auszuführen, an. Infolgedessen entsteht ein Problem, dass die Programme gestoppt werden, um auf die Ausführung der MPU-Befehle zu warten.
  • 5 zeigt ein Diagramm, welches ein Problem der Techniken des Standes der Technik darstellt und zeigt, wie die Programme (1) bis (3) parallel durch die programmierbare Steuerung von 5 bearbeitet werden. Bezugszeichen 100 kennzeichnet die Befehlsausführungszeit von jeder MPU, und Bezugszeichen 112 kennzeichnet diese von jedem ASIC. Bezugszeichen 114 und 116 kennzeichnen Programmstopps.
  • Da die MPU 10 einzeln verwendet wird, wird ihre Bearbeitung des Programms (2) gestartet, wenn ihre Bearbeitung des Programms (1) fertiggestellt ist. Weiter startet die MPU 10 mit der Bearbeitung des Programms (3) nach Beendigung der Bearbeitung des Programms (2). Daher verursacht die Einmaligkeit der MPU 10 ein Problem, dass die MPU-Ausführungsbefehle der Vielzahl von Programmen nicht gleichzeitig bearbeitet werden können, so dass die Programme gestoppt werden.
  • In der Offenlegungsschrift WO 2010/077751 A2 ist ebenfalls eine programmierbare Steuerung mit Rechenwerken und Mikroprozessoreinheiten offenbart.
  • Das Dokument EP 1 870 792 A1 offenbart ein Multiprozessorsystem und Mehrkernparalleliserungscompiler. Der Compiler ist dazu eingerichtet, eine optimierte Zeitplanung für mehrere, parallel ausführbare Tasks auszurechnen, um mehrere, mittels einer Sammelleitung verbundene Prozessoren effizient zu betreiben.
  • Zusammenfassung der Erfindung
  • Dementsprechend ist es in Anbetracht der oben genannten Probleme des Stands der Technik Aufgabe der vorliegenden Erfindung, eine programmierbare Steuerung anzugeben, die dazu ausgebildet ist, eine Vielzahl von unabhängigen Ablaufprogrammen parallel auszuführen, in welchen das Verhältnis der Befehle, die durch die MPU ausgeführt werden, zu allen Befehlen, die jedes Programm darstellen, so groß ist, dass die Zeit, während welcher die Programme gestoppt werden, um auf die Ausführung der MPU-Ausführungsbefehle zu warten, sogar in dem Fall verkürzt werden kann, wenn eine Vielzahl von Programmen gleichzeitig die MPU anfragt, Befehle auszuführen.
  • Eine programmierbare Steuerung gemäß der vorliegenden Erfindung, welche eine Vielzahl von unabhängigen Ablaufprogrammen parallel ausführt, umfasst. die in Anspruch 1 beschriebenen Merkmale.
  • Die Daten, welche die Gruppe, zu welcher jedes der Rechenwerke gehört, spezifizieren, können Daten aus einer Kombination für die kürzestes Ausführungszeit für die Vielzahl von individuellen Ablaufprogrammen sein, basierend auf einer Simulation, die durch willkürliches Teilen der Ablaufprogramme in Gruppen durchgeführt wird.
  • In dem Fall, in welchem eine Gruppe, zu welcher nur ein Rechenwerk gehört, gebildet wird, kann das nur eine Rechenwerk mit dritten Übertragungsmitteln, anderen als die ersten und zweiten Übertragungsmittel, verbunden werden, welche dazu ausgebildet sind, die Informationen aus den zweiten Befehlen, die in dem Rechenwerk erzeugt worden sind, zu der entsprechenden MPU direkt zu übertragen.
  • Gemäß der vorliegenden Erfindung kann eine programmierbare Steuerung vorgesehen sein, die dazu ausgebildet ist, eine Vielzahl von unabhängigen Ablaufprogrammen parallel auszuführen, in welchen das Verhältnis der Befehle, die durch eine MPU ausgeführt werden, zu allen Befehlen, die jedes Programm darstellen, so groß ist, dass die Zeit, während welcher die Programme gestoppt werden, um auf die Ausführung der MPU-Ausführungsbefehle zu warten, sogar in dem Fall verkürzt werden kann, in welchem eine Vielzahl von Programmen gleichzeitig die MPU anfragen, die Befehle auszuführen.
  • Kurzbeschreibung der Zeichnungen
  • Die oben genannten und andere Aufgaben und Merkmale der vorliegenden Erfindung werden offensichtlich von der folgenden Beschreibung von Ausführungsbeispielen mit Bezug zu den anhängenden Zeichnungen, in welchen:
  • 1 ein schematisches Blockdiagramm ist, welches ein Beispiel einer programmierbaren Steuerung des Standes der Technik darstellt, verbunden mit einer Hardware, umfassend eine einzelne MPU, und einen ASIC, umfassend ein einzelnes Rechenwerk;
  • 2 ist ein Diagramm, das die Zeit darstellt, die benötigt wird, um die Ausführung aller von einer Vielzahl von Programmen auf einer Zeitmultiplexbasis durch die programmierbare Steuerung von 1 abzuschließen;
  • 3 ist ein schematisches Blockdiagramm, das ein Beispiel einer programmierbaren Steuerung des Standes der Technik darstellt, verbunden mit einer Hardware, die eine einzelne MPU und einen ASIC umfasst, der eine Vielzahl von Rechenwerken und eine einzelne Entscheidungsschaltung umfasst;
  • 4 ist ein Diagramm, das die Zeit darstellt, die benötigt wird, um die parallele Ausführung aller von einer Vielzahl von Programmen durch die programmierbare Steuerung von 3 abzuarbeiten;
  • 5 ist ein Diagramm, das ein Problem darstellt, welches entsteht, wenn die Vielzahl von Programmen parallel durch die programmierbare Steuerung von 3 ausgeführt werden;
  • 6 ist ein schematisches Blockdiagramm, das eine erste Ausführung einer programmierbaren Steuerung gemäß der vorliegenden Erfindung, verbunden mit einer Hardware, die zwei MPUs und einen ASIC, umfassend eine n-Anzahl von Rechenwerken und zwei Entscheidungsschaltungen, umfasst, von denen eine mit einer k (< n) Anzahl von Rechenwerken verbunden ist, zeigt;
  • 7 ist ein Diagramm, das Programmausführungszeiten für den Fall, in dem die meisten der Befehle, welche eines von acht Programmen, welche parallel ausgeführt werden, darstellt, MPU-Ausführungsbefehle sind, und die meisten der Befehle, welche die restlichen sieben Programme darstellen, ASIC-Ausführungsbefehle sind, während welcher jedes Programm wartet, durch dessen zugeordnetes Rechenwerk und zugeordnete MPU ausgeführt zu werden, zeigt, d. h., jedes Programm wird nicht mit anderen Programmen konkurrieren und gestoppt werden, um für die Ausführung der MPU-Befehle zu warten;
  • 8 ist ein schematisches Blockdiagramm, das ein Beispiel zeigt, in welchem n (Zahl der Rechenwerke, die in der ASIC enthalten sind) = 8 und k (Anzahl der Rechenwerke, die mit der einen Entscheidungsschaltung verbunden sind) = 4, für die programmierbare Steuerung von 6 verwendet werden;
  • 9 ist ein Diagramm, das die Programmausführungszeiten für den Fall, in welchem die Programme von 7 durch die programmierbare Steuerung mit der in 8 gezeigten Ausführung ausgeführt werden, darstellt;
  • 10 ist ein schematisches Blockdiagramm, das ein Beispiel einer programmierbaren Steuerung zeigt, die mit einer Hardware verbunden ist, welche zwei MPUs und einen ASIC aufweist, der acht Rechenwerke und eine einzelne Entscheidungsschaltung umfasst, wobei sieben der acht Rechenwerke mit der Entscheidungsschaltung und das achte direkt mit einer der MPUs verbunden ist;
  • 11 ist ein Diagramm, das Programmausführungszeiten für den Fall darstellt, in welchem die Programme von 7 durch die programmierbare Steuerung mit der in 10 gezeigten Ausführung ausgeführt werden;
  • 12 ist ein schematisches Blockdiagramm, das eine zweite Ausführung der programmierbaren Steuerung gemäß der vorliegenden Erfindung, verbunden mit einer Hardware, die m-Zahl von MPUs und einen ASIC, umfassend n-Anzahl von Rechenwerken und m-Anzahl von Entscheidungsschaltungen, aufweist, und so ausgebildet ist, dass die Anzahl von Rechenwerken, die von jeder Entscheidungsschaltung vermittelt werden, geändert werden kann, zeigt;
  • 13 ist ein schematisches Blockdiagramm, das ein Beispiel, in welchem m (Anzahl von MPUs und in der ASIC enthaltenen Entscheidungsschaltungen) = 2 für die programmierbare Steuerung von 12 verwendet wird, zeigt;
  • 14 ist ein Diagramm, das ein erstes Ausführungsbeispiel der programmierbaren Steuerung von 13 mit n (Anzahl der in der ASIC enthaltenen Rechenwerke) = 8 und einer einzelnen Entscheidungsschaltung zeigt;
  • 15 ist ein Diagramm, das ein zweites Ausführungsbeispiel der programmierbaren Steuerung von 13 mit n (Anzahl der in der ASIC enthaltenen Rechenwerke) = 8, wobei zwei der Rechenwerke mit einer der Entscheidungsschaltungen verbunden ist, zeigt;
  • 16 ist ein Diagramm, das ein drittes Ausführungsbeispiel der programmierbaren Steuerung von 13 mit n (Anzahl der in der ASIC enthaltenen Rechenwerke) = 8, wobei drei der Rechenwerke mit einer der Entscheidungsschaltungen verbunden ist, zeigt;
  • 17 ist ein Diagramm, das ein viertes Ausführungsbeispiel der programmierbaren Steuerung von 13 mit n (Anzahl der in der ASIC enthaltenen Rechenwerke) = 8, wobei vier der Rechenwerke mit einer der Entscheidungsschaltungen verbunden ist, zeigt; und
  • 18 ist ein Diagramm, das ein Beispiel einer Hardwareausführung der programmierbaren Steuerung von 13 zeigt, in welcher n-Anzahl von Rechenwerken entsprechend in zwei Gruppen geteilt werden können, wobei eine Gruppe mit einer der zwei Entscheidungsschaltungen verbunden ist, und eine Gruppe mit der anderen Entscheidungsschaltung verbunden ist.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen.
  • In der Beschreibung der folgenden Ablaufprogramme wird ein in einer Schaltung (nachfolgend als Rechenwerk bezeichnet) ausführbarer Befehl zum Ausführen arithmetischer und logischer Operationen als ”erster Befehl” bezeichnet, und ein Befehl, der nicht in dem Rechenwerk ausführbar ist, sondern durch eine MPU bearbeitet wird, wird nachfolgend als ”zweiter Befehl” bezeichnet.
  • Das Rechenwerk umfasst MPU-Befehlsausführungsanfragemittel und Neustartmittel. Die MPU-Befehlsausführungsanfragemittel geben ein MPU-Befehlsausführungsanfragesignal aus, wenn der zweite Befehl ausgegeben wird und bleiben in einem angehaltenen Zustand, bis die Ausführung des zweiten Befehls durch die MPU abgeschlossen ist, nachdem das MPU-Befehlsausführungsanfragesignal ausgegeben worden ist. Die Neustartmittel starten die Programmausführung nach Eingang eines Signals, das auf die Beendigung der Ausführung des zweiten Befehls durch die MPU hinweist, neu.
  • ”Erste Übertragungsmittel” umfassen Eingangsmittel, Speichermittel, und MPU-Ausführungsstartmittel. Die Eingangsmittel erhalten sequentiell das MPU-Befehlsausführungsanfragesignal, wenn der zweite Befehl ausgegeben wird. Die Speichermittel speichern sequentiell die ID-Nummer des Rechenwerks, in welchem der zweite Befehl ausgegeben worden ist und die Programmadresse des zweiten Befehls. Die MPU-Ausführungsstartmittel geben sequentiell ein MPU-Befehlsausführungsstartsignal von den Eingangsmitteln an die MPU aus, mit welchem die MPU den zweiten Befehl basierend auf der in den Speichermitteln gespeicherten Programmadresse ausführt.
  • ”Zweite Speichermittel” umfassen MPU-Ausführungsbeendigungsmitteilungsmittel, welche ein MPU-Ausführungsbeendigungsmitteilungssignal und ein Ausführungsergebnis an das Rechenwerk, welches die ID-Nummer entsprechend dem zweiten Befehl aufweist, jedes mal dann ausgeben, wenn die Ausführung des zweiten Befehls durch die MPU beendet worden ist.
  • Die ersten und zweiten Übertragungsmittel basieren auf den Techniken des Standes der Technik, welche in der japanischen Offenlegungsschrift JP 2009-116 445 A beschrieben sind.
  • Eine erste Ausführung einer programmierbaren Steuerung gemäß der vorliegenden Erfindung, welche eine Vielzahl von Ablaufprogrammen parallel ausführt, wird zuerst mit Bezug zu den 6 bis 11 beschrieben.
  • Die programmierbare Steuerung dieser Ausführung umfasst eine Vielzahl von Hardware-Gruppen, wobei jede eine Vielzahl von MPUs, eine Vielzahl von Rechenwerken, und so viele Entscheidungsschaltungen wie MPUs aufweist. Alternativ umfasst die programmierbare Steuerung dieser Ausführung eine Vielzahl von Hardware-Gruppen, wobei jede eine einzelne MPU, eine Vielzahl von Rechenwerken, und eine einzelne Entscheidungsschaltung aufweist. Die Entscheidungsschaltung ist eine Schaltung zum Ausführen einer Entscheidung zwischen den Rechenwerken, wenn Anfragen zum Ausführen von Befehlen an den MPUs vorliegen (MPU-Ausführungsbefehle), die nicht durch die Rechenwerke ausgeführt werden können.
  • Eine einzelne MPU, wie beispielsweise eine Multi-Kern-MPU, umfassend eine Vielzahl von Kernen für jeden Chip, kann anstatt der Vielzahl von MPUs verwendet werden.
  • Daher ist die programmierbare Steuerung dieser Ausführung äquivalent zu einer Kombination aus einer Vielzahl von Gruppen oder einem einzelnen oder zwei oder mehr Speichern 20 und einer Hardware, umfassend eine einzelne MPU 10 und einen einzelnen ASIC 30 (umfassend eine Vielzahl von Rechenwerken und eine einzelne Entscheidungsschaltung 38), wie beispielsweise die in 3 gezeigte (Stand der Technik) und mit den Speichern verbundene.
  • Eine in 6 gezeigte programmierbare Steuerung ist ein Beispiel, das mit der Hardware verbunden ist, welche einen ASIC 30 und zwei MPUs 11 und 12 umfasst. Der ASIC 30 umfasst eine Anzahl von n-Rechenwerken und zwei Entscheidungsschaltungen 31 und 32. Daher ist die in 6 gezeigte programmierbare Steuerung äquivalent zu einer Kombination des Speichers 20 und zwei Hardware-Gruppen, wobei jede die einzelne MPU 10 und den in 3 gezeigten einzelnen ASIC 30 aufweist, die mit dem Speicher 20 verbunden sind.
  • In der ersten Ausführung wird eine Simulation durch eine Software vor dem Start der Ausführung jedes Ablaufprogramms durchgeführt, und eine Vielzahl von Ablaufprogrammen werden individuell zu einer Vielzahl von Gruppen vorab zugewiesen, so dass die gesamte Programmausführungszeit die kürzeste ist. Auf diese Art werden diese Ablaufprogramme in der kürzesten Zeit bearbeitet.
  • Da die Anzahl von Programmen, die parallel ausgeführt werden, oder der Anteil der MPU-Ausführungsbefehle in jedem Programm variiert, können eine Vielzahl von MPUs, wenn überhaupt, in machen Fällen versagen, bis zu dem maximalen Ausmaß verwendet zu werden.
  • 7 zeigt ein Diagramm, das Programmausführungszeiten für den Fall darstellt, in dem die meisten der Befehle, welche das Programm (1) darstellen, MPU-Ausführungsbefehle sind, und die meisten der Befehle, welche die Programme (2) bis (8) darstellen, ASIC-Ausführungsbefehle sind. Während der dargestellten Programmausführungszeiten wird jedes Programm durch sein bestimmtes Rechenwerk und seine bestimmte MPU ausgeführt, d. h., jedes Programm wird nicht andere Programme behindern und wird nicht gestoppt, um auf die Ausführung der MPU-Befehle zu warten.
  • Eine in 8 gezeigte programmierbare Steuerung ist ein Beispiel, in welchem n (Anzahl der in der ASIC 30 enthaltenen Rechenwerke) = 8 und k (Anzahl der mit der Entscheidungsschaltung 31 verbundenen Rechenwerke) = 4 für die in 6 gezeigte programmierbare Steuerung gegeben sind.
  • In dieser programmierbaren Steuerung umfasst der ASIC 30 acht Rechenwerke (1) bis (8) und zwei Entscheidungsschaltungen 31 und 32. Die Rechenwerke (1) bis (4) sind mit der ersten Entscheidungsschaltung 31 verbunden, und die Rechenwerke (5) bis (8) mit der zweiten Entscheidungsschaltung 32. Weiter sind erste und zweite Entscheidungsschaltungen 31 und 32 mit ersten und zweiten MPUs 11 und 12 entsprechend verbunden.
  • Daher ist die in 8 gezeigte programmierbare Steuerung äquivalent zu einer Kombination des Speichers 20 und zwei Hardware-Gruppen, wobei jede den ASIC 30 (vier (= n) Rechenwerke und eine einzelne Entscheidungsschaltung) und eine einzelne MPU, wie in 3 (Stand der Technik) gezeigt, umfasst, die mit dem Speicher 20 verbunden sind.
  • 9 ist ein Diagramm, welches die Programmausführungszeiten für den Fall darstellt, in dem die Programme von 7 durch die programmierbare Steuerung mit der in 8 gezeigten Konfiguration ausgeführt werden. Da die erste MPU 11 in der Bearbeitungsausführung der Programme (1) bis (4) für MPU-Befehlsausführung ansteht, werden die Programme angehalten.
  • Um die in 9 gezeigten Probleme von Stoppzeiten zu vermeiden, wird die Kombination der Entscheidungsschaltung und der Rechenwerke geändert.
  • 10 zeigt ein Beispiel einer programmierbaren Steuerung, die mit Hardware verbunden ist, welche einen ASIC, umfassend acht Rechenwerke und eine einzelne Entscheidungsschaltung 39, und zwei MPUs 11 und 12 umfasst. Von den acht Rechenwerken ist ein Rechenwerk (1) direkt mit der ersten MPU 11 verbunden, während die restlichen sieben Rechenwerke (2) bis (8) mit der Entscheidungsschaltung 39 verbunden sind. Die Entscheidungsschaltung 39 ist mit der zweiten MPU 12 verbunden. Daher ist in diesem Fall die Anzahl der Entscheidungsschaltungen und der MPUs nicht gleich.
  • 11 ist ein Diagramm, welches die Programmausführungszeiten für den Fall darstellt, in dem die Programme von 7 durch die programmierbare Steuerung mit der in 10 gezeigten Konfiguration ausgeführt werden. Wenn die meisten der Befehle, welche ein Programm (1) darstellen, MPU-Ausführungsbefehle sind und wenn die meisten der Befehle, welche Programme (2) bis (8) darstellen, ASIC-Ausführungsbefehle sind, kann die gesamte Ausführungszeit für die programmierbare Steuerung mit der in 10 gezeigten Hardware-Konfiguration im Vergleich zu einer, die die in 8 gezeigte Hardware-Konfiguration aufweist, verkürzt werden.
  • Eine zweite Ausführung der programmierbaren Steuerung gemäß der vorliegenden Erfindung, welche eine Vielzahl von Ablaufprogrammen parallel ausführt, wird dann mit Bezug zu den 12 bis 18 beschrieben.
  • Da die Verhältnisse der MPU-Ausführungsbefehle und ASIC-Ausführungsbefehle zwischen den Programmen variieren, können gemäß dieser Ausführung Kombinationen von einer Vielzahl von MPUs und Rechenwerken gemäß den auszuführenden Programmen geändert werden.
  • 12 zeigt ein konventionelles Beispiel einer programmierbaren Steuerung, die so ausgestaltet ist, dass die Anzahl von Rechenwerken, die durch jede der m-Anzahl von MPUs entsprechenden Entscheidungsschaltungen vermittelt wird, geändert werden kann. Gemäß dieser programmierbaren Steuerung kann eine optimale Hardware-Konfiguration basierend auf dem Inhalt der parallel auszuführenden Programme ausgewählt werden.
  • 13 zeigt ein konventionelles Beispiel einer programmierbaren Steuerung, welche zwei MPUs, zwei Entscheidungsschaltungen, so viele wie MPUs, und eine n-Anzahl von Rechenwerken (n ist eine gerade Zahl) aufweist.
  • Gemäß dieser programmierbaren Steuerung werden die n-Anzahl von Rechenwerken in zwei Gruppen geteilt, wobei eine Gruppe mit einer Entscheidungsschaltung (Entscheidungsschaltung (1)) und eine Gruppe mit der anderen Entscheidungsschaltung (Entscheidungsschaltung (2)) verbunden ist.
  • Diese Gruppierung wird durch die folgende n/2-Anzahl von Verfahren durchgeführt:
    • [1] MPU (1), Entscheidungsschaltung (1), und Rechenwerk (1) sind verbunden; MPU (2), Entscheidungsschaltung (2), und Rechenwerke (2) bis (n) sind verbunden;
    • [2] MPU (1), Entscheidungsschaltung (1), und Rechenwerke (1) und (2) sind verbunden; MPU (2), Entscheidungsschaltung (2), und Rechenwerke (3) bis (n) sind verbunden;
    • [3] MPU (1), Entscheidungsschaltung (1), und Rechenwerke (1) bis (3) sind verbunden; MPU (2), Entscheidungsschaltung (2), und Rechenwerke (4) bis (n) sind verbunden; . .
    • [n/2] MPU (1), Entscheidungsschaltung (1), und Rechenwerke (1) bis (n/2) sind verbunden; MPU (2), Entscheidungsschaltung (2), und Rechenwerke (n/2 + 1) bis (n) sind verbunden.
  • Die 14 (erste Konfiguration), 15 (zweite Konfiguration), 16 (dritte Konfiguration) und 17 (vierte Konfiguration) zeigen Beispiele, in welchen n (Anzahl der Rechenwerke) = 8 für die programmierbare Steuerung von 13 (umfassend die zwei MPUs und n-Anzahl von Rechenwerken) gegeben ist.
  • Wenn n (Anzahl der Rechenwerke) = 8 für die programmierbare Steuerung von 13 gegeben ist, kann die Kombination der zwei MPUs und acht Rechenwerke entsprechend den Programmen, wie in den 14 bis 17 (erste bis vierte Konfiguration) mittels Registereinstellung einer Hardware-Konfiguration, umfassend diese Rechenwerke und MPUs, geändert werden. Solche Hardware-Konfigurationen, die geändert werden können, werden später mit Bezug zu 18 beschrieben.
  • Eine Simulation zur Bestimmung der Einstellung der Hardware-Konfiguration wird unter Verwendung einer Software durchgeführt, d. h. dass die zwei MPUs und acht Rechenwerke (Gruppierung der acht Rechenwerke) vor dem Start der Ausführung jedes Ablaufprogramms kombiniert werden. Eine Vielzahl von Programmen werden basierend auf der Kombination von allen Hardware-Konfigurationen ausgeführt und eine Kombination, welche in der kürzesten Gesamtprogrammausführungszeit resultiert, wird übernommen.
  • Daher kann die Zeit, während welcher die Ausführung der Programme gestoppt wird, um auf die Ausführung der MPU-Ausführungsbefehle zu warten, durch Gestaltung einer Vielzahl von Hardware-Gruppen, wobei jede eine Vielzahl von Rechenwerken, eine oder mehrere Entscheidungsschaltungen und eine Vielzahl von MPUs umfasst, während eine Vielzahl von unabhängigen Ablaufprogrammen ausgeführt werden, und dann die Hardware-Konfigurationen der programmierbaren Steuerung gemäß dem Inhalt der Ablaufprogramme geändert (oder neu kombiniert) werden, verkürzt werden.
  • 18 zeigt eine Registereinstellung von einer Hardware, umfassend zwei MPUs und n-Anzahl von Rechenwerken in der programmierbaren Steuerung von 13, in welcher Kombinationen der MPUs und Rechenwerke auf die in den 14 bis 17 gezeigten Art geändert werden können.
  • Der Speicher 20 in 18 ist weggelassen. Die ersten und zweiten MPUs 11 und 12 sind mit den Entscheidungsschaltungen 31 und 32 entsprechend verbunden.
  • Die erste Entscheidungsschaltung 31 kann eine Entscheidung zwischen den Rechenwerken (1) bis (n/2) ausführen, und gibt ein MPU-Befehlsausführungsanfragesignal, welches in einem der Rechenwerke erzeugt wurde, zu der ersten MPU 11 in der Reihenfolge der Erzeugung aus. Wenn die Ausführung der Befehle abgeschlossen ist, gibt die erste MPU 11 darüber hinaus ein MPU-Befehlsausführungsbeendigungssignal an die erste Entscheidungsschaltung 31 aus. Die erste Entscheidungsschaltung 31 gibt das MPU-Befehlsausführungsbeendigungssignal an das Rechenwerk aus, welches das MPU-Befehlsausführungsanfragesignal ausgegeben hat.
  • Die zweite Entscheidungsschaltung 32 kann Entscheidungen zwischen den Rechenwerken (2) bis (n) ausführen und gibt MPU-Befehlsausführungsanfragesignale, die in einem der Rechenwerke erzeugt wurden, an die zweite MPU 12 in der Reihenfolge der Erzeugung aus.
  • Daher können die Rechenwerke (1) bis (n/2) entweder mit der ersten oder zweiten Entscheidungsschaltung 31 oder 32 verbunden werden. Im Speziellen sind die Rechenwerke (1) bis (n/2) und die ersten und zweiten Entscheidungsschaltungen 31 und 32 durch Auswahlvorrichtungen 51 bis 59, wie in 18 gezeigt, verbunden, und MPU-Befehlsausführungsanfragesignale und die Datenausgabe durch die Rechenwerke (1) bis (n/2) werden entweder zu der ersten oder zweiten Auswahlschaltung 31 oder 32 durch Einstellen der Auswahlvorrichtungen 51 bis 59 ausgegeben. Die MPU-Befehlsausführungsanfragesignale und Daten werden von der ersten oder zweiten Auswahlschaltung 31 oder 32 an die erste oder zweite MPU 11 oder 12 ausgegeben. Die Bezugszeichen 51 bis 59 in 18 setzen nicht voraus, dass neun Auswahlvorrichtungen beinhaltet sind, sondern beziehen sich nur auf diese Auswahlvorrichtungen, welche gezeigt sind, ohne in 18 weggelassen worden zu sein.
  • Auf der anderen Seite wird das MPU-Befehlsausführungsbeendigungssignal, das von der ersten oder zweiten MPU 11 oder 12 ausgegeben worden ist, an das Rechenwerk, welches das MPU-Befehlsausführungsanfragesignal ausgegeben hat, von der ersten oder zweiten Entscheidungsschaltung 31 oder 32 direkt oder durch die Auswahlvorrichtungen 51 bis 59 ausgegeben. Das Rechenwerk (1) und die erste Entscheidungsschaltung 31 sind direkt miteinander ohne die Hilfe von Auswahlvorrichtungen verbunden.
  • Der Signalausgang von den Anschlüssen S1, S2, ..., S(n/2 – 1) eines Registers/Dekoders 40 sind 0 oder 1 Ausgänge und die Auswahlvorrichtungen 51 bis 59 werden gemäß den Ausgangswerten geschaltet. Die Auswahlvorrichtungen werden als Antwort auf einen Steuerbefehl von dem Register/Dekoder 40 geschaltet. Die Art der Einstellung der Auswahlvorrichtungen 51 bis 59 wird vorgegeben, als Auswahlvorrichtungseinstellungsinformation d, von der zweiten MPU 12 zu dem Register/Dekoder 40. Alternativ kann die Auswahlvorrichtungseinstellungsinformation von der ersten MPU 11 an das Register/Dekoder 40 gegeben werden.
  • Die Auswahlvorrichtungen 51, 52 und 57 werden beispielsweise beschrieben. Eine Ausgabe von einem a-Anschluss des Rechenwerks (2) wird entsprechenden 0-Anschlüssen der Auswahlvorrichtungen 51 und 57 zugeführt. Entsprechende 1-Anschlüsse der Auswahlvorrichtungen 51 und 57 sind geerdet und die Ausgabe der Auswahlvorrichtung 51 wird einem Anschluss a (2) der ersten Entscheidungsschaltung 31 zugeführt. Die Ausgabe der Auswahlvorrichtung 57 wird einem Anschluss a (2) der zweiten Entscheidungsschaltung 32 zugeführt.
  • Die Ausgaben von entsprechenden Anschlüssen b (2) der ersten und zweiten Entscheidungsschaltung 31 und 32 werden zu 0- und 1-Anschlüssen der Auswahlvorrichtung 52 entsprechend zugeführt. Die Ausgabe der Auswahlvorrichtung 52 wird einem b-Anschluss des Rechenwerks (2) zugeführt.
  • Gleichermaßen sind die Rechenwerke (3) bis (n/2) mit der ersten und zweiten Entscheidungsschaltung 31 und 32 über die Auswahlvorrichtungen 53, 54, 55, 56, 58 und 59 verbunden.
  • Eine Ausgabe von dem Anschluss S1 des Registers/Dekoders 40 wird entsprechenden Schaltanschlüssen der Auswahlvorrichtungen 51 und 52 zugeführt, während sie einem Schaltanschluss der Auswahlvorrichtung 57 durch einen Inverter 60 zugeführt wird. Wenn ein Signal, welches bezeichnend für ”1” ist, zum Beispiel von dem Anschluss S1 des Registers/Dekoders 40, ausgegeben wird, wird ein Schalter der Auswahlvorrichtung 51 mit ”1” verbunden. Wenn ein Signal, welches kennzeichnend für ”0” ist, von dem Anschluss 51 ausgegeben wird, wird der Schalter der Auswahlvorrichtung 51 mit ”0” verbunden.
  • Wie oben beschrieben werden die MPU-Befehlsausführungsanfragesignale und Daten von dem a-Anschluss von jedem der Rechenwerke (1) bis (n) direkt oder über die Auswahlvorrichtungen 51 bis 59 ausgegeben. In 18 ist das Rechenwerk (1) direkt mit der ersten Auswahlschaltung 31 verbunden und die Rechenwerke (n/2 + 1) bis (n) sind mit der zweiten Auswahlschaltung 32 verbunden.
  • Weiter wird das MPU-Befehlsausführungsbeendigungssignal von der ersten oder zweiten Entscheidungsschaltung 31 oder 32 zu jedem Rechenwerk direkt oder über die Auswahlvorrichtungen 51 bis 59 übermittelt.
  • Auswahlsignale der Auswahlvorrichtungen 51 bis 59 werden durch das Register/Dekoder 40 erzeugt. Tabelle 1 zeigt Auswahlsignale S(n/2 – 1), ..., S3, S2 und S1 zur Bestimmung der Entscheidungsschaltung, ob die erste oder zweite Entscheidungsschaltung 31 oder 32, mit welcher (n/2 – 1) Anzahl von Rechenwerken verbunden werden sollen. <Tabelle 1>
    Figure DE102011011682B4_0002
  • Wenn (S(n/2 – 1), ..., S3, S2, S1) = (1, ..., 1, 1, 1) gegeben ist, gibt nur das Rechenwerk (1) die Daten und die MPU-Befehlsausführungsanfragesignale an die erste MPU 11 aus. In diesem Fall werden die Daten, MPU-Befehlsausführungsanfragesignal und MPU-Befehlsausführungsbeendigungssignal direkt zwischen dem ersten Rechenwerk und der ersten MPU 11 ohne die Hilfe der Entscheidungsschaltung übertragen.
  • Weiterhin ist das Register/Dekoder 40 als Schaltung ausgebildet, welche die Auswahlsignale, die in Tabelle 1 gezeigt werden, basierend auf Einstellwerten des Registers erzeugt. Das Register des Registers/Dekoders 40 ist dazu ausgebildet, durch eine MPU eingestellt zu werden. Wenn beispielsweise acht Rechenwerke verwendet werden, sind Zwei-Bit-Register R1 und R0 vorgesehen, so dass die Auswahlsignale S1, S2 und S3, wie in Tabelle 2 gezeigt, durch Dekodieren von Daten des Registers erzeugt werden können. <Tabelle 2>
    Zwei-Bit-Register Auswahlsignale
    R1, R0 S3, S2, S1
    0, 0 0, 0, 0
    0, 1 0, 0, 1
    1, 0 0, 1, 1
    1, 1 1, 1, 1
  • Gemäß der oben beschriebenen Ausführung der vorliegenden Erfindung betrifft die Erfindung eine Hardware, die so ausgestaltet ist, dass eine Vielzahl von unabhängigen Ablaufprogrammen parallel ausgeführt werden können, durch eine Struktur, umfassend eine Vielzahl von Rechenwerken und MPUs. Eine optimale Konfiguration für die kürzeste Programmbearbeitungszeit kann aus Kombinationen der Hardwareverbindungen von einer Vielzahl von Rechenwerken und MPUs ausgewählt werden, basierend auf der Anzahl der Ablaufprogramme und dem Inhalt der Befehle, welche jedes Ablaufprogramm darstellen.

Claims (3)

  1. Programmierbare Steuerung, die eine Vielzahl von unabhängigen Ablaufprogrammen parallel ausführt, wobei die programmierbare Steuerung umfasst: – eine Vielzahl von Rechenwerken ((1)...(n)), die dazu ausgebildet sind, vorgegebene erste Befehle in den Ablaufprogrammen durch die Hardware auszuführen; – eine Vielzahl von Mikroprozessoreinheiten (11, 12), die dazu ausgebildet sind, zweite Befehle in den unabhängigen Ablaufprogrammen aus der Vielzahl von unabhängigen, parallel ausgeführten Ablaufprogrammen, welche nicht von den Rechenwerken ausgeführt werden können, auszuführen; – erste Übertragungsmittel (31a, 32a), die dazu ausgebildet sind, Informationen betreffend zumindest einen der zweiten Befehle, die in den Rechenwerken ((1)...(n)) erzeugt wurden, zu den Mikroprozessoreinheiten in der Reihenfolge der Erzeugung der Befehle zu übertragen; und – zweite Übertragungsmittel (31b, 32b), die dazu ausgebildet sind, Informationen betreffend Ergebnisse der Ausführung der zweiten Befehle, die durch die Mikroprozessoreinheiten ausgeführt wurden, zu den Rechenwerken ((1)...(n)) zu übertragen, welche Quellen der Erzeugung der Information aus den zweiten Befehlen sind, wobei – die Vielzahl von Rechenwerken ((1)...(n)) in so viele Gruppen wie Mikroprozessoreinheiten (11, 12) aufgeteilt ist, wobei jede der Gruppen zumindest ein Rechenwerk umfasst, und – zumindest eine der Gruppen wenigstens zwei Rechenwerke umfasst, und die ersten und zweiten Übertragungsmittel (31a, 32a; 31b, 32b) und die Mikroprozessoreinheiten (11, 12) in Verbindung mit den Gruppen, welche die wenigstens zwei Rechenwerke umfassen, angeordnet sind, wobei die programmierbare Steuerung des Weiteren Auswahlmittel umfasst zum Auswählen, wenn die Rechenwerke ((1)...(n)) in eine Vielzahl von Gruppen unterteilt sind, von entsprechenden Gruppen, zu welchen ein individuelles Rechenwerk bestimmt worden ist, anzugehören; und wobei die Auswahlmittel ein Register (40) umfassen, das dazu ausgebildet ist, Daten zu speichern, welche die Gruppe spezifizieren, zu welcher jedes der Rechenwerke ((1)...(n)) bestimmt worden ist anzugehören, und eine Auswahlschaltung (5159), welche jedes der Rechenwerke ((1)...(n)) mit den ersten und zweiten Übertragungsmitteln (31a, 32a; 31b, 32b) und der Mikroprozessoreinheit (11, 12) entsprechend der Gruppe, welcher das Rechenwerk ((1)...(n)) angehört, entsprechend den in dem Register gespeicherten Daten verbindet.
  2. Programmierbare Steuerung nach Anspruch 1, wobei die Daten, welche die Gruppe, zu welcher jedes der Rechenwerke ((1)...(n)) gehört, spezifiziert, Daten aus einer Kombination für die kürzeste Ausführungszeit der Vielzahl von individuellen Ablaufprogrammen, basierend auf einer Simulation, die durch willkürliches Teilen der Ablaufprogramme in die Gruppen durchgeführt wird, entsprechen.
  3. Programmierbare Steuerung nach einem der Ansprüche 1 oder 2, wobei die programmierbare Steuerung dritte Übertragungsmittel anstelle der ersten Übertragungsmittel umfasst, wobei die dritten Übertragungsmittel dazu ausgebildet sind, die Information auf den zweiten Befehl von einem der Rechenwerke direkt zu einer der Mikroprozessoreinheiten (11, 12) zu übertragen.
DE102011011682.6A 2010-02-25 2011-02-18 Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen Expired - Fee Related DE102011011682B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-040996 2010-02-25
JP2010040996 2010-02-25

Publications (2)

Publication Number Publication Date
DE102011011682A1 DE102011011682A1 (de) 2011-08-25
DE102011011682B4 true DE102011011682B4 (de) 2014-02-06

Family

ID=44356993

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011011682.6A Expired - Fee Related DE102011011682B4 (de) 2010-02-25 2011-02-18 Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen

Country Status (4)

Country Link
US (1) US8301869B2 (de)
JP (1) JP4809497B2 (de)
CN (1) CN102169332B (de)
DE (1) DE102011011682B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105242611B (zh) * 2015-10-31 2017-12-12 肖勤 一种时序再现循环控制器以及时序控制方法
JP6356736B2 (ja) 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
JP6781191B2 (ja) 2018-05-24 2020-11-04 ファナック株式会社 プログラマブルコントローラ及び機械学習装置
US11904399B2 (en) * 2020-11-30 2024-02-20 Metal Industries Research & Development Centre Online prediction method of tool-electrode consumption and prediction method of machining accuracy

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1870792A1 (de) * 2005-04-12 2007-12-26 Waseda University Multiprozessorsystem und mehrkornparallelisierungscompiler
JP2009116445A (ja) * 2007-11-02 2009-05-28 Fanuc Ltd 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
WO2010077751A2 (en) * 2008-12-17 2010-07-08 Advanced Micro Devices, Inc. Coprocessor unit with shared instruction stream

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748934A (en) * 1996-05-31 1998-05-05 Hewlett-Packard Company Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words
JP2933026B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
US6901504B2 (en) * 2002-01-22 2005-05-31 International Business Machines Corporation Result forwarding of either input operand to same operand input to reduce forwarding path
JP4491439B2 (ja) * 2006-06-30 2010-06-30 株式会社日立製作所 制御装置及び制御方法
US7984272B2 (en) * 2007-06-27 2011-07-19 International Business Machines Corporation Design structure for single hot forward interconnect scheme for delayed execution pipelines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1870792A1 (de) * 2005-04-12 2007-12-26 Waseda University Multiprozessorsystem und mehrkornparallelisierungscompiler
JP2009116445A (ja) * 2007-11-02 2009-05-28 Fanuc Ltd 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
WO2010077751A2 (en) * 2008-12-17 2010-07-08 Advanced Micro Devices, Inc. Coprocessor unit with shared instruction stream

Also Published As

Publication number Publication date
US20110208952A1 (en) 2011-08-25
JP2011198356A (ja) 2011-10-06
DE102011011682A1 (de) 2011-08-25
JP4809497B2 (ja) 2011-11-09
CN102169332A (zh) 2011-08-31
US8301869B2 (en) 2012-10-30
CN102169332B (zh) 2013-08-07

Similar Documents

Publication Publication Date Title
DE3506749C2 (de)
EP0048767B1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE3248215C2 (de)
DE102008034500B4 (de) Arbitrierung
EP1097460B1 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE2657848C2 (de)
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE2523399A1 (de) Datenverarbeitungssystem mit eingabe/ausgabeprozessoren
DE102011011682B4 (de) Programmierbare Steuerung zum parallelen Ausführen einer Vielzahl von unabhängigen Ablaufprogrammen
DE3241376A1 (de) Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger
DE1269394B (de) Schaltungsanordnung zur Bestimmung des Vorrangsverhaeltnisses zwischen mehreren Eingangsgroessen fuer programmgesteuerte Datenverarbeitungssysteme
DE102018202820A1 (de) System zur einstellung von daten für einen roboter, verfahren zur einstellung von daten und programm
DE112012005572B4 (de) Ausgleichen der Bandbreite von Anforderern, die ein gemeinsam genutztes Speichersystem verwenden
DE19780639C2 (de) Arbeitsübernahmesystem
DE102015105234B4 (de) Dienstanforderungsunterbrechungsrouter mit gemeinsam verwendeter Schlichtungseinheit
EP1308846B1 (de) Datenübertragungseinrichtung
DE102012010558A1 (de) Hardwarevorrichtung für ein system,system und speicherzugriffsverfahren
DE60109699T2 (de) Gerät und Verfahren zum Signalgruppenaustausch zwischen mehreren Teilen in einer Einrichtung zur digitalen Signalverarbeitung der eine Direktspeicherzugriffssteuerung enthält
DE102016206490A1 (de) Elektronische steuereinheit
DE102018124106A1 (de) Datenverarbeitungsvorrichtung mit mehreren Prozessoren und mehreren Schnittstellen
WO2011064045A1 (de) Verfahren und elektronische einheit zum erzeugen von sequenzen
EP1260905A2 (de) Programmgesteuerte Einheit
DE102022116016A1 (de) Elektronische steuerungsvorrichtung
DE60103221T2 (de) Gerät und Verfahren zur Signalgruppenübertragung zwischen digitalen Signalprozessoren in einer digitalen Signalverarbeitungseinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20110919

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20141107

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee