Language selection

Search

Patent 2432384 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2432384
(54) English Title: PARALLEL ELECTRONIC ARCHITECTURE COMPRISING A PLURALITY OF PROCESSING UNITS CONNECTED TO A COMMUNICATION BUS, AND ADDRESSABLE BY THEIR FUNCTIONAL CAPABILITIES
(54) French Title: ARCHITECTURE ELECTRONIQUE PARALLELE COMPORTANT UNE PLURALITE D'UNITES DE TRAITEMENT CONNECTEES A UN BUS DE COMMUNICATION, ET ADRESSABLES PAR LEURS FONCTIONNALITES
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 9/48 (2006.01)
(72) Inventors :
  • LAVAREC, ERWAN (France)
  • TREMEL, LAURENT (France)
(73) Owners :
  • WANY S.A. (France)
(71) Applicants :
  • WANY S.A. (France)
(74) Agent: GOUDREAU GAGE DUBUC
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2001-12-21
(87) Open to Public Inspection: 2002-07-04
Availability of licence: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/FR2001/004176
(87) International Publication Number: WO2002/052414
(85) National Entry: 2003-06-20

(30) Application Priority Data:
Application No. Country/Territory Date
00/16858 France 2000-12-22

Abstracts

English Abstract

The invention concerns a parallel electronic architecture comprising a plurality of processing units (1a, 1b, , 1n) connected to a communication bus, each processing unit being designed to automatically execute one or several predefined tasks. Each processing unit is configured such that each of the tasks is associated with a function key, and designed to communicate with the other processing units in accordance with the following protocol: transmission of a message comprising at least a function key characterising a functional capability, and optionally a frame consisting of one or several words; each processing unit is further designed to decode each header passing through the bus, and, on the basis of the value of said function key, to either ignore the message transmitted on the bus, or execute the task associated with said message function key.


French Abstract




L'architecture ~lectronique parall~le comporte une pluralit~ d'unit~s de
traitement (1a, 1b,...1n) connect~es ~ un bus de communication, chaque unit~
de traitement ~tant con~ue pour ex~cuter automatiquement une ou plusieurs
t~ches pr~d~finies. Chaque unit~ de traitement est configur~e de telle sorte
que chacune de ses t~ches est associ~e ~ un en-tÚte, et con~ue pour
communiquer avec les autres unit~s de traitement selon le protocole suivant :
envoi sur le bus d'un message comportant au moins un en-tÚte caract~risant une
fonctionnalit~, et ~ventuellement une trame constitu~e d'un ou plusieurs mots;
chaque unit~ de traitement est en outre con~ue pour d~coder chaque en-tÚte
transitant sur le bus, et pour, en fonction de la valeur de cet en-tÚte, soit
ignorer le message ~mis sur le bus, soit ex~cuter la t~che associ~e ~ l'en-
tÚte de ce message.

Claims

Note: Claims are shown in the official language in which they were submitted.



25

REVENDICATIONS

1. Architecture électronique parallèle comportant une pluralité d'unités de
traitement (1a, 1b,.....1n) connectées à un bus de communication,
chaque unité de traitement étant conçue pour exécuter
automatiquement une ou plusieurs tâches prédéfinies, caractérisée en
ce que chaque unité de traitement est configurée de telle sorte que
chacune de ses tâches est associée à un en-tête, en ce que chaque
unité de traitement est conçue pour communiquer avec les autres
unités de traitement selon le protocole suivant: envoi sur le bus d'un
message comportant au moins un en-tête caractérisant une
fonctionnalité, et éventuellement une trame constituée d'un ou
plusieurs mots, et en ce que chaque unité de traitement est
conçue pour décoder chaque en-tête transitant sur le bus, et pour, en
fonction de la valeur de cet en-tête, soit ignorer le message émis sur le
bus, soit exécuter la tâche associée à l'en-tête de ce message.

2. Architecture selon la revendication 1 caractérisée en ce qu'au moins
une unité de traitement est conçue pour charger en mémoire le
message transitant sur le bus préalablement à l'exécution d'une tâche.

3. Architecture selon la revendication 1 ou 2 caractérisée en ce que qu'au
moins deux unités de traitement sont configurées avec un même en-
tête.

4. Architecture selon la revendication 1 ou 2 caractérisée en ce qu'au
moins une unité de traitement est conçue pour exécuter plusieurs
tâches, et est configurée de telle sorte que chaque tâche est associée
à un en-tête différent.

5. Architecture selon l'une des revendications 1 à 4 caractérisée en ce
que le bus de communication est un bus de données composé de (q)
conducteurs parallèles (q entier supérieur ou égal à 1 ), en ce que
chaque unité de traitement comporte un bus (6) de données (n) bits [(n
entier inférieur ou égal à q)] qui est connecté en parallèle aux (n)


26

premiers conducteurs du bus de communication.

6. Architecture selon la revendication 5 caractérisée en ce qu'au moins
une unité de traitement est conçue pour émettre sur le bus un message
selon le format série suivant : écriture sur le bus d'un premier mot
correspondant à l'en-tête, puis écriture successivement de chaque mot
constituant la trame du message.

7. Architecture selon l'une des revendications 1 à 6 caractérisé en ce
qu'au moins une unité de traitement comporte : un processeur (2)
programmé pour exécuter une ou plusieurs tâche distinctes, des
moyens de décodage conçus pour valider ou non pour le processeur
(2) un en-tête transitant sur le bus de communication, une mémoire (4)
connectée au bus de communication, accessible en lecture par le
processeur (2), et permettant sous la commande du processeur (2) le
chargement d'un message transitant sur le bus de communication.

8. Architecture selon la revendication 7 caractérisée en ce que les
moyens de décodage comportent une mémoire de validation (3) dont le
port d'adresse est connecté au bus de communication, en ce que
chaque valeur d'en-tête pouvant transiter sur le bus de communication
correspond à une adresse de cette mémoire de validation (3), et en ce
qu'à chaque adresse de cette mémoire de validation correspondant à
un en-tête est stockée une donnée de validation ou de non validation
de l'en-tête.

9. Architecture selon la revendication 8 caractérisée en ce que le port de
sortie de la mémoire de validation (3) est connecté à un port du
processeur (2) dédié au traitement des interruptions.

10. Architecture selon l'une quelconque des revendication 1 à 9
caractérisée en ce qu'elle est de type multi-maîtres/multi-esclaves, et
en ce que l'échange de données sur le bus de communication est
cadencé par l'unité de traitement maître qui a émis le message.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
1
ARCHITECTURE ELECTRONIQUE PARALLELE
COMPORTANT UNE PLURALITE D'UNITES DE TRAITEMENT
CONNECTEES A UN BUS DE COMMUNICATION, ET ADRESSABLES
PAR LEURS FONCTIONNALITES
La présente invention concerne le domaine des architectures
électroniques parallèles (multiprocesseurs et multitâches). Elle a pour
objet une architecture comportant une pluralité d'unités de traitement
connectées à un bus de communication et dialoguant entre elles selon un
1 o nouveau protocole.
Dans le présent texte, on désigne par « unité de traitement »,
toute machine qui est conçue pour exécuter automatiquement une ou
plusieurs tâches distinctes. II peut s'agir d'une unité de traitement de type
câblée. De préférence, il s'agit d'une unité de traitement programmable
25 comportant un processeur ( microprocesseur, microcontrôleur,...) qui est
programmé pour exécuter automatiquement une ou plusieurs tâches
distinctes. De manière non exhaustive, l'unité de traitement peut être une
machine programmable, tel que par exemple un micro-ordinateur, un
périphérique d'une machine, une carte « fille » montée sur une carte mère
2 o fond de panier, etc.
A ce jour, dans ies architectures électroniques comportant
plusieurs unités de traitement reliées par un bus de communication,
chaque unité de traitement est repérée sur le bus par une adresse
physique qui lui est propre. Les protocoles de communication connus à ce
25 jour permettent de faire dialoguer une première unité de traitement (dite
par la suite unité émettrice) avec une seconde unité de traitement (dite
par la suite unité cible). Ainsi, lorsque l'unité émettrice envoie un message
à l'unité cible, en vue par exemple de déclencher l'exécution par l'unité
cible d'une tâche prédéfinie, l'unité émettrice émet sur le bus l'adresse de
3 0 l'unité cible. Chaque unité de traitement est apte à décoder une adresse
émise sur le bus, et lorsqu'une unité cible reconnaît son adresse, elle


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
2
charge en mémoire locale le message associë et exécute la tâche pour
laquelle elle est programmée. L'unité cible et émettrice ont généralement
des bus d'adresses et de données similaires et de taille fixée.
Avec ce type d'architecture et de protocole de communication
connus, il est difficile de réaliser un système muti-tâches dans lequel
plusieurs unités de traitement réalisent en parallèle une méme tâche (ou
fonctionnalité), car ce parallëlisme des unités de traitement nécessite une
gestion compliquée de l'adressage des unités de traitement.
La présente invention vise a proposer une nouvelle architecture
1o parallèle qui permet de pallier cet inconvénient et qui de surcroît est
plus
facilement évolutive et modulable, par ajout d'une nouvelle unité de
°traitement, remplacement ou suppression d'une unité de traitement.
Ce but est atteint par l'architecture parallèle de l'invention qui est
connue en ce qu'elle comporte une pluralité d'unités de traitement
connectées à un bus de communication, chaque unité de traitement étant
conçue pour exécuter automatiquement une ou plusieurs tâches
prédéfinies.
1. De manière caractéristique et nouvelle selon l'invention, chaque
unité de traitement est configurée de telle sorte que chacune de ses
2 o tâches est associée à un en-tête ; chaque unité de traitement est
conçue pour communiquer avec les autres unités de traitement selon le
protocole suivant : envoi sur le bus d'un message comportant au moins
un en-tête caractérisant une fonctionnalité, et éventuellement une
trame constituée d'un ou plusieurs mots, et en ce que chaque unité de
traitement est conçue pour décoder chaque en-tête transitant sur le
bus, et pour, en fonction de la valeur de cet en-tête, soit ignorer le
message émis sur le bus, soit exécuter la tâche associée à l'en-téta de
ce message.
Ainsi, le fonctionnement de l'architecture de l'invention repose sur
3 o un principe nouveau qui est l'adressage d'une fonctionnalité sur le bus de
communication, plutôt qu'un adressage d'une unité de traitement cible


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
3
donnée. Dans l'invention, l'en-tête qui caractérise une fonctionnalité
permet ainsi de réveïller toutes les unités de traitement connectées qui
reconnaissent cette fonctionnalité, afin que ces unités de traitement
exécutent parallèlement la tâche associée à cette fonctionnalité.
D'autres caractéristiques et avantages de l'invention apparaîtront
plus clairement à la lecture de la description ci-après d'un exemple
préféré de réalisation de l'invention, laquelle description est donnée à titre
d'exemple non limitatif, et en référence au dessin annexé sur lequel
- la figure 1 est un synoptique génëral .d'un exemple d'architecture selon
l'invention, de type multi-maîtres / multi-esclaves, avec plusieurs unités de
traitement connectées à un bus parallèle 16 bits (DO-D15), désigné plus
généralement bus a,
la figure 2 représente un schéma électrique détaillé pour la réalisation de
la mémoire FIFO et de la mémoire de validation d'une unité de traitement,
- la figure 3 représente un chronogramme des principaux signaux mis en
oeuvre lors d'une opération d'écriture d'un en-tête sur le bus a par une
unité de traitement maître,
- la figure 4 représente un chronogramme des principaux signaux mis en
oeuvre lors d'une opëration d'écriture sur le bus a, par l'unité de traitement
2 o maître, d'un mot d'une trame.
- la figure 5 représente un chronogramme des principaux signaux mis en
oeuvre lors d'une opération de lecture, par une unité de traitement
esclave, d'un en-tête valide présent sur le bus a,
- la figure 6 représente un chronogramme des principaux signaux mis en
oeuvre par une unité de traitement esclave, après réception par cet unité
de traitement esclave d'un en-tête valide, et écriture sur le bus a, d'une
trame de mots par l'unité de traitement maître,
- et la figure 7 représente un chronogramme des principaux signaux mis
en oeuvre par une unité de traitement esclave, après réception d'un en
3 o tête non valide et écriture sur le bus a d'un mot d'une trame par l'unité
de
traitement maître.


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
4
En référence au synoptique général de la figure 1, une
architecture conforme à l'invention comprend plusieurs unités de
traitement 1.~, 1~, ..., 1n, qui sont connectées à un bus de données
parallèle dit par la suite bus a.
L'architecture de la figure 1 est avantageusement de type multi-
maîtres/multi-esclaves. Lorsque l'une des unités de traitement 1.~, 1~, ...,
ou 1.n veut émettre un message sur le bus a, elle prend la direction du
bus et devient unité maître, les autre unités devenant esclaves. Une fois
son message émis sur le bus, l'unité de traitement maître libère le bus,
1o une autre unité de traitement pouvant à son tour prendre la direction du
bus a, pour émettre un message. Ce mode de fonçtionnement implique la
mise en oeuvre de moyens d'arbitrage de l'accès en écriture au bus,
lesquels moyens reçoivent en entrée en provenance de chaque unité de
traitement des signaux de demande d'accès en écriture au bus, et
délivrent en sortie pour chaque unité de traitement des signaux
d'autorisation d'accès au bus en écriture. Ces moyens d'arbitrage étant
par ailleurs connus de l'homme du métier, ils ne sont pas représentés sur
la figure 1 et ne seront pas plus amplement décrits dans le présent texte.
L'invention n'est par ailleurs pas limitée à une architecture de type
2 o multi-maîtres/multi-esclaves, mais peut par exemple également
s'appliquer à la réalisation d'une architecture avec une seule unité de
traitement maître apte à écrire sur le bus, les autres unités de traitement
étant toujours esclaves, et pouvant accéder au bus uniquement en
lecture.
Définitions des principaux fermes
B 1 ly
Le bus a est un bus de données qui est d'une manière générale composé
de (q) conducteurs électriques parallèles, q ëtant un entier supérieur ou
égal à 1. Dans l'exemple particulier illustré sur les figures 1 et 2, le bus
oc
3 o est un bus constitué de seize conducteurs électriques parallèles (bus 16
bits(DO-D15)).


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
Atome de giranularité ~ AGl
L'atome de granularité » désigné ci après (AD) correspond à la plus
petite taille d'unité de traitement pouvant dialoguer sur le bus a ( voir ci-
après la définition de « couleur »). Si on considère que le bus a est d'une
5 manière générale composé de q conducteurs électriques parallèles, (q
étant un entier supérieur ou égal à un), alors : q= AG. 2p. AD est
nécessairement une puissance de deux.
Douleur d'une unité de traitem~~
La « couleur » d'une unité de traitement est définie par la taille (nombre
1o de bits) de son bus de données. Dans l'exemple particulier de (a figure 1,
l'unité de traitement 1.a est une machine 16 bits ( bus de données DO-
D15), l'unité de traitement 11~ est une machine 4 bits (bus de données DO-
D3), ..., l'unité de traitement 1n est une machine 8 bits (bus de données
DO-D7).
Par la suite, les « couleurs » d'unité de traitement seront notées
A,B,C,D,... selon la convention suivante : une unité de traitement capable
de ne communiquer que sur un (AD) sera de couleur A ; une unité de
traitement capable de communiquer au maximum sur deux (AD) sera de
couleur B ; une unité de traitement capable communiquer au maximum
2 o quatre (AD) sera de couleur C ;une unité de traitement capable
communiquer au maximum sur huit (AD) sera de couleur D, etc...
Un mot correspond à la valeur du bus oc à un instant donné. La taille
maximale d'un mot est limitée par le nombre de conducteurs parallèles du
bus a.
Messaçie_
Un message correspond à la succession de mots qui sont écrits en série
sur le bus a par une unité de traitement. Un message est composé d'un
premier mot qui est un en-tête (Function Key), suivi d'une trame qui est,
3 o selon le format série utilisé, composée d'un ou plusieurs mots successifs.


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
6
Format série~_FS~
Le format série permet de définir tous les mots qui composent un
message transitant sur le bus. Les formats séries utilisables sur le bus a
peuvent être très différents, et ont nécessairement pour caractéristique
commune que le premier mot d'un message est un en-tête.
Un exemple de format série standard, et non limitatif de
l'irïvention, est donné ci-après
En-tte (FunctionKey) (voir dfinition ci-aprs)


(Taille du message) (suivant FunctionKey), un numro


(Signature) (suivant FunctionKey), explique quel
est le type du
maitre qui met ainsi que sa place
sur le bus


(Type) (suivant FunctionKey), un numro


(Taille trame) (suivant FunctionKey), un nombre


Trame (suivant FunctionKey)
N mots qui se suivent


Sentinelle bits de contrle sur tous ies mots
du message,
permettant de savoir si une erreur
a eu lieu sur l'un
des bits de transmission


1o Suivant la fonctionnalité, codée par l'en-tête, d'autres formats série
peuvent être dérivés de ce format standard ; le format série le plus simple
avec contrôle de la transmission étant : en-tête / sentinelle. Dans une
variante de réalisation encore plus simple (sans contrôle de l'intégrité des
données transmises), il est envisageable qu'un message puisse être
constituë uniquement d'un entête.
Form parallèle ~FPI
On associe à chaque couleur (A,B,C,D,...) d'unité de traitement un
formatage particulier des messages qui transitent sur le bus a.


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
7
Un exemple de codage du format parallèle (FP) est donné dans le tableau
ci-après
En-tte Format parallle
sur
le
bus
a


ier 2me Sme 4me Sme 6me 7me sme
AG AG AG AG AG AG AG AG


XXXX 0 0 0 0 0 0 0 FP-A : 2'~ Fonctionnalits


0 XXXX 0 0 0 0 0 0 FP-B : 2'~ Fonctionnalits


0 0 XXXX XXXX 0 0 0 0 FP-C : 22~ ac
Fonctionnalits


0 0 0 0 XXXX XXXX XXXX XXXX FP-D ; 24~ AG
Fonctionnalits



XXXX XXXX 0 0 0 0 0 0 FP-AB


XXXX 0 XXXX XXXX 0 0 0 0 FP-AC


XXXX 0 0 0 XXXX XXXX XXXX XXXX FP-AD


XXXX 0 XXXX XXXX XXXX XXXX XXXX XXXX FP-ACD



XXXX désigne qu'il est possible de prendre n'importe quelle valeur
possible.Le 0 désigne que tous les conducteurs de cet AG sont mis à
zéro.
Forme de chacun des FP
Le FP-A : on utilise les AG premiers conducteurs du bus pour tous
les autres mots qui composeront la trame du message par la suite. On
s'adresse donc à toutes les unités de traitement connectées au bus et
ayant la fonctionnalité recherchée, puisque par définition même la plus
petite unité de traitement peut communiquer sur un AG.
Le FP-B : on utilise les 2AG premiers conducteurs du bus pour
tous les autres mots qui composeront la trame du message par la suite.


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
8
Par définition, on exclut les unités de traitement qui ne sont pas capables
d'y accéder, puisque de toute façon elles n'auront pu décoder ie XXXX qui
était sur le 2emeAG. On s'adresse forcément aux seules machines
capables de communiquer sur 2 AG.
Le FP-C : on utilise les 4AG premiers conducteurs du bus pour
tous les autres mots qui composeront la trame du message par la suite.
Le FP-D : on utilise les 8AG premiers conducteurs du bus pour
tous les autres mots qui composeront la trame du message par la suite.
Les formats mixtes ( FP-AB, FP-AC, FP-AD, FP-ACD,...)
1o permettent de fournir une donnée plus raffinée (plus de détails) si les
processeurs auxquels on s'adresse ont les moyens de lire la donnée sur
plusieurs AG.
Exemple d'utilisation des formats mixtes FP-AB et FP-AD :
Le format FP-AB s'adresse à la fois aux unités de traitement
z5 pouvant lire sur 1 AG et à celles pouvant lire sur 2 AG. Celles qui lisent
sur 1 AG ont une information suffisante pour remplir la fonctionnalité mais
n'ont pas forcément tous les détails. Celles qui lisent sur 2 AG peuvent
par exemple avoir un code correcteur d'erreur sur le 2eme AG pour vérifier
l'information qui a transité sur le lerAG.
2 o Le format FP-AD est un format qui peut par exemple être
intéressant pour la transmission de petites images sur le bus a. Le
premier AG peut servir à coder le niveau moyen de gris (ou de couleur)
d'un pavé de 9 pixels. Les unités de traitement ayant accès uniquement à
cette information bénéficie quand même de la donnée : une image trois
25 fois plus petite. Pour les unités de traitement ayant également accès au
format FP-D, elles pourront bénéficier de la lecture de 8 AG en tout, ies
autres AG lui permettant par exemple de rajouter la différence par rapport
à la moyenne pour connaître la valeur des pixels du ~avë (principe des
ondelettes de Haar).
3 0 En-tête (FunctionKe;~l
Selon une caractéristique essentielle de l'invention, l'en-tête est le premier


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
9
mot de tout message transitant sur le bus a, et il définit principalement
quelle est la fonctionnalité qui est adressée. De préférence, mais non
nécessairement, cet en-tête permet également de définir
- le format parallèle du message,
- le format série du message,
- la « couleur » de l'unité de traitement qui a généré le message ( unité de
traitement maître)
- une information qualitative sur la longueur du message.
Fonctionnalité
On appelle « fonctionnalité » toute fonction (ou tâche) qui peut être
exécutée automatiquement par une unité de traitement connectée au bus
a.
Table des fonctionnalités
Chaque unité de traitement est configurée en sorte de comporter une
table des fonctionnalités, qui lui est propre, et qui associe chaque tâche
exécutable par l'unité de traitement, à une valeur d'en-tête. De
préférence, cettè table des fonctionnalités dëfinit également pour chaque
fonctionnalité, le format série (FS) associé à cette fonctionnalité, ainsi que
la longueur d'un message associé à cette fonctionnalité. Pour une unité
2 o de traitement donnée, le nombre de fonctionnalités possibles dépend
uniquement du nombre d'AG qu'elle peut atteindre sur le bus et de la
valeur de l'AG.
Généralités sur le protocole de communïcation de l'invention
L'échange de messages sur le bus cx est réalisé entre une unité de
~5 traitement maître qui a pris la direction du bus, et qui de ce fiait est la
seule unité de traitement autorisée à écrire des données sur le bus a, et
les autres unités de traitement esclaves, qui peuvent accéder uniquement
en lecture au bus a.
Lorsqu'une unité de traitement 1.a, 1~., ..., ou 1n a pris la direction
3 o du bus a, elle commence par écrire sur le bus a un en-tête (FunctionfCey),
puis écrit ensuite sur le bus a une trame ( un ou plusieurs mots en


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
fonction du format série (FS) utilisé).
L'en-tête est lu par chaque unité de traitement esclave. L'en-tête
permet principalement à chaque unité de traitement esclave de
déterminer si la trame émise sur le bus a lui est destinée, et dans
5 l'affirmative, quelle est la tâche qu'elle doit exécuter.
Lorsque l'en-tête émis sur le bus ne fait pas partie de la table des
fonctionnalités d'une unité de traitement esclave, cette dernière ignore la
trame émise sur le bus a consécutivement à l'en-tête. Dans le cas
contraire, l'unité de traitement esclave lit également (a trame émise sur le
1o bus après l'en-tête, et exécute automatiquement la tâche qui est associée
à cet en-tête dans sa table des fonctionnalités.
Ainsi, la nouveauté du protocole de communication de l'invention
découle du fiait que lors de l'écriture d'un message sur le bus par une
unité de traitement maître, on ne réalise pas un adressage d'une unité de
traitement esclave donnée localisée sur le bus par une adresse (physique
ou logique), mais on réalise un adressage des fonctionnalités (tâches)
des unités de traitement esclaves, le message étant traité en parallèle par
toutes les unités de traitement possédant une fonctionnalité associée à
l'en-tête émis sur le bus.
2o Exemple de structure d'une unité de traitement (1~, ..., 1,n)
En référence à la figure 1, une unité de traitement 1.~, ..., 1t1 comporte
essentiellement
- un microprocesseur 2,
- une mémoire de validation 3,
- une mémoire 4 de type FIFO,
- une unité logique 5 permettant le séquencement du fonctionnement de
la mémoire de validation 3 et de ia mémoire FIFO 4, à partir de signaux
horloges CLKA et CLKD,
- un bus de données 6, dit par la suite bus interface,
3 o - un bus interne 7, sur lequel le microprocesseur 2, peut lire ou écrire
des
données,


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
11
- des registres trois états 6.~, qui sous la commande du microprocesseur 2
(signal 8) permettent l'écriture sur le bus interface 6 (DO-D15) des
données présentes sur le bus interne 7.
Bus interface 6l
Ce bus interface est un bus de données (n) bits [(DO - Dn-1 )] constitué
d'une manière générale de (n) conducteurs électriques parallèles, [n
entier inférieur ou égal à q (taille du bus a)], reliés en paralléle aux n
premiers conducteurs du bus a.
1o Le microprocesseur est de manière usuelle associé à une
mémoire vive (RAM), qui par soucis de simplification n'a pas été
représentée sur cette figure 1, et à laquelle le microprocesseur 2 peut de
manière usuelle accéder en lecture et en écriture. Cette mémoire vive
comporte la table des fonctionnalités de l'unitë de traitement, ainsi que le
programme de fonctionnement du microprocesseur, qui sera détaillé
ultérieurement.
Le bus interne 7 est un bus ISA qui comporte de manière usuelle
- un bus de données [ bus de donnés l6bits / D_ISAO à D_ISA15 dans le
cas de l'unité de traitement 1~, au format 16 bits],
- un bus d'adresse non représenté sur le synoptique général de la figure
1, et dont les deux bits d'adresse de poids faible sont référencés
respectivement AO_ISA et A1_ISA sur les chronogrammes des figures 3
et 4, et
- un bus de contrôle constitué par les signaux d'écriture Wr ISA et de
lecture Rd_ISA (signaux délivrés par le microprocesseur 2) et par le
signal de sélection Cs_ISA, issu du décodage des signaux de lecture et
d'écriture ; ces signaux Wr ISA, Rd_ISA, et Cs_ISA ne sont pas
représentés sur le synoptique de la figure 1, et apparaissent uniquement
sur les chronogrammes des figures 3 et 4.
3 0 Mémoire de validation l31
La mémoire de validation 3 peut indifféremment être une mémoire vive ou


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
12
une mémoire morte. De préférence, il s'agit d'une mémoire de type
EEPROM. Cette mémoire de validation fonctionne en table de
correspondance de façon à lister les en-têtes valides, le port d'adresse de
cette mémoire de validation 3 étant relié au bus a. Le port de sortie de
cette mémoire de validation 3 est relié (signaux 9) au microprocesseur 2,
sur un port de ce microprocesseur dédïé au traitement des interruptions.
L'accès en lecture à la mémoire de validation 3 est séquencé par
le sïgnal 5~" délivrë par l'unité logique 5, à partir des sïgnaux horloge
CLKA et CLKD.
1 o Tel que cela apparaîtra plus clairement ultérieurement dans la
description, la mémoire de validation 3 a pour fonction de valider ou non
(signaux 9), pour le microprocesseur 2, un en-tête présent sur le bus a. A
cet effet, à chaque adresse de la mémoire de validation (correspondant à
une valeur d'en-tête pouvant être émise par une unité de traitement sur le
bus a) est stockée une donnée qui est reconnue par le microprocesseur 2
comme étant une donnée, soit de validation, soit de non validation de l'en-
tête. Lorsque la donnée délivrée en sortie par la mémoire de validation 3
(signaux 9) est une donnée de validation, le microprocesseur 2 est
informé qu'il doit charger la trame qui est émise sur le bus a après l'en-
2 o tête qui a été validé. A l'inverse, lorsque la donnée issue de la mémoire
de
validation est une donnée qui ne valide pas l'en-tête, le microprocesseur 2
ignore la trame qui est émise sur le bus a après cet en-tête.
Ces données de validation ou de non validation pour chaque
adresse de la mémoire 3 sont propres à chaque unité de traitement 1 a,
1 b, ..., 1 n, et permettent de personnaliser le fonctionnement de l'unité de
traitement.
En référence à la figure 2, dans un exemple particulier de
rëalisation, la mémoire de validation 3 est réalisée au moyen d'un circuit
intégré C11 tel que par exemple le circuit intégré commercialisé sous la
3 o référence AM29F010. Dans cette réalisation, le port d'adresse de la
mémoire correspond aux entrées AO à A15, lesquelles sont raccordées


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
13
respectivement en parallèle aux conducteurs électriques du bus a (DO-
D15). Le signal « Ecriture_ Ad » correspond au signal 5a de la figure 1, et
les signaux « Adresse rejetée », « IRQ#5 », « IRQ#4 » s< IRQ#3 »
« IRQ#2 » « IRQ#P » sur le port de sortie de la mémoire correspondent
aux signaux 9 précités du synoptique de la figure 1. Dans cette réalisation,
la validation de la mémoire est répartie sur plusieurs niveaux, mais la
validation utile est codée sur le signal IRQ #P. Lorsque ce signa( IRQ #P
est par exemple à l'état bas (respectivement à l'état haut), l'en-tête qui est
présent sur le bus a est validé (respectivement non validé) pour le
1o microprocesseur 2.
Mémoire FIFO l41
En référence à la figure 1, la mémoire FIFO 4 est raccordée en
entrée au bus a via le bus interface 6, et en sortie au bus de données du
bus interne 7. Le microprocesseur 2 peut commander le chargement,
dans la mémoire FIFO 4, d'un mot présent sur le bus oc, au moyen du
signal d'écriture 10, ainsi que la sortie d'un mot stocké dans la mémoire
FIFO 4, et son écriture sur le bus de données du bus interne 7, au moyen
du signal de lecture 1 j . Le séquencement du chargement d'un mot dans
la mémoire FIFO 4, ou d'une lecture d'un mot en mémoire FIFO 4 est
synchronisé par un signal de cadencement 5,~, délivré par l'unité logique 5
à partir des signaux horloges CLKA et CLKD. La mémoire FIFO 4 délivre
également en sortie pour le microprocesseur 2 des signaux d'état y 2
permettant d'indiquer au microprocesseur 2 son niveau de remplissage.
En référence à la figure 2, dans un exemple particulier de
réalisation, la mémoire FIFO 4 est réalisée à partir de deux circuits
intégrés 8 bits C12 et C13, et par exemple à partir de circuits intégrés
commercialisés sous la référence IDT7200, chaque circuit intégré C12 et
C13 étant dédié respectivement au stockage des bits de poids fort (D8 à
D15) et de poids faible (DO à D7) du bus oc.
3 o Dans cette variante de réalisation, les signaux référencés sur la
figure 2 « Empty_flag_H », «Full fiag_H », « Half full_H »,


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
14
« Empty_flag_B », «Full flag_B », « Half full_B », correspondent aux
signaux d'état 12 précités du synoptique de la figure 1, et permettent le
codage de l'état de remplissage de chaque registre FIFO ( C12 et C13). Le
signal référencé « Ecriture_FIFO OK » correspond au signal d'écriture 10
précité de la figure 1. Les signaux « Lecture_ FIFO _ B » et « Lecture
_FIFO _ H » correspondent au signal de lecture 11 précité de la figure 1.
Le signal «Reset_FIFO » est un signal de remise à zéro de la mémoire
FIFO qui est délivré par le microprocesseur 2, et qui est utilisé pour
initialiser la mémoire 4.
Registres trois états (
Le bus de données du bus interne 7 d'une unité de traitement est
connecté en parallèle au bus interface 6, via un ou plusieurs registres trois
états 6~. Dans le cas par exemple de l'unité de traitement 1.~ mettant en
oeuvre un bus interne 16 bits ( D_ISAO- D_ISA15), on pourra utiliser deux
registres huit bits dédiés à l'écriture en parallèle sur le bus interface 6,
et
par là-méme sur le bus a, respectivement des huit bits de poids faible (D-
ISAO-D_ISA7) et des huit bits de poids forts (D_ISAB-D_ISA15) du bus de
données du bus interne 7. Le transfert sur le bus a (DO- D15) d'une
donnée présente sur le bus de données (D_ISAO - D_ISA15) du bus
2 o interne 7 est commandé par le microprocesseur au moyen du signal
d'écriture 8 (figure 1 ).
Signaux horlo,~ie CLKA et CLKD
En référence à la figure 1, chaque microprocesseur 2 d'une unité de
traitement délivre en sortie deux signaux horloge 2~ et 2.~, qui sont
connectés, via des portes 13 à collecteur ouvert, à un bus horloge (CLKA,
CLKD) commun à toutes les unités de traitement. Lorsqu'une unité de
traitement prend la direction du bus a (unité de traitement maître), les
signaux horloges CLKA et CLKD correspondent respectivement aux
signaux horloge 2~ et 2~, du microprocesseur 2 de cette unité de
3 o traitement maître ; les signaux horloges 2.a et 2.~ des autres unités de
traitement esclaves sont quant à eux flottants et isolés du bus horloge


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
CLKA et CLKD. L'échange de données sur le bus a est ainsi cadencé par
l'unité de traitement maître, les unités de traitement esclaves assurant le
chargement des messages écrits sur le bus a ( mémoire de validation 3/
signal 5.~, ; mémoire FIFO 4 l signal 5,~) quelle que soit leur vitesse
5 d'horloge propre (fréquence propre de fonctionnement de leur
microprocesseur 2). Des unités de traitement possédant des vitesses
d'horloge propres différentes peuvent donc avantageusement dialoguer
entre elles.
Fonctionnement du microprocesseur (2) d'une unité de traitement
10 Programme rinci~al
Le microprocesseur 2 d'une unité de traitement est programmé pour
exécuter en boucle le programme principal ci-après
a) lecture en mémoire FIFO 4 d'un message (en-tête et trame) ,
b) décodage de la fonctionnalité associée à cette en-tête dans la table
15 des fonctionnalités ;
c) exécution automatique de la routine (tâche) correspondant à cette
fonctionnalité.
F_criture d'un messagie sur h h!as~,,~jgiu.rP ~ P+ 41
Au cours de l'exécution de la routine de l'étape c) précitée, il peut arriver
que le microprocesseur 2 soit amené à écrire sur le bus oc un message,
afin d'activer une fonctionnalité gérée par une ou plusieurs autres unités
de traitement connectées au bus a. Dans ce cas, après avoir pris la
direction du bus a, l'unité de traitement ëcrit sur le bus a l'en-tête codant
cette fonctionnalité, et la trame des mots du message, puis libère le bus a.
Les chronogrammes des principaux signaux mis en oeuvre lors d'une telle
opération d'écriture sont représentés respectivement sur les figures 3 et 4.
Sur ces figures 3 et 4, les signaux « Data_Isa » correspondent au
bus de données du bus interne 7, c'est-à-dire par exemple aux bits
3 o D_ISAO à D_lSAl5 (figure 2) du bus interne 7 de l'unité de traitement 1~.
Les signaux Com ÇLKA et Com ÇLKB correspondent aux signaux 2~ et


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
16
2~ précités. L'écriture d'un en-tête sur le bus de données du bus interne 7
se fait à l'adresse de base +2 d'offset ; ensuite l'écriture de la donnée sur
le bus de donnée du bus interne 7 se fait à l'adresse de base +3
d'offset(cf. signaux AO_ISA et A1_ISA).
Chargiement d'un messag~présent sur le bus ry ( figures 5 et 6)
En cas de présence d'un en-tête valide sur le bus oc, l'exécution du
programme principal précité est interrompu par la donnée de validation qui
est issue de la mémoire de validation (le signal « IRQ #P » change
d'état). Le microprocesseur exécute alors une routine secondaire de
1o chargement en mémoire FIFO 4 de l'en-tête et de la trame de mots émise
sur le bus a à la suite de cet entête, l'unité de traitement correspondante
fonctionnant en esclave.
Les chronogrammes des principaux signaux mis en oeuvre lors
d'une opération de lecture sur le bus a, par une unité de traitement
esclave, d'un en-tête valide sont représentés sur la figure 5. La figure 6
représente les chronogrammes des principaux signaux mis en oeuvre lors
d'une opération de lecture sur le bus a, par une unité de traitement
esclave, d'une trame de mots ( figure 6 / « Donnée n » , « Donnée n+1 »)
écrite le bus a par une unité de traitement maître, en relation avec un en
2 o tête valide précédemment écrit sur le bus a.
En référence à la figure 5, s'agissant d'un en-tête valide pour
l'unité de traitement esclave, en sortie de la mémoire validation 3,
l'interruption IRQ#P change momentanément d'état. La capture de cet en
tête valide dans !a mémoire FIFO 4 ( signal 10 / Ecriture FIFO OK) se
fait par l'action simultanée des signaux CLKA et CLKD.
En référence à la figure 6, la capture d'une donnée dans la
mémoire FIFO 4 est cadencée uniquement par le signal CLKD.
Réception d'un en-tête non valide / fi~~.C~ 7
En référence à la figure 7, lorsque l'en-tête présent sur le bus a n'est pas
3 o valide pour une unité de traitement esclave, le signal d'interruption
IRQ#P
ne change pas d'état, et le programme principal précité du


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
17
microprocesseur 2 n'est pas interrompu. Le microprocesseur 2 ne
commande pas le chargement de l'en-tête présent sur le bus oc dans la
mémoire FIFO 4 (signal Ecriture FIFO_OK ne change pas d'état), ni
ultérieurement le chargement en mémoire FIFO 4 de la trame de mots
transitant sur le bus après cet en-tête. Le message transitant sur le bus a
est ainsi ignoré par l'unité de traitement esclave.
L'architecture mufti processeurs qui a été décrite en référence aux
figures 1 à 7 présente les principaux avantages ci-après :
- le principe d'adressage des unités de traitement par leurs fonctionnalités
1o au moyen de l'en-tête (FunctionKey) permet de simplifier la gestion du
parallélisme des tâches exécutées par les unités de traitement, et par là-
même simplifie la programmation des unités de traitement ; en outre, il
permet de réaliser à moindre coût une architecture puissante, à partir
d'unités de traitement de faible puissance.
- Cette architecture est avantageusement modulaire, et très facilement
évolutive ; elle est en outre très robuste : on peut lui changer sa forme « à
chaud » (en fonctionnement) par ajout, suppression ou remplacement
d'une unité de traitement, sans perturber grandement l'exécution du
programme général de fonctionnement de l'architecture ; certaines unités
de traitement qui constituent cette architecture peuvent donc tomber en
panne sans qu'il soit nécessaire de réaliser un arrêt général du
fonctionnement de l'architecture.
- Cette architecture paralléle est « universelle » : elle permet de faire
dialoguer entre elles des unités de traitement différentes, et en particulier
des unités de traitement ayant des bus de données (bus interface 6) de
tailles différentes ; la seule limitation sur la taille des unités de
traitement
pouvant être connectées est le nombre de bits en parallèle du bus a ;
cette architecture ne fonctionne pas avec un format unique de données,
mais fonctionne avec tout format de données, supérieur ou égal à la taille
3 o de l'atome de granularité (AG).
l'échange de données sur le bus de communication (bus a) étant


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
18
cadencé par l'unité de traitement maître qui a pris la direction du bus
(signaux CLK et CLD), les unités de traitement peuvent dialoguer enfire
elles quels que soient leurs processeurs, et surtout quelle que soit la
cadence d'horloge de leurs processeurs.
Exemple d'application
On réalise un robot comportant une carte mère fond de panier sur laquelle
sont montées cinq cartes filles ( une carte fille correspondant à une unité
de traitement) : une carte de propulsion pour commander le déplacement
du robot, une carte sonore, une carte caméra, et une carte de décision
1 o comportementale ( calculateur) pour gérer le comportement du robot.
Les tableaux 1, 2 , 3, 4 ci-après donnent un exemple d'implémentation
d'en-têtes et de fonctionnalité associées.


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
29
TABLEAU 1
En-tte Fonctionnalit Carte propulsion



donnes


0 Rserv ~ : Jamais


'~ : Jamais


1 Arrt d'urgence .~ : surchauffe
moteur


~' : Toujours


2 Demande de dplacement!1 : Jamais
en


vitesse avant ~' : Toujours


3 Demande de dplacement~. : jamais
en


vitesse arrire ~' : toujours


4 Demande de transmission~. : Jamais


numro d'une image ~' : Jamais


Transmission d'une ~. : Jamais
image


image ~' : Jamais


6 Reconnaissance d'un.~ : Jamais
humain


nom ~' : toujours (ralentir)


7 Emettre un son ~. : Jamais


numro ~' : Jamais


8 Transmission d'un ~. : jamais
son


son ~' : jamais


9 Extinction carte ~, : Plus de batterie
/ dfaut


identifiant raison '(f : jamais


Demande d'identification~. : Jamais
des


cartes prsentes ~' : toujours


11 Dclaration de sa 1l : sur demande
prsence et (10)


identifiant fonctionsa fonction 'f f : jamais




CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
TABLEAU 2
En-tte Fonctionnalit Carte camra



donnes


0 Rserv .~ : Jamais


'(T : jamais


1 Arrt d'urgence ~. : dtection d'obstacle


'(T : jamais


2 Demande de dplacement.~ : jamais


vitesse en avant '(f : jamais


3 Demande de dplacement.~ : jamais


vitesse en arrire '(f : jamais


4 Demande de transmission~ : possible


numro d'une image '(T : toujours


5 Transmission d'une .~ : sur demande
image (4)


image '~ : toujours


6 Reconnaissance d'un.~ : sur reconnaissance


nom humain
'(T : toujours


7 Emettre un son .~ : jamais


numro
~' : jamais


8 Transmission d'un ~. ; jamais
son


son '~ : jamais


9 Extinction carte ~, : plus de batterie
l dfaut


identifiant raison '~ : jamais


10 Demande d'identification.U. : jamais


des cartes prsentes'~ : toujours


11 Dclaration de sa ~. : sur demande
prsence (10)


identifiant fonctionet sa fonction ~' : jamais




CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
21
TABLEAU 3
En-tta Fonctionnalit Carte sonore (microlHP)



donnes


0 Rserv ~. : Jamais


'(f : jamais


1 Arrt d'urgence ~. :Jamais


1~ ; Toujours (son
d'alerte)


2 Demande de dplacement~. : jamais


vitesse en avant '(T : jamais


3 Demande de dplacement~. : jamais


vitesse en arrire '(T : jamais


4 Demande de transmission~. : jamais


numro d'une image ~' : jamais


Transmission d'une.~ : jamais
image


image '~ : jamais


6 Reconnaissance ~. : sur reconnaissance
d'un


nom humain '~ : toujours


7 mettre un son ~. : jamais


numro ~' : toujours


8 Transmission d'un ~. ; possible
son


son '~ : toujours


9 Extinction carte .~ : plus de batterie
/ dfaut


identifiant raison '(f : jamais


Demande d'identification~ : jamais


des cartes prsentes~' : toujours


11 Dclaration de sa ~. : sur demande
prsence (10)


identifiant fonctionet sa fonction '~ : jamais




CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
22
TABLEAU 4
En-tte & donnes Fonctionnalit Carte de dcision


comportementale


0 Rserv ~. : Jamais


~' : jamais


1 Arrt d'urgence ~. : choix de s'arrter
d'urgence


'(T : Toujours


2 Demande de dplacement~. : choix d'avancer


vitesse en avant '(T : jamais


3 Demande de dplacement.~ : choix de reculer


vitesse en arrire '(T : jamais


4 Demande de transmission.~ : demande


numro d'une image '~ : toujours


Transmission d'une.~ : choix de s'arrter
image d'urgence


image '~ : toujours


6 Reconnaissance ~ : jamais
d'un


nom humain '(T : toujours


7 Emettre un son ~. : choix d'mettre
un son


numro '(f : jamais


8 Transmission d'un ~. ; demande
son


son ~' : toujours


9 Extinction carte ~. : plus de batterie
/ dfaut


identifiant raison ~f : toujours


Demande d'identification.(j : demande


des cartes prsentes~' : toujours


11 Dclaration de sa ~. : jamais
prsence


identifiant fonctionet sa fonction '~ : toujours


5
~. : aptitude de la carte à écrire l'en-tête sur le bus a
~ : aptitude de la carte à charger l'en-tête présente sur le bus a en
mémoire FIFO (validité de l'en-tête).


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
23
Dans cette application, au moins deux unités de traitement (cartes filles)
sont configurées avec un même en-tête, c'est-à-dire comportent dans leur
table des fonctionnaütés à une même valeur d'en-tête (voir ci-après la
fonctionnalité « arrêt d'urgence » / carte propulsion, carte sonore et carte
de décision comportementale configurées avec la même valeur d'en-tête
'1'). Egalement, dans cette application, au moins une unité de traitement
est conçue pour exécuter plusieurs tâches, et est configurée de telle sorte
pue chaque tâche est associée à un en-tête différent. Par exemple, la
1o carte propulsion comporte dans sa table des fonctionnalités les valeurs
d'en-tête '1', '2', '3', '6' et '10' associées respectivement aux
fonctionnalités suivantes : « arrêt d'urgence », « demande de
dëplacement en avant », « demande de déplacement en arrière »,
« reconnaissance d'un humain », « demande d'identification des cartes
présentes ».
Afin de mieux comprendre les tableaux ci-dessus, la fonctionnalité « arrêt
d'urgence » va être plus particulièrement commentée.
Fonctionnalité « arrêt d'urgence »
L'en-tête de valeur '1' codant la fonctionnalité « arrêt d'urgence » est
2 o toujours valide pour la carte propulsion, la carte sonore, et la carte de
décision comportementale. La carte propulsion comporte dans sa table
des fonctionnalités cette valeur d'en-tête associée à la fonctionnalité
« arrêt d'urgence », et la routine (tâche) associée est l'arrêt du moteur de
déplacement du robot.
La carte sonore comporte dans sa table des fonctionnalités cette
valeur d'en-tête '1' associée à la fonctionnalité « arrêt d'urgence », et la
routine associée est l'émission d'un son d'alerte par la carte. La carte de
décision comportementale comporte dans sa table des fonctionnalités
cette valeur d'en-tête associée à la fonctionnalité « arrêt d'urgence », et la
3 o routine associée est de mémoriser et dater l'événement tout en vérifiant
que l'arrêt d'urgence à bien eu lieu en vérifiant que la caméra observe une


CA 02432384 2003-06-20
WO 02/052414 PCT/FRO1/04176
24
image fixe. Lorsque l'en-tête de valeur '1' transite sur ie bus ~, les
routines (tâches) de chacune de ces cartes correspondant à cette
fonctionnalité sont activées en parallèle.
A l'inverse, l'en-tête de valeur '1' codant la fonctionnalité « arrët
d'urgence » n'est jamais valide pour la carte caméra, Lorsque cet en-tête
est présent sur le bus a, le message correspondant est ignoré par la
carte caméra qui continue a fonctionner normalement.
L'activation de la fonctionnalité « arrêt d'urgence » par écriture de
la valeur d'en-tête '1' sur le bus a peut être réalisée à l'initiative soit de
la
carte propulsion ( en cas de surchauffe moteur détectée par cette carte),
soit de la carte caméra ( en cas de détection d'une obstacle par cette
carte), soit de la carte de décision comportementale. Cette fonctionnalité
« arrêt » d'urgence n'est jamais déclenchée à l'initiative de la carte
sonore.
Les tableaux ci-dessus permettent à l'homme du métïer de définir,
pour chaque carte, sa table des fonctionnalités, ainsi que le contenu de sa
mémoire de validation 3 qui assure le décodage des en-têtes.
Dans la variante la variante de réalisation particulière de la figure
1, une unité de traitement est conçue pour, après reconnaissance d'un
2 o en-tête valide, charger en mémoire FIFO 4 le message transitant sur le
bus a, et ce préalablement à !'exécution de la tâche associée à l'entête du
message. Dans une variante de réalisation plus simple, il est toutefois
envisageable de concevoir une unité de traitement qui exécute une tâche
associée à un en-tête après reconnaissance de cet en-tête sur le bus a,
sans chargement préalable du message en mémoire Ioca¿e. Dans ce cas,
l'unité de traitement ne comportera pas nécessairement de mémoire FIFO
4. Egalement, dans une autre variante, la mémoire de validation 3
pourrait être remplacée par tout autre moyen de décodage des en-têtes
transitant sur le bus, et par exemple par une table de décodage réalisée
3 o en logique combinatoire.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2001-12-21
(87) PCT Publication Date 2002-07-04
(85) National Entry 2003-06-20
Dead Application 2007-12-21

Abandonment History

Abandonment Date Reason Reinstatement Date
2006-12-21 FAILURE TO REQUEST EXAMINATION
2006-12-21 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 2003-06-20
Application Fee $150.00 2003-06-20
Maintenance Fee - Application - New Act 2 2003-12-22 $50.00 2003-11-27
Maintenance Fee - Application - New Act 3 2004-12-21 $50.00 2004-10-21
Maintenance Fee - Application - New Act 4 2005-12-21 $50.00 2005-10-26
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
WANY S.A.
Past Owners on Record
LAVAREC, ERWAN
TREMEL, LAURENT
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2003-06-20 2 112
Claims 2003-06-20 2 97
Description 2003-06-20 24 1,047
Drawings 2003-06-20 4 116
Cover Page 2003-10-27 1 52
Representative Drawing 2003-10-24 1 13
Assignment 2003-06-20 5 177
PCT 2003-06-20 10 441
PCT 2003-06-21 4 152
Fees 2003-11-27 1 40
Correspondence 2004-08-16 1 31
Fees 2004-10-21 1 42
Fees 2005-10-26 1 47