WO2002019106A1 - Procede de saisie graphique pour le placement d'applications de traitement de signal - Google Patents

Procede de saisie graphique pour le placement d'applications de traitement de signal Download PDF

Info

Publication number
WO2002019106A1
WO2002019106A1 PCT/FR2001/002716 FR0102716W WO0219106A1 WO 2002019106 A1 WO2002019106 A1 WO 2002019106A1 FR 0102716 W FR0102716 W FR 0102716W WO 0219106 A1 WO0219106 A1 WO 0219106A1
Authority
WO
WIPO (PCT)
Prior art keywords
resources
view
level
icons
active
Prior art date
Application number
PCT/FR2001/002716
Other languages
English (en)
Inventor
Alain Demeure
Original Assignee
Thales Underwater Systems S.A.S.
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 S.A.S. filed Critical Thales Underwater Systems S.A.S.
Priority to EP01969847A priority Critical patent/EP1334429A1/fr
Publication of WO2002019106A1 publication Critical patent/WO2002019106A1/fr

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Definitions

  • the present invention relates to a graphical input method allowing the placement of signal processing applications using the available resources of a machine on which it is intended to be implemented.
  • the invention applies for example for the placement of signal processing applications according to the architecture of a Multi SIMD machine (English abbreviation for Single Instruction Multiple Data).
  • US patent 6,020,896 describes a graphical input method called Array-OL which makes it possible to specify applications or signal processing chains independently of all execution considerations.
  • the method described in patent application FR 99/02 906 relates to a graphical input for the placement of signal processing applications in a hierarchical form, in particular to a specification of the applications based on a description by levels of the architecture of a SIMD machine.
  • this method has the drawback of involving knowledge, moreover, of a description of the architecture of the machine.
  • Another drawback is that the distribution of tasks and the placement of the tables in memory are not carried out jointly.
  • the subject of the present invention is a method of processing graphic input allowing, via a graphic tool, the placement of applications according to the resources of the architecture of a machine, this architecture also being described by the graphic tool.
  • COTS abbreviation for Components on The Shelf
  • the idea consists in placing signal processing applications using icons representing the resources of the machine while respecting the dependencies imposed by the topology of the interconnection of these resources.
  • a TE operates on restricted sets of elements called “patterns” having a given size, the elements of each of the patterns being placed on the elements of the tables by examples of “adjustment” and “paving”, as described in the aforementioned patent and patent application.
  • Array-OL does not define precise execution methods, parallelism paradigms are underlying in these models:> The Global Model suggests, at least in the hypothesis of a multiplicity of physical resources, a potential parallelism of tasks, execution in pipeline, each of the resources taking into account one or more tasks; > The Local Model, with its notion of multiple iterations of the same TE, unequivocally suggests the “Data Parallelism” synonymous with a SIMD execution mode.
  • the operation of a machine performing systematic signal processing can be similarly approached in a hierarchical view. At the highest level, the machine can be seen as a whole performing all of the treatments by consuming and producing a certain amount of data at each recurrence. Thus the architecture of a machine can be defined on several levels.
  • Passive resources having a support function with respect to tables, such as:
  • Active resources capable of reading or writing, especially in passive resources for example:
  • DMA Direct Memory Access
  • CPU abbreviation for Saxon of Central Processing Unit
  • Figure 2 shows the different graphic conventions used in the invention to distinguish these different resources.
  • the expression “Array-OL Appli” relates to a method for specifying the signal processing application and the expression “Array-OL Archi” to a method for representing the architecture of the machine receiving the application.
  • the invention relates to a method for placing signal processing applications on the basis of the presentation of the available resources of a machine intended to receive the application.
  • the subject of the invention relates to a graphical input method for the placement of signal processing applications intended for a machine comprising passive resources and active resources, said resources and their arrangement between them being able to be represented in a global model and in a local model for a given hierarchical level Li of the architecture of the machine.
  • the “Archi View” presents for example icons appearing resources in the global model or icons appearing constraints of establishment in memory in the local model.
  • An active resource is broken down for example into several elementary active resources (identical) during the transition from the global model to the local model for a level Li.
  • An active resource can be dissociated into several active and / or passive resources during the passage from the local model of a level Li to the global model of the following level Li + 1.
  • borrowing icons from the “Arch View” to build the application in the “App View” is as follows: > a task or an elementary transformation TE of the "App View” is represented by borrowing in the "Archi View", an icon associated with a CPU or a DMA,
  • a table in the “App View” is represented by an icon representing a passive resource such as a memory.
  • the examples of installation in memory such as the installation of tiling can be extended beyond the result table to the icon representing the memory borrowed from the “Archi View” to give the implantation in memory of the origin of the result patterns.
  • Active resources are for example represented by 2 icons, an arrow representing the direct memory accesses (DMA), a "V rotated by 90 °" representing the computing units (CPU) and passive resources are represented by two icons, a rectangle representing memories and an open rectangle representing peripherals.
  • DMA direct memory accesses
  • V rotated by 90 ° representing the computing units
  • passive resources are represented by two icons, a rectangle representing memories and an open rectangle representing peripherals.
  • the invention also relates to a device making it possible to build a signal processing application intended for a machine comprising passive resources and active resources, said resources and their arrangement between them being able to be represented in a global model and in a local model for a given Li level of machine architecture. It is characterized in that it comprises at least:
  • the method and the device according to the invention apply to build a signal processing application in the field of processing radar or sonar antenna signals.
  • the method according to the invention greatly facilitates placement on machines composed of COTS whose architecture, often complex, can be done level by level thanks to the hierarchy "specific to the process.
  • FIGS. 1A and 1B respectively represent an example of global model and of local model used in the prior art
  • FIG. 2 shows the graphic conventions used to distinguish the different resources used in the invention
  • FIG. 3 shows schematically an example of arrangement of several passive and active resources of a machine in the global model
  • Figure 4 shows an example of the detail of a resource in Figure 3 using the local model
  • Figures 5 and 6 define the concepts of distribution and dissociation of a resource
  • FIG. 7 schematizes a principle of graphic representation of a passive resource
  • Figures 8 and 9 represent an example of implementation of the method according to the invention for a given level.
  • the architecture of the machine on which the application will be run is described hierarchically on several levels, from the upper level to the lower level (top-down in English terms).
  • FIG. 3 represents an example of arrangement of resources in the global model of Array OL Archi.
  • an active resource such as a CPU, 1, is connected to a memory, 2, which supplies it with data and to which it transmits data resulting from the task performed.
  • the memory is itself connected to another active resource 3, 4 for example a DMA in connection with an FEC 5 or a
  • FIG. 4 represents in the local Array-OL Archi model a more detailed description of the CPU of FIG. 3 and how its activity is repeated in an identical manner on finer active resources of the same type.
  • the TE must be repeated until all the elements of the result table (s) have been obtained, corresponding to their complete filling.
  • the CPU of FIG. 3 is thus broken down into 8 identical CPUs showing a SIMD parallelism.
  • the number of repetitions of the activity is indicated below the icon preceded for example by a multiplication sign.
  • the elementary active resource is represented using an icon surrounded by patterns offering the user a vision of the implantation constraints according to the memory dimensions in the form of tiling or pre-established adjustment in applying the method described in the aforementioned patent US 6,020,529. The user thus accesses the details of the architecture of the machine as it descends into the Li levels of the hierarchy.
  • This spatial distribution can also be applied to a temporal distribution (not shown in the figures) by considering the repetition over time of the resource.
  • the choice between these 2 distributions are made by the user depending on the machine and the application, in particular the size of the memories.
  • FIG. 6 represents an example of distribution of a simple CPU in the local model of the level Li in a set made up of a CPU, two DMAs, a working memory (WS).
  • the number of superimposed icons is reduced by 1 at each transition from the global model to the local model for the same level Li ( Figure 5), and at each dissociation during the transition to the next level ( Figure 6).
  • OL Archi specifies the interconnection of an active resource with one or more passive resources and in particular with memories. This model provides initial “placement” information by designating the memories in which the table produced by the active resource can be placed.
  • a memory appearing for the first time in the hierarchy presents for example several dimensions among which:
  • FIG. 7 represents an overview of all the dimensions with, for example, an indication of the number of words contained by the pavable dimensions.
  • the number of dimensions presented to the user decreases down in the levels of the architecture of the machine. Once used for a distribution in a level, a physical dimension such as C, N or B no longer appears in the following levels. Only the address dimension @ remains in the lowest level of the hierarchy.
  • the screen of the workstation presents the user with an "Archived View” zone from which is viewed a level Li of architecture of the machine with its icons representative of the resources available, this in a global or local model, and an "App View” area intended to receive the icons that will form the application in the Array-OL Appli formalism.
  • These two zones appear, for example, in the form of a window on the screen comprising a menu bar allowing to select the global model, the local model, the possible recording of the defined configurations, the exploration of the different levels Li of the architecture of the machine.
  • Figures 8 and 9 show schematically an example of implementation of the method at a given level Li according to the invention.
  • the dotted arrows correspond to the movements of different icons, available in the Archi View which is displayed on the screen, carried out by the user using a mouse for example.
  • Figure 8 shows an example of entering information in the global model.
  • the active resources of the Archi View are used to build a task graph in the App View.
  • This graph includes several transfer tasks M1, M2, M3 supported by DMA1, M4 by DMA2 and processing tasks P1 and P2 supported by the CPU.
  • the DMA1 and CPU resources were borrowed three times and twice, respectively, and lowered into the area of the screen reserved to build the App View.
  • the links between active and passive resources in the Archi View make it possible to deduce that in the App View tables A1, A2, A3 and A9 are stored in the "Main Store” memory and tables A4, A5, A6, A7 and A8 in the “Working Store” working memory.
  • FIG. 9 represents the entry of placement information in the local model corresponding to the task P1 of FIG. 8.
  • the CPU is broken down here into 4 identical elementary CPUs reading and writing in the “Working Store” working memory. Consequently, the TE of the App View must be iterated 4 times to completely produce the result table.
  • the passive resource “Working Store” is borrowed from the Archi View and lowered into the App View. In this way, the memory is designated if the resource has several write memories.
  • step a) the user positions himself by the menu at a given level Li in the hierarchy and in the model global. It therefore has on the screen in the "Archi View" area icons representing active and passive resources and their dependencies for the Li level,
  • step b) he selects by means of the mouse for example the icon or icons representative of the passive and active resources which are necessary to build his application in the corresponding level Li, and he transfers using the mouse this or these icons in the "App View" area,
  • step c it remains at the same level Li of the architecture hierarchy and selects the local model from the menu in the “Archi View” zone, which allows it to have the icons associated with a resource of the global level with more details and by selecting the detailed icons corresponding to the icons previously selected in step b), to build the application in the local model, by transferring with the mouse the selected icon from the "Archi View” area To the "App View” area.
  • step c) is repeated until all the resources of the global model specified by step b) are obtained in the local model (which allows the passage from level Li to level Li + 1).
  • the final result is stored for example in the memory of a workstation allowing the application to be placed on the recipient machine.

Abstract

L'invention concerne un procédé de saisie graphique pour le placement d'applications de traitement de signal destinée à une machine comportant des resources passives et des ressources actives. Il comporte au moins les étapes suivantes: a) présenter dans une première zone d'écran une 'Vue Archi' figurant sous forme d'icônes les ressources actives ou passives disponibles de l'architecture de la machine pour un niveau Li donné et les liens entre les ressources, dans un modèle global et/ou dans un modèle local, b) construire l'application de traitement de signal dans une deuxième zone d'écran formant une 'Vue Appli', en empruntant une ou plusieurs icônes représentatives des ressources de la 'Vue Archi', les 2 étapes a) et b) sont mise en oeuvre de manière hiérarchique en utilisant des vues successives de plus en plus fines de l'architecture de la machine.

Description

PROCEDE DE SAISIE GRAPHIQUE POUR LE PLACEMENT D ' APPLICATIONS DE TRAITEMENT DE SIGNAL
La présente invention se rapporte à un procédé de saisie graphique permettant le placement d'applications de traitement de signal en utilisant les ressources disponibles d'une machine sur laquelle elle est destinée à être mise en œuvre. L'invention s'applique par exemple pour le placement d'applications de traitement de signal en fonction de l'architecture d'une machine Multi SIMD (abréviation anglo-saxonne de Single Instruction Multiple Data).
Dans le cas particulier de la conception de circuits intégrés de traitement de signal, il existe des outils logiciels exploités sur stations de travail permettant de définir les blocs constitutifs d'une chaîne et de spécifier graphiquement leurs interconnexions. Ces outils sont appropriés à une description de traitement sous l'aspect de flots de données circulant entre les blocs.
Le brevet US 6.020.896 décrit un procédé de saisie graphique appelé Array-OL qui permet de spécifier des applications ou des chaînes de traitement de signal indépendamment de toutes considérations d'exécution. Le procédé décrit dans la demande de brevet FR 99/02 906 se rapporte à une saisie graphique pour le placement d'applications de traitement de signal dans une forme hiérarchisée, en particulier à une spécification des applications calquées sur une description par niveaux de l'architecture d'une machine SIMD. Toutefois, ce procédé présente l'inconvénient d'impliquer la connaissance par ailleurs d'une description de l'architecture de la machine. Un autre inconvénient est que la distribution de tâches et le placement des tableaux en mémoire ne sont pas menés conjointement.
La présente invention a pour objet un procédé de traitement de saisie graphique permettant via un outil graphique le placement d'applications en fonction des ressources de l'architecture d'une machine, cette architecture étant décrite aussi par l'outil graphique.
Les architectures des machines sur lesquelles la ou les applications vont s'exécuter peuvent être composées de cartes disponibles dans le commerce, appelées COTS (abréviation anglo-saxonne de Components on The Shelf).
L'idée consiste à effectuer le placement d'applications de traitement de signal en utilisant des icônes figurant les ressources de la machine en respectant les dépendances imposées par la topologie de l'interconnexion de ces ressources.
Sans considération de niveau de hiérarchie, la spécification d'une application avec le procédé « Array-OL » précité fait appel à deux modèles ; le Modèle Global et le Modèle Local décrits aux figures 1A et 1 B. Une application est écrite du point de vue de son organisation générale en recourant au modèle global tel que représenté à la figure 1A. L'ensemble de l'application est par exemple visualisé sous la forme d'un graphe décrivant les dépendances entre les différentes tâches via les tableaux échangés. Le Modèle Local décrit sur la figure 1 B indique ensuite pour chaque tâche figurant dans le Modèle Global, comment bâtir le tableau résultant par itération d'une même transformation élémentaire TE. On rappelle qu'une TE opère sur des ensembles restreints d'éléments appelés « motifs » ayant une taille donnée, les éléments de chacun des motifs se plaçant sur les éléments des tableaux par des exemples « d'ajustage » et de « pavage », tels que décrits dans le brevet et la demande de brevet précités. Bien qu'Array-OL ne définisse pas de modalités précises d'exécution, des paradigmes de parallélisme sont sous-jacents dans ces modèles : > Le Modèle Global suggère, tout au moins dans l'hypothèse d'une multiplicité de ressources physiques, un parallélisme potentiel de tâches, exécution en pipeline, chacune des ressources prenant en compte une ou plusieurs tâches ; > Le Modèle Local, avec sa notion d'itérations multiples d'une même TE, suggère sans équivoque le « Data Parallelism » synonyme d'un mode d'exécution SIMD.
Le fonctionnement d'une machine exécutant du traitement de signal systématique peut être de la même façon abordé dans une vision hiérarchique. Au plus haut niveau, la machine peut être vue comme un tout exécutant l'ensemble des traitements en consommant et en produisant une certaine quantité de données à chaque récurrence. Ainsi l'architecture d'une machine peut être définie sur plusieurs niveaux.
Dans le procédé selon l'invention deux types de ressources sont utilisés : Des ressources passives ayant une fonction de support vis-à-vis des tableaux, telles que :
> Des mémoires apparaissant dans l'architecture de la machine destinataire,
> Des producteurs ou des consommateurs de tableaux à la périphérie de l'architecture, tels que le FEC ( abréviation anglo-saxonne de Front End
Conditionning) et le traitement de données (TD). Contrairement aux mémoires, il n'y a pas de considération de placement des tableaux sur ces ressources périphériques.
Des ressources actives capables de lire ou d'écrire notamment dans les ressources passives, par exemple :
> Des « DMA » (abréviation anglo-saxonne de Direct Memory Access) capables d'effectuer des transferts de données entre au moins deux ressources passives sans modifier à priori les données (au transcodage près), > Des « CPU » (abréviation anglo-saxonne de Central Processing Unit), qui lisent les données dans une ressource passive, les modifient, puis les réécrivent dans la même ou une autre ressource passive.
La figure 2 montre les différentes conventions graphiques utilisées dans l'invention pour distinguer ces différentes ressources. Dans la suite de la description, l'expression « Array-OL Appli » se rapporte à un procédé de spécification de l'application de traitement de signal et l'expression « Array-OL Archi » à un procédé de représentation de l'architecture de la machine destinataire de l'application.
L'invention concerne un procédé permettant le placement d'applications de traitement de signal à partir de la présentation des ressources disponibles d'une machine destinée à recevoir l'application.
L'objet de l'invention concerne un procédé de saisie graphique pour le placement d'applications de traitement de signal destinée à une machine comportant des ressources passives et des ressources actives, lesdites ressources et leur agencement entre elles pouvant être représentées dans un modèle global et dans un modèle local pour un niveau hiérarchique Li donné de l'architecture de la machine.
Il est caractérisé en ce qu'il comporte au moins les étapes suivantes : a) présenter dans une première zone d'écran une « Vue Archi » figurant sous forme d'icônes les ressources actives ou passives disponibles de l'architecture de la machine pour un niveau Li donné et les liens entre les ressources, dans un modèle global et/ou dans un modèle local, b) construire l'application de traitement de signal dans une deuxième zone d'écran formant une « Vue Appli », en empruntant une ou plusieurs icônes représentatives des ressources de la « Vue Archi », et en ce que les étapes a) et b) sont mises en œuvre de manière hiérarchique en utilisant des vues successives de plus en plus fines de l'architecture de la machine. La « Vue Archi » présente par exemple des icônes figurant des ressources dans le modèle global ou des icônes figurant des contraintes d'implantation en mémoire dans le modèle local.
Une ressource active se décompose par exemple en plusieurs ressources actives élémentaires (identiques) lors du passage du modèle global au modèle local pour un niveau Li.
Une ressource active peut être dissociée en plusieurs ressources actives et/ou passives lors du passage du modèle local d'un niveau Li au modèle global du niveau suivant Li+1.
Plusieurs icônes identiques sont par exemple représentées en superposition afin d'indiquer le nombre de décompositions restant à faire et le nombre d'itérations d'une ressource active élémentaire est indiquée sous l'icône précédée d'un signe de multiplication.
L'emprunt d'icônes à la « Vue Archi » pour bâtir l'application dans la « Vue Appli » est par exemple effectuée de la manière suivante : > une tâche ou une transformation élémentaire TE de la « Vue Appli » est représentée en empruntant dans la « Vue Archi », une icône associée à un CPU ou à un DMA,
> un tableau de la « Vue Appli » est représenté par une icône représentant une ressource passive telle qu'une mémoire.
Dans la « Vue Appli » du modèle local, les exemples d'implantation en mémoire tels que l'implantation de pavage peuvent être prolongés au delà du tableau résultat jusqu'à l'icône représentant la mémoire empruntée à la « Vue Archi » pour donner l'implantation en mémoire de l'origine des motifs résultats.
Les ressources actives sont par exemple figurées par 2 icônes, une flèche représentant les accès directs mémoires (DMA), un « V tourné de 90° » représentant les unités de calcul (CPU) et les ressources passives sont figurées par deux icônes, un rectangle représentant les mémoires et un rectangle ouvert représentant les périphériques.
L'invention concerne aussi un dispositif permettant de construire une application de traitement de signal destinée à une machine comportant des ressources passives et des ressources actives, lesdites ressources et leur agencement entre elles pouvant être représentées dans un modèle global et dans un modèle local pour un niveau Li donné de l'architecture de la machine. Il est caractérisé en ce qu'il comporte au moins :
> des moyens adaptés à présenter à un utilisateur une zone « Vue Archi » figurant les ressources disponibles de l'architecture pour un niveau Li donné et leurs dépendances, dans un modèle global puis dans un modèle local, et une zone « Vue Appli » destinée à recevoir les icônes sélectionnées,
> des moyens permettant à l'utilisateur
> d'emprunter une ou plusieurs icônes représentatives d'une ressource active ou d'une ressource passive, > de faire glisser la ou lesdites icônes dans la zone « Vue Appli » pour construire l'application de traitement du signal, et > des moyens pour passer d'un niveau Li au niveau suivant Li+1.
Le procédé et le dispositif selon l'invention s'appliquent pour construire une application de traitement de signal dans le domaine du traitement des signaux d'antennes radar ou sonar. Le procédé selon l'invention facilite grandement le placement sur des machines composées de COTS dont l'architecture, souvent complexe, peut être faite niveau par niveau grâce à la hiérarchisation » propre au procédé.
La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation pris à titre d'exemple non limitatif et illustré par les dessins annexés où :
Les figures 1A et 1 B représentent respectivement un exemple de modèle global et de modèle local utilisé dans l'art antérieur, « La figure 2 montre les conventions graphiques utilisées pour distinguer les différentes ressources mises en œuvre dans l'invention,
La figure 3 schématise un exemple d'agencement de plusieurs ressources passives et actives d'une machine dans le modèle global,
La figure 4 montre un exemple du détail d'une ressource de la figure 3 en utilisant le modèle local,
Les figures 5 et 6 définissent des notions de distribution et de dissociation d'une ressource,
La figure 7 schématise un principe de représentation graphique d'une ressource passive, • Les figures 8 et 9 représentent un exemple de mise en œuvre du procédé selon l'invention pour un niveau donné.
L'architecture de la machine sur laquelle l'application va être exécutée est décrite de façon hiérarchique sur plusieurs niveaux, du niveau supérieur au niveau inférieur (top-down en termes anglo-saxon).
Pour chaque niveau Li l'utilisateur dispose d'une vision partielle, mais suffisante, de l'architecture pour le niveau atteint. Array-OL Archi permet ainsi de représenter pour un niveau donné Li les ressources disponibles dans le modèle global et le modèle local comparables à ceux décrits respectivement aux figures 1 A et 1 B. La figure 3 représente un exemple d'agencement de ressources dans le modèle global d'Array OL Archi.
Par exemple une ressource active telle qu'un CPU, 1 , est reliée à une mémoire, 2, qui lui fournit des données et à qui il transmet des données résultant de la tâche réalisée. La mémoire est elle-même reliée à une autre ressource active 3, 4 par exemple un DMA en liaison avec un FEC 5 ou un
TD 6.
La figure 4 représente dans le modèle local d'Array-OL Archi une description plus fine du CPU de la figure 3 et comment son activité se répète de façon identique sur des ressources actives plus fines de même type.
On considère que chaque itération de la TE est prise en charge par une ressource active élémentaire. Dans l'exemple donné à la figure 3 la
TE est itérée 8 fois. Pour qu'une tâche soit considérée comme terminée en
Array-OL, la TE doit être répétée jusqu'à l'obtention de tous les éléments du ou des tableaux résultats, correspondant à leur remplissage complet.
Le CPU de la figure 3 est ainsi décomposé en 8 CPU identiques faisant apparaître un parallélisme SIMD. Le nombre de répétition de l'activité est indiqué en dessous de l'icône précédé par exemple d'un signe de multiplication. Selon un mode de réalisation, on représente la ressource active élémentaire à l'aide d'une icône entourée par des motifs offrant à l'utilisateur une vision des contraintes d'implantation suivant les dimensions mémoire sous forme de pavage ou d'ajustage préétablis en appliquant la méthode décrite dans le brevet précité US 6.020.529. L'utilisateur accède ainsi aux détails de l'architecture de la machine au fur et à mesure de sa descente dans les niveaux Li de la hiérarchie.
Dans la suite de la description :
• le terme « distribution » correspond au fait de décomposer une ressource active en plusieurs ressources actives élémentaires lors du passage du modèle global au modèle local. La figure 5 schématise la distribution d'un
DMA en quatre DMA correspondant aux 4 itérations de la transformation élémentaire de l'application. Cette distribution spatiale peut aussi s'appliquer à une distribution temporelle (non représentée sur les figures) en considérant la répétition dans le temps de la ressource. Le choix entre ces 2 distributions est fait par l'utilisateur en fonction de la machine et de l'application en particulier de la taille des mémoires.
• le terme « dissociation » correspond à la décomposition d'une ressource active en ressources multiples qui sont en général différentes lors du passage du modèle local d'un niveau Li au modèle global du niveau Li+1 suivant. La figure 6 représente un exemple de distribution d'un simple CPU dans le modèle local du niveau Li en un ensemble composé d'un CPU, de deux DMA, d'une mémoire de travail (WS).
La convention adoptée dans les schémas pour indiquer le caractère composite d'une ressource est de superposer plusieurs icônes identiques. Le nombre d'icônes identiques apparaissant à l'utilisateur donnent une indication sur le nombre de dissociations ou de distributions possibles avant d'arriver au dernier niveau de la décomposition.
Le nombre d'icônes superposées est diminué de 1 à chaque passage du modèle global au modèle local pour un même niveau Li (figure 5), et à chaque dissociation lors du passage au niveau suivant (figure 6).
Pour un niveau d'architecture donné Li, le modèle global d'Array-
OL Archi précise l'interconnexion d'une ressource active à une ou plusieurs ressources passives et en particulier avec des mémoires. Ce modèle offre une première information de « placement » en désignant les mémoires dans lesquelles le tableau produit par la ressource active peut être placé.
Le modèle local d'Array-OL Archi va permettre d'indiquer quelle dimension mémoire est pertinemment « pavable » pour le niveau considéré. Une mémoire apparaissant pour la première fois dans la hiérarchie présente par exemple plusieurs dimensions parmi lesquelles :
• une dimension adresse @,
• des dimensions cartes (C), Nœuds (N), Bancs (B) ...traduisant une organisation répartie (alias distribuée) de cette mémoire,
• une dimension largeur (W), si dans un même cycle d'accès par une ressource active plusieurs mots sont lus ou écrits dans le même banc.
La figure 7 représente un aperçu sur l'ensemble des dimensions avec, par exemple, une indication sur le nombre de mots contenus par les dimensions pavables.
Le nombre de dimensions présentées à l'utilisateur décroît en descendant dans les niveaux de l'architecture de la machine. Une fois utilisée pour une distribution dans un niveau, une dimension physique telle que C, N ou B n'apparaît plus dans les niveaux suivants. Seule reste la dimension d'adresse @ dans le niveau le plus bas de la hiérarchie.
La convention adoptée pour indiquer sur l'icône mémoire quelle est la seule dimension pavable, consiste à faire figurer des éléments uniquement sur cette dimension.
Dans un exemple de mise en œuvre du procédé, l'écran de la station de travail présente à l'utilisateur une zone « Vue Archi » à partir de laquelle est visualisé un niveau Li d'architecture de la machine avec ses icônes représentatives des ressources disponibles, ceci dans un modèle global ou local, et une zone « Vue Appli » destinée à recevoir les icônes qui vont former l'application dans le formalisme Array-OL Appli. Ces deux zones se présentent, par exemple, sous la forme d'une fenêtre sur l'écran comportant une barre menu permettant de sélectionner le modèle global, le modèle local, l'enregistrement possible des configurations définies, l'exploration des différents niveaux Li de l'architecture de la machine.
Les figures 8 et 9 schématisent un exemple de mise en œuvre du procédé à un niveau donné Li selon l'invention. Les flèches en pointillés correspondent aux déplacements de différentes icônes, disponibles dans la Vue Archi qui est affichée à l'écran, effectués par l'utilisateur au moyen d'une souris par exemple.
Les icônes affichées correspondent aux ressources de l'architecture avec les détails correspondant au niveau Li atteint dans la hiérarchie de l'architecture. Dans le bas des figures 8 et 9 est schématisée la Vue Appli.
L'emprunt de certaines icônes figurant les ressources actives du modèle global et des ressources passives du modèle local à la Vue Archi pour construire la Vue Appli constitue un formalisme de placement selon les conventions suivantes : • une tâche représentée dans le modèle global de la Vue Appli par emprunt dans la Vue Archi d'une icône CPU (respectivement un DMA) correspond à une tâche de traitement (respectivement de transfert) s'exécutant sur le
CPU (respectivement DMA), • les tableaux vus en entrée et en sortie par cette tâche sont stockés sur les mémoires en lecture et en écriture de cette icône CPU (ou DMA) tel qu'indiqué par la Vue Archi,
• les exemples de pavage, et éventuellement d'ajustage, saisis dans le modèle local de la Vue Appli côté résultat et prolongés jusqu'à l'icône représentant la mémoire en écriture dans le modèle local de la Vue Archi, constituent les directives de placement suivant la dimension mémoire considérée par le niveau.
La figure 8 représente un exemple de saisie d'informations dans le modèle global. Les ressources actives de la Vue Archi servent à bâtir un graphe de tâches dans la Vue Appli. Ce graphe comporte plusieurs tâches de transfert M1 , M2, M3 prises en charge par DMA1 , M4 par DMA2 et des tâches de traitement P1 et P2 prises en charge par le CPU.
Dans cet exemple de construction de l'application, les ressources DMA1 et CPU ont été respectivement empruntées trois fois et deux fois, et descendues dans la zone de l'écran réservée pour construire la Vue Appli. Les liens entre ressources actives et passives de la Vue Archi permettent de déduire que dans la Vue Appli les tableaux A1 , A2, A3 et A9 se trouvent mémorisés dans la mémoire « Main Store » et les tableaux A4, A5, A6, A7 et A8 dans la mémoire de travail « Working Store ».
La figure 9 représente la saisie d'informations de placement dans le modèle local correspondant à la tâche P1 de la figure 8.
Le CPU se décompose ici en 4 CPU élémentaires identiques lisant et écrivant dans la mémoire de travail « Working Store ». En conséquence, la TE de la Vue Appli doit être itérée 4 fois pour produire complètement le tableau résultat. La ressource passive « Working Store » est empruntée à la Vue Archi et descendue dans la Vue Appli. De cette façon, on désigne la mémoire si la ressource dispose de plusieurs mémoires en écriture.
Les exemples de pavage sont prolongés au-delà du tableau jusqu'à la Working Store pour donner l'implantation en mémoire de l'origine des motifs résultats. Ainsi, à chaque niveau, distribution de tâche et placement des tableaux en mémoire sont menés conjointement. Le procédé dans sa totalité est exécuté en commençant par le niveau le plus haut dans la hiérarchie et dans le modèle global. La mise en œuvre est alors effectuée pour chaque niveau jusqu'au niveau le plus bas en mettant en œuvre les étapes suivantes : • étape a) : l'utilisateur se positionne par le menu à un niveau donné Li dans la hiérarchie et dans le modèle global. Il dispose donc à l'écran dans la zone « Vue Archi » d'icônes représentatives des ressources actives et passives et de leurs dépendances pour le niveau Li,
• étape b) il sélectionne au moyen de la souris par exemple la ou les icônes représentatives des ressources passives et actives qui sont nécessaires pour construire son application dans le niveau correspondant Li, et il transfère à l'aide de la souris cette ou ces icônes dans la zone « Vue Appli »,
• il répète cette étape b) autant de fois qu'il est nécessaire pour obtenir une vue de l'application dans le modèle global dans ce niveau Li,
• étape c), il reste au même niveau Li de hiérarchie de l'architecture et sélectionne le modèle local à partir du menu de la zone « Vue Archi » ce qui lui permet de disposer des icônes associées à une ressource du niveau global avec plus de détails et en sélectionnant les icônes détaillées correspondant aux icônes précédemment sélectionnées à l'étape b), de construire l'application dans le modèle local, par un transfert à l'aide de la souris l'icône sélectionnée de la zone « Vue Archi » vers la zone « Vue Appli ».
• l'étape c) est réitérée jusqu'à obtenir toutes les ressources du modèle global précisées par l'étape b) dans le modèle local (ce qui permet le passage du niveau Li au niveau Li+1).
Le résultat final est stocké par exemple dans la mémoire d'une station de travail permettant le placement de l'application sur la machine destinataire.

Claims

REVENDICATIONS
1 - Procédé de saisie graphique pour le placement d'applications de traitement de signal destinée à une machine comportant des ressources passives et des ressources actives, lesdites ressources et leur agencement entre elles pouvant être représentées dans un modèle global et dans un modèle local pour un niveau hiérarchique Li donné de l'architecture de la machine, caractérisé en ce qu'il comporte au moins les étapes suivantes : a) présenter dans une première zone d'écran une « Vue Archi » figurant sous forme d'icônes les ressources actives et/ou passives disponibles de l'architecture de la machine pour un niveau Li donné et les liens entre les ressources, dans un modèle global et/ou dans un modèle local, b) construire l'application de traitement de signal dans une deuxième zone d'écran formant une « Vue Appli », en empruntant une ou plusieurs icônes représentatives des ressources de la « Vue Archi », et en ce que les 2 étapes a) et b) sont mises en œuvre de manière hiérarchique en utilisant des vues successives de plus en plus fines de l'architecture de la machine.
2 - Procédé selon la revendication 1 caractérisé en ce que la « Vue Archi » présente des icônes figurant des ressources dans le modèle global ou des icônes figurant des contraintes d'implantation en mémoire dans le modèle local.
3 - Procédé selon la revendication 1 caractérisé en ce qu'une ressource active se décompose en plusieurs ressources actives élémentaires (identiques) lors du passage du modèle global au modèle local pour un niveau Li.
4 - Procédé selon la revendication 1 caractérisé en ce qu'une ressource active se dissocie en plusieurs ressources actives et/ou passives lors du passage du modèle local d'un niveau Li au modèle global du niveau suivant Li+1.
5 - Procédé selon l'une des revendications 3 et 4 caractérisé en ce que plusieurs icônes identiques sont représentées en superposition afin d'indiquer le nombre de décompositions restant à faire et en ce que le nombre d'itérations d'une ressource active élémentaire est indiquée sous l'icône précédé d'un signe de multiplication.
6 - Procédé selon l'une des revendications 1 à 5 caractérisé en ce que l'emprunt d'icônes à la « Vue Archi » pour bâtir l'application dans la « Vue Appli » est effectuée de la manière suivante :
> une tâche ou une transformation élémentaire TE de la « Vue Appli « est représentée en empruntant dans la « Vue Archi » une icône associée à un CPU ou à un DMA,
> un tableau de la « Vue Appli » est représenté par une icône représentant une ressource passive telle qu'une mémoire.
7 - Procédé selon l'une des revendications 1 à 6 caractérisé en ce que, dans la « Vue Appli » du modèle local, les exemples d'implantation en mémoire tels que l'implantation de pavage sont prolongés au delà du tableau résultat jusqu'à l'icône représentant la mémoire empruntée à la « Vue Archi » pour donner l'implantation en mémoire de l'origine des motifs résultats.
8 - Procédé selon l'une des revendications 1 à 7 caractérisé en ce que les ressources actives sont figurées par 2 icônes, une flèche représentant les accès directs mémoires (DMA), un « V tourné de 90° » représentant les unités de calcul (CPU) et en ce que les ressources passives sont figurées par deux icônes, un rectangle représentant les mémoires et un rectangle ouvert représentant les périphériques.
9. - Procédé selon l'une des revendications 1 à 8 pour construire une application de traitement de signal dans le domaine du traitement des signaux d'antennes radar ou sonar.
10 - Dispositif permettant de construire une application de traitement de signal destinée à une machine comportant des ressources passives et des ressources actives, lesdites ressources et leur agencement entre elles pouvant être représentées dans un modèle global et dans un modèle local pour un niveau Li donné de l'architecture de la machine, caractérisé en ce qu'il comporte au moins :
> des moyens adaptés à présenter à un utilisateur une zone « Vue Archi » figurant les ressources disponibles de l'architecture pour un niveau Li donné et leurs dépendances, dans un modèle global puis dans un modèle local, et une zone « Vue Appli » destinée à recevoir les icônes sélectionnées,
> des moyens permettant à l'utilisateur
> d'emprunter une ou plusieurs icônes représentatives d'une ressource active ou d'une ressource passive,
> de faire glisser la ou lesdites icônes dans la zone « Vue Appli » pour construire l'application de traitement du signal, et
> des moyens pour passer d'un niveau Li au niveau suivant Li+1.
11 - Dispositif selon la revendication 10 pour construire une application de traitement de signal dans le domaine du traitement des signaux d'antennes radar ou sonar.
PCT/FR2001/002716 2000-09-01 2001-08-31 Procede de saisie graphique pour le placement d'applications de traitement de signal WO2002019106A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01969847A EP1334429A1 (fr) 2000-09-01 2001-08-31 Procede de saisie graphique pour le placement d'applications de traitement de signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0011195A FR2813681B1 (fr) 2000-09-01 2000-09-01 Procede de saisie graphique pour le placement d'applications de traitement de signal
FR00/11195 2000-09-01

Publications (1)

Publication Number Publication Date
WO2002019106A1 true WO2002019106A1 (fr) 2002-03-07

Family

ID=8853906

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2001/002716 WO2002019106A1 (fr) 2000-09-01 2001-08-31 Procede de saisie graphique pour le placement d'applications de traitement de signal

Country Status (4)

Country Link
US (1) US7181719B2 (fr)
EP (1) EP1334429A1 (fr)
FR (1) FR2813681B1 (fr)
WO (1) WO2002019106A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008079955A2 (fr) * 2006-12-21 2008-07-03 Akorri Networks, Inc. Procédés et systèmes d'identification de ressources de stockage d'un système d'application
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623418A (en) * 1990-04-06 1997-04-22 Lsi Logic Corporation System and method for creating and validating structural description of electronic system
EP0819279A1 (fr) * 1995-04-07 1998-01-21 Thomson-Csf Procede de saisie graphique d'application de traitement de signal

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584601B1 (en) * 2000-02-07 2003-06-24 National Instruments Corporation System and method for converting graphical programs into hardware implementations which utilize probe insertion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623418A (en) * 1990-04-06 1997-04-22 Lsi Logic Corporation System and method for creating and validating structural description of electronic system
EP0819279A1 (fr) * 1995-04-07 1998-01-21 Thomson-Csf Procede de saisie graphique d'application de traitement de signal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BIER J C ET AL: "GABRIEL: A DESIGN ENVIRONMENT FOR DSP", IEEE MICRO,US,IEEE INC. NEW YORK, vol. 10, no. 5, 1 October 1990 (1990-10-01), pages 28 - 45, XP000170675, ISSN: 0272-1732 *
DE MAN H ET AL: "CATHEDRAL-II-a computer-aided synthesis system for digital signal processing VLSI systems", COMPUTER-AIDED ENGINEERING JOURNAL,GB,LONDON, vol. 5, no. 2, April 1988 (1988-04-01), pages 55 - 66, XP002129437, ISSN: 0263-9327 *
P BOULET ET AL: "Une approche à la SQL du traitement de données intensif dans GASPARD", RENCONTRES FRANCOPHONES DU PARALLELISME, 8 June 1999 (1999-06-08), XP002140826 *

Also Published As

Publication number Publication date
US20030174176A1 (en) 2003-09-18
FR2813681A1 (fr) 2002-03-08
FR2813681B1 (fr) 2002-11-29
EP1334429A1 (fr) 2003-08-13
US7181719B2 (en) 2007-02-20

Similar Documents

Publication Publication Date Title
JP7059318B2 (ja) 地域的特徴を有する分類器学習のための学習データ生成方法およびそのシステム
FR2646725A1 (fr) Appareil de conception et de fabrication assistees par ordinateur
FR2535087A1 (fr) Appareil de simulation logique
FR2821193A1 (fr) Dispositif de conception d'interface d'utilisateur
EP0610594B1 (fr) Système de conception et de fabrication assistée par ordinateur
EP2366147A1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
Di Benedetto et al. Web and Mobile Visualization for Cultural Heritage.
US9898267B2 (en) Correlation analysis of program structures
Posadas et al. Automatic synthesis of embedded SW for evaluating physical implementation alternatives from UML/MARTE models supporting memory space separation
FR3087026A1 (fr) Procede pour generer une liaison (binding) entre une bibliotheque c/c++ et un langage interprete, et mise en œuvre de ce procede pour la transformation d’un modele tridimensionnel (3d)
EP0564318B1 (fr) Dispositif de traitement d'informations d'images tridimensionnelles, avec extraction de lignes remarquables
Frigeri et al. A working environment for digital planetary data processing and mapping using ISIS and GRASS GIS
EP2350890A1 (fr) Procede et dispositif de realisation d'un modele par elements finis
Culbertson et al. Exploring architectures for volume visualization on the Teramac custom computer
WO2002019106A1 (fr) Procede de saisie graphique pour le placement d'applications de traitement de signal
EP3202115B1 (fr) Procédé et dispositif de mise en relations d'un ensemble d'informations
EP0108674A1 (fr) Terminal graphique à mémoire de points muni d'un système d'écriture en mémoire d'image de signaux de texture d'image
FR3066606A1 (fr) Appareil de test et procede de test d'un circuit integre
FR2902211A1 (fr) Procede de simulation d'un systeme complexe avec construction d'au moins un modele comprenant au moins un routeur modelise, produit programme d'ordinateur et moyen de stockage correspondants
KR101743868B1 (ko) 이미지 프로세싱 방법 및 그 시스템
Truscan et al. A model-based design process for the segbus distributed architecture
FR2742560A1 (fr) Architecture de systeme en tableau de processeurs a structures paralleles multiples
EP0819279B1 (fr) Procede de saisie graphique d'application de traitement de signal
FR3003973A1 (fr) Procede de generation de fichiers de modelisation d’un flot de conception de circuit integre, programme d’ordinateur et systeme correspondants
FR3133261A1 (fr) Essai de style avec Des GAN inversÉs

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 10362731

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2001969847

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001969847

Country of ref document: EP