DE60024116T2 - Verfahren zur automatischen anordnung der aufgaben einer anwendung in einer signalverarbeitungsmaschine - Google Patents

Verfahren zur automatischen anordnung der aufgaben einer anwendung in einer signalverarbeitungsmaschine Download PDF

Info

Publication number
DE60024116T2
DE60024116T2 DE60024116T DE60024116T DE60024116T2 DE 60024116 T2 DE60024116 T2 DE 60024116T2 DE 60024116 T DE60024116 T DE 60024116T DE 60024116 T DE60024116 T DE 60024116T DE 60024116 T2 DE60024116 T2 DE 60024116T2
Authority
DE
Germany
Prior art keywords
output
elementary
operator
input
space
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
DE60024116T
Other languages
English (en)
Other versions
DE60024116D1 (de
Inventor
Alain Demeure
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.)
Thales Underwater Systems SAS
Original Assignee
Thales Underwater Systems SAS
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 Thales Underwater Systems SAS filed Critical Thales Underwater Systems SAS
Application granted granted Critical
Publication of DE60024116D1 publication Critical patent/DE60024116D1/de
Publication of DE60024116T2 publication Critical patent/DE60024116T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf die Verfahren zur automatischen Platzierung der Aufgaben einer Anwendung in einer Signalverarbeitungsmaschine, genauer in einer Maschine, die ausgehend von einem unter dem Namen "ARRAY-OL" bekannten graphischen Erfassungsverfahren arbeitet. Dieses Verfahren ist insbesondere in den beiden folgenden Patentanmeldungen beschrieben, die von der Anmelderin eingereicht wurden.
  • In der ersten dieser Patentanmeldungen, die unter der Nummer FR 2 732 787 veröffentlicht wurde, hat die Anmelderin ein zweidimensionales graphisches Erfassungsverfahren beschrieben und beansprucht, das dazu bestimmt ist, in Tabellen strukturierte digitale Daten zu erfassen.
  • In der zweiten dieser Patentanmeldungen, die unter der Nummer FR 2 748 138 veröffentlicht wurde, hat die Anmelderin ein Codierungsverfahren beschrieben und beansprucht, das das vorherige Verfahren vervollständigt und auf einer Tabellenstruktur in Tasks ("grain de calcul" – Rechenkorn) basiert, um zu einer buchstäblichen so genannten "Q/D"-Form zu gelangen.
  • Außerdem hat die Anmelderin in einer unter der Nummer FR 2 790 847 veröffentlichten Patentanmeldung eine Variante des ersten dieser beiden Patente beschrieben und beansprucht, die durch ein Hierarchiesystem vervollständigt wurde, das es ermöglicht, die Details einer Anwendung in aufeinanderfolgende Niveaus zu zerlegen.
  • 1 zeigt das Platzierungsverfahren gemäß dem Stand der Technik, das es ermöglicht, von der Benutzerspezifikation zum durch die Zielmaschine ausführbaren Code, "Zielcode" genannt, zu gelangen. In diesem Verfahren verwendet der Benutzer zunächst das Verfahren "graphische ARRAY-OL" im ersten Schritt 101 entsprechend der Erfindung, die in dem oben erwähnten Patent FR 2 732 787 beschrieben und beansprucht wurde. Das Prinzip des in diesem Patent beschriebenen graphischen Erfassungsverfahrens verwendet eine Operand-Anwendungstabelle 30, eine Ergebnis-Anwendungstabelle 31 und eine Elementaranwendung 32 mit ihren Eingangsmotiven 33 und ihren Ausgangsmotiven 34. Die Elementaranwendung verwendet eine durch F symbolisierte Elementarumwandlung, zum Beispiel eine FFT, die eine Folge von zeitlichen Tastproben verarbeitet, um eine Folge von Frequenzlinien auszuarbeiten. Diese Darstellung setzt voraus, dass mindestens das Ergebnis-Motiv in einer Tabelle strukturiert ist und dass zur vollständigen Durchführung der Umwandlung die Elementarumwandlung so oft wie nötig wiederholt wird, damit die Ergebnistabelle ganz mit Gruppen von Punkten gefüllt ist, die gleich der Gruppe von Punkten sind, die dem Ausgangsmotiv entsprechen. Alles verläuft so, als ob bei jeder Iteration der Elementarumwandlung ein "Block" hinzugefügt wird, der zur Konstruktion der Ergebnistabelle beiträgt. Ein Block ist gleich der Gruppe der Punkte, die einem in einer Tabelle platzierten Motiv (englisch "mapped") entsprechen. Die Position, in der man den Ergebnisblock platziert, definiert die Position des entsprechenden Operand-Blocks. Dann wird die so genannte "hierarchische ARRAY-OL" im zweiten Schritt 102 angewendet, der der oben erwähnten Patentanmeldung FR 2 790 847 entspricht. Anschließend werden die von 102 gelieferten Informationen automatisch von der so genannten "literalen ARRAY-OL" oder "Q/D" im dritten Schritt 103 entsprechend dem obigen Patent FR 2 748 138 übersetzt. Dann wird zum letzten Schritt 104 übergegangen, der darin besteht, die von 103 gelieferten Informationen in den Zielcode umzuwandeln.
  • Der Nachteil des Verfahrens liegt darin, dass der Schritt 102 eine Bedienungsperson erfordert.
  • Die technische Lehre des Dokuments von P.BOULET et al mit dem Titel "Une approche à la SQL du traitement des donnees intensif" in GASPARD'RENPAR'11, 8.–11. Juni 1999, Seiten 1–6,XP002140826, Frankreich, betrifft einen Ansatz der intensiven Datenverarbeitung, inspiriert von der Sprache SQL, und schlägt eine Sprache der Beschreibung von unregelmäßigen Komponenten vor. Die in diesem Dokument erwähnten Verbindungen zwischen den Tabellen und den Komponenten drücken Abhängigkeiten aus, von denen ausgehend ein Ausführungsschema verwirklicht werden kann.
  • Das Dokument von C.GUETTIER mit dem Titel "Optimisation globale du placement d'applications de traitement du signal sur architectures paralleles utilisant la programmation logique avec contraintes", Kapitel 2' Doktorarbeit an der Ecole des Mines de Paris, 12. Dezember 1997, Seiten 41–68, XP002140827 betrifft die Platzierung der Anwendungen der Signalverarbeitung. In diesem Dokument werden die digitalen Programme mit Hilfe von Nestern ineinander verschachtelter Schleifen ausgedrückt. Die Zugänge zu den Tabellen sind verfeinerte Funktionen der Schleifen-Iteratoren, was sie in einen Kontext der Platzierung auf feinem Granularitätsniveau platziert.
  • Das erfindungsgemäße Verfahren ermöglicht es, auf die oben erwähnte Bedienungsperson im Schritt 102 zu verzichten und somit das Verfahren ab dem Ausgang von 101 zu automatisieren.
  • Um diese Automatisierung zu erreichen, schlägt die Erfindung ein Verfahren zur automatischen Platzierung der Aufgaben einer Anwendung in einer Signalverarbeitungsmaschine vor, mit einem ersten Schritt, der das bekannte Verfahren "graphische ARRAY-OL" anwendet, gefolgt von einem zweiten Schritt, der das bekannte Verfahren "ARRAY-OL Q/D" verwendet, hauptsächlich dadurch gekennzeichnet, dass auf den zweiten Schritt ein dritter Schritt folgt, der ein Verfahren verwendet, das Tabellenverteilungsoperatoren ODT verwendet, die aus einer Kette von Elementaroperatoren OE bestehen, die durch Verbindungsräume voneinander getrennt sind, um die Verbindungen zwischen den Elementen eines Senderaums Ne und den Elementen eines Empfangsraums Nr zu beschreiben.
  • Gemäß einem anderen Merkmal verwendet das Verfahren 8 Elementaroperatoren OE, von denen 4 direkte Operatoren und 4 die Spiegel der direkten Operatoren sind, und die den folgenden Aktionen entsprechen:
    • – einem Elementaroperator "Format", der dazu dient, die Größen der Tabellen zu definieren, und dessen Aktionen "Schneiden" und "Verlängern" sind;
    • – einem Elementaroperator "Modulo", der es ermöglicht, die Zugänge ins Innere der Tabellen zurückzuführen, und dessen Aktion "Konvergieren lassen" ist;
    • – einem Elementaroperator "Shift", der es ermöglicht, über die "Blockbildungen" zu berichten, die nicht vom Ursprung der Tabelle ausgehen, und dessen Aktion "Verlängern" ist;
    • – einem Elementaroperator "Projektion", der es ermöglicht, Verbindungen zwischen einem Eingangsraum Nf und einem Ausgangsraum Nt herzustellen, und dessen Aktionen "verlängern" und "Konvergieren lassen" ist;
    • – einem Spiegel-Elementaroperator "Format–1", der es ermöglicht, bei gleicher Parametrierung die gleichen Verbindungen zu verlängern oder abzuschneiden wie der Elementaroperator "Format";
    • – einem Elementaroperator "Aufspaltung", der dem Spiegel-Operator "Modulo–1" entspricht, also umgekehrt zum OE "Modulo" arbeitet, und dessen Aktionen "Schneiden" und "Vervielfältigen" sind;
    • – einem Elementaroperator "Shift–1", der der Spiegel eines direkten Shifts ist, aber Parameter mit entgegengesetzten Vorzeichen besitzt;
    • – einem Elementaroperator "Segmentierung", der der Spiegel des Operators "Projektion" ist und der es ermöglicht, eine Gruppe von aufeinanderfolgenden Elementen auf die gleiche Abmessung zu stutzen, und dessen Aktionen "Vervielfältigen" und "Schneiden" sind.
  • Weitere Besonderheiten und Vorteile der Erfindung gehen klar aus der nachfolgenden Beschreibung hervor, die als nicht einschränkendes Beispiel anhand der beiliegenden Figuren erfolgt. Es zeigen:
  • 1 ein Organigramm der Kette des Verfahrens gemäß dem Stand der Technik;
  • 2 ein Organigramm der Kette des Verfahrens gemäß der Erfindung;
  • 3 eine Darstellung der Definition der Tabellenausgabe-Operatoren ODT;
  • 4 eine graphische Darstellung der Verwendung dieser ODT;
  • 5 ein Beispiel des Schreibens in ODT der Verbindungen zwischen einem Ergebnisraum und einem vollständigen Raum Q/D;
  • 6 ein Darstellungsbeispiel von aufeinanderfolgenden Aufgaben in Form einer "Makro-Aufgabe";
  • 7 ein Beispiel des Schreibens einer ARRAY-OL-Aufgabe in ODT.
  • 2 zeigt die Folge der Schritte des erfindungsgemäßen Verfahrens. Der Benutzer verwendet das Verfahren "101" wie bisher. Ohne dann über den Schritt 102 zu gehen, werden die Informationen direkt vom Verfahren "103" übersetzt. Erfindungsgemäß werden die Informationen anschließend in 110 vom ODT-Verfahren verarbeitet, wobei ODT die Abkürzung von "Operateurs de Distribution de Tableau" (Tabellenverteilungsoperatoren) ist. Dann werden die erhaltenen Informationen wie vorher in 104 umgewandelt.
  • Man versteht also, dass die "ODT" ein Werkzeug darstellen, das es erlaubt, wenn sie im Rahmen des allgemeinen Verfahrens "ARRAY-OL" angewendet werden, automatisch zu hierarchisieren, wie dies im Stand der Technik in "102" manuell durchgeführt wurde.
  • Mit den "ODT" werden in einer stark verkürzten mathematischen Form die Beziehungen oder Verbindungen zwischen den Elementen eines Senderaums Ne und den Elementen eines Empfangsraums Nr beschrieben. Für eine gegebene Aufgabe ist die die Operand-Elemente enthaltende Tabelle eine Untereinheit von Ne, wie auch die die Ergebnis-Elemente enthaltende Tabelle eine Untereinheit von Nr ist. Die mathematische Form verwendet die klassischen Funktionen einer multidimensionalen linearen Algebra in ganzen Zahlen, sowie neue Funktionen, die den "Spiegel" von klassischen Operationen darstellen und die in der Erfindung besonders originell sind. Man erhält hier mathematisch manipulierbare Ausdrücke, die über die Hierarchisierungen, die Rechenvolumen und die Volumen von gespeicherten oder ausgetauschten Daten Auskunft geben, die durch diese Hierarchisierungen bewirkt werden.
  • Mit der Erfindung werden so die Kriterien berechenbar, die es ermöglichen, die Qualität einer Platzierung in einer Maschine einer Signalverarbeitungsanwendung, TS-Anwendung genannt, zu führen.
  • Die "Tabellenverteilungsoperatoren" oder ODT werden von "Elementaroperatoren" oder OE gebildet.
  • Die ODT werden ausgehend von den in den 3 und 4 dargestellten Definitionen beschrieben.
  • Sie ermöglichen es, Verbindungen zwischen Elementen von Tabellen, oder genauer zwischen den Elementen eines Senderaums Ne 202 und eines Empfangsraums Nr 203 der Abmessung r zu beschreiben.
  • Insbesondere beschreibt ein ODT 201, welches die Elemente von Ne sind, die mit Elementen von Nr verbunden sind, und in diesem Fall mit welchen.
  • Ein ODT besteht aus einer Kette von Elementaroperatoren OE wie 301, die implizit durch Räume Nd wie 302 getrennt sind.
  • Vereinbarungsgemäß ist in den Ausdrücken oder den Zeichnungen der Senderaum Ne rechts, die Verbindungen breiten sich von rechts nach links aus, und der Empfangsraum Nr ist links.
  • Die Abmessungen der beiden Räume, gesehen von einem OE, d.h. Nf am Eingang ("From") und Nt am Ausgang ("TO"), sind Teil seiner Parametrierung. Zwei aufeinanderfolgende OE müssen gleiche Raumabmessungen haben ("To" für den einen, "From" für den folgenden).
  • Ein OE führt eine einzige Aktion auf einer Verbindung zwischen Elementen durch.
  • Ein OE kann die vom Raum auf seiner rechten Seite empfangenen Verbindungen entweder gemäß dem Symbol 204 schneiden, oder gemäß dem Symbol 205 verlängern oder gemäß dem Symbol 206 multiplizieren, oder auch gemäß dem Symbol 207 konvergieren lassen, aber nur diejenigen der Elemente, die bereits von einer oder mehreren Verbindungen erreicht wurden, die vom ihm vorausgehenden OE gesendet wurden.
  • Die Elemente des Senderaums (Ne = Nf des am weitesten rechts liegenden OE) sind zu Beginn alle mit einer Verbindung versehen.
  • Um nicht nur sagen zu können, mit welchen Elementen von Nt ein Element von Nf verbunden ist, sondern auch, mit welchen Elementen von Nf ein Element von Nt verbunden ist, ist jedem OE ein "Spiegel"-OE zugeordnet, der die Verbindungen in gleicher Weise wechselt wie der direkte OE, aber mit vertauschten Eingängen und Ausgängen.
  • Um Abhängigkeiten, Verteilung oder Platzierung zu beschreiben, haben sich 8 OE, d.h. 4 direkte OE und 4 Spiegel-OE als ausreichend erwiesen. Zwischen einem direkten OE und einem Spiegel-OE betrachtet man als direkt den OE, der die familiärste Operation durchführt, was zur folgenden Tabelle führt:
  • Figure 00080001
  • Der OE Format dient hauptsächlich dazu, die Tabellengrößen zu definieren. Dieser OE hat einen Nf und einen Nt mit gleichen Abmessungen.
  • Das Format wird von einem Vektor von Dubletten von ganzen Zahlen (I,u) dargestellt; es wird durch das Symbol G identifiziert. Man hat: Ii ≥ 0, ui > Ii. Oft sind die Ii Null und können dann fehlen.
  • Es wird eine Verbindung zwischen einem Element f und einem Element t hergestellt, die beide die gleichen Indices haben, wenn für jedes i gilt: Ii ≤ fi < ui.
  • Die Aktionen des OE Format sind "Schneiden" (Symbol 204), "Verlängern" (Symbol 205).
  • Zum Beispiel hat man für eine Abmessung f = t = 3:
  • Figure 00090001
  • Der OE Modulo dient hauptsächlich dazu, die Zugänge ins Innere der Tabellen stets zurückzuführen, um sie "auf die Größe zu bringen". Dieser OE hat einen Nf und einen Nt gleicher Abmessung.
  • Der Modulo wird durch einen Vektor von ganzen Zahlen (m) dargestellt; er wird durch das Symbol M identifiziert. Es gilt: mi ≥ 1.
  • Es wird eine Verbindung zwischen einem Element f und einem Element t hergestellt, mit für jedes i: ti = (fi)mod.mi.
  • Die Wirkung des OE Modulo ist "Konvergieren lassen" (Symbol 207).
  • Zum Beispiel gilt für eine Abmessung für f = t = 3:
  • Figure 00090002
  • Der OE Shift dient hauptsächlich dazu, über "Blockbildungen" zu berichten, wie sie im oben erwähnten Patent 95 04175 definiert sind, indem nicht vom Ursprung der Tabelle ausgegangen wird. Dieser OE hat einen Nf und einen Nt mit gleichen Abmessungen.
  • Der Shift wird durch einen Vektor von ganzen Zahlen (s) dargestellt, er wird durch das Symbol S identifiziert. Die si können negativ sein.
  • Es wird eine Verbindung zwischen einem Element f und einem Element t hergestellt, wobei für jedes i gilt : ti = fi + si
  • Die Aktion des OE Shift ist "Verlängern" (Symbol 205).
  • Zum Beispiel gilt für f = t = 3:
  • Figure 00100001
  • Der OE Projektion entspricht der einfachsten Form der Ausgabe von einem Raum Nf zu einem Raum Nt, wie zum Beispiel die Ausgabe von Q/D in der Ergebnistabelle, wie im oben erwähnten Patent 96 05325 definiert.
  • Dieser OE wird durch eine Matrix von Koeffizienten Wi,c definiert, die üblicherweise ganze Zahlen sind. Die Projektion erstellt Verbindungen zwischen einem Raum Nf, dessen Abmessung die Anzahl von Spalten ist, und einem Raum Nt, dessen Abmessung die Anzahl von Zeilen ist. Ein Element f ist derart mit einem Element t verbunden, dass: t = |Wi,c|.f
  • Die Aktionen des OE Projektion sind "Verlängern", "Konvergieren lassen".
  • Als Beispiel gilt für f = 4 und t = 3:
  • Figure 00110001
  • Für den Spiegel-OE Format–1 mit gleicher Parametrierung verlängern oder schneiden Format und Format–1 die gleichen Verbindungen:
  • Figure 00110002
  • Zum Beispiel gilt:
  • Figure 00110003
  • Der Spiegel-OE Modulo–1 oder Aufspaltung ist wie der Modulo durch einen Vektor von ganzen Zahlen (m) dargestellt, der durch ein M–1 identifiziert wird.
  • Es wird eine Verbindung zwischen einem Element f und einem Element t aufrechterhalten, wenn für jedes i gilt: fi < mi mit fi = (ti)mod.mi, oder geschnitten, wenn fi ≥ mi.
  • Die Aktionen des OE Modulo–1 sind "Schneiden", "Multiplizieren" (Symbol 206).
  • Zum Beispiel gilt für eine Abmessung f = t = 3:
  • Figure 00120001
  • Der Spiegel-OE Shift–1 ist gleich einem direkten Shift mit Parametern mit umgekehrten Vorzeichen.
  • Zum Beispiel gilt für f = t = 3:
  • Figure 00120002
  • Der Spiegel-OE Segmentierung wurde so genannt, da dieser OE es ermöglicht, eine Gruppe von aufeinanderfolgenden Elementen auf die gleiche Abmessung in "Segmente" zu stutzen.
  • Eine Segmentierung wird durch eine Tabelle 2D gekennzeichnet, die die gleichen ganzen Zahlen Wi,c gemäß der gleichen Anordnung in Zeilen und Spalten wie die Matrix Projektion enthält, deren Spiegel dieser OE ist. Die verwendete Darstellung ist wie folgt:
  • Figure 00130001
  • Nf (bzw. Nt) hat eine Abmessung gleich der Anzahl von Zeilen (bzw. der Anzahl von Spalten) dieser Tabelle 2D. Ein Element f ist mit einem Element t verbunden, wenn: f = |Wi,c|.t
  • Die Aktionen des OE Segmentierung sind "Miultiplizieren", "Schneiden".
  • Man stellt fest, dass eine Spalte von 0-werten der Erzeugung einer Abmessung entspricht.
  • Zum Beispiel gilt für f = 3 und t = 5:
  • Figure 00130002
  • Es wird hier daran erinnert, dass die literale Form Q/D im oben erwähnten Patent 96 05325 beschrieben wird, wo man feststellt, das Q und D Abmessungen darstellen.
  • Eine Abmessung Q hat als Größe eine Abmessung der Ergebnistabelle (wenn es mehrere gibt, wird der Master" bevorzugt), dividiert durch die Größe der Abmessung des Motivs, die parallel an die Abmessung des Masters angepasst ist. Sie stellt einen Quotient dar, mit der Einschränkung, dass für Q=1 die Abmessung annulliert wird. Eine Abmessung D ist eine Abmessung des Ergebnis-Motivs, angewendet auf den "Master"; sie stellt einen Divisor dar und ist auf das Operand-Motiv ausgedehnt.
  • Eine Tabelle Q/D fasst die Abmessungen Q und die Abmessungen D der Ergebnis-Motive und der Operand-Motive zusammen. Ein Punkt dieser Tabelle wird von einem Indexvektor q,d markiert. Wenn er mit Matrizen multipliziert wird, ermöglicht es dieser Vektor q, d, die in den von der laufenden Aufgabe betrachteten Tabellen gelesenen oder geschriebenen Elemente zu finden. Diese Matrizen enthalten die den Anpassungsschritten (a) und Blockbildungsschritten (b) entsprechenden Koeffizienten, wie sie im Patent 96 05325 definiert sind. Sie enthalten Spalten von "0", die es ermöglichen, die den in anderen Tabellen platzierten Motiven entsprechenden Indices zu ignorieren.
  • In dem Modell Q/D wird also die Spezifikation einer Aufgabe auf die Parameter zurückgeführt, die die Abmessungen und die Größen der Tabelle Q/D, den Inhalt der Matrizen, die Abmessungen und Größen der Operand-Tabellen und den Offset-Vektor angeben, der zu dem Vektor hinzugefügt wird, der nach der Multiplikation von q,d mit der Operand-Projektionsmatrix hinzugefügt wird.
  • Unter diesen Bedingungen zeigt 5 das Schreiben in ODT der Verbindungen zwischen dem Ergebnisraum und dem vollständigen Q/D-Raum (d.h., der sich auf die Ergebnistabellen und Operand-Tabellen bezieht).
  • Ein OE "Format" 130 definiert eine Ergebnistabelle, die an einen OE "Segmentierung" 131 angelegt wird, bei dem die ganzen Zahlen Wi,c in zwei Unter-Matrizen verteilt sind. Eine erste Untermatrix enthält die Werte der Einstellschritte in der Ergebnis-Tabelle "a rés.", und die Werte der Blockbildungs-Schritte "p rés.". Diese Werte bestätigen Beziehungen mit d rés. bzw. q.
  • Nach dem OE "Format" (132) erhält man eine auf das Ergebnis-Motiv begrenzte Tabelle. Diese Tabelle wird an einen zweiten OE "Segmentierung" (133) angelegt, wo die Spalten von "0" es ermöglichen, die Abmessungen von Operand zu erzeugen, deren Größen im linken Format definiert sind.
  • Nach dem OE "Format" 134 erhält man eine vollständige Tabelle. Die Striche, die die OE trennen, bezeichnen eine Verknüpfung. Das Zwischenformat kann weggelassen werden, und man kann die 2 aufeinanderfolgenden Segmentierungen durch ihr Produkt ersetzen, indem man so auf einen einzigen OE "Segmentierung" zurückgeht, wie im Beispiel der 7 in 200 dargestellt. In dieser Figur sind auch die Verbindungen zwischen dem vollständigen Raum Q/D und dem Operand-Raum dargestellt. Die aufeinanderfolgenden OE sind: "Projektion" 210, wo die Spalte "0" es ermöglicht, die Abmessungen der Ergebnis-Motive zu "eliminieren", "Shift" 211, der es ermöglicht, das Offset zu berücksichtigen, d.h. die Tatsache, dass die Operand-Motive bei der ersten Iteration einen Ursprung haben, der nicht in demjenigen der Tabellen platziert ist, und schließlich "Modulo" 212, um die Rückschleifung der Abmessungen zu berücksichtigen, die durch ARRAY-OL eingeführt wird. Dies entspricht zum Beispiel den Daten, die von den Signalen der Sensoren einer zylindrischen Antenne kommen.
  • Eine Anwendung, insbesondere einer Signalverarbeitung, wird von aufeinanderfolgenden Aufgaben gebildet, die in einer einzigen "Makro-Aufgabe" zusammengesetzt werden können, wie sie im Beispiel der Zusammensetzung von Aufgaben der 6 dargestellt ist. Die aufeinanderfolgenden Aufgaben FFT 601, CONV (Konvolution) 602 und IFFT (inverse FFT) 603 werden in einer Makro-Aufgabe CI ("Impulskompression") 610 zusammengefasst. In dieser Figur werden die gleichen Vereinbarungen wie in der unter der Nr. FR 2 290 847 veröffentlichten Patentanmeldung wieder aufgenommen, wobei die Quadrate A1, ..., A4 Datentabellen und die Kreise Aufgaben darstellen.
  • 7 entspricht einem Beispiel, das die Verbindungen bezüglich einer Aufgabe ARRAY-OL "t" definiert, zum Beispiel IFFT. Sein Ausdruck in der Form ODT wird angegeben durch:
  • Figure 00160001
  • Die die Ergebnisse dieser Aufgabe t mit den Operand der vorhergehenden Aufgabe t-1 verbindenden Verbindungen, zum Beispiel CONV, werden folgendermaßen ausgedrückt:
  • Figure 00160002
  • Indem (R2) in die Form eines Ausdrucks vom gleichen Typ wie (R1) gebracht wird, werden die Motive, Anpassungen und Blockbildungen der Makro-Aufgabe definiert, die aus der Zusammensetzung der Aufgaben t und t-1 resultiert. Hierzu werden die OE von (R2) unter Berücksichtigung einer Regel verändert, die besagt, dass man keine durch (R2) definierte Verbindung abschneiden kann, dass man aber, wenn nötig, eine hinzufügen kann.
  • Die Verbindungen, die die Ergebnisse der neuen erhaltenen Aufgabe t-1, t mit den Operanden der vorhergehenden Aufgabe t-2, verbinden, zum Beispiel FFT, werden folgendermaßen ausgedrückt:
  • Figure 00160003
  • Indem (R3) in Form eines Ausdrucks vom gleichen Typ wie (R1) gebracht wird, erhält man den Ausdruck ODT der Makro-Aufgabe, zum Beispiel CI.

Claims (1)

  1. Verfahren zur automatischen Platzierung der Aufgaben einer Anwendung in einer Signalverarbeitungsmaschine, mit einem ersten Schritt (101), in dem von in Tabellen strukturierten Daten ausgegangen wird, die in Form von kartesischen Bezugspunkten (X, Y, Z, T) angezeigt werden, indem mindestens eine Umwandlung an diese Daten angewendet wird (F), in dem man in einer Bibliothek über einen Satz von Elementarumwandlungen verfügt, in dem für jede Umwandlung am Eingang mindestens eine Operand-Anwendungstabelle und am Ausgang mindestens eine Ergebnis-Anwendungstabelle erstellt wird, in dem am Eingang jeder Elementarumwandlung ein Operand-Motiv und am Ausgang ein Ergebnis-Motiv erstellt wird, in dem für jede Achse von kartesischen Koordinaten mindestens zwei Elemente des Operand-Motivs und der Operand-Ergebnis-Anwendungstabelle einerseits und des Ergebnis-Motivs und der Ergebnis-Anwendungstabelle andererseits einander zugeordnet werden, und in dem die verfeinerten Beziehungen, die für die Zugänge in die Tabellen bei der Signalverarbeitung charakteristisch sind, verwendet werden, um durch Iteration mit Hilfe einer in das graphische Werkzeug integrierten Software ausgehend von mindestens zwei Zuordnungen die Gesamtheit der Zugänge zu erstellen, die für die vollständige Durchführung der betrachteten Umwandlung notwendig sind, und mit einem nachfolgenden zweiten Schritt (103), in dem von einer Eingangstabelle ausgegangen wird, die mit einem Eingangsmotiv entsprechend einer Eingangszusammensetzungsbeziehung und einer Eingangsblockbildungsbeziehung abgetastet wird, jedes dieser Motive einer Elementarumwandlung TE unterzogen wird, die Ausgangsmotive (202) liefert, und eine Ausgangstabelle (201) gebildet wird, indem diese Ausgangsmotive gemäß einer Ausgangsblockbildungsbeziehung und einer Ausgangsjustierbeziehung zusammengesetzt werden, in dem ein erster multidimensionaler Ausgangsraum, der eine erste Gruppe von Achsen (Q1, Q0), die den Achsen der Quotient-Tabelle der Ausgangstabelle entsprechen, durch das Ausgangsmotiv definiert wird, das selbst als eine Ausgangsdivisortabelle angesehen wird, und eine zweite Gruppe von Achsen (D1, D0) aufweist, die den Achsen dieser Ausgangsdivisortabelle entsprechen, wobei dieser erste Raum so alle Ausgange der Ausgangstabelle aufweist, die so geordnet sind, dass sie nacheinander aufgrund einer Inkrementierung des Taktgebers des Prozessors durchlaufen werden können, und in dem eine erste Projektionsmatrix (MP) dieses ersten Raums in der Ausgangstabelle bestimmt wird, was es ermöglicht, automatisch eine erste Codierung zu bestimmen, wodurch die Ausgänge in der Ausgangstabelle platziert werden können, dadurch gekennzeichnet, dass auf den zweiten Schritt ein dritter Schritt (110) folgt, der ein Verfahren startet, das Tabellenverteilungsoperatoren ODT (201) verwendet, gebildet aus einer Kette von Elementaroperatoren OE (301), die durch Verbindungsräume (302) getrennt sind, um die Verbindungen zwischen den Elementen eines Senderaums (202) Ne und den Elementen eines Empfangsraums (203) Nr zu beschreiben, und dass das Verfahren 8 Elementaroperatoren OE verwendet, von denen 4 direkt und 4 die Spiegel der direkten Operatoren sind, und die den folgenden Aktionen entsprechen: – einem Elementaroperator "Format", der dazu dient, die Größen der Tabellen zu definieren, und dessen Aktionen "Schneiden" (204) und "Verlängern" (205) sind; – einem Elementaroperator "Modulo", der es ermöglicht, die Zugänge ins Innere der Tabellen zurückzuführen, und dessen Aktion "Konvergieren lassen" (207) ist; – einem Elementaroperator "Shift", der es ermöglicht, über die "Blockbildungen" zu berichten, die nicht vom Ursprung der Tabelle ausgehen, und dessen Aktion "Verlängern" (205) ist; – einem Elementaroperator "Projektion", der es ermöglicht, Verbindungen zwischen einem Eingangsraum Nf und einem Ausgangsraum Nt herzustellen, und dessen Aktionen "Verlängern" und "Konvergieren lassen" ist; – einem Spiegel-Elementaroperator "Format–1", der es ermöglicht, bei gleicher Parametrierung die gleichen Verbindungen zu verlängern oder abzuschneiden wie der Elementaroperator "Format"; – einem Elementaroperator "Aufspaltung", der dem Spiegel-Operator "Modulo–1" entspricht, also umgekehrt zum OE "Modulo" arbeitet und dessen Aktionen "Schneiden" und Vervielfältigen" (206) sind; – einem Elementaroperator "Shift–1", der der Spiegel eines direkten Shifts ist, aber Parameter mit entgegengesetzten Vorzeichen besitzt; – einem Elementaroperator "Segmentierung", der der Spiegel des Operators Projektion ist und der es ermöglicht, eine Gruppe von aufeinanderfolgenden Elementen auf die gleiche Abmessung zu stutzen, und dessen Aktionen "Vervielfältigen" und "Schneiden" sind.
DE60024116T 1999-10-08 2000-09-29 Verfahren zur automatischen anordnung der aufgaben einer anwendung in einer signalverarbeitungsmaschine Expired - Fee Related DE60024116T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9912574 1999-10-08
FR9912574A FR2799558B1 (fr) 1999-10-08 1999-10-08 Procede de placement automatique des taches d'une application dans une machine de traitement de signal
PCT/FR2000/002712 WO2001027756A1 (fr) 1999-10-08 2000-09-29 Procede de placement automatique des taches d'une application dans une machine de traitement de signal

Publications (2)

Publication Number Publication Date
DE60024116D1 DE60024116D1 (de) 2005-12-22
DE60024116T2 true DE60024116T2 (de) 2006-07-13

Family

ID=9550717

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024116T Expired - Fee Related DE60024116T2 (de) 1999-10-08 2000-09-29 Verfahren zur automatischen anordnung der aufgaben einer anwendung in einer signalverarbeitungsmaschine

Country Status (5)

Country Link
US (1) US6995764B1 (de)
EP (1) EP1218820B1 (de)
DE (1) DE60024116T2 (de)
FR (1) FR2799558B1 (de)
WO (1) WO2001027756A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6708581B2 (ja) * 2017-04-07 2020-06-10 ライフロボティクス株式会社 教示装置、表示装置、教示プログラム及び表示プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2732787B1 (fr) * 1995-04-07 1997-05-16 Thomson Csf Procede de saisie graphique d'application de traitement de signal
FR2748138B1 (fr) * 1996-04-26 1998-07-10 Thomson Csf Procede de codage pour processeur de traitement de signal, et processeur pour la mise en oeuvre d'un tel procede
AU3673900A (en) * 1999-04-09 2000-11-14 Sony Computer Entertainment Inc. Method and apparatus for performing perspective transformation
US6879946B2 (en) * 1999-11-30 2005-04-12 Pattern Discovery Software Systems Ltd. Intelligent modeling, transformation and manipulation system
US6891535B2 (en) * 2001-03-16 2005-05-10 Mitsubishi Electric Research Labs, Inc. System and method for modeling graphics objects

Also Published As

Publication number Publication date
FR2799558A1 (fr) 2001-04-13
FR2799558B1 (fr) 2002-02-08
EP1218820A1 (de) 2002-07-03
DE60024116D1 (de) 2005-12-22
EP1218820B1 (de) 2005-11-16
US6995764B1 (en) 2006-02-07
WO2001027756A1 (fr) 2001-04-19

Similar Documents

Publication Publication Date Title
DE69330848T2 (de) Einrichtung und Verfahren zur digitalen Unterschrift
DE2718849C2 (de) Datenverarbeitungsanlage für Datenelemente einer Matrix aus M Speichermoduln und mit p Prozessoren
DE2712224A1 (de) Datenverarbeitungsanlage
DE102009039428A1 (de) Digitalfilter
DE69223979T2 (de) Fuzzy-züruckgewinnungsgerät und verfahren dafür
DE3632639A1 (de) Einrichtung zum verarbeiten von bilddaten durch faltung
DE4215094C2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE3853511T2 (de) Mehrbildelementgenerator.
DE2125230B2 (de) Verfahren und Schaltungsanordnung zur modifizierenden Verarbeitung digitaler Informationssignalfolgen
DE2736072A1 (de) Winkelfunktionsgenerator
DE3507584C2 (de)
DE3811145C2 (de)
EP0954618B1 (de) Verfahren zur generierung von ebenen technischen kurven oder konturen
DE1271433B (de) Adressiereinrichtung fuer einen Tabellenwertspeicher
DE69521464T2 (de) Paralleler Prozessor
DE69026414T2 (de) Binäres Addiergerät
EP0779585A2 (de) Digitale Signalprozessoranordnung zum Vergleich von Merkmalsvektoren und zugehöriges Betriebsverfahren
DE60024116T2 (de) Verfahren zur automatischen anordnung der aufgaben einer anwendung in einer signalverarbeitungsmaschine
EP0598112B1 (de) Verfahren und anordnung zum bilden der summe einer kette von produkten
DE69230924T2 (de) Multiplizierer-Schaltungen mit seriellem Eingang
DE69225628T2 (de) Gerät für die orthogonale Transformation für die Videosignalverarbeitung
EP0305709A2 (de) Matrix-Matrix-Multiplizierer
DE69326517T2 (de) Verfahren und Vorrichtung zur digitalen Signalverarbeitung
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE3908086C1 (en) Method for compressing and decompressing digital data and device for carrying out the method

Legal Events

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